From 1ea1c1a15b4d0c3f452d6a96688b72608da4e68b Mon Sep 17 00:00:00 2001 From: Krisztian Gacsal Date: Mon, 5 Aug 2024 11:06:48 +0200 Subject: [PATCH] refactor: Notification API spec * add pagination to `List*` endpoints * make all fields required for `NotificationRuleMeta` * add `order` to query string to be used with `orderBy` --- api/api.gen.go | 862 ++++++++++++++++++++------------- api/client/go/client.gen.go | 926 +++++++++++++++++++++++------------- api/openapi.yaml | 145 +++++- 3 files changed, 1244 insertions(+), 689 deletions(-) diff --git a/api/api.gen.go b/api/api.gen.go index d066502ac..9685f3cdc 100644 --- a/api/api.gen.go +++ b/api/api.gen.go @@ -159,12 +159,24 @@ const ( ListNotificationChannelsParamsOrderByUpdatedAt ListNotificationChannelsParamsOrderBy = "updatedAt" ) +// Defines values for ListNotificationChannelsParamsOrder. +const ( + ListNotificationChannelsParamsOrderSortOrderASC ListNotificationChannelsParamsOrder = "ASC" + ListNotificationChannelsParamsOrderSortOrderDESC ListNotificationChannelsParamsOrder = "DESC" +) + // Defines values for ListNotificationEventsParamsOrderBy. const ( ListNotificationEventsParamsOrderByCreatedAt ListNotificationEventsParamsOrderBy = "createdAt" ListNotificationEventsParamsOrderById ListNotificationEventsParamsOrderBy = "id" ) +// Defines values for ListNotificationEventsParamsOrder. +const ( + ListNotificationEventsParamsOrderSortOrderASC ListNotificationEventsParamsOrder = "ASC" + ListNotificationEventsParamsOrderSortOrderDESC ListNotificationEventsParamsOrder = "DESC" +) + // Defines values for ListNotificationRulesParamsOrderBy. const ( ListNotificationRulesParamsOrderByCreatedAt ListNotificationRulesParamsOrderBy = "createdAt" @@ -173,6 +185,12 @@ const ( ListNotificationRulesParamsOrderByUpdatedAt ListNotificationRulesParamsOrderBy = "updatedAt" ) +// Defines values for ListNotificationRulesParamsOrder. +const ( + SortOrderASC ListNotificationRulesParamsOrder = "ASC" + SortOrderDESC ListNotificationRulesParamsOrder = "DESC" +) + // Defines values for ListEntitlementGrantsParamsOrderBy. const ( CreatedAt ListEntitlementGrantsParamsOrderBy = "createdAt" @@ -867,22 +885,25 @@ type NotificationChannel struct { // NotificationChannelCommon defines model for NotificationChannelCommon. type NotificationChannelCommon struct { // CreatedAt Timestamp when the channel was created. - CreatedAt *time.Time `json:"createdAt,omitempty"` + CreatedAt time.Time `json:"createdAt"` + + // DeletedAt Timestamp when the channel was deleted. + DeletedAt *time.Time `json:"deletedAt,omitempty"` // Disabled Whether the channel is disabled or not. - Disabled *bool `json:"disabled,omitempty"` + Disabled bool `json:"disabled"` // Id A unique identifier for the notification channel. Id string `json:"id"` // Name User friendly name of the channel. - Name *string `json:"name,omitempty"` + Name string `json:"name"` // Type The type of the notification channel. Type NotificationChannelType `json:"type"` // UpdatedAt Timestamp when the channel was modified. - UpdatedAt *time.Time `json:"updatedAt,omitempty"` + UpdatedAt time.Time `json:"updatedAt"` } // NotificationChannelCommonCreateRequest Common fields for create notification channel request. @@ -917,19 +938,22 @@ type NotificationChannelType string // NotificationChannelWebhook defines model for NotificationChannelWebhook. type NotificationChannelWebhook struct { // CreatedAt Timestamp when the channel was created. - CreatedAt *time.Time `json:"createdAt,omitempty"` + CreatedAt time.Time `json:"createdAt"` // CustomHeaders Custom HTTP headers sent as part of the webhook request. CustomHeaders *map[string]interface{} `json:"customHeaders"` + // DeletedAt Timestamp when the channel was deleted. + DeletedAt *time.Time `json:"deletedAt,omitempty"` + // Disabled Whether the channel is disabled or not. - Disabled *bool `json:"disabled,omitempty"` + Disabled bool `json:"disabled"` // Id A unique identifier for the notification channel. Id string `json:"id"` // Name User friendly name of the channel. - Name *string `json:"name,omitempty"` + Name string `json:"name"` // SigningSecret Signing secret used for webhook request validation on the receiving end. // @@ -940,7 +964,7 @@ type NotificationChannelWebhook struct { Type NotificationChannelType `json:"type"` // UpdatedAt Timestamp when the channel was modified. - UpdatedAt *time.Time `json:"updatedAt,omitempty"` + UpdatedAt time.Time `json:"updatedAt"` // Url Webhook URL where the notification is sent. Url string `json:"url"` @@ -969,9 +993,24 @@ type NotificationChannelWebhookCreateRequest struct { Url string `json:"url"` } -// NotificationChannels defines model for NotificationChannels. +// NotificationChannels List of channels. type NotificationChannels = []NotificationChannel +// NotificationChannelsResponse defines model for NotificationChannelsResponse. +type NotificationChannelsResponse struct { + // Items List of channels. + Items NotificationChannels `json:"items"` + + // Page Current page number. + Page int `json:"page"` + + // PageSize Number of channels per page. + PageSize int `json:"pageSize"` + + // TotalCount Total number of channels. + TotalCount int `json:"totalCount"` +} + // NotificationEvent Notification event generated by the system based on the criteria defined in the corresponding // a notification rule. // @@ -988,9 +1027,7 @@ type NotificationEvent struct { // Payload The actual payload sent to channel as part of the notification event. Payload NotificationEventPayload `json:"payload"` - - // Rule Defines the common fields of a notification rule. - Rule *NotificationRuleMeta `json:"rule,omitempty"` + Rule NotificationRule `json:"rule"` } // NotificationEventBalanceThresholdPayload defines model for NotificationEventBalanceThresholdPayload. @@ -1053,6 +1090,24 @@ type NotificationEventPayload struct { // NotificationEventType The type of the notification event. type NotificationEventType string +// NotificationEvents List of notification events. +type NotificationEvents = []NotificationEvent + +// NotificationEventsResponse defines model for NotificationEventsResponse. +type NotificationEventsResponse struct { + // Items List of notification events. + Items NotificationEvents `json:"items"` + + // Page Current page number. + Page int `json:"page"` + + // PageSize Number of rules per page. + PageSize int `json:"pageSize"` + + // TotalCount Total number of rules. + TotalCount int `json:"totalCount"` +} + // NotificationRule defines model for NotificationRule. type NotificationRule struct { union json.RawMessage @@ -1061,13 +1116,16 @@ type NotificationRule struct { // NotificationRuleBalanceThreshold defines model for NotificationRuleBalanceThreshold. type NotificationRuleBalanceThreshold struct { // Channels List of notification channels the rule applies to. - Channels *[]NotificationChannelMeta `json:"channels,omitempty"` + Channels []NotificationChannelMeta `json:"channels"` // CreatedAt Timestamp when the rule was created. - CreatedAt *time.Time `json:"createdAt,omitempty"` + CreatedAt time.Time `json:"createdAt"` + + // DeletedAt Timestamp when the channel was deleted. + DeletedAt *time.Time `json:"deletedAt,omitempty"` // Disabled Whether the rule is disabled or not. - Disabled *bool `json:"disabled,omitempty"` + Disabled bool `json:"disabled"` // Features Optional field containing list of features the rule applies to. Features *[]FeatureMeta `json:"features"` @@ -1076,7 +1134,7 @@ type NotificationRuleBalanceThreshold struct { Id string `json:"id"` // Name The user friendly name of the notification rule. - Name *string `json:"name,omitempty"` + Name string `json:"name"` // Thresholds List of thresholds the rule suppose to be triggered. Thresholds []NotificationRuleBalanceThresholdValue `json:"thresholds"` @@ -1085,7 +1143,7 @@ type NotificationRuleBalanceThreshold struct { Type NotificationEventType `json:"type"` // UpdatedAt Timestamp when the rule was modified. - UpdatedAt *time.Time `json:"updatedAt,omitempty"` + UpdatedAt time.Time `json:"updatedAt"` } // NotificationRuleBalanceThresholdCreateRequest defines model for NotificationRuleBalanceThresholdCreateRequest. @@ -1121,25 +1179,28 @@ type NotificationRuleBalanceThresholdValueType string // NotificationRuleCommon defines model for NotificationRuleCommon. type NotificationRuleCommon struct { // Channels List of notification channels the rule applies to. - Channels *[]NotificationChannelMeta `json:"channels,omitempty"` + Channels []NotificationChannelMeta `json:"channels"` // CreatedAt Timestamp when the rule was created. - CreatedAt *time.Time `json:"createdAt,omitempty"` + CreatedAt time.Time `json:"createdAt"` + + // DeletedAt Timestamp when the channel was deleted. + DeletedAt *time.Time `json:"deletedAt,omitempty"` // Disabled Whether the rule is disabled or not. - Disabled *bool `json:"disabled,omitempty"` + Disabled bool `json:"disabled"` // Id A unique identifier for the notification rule. Id string `json:"id"` // Name The user friendly name of the notification rule. - Name *string `json:"name,omitempty"` + Name string `json:"name"` // Type The type of the notification event. Type NotificationEventType `json:"type"` // UpdatedAt Timestamp when the rule was modified. - UpdatedAt *time.Time `json:"updatedAt,omitempty"` + UpdatedAt time.Time `json:"updatedAt"` } // NotificationRuleCommonCreateRequest Defines the common fields for create notification rule request. @@ -1171,9 +1232,24 @@ type NotificationRuleMeta struct { Type NotificationEventType `json:"type"` } -// NotificationRules defines model for NotificationRules. +// NotificationRules List of rules. type NotificationRules = []NotificationRule +// NotificationRulesResponse defines model for NotificationRulesResponse. +type NotificationRulesResponse struct { + // Items List of rules. + Items NotificationRules `json:"items"` + + // Page Current page number. + Page int `json:"page"` + + // PageSize Number of rules per page. + PageSize int `json:"pageSize"` + + // TotalCount Total number of rules. + TotalCount int `json:"totalCount"` +} + // Period A time period type Period struct { // From Period start time where the amount was applied. If applicable. @@ -1307,6 +1383,9 @@ type MeterIdOrSlug = IdOrSlug // Order defines model for order. type Order string +// QueryFilterChannel defines model for queryFilterChannel. +type QueryFilterChannel = []string + // QueryFilterEntitlementType defines model for queryFilterEntitlementType. type QueryFilterEntitlementType = []string @@ -1553,33 +1632,57 @@ type QueryMeterParams struct { // ListNotificationChannelsParams defines parameters for ListNotificationChannels. type ListNotificationChannelsParams struct { - // Limit Number of entries to return - Limit *QueryLimit `form:"limit,omitempty" json:"limit,omitempty"` + // Page Page number to return + Page *QueryPage `form:"page,omitempty" json:"page,omitempty"` - // Offset Number of entries to skip - Offset *QueryOffset `form:"offset,omitempty" json:"offset,omitempty"` + // PageSize Number of entries to return per page + PageSize *QueryPageSize `form:"pageSize,omitempty" json:"pageSize,omitempty"` // OrderBy Order by field OrderBy *ListNotificationChannelsParamsOrderBy `form:"orderBy,omitempty" json:"orderBy,omitempty"` + // Order Order by field. + // + // Usage: `?order=ASC` + Order *ListNotificationChannelsParamsOrder `form:"order,omitempty" json:"order,omitempty"` + // IncludeDisabled Include disabled entries. IncludeDisabled *QueryIncludeDisabled `form:"includeDisabled,omitempty" json:"includeDisabled,omitempty"` + + // IncludeDeleted Include deleted entries. + IncludeDeleted *IncludeDeleted `form:"includeDeleted,omitempty" json:"includeDeleted,omitempty"` } // ListNotificationChannelsParamsOrderBy defines parameters for ListNotificationChannels. type ListNotificationChannelsParamsOrderBy string +// ListNotificationChannelsParamsOrder defines parameters for ListNotificationChannels. +type ListNotificationChannelsParamsOrder string + // ListNotificationEventsParams defines parameters for ListNotificationEvents. type ListNotificationEventsParams struct { - // Limit Number of entries to return - Limit *QueryLimit `form:"limit,omitempty" json:"limit,omitempty"` + // Page Page number to return + Page *QueryPage `form:"page,omitempty" json:"page,omitempty"` - // Offset Number of entries to skip - Offset *QueryOffset `form:"offset,omitempty" json:"offset,omitempty"` + // PageSize Number of entries to return per page + PageSize *QueryPageSize `form:"pageSize,omitempty" json:"pageSize,omitempty"` // OrderBy Order by field OrderBy *ListNotificationEventsParamsOrderBy `form:"orderBy,omitempty" json:"orderBy,omitempty"` + // Order Order by field. + // + // Usage: `?order=ASC` + Order *ListNotificationEventsParamsOrder `form:"order,omitempty" json:"order,omitempty"` + + // From Start date-time in RFC 3339 format. + // Inclusive. + From *QueryFrom `form:"from,omitempty" json:"from,omitempty"` + + // To End date-time in RFC 3339 format. + // Inclusive. + To *QueryTo `form:"to,omitempty" json:"to,omitempty"` + // Feature Filtering by multiple features. // // Usage: `?feature=feature-1&feature=feature-2` @@ -1594,29 +1697,48 @@ type ListNotificationEventsParams struct { // ListNotificationEventsParamsOrderBy defines parameters for ListNotificationEvents. type ListNotificationEventsParamsOrderBy string +// ListNotificationEventsParamsOrder defines parameters for ListNotificationEvents. +type ListNotificationEventsParamsOrder string + // ListNotificationRulesParams defines parameters for ListNotificationRules. type ListNotificationRulesParams struct { - // Limit Number of entries to return - Limit *QueryLimit `form:"limit,omitempty" json:"limit,omitempty"` + // Page Page number to return + Page *QueryPage `form:"page,omitempty" json:"page,omitempty"` - // Offset Number of entries to skip - Offset *QueryOffset `form:"offset,omitempty" json:"offset,omitempty"` + // PageSize Number of entries to return per page + PageSize *QueryPageSize `form:"pageSize,omitempty" json:"pageSize,omitempty"` // OrderBy Order by field OrderBy *ListNotificationRulesParamsOrderBy `form:"orderBy,omitempty" json:"orderBy,omitempty"` + // Order Order by field. + // + // Usage: `?order=ASC` + Order *ListNotificationRulesParamsOrder `form:"order,omitempty" json:"order,omitempty"` + // IncludeDisabled Include disabled entries. IncludeDisabled *QueryIncludeDisabled `form:"includeDisabled,omitempty" json:"includeDisabled,omitempty"` + // IncludeDeleted Include deleted entries. + IncludeDeleted *IncludeDeleted `form:"includeDeleted,omitempty" json:"includeDeleted,omitempty"` + // Feature Filtering by multiple features. // // Usage: `?feature=feature-1&feature=feature-2` Feature *QueryFilterFeature `form:"feature,omitempty" json:"feature,omitempty"` + + // Channel Filtering by multiple notification channels. + // + // Usage: `?channel=channel-1&channel=channel-2` + Channel *QueryFilterChannel `form:"channel,omitempty" json:"channel,omitempty"` } // ListNotificationRulesParamsOrderBy defines parameters for ListNotificationRules. type ListNotificationRulesParamsOrderBy string +// ListNotificationRulesParamsOrder defines parameters for ListNotificationRules. +type ListNotificationRulesParamsOrder string + // QueryPortalMeterParams defines parameters for QueryPortalMeter. type QueryPortalMeterParams struct { // From Start date-time in RFC 3339 format. @@ -3839,19 +3961,19 @@ func (siw *ServerInterfaceWrapper) ListNotificationChannels(w http.ResponseWrite // Parameter object where we will unmarshal all parameters from the context var params ListNotificationChannelsParams - // ------------- Optional query parameter "limit" ------------- + // ------------- Optional query parameter "page" ------------- - err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), ¶ms.Limit) + err = runtime.BindQueryParameter("form", true, false, "page", r.URL.Query(), ¶ms.Page) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "page", Err: err}) return } - // ------------- Optional query parameter "offset" ------------- + // ------------- Optional query parameter "pageSize" ------------- - err = runtime.BindQueryParameter("form", true, false, "offset", r.URL.Query(), ¶ms.Offset) + err = runtime.BindQueryParameter("form", true, false, "pageSize", r.URL.Query(), ¶ms.PageSize) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "pageSize", Err: err}) return } @@ -3863,6 +3985,14 @@ func (siw *ServerInterfaceWrapper) ListNotificationChannels(w http.ResponseWrite return } + // ------------- Optional query parameter "order" ------------- + + err = runtime.BindQueryParameter("form", true, false, "order", r.URL.Query(), ¶ms.Order) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "order", Err: err}) + return + } + // ------------- Optional query parameter "includeDisabled" ------------- err = runtime.BindQueryParameter("form", true, false, "includeDisabled", r.URL.Query(), ¶ms.IncludeDisabled) @@ -3871,6 +4001,14 @@ func (siw *ServerInterfaceWrapper) ListNotificationChannels(w http.ResponseWrite return } + // ------------- Optional query parameter "includeDeleted" ------------- + + err = runtime.BindQueryParameter("form", true, false, "includeDeleted", r.URL.Query(), ¶ms.IncludeDeleted) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "includeDeleted", Err: err}) + return + } + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.ListNotificationChannels(w, r, params) })) @@ -4004,19 +4142,19 @@ func (siw *ServerInterfaceWrapper) ListNotificationEvents(w http.ResponseWriter, // Parameter object where we will unmarshal all parameters from the context var params ListNotificationEventsParams - // ------------- Optional query parameter "limit" ------------- + // ------------- Optional query parameter "page" ------------- - err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), ¶ms.Limit) + err = runtime.BindQueryParameter("form", true, false, "page", r.URL.Query(), ¶ms.Page) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "page", Err: err}) return } - // ------------- Optional query parameter "offset" ------------- + // ------------- Optional query parameter "pageSize" ------------- - err = runtime.BindQueryParameter("form", true, false, "offset", r.URL.Query(), ¶ms.Offset) + err = runtime.BindQueryParameter("form", true, false, "pageSize", r.URL.Query(), ¶ms.PageSize) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "pageSize", Err: err}) return } @@ -4028,6 +4166,30 @@ func (siw *ServerInterfaceWrapper) ListNotificationEvents(w http.ResponseWriter, return } + // ------------- Optional query parameter "order" ------------- + + err = runtime.BindQueryParameter("form", true, false, "order", r.URL.Query(), ¶ms.Order) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "order", Err: err}) + return + } + + // ------------- Optional query parameter "from" ------------- + + err = runtime.BindQueryParameter("form", true, false, "from", r.URL.Query(), ¶ms.From) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "from", Err: err}) + return + } + + // ------------- Optional query parameter "to" ------------- + + err = runtime.BindQueryParameter("form", true, false, "to", r.URL.Query(), ¶ms.To) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "to", Err: err}) + return + } + // ------------- Optional query parameter "feature" ------------- err = runtime.BindQueryParameter("form", true, false, "feature", r.URL.Query(), ¶ms.Feature) @@ -4098,19 +4260,19 @@ func (siw *ServerInterfaceWrapper) ListNotificationRules(w http.ResponseWriter, // Parameter object where we will unmarshal all parameters from the context var params ListNotificationRulesParams - // ------------- Optional query parameter "limit" ------------- + // ------------- Optional query parameter "page" ------------- - err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), ¶ms.Limit) + err = runtime.BindQueryParameter("form", true, false, "page", r.URL.Query(), ¶ms.Page) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "page", Err: err}) return } - // ------------- Optional query parameter "offset" ------------- + // ------------- Optional query parameter "pageSize" ------------- - err = runtime.BindQueryParameter("form", true, false, "offset", r.URL.Query(), ¶ms.Offset) + err = runtime.BindQueryParameter("form", true, false, "pageSize", r.URL.Query(), ¶ms.PageSize) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "pageSize", Err: err}) return } @@ -4122,6 +4284,14 @@ func (siw *ServerInterfaceWrapper) ListNotificationRules(w http.ResponseWriter, return } + // ------------- Optional query parameter "order" ------------- + + err = runtime.BindQueryParameter("form", true, false, "order", r.URL.Query(), ¶ms.Order) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "order", Err: err}) + return + } + // ------------- Optional query parameter "includeDisabled" ------------- err = runtime.BindQueryParameter("form", true, false, "includeDisabled", r.URL.Query(), ¶ms.IncludeDisabled) @@ -4130,6 +4300,14 @@ func (siw *ServerInterfaceWrapper) ListNotificationRules(w http.ResponseWriter, return } + // ------------- Optional query parameter "includeDeleted" ------------- + + err = runtime.BindQueryParameter("form", true, false, "includeDeleted", r.URL.Query(), ¶ms.IncludeDeleted) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "includeDeleted", Err: err}) + return + } + // ------------- Optional query parameter "feature" ------------- err = runtime.BindQueryParameter("form", true, false, "feature", r.URL.Query(), ¶ms.Feature) @@ -4138,6 +4316,14 @@ func (siw *ServerInterfaceWrapper) ListNotificationRules(w http.ResponseWriter, return } + // ------------- Optional query parameter "channel" ------------- + + err = runtime.BindQueryParameter("form", true, false, "channel", r.URL.Query(), ¶ms.Channel) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "channel", Err: err}) + return + } + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.ListNotificationRules(w, r, params) })) @@ -5181,290 +5367,292 @@ func HandlerWithOptions(si ServerInterface, options ChiServerOptions) http.Handl // Base64 encoded, gzipped, json marshaled Swagger object var swaggerSpec = []string{ - "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", - "/SOEAQA=", + "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", } // GetSwagger returns the content of the embedded swagger specification file diff --git a/api/client/go/client.gen.go b/api/client/go/client.gen.go index f9a92e004..5190dd376 100644 --- a/api/client/go/client.gen.go +++ b/api/client/go/client.gen.go @@ -159,12 +159,24 @@ const ( ListNotificationChannelsParamsOrderByUpdatedAt ListNotificationChannelsParamsOrderBy = "updatedAt" ) +// Defines values for ListNotificationChannelsParamsOrder. +const ( + ListNotificationChannelsParamsOrderSortOrderASC ListNotificationChannelsParamsOrder = "ASC" + ListNotificationChannelsParamsOrderSortOrderDESC ListNotificationChannelsParamsOrder = "DESC" +) + // Defines values for ListNotificationEventsParamsOrderBy. const ( ListNotificationEventsParamsOrderByCreatedAt ListNotificationEventsParamsOrderBy = "createdAt" ListNotificationEventsParamsOrderById ListNotificationEventsParamsOrderBy = "id" ) +// Defines values for ListNotificationEventsParamsOrder. +const ( + ListNotificationEventsParamsOrderSortOrderASC ListNotificationEventsParamsOrder = "ASC" + ListNotificationEventsParamsOrderSortOrderDESC ListNotificationEventsParamsOrder = "DESC" +) + // Defines values for ListNotificationRulesParamsOrderBy. const ( ListNotificationRulesParamsOrderByCreatedAt ListNotificationRulesParamsOrderBy = "createdAt" @@ -173,6 +185,12 @@ const ( ListNotificationRulesParamsOrderByUpdatedAt ListNotificationRulesParamsOrderBy = "updatedAt" ) +// Defines values for ListNotificationRulesParamsOrder. +const ( + SortOrderASC ListNotificationRulesParamsOrder = "ASC" + SortOrderDESC ListNotificationRulesParamsOrder = "DESC" +) + // Defines values for ListEntitlementGrantsParamsOrderBy. const ( CreatedAt ListEntitlementGrantsParamsOrderBy = "createdAt" @@ -867,22 +885,25 @@ type NotificationChannel struct { // NotificationChannelCommon defines model for NotificationChannelCommon. type NotificationChannelCommon struct { // CreatedAt Timestamp when the channel was created. - CreatedAt *time.Time `json:"createdAt,omitempty"` + CreatedAt time.Time `json:"createdAt"` + + // DeletedAt Timestamp when the channel was deleted. + DeletedAt *time.Time `json:"deletedAt,omitempty"` // Disabled Whether the channel is disabled or not. - Disabled *bool `json:"disabled,omitempty"` + Disabled bool `json:"disabled"` // Id A unique identifier for the notification channel. Id string `json:"id"` // Name User friendly name of the channel. - Name *string `json:"name,omitempty"` + Name string `json:"name"` // Type The type of the notification channel. Type NotificationChannelType `json:"type"` // UpdatedAt Timestamp when the channel was modified. - UpdatedAt *time.Time `json:"updatedAt,omitempty"` + UpdatedAt time.Time `json:"updatedAt"` } // NotificationChannelCommonCreateRequest Common fields for create notification channel request. @@ -917,19 +938,22 @@ type NotificationChannelType string // NotificationChannelWebhook defines model for NotificationChannelWebhook. type NotificationChannelWebhook struct { // CreatedAt Timestamp when the channel was created. - CreatedAt *time.Time `json:"createdAt,omitempty"` + CreatedAt time.Time `json:"createdAt"` // CustomHeaders Custom HTTP headers sent as part of the webhook request. CustomHeaders *map[string]interface{} `json:"customHeaders"` + // DeletedAt Timestamp when the channel was deleted. + DeletedAt *time.Time `json:"deletedAt,omitempty"` + // Disabled Whether the channel is disabled or not. - Disabled *bool `json:"disabled,omitempty"` + Disabled bool `json:"disabled"` // Id A unique identifier for the notification channel. Id string `json:"id"` // Name User friendly name of the channel. - Name *string `json:"name,omitempty"` + Name string `json:"name"` // SigningSecret Signing secret used for webhook request validation on the receiving end. // @@ -940,7 +964,7 @@ type NotificationChannelWebhook struct { Type NotificationChannelType `json:"type"` // UpdatedAt Timestamp when the channel was modified. - UpdatedAt *time.Time `json:"updatedAt,omitempty"` + UpdatedAt time.Time `json:"updatedAt"` // Url Webhook URL where the notification is sent. Url string `json:"url"` @@ -969,9 +993,24 @@ type NotificationChannelWebhookCreateRequest struct { Url string `json:"url"` } -// NotificationChannels defines model for NotificationChannels. +// NotificationChannels List of channels. type NotificationChannels = []NotificationChannel +// NotificationChannelsResponse defines model for NotificationChannelsResponse. +type NotificationChannelsResponse struct { + // Items List of channels. + Items NotificationChannels `json:"items"` + + // Page Current page number. + Page int `json:"page"` + + // PageSize Number of channels per page. + PageSize int `json:"pageSize"` + + // TotalCount Total number of channels. + TotalCount int `json:"totalCount"` +} + // NotificationEvent Notification event generated by the system based on the criteria defined in the corresponding // a notification rule. // @@ -988,9 +1027,7 @@ type NotificationEvent struct { // Payload The actual payload sent to channel as part of the notification event. Payload NotificationEventPayload `json:"payload"` - - // Rule Defines the common fields of a notification rule. - Rule *NotificationRuleMeta `json:"rule,omitempty"` + Rule NotificationRule `json:"rule"` } // NotificationEventBalanceThresholdPayload defines model for NotificationEventBalanceThresholdPayload. @@ -1053,6 +1090,24 @@ type NotificationEventPayload struct { // NotificationEventType The type of the notification event. type NotificationEventType string +// NotificationEvents List of notification events. +type NotificationEvents = []NotificationEvent + +// NotificationEventsResponse defines model for NotificationEventsResponse. +type NotificationEventsResponse struct { + // Items List of notification events. + Items NotificationEvents `json:"items"` + + // Page Current page number. + Page int `json:"page"` + + // PageSize Number of rules per page. + PageSize int `json:"pageSize"` + + // TotalCount Total number of rules. + TotalCount int `json:"totalCount"` +} + // NotificationRule defines model for NotificationRule. type NotificationRule struct { union json.RawMessage @@ -1061,13 +1116,16 @@ type NotificationRule struct { // NotificationRuleBalanceThreshold defines model for NotificationRuleBalanceThreshold. type NotificationRuleBalanceThreshold struct { // Channels List of notification channels the rule applies to. - Channels *[]NotificationChannelMeta `json:"channels,omitempty"` + Channels []NotificationChannelMeta `json:"channels"` // CreatedAt Timestamp when the rule was created. - CreatedAt *time.Time `json:"createdAt,omitempty"` + CreatedAt time.Time `json:"createdAt"` + + // DeletedAt Timestamp when the channel was deleted. + DeletedAt *time.Time `json:"deletedAt,omitempty"` // Disabled Whether the rule is disabled or not. - Disabled *bool `json:"disabled,omitempty"` + Disabled bool `json:"disabled"` // Features Optional field containing list of features the rule applies to. Features *[]FeatureMeta `json:"features"` @@ -1076,7 +1134,7 @@ type NotificationRuleBalanceThreshold struct { Id string `json:"id"` // Name The user friendly name of the notification rule. - Name *string `json:"name,omitempty"` + Name string `json:"name"` // Thresholds List of thresholds the rule suppose to be triggered. Thresholds []NotificationRuleBalanceThresholdValue `json:"thresholds"` @@ -1085,7 +1143,7 @@ type NotificationRuleBalanceThreshold struct { Type NotificationEventType `json:"type"` // UpdatedAt Timestamp when the rule was modified. - UpdatedAt *time.Time `json:"updatedAt,omitempty"` + UpdatedAt time.Time `json:"updatedAt"` } // NotificationRuleBalanceThresholdCreateRequest defines model for NotificationRuleBalanceThresholdCreateRequest. @@ -1121,25 +1179,28 @@ type NotificationRuleBalanceThresholdValueType string // NotificationRuleCommon defines model for NotificationRuleCommon. type NotificationRuleCommon struct { // Channels List of notification channels the rule applies to. - Channels *[]NotificationChannelMeta `json:"channels,omitempty"` + Channels []NotificationChannelMeta `json:"channels"` // CreatedAt Timestamp when the rule was created. - CreatedAt *time.Time `json:"createdAt,omitempty"` + CreatedAt time.Time `json:"createdAt"` + + // DeletedAt Timestamp when the channel was deleted. + DeletedAt *time.Time `json:"deletedAt,omitempty"` // Disabled Whether the rule is disabled or not. - Disabled *bool `json:"disabled,omitempty"` + Disabled bool `json:"disabled"` // Id A unique identifier for the notification rule. Id string `json:"id"` // Name The user friendly name of the notification rule. - Name *string `json:"name,omitempty"` + Name string `json:"name"` // Type The type of the notification event. Type NotificationEventType `json:"type"` // UpdatedAt Timestamp when the rule was modified. - UpdatedAt *time.Time `json:"updatedAt,omitempty"` + UpdatedAt time.Time `json:"updatedAt"` } // NotificationRuleCommonCreateRequest Defines the common fields for create notification rule request. @@ -1171,9 +1232,24 @@ type NotificationRuleMeta struct { Type NotificationEventType `json:"type"` } -// NotificationRules defines model for NotificationRules. +// NotificationRules List of rules. type NotificationRules = []NotificationRule +// NotificationRulesResponse defines model for NotificationRulesResponse. +type NotificationRulesResponse struct { + // Items List of rules. + Items NotificationRules `json:"items"` + + // Page Current page number. + Page int `json:"page"` + + // PageSize Number of rules per page. + PageSize int `json:"pageSize"` + + // TotalCount Total number of rules. + TotalCount int `json:"totalCount"` +} + // Period A time period type Period struct { // From Period start time where the amount was applied. If applicable. @@ -1307,6 +1383,9 @@ type MeterIdOrSlug = IdOrSlug // Order defines model for order. type Order string +// QueryFilterChannel defines model for queryFilterChannel. +type QueryFilterChannel = []string + // QueryFilterEntitlementType defines model for queryFilterEntitlementType. type QueryFilterEntitlementType = []string @@ -1553,33 +1632,57 @@ type QueryMeterParams struct { // ListNotificationChannelsParams defines parameters for ListNotificationChannels. type ListNotificationChannelsParams struct { - // Limit Number of entries to return - Limit *QueryLimit `form:"limit,omitempty" json:"limit,omitempty"` + // Page Page number to return + Page *QueryPage `form:"page,omitempty" json:"page,omitempty"` - // Offset Number of entries to skip - Offset *QueryOffset `form:"offset,omitempty" json:"offset,omitempty"` + // PageSize Number of entries to return per page + PageSize *QueryPageSize `form:"pageSize,omitempty" json:"pageSize,omitempty"` // OrderBy Order by field OrderBy *ListNotificationChannelsParamsOrderBy `form:"orderBy,omitempty" json:"orderBy,omitempty"` + // Order Order by field. + // + // Usage: `?order=ASC` + Order *ListNotificationChannelsParamsOrder `form:"order,omitempty" json:"order,omitempty"` + // IncludeDisabled Include disabled entries. IncludeDisabled *QueryIncludeDisabled `form:"includeDisabled,omitempty" json:"includeDisabled,omitempty"` + + // IncludeDeleted Include deleted entries. + IncludeDeleted *IncludeDeleted `form:"includeDeleted,omitempty" json:"includeDeleted,omitempty"` } // ListNotificationChannelsParamsOrderBy defines parameters for ListNotificationChannels. type ListNotificationChannelsParamsOrderBy string +// ListNotificationChannelsParamsOrder defines parameters for ListNotificationChannels. +type ListNotificationChannelsParamsOrder string + // ListNotificationEventsParams defines parameters for ListNotificationEvents. type ListNotificationEventsParams struct { - // Limit Number of entries to return - Limit *QueryLimit `form:"limit,omitempty" json:"limit,omitempty"` + // Page Page number to return + Page *QueryPage `form:"page,omitempty" json:"page,omitempty"` - // Offset Number of entries to skip - Offset *QueryOffset `form:"offset,omitempty" json:"offset,omitempty"` + // PageSize Number of entries to return per page + PageSize *QueryPageSize `form:"pageSize,omitempty" json:"pageSize,omitempty"` // OrderBy Order by field OrderBy *ListNotificationEventsParamsOrderBy `form:"orderBy,omitempty" json:"orderBy,omitempty"` + // Order Order by field. + // + // Usage: `?order=ASC` + Order *ListNotificationEventsParamsOrder `form:"order,omitempty" json:"order,omitempty"` + + // From Start date-time in RFC 3339 format. + // Inclusive. + From *QueryFrom `form:"from,omitempty" json:"from,omitempty"` + + // To End date-time in RFC 3339 format. + // Inclusive. + To *QueryTo `form:"to,omitempty" json:"to,omitempty"` + // Feature Filtering by multiple features. // // Usage: `?feature=feature-1&feature=feature-2` @@ -1594,29 +1697,48 @@ type ListNotificationEventsParams struct { // ListNotificationEventsParamsOrderBy defines parameters for ListNotificationEvents. type ListNotificationEventsParamsOrderBy string +// ListNotificationEventsParamsOrder defines parameters for ListNotificationEvents. +type ListNotificationEventsParamsOrder string + // ListNotificationRulesParams defines parameters for ListNotificationRules. type ListNotificationRulesParams struct { - // Limit Number of entries to return - Limit *QueryLimit `form:"limit,omitempty" json:"limit,omitempty"` + // Page Page number to return + Page *QueryPage `form:"page,omitempty" json:"page,omitempty"` - // Offset Number of entries to skip - Offset *QueryOffset `form:"offset,omitempty" json:"offset,omitempty"` + // PageSize Number of entries to return per page + PageSize *QueryPageSize `form:"pageSize,omitempty" json:"pageSize,omitempty"` // OrderBy Order by field OrderBy *ListNotificationRulesParamsOrderBy `form:"orderBy,omitempty" json:"orderBy,omitempty"` + // Order Order by field. + // + // Usage: `?order=ASC` + Order *ListNotificationRulesParamsOrder `form:"order,omitempty" json:"order,omitempty"` + // IncludeDisabled Include disabled entries. IncludeDisabled *QueryIncludeDisabled `form:"includeDisabled,omitempty" json:"includeDisabled,omitempty"` + // IncludeDeleted Include deleted entries. + IncludeDeleted *IncludeDeleted `form:"includeDeleted,omitempty" json:"includeDeleted,omitempty"` + // Feature Filtering by multiple features. // // Usage: `?feature=feature-1&feature=feature-2` Feature *QueryFilterFeature `form:"feature,omitempty" json:"feature,omitempty"` + + // Channel Filtering by multiple notification channels. + // + // Usage: `?channel=channel-1&channel=channel-2` + Channel *QueryFilterChannel `form:"channel,omitempty" json:"channel,omitempty"` } // ListNotificationRulesParamsOrderBy defines parameters for ListNotificationRules. type ListNotificationRulesParamsOrderBy string +// ListNotificationRulesParamsOrder defines parameters for ListNotificationRules. +type ListNotificationRulesParamsOrder string + // QueryPortalMeterParams defines parameters for QueryPortalMeter. type QueryPortalMeterParams struct { // From Start date-time in RFC 3339 format. @@ -4826,9 +4948,9 @@ func NewListNotificationChannelsRequest(server string, params *ListNotificationC if params != nil { queryValues := queryURL.Query() - if params.Limit != nil { + if params.Page != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "limit", runtime.ParamLocationQuery, *params.Limit); err != nil { + if queryFrag, err := runtime.StyleParamWithLocation("form", true, "page", runtime.ParamLocationQuery, *params.Page); err != nil { return nil, err } else if parsed, err := url.ParseQuery(queryFrag); err != nil { return nil, err @@ -4842,9 +4964,9 @@ func NewListNotificationChannelsRequest(server string, params *ListNotificationC } - if params.Offset != nil { + if params.PageSize != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "offset", runtime.ParamLocationQuery, *params.Offset); err != nil { + if queryFrag, err := runtime.StyleParamWithLocation("form", true, "pageSize", runtime.ParamLocationQuery, *params.PageSize); err != nil { return nil, err } else if parsed, err := url.ParseQuery(queryFrag); err != nil { return nil, err @@ -4874,6 +4996,22 @@ func NewListNotificationChannelsRequest(server string, params *ListNotificationC } + if params.Order != nil { + + if queryFrag, err := runtime.StyleParamWithLocation("form", true, "order", runtime.ParamLocationQuery, *params.Order); err != nil { + return nil, err + } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + return nil, err + } else { + for k, v := range parsed { + for _, v2 := range v { + queryValues.Add(k, v2) + } + } + } + + } + if params.IncludeDisabled != nil { if queryFrag, err := runtime.StyleParamWithLocation("form", true, "includeDisabled", runtime.ParamLocationQuery, *params.IncludeDisabled); err != nil { @@ -4890,6 +5028,22 @@ func NewListNotificationChannelsRequest(server string, params *ListNotificationC } + if params.IncludeDeleted != nil { + + if queryFrag, err := runtime.StyleParamWithLocation("form", true, "includeDeleted", runtime.ParamLocationQuery, *params.IncludeDeleted); err != nil { + return nil, err + } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + return nil, err + } else { + for k, v := range parsed { + for _, v2 := range v { + queryValues.Add(k, v2) + } + } + } + + } + queryURL.RawQuery = queryValues.Encode() } @@ -5078,9 +5232,9 @@ func NewListNotificationEventsRequest(server string, params *ListNotificationEve if params != nil { queryValues := queryURL.Query() - if params.Limit != nil { + if params.Page != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "limit", runtime.ParamLocationQuery, *params.Limit); err != nil { + if queryFrag, err := runtime.StyleParamWithLocation("form", true, "page", runtime.ParamLocationQuery, *params.Page); err != nil { return nil, err } else if parsed, err := url.ParseQuery(queryFrag); err != nil { return nil, err @@ -5094,9 +5248,9 @@ func NewListNotificationEventsRequest(server string, params *ListNotificationEve } - if params.Offset != nil { + if params.PageSize != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "offset", runtime.ParamLocationQuery, *params.Offset); err != nil { + if queryFrag, err := runtime.StyleParamWithLocation("form", true, "pageSize", runtime.ParamLocationQuery, *params.PageSize); err != nil { return nil, err } else if parsed, err := url.ParseQuery(queryFrag); err != nil { return nil, err @@ -5126,6 +5280,54 @@ func NewListNotificationEventsRequest(server string, params *ListNotificationEve } + if params.Order != nil { + + if queryFrag, err := runtime.StyleParamWithLocation("form", true, "order", runtime.ParamLocationQuery, *params.Order); err != nil { + return nil, err + } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + return nil, err + } else { + for k, v := range parsed { + for _, v2 := range v { + queryValues.Add(k, v2) + } + } + } + + } + + if params.From != nil { + + if queryFrag, err := runtime.StyleParamWithLocation("form", true, "from", runtime.ParamLocationQuery, *params.From); err != nil { + return nil, err + } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + return nil, err + } else { + for k, v := range parsed { + for _, v2 := range v { + queryValues.Add(k, v2) + } + } + } + + } + + if params.To != nil { + + if queryFrag, err := runtime.StyleParamWithLocation("form", true, "to", runtime.ParamLocationQuery, *params.To); err != nil { + return nil, err + } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + return nil, err + } else { + for k, v := range parsed { + for _, v2 := range v { + queryValues.Add(k, v2) + } + } + } + + } + if params.Feature != nil { if queryFrag, err := runtime.StyleParamWithLocation("form", true, "feature", runtime.ParamLocationQuery, *params.Feature); err != nil { @@ -5225,9 +5427,9 @@ func NewListNotificationRulesRequest(server string, params *ListNotificationRule if params != nil { queryValues := queryURL.Query() - if params.Limit != nil { + if params.Page != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "limit", runtime.ParamLocationQuery, *params.Limit); err != nil { + if queryFrag, err := runtime.StyleParamWithLocation("form", true, "page", runtime.ParamLocationQuery, *params.Page); err != nil { return nil, err } else if parsed, err := url.ParseQuery(queryFrag); err != nil { return nil, err @@ -5241,9 +5443,9 @@ func NewListNotificationRulesRequest(server string, params *ListNotificationRule } - if params.Offset != nil { + if params.PageSize != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "offset", runtime.ParamLocationQuery, *params.Offset); err != nil { + if queryFrag, err := runtime.StyleParamWithLocation("form", true, "pageSize", runtime.ParamLocationQuery, *params.PageSize); err != nil { return nil, err } else if parsed, err := url.ParseQuery(queryFrag); err != nil { return nil, err @@ -5273,6 +5475,22 @@ func NewListNotificationRulesRequest(server string, params *ListNotificationRule } + if params.Order != nil { + + if queryFrag, err := runtime.StyleParamWithLocation("form", true, "order", runtime.ParamLocationQuery, *params.Order); err != nil { + return nil, err + } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + return nil, err + } else { + for k, v := range parsed { + for _, v2 := range v { + queryValues.Add(k, v2) + } + } + } + + } + if params.IncludeDisabled != nil { if queryFrag, err := runtime.StyleParamWithLocation("form", true, "includeDisabled", runtime.ParamLocationQuery, *params.IncludeDisabled); err != nil { @@ -5289,6 +5507,22 @@ func NewListNotificationRulesRequest(server string, params *ListNotificationRule } + if params.IncludeDeleted != nil { + + if queryFrag, err := runtime.StyleParamWithLocation("form", true, "includeDeleted", runtime.ParamLocationQuery, *params.IncludeDeleted); err != nil { + return nil, err + } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + return nil, err + } else { + for k, v := range parsed { + for _, v2 := range v { + queryValues.Add(k, v2) + } + } + } + + } + if params.Feature != nil { if queryFrag, err := runtime.StyleParamWithLocation("form", true, "feature", runtime.ParamLocationQuery, *params.Feature); err != nil { @@ -5305,6 +5539,22 @@ func NewListNotificationRulesRequest(server string, params *ListNotificationRule } + if params.Channel != nil { + + if queryFrag, err := runtime.StyleParamWithLocation("form", true, "channel", runtime.ParamLocationQuery, *params.Channel); err != nil { + return nil, err + } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + return nil, err + } else { + for k, v := range parsed { + for _, v2 := range v { + queryValues.Add(k, v2) + } + } + } + + } + queryURL.RawQuery = queryValues.Encode() } @@ -7049,7 +7299,7 @@ func (r ListMeterSubjectsResponse) StatusCode() int { type ListNotificationChannelsResponse struct { Body []byte HTTPResponse *http.Response - JSON200 *NotificationChannels + JSON200 *NotificationChannelsResponse ApplicationproblemJSON400 *BadRequestProblemResponse ApplicationproblemJSON401 *UnauthorizedProblemResponse ApplicationproblemJSONDefault *UnexpectedProblemResponse @@ -7174,7 +7424,7 @@ func (r UpdateNotificationChannelResponse) StatusCode() int { type ListNotificationEventsResponse struct { Body []byte HTTPResponse *http.Response - JSON200 *[]NotificationEvent + JSON200 *NotificationEventsResponse ApplicationproblemJSON400 *BadRequestProblemResponse ApplicationproblemJSON401 *UnauthorizedProblemResponse ApplicationproblemJSONDefault *UnexpectedProblemResponse @@ -7226,7 +7476,7 @@ func (r GetNotificationEventResponse) StatusCode() int { type ListNotificationRulesResponse struct { Body []byte HTTPResponse *http.Response - JSON200 *NotificationRules + JSON200 *NotificationRulesResponse ApplicationproblemJSON400 *BadRequestProblemResponse ApplicationproblemJSON401 *UnauthorizedProblemResponse ApplicationproblemJSONDefault *UnexpectedProblemResponse @@ -9086,7 +9336,7 @@ func ParseListNotificationChannelsResponse(rsp *http.Response) (*ListNotificatio switch { case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: - var dest NotificationChannels + var dest NotificationChannelsResponse if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } @@ -9321,7 +9571,7 @@ func ParseListNotificationEventsResponse(rsp *http.Response) (*ListNotificationE switch { case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: - var dest []NotificationEvent + var dest NotificationEventsResponse if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } @@ -9417,7 +9667,7 @@ func ParseListNotificationRulesResponse(rsp *http.Response) (*ListNotificationRu switch { case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: - var dest NotificationRules + var dest NotificationRulesResponse if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } @@ -10474,290 +10724,292 @@ func ParseResetEntitlementUsageResponse(rsp *http.Response) (*ResetEntitlementUs // Base64 encoded, gzipped, json marshaled Swagger object var swaggerSpec = []string{ - "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", - "/SOEAQA=", + "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", } // GetSwagger returns the content of the embedded swagger specification file diff --git a/api/openapi.yaml b/api/openapi.yaml index 8da9554b5..34c110162 100644 --- a/api/openapi.yaml +++ b/api/openapi.yaml @@ -1279,8 +1279,8 @@ paths: tags: - Notification (Experimental) parameters: - - $ref: "#/components/parameters/queryLimit" - - $ref: "#/components/parameters/queryOffset" + - $ref: "#/components/parameters/queryPage" + - $ref: "#/components/parameters/queryPageSize" - name: orderBy in: query required: false @@ -1293,14 +1293,16 @@ paths: - createdAt - updatedAt default: id + - $ref: "#/components/parameters/order" - $ref: "#/components/parameters/queryIncludeDisabled" + - $ref: "#/components/parameters/includeDeleted" responses: "200": description: List of notification channels. content: application/json: schema: - $ref: "#/components/schemas/NotificationChannels" + $ref: "#/components/schemas/NotificationChannelsResponse" "400": $ref: "#/components/responses/BadRequestProblemResponse" "401": @@ -1419,8 +1421,8 @@ paths: tags: - Notification (Experimental) parameters: - - $ref: "#/components/parameters/queryLimit" - - $ref: "#/components/parameters/queryOffset" + - $ref: "#/components/parameters/queryPage" + - $ref: "#/components/parameters/queryPageSize" - name: orderBy in: query required: false @@ -1433,15 +1435,18 @@ paths: - createdAt - updatedAt default: id + - $ref: "#/components/parameters/order" - $ref: "#/components/parameters/queryIncludeDisabled" + - $ref: "#/components/parameters/includeDeleted" - $ref: "#/components/parameters/queryFilterFeature" + - $ref: "#/components/parameters/queryFilterChannel" responses: "200": description: List of notification rules. content: application/json: schema: - $ref: "#/components/schemas/NotificationRules" + $ref: "#/components/schemas/NotificationRulesResponse" "400": $ref: "#/components/responses/BadRequestProblemResponse" "401": @@ -1560,8 +1565,8 @@ paths: tags: - Notification (Experimental) parameters: - - $ref: "#/components/parameters/queryLimit" - - $ref: "#/components/parameters/queryOffset" + - $ref: "#/components/parameters/queryPage" + - $ref: "#/components/parameters/queryPageSize" - name: orderBy in: query required: false @@ -1571,7 +1576,10 @@ paths: enum: - id - createdAt - default: id + default: createdAt + - $ref: "#/components/parameters/order" + - $ref: "#/components/parameters/queryFrom" + - $ref: "#/components/parameters/queryTo" - $ref: "#/components/parameters/queryFilterFeature" - $ref: "#/components/parameters/queryFilterSubject" responses: @@ -1580,9 +1588,7 @@ paths: content: application/json: schema: - type: array - items: - $ref: "#/components/schemas/NotificationEvent" + $ref: "#/components/schemas/NotificationEventsResponse" "400": $ref: "#/components/responses/BadRequestProblemResponse" "401": @@ -2892,10 +2898,34 @@ components: WEBHOOK: "#/components/schemas/NotificationChannelWebhook" NotificationChannels: + description: List of channels. type: array items: $ref: "#/components/schemas/NotificationChannel" + NotificationChannelsResponse: + type: object + required: + - totalCount + - page + - pageSize + - items + properties: + totalCount: + type: integer + description: Total number of channels. + example: 500 + page: + type: integer + description: Current page number. + example: 1 + pageSize: + type: integer + description: Number of channels per page. + example: 100 + items: + $ref: "#/components/schemas/NotificationChannels" + NotificationChannelWebhookCreateRequest: allOf: - $ref: "#/components/schemas/NotificationChannelCommonCreateRequest" @@ -3001,6 +3031,11 @@ components: allOf: - $ref: "#/components/schemas/NotificationChannelMeta" - type: object + required: + - name + - createdAt + - updatedAt + - disabled properties: name: description: User friendly name of the channel. @@ -3015,7 +3050,11 @@ components: description: Timestamp when the channel was modified. type: string format: date-time - readOnly: true + example: "2023-01-02T00:00:00Z" + deletedAt: + description: Timestamp when the channel was deleted. + type: string + format: date-time example: "2023-01-02T00:00:00Z" disabled: description: Whether the channel is disabled or not. @@ -3040,10 +3079,34 @@ components: entitlements.balance.threshold: "#/components/schemas/NotificationRuleBalanceThreshold" NotificationRules: + description: List of rules. type: array items: $ref: "#/components/schemas/NotificationRule" + NotificationRulesResponse: + type: object + required: + - totalCount + - page + - pageSize + - items + properties: + totalCount: + type: integer + description: Total number of rules. + example: 500 + page: + type: integer + description: Current page number. + example: 1 + pageSize: + type: integer + description: Number of rules per page. + example: 100 + items: + $ref: "#/components/schemas/NotificationRules" + NotificationRuleBalanceThresholdCreateRequest: description: | Request for creating new notification rule for triggering notification events base on conditions @@ -3178,6 +3241,12 @@ components: - $ref: "#/components/schemas/NotificationRuleMeta" - type: object description: Defines the common fields of a notification rule. + required: + - name + - channels + - createdAt + - updatedAt + - disabled properties: name: type: string @@ -3198,6 +3267,11 @@ components: type: string format: date-time example: "2023-01-02T00:00:00Z" + deletedAt: + description: Timestamp when the channel was deleted. + type: string + format: date-time + example: "2023-01-02T00:00:00Z" disabled: description: Whether the rule is disabled or not. type: boolean @@ -3214,7 +3288,7 @@ components: required: - id - createdAt - - ruleId + - rule - deliveryStatus - payload properties: @@ -3228,7 +3302,7 @@ components: format: date-time example: "2023-01-01T00:00:00Z" rule: - $ref: "#/components/schemas/NotificationRuleMeta" + $ref: "#/components/schemas/NotificationRule" deliveryStatus: description: The delivery status of the notification event. type: array @@ -3316,6 +3390,35 @@ components: format: date-time example: "2023-01-01T00:00:00Z" + NotificationEvents: + description: List of notification events. + type: array + items: + $ref: "#/components/schemas/NotificationEvent" + + NotificationEventsResponse: + type: object + required: + - totalCount + - page + - pageSize + - items + properties: + totalCount: + type: integer + description: Total number of rules. + example: 500 + page: + type: integer + description: Current page number. + example: 1 + pageSize: + type: integer + description: Number of rules per page. + example: 100 + items: + $ref: "#/components/schemas/NotificationEvents" + parameters: meterIdOrSlug: name: meterIdOrSlug @@ -3503,6 +3606,18 @@ components: type: array items: type: string + queryFilterChannel: + name: channel + description: | + Filtering by multiple notification channels. + + Usage: `?channel=channel-1&channel=channel-2` + in: query + required: false + schema: + type: array + items: + type: string queryFilterGroupBy: name: filterGroupBy in: query