diff --git a/api/spec/packages/aip/src/productcatalog/operations.tsp b/api/spec/packages/aip/src/productcatalog/operations.tsp index 98eaeb9e8f..cacef7d8d6 100644 --- a/api/spec/packages/aip/src/productcatalog/operations.tsp +++ b/api/spec/packages/aip/src/productcatalog/operations.tsp @@ -282,6 +282,25 @@ interface AddonOperations { ): Shared.UpdateResponse | Common.ErrorResponses | Common.NotFound; } +/** + * Filter options for listing plan add-ons. + */ +@friendlyName("ListPlanAddonsParamsFilter") +model ListPlanAddonsParamsFilter { + #suppress "@openmeter/api-spec-aip/doc-decorator" "shared model" + id?: Common.ULIDFieldFilter; + #suppress "@openmeter/api-spec-aip/doc-decorator" "shared model" + plan_key?: Common.StringFieldFilter; + #suppress "@openmeter/api-spec-aip/doc-decorator" "shared model" + addon_id?: Common.ULIDFieldFilter; + #suppress "@openmeter/api-spec-aip/doc-decorator" "shared model" + addon_key?: Common.StringFieldFilter; + #suppress "@openmeter/api-spec-aip/doc-decorator" "shared model" + addon_name?: Common.StringFieldFilter; + #suppress "@openmeter/api-spec-aip/doc-decorator" "shared model" + plan_currency?: Common.StringFieldFilter; +} + interface PlanAddonOperations { /** * List add-ons associated with a plan. @@ -294,6 +313,25 @@ interface PlanAddonOperations { listPlanAddons( @path planId: Shared.ULID, ...Common.PagePaginationQuery, + + /** + * Sort plan add-ons returned in the response. Supported sort attributes are: + * + * - `id` (default) + * - `created_at` + * - `updated_at` + * + * The `asc` suffix is optional as the default sort order is ascending. The `desc` + * suffix is used to specify a descending order. + */ + @query(#{ name: "sort" }) + sort?: Common.SortQuery, + + /** + * Filter plan add-ons returned in the response. + */ + @query(#{ style: "deepObject", explode: true }) + filter?: ListPlanAddonsParamsFilter, ): Shared.PagePaginatedResponse | Common.ErrorResponses | Common.NotFound; /** diff --git a/api/v3/api.gen.go b/api/v3/api.gen.go index a51baf9a83..46e684a03b 100644 --- a/api/v3/api.gen.go +++ b/api/v3/api.gen.go @@ -4702,6 +4702,33 @@ type ListMetersParamsFilter struct { Name *StringFieldFilter `json:"name,omitempty"` } +// ListPlanAddonsParamsFilter Filter options for listing plan add-ons. +type ListPlanAddonsParamsFilter struct { + // AddonId Filters on the given ULID field value by exact match. All properties are + // optional; provide exactly one to specify the comparison. + AddonId *ULIDFieldFilter `json:"addon_id,omitempty"` + + // AddonKey Filters on the given string field value by either exact or fuzzy match. All + // properties are optional; provide exactly one to specify the comparison. + AddonKey *StringFieldFilter `json:"addon_key,omitempty"` + + // AddonName Filters on the given string field value by either exact or fuzzy match. All + // properties are optional; provide exactly one to specify the comparison. + AddonName *StringFieldFilter `json:"addon_name,omitempty"` + + // Id Filters on the given ULID field value by exact match. All properties are + // optional; provide exactly one to specify the comparison. + Id *ULIDFieldFilter `json:"id,omitempty"` + + // PlanCurrency Filters on the given string field value by either exact or fuzzy match. All + // properties are optional; provide exactly one to specify the comparison. + PlanCurrency *StringFieldFilter `json:"plan_currency,omitempty"` + + // PlanKey Filters on the given string field value by either exact or fuzzy match. All + // properties are optional; provide exactly one to specify the comparison. + PlanKey *StringFieldFilter `json:"plan_key,omitempty"` +} + // ListPlansParamsFilter Filter options for listing plans. type ListPlansParamsFilter struct { // Currency Filters on the given string field value by exact match. All properties are @@ -5778,6 +5805,19 @@ type ListPlansParams struct { type ListPlanAddonsParams struct { // Page Determines which page of the collection to retrieve. Page *PagePaginationQuery `json:"page,omitempty"` + + // Sort Sort plan add-ons returned in the response. Supported sort attributes are: + // + // - `id` (default) + // - `created_at` + // - `updated_at` + // + // The `asc` suffix is optional as the default sort order is ascending. The `desc` + // suffix is used to specify a descending order. + Sort *SortQuery `form:"sort,omitempty" json:"sort,omitempty"` + + // Filter Filter plan add-ons returned in the response. + Filter *ListPlanAddonsParamsFilter `json:"filter,omitempty"` } // ListBillingProfilesParams defines parameters for ListBillingProfiles. @@ -9304,6 +9344,22 @@ func (siw *ServerInterfaceWrapper) ListPlanAddons(w http.ResponseWriter, r *http return } + // ------------- Optional query parameter "sort" ------------- + + err = runtime.BindQueryParameterWithOptions("form", false, false, "sort", r.URL.Query(), ¶ms.Sort, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "sort", Err: err}) + return + } + + // ------------- Optional query parameter "filter" ------------- + + err = filters.Parse(r.URL.Query(), ¶ms.Filter) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "filter", Err: err}) + return + } + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.ListPlanAddons(w, r, planId, params) })) @@ -10302,650 +10358,652 @@ func HandlerWithOptions(si ServerInterface, options ChiServerOptions) http.Handl // Base64 encoded, gzipped, json marshaled Swagger object var swaggerSpec = []string{ - "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", } // GetSwagger returns the content of the embedded swagger specification file diff --git a/api/v3/handlers/plans/planaddons/lists.go b/api/v3/handlers/plans/planaddons/lists.go index c561dad197..0e6170b8f3 100644 --- a/api/v3/handlers/plans/planaddons/lists.go +++ b/api/v3/handlers/plans/planaddons/lists.go @@ -8,8 +8,11 @@ import ( api "github.com/openmeterio/openmeter/api/v3" "github.com/openmeterio/openmeter/api/v3/apierrors" + "github.com/openmeterio/openmeter/api/v3/filters" + "github.com/openmeterio/openmeter/api/v3/request" "github.com/openmeterio/openmeter/api/v3/response" "github.com/openmeterio/openmeter/openmeter/productcatalog/planaddon" + "github.com/openmeterio/openmeter/pkg/filter" "github.com/openmeterio/openmeter/pkg/framework/commonhttp" "github.com/openmeterio/openmeter/pkg/framework/transport/httptransport" "github.com/openmeterio/openmeter/pkg/pagination" @@ -51,11 +54,75 @@ func (h *handler) ListPlanAddons() ListPlanAddonsHandler { }) } - return ListPlanAddonsRequest{ + req := ListPlanAddonsRequest{ Namespaces: []string{ns}, - PlanIDs: []string{params.PlanID}, - Page: page, - }, nil + // Enforce the plan scope from the path parameter. + PlanID: &filter.FilterULID{FilterString: filter.FilterString{Eq: lo.ToPtr(params.PlanID)}}, + Page: page, + } + + if params.Params.Filter != nil { + id, err := filters.FromAPIFilterULID(params.Params.Filter.Id) + if err != nil { + return ListPlanAddonsRequest{}, apierrors.NewBadRequestError(ctx, err, apierrors.InvalidParameters{ + {Field: "filter[id]", Reason: err.Error(), Source: apierrors.InvalidParamSourceQuery}, + }) + } + req.ID = id + + planKey, err := filters.FromAPIFilterString(params.Params.Filter.PlanKey) + if err != nil { + return ListPlanAddonsRequest{}, apierrors.NewBadRequestError(ctx, err, apierrors.InvalidParameters{ + {Field: "filter[plan_key]", Reason: err.Error(), Source: apierrors.InvalidParamSourceQuery}, + }) + } + req.PlanKey = planKey + + addonID, err := filters.FromAPIFilterULID(params.Params.Filter.AddonId) + if err != nil { + return ListPlanAddonsRequest{}, apierrors.NewBadRequestError(ctx, err, apierrors.InvalidParameters{ + {Field: "filter[addon_id]", Reason: err.Error(), Source: apierrors.InvalidParamSourceQuery}, + }) + } + req.AddonID = addonID + + addonKey, err := filters.FromAPIFilterString(params.Params.Filter.AddonKey) + if err != nil { + return ListPlanAddonsRequest{}, apierrors.NewBadRequestError(ctx, err, apierrors.InvalidParameters{ + {Field: "filter[addon_key]", Reason: err.Error(), Source: apierrors.InvalidParamSourceQuery}, + }) + } + req.AddonKey = addonKey + + addonName, err := filters.FromAPIFilterString(params.Params.Filter.AddonName) + if err != nil { + return ListPlanAddonsRequest{}, apierrors.NewBadRequestError(ctx, err, apierrors.InvalidParameters{ + {Field: "filter[addon_name]", Reason: err.Error(), Source: apierrors.InvalidParamSourceQuery}, + }) + } + req.AddonName = addonName + + planCurrency, err := filters.FromAPIFilterString(params.Params.Filter.PlanCurrency) + if err != nil { + return ListPlanAddonsRequest{}, apierrors.NewBadRequestError(ctx, err, apierrors.InvalidParameters{ + {Field: "filter[plan_currency]", Reason: err.Error(), Source: apierrors.InvalidParamSourceQuery}, + }) + } + req.PlanCurrency = planCurrency + } + + if params.Params.Sort != nil { + sort, err := request.ParseSortBy(*params.Params.Sort) + if err != nil { + return ListPlanAddonsRequest{}, apierrors.NewBadRequestError(ctx, err, apierrors.InvalidParameters{ + {Field: "sort", Reason: err.Error(), Source: apierrors.InvalidParamSourceQuery}, + }) + } + req.OrderBy = planaddon.OrderBy(sort.Field) + req.Order = sort.Order.ToSortxOrder() + } + + return req, nil }, func(ctx context.Context, req ListPlanAddonsRequest) (ListPlanAddonsResponse, error) { result, err := h.addonService.ListPlanAddons(ctx, req) diff --git a/api/v3/openapi.yaml b/api/v3/openapi.yaml index 05868653db..1a0da4adf0 100644 --- a/api/v3/openapi.yaml +++ b/api/v3/openapi.yaml @@ -2151,6 +2151,29 @@ paths: schema: $ref: '#/components/schemas/ULID' - $ref: '#/components/parameters/PagePaginationQuery' + - name: sort + in: query + required: false + description: |- + Sort plan add-ons returned in the response. Supported sort attributes are: + + - `id` (default) + - `created_at` + - `updated_at` + + The `asc` suffix is optional as the default sort order is ascending. The `desc` + suffix is used to specify a descending order. + schema: + $ref: '#/components/schemas/SortQuery' + explode: false + style: form + - name: filter + in: query + required: false + description: Filter plan add-ons returned in the response. + schema: + $ref: '#/components/schemas/ListPlanAddonsParamsFilter' + style: deepObject responses: '200': description: Page paginated response. @@ -8368,6 +8391,23 @@ components: description: Filter meters by name. additionalProperties: false description: Filter options for listing meters. + ListPlanAddonsParamsFilter: + type: object + properties: + id: + $ref: '#/components/schemas/ULIDFieldFilter' + plan_key: + $ref: '#/components/schemas/StringFieldFilter' + addon_id: + $ref: '#/components/schemas/ULIDFieldFilter' + addon_key: + $ref: '#/components/schemas/StringFieldFilter' + addon_name: + $ref: '#/components/schemas/StringFieldFilter' + plan_currency: + $ref: '#/components/schemas/StringFieldFilter' + additionalProperties: false + description: Filter options for listing plan add-ons. ListPlansParamsFilter: type: object properties: diff --git a/openmeter/productcatalog/planaddon/adapter/adapter_test.go b/openmeter/productcatalog/planaddon/adapter/adapter_test.go index b4ba692811..0a1b771504 100644 --- a/openmeter/productcatalog/planaddon/adapter/adapter_test.go +++ b/openmeter/productcatalog/planaddon/adapter/adapter_test.go @@ -18,6 +18,7 @@ import ( "github.com/openmeterio/openmeter/openmeter/productcatalog/planaddon" pctestutils "github.com/openmeterio/openmeter/openmeter/productcatalog/testutils" "github.com/openmeterio/openmeter/pkg/datetime" + "github.com/openmeterio/openmeter/pkg/filter" "github.com/openmeterio/openmeter/pkg/models" "github.com/openmeterio/openmeter/pkg/pagination" ) @@ -338,7 +339,7 @@ func TestPostgresAdapter(t *testing.T) { t.Run("ById", func(t *testing.T) { listPlanAddons, err := env.PlanAddonRepository.ListPlanAddons(ctx, planaddon.ListPlanAddonsInput{ Namespaces: []string{namespace}, - IDs: []string{planAddon.ID}, + ID: &filter.FilterULID{FilterString: filter.FilterString{Eq: lo.ToPtr(planAddon.ID)}}, }) assert.NoErrorf(t, err, "listing plan add-on assignment by id must not fail") @@ -350,8 +351,8 @@ func TestPostgresAdapter(t *testing.T) { t.Run("ByResourceKey", func(t *testing.T) { listPlanAddons, err := env.PlanAddonRepository.ListPlanAddons(ctx, planaddon.ListPlanAddonsInput{ Namespaces: []string{namespace}, - PlanKeys: []string{planV1.Key}, - AddonKeys: []string{addonV1.Key}, + PlanKey: &filter.FilterString{Eq: lo.ToPtr(planV1.Key)}, + AddonKey: &filter.FilterString{Eq: lo.ToPtr(addonV1.Key)}, }) assert.NoErrorf(t, err, "listing plan add-on assignment by plan and add-on keys must not fail") @@ -359,6 +360,64 @@ func TestPostgresAdapter(t *testing.T) { planaddon.AssertPlanAddonEqual(t, *planAddon, listPlanAddons.Items[0]) }) + + t.Run("ByPlanID", func(t *testing.T) { + listPlanAddons, err := env.PlanAddonRepository.ListPlanAddons(ctx, planaddon.ListPlanAddonsInput{ + Namespaces: []string{namespace}, + PlanID: &filter.FilterULID{FilterString: filter.FilterString{Eq: lo.ToPtr(planV1.ID)}}, + }) + assert.NoErrorf(t, err, "listing plan add-on assignment by plan id must not fail") + + require.Lenf(t, listPlanAddons.Items, 1, "plan add-on assignments must not be empty") + + planaddon.AssertPlanAddonEqual(t, *planAddon, listPlanAddons.Items[0]) + }) + + t.Run("ByAddonID", func(t *testing.T) { + listPlanAddons, err := env.PlanAddonRepository.ListPlanAddons(ctx, planaddon.ListPlanAddonsInput{ + Namespaces: []string{namespace}, + AddonID: &filter.FilterULID{FilterString: filter.FilterString{Eq: lo.ToPtr(addonV1.ID)}}, + }) + assert.NoErrorf(t, err, "listing plan add-on assignment by addon id must not fail") + + require.Lenf(t, listPlanAddons.Items, 1, "plan add-on assignments must not be empty") + + planaddon.AssertPlanAddonEqual(t, *planAddon, listPlanAddons.Items[0]) + }) + + t.Run("ByAddonName", func(t *testing.T) { + listPlanAddons, err := env.PlanAddonRepository.ListPlanAddons(ctx, planaddon.ListPlanAddonsInput{ + Namespaces: []string{namespace}, + AddonName: &filter.FilterString{Contains: lo.ToPtr("Addon")}, + }) + assert.NoErrorf(t, err, "listing plan add-on assignment by addon name must not fail") + + require.Lenf(t, listPlanAddons.Items, 1, "plan add-on assignments must not be empty") + + planaddon.AssertPlanAddonEqual(t, *planAddon, listPlanAddons.Items[0]) + }) + + t.Run("ByCurrency", func(t *testing.T) { + listPlanAddons, err := env.PlanAddonRepository.ListPlanAddons(ctx, planaddon.ListPlanAddonsInput{ + Namespaces: []string{namespace}, + PlanCurrency: &filter.FilterString{Eq: lo.ToPtr("USD")}, + }) + assert.NoErrorf(t, err, "listing plan add-on assignment by currency must not fail") + + require.Lenf(t, listPlanAddons.Items, 1, "plan add-on assignments must not be empty") + + planaddon.AssertPlanAddonEqual(t, *planAddon, listPlanAddons.Items[0]) + }) + + t.Run("NoMatch", func(t *testing.T) { + listPlanAddons, err := env.PlanAddonRepository.ListPlanAddons(ctx, planaddon.ListPlanAddonsInput{ + Namespaces: []string{namespace}, + PlanCurrency: &filter.FilterString{Eq: lo.ToPtr("EUR")}, + }) + assert.NoErrorf(t, err, "listing plan add-on assignments with non-matching currency must not fail") + + require.Lenf(t, listPlanAddons.Items, 0, "plan add-on assignments must be empty for non-matching currency") + }) }) t.Run("Update", func(t *testing.T) { diff --git a/openmeter/productcatalog/planaddon/adapter/planaddon.go b/openmeter/productcatalog/planaddon/adapter/planaddon.go index f22ebbbff0..5333dcd16b 100644 --- a/openmeter/productcatalog/planaddon/adapter/planaddon.go +++ b/openmeter/productcatalog/planaddon/adapter/planaddon.go @@ -12,6 +12,7 @@ import ( "github.com/openmeterio/openmeter/openmeter/productcatalog/addon" "github.com/openmeterio/openmeter/openmeter/productcatalog/planaddon" "github.com/openmeterio/openmeter/pkg/clock" + "github.com/openmeterio/openmeter/pkg/filter" "github.com/openmeterio/openmeter/pkg/framework/entutils" "github.com/openmeterio/openmeter/pkg/models" "github.com/openmeterio/openmeter/pkg/pagination" @@ -30,77 +31,45 @@ func (a *adapter) ListPlanAddons(ctx context.Context, params planaddon.ListPlanA query = query.Where(planaddondb.NamespaceIn(params.Namespaces...)) } - var orFilters []predicate.PlanAddon - if len(params.IDs) > 0 { - orFilters = append(orFilters, planaddondb.IDIn(params.IDs...)) - } - - // Plan predicates - - var planOrFilters []predicate.Plan + // Assignment-level filters (AND semantics) + query = filter.ApplyToQuery(query, params.ID, planaddondb.FieldID) - if len(params.PlanIDs) > 0 { - planOrFilters = append(planOrFilters, plandb.IDIn(params.PlanIDs...)) - } + // Plan-side filters applied via HasPlanWith (all AND) + var planPreds []predicate.Plan - if len(params.PlanKeys) > 0 { - planOrFilters = append(planOrFilters, plandb.KeyIn(params.PlanKeys...)) - } + planPreds = filter.ApplyToPredicate(planPreds, params.PlanID, plandb.FieldID) + planPreds = filter.ApplyToPredicate(planPreds, params.PlanKey, plandb.FieldKey) + planPreds = filter.ApplyToPredicate(planPreds, params.PlanCurrency, plandb.FieldCurrency) if len(params.PlanKeyVersions) > 0 { - var planKeyVersionFilters []predicate.Plan - + var planKeyVersionPreds []predicate.Plan for key, version := range params.PlanKeyVersions { - planOrFilters = append(planOrFilters, plandb.And(plandb.Key(key), plandb.VersionIn(version...))) + planKeyVersionPreds = append(planKeyVersionPreds, plandb.And(plandb.Key(key), plandb.VersionIn(version...))) } - - planOrFilters = append(planOrFilters, plandb.Or(planKeyVersionFilters...)) - } - - if len(params.Currencies) > 0 { - planOrFilters = append(planOrFilters, plandb.CurrencyIn(params.Currencies...)) + planPreds = append(planPreds, plandb.Or(planKeyVersionPreds...)) } - if len(planOrFilters) > 0 { - orFilters = append(orFilters, planaddondb.HasPlanWith( - plandb.Or(planOrFilters...), - )) + if len(planPreds) > 0 { + query = query.Where(planaddondb.HasPlanWith(planPreds...)) } - // Addon predicates - - var addonOrFilters []predicate.Addon + // Addon-side filters applied via HasAddonWith (all AND) + var addonPreds []predicate.Addon - if len(params.AddonIDs) > 0 { - addonOrFilters = append(addonOrFilters, addondb.IDIn(params.AddonIDs...)) - } + addonPreds = filter.ApplyToPredicate(addonPreds, params.AddonID, addondb.FieldID) + addonPreds = filter.ApplyToPredicate(addonPreds, params.AddonKey, addondb.FieldKey) + addonPreds = filter.ApplyToPredicate(addonPreds, params.AddonName, addondb.FieldName) - if len(params.AddonKeys) > 0 { - addonOrFilters = append(addonOrFilters, addondb.KeyIn(params.AddonKeys...)) - } - - if len(params.PlanKeyVersions) > 0 { - var planKeyVersionFilters []predicate.Addon - - for key, version := range params.PlanKeyVersions { - addonOrFilters = append(addonOrFilters, addondb.And(addondb.Key(key), addondb.VersionIn(version...))) + if len(params.AddonKeyVersions) > 0 { + var addonKeyVersionPreds []predicate.Addon + for key, version := range params.AddonKeyVersions { + addonKeyVersionPreds = append(addonKeyVersionPreds, addondb.And(addondb.Key(key), addondb.VersionIn(version...))) } - - addonOrFilters = append(addonOrFilters, addondb.Or(planKeyVersionFilters...)) - } - - if len(params.Currencies) > 0 { - addonOrFilters = append(addonOrFilters, addondb.CurrencyIn(params.Currencies...)) - } - - if len(addonOrFilters) > 0 { - orFilters = append(orFilters, planaddondb.HasAddonWith( - addondb.Or(addonOrFilters...), - )) + addonPreds = append(addonPreds, addondb.Or(addonKeyVersionPreds...)) } - if len(orFilters) > 0 { - query = query.Where(planaddondb.Or(orFilters...)) + if len(addonPreds) > 0 { + query = query.Where(planaddondb.HasAddonWith(addonPreds...)) } if !params.IncludeDeleted { diff --git a/openmeter/productcatalog/planaddon/httpdriver/planaddon.go b/openmeter/productcatalog/planaddon/httpdriver/planaddon.go index 5ae1cfe90e..bbec1e9fb2 100644 --- a/openmeter/productcatalog/planaddon/httpdriver/planaddon.go +++ b/openmeter/productcatalog/planaddon/httpdriver/planaddon.go @@ -5,11 +5,13 @@ import ( "fmt" "net/http" + "github.com/oklog/ulid/v2" "github.com/samber/lo" "github.com/openmeterio/openmeter/api" productcataloghttp "github.com/openmeterio/openmeter/openmeter/productcatalog/http" "github.com/openmeterio/openmeter/openmeter/productcatalog/planaddon" + "github.com/openmeterio/openmeter/pkg/filter" "github.com/openmeterio/openmeter/pkg/framework/commonhttp" "github.com/openmeterio/openmeter/pkg/framework/transport/httptransport" "github.com/openmeterio/openmeter/pkg/models" @@ -50,14 +52,25 @@ func (h *handler) ListPlanAddons() ListPlanAddonsHandler { OrderBy: planaddon.OrderBy(lo.FromPtrOr(params.OrderBy, api.PlanAddonOrderById)), Order: sortx.Order(lo.FromPtrOr(params.Order, api.SortOrderDESC)), Namespaces: []string{ns}, - PlanIDs: []string{params.PlanIDOrKey}, - PlanKeys: []string{params.PlanIDOrKey}, - AddonIDs: lo.FromPtrOr(params.Id, nil), - AddonKeys: lo.FromPtrOr(params.Key, nil), AddonKeyVersions: lo.FromPtrOr(params.KeyVersion, nil), IncludeDeleted: lo.FromPtr(params.IncludeDeleted), } + // Detect whether PlanIDOrKey is a ULID or a key string. + if _, err := ulid.Parse(params.PlanIDOrKey); err == nil { + req.PlanID = &filter.FilterULID{FilterString: filter.FilterString{Eq: lo.ToPtr(params.PlanIDOrKey)}} + } else { + req.PlanKey = &filter.FilterString{Eq: lo.ToPtr(params.PlanIDOrKey)} + } + + if ids := lo.FromPtrOr(params.Id, nil); len(ids) > 0 { + req.AddonID = &filter.FilterULID{FilterString: filter.FilterString{In: lo.ToPtr(ids)}} + } + + if keys := lo.FromPtrOr(params.Key, nil); len(keys) > 0 { + req.AddonKey = &filter.FilterString{In: lo.ToPtr(keys)} + } + return req, nil }, func(ctx context.Context, request ListPlanAddonsRequest) (ListPlanAddonsResponse, error) { diff --git a/openmeter/productcatalog/planaddon/service.go b/openmeter/productcatalog/planaddon/service.go index d3143081ae..f36cafe573 100644 --- a/openmeter/productcatalog/planaddon/service.go +++ b/openmeter/productcatalog/planaddon/service.go @@ -8,6 +8,7 @@ import ( "github.com/samber/lo" + "github.com/openmeterio/openmeter/pkg/filter" "github.com/openmeterio/openmeter/pkg/models" "github.com/openmeterio/openmeter/pkg/pagination" "github.com/openmeterio/openmeter/pkg/sortx" @@ -51,36 +52,75 @@ type ListPlanAddonsInput struct { // Namespaces is the list of namespaces to filter by. Namespaces []string - // IDs is the list of PlanAddonAssignment ids to filter by. - IDs []string - - // PlanIDs is the list of plan.Plan ids to filter by. - PlanIDs []string - - // PlanKeys is the list of plan.Plan keys to filter by. - PlanKeys []string - // PlanKeyVersions is the map of plan.Plan versioned keys to filter by. PlanKeyVersions map[string][]int - // AddonIDs is the list of addon.Addon ids to filter by. - AddonIDs []string - - // AddonKeys is the list of addon.Addon keys to filter by. - AddonKeys []string - // AddonKeyVersions is the map of addon.Addon versioned keys to filter by. AddonKeyVersions map[string][]int // IncludeDeleted defines whether to include deleted PlanAddonAssignments. IncludeDeleted bool - // Currencies is the list of currencies to filter by. - Currencies []string + // ID filters by plan-addon assignment id. + ID *filter.FilterULID + + // PlanID filters by plan id. + PlanID *filter.FilterULID + + // PlanKey filters by plan key. + PlanKey *filter.FilterString + + // AddonID filters by add-on id. + AddonID *filter.FilterULID + + // AddonKey filters by add-on key. + AddonKey *filter.FilterString + + // AddonName filters by add-on name. + AddonName *filter.FilterString + + // PlanCurrency filters by currency. + PlanCurrency *filter.FilterString } func (i ListPlanAddonsInput) Validate() error { - return nil + var errs []error + if i.ID != nil { + if err := i.ID.Validate(); err != nil { + errs = append(errs, fmt.Errorf("invalid id filter: %w", err)) + } + } + if i.PlanID != nil { + if err := i.PlanID.Validate(); err != nil { + errs = append(errs, fmt.Errorf("invalid plan_id filter: %w", err)) + } + } + if i.PlanKey != nil { + if err := i.PlanKey.Validate(); err != nil { + errs = append(errs, fmt.Errorf("invalid plan_key filter: %w", err)) + } + } + if i.AddonID != nil { + if err := i.AddonID.Validate(); err != nil { + errs = append(errs, fmt.Errorf("invalid addon_id filter: %w", err)) + } + } + if i.AddonKey != nil { + if err := i.AddonKey.Validate(); err != nil { + errs = append(errs, fmt.Errorf("invalid addon_key filter: %w", err)) + } + } + if i.AddonName != nil { + if err := i.AddonName.Validate(); err != nil { + errs = append(errs, fmt.Errorf("invalid addon_name filter: %w", err)) + } + } + if i.PlanCurrency != nil { + if err := i.PlanCurrency.Validate(); err != nil { + errs = append(errs, fmt.Errorf("invalid currency filter: %w", err)) + } + } + return models.NewNillableGenericValidationError(errors.Join(errs...)) } var _ models.Validator = (*CreatePlanAddonInput)(nil) diff --git a/openmeter/productcatalog/planaddon/service/service_test.go b/openmeter/productcatalog/planaddon/service/service_test.go index 2e5c43626f..478bd615d8 100644 --- a/openmeter/productcatalog/planaddon/service/service_test.go +++ b/openmeter/productcatalog/planaddon/service/service_test.go @@ -18,6 +18,7 @@ import ( "github.com/openmeterio/openmeter/openmeter/productcatalog/planaddon" pctestutils "github.com/openmeterio/openmeter/openmeter/productcatalog/testutils" "github.com/openmeterio/openmeter/pkg/datetime" + "github.com/openmeterio/openmeter/pkg/filter" "github.com/openmeterio/openmeter/pkg/models" "github.com/openmeterio/openmeter/pkg/pagination" ) @@ -310,9 +311,9 @@ func TestPlanAddonService(t *testing.T) { t.Run("List", func(t *testing.T) { t.Run("ById", func(t *testing.T) { - listPlanAddons, err := env.PlanAddon.ListPlanAddons(ctx, planaddon.ListPlanAddonsInput{ + listPlanAddons, err := env.PlanAddon.ListPlanAddons(t.Context(), planaddon.ListPlanAddonsInput{ Namespaces: []string{namespace}, - IDs: []string{planAddon.ID}, + ID: &filter.FilterULID{FilterString: filter.FilterString{Eq: lo.ToPtr(planAddon.ID)}}, }) assert.NoErrorf(t, err, "listing plan add-on assignment by id must not fail") @@ -322,10 +323,10 @@ func TestPlanAddonService(t *testing.T) { }) t.Run("ByResourceKey", func(t *testing.T) { - listPlanAddons, err := env.PlanAddon.ListPlanAddons(ctx, planaddon.ListPlanAddonsInput{ + listPlanAddons, err := env.PlanAddon.ListPlanAddons(t.Context(), planaddon.ListPlanAddonsInput{ Namespaces: []string{namespace}, - PlanKeys: []string{planV1.Key}, - AddonKeys: []string{addonV1.Key}, + PlanKey: &filter.FilterString{Eq: lo.ToPtr(planV1.Key)}, + AddonKey: &filter.FilterString{Eq: lo.ToPtr(addonV1.Key)}, }) assert.NoErrorf(t, err, "listing plan add-on assignment by plan and add-on keys must not fail") @@ -333,6 +334,86 @@ func TestPlanAddonService(t *testing.T) { planaddon.AssertPlanAddonEqual(t, *planAddon, listPlanAddons.Items[0]) }) + + t.Run("ByPlanID", func(t *testing.T) { + listPlanAddons, err := env.PlanAddon.ListPlanAddons(t.Context(), planaddon.ListPlanAddonsInput{ + Namespaces: []string{namespace}, + PlanID: &filter.FilterULID{FilterString: filter.FilterString{Eq: lo.ToPtr(planV1.ID)}}, + }) + assert.NoErrorf(t, err, "listing plan add-on assignment by plan id must not fail") + + require.Lenf(t, listPlanAddons.Items, 1, "plan add-on assignments must not be empty") + + planaddon.AssertPlanAddonEqual(t, *planAddon, listPlanAddons.Items[0]) + }) + + t.Run("ByAddonID", func(t *testing.T) { + listPlanAddons, err := env.PlanAddon.ListPlanAddons(t.Context(), planaddon.ListPlanAddonsInput{ + Namespaces: []string{namespace}, + AddonID: &filter.FilterULID{FilterString: filter.FilterString{Eq: lo.ToPtr(addonV1.ID)}}, + }) + assert.NoErrorf(t, err, "listing plan add-on assignment by addon id must not fail") + + require.Lenf(t, listPlanAddons.Items, 1, "plan add-on assignments must not be empty") + + planaddon.AssertPlanAddonEqual(t, *planAddon, listPlanAddons.Items[0]) + }) + + t.Run("ByAddonName", func(t *testing.T) { + listPlanAddons, err := env.PlanAddon.ListPlanAddons(t.Context(), planaddon.ListPlanAddonsInput{ + Namespaces: []string{namespace}, + AddonName: &filter.FilterString{Contains: lo.ToPtr("Addon")}, + }) + assert.NoErrorf(t, err, "listing plan add-on assignment by addon name must not fail") + + require.Lenf(t, listPlanAddons.Items, 1, "plan add-on assignments must not be empty") + + planaddon.AssertPlanAddonEqual(t, *planAddon, listPlanAddons.Items[0]) + }) + + t.Run("ByCurrency", func(t *testing.T) { + listPlanAddons, err := env.PlanAddon.ListPlanAddons(t.Context(), planaddon.ListPlanAddonsInput{ + Namespaces: []string{namespace}, + PlanCurrency: &filter.FilterString{Eq: lo.ToPtr("USD")}, + }) + assert.NoErrorf(t, err, "listing plan add-on assignment by currency must not fail") + + require.Lenf(t, listPlanAddons.Items, 1, "plan add-on assignments must not be empty") + + planaddon.AssertPlanAddonEqual(t, *planAddon, listPlanAddons.Items[0]) + }) + + t.Run("NoMatch", func(t *testing.T) { + listPlanAddons, err := env.PlanAddon.ListPlanAddons(t.Context(), planaddon.ListPlanAddonsInput{ + Namespaces: []string{namespace}, + PlanCurrency: &filter.FilterString{Eq: lo.ToPtr("EUR")}, + }) + assert.NoErrorf(t, err, "listing plan add-on assignments with non-matching filter must not fail") + + require.Lenf(t, listPlanAddons.Items, 0, "plan add-on assignments must be empty for non-matching currency") + }) + + t.Run("SortByCreatedAtDesc", func(t *testing.T) { + listPlanAddons, err := env.PlanAddon.ListPlanAddons(t.Context(), planaddon.ListPlanAddonsInput{ + Namespaces: []string{namespace}, + OrderBy: planaddon.OrderByCreatedAt, + Order: planaddon.OrderDesc, + }) + assert.NoErrorf(t, err, "listing plan add-on assignments sorted by created_at desc must not fail") + + require.NotEmptyf(t, listPlanAddons.Items, "plan add-on assignments must not be empty") + }) + + t.Run("SortByID", func(t *testing.T) { + listPlanAddons, err := env.PlanAddon.ListPlanAddons(t.Context(), planaddon.ListPlanAddonsInput{ + Namespaces: []string{namespace}, + OrderBy: planaddon.OrderByID, + Order: planaddon.OrderAsc, + }) + assert.NoErrorf(t, err, "listing plan add-on assignments sorted by id must not fail") + + require.NotEmptyf(t, listPlanAddons.Items, "plan add-on assignments must not be empty") + }) }) t.Run("Update", func(t *testing.T) { diff --git a/pkg/filter/filter.go b/pkg/filter/filter.go index 511c055ddf..3996c31346 100644 --- a/pkg/filter/filter.go +++ b/pkg/filter/filter.go @@ -856,6 +856,18 @@ func ApplyToQuery[F Filter, Q EntQuery[Q, P], P Predicate](q Q, f *F, field stri return q } +func ApplyToPredicate[F Filter, P Predicate](arr []P, f *F, field string) []P { + if f == nil { + return arr + } + + if p := SelectPredicate[P](Filter(*f), field); p != nil { + return append(arr, *p) + } + + return arr +} + // validateSingleOperator checks that at most one operator field is set on a // filter struct. To combine operators, use the And or Or fields. func validateSingleOperator(v Filter) error {