// @generated by protoc-gen-es v2.11.0 with parameter "target=ts,import_extension=ts" // @generated from file openstatus/notification/v1/service.proto (package openstatus.notification.v1, syntax proto3) /* eslint-disable */ import type { GenFile, GenMessage, GenService, } from "@bufbuild/protobuf/codegenv2"; import { fileDesc, messageDesc, serviceDesc, } from "@bufbuild/protobuf/codegenv2"; import { file_buf_validate_validate } from "../../../buf/validate/validate_pb.ts"; import { file_gnostic_openapi_v3_annotations } from "../../../gnostic/openapi/v3/annotations_pb.ts"; import type { Notification, NotificationSummary } from "./notification_pb.ts"; import { file_openstatus_notification_v1_notification } from "./notification_pb.ts"; import type { NotificationData, NotificationProvider } from "./providers_pb.ts"; import { file_openstatus_notification_v1_providers } from "./providers_pb.ts"; import type { Message } from "@bufbuild/protobuf"; /** * Describes the file openstatus/notification/v1/service.proto. */ export const file_openstatus_notification_v1_service: GenFile = /*@__PURE__*/ fileDesc( "CihvcGVuc3RhdHVzL25vdGlmaWNhdGlvbi92MS9zZXJ2aWNlLnByb3RvEhpvcGVuc3RhdHVzLm5vdGlmaWNhdGlvbi52MSLzAQoZQ3JlYXRlTm90aWZpY2F0aW9uUmVxdWVzdBItCgRuYW1lGAEgASgJQh+6RxU6ExIRU2xhY2sgT3BzIENoYW5uZWy6SARyAhABEk4KCHByb3ZpZGVyGAIgASgOMjAub3BlbnN0YXR1cy5ub3RpZmljYXRpb24udjEuTm90aWZpY2F0aW9uUHJvdmlkZXJCCrpIB4IBBBABIAASQgoEZGF0YRgDIAEoCzIsLm9wZW5zdGF0dXMubm90aWZpY2F0aW9uLnYxLk5vdGlmaWNhdGlvbkRhdGFCBrpIA8gBARITCgttb25pdG9yX2lkcxgEIAMoCSJcChpDcmVhdGVOb3RpZmljYXRpb25SZXNwb25zZRI+Cgxub3RpZmljYXRpb24YASABKAsyKC5vcGVuc3RhdHVzLm5vdGlmaWNhdGlvbi52MS5Ob3RpZmljYXRpb24iLQoWR2V0Tm90aWZpY2F0aW9uUmVxdWVzdBITCgJpZBgBIAEoCUIHukgEcgIQASJZChdHZXROb3RpZmljYXRpb25SZXNwb25zZRI+Cgxub3RpZmljYXRpb24YASABKAsyKC5vcGVuc3RhdHVzLm5vdGlmaWNhdGlvbi52MS5Ob3RpZmljYXRpb24ibAoYTGlzdE5vdGlmaWNhdGlvbnNSZXF1ZXN0Eh0KBWxpbWl0GAEgASgFQgm6SAYaBBhkKAFIAIgBARIcCgZvZmZzZXQYAiABKAVCB7pIBBoCKABIAYgBAUIICgZfbGltaXRCCQoHX29mZnNldCJ3ChlMaXN0Tm90aWZpY2F0aW9uc1Jlc3BvbnNlEkYKDW5vdGlmaWNhdGlvbnMYASADKAsyLy5vcGVuc3RhdHVzLm5vdGlmaWNhdGlvbi52MS5Ob3RpZmljYXRpb25TdW1tYXJ5EhIKCnRvdGFsX3NpemUYAiABKAUi4wEKGVVwZGF0ZU5vdGlmaWNhdGlvblJlcXVlc3QSEwoCaWQYASABKAlCB7pIBHICEAESEQoEbmFtZRgCIAEoCUgAiAEBEj8KBGRhdGEYAyABKAsyLC5vcGVuc3RhdHVzLm5vdGlmaWNhdGlvbi52MS5Ob3RpZmljYXRpb25EYXRhSAGIAQESEwoLbW9uaXRvcl9pZHMYBCADKAkSHwoSdXBkYXRlX21vbml0b3JfaWRzGAUgASgISAKIAQFCBwoFX25hbWVCBwoFX2RhdGFCFQoTX3VwZGF0ZV9tb25pdG9yX2lkcyJcChpVcGRhdGVOb3RpZmljYXRpb25SZXNwb25zZRI+Cgxub3RpZmljYXRpb24YASABKAsyKC5vcGVuc3RhdHVzLm5vdGlmaWNhdGlvbi52MS5Ob3RpZmljYXRpb24iMAoZRGVsZXRlTm90aWZpY2F0aW9uUmVxdWVzdBITCgJpZBgBIAEoCUIHukgEcgIQASItChpEZWxldGVOb3RpZmljYXRpb25SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIrEBChtTZW5kVGVzdE5vdGlmaWNhdGlvblJlcXVlc3QSTgoIcHJvdmlkZXIYASABKA4yMC5vcGVuc3RhdHVzLm5vdGlmaWNhdGlvbi52MS5Ob3RpZmljYXRpb25Qcm92aWRlckIKukgHggEEEAEgABJCCgRkYXRhGAIgASgLMiwub3BlbnN0YXR1cy5ub3RpZmljYXRpb24udjEuTm90aWZpY2F0aW9uRGF0YUIGukgDyAEBIl0KHFNlbmRUZXN0Tm90aWZpY2F0aW9uUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIaCg1lcnJvcl9tZXNzYWdlGAIgASgJSACIAQFCEAoOX2Vycm9yX21lc3NhZ2UiHwodQ2hlY2tOb3RpZmljYXRpb25MaW1pdFJlcXVlc3QiYQoeQ2hlY2tOb3RpZmljYXRpb25MaW1pdFJlc3BvbnNlEhUKDWxpbWl0X3JlYWNoZWQYASABKAgSFQoNY3VycmVudF9jb3VudBgCIAEoBRIRCgltYXhfY291bnQYAyABKAUy8QkKE05vdGlmaWNhdGlvblNlcnZpY2USgwEKEkNyZWF0ZU5vdGlmaWNhdGlvbhI1Lm9wZW5zdGF0dXMubm90aWZpY2F0aW9uLnYxLkNyZWF0ZU5vdGlmaWNhdGlvblJlcXVlc3QaNi5vcGVuc3RhdHVzLm5vdGlmaWNhdGlvbi52MS5DcmVhdGVOb3RpZmljYXRpb25SZXNwb25zZRJ/Cg9HZXROb3RpZmljYXRpb24SMi5vcGVuc3RhdHVzLm5vdGlmaWNhdGlvbi52MS5HZXROb3RpZmljYXRpb25SZXF1ZXN0GjMub3BlbnN0YXR1cy5ub3RpZmljYXRpb24udjEuR2V0Tm90aWZpY2F0aW9uUmVzcG9uc2UiA5ACARKFAQoRTGlzdE5vdGlmaWNhdGlvbnMSNC5vcGVuc3RhdHVzLm5vdGlmaWNhdGlvbi52MS5MaXN0Tm90aWZpY2F0aW9uc1JlcXVlc3QaNS5vcGVuc3RhdHVzLm5vdGlmaWNhdGlvbi52MS5MaXN0Tm90aWZpY2F0aW9uc1Jlc3BvbnNlIgOQAgESgwEKElVwZGF0ZU5vdGlmaWNhdGlvbhI1Lm9wZW5zdGF0dXMubm90aWZpY2F0aW9uLnYxLlVwZGF0ZU5vdGlmaWNhdGlvblJlcXVlc3QaNi5vcGVuc3RhdHVzLm5vdGlmaWNhdGlvbi52MS5VcGRhdGVOb3RpZmljYXRpb25SZXNwb25zZRKDAQoSRGVsZXRlTm90aWZpY2F0aW9uEjUub3BlbnN0YXR1cy5ub3RpZmljYXRpb24udjEuRGVsZXRlTm90aWZpY2F0aW9uUmVxdWVzdBo2Lm9wZW5zdGF0dXMubm90aWZpY2F0aW9uLnYxLkRlbGV0ZU5vdGlmaWNhdGlvblJlc3BvbnNlEqcDChRTZW5kVGVzdE5vdGlmaWNhdGlvbhI3Lm9wZW5zdGF0dXMubm90aWZpY2F0aW9uLnYxLlNlbmRUZXN0Tm90aWZpY2F0aW9uUmVxdWVzdBo4Lm9wZW5zdGF0dXMubm90aWZpY2F0aW9uLnYxLlNlbmRUZXN0Tm90aWZpY2F0aW9uUmVzcG9uc2UimwK6R5cCGpQCU2VuZHMgYSB0ZXN0IG5vdGlmaWNhdGlvbiB0byB0aGUgc3BlY2lmaWVkIHByb3ZpZGVyIHRvIHZlcmlmeSB0aGF0IHRoZSBjb25maWd1cmF0aW9uIGlzIGNvcnJlY3QuIFRoaXMgZG9lcyBub3QgcmVxdWlyZSBhbiBleGlzdGluZyBub3RpZmljYXRpb24gY2hhbm5lbCAtIGp1c3QgcHJvdmlkZSB0aGUgcHJvdmlkZXIgdHlwZSBhbmQgaXRzIGNvbmZpZ3VyYXRpb24gZGF0YS4gUmV0dXJucyBzdWNjZXNzIHN0YXR1cyBhbmQgYW4gZXJyb3IgbWVzc2FnZSBpZiB0aGUgdGVzdCBmYWlsZWQuEpQBChZDaGVja05vdGlmaWNhdGlvbkxpbWl0Ejkub3BlbnN0YXR1cy5ub3RpZmljYXRpb24udjEuQ2hlY2tOb3RpZmljYXRpb25MaW1pdFJlcXVlc3QaOi5vcGVuc3RhdHVzLm5vdGlmaWNhdGlvbi52MS5DaGVja05vdGlmaWNhdGlvbkxpbWl0UmVzcG9uc2UiA5ACAUJdWltnaXRodWIuY29tL29wZW5zdGF0dXNocS9vcGVuc3RhdHVzL3BhY2thZ2VzL3Byb3RvL29wZW5zdGF0dXMvbm90aWZpY2F0aW9uL3YxO25vdGlmaWNhdGlvbnYxYgZwcm90bzM", [ file_buf_validate_validate, file_gnostic_openapi_v3_annotations, file_openstatus_notification_v1_notification, file_openstatus_notification_v1_providers, ], ); /** * CreateNotificationRequest is the request to create a new notification channel. * * @generated from message openstatus.notification.v1.CreateNotificationRequest */ export type CreateNotificationRequest = & Message<"openstatus.notification.v1.CreateNotificationRequest"> & { /** * Display name for the notification channel. * * @generated from field: string name = 1; */ name: string; /** * Provider type. * * @generated from field: openstatus.notification.v1.NotificationProvider provider = 2; */ provider: NotificationProvider; /** * Provider-specific configuration. * * @generated from field: openstatus.notification.v1.NotificationData data = 3; */ data?: NotificationData; /** * IDs of monitors to associate with this notification. * * @generated from field: repeated string monitor_ids = 4; */ monitorIds: string[]; }; /** * Describes the message openstatus.notification.v1.CreateNotificationRequest. * Use `create(CreateNotificationRequestSchema)` to create a new message. */ export const CreateNotificationRequestSchema: GenMessage< CreateNotificationRequest > = /*@__PURE__*/ messageDesc(file_openstatus_notification_v1_service, 0); /** * CreateNotificationResponse is the response after creating a notification channel. * * @generated from message openstatus.notification.v1.CreateNotificationResponse */ export type CreateNotificationResponse = & Message<"openstatus.notification.v1.CreateNotificationResponse"> & { /** * The created notification channel. * * @generated from field: openstatus.notification.v1.Notification notification = 1; */ notification?: Notification; }; /** * Describes the message openstatus.notification.v1.CreateNotificationResponse. * Use `create(CreateNotificationResponseSchema)` to create a new message. */ export const CreateNotificationResponseSchema: GenMessage< CreateNotificationResponse > = /*@__PURE__*/ messageDesc(file_openstatus_notification_v1_service, 1); /** * GetNotificationRequest is the request to get a notification channel. * * @generated from message openstatus.notification.v1.GetNotificationRequest */ export type GetNotificationRequest = & Message<"openstatus.notification.v1.GetNotificationRequest"> & { /** * Notification ID to retrieve (required). * * @generated from field: string id = 1; */ id: string; }; /** * Describes the message openstatus.notification.v1.GetNotificationRequest. * Use `create(GetNotificationRequestSchema)` to create a new message. */ export const GetNotificationRequestSchema: GenMessage< GetNotificationRequest > = /*@__PURE__*/ messageDesc(file_openstatus_notification_v1_service, 2); /** * GetNotificationResponse is the response containing the notification channel. * * @generated from message openstatus.notification.v1.GetNotificationResponse */ export type GetNotificationResponse = & Message<"openstatus.notification.v1.GetNotificationResponse"> & { /** * The notification channel. * * @generated from field: openstatus.notification.v1.Notification notification = 1; */ notification?: Notification; }; /** * Describes the message openstatus.notification.v1.GetNotificationResponse. * Use `create(GetNotificationResponseSchema)` to create a new message. */ export const GetNotificationResponseSchema: GenMessage< GetNotificationResponse > = /*@__PURE__*/ messageDesc(file_openstatus_notification_v1_service, 3); /** * ListNotificationsRequest is the request to list notification channels. * * @generated from message openstatus.notification.v1.ListNotificationsRequest */ export type ListNotificationsRequest = & Message<"openstatus.notification.v1.ListNotificationsRequest"> & { /** * Maximum number of notifications to return (1-100, defaults to 50). * * @generated from field: optional int32 limit = 1; */ limit?: number; /** * Number of notifications to skip for pagination (defaults to 0). * * @generated from field: optional int32 offset = 2; */ offset?: number; }; /** * Describes the message openstatus.notification.v1.ListNotificationsRequest. * Use `create(ListNotificationsRequestSchema)` to create a new message. */ export const ListNotificationsRequestSchema: GenMessage< ListNotificationsRequest > = /*@__PURE__*/ messageDesc(file_openstatus_notification_v1_service, 4); /** * ListNotificationsResponse is the response containing notification channels. * * @generated from message openstatus.notification.v1.ListNotificationsResponse */ export type ListNotificationsResponse = & Message<"openstatus.notification.v1.ListNotificationsResponse"> & { /** * Notification channel summaries. * * @generated from field: repeated openstatus.notification.v1.NotificationSummary notifications = 1; */ notifications: NotificationSummary[]; /** * Total number of notification channels. * * @generated from field: int32 total_size = 2; */ totalSize: number; }; /** * Describes the message openstatus.notification.v1.ListNotificationsResponse. * Use `create(ListNotificationsResponseSchema)` to create a new message. */ export const ListNotificationsResponseSchema: GenMessage< ListNotificationsResponse > = /*@__PURE__*/ messageDesc(file_openstatus_notification_v1_service, 5); /** * UpdateNotificationRequest is the request to update a notification channel. * * @generated from message openstatus.notification.v1.UpdateNotificationRequest */ export type UpdateNotificationRequest = & Message<"openstatus.notification.v1.UpdateNotificationRequest"> & { /** * Notification ID to update (required). * * @generated from field: string id = 1; */ id: string; /** * Updated display name. * * @generated from field: optional string name = 2; */ name?: string; /** * Updated provider-specific configuration. * * @generated from field: optional openstatus.notification.v1.NotificationData data = 3; */ data?: NotificationData; /** * Updated monitor IDs to associate. * * @generated from field: repeated string monitor_ids = 4; */ monitorIds: string[]; /** * Set to true to update monitor associations. * When true, monitor_ids replaces the existing list (empty clears all). * When false or unset, monitor_ids is ignored and existing associations are preserved. * * @generated from field: optional bool update_monitor_ids = 5; */ updateMonitorIds?: boolean; }; /** * Describes the message openstatus.notification.v1.UpdateNotificationRequest. * Use `create(UpdateNotificationRequestSchema)` to create a new message. */ export const UpdateNotificationRequestSchema: GenMessage< UpdateNotificationRequest > = /*@__PURE__*/ messageDesc(file_openstatus_notification_v1_service, 6); /** * UpdateNotificationResponse is the response after updating a notification channel. * * @generated from message openstatus.notification.v1.UpdateNotificationResponse */ export type UpdateNotificationResponse = & Message<"openstatus.notification.v1.UpdateNotificationResponse"> & { /** * The updated notification channel. * * @generated from field: openstatus.notification.v1.Notification notification = 1; */ notification?: Notification; }; /** * Describes the message openstatus.notification.v1.UpdateNotificationResponse. * Use `create(UpdateNotificationResponseSchema)` to create a new message. */ export const UpdateNotificationResponseSchema: GenMessage< UpdateNotificationResponse > = /*@__PURE__*/ messageDesc(file_openstatus_notification_v1_service, 7); /** * DeleteNotificationRequest is the request to delete a notification channel. * * @generated from message openstatus.notification.v1.DeleteNotificationRequest */ export type DeleteNotificationRequest = & Message<"openstatus.notification.v1.DeleteNotificationRequest"> & { /** * Notification ID to delete (required). * * @generated from field: string id = 1; */ id: string; }; /** * Describes the message openstatus.notification.v1.DeleteNotificationRequest. * Use `create(DeleteNotificationRequestSchema)` to create a new message. */ export const DeleteNotificationRequestSchema: GenMessage< DeleteNotificationRequest > = /*@__PURE__*/ messageDesc(file_openstatus_notification_v1_service, 8); /** * DeleteNotificationResponse is the response after deleting a notification channel. * * @generated from message openstatus.notification.v1.DeleteNotificationResponse */ export type DeleteNotificationResponse = & Message<"openstatus.notification.v1.DeleteNotificationResponse"> & { /** * Whether the deletion was successful. * * @generated from field: bool success = 1; */ success: boolean; }; /** * Describes the message openstatus.notification.v1.DeleteNotificationResponse. * Use `create(DeleteNotificationResponseSchema)` to create a new message. */ export const DeleteNotificationResponseSchema: GenMessage< DeleteNotificationResponse > = /*@__PURE__*/ messageDesc(file_openstatus_notification_v1_service, 9); /** * SendTestNotificationRequest is the request to send a test notification. * * @generated from message openstatus.notification.v1.SendTestNotificationRequest */ export type SendTestNotificationRequest = & Message<"openstatus.notification.v1.SendTestNotificationRequest"> & { /** * Provider type. * * @generated from field: openstatus.notification.v1.NotificationProvider provider = 1; */ provider: NotificationProvider; /** * Provider-specific configuration. * * @generated from field: openstatus.notification.v1.NotificationData data = 2; */ data?: NotificationData; }; /** * Describes the message openstatus.notification.v1.SendTestNotificationRequest. * Use `create(SendTestNotificationRequestSchema)` to create a new message. */ export const SendTestNotificationRequestSchema: GenMessage< SendTestNotificationRequest > = /*@__PURE__*/ messageDesc(file_openstatus_notification_v1_service, 10); /** * SendTestNotificationResponse is the response after sending a test notification. * * @generated from message openstatus.notification.v1.SendTestNotificationResponse */ export type SendTestNotificationResponse = & Message<"openstatus.notification.v1.SendTestNotificationResponse"> & { /** * Whether the test was successful. * * @generated from field: bool success = 1; */ success: boolean; /** * Optional error message if the test failed. * * @generated from field: optional string error_message = 2; */ errorMessage?: string; }; /** * Describes the message openstatus.notification.v1.SendTestNotificationResponse. * Use `create(SendTestNotificationResponseSchema)` to create a new message. */ export const SendTestNotificationResponseSchema: GenMessage< SendTestNotificationResponse > = /*@__PURE__*/ messageDesc(file_openstatus_notification_v1_service, 11); /** * CheckNotificationLimitRequest is the request to check notification limits. * * @generated from message openstatus.notification.v1.CheckNotificationLimitRequest */ export type CheckNotificationLimitRequest = & Message<"openstatus.notification.v1.CheckNotificationLimitRequest"> & {}; /** * Describes the message openstatus.notification.v1.CheckNotificationLimitRequest. * Use `create(CheckNotificationLimitRequestSchema)` to create a new message. */ export const CheckNotificationLimitRequestSchema: GenMessage< CheckNotificationLimitRequest > = /*@__PURE__*/ messageDesc(file_openstatus_notification_v1_service, 12); /** * CheckNotificationLimitResponse is the response containing limit information. * * @generated from message openstatus.notification.v1.CheckNotificationLimitResponse */ export type CheckNotificationLimitResponse = & Message<"openstatus.notification.v1.CheckNotificationLimitResponse"> & { /** * Whether the workspace has reached its notification limit. * * @generated from field: bool limit_reached = 1; */ limitReached: boolean; /** * Current number of notification channels. * * @generated from field: int32 current_count = 2; */ currentCount: number; /** * Maximum allowed notification channels. * * @generated from field: int32 max_count = 3; */ maxCount: number; }; /** * Describes the message openstatus.notification.v1.CheckNotificationLimitResponse. * Use `create(CheckNotificationLimitResponseSchema)` to create a new message. */ export const CheckNotificationLimitResponseSchema: GenMessage< CheckNotificationLimitResponse > = /*@__PURE__*/ messageDesc(file_openstatus_notification_v1_service, 13); /** * NotificationService provides CRUD operations for notification channels. * * @generated from service openstatus.notification.v1.NotificationService */ export const NotificationService: GenService<{ /** * CreateNotification creates a new notification channel. * * @generated from rpc openstatus.notification.v1.NotificationService.CreateNotification */ createNotification: { methodKind: "unary"; input: typeof CreateNotificationRequestSchema; output: typeof CreateNotificationResponseSchema; }; /** * GetNotification retrieves a notification channel by ID. * * @generated from rpc openstatus.notification.v1.NotificationService.GetNotification */ getNotification: { methodKind: "unary"; input: typeof GetNotificationRequestSchema; output: typeof GetNotificationResponseSchema; }; /** * ListNotifications returns a list of notification channels. * * @generated from rpc openstatus.notification.v1.NotificationService.ListNotifications */ listNotifications: { methodKind: "unary"; input: typeof ListNotificationsRequestSchema; output: typeof ListNotificationsResponseSchema; }; /** * UpdateNotification updates an existing notification channel. * * @generated from rpc openstatus.notification.v1.NotificationService.UpdateNotification */ updateNotification: { methodKind: "unary"; input: typeof UpdateNotificationRequestSchema; output: typeof UpdateNotificationResponseSchema; }; /** * DeleteNotification removes a notification channel. * * @generated from rpc openstatus.notification.v1.NotificationService.DeleteNotification */ deleteNotification: { methodKind: "unary"; input: typeof DeleteNotificationRequestSchema; output: typeof DeleteNotificationResponseSchema; }; /** * SendTestNotification sends a test notification to verify the provider configuration without requiring an existing notification channel. * * @generated from rpc openstatus.notification.v1.NotificationService.SendTestNotification */ sendTestNotification: { methodKind: "unary"; input: typeof SendTestNotificationRequestSchema; output: typeof SendTestNotificationResponseSchema; }; /** * CheckNotificationLimit checks if the workspace has reached its notification limit. * * @generated from rpc openstatus.notification.v1.NotificationService.CheckNotificationLimit */ checkNotificationLimit: { methodKind: "unary"; input: typeof CheckNotificationLimitRequestSchema; output: typeof CheckNotificationLimitResponseSchema; }; }> = /*@__PURE__*/ serviceDesc(file_openstatus_notification_v1_service, 0);