From b6300cdc3f0f13147fa1073b223035b8741c8714 Mon Sep 17 00:00:00 2001 From: CodeMash Date: Mon, 28 Sep 2026 20:37:17 +0300 Subject: [PATCH 1/2] [6] feat(chat): remove ask_chat for deleted chat/complete routes The gateway no longer serves the unauthenticated chat completion routes. Removes the api `chat` module (ChatModule / AsyncChatModule, `client.api.chat`, `NorbixApi.chat` / `.Chat`) and `hub.account.ask_chat` (sync + async), with their tests and docs pages / index rows. Module files are hand-maintained (scripts/generate_endpoints.py was removed from the repo), so edited by hand. references/*.dtos are left untouched. Breaking: `client.api.chat.ask_chat()` and `client.hub.account.ask_chat()` are gone; callers must stop using them (no replacement endpoint). Co-Authored-By: Claude Opus 5.5 --- docs/api/_index.md | 1 - docs/api/chat.md | 7 ------ docs/hub/_index.md | 2 +- docs/hub/account.md | 1 - src/norbix_python/api/__init__.py | 3 --- src/norbix_python/api/chat.py | 41 ------------------------------- src/norbix_python/client.py | 2 -- src/norbix_python/hub/account.py | 26 -------------------- tests/api/test_chat.py | 18 -------------- tests/hub/test_account.py | 17 ------------- 10 files changed, 1 insertion(+), 117 deletions(-) delete mode 100644 docs/api/chat.md delete mode 100644 src/norbix_python/api/chat.py delete mode 100644 tests/api/test_chat.py diff --git a/docs/api/_index.md b/docs/api/_index.md index abb7225..42e199d 100644 --- a/docs/api/_index.md +++ b/docs/api/_index.md @@ -2,7 +2,6 @@ | Module | Endpoints | | --- | ---: | -| [`chat`](./chat.md) | 1 | | [`database`](./database.md) | 18 | | [`echo`](./echo.md) | 1 | | [`files`](./files.md) | 10 | diff --git a/docs/api/chat.md b/docs/api/chat.md deleted file mode 100644 index c4d8046..0000000 --- a/docs/api/chat.md +++ /dev/null @@ -1,7 +0,0 @@ -# API · Chat - -Access with `norbix.api.chat`. - -| Method | Verb | Path | Scope | -| --- | --- | --- | --- | -| `ask_chat` | `POST` | `/{version}/chat/complete` | `project` | diff --git a/docs/hub/_index.md b/docs/hub/_index.md index 9505fc4..52004b3 100644 --- a/docs/hub/_index.md +++ b/docs/hub/_index.md @@ -2,7 +2,7 @@ | Module | Endpoints | | --- | ---: | -| [`account`](./account.md) | 37 | +| [`account`](./account.md) | 36 | | [`ai`](./ai.md) | 14 | | [`database`](./database.md) | 41 | | [`echo`](./echo.md) | 1 | diff --git a/docs/hub/account.md b/docs/hub/account.md index 7e9562e..3cdc98b 100644 --- a/docs/hub/account.md +++ b/docs/hub/account.md @@ -40,4 +40,3 @@ Access with `norbix.hub.account`. | `get_account_collaborators` | `GET` | `/{version}/account/collaborators` | `account` | | `send_invite_to_team_member` | `POST` | `/{version}/account/team/member/invite` | `account` | | `get_licenses` | `GET` | `/{version}/account/licenses` | `account` | -| `ask_chat` | `POST` | `/{version}/account/chat/complete` | `account` | diff --git a/src/norbix_python/api/__init__.py b/src/norbix_python/api/__init__.py index 3c13fae..901ff66 100644 --- a/src/norbix_python/api/__init__.py +++ b/src/norbix_python/api/__init__.py @@ -1,7 +1,6 @@ from __future__ import annotations from ..transport import AsyncTransport, Transport -from .chat import AsyncChatModule, ChatModule from .database import AsyncDatabaseModule, DatabaseModule from .echo import AsyncEchoModule, EchoModule from .files import AsyncFilesModule, FilesModule @@ -10,7 +9,6 @@ class ApiNamespace: def __init__(self, transport: Transport) -> None: - self.chat = ChatModule(transport) self.database = DatabaseModule(transport) self.echo = EchoModule(transport) self.files = FilesModule(transport) @@ -19,7 +17,6 @@ def __init__(self, transport: Transport) -> None: class AsyncApiNamespace: def __init__(self, transport: AsyncTransport) -> None: - self.chat = AsyncChatModule(transport) self.database = AsyncDatabaseModule(transport) self.echo = AsyncEchoModule(transport) self.files = AsyncFilesModule(transport) diff --git a/src/norbix_python/api/chat.py b/src/norbix_python/api/chat.py deleted file mode 100644 index fd00ec7..0000000 --- a/src/norbix_python/api/chat.py +++ /dev/null @@ -1,41 +0,0 @@ -from __future__ import annotations - -from typing import Any - -from ..transport import AsyncTransport, Transport - - -class ChatModule: - def __init__(self, transport: Transport) -> None: - self._transport = transport - - def ask_chat(self, *, timeout: float | None = None, bearer_token: str | None = None, **request: Any) -> Any: - """POST /{version}/chat/complete""" - return self._transport.send( - target="api", - path="/{version}/chat/complete", - method="POST", - path_params={}, - request=request, - scope="project", - timeout=timeout, - bearer_token=bearer_token, - ) - - -class AsyncChatModule: - def __init__(self, transport: AsyncTransport) -> None: - self._transport = transport - - async def ask_chat(self, *, timeout: float | None = None, bearer_token: str | None = None, **request: Any) -> Any: - """POST /{version}/chat/complete""" - return await self._transport.send( - target="api", - path="/{version}/chat/complete", - method="POST", - path_params={}, - request=request, - scope="project", - timeout=timeout, - bearer_token=bearer_token, - ) diff --git a/src/norbix_python/client.py b/src/norbix_python/client.py index f4d07ce..59433f3 100644 --- a/src/norbix_python/client.py +++ b/src/norbix_python/client.py @@ -242,12 +242,10 @@ def __init__( api = ApiNamespace(self._transport) self.database = api.database self.membership = api.membership - self.chat = api.chat self.echo = api.echo self.files = api.files self.Database = self.database self.Membership = self.membership - self.Chat = self.chat self.Echo = self.echo self.Files = self.files diff --git a/src/norbix_python/hub/account.py b/src/norbix_python/hub/account.py index 689ec4b..594705f 100644 --- a/src/norbix_python/hub/account.py +++ b/src/norbix_python/hub/account.py @@ -485,19 +485,6 @@ def get_licenses(self, *, timeout: float | None = None, bearer_token: str | None bearer_token=bearer_token, ) - def ask_chat(self, *, timeout: float | None = None, bearer_token: str | None = None, **request: Any) -> Any: - """POST /{version}/account/chat/complete""" - return self._transport.send( - target="hub", - path="/{version}/account/chat/complete", - method="POST", - path_params={}, - request=request, - scope="account", - timeout=timeout, - bearer_token=bearer_token, - ) - class AsyncAccountModule: def __init__(self, transport: AsyncTransport) -> None: @@ -978,16 +965,3 @@ async def get_licenses(self, *, timeout: float | None = None, bearer_token: str timeout=timeout, bearer_token=bearer_token, ) - - async def ask_chat(self, *, timeout: float | None = None, bearer_token: str | None = None, **request: Any) -> Any: - """POST /{version}/account/chat/complete""" - return await self._transport.send( - target="hub", - path="/{version}/account/chat/complete", - method="POST", - path_params={}, - request=request, - scope="account", - timeout=timeout, - bearer_token=bearer_token, - ) diff --git a/tests/api/test_chat.py b/tests/api/test_chat.py deleted file mode 100644 index d839251..0000000 --- a/tests/api/test_chat.py +++ /dev/null @@ -1,18 +0,0 @@ -from __future__ import annotations - -from norbix_python import Norbix, NorbixError -from ..helpers import make_client - - -def test_api_chat_module_surface() -> None: - client, _ = make_client() - module = client.api.chat - assert callable(module.ask_chat) - - -def test_api_chat_ask_chat_request_shape() -> None: - client, transport = make_client(account_id=None) - client.api.chat.ask_chat() - assert transport.last_request['method'] == 'POST' - assert transport.last_request is not None - assert transport.last_request['url'].startswith('https://') diff --git a/tests/hub/test_account.py b/tests/hub/test_account.py index 60feaf2..fab2215 100644 --- a/tests/hub/test_account.py +++ b/tests/hub/test_account.py @@ -43,7 +43,6 @@ def test_hub_account_module_surface() -> None: assert callable(module.get_account_collaborators) assert callable(module.send_invite_to_team_member) assert callable(module.get_licenses) - assert callable(module.ask_chat) def test_hub_account_get_account_profile_request_shape() -> None: @@ -621,19 +620,3 @@ def test_hub_account_get_licenses_requires_account_scope() -> None: assert exc.code == 'NORBIX_ACCOUNT_SCOPE_REQUIRED' else: raise AssertionError('Expected account scope error') - -def test_hub_account_ask_chat_request_shape() -> None: - client, transport = make_client(account_id='acc-1') - client.hub.account.ask_chat() - assert transport.last_request['method'] == 'POST' - assert transport.last_request is not None - assert transport.last_request['url'].startswith('https://') - -def test_hub_account_ask_chat_requires_account_scope() -> None: - client = Norbix(project_id='p1', bearer_token='token') - try: - client.hub.account.ask_chat() - except NorbixError as exc: - assert exc.code == 'NORBIX_ACCOUNT_SCOPE_REQUIRED' - else: - raise AssertionError('Expected account scope error') From 633441408729d09b58507ab130c95e6dd92adee1 Mon Sep 17 00:00:00 2001 From: CodeMash Date: Mon, 28 Sep 2026 20:36:29 +0300 Subject: [PATCH 2/2] [6] gen(sdk-python:references): refresh raw gateway reference outputs without chat/complete MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit references/api_dtos.py (/types/python, API :5002), references/hub_dtos.py (/types/python, Hub :5001) and references/hub2.dtos.ts (/types/typescript, Hub :5001) re-fetched from the Community hosts of gateway branch ai/two-audiences. Reference only — not shipped, not imported. Co-Authored-By: Claude Opus 5.5 --- references/api_dtos.py | 1218 +- references/hub2.dtos.ts | 29057 +++++++++++++++++++++++--------------- references/hub_dtos.py | 14035 +++++++----------- 3 files changed, 23538 insertions(+), 20772 deletions(-) diff --git a/references/api_dtos.py b/references/api_dtos.py index 41b3a2b..e390126 100644 --- a/references/api_dtos.py +++ b/references/api_dtos.py @@ -1,6 +1,6 @@ """ Options: -Date: 2026-09-04 14:55:41 -Version: 10.08 +Date: 2026-09-28 20:36:22 +Version: 10.20 Tip: To override a DTO option, remove "#" prefix before updating BaseUrl: http://localhost:5002 @@ -70,397 +70,6 @@ class IHasCorrelationIdRequest: correlation_id: Optional[str] = None -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class EmailAddress: - address: Optional[str] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class DisplayName: - value: Optional[str] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class AggregateId: - value: Optional[str] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class AccountId(AggregateId, IHasDomainEntityId): - pass - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class UtcDateTime: - pass - - -class TimeUnit(str, Enum): - TICKS = 'Ticks' - MILLISECONDS = 'Milliseconds' - SECONDS = 'Seconds' - MINUTES = 'Minutes' - HOURS = 'Hours' - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class ExpirationToken: - items: int = 0 - unit: Optional[TimeUnit] = None - value: int = 0 - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class CodeMashSubscriptionId(AggregateId): - pass - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class ProjectId(AggregateId, IHasDomainEntityId): - pass - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class IntegrationId(AggregateId, IHasDomainEntityId): - pass - - -class ResourceRefKind(str, Enum): - CONTACT = 'Contact' - DOCUMENT = 'Document' - FILE = 'File' - PAYMENT_CUSTOMER = 'PaymentCustomer' - ORDER = 'Order' - PAYMENT = 'Payment' - PRODUCT = 'Product' - INTEGRATION = 'Integration' - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class ResourceRef: - project_id: Optional[ProjectId] = None - integration_id: Optional[IntegrationId] = None - kind: Optional[ResourceRefKind] = None - - -class ResourceSource(str, Enum): - NORBIX = 'Norbix' - STRIPE = 'Stripe' - SHOPIFY = 'Shopify' - PAY_PAL = 'PayPal' - ADYEN = 'Adyen' - MOLLIE = 'Mollie' - PADDLE = 'Paddle' - LEMON_SQUEEZY = 'LemonSqueezy' - APPLE_IN_APP = 'AppleInApp' - GOOGLE_IN_APP = 'GoogleInApp' - AUTHORIZE_NET = 'AuthorizeNet' - BRAINTREE = 'Braintree' - CHECK_OUT_COM = 'CheckOutCom' - WOO_COMMERCE = 'WooCommerce' - MAGENTO = 'Magento' - WORLDPAY = 'Worldpay' - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PaymentCustomerRef(ResourceRef): - kind: Optional[ResourceRefKind] = None - source: Optional[ResourceSource] = None - external_id: Optional[str] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class Quantity: - value: int = 0 - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class CodeMashManagedServiceSubscription: - subscription_id: Optional[CodeMashSubscriptionId] = None - payment_customer_ref: Optional[PaymentCustomerRef] = None - ref_subscription_id: Optional[str] = None - issued_on: Optional[UtcDateTime] = None - will_expire_on: Optional[UtcDateTime] = None - project_cap: Optional[Quantity] = None - is_trial: bool = False - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class DomainUrl: - value: Optional[str] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class CodeMashLicense(CodeMashManagedServiceSubscription): - domain: Optional[DomainUrl] = None - account_id: Optional[AccountId] = None - is_enterprise: bool = False - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class Tag: - pass - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class TagDescription: - display_name: Optional[DisplayName] = None - description: Optional[str] = None - - -TContent = TypeVar('TContent') - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class MessageTranslation(Generic[TContent]): - pass - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class TagTranslation(MessageTranslation[TagDescription]): - pass - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class BaseTagDefinition: - tag: Optional[Tag] = None - translations: List[TagTranslation] = field(default_factory=list) - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GroupDefinition(BaseTagDefinition): - pass - - -class CommunicationChannel(str, Enum): - TRANSACTIONAL = 'Transactional' - MARKETING = 'Marketing' - SYSTEM = 'System' - - -class DeliveryChannel(str, Enum): - EMAIL = 'Email' - PUSH = 'Push' - SMS = 'Sms' - WEB_PUSH = 'WebPush' - IN_APP = 'InApp' - CHAT_BOT = 'ChatBot' - CHAT_PLATFORM = 'ChatPlatform' - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class TagDefinition(BaseTagDefinition): - default_delivery: Dict[str, bool] = field(default_factory=dict) - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class ProjectName: - name: Optional[str] = None - unique_name: Optional[str] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class NorbixRegion: - code: Optional[str] = None - - -class Continent(str, Enum): - AFRICA = 'Africa' - ANTARCTICA = 'Antarctica' - ASIA = 'Asia' - EUROPE = 'Europe' - NORTH_AMERICA = 'NorthAmerica' - OCEANIA = 'Oceania' - SOUTH_AMERICA = 'SouthAmerica' - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class ProjectRegion: - region: Optional[NorbixRegion] = None - name: Optional[str] = None - continent: Optional[Continent] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class Language: - code: Optional[str] = None - name: Optional[str] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class FileResourceId: - value: Optional[str] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class FileChecksum: - algorithm: Optional[str] = None - hash: Optional[str] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class FileResource: - id: Optional[FileResourceId] = None - original_file_name: Optional[str] = None - extension: Optional[str] = None - size_bytes: Optional[int] = None - checksum: Optional[FileChecksum] = None - stored_file_name: Optional[str] = None - - -class FileProvider(str, Enum): - LOCAL = 'Local' - AWS_S3 = 'AwsS3' - AZURE_BLOB_STORAGE = 'AzureBlobStorage' - GOOGLE_CLOUD_STORAGE = 'GoogleCloudStorage' - FTP = 'Ftp' - APPLE_I_CLOUD = 'AppleICloud' - DROP_BOX = 'DropBox' - GOOGLE_DRIVE = 'GoogleDrive' - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class FileResourceRef: - resource: Optional[FileResource] = None - integration_id: Optional[IntegrationId] = None - provider: Optional[FileProvider] = None - path: Optional[str] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class ProjectLogo: - file_resource: Optional[FileResourceRef] = None - public_url: Optional[str] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class ProjectIcon: - file_resource: Optional[FileResourceRef] = None - public_url: Optional[str] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class BrandColor: - value: Optional[str] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class TimeZone: - zone_id: Optional[str] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GroupTags: - group: Optional[Tag] = None - tags: List[Tag] = field(default_factory=list) - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class ProjectCommunicationChannel: - channel: Optional[CommunicationChannel] = None - groups: List[GroupTags] = field(default_factory=list) - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class ProjectCommunication: - channels: List[ProjectCommunicationChannel] = field(default_factory=list) - groups: List[GroupDefinition] = field(default_factory=list) - tags: List[TagDefinition] = field(default_factory=list) - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class AuthId(IHasDomainEntityId): - value: Optional[str] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class DeviceId: - id: Optional[str] = None - - -class DeviceType(str, Enum): - UNKNOWN = 'Unknown' - PHONE = 'Phone' - TABLET = 'Tablet' - DESKTOP = 'Desktop' - TV = 'Tv' - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PushDeviceToken: - token: Optional[str] = None - - -class PushDeviceDeliveryFamily(str, Enum): - IOS = 'Ios' - ANDROID = 'Android' - CHROME = 'Chrome' - SAFARI = 'Safari' - EXPO = 'Expo' - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PushDeviceDeliveryToken: - push_device_token: Optional[PushDeviceToken] = None - delivery_family: Optional[PushDeviceDeliveryFamily] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PushDevice: - id: Optional[DeviceId] = None - brand: Optional[str] = None - manufacturer: Optional[str] = None - model_name: Optional[str] = None - device_name: Optional[str] = None - device_type: Optional[DeviceType] = None - os_name: Optional[str] = None - os_version: Optional[str] = None - platform_api_level: Optional[int] = None - token: Optional[PushDeviceDeliveryToken] = None - - @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class CodeMashRequestBase(RequestBase, IHasProjectId, IHasEnv): @@ -567,29 +176,6 @@ class SaveUserWithRolesBase(SaveUser): roles: List[str] = field(default_factory=list) -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class Env: - value: Optional[str] = None - is_prod: bool = False - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class CursorArgs(ICursorArgs): - field: Optional[str] = None - order: int = 0 - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PagingArgs: - cursor_args: Optional[CursorArgs] = None - page_size: Optional[int] = None - starting_after: Optional[str] = None - ending_before: Optional[str] = None - - @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class CodeMashListPaginationRequestBase(RequestBase, IHasProjectId, IHasEnv): @@ -607,7 +193,6 @@ class CodeMashListPaginationRequestBase(RequestBase, IHasProjectId, IHasEnv): """ - resolved_env: Optional[Env] = None # @ApiMember(DataType="string", Description="Cursor token — fetch the page AFTER this item.", Name="startingAfter", ParameterType="query") starting_after: Optional[str] = None """ @@ -629,112 +214,24 @@ class CodeMashListPaginationRequestBase(RequestBase, IHasProjectId, IHasEnv): """ - # @ApiMember(DataType="object", Description="Paging", Name="paging", ParameterType="body") - paging: Optional[PagingArgs] = None - """ - Paging - """ - - class IPasskeyCeremonyRequest: pass @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class Integration(IIntegrationIdentification, IHasDomainEntityId): - integration_id: Optional[IntegrationId] = None - env: Optional[Env] = None - capability: Optional[str] = None - is_system_owned: bool = False - integration_name: Optional[DisplayName] = None - is_enabled: bool = False - is_configured: bool = False - last_integration_test_at_utc: Optional[datetime.datetime] = None - last_integration_test_succeeded: Optional[bool] = None - last_integration_test_error_messages: Optional[IReadOnlyList[str]] = None - human_delivery_confirmed_at_utc: Optional[datetime.datetime] = None - is_approved_that_it_works: bool = False - - -class PushProvider(str, Enum): - APPLE_APNS = 'AppleApns' - SAFARI_WEB = 'SafariWeb' - SAFARI_PUSH = 'SafariPush' - ANDROID_FIREBASE = 'AndroidFirebase' - CHROME_WEB = 'ChromeWeb' - FIREFOX_WEB = 'FirefoxWeb' - EDGE_WEB = 'EdgeWeb' - CHROME_PUSH = 'ChromePush' - CODE_MASH_IOS_APP = 'CodeMashIosApp' - CODE_MASH_ANDROID_APP = 'CodeMashAndroidApp' - CODE_MASH_SAFARI_PLUGIN = 'CodeMashSafariPlugin' - CODE_MASH_SAFARI_WEB = 'CodeMashSafariWeb' - CODE_MASH_CHROME_PLUGIN = 'CodeMashChromePlugin' - CODE_MASH_CHROME_WEB = 'CodeMashChromeWeb' - EXPO = 'Expo' - FAKE = 'Fake' - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PushIntegration(Integration): - provider: Optional[PushProvider] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class TemplateId: - value: Optional[str] = None - - -TMessageContent = TypeVar('TMessageContent') - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class Template(Generic[TMessageContent], IBindableContract): - template_id: Optional[TemplateId] = None - template_name: Optional[DisplayName] = None - translations: List[MessageTranslation[TMessageContent]] = field(default_factory=list) - communication_channel: Optional[CommunicationChannel] = None - is_active: bool = False - description: Optional[str] = None - tags: Optional[List[Tag]] = None - file_integration_id: Optional[IntegrationId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class TemplateCode: - pass - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PushTitle: - value: Optional[TemplateCode] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PushBody: - value: Optional[TemplateCode] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PushMessageContent: - title: Optional[PushTitle] = None - sub_title: Optional[PushTitle] = None - body: Optional[PushBody] = None +class CursorArgs(ICursorArgs): + field: Optional[str] = None + order: int = 0 @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class PushTemplate(Template[PushMessageContent]): - pass +class PagingArgs: + cursor_args: Optional[CursorArgs] = None + page_size: Optional[int] = None + starting_after: Optional[str] = None + ending_before: Optional[str] = None class CodeMashRelease(str, Enum): @@ -772,6 +269,16 @@ class EchoRegionDto: hub_url: Optional[str] = None +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class EchoAgentDto: + mcp_url: Optional[str] = None + o_auth_metadata_url: Optional[str] = None + installation_type: Optional[str] = None + onboarding_docs_url: Optional[str] = None + tools_url: Optional[str] = None + + @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class PublicBrandDto: @@ -1028,6 +535,7 @@ class TriggerDto(IHasViewId): description: Optional[str] = None is_enabled: bool = False activation_code: Optional[str] = None + saved_by_auth_id: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @@ -1075,6 +583,17 @@ class FileResourceDto: checksum: Optional[FileChecksumDto] = None +class FileProvider(str, Enum): + LOCAL = 'Local' + AWS_S3 = 'AwsS3' + AZURE_BLOB_STORAGE = 'AzureBlobStorage' + GOOGLE_CLOUD_STORAGE = 'GoogleCloudStorage' + FTP = 'Ftp' + APPLE_I_CLOUD = 'AppleICloud' + DROP_BOX = 'DropBox' + GOOGLE_DRIVE = 'GoogleDrive' + + @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class FileResourceRefDto: @@ -1082,16 +601,25 @@ class FileResourceRefDto: integration_id: Optional[str] = None provider: Optional[FileProvider] = None path: Optional[str] = None + public_url: Optional[str] = None + is_public: bool = False -class IHasDomainEntityId: - view_id: Optional[str] = None +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class PublicFolderDto: + path: Optional[str] = None + public_id: Optional[str] = None + public_url: Optional[str] = None + inherited: bool = False -class IIntegrationIdentification: - integration_id: Optional[IntegrationId] = None - capability: Optional[str] = None - is_system_owned: bool = False +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class IntegrationTestResultItemDto: + operation: Optional[str] = None + result: Optional[str] = None + errors: Optional[IReadOnlyList[str]] = None class IBindableContract: @@ -1225,469 +753,223 @@ class EchoResponse: regions: Optional[List[EchoRegionDto]] = None is_production_installation: bool = False licensing_mode: Optional[str] = None - grace_days_left: Optional[int] = None - installation_domain: Optional[str] = None - licensing_docs_url: Optional[str] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PublicProjectConfigDto: - display_name: Optional[str] = None - admin_portal_enabled: bool = False - branding: Optional[PublicBrandDto] = None - auth: Optional[PublicAuthDto] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PublicLegalDocumentDto: - kind: Optional[str] = None - title: Optional[str] = None - body: Optional[str] = None - available: bool = False - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class AskChatResponse(ResponseBase): - result: Optional[str] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetUserResponse(ResponseBase): - user: Optional[AuthDto] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetUsersResponse(ResponseBase): - list: Optional[PaginatedResponse[AuthDto]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetUserPreferencesResponse(ResponseBase): - preferences: Optional[UserMarketingPreferencesDto] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PasskeyCeremonyOptionsResponse(ResponseBase): - ceremony_id: Optional[str] = None - options_json: Optional[str] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PasskeyAuthTokensResponse(ResponseBase): - access_token: Optional[str] = None - refresh_token: Optional[str] = None - expires_in_seconds: int = 0 - recovery_codes: Optional[List[str]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PasskeyListResponse(ResponseBase): - passkeys: List[PasskeyListItemDto] = field(default_factory=list) - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PasskeyOkResponse(ResponseBase): - pass - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PasskeyRecoveryResponse(ResponseBase): - access_token: Optional[str] = None - refresh_token: Optional[str] = None - expires_in_seconds: int = 0 - remaining_codes: int = 0 - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PasskeyVerificationTokenResponse(ResponseBase): - verification_token: Optional[str] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class FindMergedTermTreeResponse(ResponseBase): - tree: Optional[List[TermTreeDto]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class FindTaxonomyTreeResponse(ResponseBase): - tree: Optional[List[TaxonomyTreeDto]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class FindTermsResponse(ResponseBase): - list: Optional[PaginatedResponse[TermDto]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class FindTermsChildrenResponse(ResponseBase): - list: Optional[PaginatedResponse[TermDto]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class FindTermTreeResponse(ResponseBase): - tree: Optional[List[TermTreeDto]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetDatabaseSchemaResponse(ResponseBase): - item: Optional[SchemaDto] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetDatabaseSchemasResponse(ResponseBase): - list: Optional[PaginatedResponse[SchemaListProjection]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class AggregateResponse(ResponseBase): - result: Optional[List[Object]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class CountResponse(ResponseBase): - count: int = 0 - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class DistinctResponse(ResponseBase): - values: Optional[List[Object]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class ExecuteAggregateResponse(ResponseBase): - result: Optional[List[Object]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class FindResponse(ResponseBase): - list: Optional[PaginatedResponse[Object]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class FindOneResponse(ResponseBase): - result: Optional[Object] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetFileInfoResponse(ResponseBase): - file: Optional[FileResourceRefDto] = None - is_public: Optional[bool] = None - public_url: Optional[str] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetSignedUrlResponse(ResponseBase): - url: Optional[str] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class ListFilesResponse(ResponseBase): - list: Optional[PaginatedResponse[FileResourceRefDto]] = None - folders: Optional[IList[str]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class RequestUploadUrlResponse(ResponseBase): - url: Optional[str] = None - - -# @Route("/{version}/echo", "GET") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class Echo(RequestBase, IReturn[EchoResponse]): - pass - - -# @Route("/{version}/public/projects/{ProjectId}/config", "GET") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetPublicProjectConfig(RequestBase, IReturn[PublicProjectConfigDto]): - project_id: Optional[str] = None - - -# @Route("/{version}/public/projects/{ProjectId}/legal/{Kind}", "GET") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetPublicProjectLegal(RequestBase, IReturn[PublicLegalDocumentDto]): - project_id: Optional[str] = None - kind: Optional[str] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class AccountCreated: - email: Optional[EmailAddress] = None - display_name: Optional[DisplayName] = None - account_id: Optional[AccountId] = None - created_on: Optional[UtcDateTime] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class AccountVerified: - pass + grace_days_left: Optional[int] = None + installation_domain: Optional[str] = None + licensing_docs_url: Optional[str] = None + agent: Optional[EchoAgentDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class AccountSetAsActive: - pass +class PublicProjectConfigDto: + display_name: Optional[str] = None + admin_portal_enabled: bool = False + branding: Optional[PublicBrandDto] = None + auth: Optional[PublicAuthDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class AccountValidationTokenIssued: - expiration: Optional[ExpirationToken] = None +class PublicLegalDocumentDto: + kind: Optional[str] = None + title: Optional[str] = None + body: Optional[str] = None + available: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class AccountBlocked: - pass +class GetUserResponse(ResponseBase): + user: Optional[AuthDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class AccountProfileUpdated: - display_name: Optional[DisplayName] = None - billing_email: Optional[EmailAddress] = None - operations_email: Optional[EmailAddress] = None - security_email: Optional[EmailAddress] = None +class GetUsersResponse(ResponseBase): + list: Optional[PaginatedResponse[AuthDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class AccountSetAsInactive: - pass +class GetUserPreferencesResponse(ResponseBase): + preferences: Optional[UserMarketingPreferencesDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class AccountUnregistered: +class PasskeyOkResponse(ResponseBase): pass @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class LicenseCreated: - license: Optional[CodeMashLicense] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class CustomerCreated: - payment_customer_ref: Optional[PaymentCustomerRef] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SubscriptionChanged: - subscription: Optional[CodeMashManagedServiceSubscription] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SubscriptionCanceled: - payment_customer_ref: Optional[PaymentCustomerRef] = None - subscription_id: Optional[str] = None +class PasskeyCeremonyOptionsResponse(ResponseBase): + ceremony_id: Optional[str] = None + options_json: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectCommunicationGroupSaved: - group: Optional[GroupDefinition] = None - channel: Optional[CommunicationChannel] = None - origin_channel: Optional[CommunicationChannel] = None +class PasskeyAuthTokensResponse(ResponseBase): + access_token: Optional[str] = None + refresh_token: Optional[str] = None + expires_in_seconds: int = 0 + recovery_codes: Optional[List[str]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectCommunicationTagFromGroupDeleted: - group_tag: Optional[Tag] = None - removed_tag: Optional[Tag] = None +class PasskeyListResponse(ResponseBase): + passkeys: List[PasskeyListItemDto] = field(default_factory=list) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectCommunicationGroupDeleted: - group_tag: Optional[Tag] = None +class PasskeyRecoveryResponse(ResponseBase): + access_token: Optional[str] = None + refresh_token: Optional[str] = None + expires_in_seconds: int = 0 + remaining_codes: int = 0 @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectCommunicationTagSaved: - tag: Optional[TagDefinition] = None - group_tag: Optional[Tag] = None - channel: Optional[CommunicationChannel] = None +class PasskeyVerificationTokenResponse(ResponseBase): + verification_token: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectCommunicationTagDeleted: - tag: Optional[Tag] = None +class FindMergedTermTreeResponse(ResponseBase): + tree: Optional[List[TermTreeDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectCreated: - id: Optional[ProjectId] = None - name: Optional[ProjectName] = None - database_integration_id: Optional[IntegrationId] = None - primary_region: Optional[ProjectRegion] = None - additional_regions: Optional[List[ProjectRegion]] = None - description: Optional[str] = None - is_provisioning: bool = False +class FindTaxonomyTreeResponse(ResponseBase): + tree: Optional[List[TaxonomyTreeDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectDeleted: - pass +class FindTermsResponse(ResponseBase): + list: Optional[PaginatedResponse[TermDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectActivated: - pass +class FindTermsChildrenResponse(ResponseBase): + list: Optional[PaginatedResponse[TermDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectDisabled: - pass +class FindTermTreeResponse(ResponseBase): + tree: Optional[List[TermTreeDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectNameChanged: - project_name: Optional[ProjectName] = None +class GetDatabaseSchemaResponse(ResponseBase): + item: Optional[SchemaDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectDescriptionChanged: - description: Optional[str] = None +class GetDatabaseSchemasResponse(ResponseBase): + list: Optional[PaginatedResponse[SchemaListProjection]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectMarketingUrlChanged: - url: Optional[DomainUrl] = None +class AggregateResponse(ResponseBase): + result: Optional[List[Object]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectAllowedOriginsChanged: - origins: Optional[List[DomainUrl]] = None +class CountResponse(ResponseBase): + count: int = 0 @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectDefaultLanguageChanged: - language: Optional[Language] = None +class DistinctResponse(ResponseBase): + values: Optional[List[Object]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectLanguagesChanged: - languages: List[Language] = field(default_factory=list) +class ExecuteAggregateResponse(ResponseBase): + result: Optional[List[Object]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectLogoChanged: - logo: Optional[ProjectLogo] = None +class FindResponse(ResponseBase): + list: Optional[PaginatedResponse[Object]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectIconChanged: - icon: Optional[ProjectIcon] = None +class FindOneResponse(ResponseBase): + result: Optional[Object] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectMainColorChanged: - color: Optional[BrandColor] = None +class GetFileInfoResponse(ResponseBase): + file: Optional[FileResourceRefDto] = None + is_public: Optional[bool] = None + public_url: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectAccentColorChanged: - color: Optional[BrandColor] = None +class GetSignedUrlResponse(ResponseBase): + url: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectRegionsChanged: - primary_region: Optional[ProjectRegion] = None - additional_regions: Optional[List[ProjectRegion]] = None +class ListFilesResponse(ResponseBase): + list: Optional[PaginatedResponse[FileResourceRefDto]] = None + folders: Optional[IList[str]] = None + public_folders: Optional[IList[PublicFolderDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectTimeZoneChanged: - time_zone: Optional[TimeZone] = None +class RequestUploadUrlResponse(ResponseBase): + url: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectPaymentZonesChanged: - payment_zones: Optional[List[TimeZone]] = None +class TestFilesIntegrationResponse(ResponseBase): + items: Optional[IReadOnlyList[IntegrationTestResultItemDto]] = None +# @Route("/{version}/echo", "GET") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectCommunicationSet: - project_communication: Optional[ProjectCommunication] = None +class Echo(RequestBase, IReturn[EchoResponse]): + pass +# @Route("/{version}/public/projects/{ProjectId}/config", "GET") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class AccountUserPushDeviceCreated: - auth_id: Optional[AuthId] = None - push_device: Optional[PushDevice] = None +class GetPublicProjectConfig(RequestBase, IReturn[PublicProjectConfigDto]): + project_id: Optional[str] = None -# @Route("/{version}/chat/complete", "POST") -# @Api(Description="AI") +# @Route("/{version}/public/projects/{ProjectId}/legal/{Kind}", "GET") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class AskChatRequest(CodeMashRequestBase, IReturn[AskChatResponse]): - """ - AI - """ - - prompt: Optional[str] = None +class GetPublicProjectLegal(RequestBase, IReturn[PublicLegalDocumentDto]): + project_id: Optional[str] = None + kind: Optional[str] = None # @Route("/{version}/membership/auth/block", "PATCH") @@ -2236,6 +1518,82 @@ class UpdateUserPreferencesRequest(CodeMashRequestBase, IReturn[EmptyResponse]): """ +# @Route("/{version}/membership/userauth/password/change", "POST") +# @Api(Description="Membership · Password") +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class ChangePasswordRequest(CodeMashRequestBase, IReturn[PasskeyOkResponse]): + """ + Membership · Password + """ + + # @ApiMember(Description="The member's current password.", IsRequired=true) + current_password: Optional[str] = None + """ + The member's current password. + """ + + + # @ApiMember(Description="The new password. Validated against the project's complexity policy.", IsRequired=true) + new_password: Optional[str] = None + """ + The new password. Validated against the project's complexity policy. + """ + + + # @ApiMember(Description="Database integration id. Optional — defaults to the request environment's default integration.") + database_integration_id: Optional[str] = None + """ + Database integration id. Optional — defaults to the request environment's default integration. + """ + + +# @Route("/{version}/membership/userauth/password/reset/request", "POST") +# @Api(Description="Membership · Password") +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class RequestPasswordResetRequest(CodeMashRequestBase, IReturn[PasskeyOkResponse]): + """ + Membership · Password + """ + + # @ApiMember(Description="Email address to send the reset link to.", IsRequired=true) + email: Optional[str] = None + """ + Email address to send the reset link to. + """ + + +# @Route("/{version}/membership/userauth/password/reset/confirm", "POST") +# @Api(Description="Membership · Password") +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class ConfirmPasswordResetRequest(CodeMashRequestBase, IReturn[PasskeyOkResponse]): + """ + Membership · Password + """ + + # @ApiMember(Description="One-time reset token from the email link.", IsRequired=true) + token: Optional[str] = None + """ + One-time reset token from the email link. + """ + + + # @ApiMember(Description="The new password. Validated against the project's complexity policy.", IsRequired=true) + new_password: Optional[str] = None + """ + The new password. Validated against the project's complexity policy. + """ + + + # @ApiMember(Description="Database integration id. Optional — defaults to the request environment's default integration.") + database_integration_id: Optional[str] = None + """ + Database integration id. Optional — defaults to the request environment's default integration. + """ + + # @Route("/{version}/membership/userauth/passkey/authentication-options", "POST") # @Api(Description="Membership · Passkey") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @@ -2774,6 +2132,34 @@ class CommitUploadRequest(CodeMashRequestBase, IReturn[EmptyResponse]): file_name: Optional[str] = None +# @Route("/{version}/files/{filesIntegrationId}/content", "GET") +# @Api(Description="Files") +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class GetFileContentRequest(RequestBase, IReturn[bytes]): + """ + Files + """ + + files_integration_id: Optional[str] = None + path: Optional[str] = None + token: Optional[str] = None + + +# @Route("/{version}/files/{filesIntegrationId}/content", "PUT") +# @Api(Description="Files") +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class PutFileContentRequest(RequestBase, IReturn[EmptyResponse]): + """ + Files + """ + + files_integration_id: Optional[str] = None + path: Optional[str] = None + token: Optional[str] = None + + # @Route("/{version}/files/{filesIntegrationId}", "DELETE") # @Api(Description="Files") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @@ -2853,6 +2239,19 @@ class ListFilesRequest(CodeMashListPaginationRequestBase, IReturn[ListFilesRespo path: Optional[str] = None +# @Route("/{version}/files/public/{PublicId}/{Name*}", "GET") +# @Api(Description="Files") +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class GetPublicFileRequest(RequestBase, IReturn[bytes]): + """ + Files + """ + + public_id: Optional[str] = None + name: Optional[str] = None + + # @Route("/{version}/files/{filesIntegrationId}/upload-url", "POST") # @Api(Description="Files") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @@ -2868,113 +2267,14 @@ class RequestUploadUrlRequest(CodeMashRequestBase, IReturn[RequestUploadUrlRespo expiration_seconds: Optional[int] = None +# @Route("/{version}/files/{filesIntegrationId}/test", "POST") +# @Api(Description="Files") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class PushIntegrationSaved: - integration: Optional[PushIntegration] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PushIntegrationRenamed: - id: Optional[IntegrationId] = None - name: Optional[DisplayName] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PushIntegrationSetAsDefault: - env: Optional[Env] = None - id: Optional[IntegrationId] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PushIntegrationDeleted: - id: Optional[IntegrationId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PushIntegrationEnabled: - id: Optional[IntegrationId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PushIntegrationDisabled: - id: Optional[IntegrationId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PushServiceEstablished: - default_templates: Optional[List[PushTemplate]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PushServiceEnabled: - pass - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PushServiceDisabled: - pass - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PushTemplateCreated: - template_id: Optional[TemplateId] = None - display_name: Optional[DisplayName] = None - translations: List[MessageTranslation[PushMessageContent]] = field(default_factory=list) - channel: Optional[CommunicationChannel] = None - description: Optional[str] = None - tags: Optional[List[Tag]] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PushTemplateUpdated: - template_id: Optional[TemplateId] = None - display_name: Optional[DisplayName] = None - translations: List[MessageTranslation[PushMessageContent]] = field(default_factory=list) - channel: Optional[CommunicationChannel] = None - description: Optional[str] = None - tags: Optional[List[Tag]] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PushTemplateDeleted: - template_id: Optional[TemplateId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PushTemplateArchived: - template_id: Optional[TemplateId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PushTemplateUnArchived: - template_id: Optional[TemplateId] = None - env: Optional[Env] = None - +class TestFilesIntegrationRequest(CodeMashRequestBase, IReturn[TestFilesIntegrationResponse]): + """ + Files + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PushTemplateMirrored: - template: Optional[PushTemplate] = None + files_integration_id: Optional[str] = None diff --git a/references/hub2.dtos.ts b/references/hub2.dtos.ts index 38cd868..933a828 100644 --- a/references/hub2.dtos.ts +++ b/references/hub2.dtos.ts @@ -1,10 +1,10 @@ /* Options: -Date: 2026-04-27 18:40:11 -Version: 10.06 +Date: 2026-09-28 20:36:28 +Version: 10.20 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: http://localhost:5001 -GlobalNamespace: CodeMashHub2 +//GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False @@ -15,12197 +15,19026 @@ GlobalNamespace: CodeMashHub2 //DefaultImports: */ +// @ts-nocheck -export module CodeMashHub2 -{ - // @ts-nocheck - - export interface IReturn - { - createResponse(): T; - } - - export interface IReturnVoid - { - createResponse(): void; - } - - export interface IHasSessionId - { - sessionId?: string; - } - - export interface IHasBearerToken - { - bearerToken?: string; - } - - export interface IPost - { - } - - export interface IGet - { - } - - export type IReadOnlySet = ReadonlyArray; - export type IReadOnlyList = ReadonlyArray; - export type IList = T[]; - export type HashSet = T[]; - export type IReadOnlyDictionary = Record; - - // @DataContract - export enum EmailProvider - { - Smtp = 'Smtp', - SendGrid = 'SendGrid', - MailGun = 'MailGun', - AwsSes = 'AwsSes', - } - - export class EmailIntegrationRequest - { - public integrationId?: string; - public provider: EmailProvider; - public integrationName: string; - public isEnabled: boolean; - public emailAddress: string; - public emailSenderName?: string; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export enum SmtpPorts - { - Default = 25, - Ssl = 465, - Tls = 587, - Fallback = 2525, - } - - export class SmtpEmailIntegrationRequest extends EmailIntegrationRequest - { - public domain: string; - public port: SmtpPorts; - public userName: string; - public password: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export enum AwsIntegrationType - { - Iam = 'Iam', - CrossAccountRole = 'CrossAccountRole', - } - - export class AwsSesEmailIntegrationRequest extends EmailIntegrationRequest - { - public integrationType: AwsIntegrationType; - public awsRegion: string; - public emailIdentityArn: string; - public configurationSet?: string; - public roleArn?: string; - public externalId?: string; - public accessKey?: string; - public secretKey?: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class SendGridEmailIntegrationRequest extends EmailIntegrationRequest - { - public apiKey: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class MailGunEmailIntegrationRequest extends EmailIntegrationRequest - { - public domain: string; - public apiKey: string; - public webhookSigningKey: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export enum EmailCampaignRecipientsSourceTypes - { - AllUsers = 'AllUsers', - SpecifiedUsers = 'SpecifiedUsers', - AccountUsers = 'AccountUsers', - Email = 'Email', - Collection = 'Collection', - } - - export enum TokenMappingResolverType - { - NotSet = 'NotSet', - Custom = 'Custom', - Project = 'Project', - ProjectSocials = 'ProjectSocials', - Initiator = 'Initiator', - Recipient = 'Recipient', - SchemaRecord = 'SchemaRecord', - TargetUser = 'TargetUser', - TagDefinitions = 'TagDefinitions', - EmailSignatures = 'EmailSignatures', - Campaign = 'Campaign', - Template = 'Template', - EmailFooters = 'EmailFooters', - Old = 'Old', - New = 'New', - } - - // @DataContract - export class TokenMappingDto - { - // @DataMember - public key: string; - - // @DataMember - public value: string; - - // @DataMember - public resolver: TokenMappingResolverType; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class EmailCampaignRequest - { - public source: EmailCampaignRecipientsSourceTypes; - public templateId: string; - public integrationId?: string; - public language?: string; - public initiatorId?: string; - public notes?: string; - // @DataMember - public mappedTokens?: TokenMappingDto[]; - - // @DataMember - public campaignTime?: number; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class EmailToAllUsersDeliverySettingsRequest extends EmailCampaignRequest - { - public rolesNames?: string[]; - public userTags?: string[]; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class EmailToAccountUsersDeliverySettingsRequest extends EmailCampaignRequest - { - public userRecipients: string[] = []; - public userCc?: string[]; - public userBcc?: string[]; - public singleEmailStrategy: boolean; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export enum CollectionEmailCampaignRecipientField - { - User = 'User', - Email = 'Email', - } - - export class EmailToCollectionRecordsDeliverySettingsRequest extends EmailCampaignRequest - { - public fields: string[] = []; - public schemaName: string; - public fieldType: CollectionEmailCampaignRecipientField; - public roleNames?: string[]; - public languages?: string[]; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class EmailToEmailsDeliverySettingsRequest extends EmailCampaignRequest - { - public recipients: string[] = []; - public recipientsCc?: string[]; - public recipientsBcc?: string[]; - public singleEmailStrategy: boolean; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class EmailToUsersDeliverySettingsRequest extends EmailCampaignRequest - { - public userRecipients: string[] = []; - public userCc?: string[]; - public userBcc?: string[]; - public singleEmailStrategy: boolean; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export enum TriggerType - { - Membership = 'Membership', - Schema = 'Schema', - Files = 'Files', - Payments = 'Payments', - } - - export enum TriggerActionType - { - Code = 'Code', - Push = 'Push', - Sms = 'Sms', - Email = 'Email', - WebhookCall = 'WebhookCall', - } - - // @DataContract - export class TriggerActionDto - { - // @DataMember - public type: TriggerActionType; - - // @DataMember - public integrationId?: string; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class SaveTriggerRequest - { - public type: TriggerType; - public triggerId?: string; - public name: string; - public description?: string; - public isEnabled: boolean; - public preExecuteCode?: string; - public action: TriggerActionDto; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export enum MembershipTriggerType - { - OnRegistered = 'OnRegistered', - OnInvited = 'OnInvited', - OnVerified = 'OnVerified', - OnUpdated = 'OnUpdated', - OnDeleted = 'OnDeleted', - OnBlocked = 'OnBlocked', - OnReactivated = 'OnReactivated', - } - - export class MembershipTriggerRequest extends SaveTriggerRequest - { - public when: MembershipTriggerType; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export enum SchemaTriggerType - { - OnInserted = 'OnInserted', - OnDeleted = 'OnDeleted', - OnUpdated = 'OnUpdated', - } - - export class SchemaTriggerRequest extends SaveTriggerRequest - { - public schemaId: string; - public when: SchemaTriggerType; - public configurationCode?: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export enum FilesTriggerType - { - OnFileUploaded = 'OnFileUploaded', - OnFileDeleted = 'OnFileDeleted', - } - - // @DataContract - export class FileChecksumDto - { - // @DataMember(Order=1) - public algorithm: string; - - // @DataMember(Order=2) - public hash: string; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - // @DataContract - export class FileResourceDto - { - // @DataMember(Order=1) - public id: string; - - // @DataMember(Order=2) - public originalFileName: string; - - // @DataMember(Order=3) - public extension: string; - - // @DataMember(Order=4) - public storedFileName: string; - - // @DataMember(Order=5) - public sizeBytes?: number; - - // @DataMember(Order=6) - public checksum?: FileChecksumDto; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export enum FileProvider - { - Local = 'Local', - AwsS3 = 'AwsS3', - AzureBlobStorage = 'AzureBlobStorage', - GoogleCloudStorage = 'GoogleCloudStorage', - Ftp = 'Ftp', - AppleICloud = 'AppleICloud', - DropBox = 'DropBox', - GoogleDrive = 'GoogleDrive', - } - - // @DataContract - export class FileResourceRefDto - { - // @DataMember(Order=1) - public resource: FileResourceDto; - - // @DataMember(Order=2) - public integrationId: string; - - // @DataMember(Order=3) - public provider: FileProvider; - - // @DataMember(Order=4) - public path: string; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class FilesTriggerRequest extends SaveTriggerRequest - { - public when: FilesTriggerType; - public fileRef: FileResourceRefDto; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export enum PaymentTriggerType - { - OnOrderCreated = 'OnOrderCreated', - OnOrderPaid = 'OnOrderPaid', - OnWebhookCallReceived = 'OnWebhookCallReceived', - } - - export class PaymentTriggerRequest extends SaveTriggerRequest - { - public when: PaymentTriggerType; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export enum DatabaseProvider - { - CodeMashMongoDbAtlasCluster = 'CodeMashMongoDbAtlasCluster', - CodeMashMongoDbAtlasServerless = 'CodeMashMongoDbAtlasServerless', - MongoDbConnectionString = 'MongoDbConnectionString', - } - - export class DatabaseIntegrationRequest - { - public integrationId?: string; - public provider: DatabaseProvider; - public integrationName: string; - public isEnabled: boolean; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class MongoDbAtlasServerlessDatabaseIntegrationRequest extends DatabaseIntegrationRequest - { - public databaseName?: string; - public connectionString: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class MongoDbAtlasClusterDatabaseIntegrationRequest extends DatabaseIntegrationRequest - { - public databaseName?: string; - public connectionString: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class MongoDbConnectionStringDatabaseIntegrationRequest extends DatabaseIntegrationRequest - { - public databaseName?: string; - public connectionString: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class FilesIntegrationRequest - { - public integrationId?: string; - public provider: FileProvider; - public integrationName: string; - public isEnabled: boolean; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class GoogleDriveFilesIntegrationRequest extends FilesIntegrationRequest - { - public rootFolderId?: string; - public serviceAccountJsonKey: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class FtpFilesIntegrationRequest extends FilesIntegrationRequest - { - public host: string; - public port: number; - public rootPath?: string; - public useSsl: boolean; - public username: string; - public password: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class DropBoxFilesIntegrationRequest extends FilesIntegrationRequest - { - public rootPath?: string; - public accessToken: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class AppleICloudFilesIntegrationRequest extends FilesIntegrationRequest - { - public containerIdentifier: string; - public relativePath?: string; - public keyId: string; - public teamId: string; - public bundleId: string; - public p8PrivateKey: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export enum AwsS3IntegrationType - { - Iam = 'Iam', - CrossAccountRole = 'CrossAccountRole', - } - - export class AwsS3FilesIntegrationRequest extends FilesIntegrationRequest - { - public integrationType: AwsS3IntegrationType; - public bucketName: string; - public region: string; - public roleArn?: string; - public externalId?: string; - public accessKey?: string; - public secretKey?: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class GoogleCloudFilesIntegrationRequest extends FilesIntegrationRequest - { - public bucketName: string; - public serviceAccountJsonKey: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class AzureBlobFilesIntegrationRequest extends FilesIntegrationRequest - { - public blobName: string; - public connectionString: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class LocalFilesIntegrationRequest extends FilesIntegrationRequest - { - public rootPath?: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export enum LoggingProvider - { - Console = 'Console', - DataDog = 'DataDog', - Kafka = 'Kafka', - Zabbix = 'Zabbix', - MicrosoftTeams = 'MicrosoftTeams', - Slack = 'Slack', - Telegram = 'Telegram', - AMQP = 'AMQP', - NewRelic = 'NewRelic', - Prometheus = 'Prometheus', - AzureOTel = 'AzureOTel', - Splunk = 'Splunk', - ElasticSearch = 'ElasticSearch', - Kibana = 'Kibana', - LocalFile = 'LocalFile', - AWSS3 = 'AWSS3', - AWSKinesis = 'AWSKinesis', - MongoDB = 'MongoDB', - InternalKafka = 'InternalKafka', - } - - export class LoggingIntegrationRequest - { - public integrationId?: string; - public provider: LoggingProvider; - public integrationName: string; - public isEnabled: boolean; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class AmqpLoggingIntegrationRequest extends LoggingIntegrationRequest - { - public host: string; - public port: number; - public virtualHost: string; - public exchange: string; - public routingKey: string; - public username: string; - public password: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class AwsKinesisLoggingIntegrationRequest extends LoggingIntegrationRequest - { - public streamName: string; - public region: string; - public accessKey: string; - public secretKey: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export enum AwsS3LoggingIntegrationType - { - Iam = 'Iam', - CrossAccountRole = 'CrossAccountRole', - } - - export class AwsS3LoggingIntegrationRequest extends LoggingIntegrationRequest - { - public integrationType: AwsS3LoggingIntegrationType; - public bucketName: string; - public region: string; - public roleArn?: string; - public externalId?: string; - public accessKey?: string; - public secretKey?: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class TelegramLoggingIntegrationRequest extends LoggingIntegrationRequest - { - public chatId: string; - public botToken: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class NewRelicLoggingIntegrationRequest extends LoggingIntegrationRequest - { - public region: string; - public serviceName: string; - public apiKey: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class MicrosoftTeamsLoggingIntegrationRequest extends LoggingIntegrationRequest - { - public channelName?: string; - public webhookUrl: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class MongoDbLoggingIntegrationRequest extends LoggingIntegrationRequest - { - public databaseName?: string; - public connectionString: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class KafkaLoggingIntegrationRequest extends LoggingIntegrationRequest - { - public bootstrapServers: string; - public topic: string; - public securityProtocol?: string; - public saslUsername?: string; - public saslPassword?: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class PrometheusLoggingIntegrationRequest extends LoggingIntegrationRequest - { - public endpointUrl: string; - public jobName?: string; - public bearerToken?: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class DataDogLoggingIntegrationRequest extends LoggingIntegrationRequest - { - public site: string; - public serviceName: string; - public environment: string; - public apiKey: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class InternalKafkaLoggingIntegrationRequest extends LoggingIntegrationRequest - { - public bootstrapServers: string; - public topic: string; - public securityProtocol?: string; - public saslUsername?: string; - public saslPassword?: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class ElasticSearchLoggingIntegrationRequest extends LoggingIntegrationRequest - { - public uri: string; - public index: string; - public username?: string; - public password?: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class ZabbixLoggingIntegrationRequest extends LoggingIntegrationRequest - { - public apiUrl: string; - public hostName: string; - public apiToken: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class SplunkLoggingIntegrationRequest extends LoggingIntegrationRequest - { - public hecEndpointUrl: string; - public index: string; - public hecToken: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class AzureOtelLoggingIntegrationRequest extends LoggingIntegrationRequest - { - public endpointUrl: string; - public resourceName: string; - public connectionString: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class KibanaLoggingIntegrationRequest extends LoggingIntegrationRequest - { - public uri: string; - public spaceId?: string; - public apiKey: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class LocalFileLoggingIntegrationRequest extends LoggingIntegrationRequest - { - public rootPath?: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export enum MembershipProvider - { - AppleSignIn = 'AppleSignIn', - GoogleSignIn = 'GoogleSignIn', - Google = 'Google', - Facebook = 'Facebook', - X = 'X', - GitHub = 'GitHub', - LinkedIn = 'LinkedIn', - Okta = 'Okta', - Microsoft = 'Microsoft', - } - - export class MembershipIntegrationRequest - { - public integrationId?: string; - public provider: MembershipProvider; - public integrationName: string; - public isEnabled: boolean; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class DisplayName - { - public value: string; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class RoleName - { - public name: string; - public displayName: string; - // @Ignore() - public isAdministrator: boolean; - - // @Ignore() - public isAuthenticated: boolean; - - // @Ignore() - public isGuest: boolean; - - // @Ignore() - public isRootRole: boolean; - - // @Ignore() - public isCollaboratorRole: boolean; - - // @Ignore() - public isSystemRole: boolean; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class OAuthModeConfig - { - public name: DisplayName; - public callbackUrl: string; - public logoutUrl?: string; - public failureRedirectUrl?: string; - public roleName?: RoleName; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class OktaMembershipIntegrationRequest extends MembershipIntegrationRequest - { - public domain: string; - public clientId: string; - public clientSecret: string; - public oAuthModes?: OAuthModeConfig[]; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class XMembershipIntegrationRequest extends MembershipIntegrationRequest - { - public apiKey: string; - public apiSecretKey: string; - public oAuthModes?: OAuthModeConfig[]; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class GoogleMembershipIntegrationRequest extends MembershipIntegrationRequest - { - public clientId: string; - public clientSecret: string; - public oAuthModes?: OAuthModeConfig[]; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class MicrosoftMembershipIntegrationRequest extends MembershipIntegrationRequest - { - public tenantId: string; - public clientId: string; - public clientSecret: string; - public oAuthModes?: OAuthModeConfig[]; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class GitHubMembershipIntegrationRequest extends MembershipIntegrationRequest - { - public clientId: string; - public clientSecret: string; - public oAuthModes?: OAuthModeConfig[]; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class MetaMembershipIntegrationRequest extends MembershipIntegrationRequest - { - public appId: string; - public appSecret: string; - public oAuthModes?: OAuthModeConfig[]; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class AppleMembershipIntegrationRequest extends MembershipIntegrationRequest - { - public teamId: string; - public appBundleId: string; - public serviceId: string; - public keyId: string; - public privateKey: string; - public isProduction: boolean; - public oAuthModes?: OAuthModeConfig[]; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export enum PaymentGatewayPlatform - { - Stripe = 'Stripe', - Adyen = 'Adyen', - Paddle = 'Paddle', - LemonSqueezy = 'LemonSqueezy', - AppleInApp = 'AppleInApp', - GoogleInApp = 'GoogleInApp', - Shopify = 'Shopify', - WooCommerce = 'WooCommerce', - Magento = 'Magento', - PayPal = 'PayPal', - Braintree = 'Braintree', - AuthorizeNet = 'AuthorizeNet', - CheckOutCom = 'CheckOutCom', - Mollie = 'Mollie', - Worldpay = 'Worldpay', - } - - export class PaymentIntegrationRequest - { - public integrationId?: string; - public gatewayPlatform: PaymentGatewayPlatform; - public integrationName: string; - public isEnabled: boolean; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class LemonSqueezyPaymentIntegrationRequest extends PaymentIntegrationRequest - { - public storeId: string; - public apiKey: string; - public webhookSigningSecret: string; - public isTestMode: boolean; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class AdyenPaymentIntegrationRequest extends PaymentIntegrationRequest - { - public merchantAccount: string; - public apiKey: string; - public environment: string; - public webhookId?: string; - public webhookHmacKey?: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class MolliePaymentIntegrationRequest extends PaymentIntegrationRequest - { - public profileId: string; - public apiKey: string; - public isTestMode: boolean; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class PaddlePaymentIntegrationRequest extends PaymentIntegrationRequest - { - public apiKey: string; - public webhookEndpointSecretKey: string; - public environment: string; - public clientSideToken?: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class PayPalPaymentIntegrationRequest extends PaymentIntegrationRequest - { - public clientId: string; - public clientSecret: string; - public environment: string; - public brandName?: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class StripePaymentIntegrationRequest extends PaymentIntegrationRequest - { - public publishableKey: string; - public secretKey: string; - public webhookSigningSecret: string; - public webhookEndpointId?: string; - public defaultCurrency?: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class AppleInAppPaymentIntegrationRequest extends PaymentIntegrationRequest - { - public merchantIdentifier: string; - public merchantDomain: string; - public displayName: string; - public merchantIdentityCertificateP12Base64: string; - public merchantIdentityCertificatePassword: string; - public paymentProcessingCertificateP12Base64: string; - public paymentProcessingCertificatePassword: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class GoogleInAppPaymentIntegrationRequest extends PaymentIntegrationRequest - { - public merchantId: string; - public merchantName: string; - public gateway: string; - public privateKeyOrToken: string; - public gatewayMerchantId?: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - // @DataContract - export enum PushProvider - { - AppleApns = 'AppleApns', - SafariWeb = 'SafariWeb', - SafariPush = 'SafariPush', - AndroidFirebase = 'AndroidFirebase', - ChromeWeb = 'ChromeWeb', - FirefoxWeb = 'FirefoxWeb', - EdgeWeb = 'EdgeWeb', - ChromePush = 'ChromePush', - CodeMashIosApp = 'CodeMashIosApp', - CodeMashAndroidApp = 'CodeMashAndroidApp', - CodeMashSafariPlugin = 'CodeMashSafariPlugin', - CodeMashSafariWeb = 'CodeMashSafariWeb', - CodeMashChromePlugin = 'CodeMashChromePlugin', - CodeMashChromeWeb = 'CodeMashChromeWeb', - Expo = 'Expo', - } - - export class PushIntegrationRequest - { - public integrationId?: string; - public provider: PushProvider; - public integrationName: string; - public isEnabled: boolean; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class EdgeWebPushIntegrationRequest extends PushIntegrationRequest - { - public vapidPublicKey: string; - public vapidPrivateKey: string; - public subject?: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class ChromePluginPushIntegrationRequest extends PushIntegrationRequest - { - public extensionId: string; - public vapidPublicKey: string; - public vapidPrivateKey: string; - public subject?: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class SafariPushIntegrationRequest extends PushIntegrationRequest - { - public websitePushId: string; - public certificateP12Base64: string; - public certificatePassword: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class ChromeWebPushIntegrationRequest extends PushIntegrationRequest - { - public vapidPublicKey: string; - public vapidPrivateKey: string; - public subject?: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class FirefoxWebPushIntegrationRequest extends PushIntegrationRequest - { - public vapidPublicKey: string; - public vapidPrivateKey: string; - public subject?: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class AndroidFirebasePushIntegrationRequest extends PushIntegrationRequest - { - public projectId: string; - public clientEmail: string; - public serviceAccountJson: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class AppleApnsPushIntegrationRequest extends PushIntegrationRequest - { - public teamId: string; - public appBundleId: string; - public keyId: string; - public privateKey: string; - public isProduction: boolean; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export enum CodeProvider - { - AwsLambda = 'AwsLambda', - AzureFunctions = 'AzureFunctions', - GoogleCloudFunctions = 'GoogleCloudFunctions', - Pipedream = 'Pipedream', - Zapier = 'Zapier', - CloudflareWorkers = 'CloudflareWorkers', - Vercel = 'Vercel', - Netlify = 'Netlify', - SupabaseEdge = 'SupabaseEdge', - Modal = 'Modal', - } - - export class CodeIntegrationRequest - { - public integrationId?: string; - public provider: CodeProvider; - public integrationName: string; - public isEnabled: boolean; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export enum AwsLambdaIntegrationType - { - Iam = 'Iam', - CrossAccountRole = 'CrossAccountRole', - } - - export class AwsLambdaCodeIntegrationRequest extends CodeIntegrationRequest - { - public integrationType: AwsLambdaIntegrationType; - public region: string; - public roleArn?: string; - public externalId?: string; - public accessKey?: string; - public secretKey?: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class AzureFunctionsCodeIntegrationRequest extends CodeIntegrationRequest - { - public functionAppName: string; - public resourceGroup?: string; - public connectionStringOrKey: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class GoogleCloudFunctionsCodeIntegrationRequest extends CodeIntegrationRequest - { - public projectId: string; - public region?: string; - public serviceAccountJsonKey: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export enum LlmProvider - { - OpenAI = 'OpenAI', - Anthropic = 'Anthropic', - Ollama = 'Ollama', - Groq = 'Groq', - Google = 'Google', - Mistral = 'Mistral', - OpenRouter = 'OpenRouter', - Grok = 'Grok', - } - - export class LlmIntegrationRequest - { - public integrationId?: string; - public provider: LlmProvider; - public integrationName: string; - public isEnabled: boolean; - public endpoint?: string; - public defaultModel?: string; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class OllamaLlmIntegrationRequest extends LlmIntegrationRequest - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class OpenRouterLlmIntegrationRequest extends LlmIntegrationRequest implements ILlmApiKeyRequest - { - public apiKey: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class MistralLlmIntegrationRequest extends LlmIntegrationRequest implements ILlmApiKeyRequest - { - public apiKey: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class GrokLlmIntegrationRequest extends LlmIntegrationRequest implements ILlmApiKeyRequest - { - public apiKey: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class GroqLlmIntegrationRequest extends LlmIntegrationRequest implements ILlmApiKeyRequest - { - public apiKey: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class GoogleLlmIntegrationRequest extends LlmIntegrationRequest implements ILlmApiKeyRequest - { - public apiKey: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class AnthropicLlmIntegrationRequest extends LlmIntegrationRequest implements ILlmApiKeyRequest - { - public apiKey: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class OpenAiLlmIntegrationRequest extends LlmIntegrationRequest implements ILlmApiKeyRequest - { - public apiKey: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export enum McpProvider - { - Docker = 'Docker', - Obsidian = 'Obsidian', - GoogleCalendar = 'GoogleCalendar', - } - - export enum McpTransport - { - Sse = 'Sse', - HttpStream = 'HttpStream', - Stdio = 'Stdio', - } - - export class McpIntegrationRequest - { - public integrationId?: string; - public provider: McpProvider; - public transport: McpTransport; - public integrationName: string; - public isEnabled: boolean; - public name: string; - public category: string; - public description: string; - public icon: string; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class PlaywrightMcpIntegrationRequest extends McpIntegrationRequest - { - public command?: string; - public args?: string[]; - public headless: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class MongoDbMcpIntegrationRequest extends McpIntegrationRequest - { - public command?: string; - public args?: string[]; - public connectionString: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class GitHubMcpIntegrationRequest extends McpIntegrationRequest - { - public serverUrl: string; - public accessToken: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class StripeMcpIntegrationRequest extends McpIntegrationRequest - { - public serverUrl: string; - public apiKey: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class BraveSearchMcpIntegrationRequest extends McpIntegrationRequest - { - public serverUrl: string; - public apiKey: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class ObsidianMcpIntegrationRequest extends McpIntegrationRequest - { - public command?: string; - public args?: string[]; - public environmentVariables?: { [index:string]: string; }; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export enum CommunicationChannel - { - Transactional = 'Transactional', - Marketing = 'Marketing', - System = 'System', - } - - // @DataContract - export class TemplateDto implements IHasViewId - { - // @DataMember - public viewId: string; - - // @DataMember - public templateName: string; - - // @DataMember - public description?: string; - - // @DataMember - public communicationChannel: CommunicationChannel; - - // @DataMember - public isActive: boolean; - - // @DataMember - public tags?: string[]; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export enum EmailTemplateEngine - { - NotSet = 'NotSet', - Handlebars = 'Handlebars', - Mjml = 'Mjml', - Liquid = 'Liquid', - Razor = 'Razor', - Mustache = 'Mustache', - } - - // @DataContract - export class EmailBodyDto implements IHasRazorTemplateCode - { - // @DataMember - public structure?: string; - - // @DataMember - public code: string; - - // @DataMember - public templateEngine: EmailTemplateEngine; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - // @DataContract - export class EmailMessageContentDto implements IHasRazorTemplateCode - { - // @DataMember - public subject: string; - - // @DataMember - public body: EmailBodyDto; - - // @DataMember - public staticAttachments?: IReadOnlySet; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - // @DataContract - export class EmailMessageTranslationDto implements IHasRazorTemplateCode - { - // @DataMember - public language: string; - - // @DataMember - public content: EmailMessageContentDto; - - // @DataMember - public staticAttachments?: IReadOnlySet; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - // @DataContract - export class EmailTemplateDto extends TemplateDto implements IBindableContract - { - // @DataMember - public translations: IReadOnlySet; - - // @DataMember - public staticAttachments?: IReadOnlySet; +export interface IReturn +{ + createResponse(): T; +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export interface IReturnVoid +{ + createResponse(): void; +} - // @DataContract - export class PushMessageContentDto implements IHasRazorTemplateCode - { - // @DataMember - public title: string; - - // @DataMember - public body: string; +export interface IHasSessionId +{ + sessionId?: string; +} - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - // @DataContract - export class PushMessageTranslationDto implements IHasRazorTemplateCode - { - // @DataMember - public language: string; +export interface IHasBearerToken +{ + bearerToken?: string; +} - // @DataMember - public content: PushMessageContentDto; +export interface IPost +{ +} - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } +// @DataContract +export enum EmailProvider +{ + Smtp = 'Smtp', + SendGrid = 'SendGrid', + MailGun = 'MailGun', + AwsSes = 'AwsSes', + Fake = 'Fake', +} - // @DataContract - export class PushTemplateDto extends TemplateDto implements IHasRazorTemplateCode, IBindableContract - { - // @DataMember - public translations: IReadOnlySet; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - // @DataContract - export class SmsMessageContentDto implements IHasRazorTemplateCode - { - // @DataMember - public subject: string; +export class EmailIntegrationRequest +{ + public integrationId?: string; + public provider: EmailProvider; + public integrationName: string; + public isEnabled: boolean; + public emailAddress: string; + public emailSenderName?: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - // @DataMember - public body: string; +export enum SmtpPorts +{ + Default = 25, + Ssl = 465, + Tls = 587, + Fallback = 2525, +} - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } +export class SmtpEmailIntegrationRequest extends EmailIntegrationRequest +{ + public provider: EmailProvider; + public domain: string; + public port: SmtpPorts; + public userName: string; + public password: string; - // @DataContract - export class SmsMessageTranslationDto implements IHasRazorTemplateCode - { - // @DataMember - public language: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public content: SmsMessageContentDto; +export enum AwsIntegrationType +{ + Iam = 'Iam', + CrossAccountRole = 'CrossAccountRole', +} - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } +export class AwsSesEmailIntegrationRequest extends EmailIntegrationRequest +{ + public provider: EmailProvider; + public integrationType: AwsIntegrationType; + public awsRegion: string; + public emailIdentityArn: string; + public configurationSet?: string; + public roleArn?: string; + public externalId?: string; + public accessKey?: string; + public secretKey?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataContract - export class SmsTemplateDto extends TemplateDto implements IHasRazorTemplateCode, IBindableContract - { - // @DataMember - public translations: IReadOnlySet; +export class SendGridEmailIntegrationRequest extends EmailIntegrationRequest +{ + public provider: EmailProvider; + public apiKey: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - export enum SystemEmailTemplateTheme - { - Text = 'Text', - Branded = 'Branded', - Creative = 'Creative', - } +export enum MailGunRegion +{ + Us = 'Us', + Eu = 'Eu', +} - // @DataContract - export class SystemEmailTemplateDto extends EmailTemplateDto implements IHasDatabaseId - { - // @DataMember - public imagePreview: string; +export class MailGunEmailIntegrationRequest extends EmailIntegrationRequest +{ + public provider: EmailProvider; + public domain: string; + public apiKey: string; + public webhookSigningKey: string; + public region: MailGunRegion; - // @DataMember - public theme: SystemEmailTemplateTheme; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public systemGroup: string; +export enum EmailCampaignRecipientsSourceTypes +{ + AllUsers = 'AllUsers', + SpecifiedUsers = 'SpecifiedUsers', + AccountUsers = 'AccountUsers', + Email = 'Email', + Collection = 'Collection', +} - // @DataMember - public systemTags?: string[]; - - // @DataMember - public forTrigger?: TriggerType; - - // @DataMember - public hiddenSystemEmailTemplate: boolean; +export enum TokenMappingResolverType +{ + NotSet = 'NotSet', + Custom = 'Custom', + Project = 'Project', + ProjectSocials = 'ProjectSocials', + Initiator = 'Initiator', + Recipient = 'Recipient', + SchemaRecord = 'SchemaRecord', + TargetUser = 'TargetUser', + TagDefinitions = 'TagDefinitions', + EmailSignatures = 'EmailSignatures', + Campaign = 'Campaign', + Template = 'Template', + EmailFooters = 'EmailFooters', + Old = 'Old', + New = 'New', +} - // @DataMember - public id?: string; +// @DataContract +export class TokenMappingDto +{ + // @DataMember + public key: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - // @Flags() - export enum RespectTimeZoneSettings - { - RespectToLastLoginZone = 1, - RespectToRegistrationZone = 2, - RespectToRegistrationProjectZone = 4, - } + // @DataMember + public value: string; - export class EmailCampaignDeliverySettingsDto - { - // @DataMember - public recipientsSourceType: EmailCampaignRecipientsSourceTypes; - - // @DataMember - public mappedTokens?: IReadOnlySet; + // @DataMember + public resolver: TokenMappingResolverType; - // @DataMember - public campaignTime?: number; - - // @DataMember - public respectTimeZoneSettings?: RespectTimeZoneSettings; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - // @DataContract - export class TriggerActionEmailDto extends TriggerActionDto - { - // @DataMember - public templateId: string; - - // @DataMember - public deliverySettings: EmailCampaignDeliverySettingsDto; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - export enum PushCampaignRecipientsSourceTypes - { - AllUsers = 'AllUsers', - SpecifiedUsers = 'SpecifiedUsers', - Collection = 'Collection', - Devices = 'Devices', - } +export class EmailCampaignRequest +{ + public source: EmailCampaignRecipientsSourceTypes; + public templateId: string; + public integrationId?: string; + public validationIntegrationId?: string; + public language?: string; + public initiatorId?: string; + public notes?: string; + // @DataMember + public mappedTokens?: TokenMappingDto[]; + + // @DataMember + public campaignTime?: number; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - // @DataContract - export class PushCampaignDeliverySettingsDto - { - // @DataMember - public recipientsSourceType: PushCampaignRecipientsSourceTypes; +export class EmailToAllUsersDeliverySettingsRequest extends EmailCampaignRequest +{ + public source: EmailCampaignRecipientsSourceTypes; + public rolesNames?: string[]; + public userTags?: string[]; - // @DataMember - public mappedTokens?: TokenMappingDto[]; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public campaignTime?: number; +export class EmailToAccountUsersDeliverySettingsRequest extends EmailCampaignRequest +{ + public source: EmailCampaignRecipientsSourceTypes; + public userRecipients: string[] = []; + public userCc?: string[]; + public userBcc?: string[]; + public singleEmailStrategy: boolean; - // @DataMember - public respectTimeZoneSettings?: RespectTimeZoneSettings; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } +export enum CollectionEmailCampaignRecipientField +{ + User = 'User', + Email = 'Email', +} - // @DataContract - export class TriggerActionPushDto extends TriggerActionDto - { - // @DataMember - public templateId: string; +export class EmailToCollectionRecordsDeliverySettingsRequest extends EmailCampaignRequest +{ + public source: EmailCampaignRecipientsSourceTypes; + public fields: string[] = []; + public schemaName: string; + public fieldType: CollectionEmailCampaignRecipientField; + public roleNames?: string[]; + public languages?: string[]; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public deliverySettings: PushCampaignDeliverySettingsDto; +export class EmailToEmailsDeliverySettingsRequest extends EmailCampaignRequest +{ + public source: EmailCampaignRecipientsSourceTypes; + public recipients: string[] = []; + public recipientsCc?: string[]; + public recipientsBcc?: string[]; + public singleEmailStrategy: boolean; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataContract - export class CodeDeliverySettingsDto - { - // @DataMember - public mappedTokens?: TokenMappingDto[]; +export class EmailToUsersDeliverySettingsRequest extends EmailCampaignRequest +{ + public source: EmailCampaignRecipientsSourceTypes; + public userRecipients: string[] = []; + public userCc?: string[]; + public userBcc?: string[]; + public singleEmailStrategy: boolean; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataContract - export class TriggerActionCodeDto extends TriggerActionDto - { - // @DataMember - public functionId: string; +export enum TriggerType +{ + Membership = 'Membership', + Schema = 'Schema', + Files = 'Files', + Payments = 'Payments', +} - // @DataMember - public deliverySettings: CodeDeliverySettingsDto; +export enum TriggerActionType +{ + Code = 'Code', + Push = 'Push', + Sms = 'Sms', + Email = 'Email', + WebhookCall = 'WebhookCall', + SseCall = 'SseCall', + Marketplace = 'Marketplace', +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +// @DataContract +export class TriggerActionDto +{ + // @DataMember + public type: TriggerActionType; - // @DataContract - export class WebhookDeliverySettingsDto - { - // @DataMember - public eventName?: string; + // @DataMember + public integrationId?: string; - // @DataMember - public contentType?: string; + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - // @DataMember - public includeRawPayload: boolean; +export class SaveTriggerRequest +{ + public type: TriggerType; + public triggerId?: string; + public name: string; + public description?: string; + public isEnabled: boolean; + public preExecuteCode?: string; + public action: TriggerActionDto; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - // @DataMember - public mappedTokens?: IReadOnlySet; +export enum MembershipTriggerType +{ + OnRegistered = 'OnRegistered', + OnInvited = 'OnInvited', + OnVerified = 'OnVerified', + OnUpdated = 'OnUpdated', + OnDeleted = 'OnDeleted', + OnBlocked = 'OnBlocked', + OnReactivated = 'OnReactivated', + OnUserCreated = 'OnUserCreated', +} - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } +export class MembershipTriggerRequest extends SaveTriggerRequest +{ + public type: TriggerType; + public when: MembershipTriggerType; - // @DataContract - export class TriggerActionWebhookDto extends TriggerActionDto - { - // @DataMember - public deliverySettings?: WebhookDeliverySettingsDto; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export enum SchemaTriggerType +{ + OnInserted = 'OnInserted', + OnDeleted = 'OnDeleted', + OnUpdated = 'OnUpdated', +} - // @DataContract - export class EmailToAllUsersDeliverySettingsDto extends EmailCampaignDeliverySettingsDto - { - // @DataMember - public rolesNames?: IReadOnlySet; +export class SchemaTriggerRequest extends SaveTriggerRequest +{ + public type: TriggerType; + public schemaId: string; + public when: SchemaTriggerType; + public configurationCode?: string; - // @DataMember - public userTags?: IReadOnlySet; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export enum FilesTriggerType +{ + OnFileUploaded = 'OnFileUploaded', + OnFileDeleted = 'OnFileDeleted', +} - // @DataContract - export class EmailToAccountUsersDeliverySettingsDto extends EmailCampaignDeliverySettingsDto - { - // @DataMember - public userRecipients: IReadOnlySet; +export class FilesTriggerRequest extends SaveTriggerRequest +{ + public type: TriggerType; + public when: FilesTriggerType; + public folder?: string; - // @DataMember - public userCc?: IReadOnlySet; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public userBcc?: IReadOnlySet; +export enum PaymentTriggerType +{ + OnOrderCreated = 'OnOrderCreated', + OnOrderPaid = 'OnOrderPaid', + OnWebhookCallReceived = 'OnWebhookCallReceived', +} - // @DataMember - public singleEmailStrategy: boolean; +export class PaymentTriggerRequest extends SaveTriggerRequest +{ + public type: TriggerType; + public when: PaymentTriggerType; + public integrations?: string[]; + public events?: string[]; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataContract - export class EmailToUsersDeliverySettingsDto extends EmailCampaignDeliverySettingsDto - { - // @DataMember - public userRecipients: IReadOnlySet; +export enum DatabaseProvider +{ + MongoDbConnectionString = 'MongoDbConnectionString', + CodeMashMongoDbAtlasFlexManaged = 'CodeMashMongoDbAtlasFlexManaged', +} - // @DataMember - public userCc?: IReadOnlySet; +export class DatabaseIntegrationRequest +{ + public integrationId?: string; + public provider: DatabaseProvider; + public integrationName: string; + public isEnabled: boolean; - // @DataMember - public userBcc?: IReadOnlySet; + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - // @DataMember - public singleEmailStrategy: boolean; +export class MongoDbConnectionStringDatabaseIntegrationRequest extends DatabaseIntegrationRequest +{ + public provider: DatabaseProvider; + public databaseName?: string; + public connectionString: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataContract - export class EmailToEmailAddressesDeliverySettingsDto extends EmailCampaignDeliverySettingsDto - { - // @DataMember - public recipients: IReadOnlySet; +export class MongoDbAtlasFlexManagedDatabaseIntegrationRequest extends DatabaseIntegrationRequest +{ + public provider: DatabaseProvider; + public norbixRegionCode: string; - // @DataMember - public recipientsCc?: IReadOnlySet; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public recipientsBcc?: IReadOnlySet; +export enum FileProvider +{ + Local = 'Local', + AwsS3 = 'AwsS3', + AzureBlobStorage = 'AzureBlobStorage', + GoogleCloudStorage = 'GoogleCloudStorage', + Ftp = 'Ftp', + AppleICloud = 'AppleICloud', + DropBox = 'DropBox', + GoogleDrive = 'GoogleDrive', +} - // @DataMember - public singleEmailStrategy: boolean; +export class FilesIntegrationRequest +{ + public integrationId?: string; + public provider: FileProvider; + public integrationName: string; + public isEnabled: boolean; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - // @DataContract - export class EmailToCollectionRecordsDeliverySettingsDto extends EmailCampaignDeliverySettingsDto - { - // @DataMember - public fields: IReadOnlySet; +export class GoogleDriveFilesIntegrationRequest extends FilesIntegrationRequest +{ + public provider: FileProvider; + public rootFolderId?: string; + public serviceAccountJsonKey: string; - // @DataMember - public schemaName: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public fieldType: CollectionEmailCampaignRecipientField; +export class FtpFilesIntegrationRequest extends FilesIntegrationRequest +{ + public provider: FileProvider; + public host: string; + public port: number; + public rootPath?: string; + public useSsl: boolean; + public username: string; + public password: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public roleNames?: IReadOnlySet; +export class DropBoxFilesIntegrationRequest extends FilesIntegrationRequest +{ + public provider: FileProvider; + public rootPath?: string; + public accessToken: string; - // @DataMember - public languages?: IReadOnlySet; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export class AppleICloudFilesIntegrationRequest extends FilesIntegrationRequest +{ + public provider: FileProvider; + public containerIdentifier: string; + public relativePath?: string; + public keyId: string; + public teamId: string; + public bundleId: string; + public p8PrivateKey: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataContract - export class PushToAllUsersDeliverySettingsDto extends PushCampaignDeliverySettingsDto - { - // @DataMember - public rolesNames?: string[]; +export enum AwsS3IntegrationType +{ + Iam = 'Iam', + CrossAccountRole = 'CrossAccountRole', +} - // @DataMember - public userTags?: string[]; +export class AwsS3FilesIntegrationRequest extends FilesIntegrationRequest +{ + public provider: FileProvider; + public integrationType: AwsS3IntegrationType; + public bucketName: string; + public region: string; + public roleArn?: string; + public externalId?: string; + public accessKey?: string; + public secretKey?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export class GoogleCloudFilesIntegrationRequest extends FilesIntegrationRequest +{ + public provider: FileProvider; + public bucketName: string; + public serviceAccountJsonKey: string; - // @DataContract - export class PushToUsersDeliverySettingsDto extends PushCampaignDeliverySettingsDto - { - // @DataMember - public recipients: string[] = []; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export class AzureBlobFilesIntegrationRequest extends FilesIntegrationRequest +{ + public provider: FileProvider; + public blobName: string; + public connectionString: string; - // @DataContract - export class PushToCollectionRecordsDeliverySettingsDto extends PushCampaignDeliverySettingsDto - { - // @DataMember - public fields: string[] = []; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public fieldType: CollectionEmailCampaignRecipientField; +export class LocalFilesIntegrationRequest extends FilesIntegrationRequest +{ + public provider: FileProvider; + public rootPath?: string; - // @DataMember - public schemaName: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public roleNames?: string[]; +export enum LoggingProvider +{ + Console = 'Console', + NorbixLogging = 'NorbixLogging', + DataDog = 'DataDog', + NewRelic = 'NewRelic', + Sentry = 'Sentry', + GrafanaLoki = 'GrafanaLoki', + Axiom = 'Axiom', + ElasticCloud = 'ElasticCloud', + AWSCloudWatch = 'AWSCloudWatch', + GCPCloudLogging = 'GCPCloudLogging', + AzureMonitorLogs = 'AzureMonitorLogs', + GenericHttp = 'GenericHttp', + Kafka = 'Kafka', + AMQP = 'AMQP', + Prometheus = 'Prometheus', + AzureOTel = 'AzureOTel', + Splunk = 'Splunk', + ElasticSearch = 'ElasticSearch', + Kibana = 'Kibana', + LocalFile = 'LocalFile', + AWSS3 = 'AWSS3', + AWSKinesis = 'AWSKinesis', + MongoDB = 'MongoDB', + InternalKafka = 'InternalKafka', +} - // @DataMember - public languages?: string[]; +export class LoggingIntegrationRequest +{ + public integrationId?: string; + public provider: LoggingProvider; + public integrationName: string; + public isEnabled: boolean; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - // @DataContract - export class PushDeviceDeliveryTokenDto - { +export class AmqpLoggingIntegrationRequest extends LoggingIntegrationRequest +{ + public provider: LoggingProvider; + public host: string; + public port: number; + public virtualHost: string; + public exchange: string; + public routingKey: string; + public username: string; + public password: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } +export class AwsKinesisLoggingIntegrationRequest extends LoggingIntegrationRequest +{ + public provider: LoggingProvider; + public streamName: string; + public region: string; + public accessKey: string; + public secretKey: string; - // @DataContract - export class PushToDevicesDeliverySettingsDto extends PushCampaignDeliverySettingsDto - { - // @DataMember - public devices: PushDeviceDeliveryTokenDto[] = []; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export enum AwsS3LoggingIntegrationType +{ + Iam = 'Iam', + CrossAccountRole = 'CrossAccountRole', +} - export enum SmsCampaignRecipientsSourceTypes - { - AllUsers = 'AllUsers', - SpecifiedUsers = 'SpecifiedUsers', - AccountUsers = 'AccountUsers', - PhoneNumbers = 'PhoneNumbers', - Collection = 'Collection', - } +export class AwsS3LoggingIntegrationRequest extends LoggingIntegrationRequest +{ + public provider: LoggingProvider; + public integrationType: AwsS3LoggingIntegrationType; + public bucketName: string; + public region: string; + public roleArn?: string; + public externalId?: string; + public accessKey?: string; + public secretKey?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataContract - export class SmsCampaignDeliverySettingsDto - { - // @DataMember - public recipientsSourceType: SmsCampaignRecipientsSourceTypes; +export class NewRelicLoggingIntegrationRequest extends LoggingIntegrationRequest +{ + public provider: LoggingProvider; + public region: string; + public serviceName: string; + public apiKey: string; - // @DataMember - public mappedTokens?: TokenMappingDto[]; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public campaignTime?: number; +export class MongoDbLoggingIntegrationRequest extends LoggingIntegrationRequest +{ + public provider: LoggingProvider; + public databaseName?: string; + public connectionString: string; - // @DataMember - public respectTimeZoneSettings?: RespectTimeZoneSettings; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } +export class KafkaLoggingIntegrationRequest extends LoggingIntegrationRequest +{ + public provider: LoggingProvider; + public bootstrapServers: string; + public topic: string; + public securityProtocol?: string; + public saslUsername?: string; + public saslPassword?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataContract - export class SmsToAllUsersDeliverySettingsDto extends SmsCampaignDeliverySettingsDto - { - // @DataMember - public rolesNames?: string[]; +export class PrometheusLoggingIntegrationRequest extends LoggingIntegrationRequest +{ + public provider: LoggingProvider; + public endpointUrl: string; + public jobName?: string; + public bearerToken?: string; - // @DataMember - public userTags?: string[]; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export class DataDogLoggingIntegrationRequest extends LoggingIntegrationRequest +{ + public provider: LoggingProvider; + public site: string; + public serviceName: string; + public environment: string; + public apiKey: string; - // @DataContract - export class SmsToUsersDeliverySettingsDto extends SmsCampaignDeliverySettingsDto - { - // @DataMember - public recipients: string[] = []; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export class InternalKafkaLoggingIntegrationRequest extends LoggingIntegrationRequest +{ + public provider: LoggingProvider; + public bootstrapServers: string; + public topic: string; + public securityProtocol?: string; + public saslUsername?: string; + public saslPassword?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataContract - export class SmsToCollectionRecordsDeliverySettingsDto extends SmsCampaignDeliverySettingsDto - { - // @DataMember - public fields: string[] = []; +export class ElasticSearchLoggingIntegrationRequest extends LoggingIntegrationRequest +{ + public provider: LoggingProvider; + public uri: string; + public index: string; + public username?: string; + public password?: string; - // @DataMember - public fieldType: CollectionEmailCampaignRecipientField; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public schemaName: string; +export class SplunkLoggingIntegrationRequest extends LoggingIntegrationRequest +{ + public provider: LoggingProvider; + public hecEndpointUrl: string; + public index: string; + public hecToken: string; - // @DataMember - public roleNames?: string[]; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public languages?: string[]; +export class AzureOtelLoggingIntegrationRequest extends LoggingIntegrationRequest +{ + public provider: LoggingProvider; + public endpointUrl: string; + public resourceName: string; + public connectionString: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataContract - export class SmsToPhoneNumbersDeliverySettingsDto extends SmsCampaignDeliverySettingsDto - { - // @DataMember - public phoneNumbers: string[] = []; +export class KibanaLoggingIntegrationRequest extends LoggingIntegrationRequest +{ + public provider: LoggingProvider; + public uri: string; + public spaceId?: string; + public apiKey: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class IntegrationDto implements IHasViewId - { - public viewId: string; - public integrationName: string; - public isEnabled: boolean; - public lastIntegrationTestAtUtc?: string; - public lastIntegrationTestSucceeded?: boolean; - public lastIntegrationTestErrors: IReadOnlyList; - public humanDeliveryConfirmedAtUtc?: string; - public requiresHumanDeliveryConfirmation: boolean; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class LlmIntegrationDto extends IntegrationDto - { - public provider: LlmProvider; - public baseUrl?: string; - public defaultModel?: string; - public isConfigured: boolean; - public isSystemOwned: boolean; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export class LocalFileLoggingIntegrationRequest extends LoggingIntegrationRequest +{ + public provider: LoggingProvider; + public rootPath?: string; - export class OpenAiLlmIntegrationDto extends LlmIntegrationDto - { + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export enum MembershipProvider +{ + AppleSignIn = 'AppleSignIn', + GoogleSignIn = 'GoogleSignIn', + Google = 'Google', + Facebook = 'Facebook', + X = 'X', + GitHub = 'GitHub', + LinkedIn = 'LinkedIn', + Okta = 'Okta', + Microsoft = 'Microsoft', +} - export class AnthropicLlmIntegrationDto extends LlmIntegrationDto - { +export class MembershipIntegrationRequest +{ + public integrationId?: string; + public provider: MembershipProvider; + public integrationName: string; + public isEnabled: boolean; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - export class OllamaLlmIntegrationDto extends LlmIntegrationDto - { +export class DisplayName +{ + public value: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - export class GroqLlmIntegrationDto extends LlmIntegrationDto - { +export class RoleName +{ + public name: string; + public displayName: string; + // @Ignore() + public isAdministrator: boolean; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @Ignore() + public isAuthenticated: boolean; - export class GoogleLlmIntegrationDto extends LlmIntegrationDto - { + // @Ignore() + public isGuest: boolean; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @Ignore() + public isRootRole: boolean; - export class MistralLlmIntegrationDto extends LlmIntegrationDto - { + // @Ignore() + public isCollaboratorRole: boolean; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @Ignore() + public isProjectSystemRole: boolean; - export class OpenRouterLlmIntegrationDto extends LlmIntegrationDto - { + // @Ignore() + public isAccountSystemRole: boolean; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @Ignore() + public isSystemRole: boolean; - export class GrokLlmIntegrationDto extends LlmIntegrationDto - { + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export class OAuthModeConfig +{ + public name: DisplayName; + public callbackUrl: string; + public logoutUrl?: string; + public failureRedirectUrl?: string; + public roleName?: RoleName; - export class McpMetadata - { - public name: string; - public category: string; - public description: string; - public icon: string; + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } +export class OktaMembershipIntegrationRequest extends MembershipIntegrationRequest +{ + public provider: MembershipProvider; + public domain: string; + public clientId: string; + public clientSecret: string; + public oAuthModes?: OAuthModeConfig[]; - export enum McpAuth - { - OAuth2 = 'OAuth2', - ApiKey = 'ApiKey', - None = 'None', - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - export class McpIntegrationDto extends IntegrationDto - { - public provider: McpProvider; - public transport: McpTransport; - public metadata: McpMetadata; - public isConfigured: boolean; - public isSystemOwned: boolean; - public command?: string; - public args?: string[]; - public serverUrl?: string; - public auth?: McpAuth; +export class XMembershipIntegrationRequest extends MembershipIntegrationRequest +{ + public provider: MembershipProvider; + public apiKey: string; + public apiSecretKey: string; + public oAuthModes?: OAuthModeConfig[]; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - export class DockerMcpIntegrationDto extends McpIntegrationDto - { +export class GoogleMembershipIntegrationRequest extends MembershipIntegrationRequest +{ + public provider: MembershipProvider; + public clientId: string; + public clientSecret: string; + public oAuthModes?: OAuthModeConfig[]; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - export class GoogleCalendarMcpIntegrationDto extends McpIntegrationDto - { +export class MicrosoftMembershipIntegrationRequest extends MembershipIntegrationRequest +{ + public provider: MembershipProvider; + public tenantId: string; + public clientId: string; + public clientSecret: string; + public oAuthModes?: OAuthModeConfig[]; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - export class ObsidianMcpIntegrationDto extends McpIntegrationDto - { +export class GitHubMembershipIntegrationRequest extends MembershipIntegrationRequest +{ + public provider: MembershipProvider; + public clientId: string; + public clientSecret: string; + public oAuthModes?: OAuthModeConfig[]; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - export class CodeIntegrationDto extends IntegrationDto - { - public provider: CodeProvider; +export class MetaMembershipIntegrationRequest extends MembershipIntegrationRequest +{ + public provider: MembershipProvider; + public appId: string; + public appSecret: string; + public oAuthModes?: OAuthModeConfig[]; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - export class AwsLambdaCrossAccountRoleCodeIntegrationDto extends CodeIntegrationDto - { - public region: string; - public roleArn: string; - public externalId: string; +export class AppleMembershipIntegrationRequest extends MembershipIntegrationRequest +{ + public provider: MembershipProvider; + public teamId: string; + public appBundleId: string; + public serviceId: string; + public keyId: string; + public privateKey: string; + public isProduction: boolean; + public oAuthModes?: OAuthModeConfig[]; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export enum PaymentGatewayPlatform +{ + Stripe = 'Stripe', + Adyen = 'Adyen', + Paddle = 'Paddle', + LemonSqueezy = 'LemonSqueezy', + AppleInApp = 'AppleInApp', + GoogleInApp = 'GoogleInApp', + Shopify = 'Shopify', + WooCommerce = 'WooCommerce', + Magento = 'Magento', + PayPal = 'PayPal', + Braintree = 'Braintree', + AuthorizeNet = 'AuthorizeNet', + CheckOutCom = 'CheckOutCom', + Mollie = 'Mollie', + Worldpay = 'Worldpay', +} - export class AwsLambdaIamCodeIntegrationDto extends CodeIntegrationDto - { - public region: string; +export class PaymentIntegrationRequest +{ + public integrationId?: string; + public provider: PaymentGatewayPlatform; + public integrationName: string; + public isEnabled: boolean; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - export class AzureFunctionsCodeIntegrationDto extends CodeIntegrationDto - { - public functionAppName: string; - public resourceGroup?: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class GoogleCloudFunctionsCodeIntegrationDto extends CodeIntegrationDto - { - public projectId: string; - public region?: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class PaymentsIntegrationDto extends IntegrationDto - { - public gatewayPlatform: PaymentGatewayPlatform; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class AdyenPaymentIntegrationDto extends PaymentsIntegrationDto - { - public merchantAccount: string; - public environment: string; - public webhookId?: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class AppleInAppPaymentIntegrationDto extends PaymentsIntegrationDto - { - public merchantIdentifier: string; - public merchantDomain: string; - public displayName: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class GoogleInAppPaymentIntegrationDto extends PaymentsIntegrationDto - { - public merchantId: string; - public merchantName: string; - public gateway: string; - public gatewayMerchantId?: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class LemonSqueezyPaymentIntegrationDto extends PaymentsIntegrationDto - { - public storeId: string; - public isTestMode: boolean; +export class LemonSqueezyPaymentIntegrationRequest extends PaymentIntegrationRequest +{ + public provider: PaymentGatewayPlatform; + public storeId: string; + public apiKey: string; + public webhookSigningSecret: string; + public isTestMode: boolean; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - export class MolliePaymentIntegrationDto extends PaymentsIntegrationDto - { - public profileId: string; - public isTestMode: boolean; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class PaddlePaymentIntegrationDto extends PaymentsIntegrationDto - { - public environment: string; - public clientSideToken?: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class PayPalPaymentIntegrationDto extends PaymentsIntegrationDto - { - public clientId: string; - public environment: string; - public brandName?: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class StripePaymentIntegrationDto extends PaymentsIntegrationDto - { - public publishableKey: string; - public webhookEndpointId?: string; - public defaultCurrency?: string; +export class AdyenPaymentIntegrationRequest extends PaymentIntegrationRequest +{ + public provider: PaymentGatewayPlatform; + public merchantAccount: string; + public apiKey: string; + public environment: string; + public webhookId?: string; + public webhookHmacKey?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class ShopifyPaymentIntegrationDto extends PaymentsIntegrationDto - { - public shopDomain: string; - public webhookSecret?: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class WooCommercePaymentIntegrationDto extends PaymentsIntegrationDto - { - public storeUrl: string; - public webhookSecret?: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class MagentoPaymentIntegrationDto extends PaymentsIntegrationDto - { - public storeUrl: string; - public webhookSecret?: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class BraintreePaymentIntegrationDto extends PaymentsIntegrationDto - { - public merchantId: string; - public environment: string; - public webhookSecret?: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class AuthorizeNetPaymentIntegrationDto extends PaymentsIntegrationDto - { - public merchantLoginId: string; - public environment: string; - public webhookSignatureKey?: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class CheckOutComPaymentIntegrationDto extends PaymentsIntegrationDto - { - public merchantAccount: string; - public environment: string; - public webhookSecret?: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class WorldpayPaymentIntegrationDto extends PaymentsIntegrationDto - { - public merchantCode: string; - public environment: string; - public webhookSecret?: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class MembershipIntegrationDto extends IntegrationDto - { - public provider: MembershipProvider; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class AppleSignInMembershipIntegrationDto extends MembershipIntegrationDto - { - public teamId: string; - public appBundleId: string; - public serviceId: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class GitHubMembershipIntegrationDto extends MembershipIntegrationDto - { - public clientId: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class GoogleMembershipIntegrationDto extends MembershipIntegrationDto - { - public clientId: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class MetaMembershipIntegrationDto extends MembershipIntegrationDto - { - public appId: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class MicrosoftMembershipIntegrationDto extends MembershipIntegrationDto - { - public tenantId: string; - public clientId: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class OktaMembershipIntegrationDto extends MembershipIntegrationDto - { - public domain: string; - public clientId: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class XMembershipIntegrationDto extends MembershipIntegrationDto - { - public apiKey: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class LoggingIntegrationDto extends IntegrationDto - { - public provider: LoggingProvider; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class AmqpLoggingIntegrationDto extends LoggingIntegrationDto - { - public host: string; - public port: number; - public virtualHost: string; - public exchange: string; - public routingKey: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export class MolliePaymentIntegrationRequest extends PaymentIntegrationRequest +{ + public provider: PaymentGatewayPlatform; + public profileId: string; + public apiKey: string; + public isTestMode: boolean; + public webhookSigningSecret?: string; - export class AwsKinesisLoggingIntegrationDto extends LoggingIntegrationDto - { - public streamName: string; - public region: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - export class AwsS3CrossAccountRoleLoggingIntegrationDto extends LoggingIntegrationDto - { - public bucketName: string; - public region: string; - public roleArn: string; - public externalId: string; +export class PaddlePaymentIntegrationRequest extends PaymentIntegrationRequest +{ + public provider: PaymentGatewayPlatform; + public apiKey: string; + public webhookEndpointSecretKey: string; + public environment: string; + public clientSideToken?: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - export class AwsS3IamLoggingIntegrationDto extends LoggingIntegrationDto - { - public bucketName: string; - public region: string; +export class PayPalPaymentIntegrationRequest extends PaymentIntegrationRequest +{ + public provider: PaymentGatewayPlatform; + public clientId: string; + public clientSecret: string; + public environment: string; + public brandName?: string; + public webhookId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export class StripePaymentIntegrationRequest extends PaymentIntegrationRequest +{ + public provider: PaymentGatewayPlatform; + public publishableKey: string; + public secretKey: string; + public webhookSigningSecret: string; + public webhookEndpointId?: string; + public defaultCurrency?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - export class AzureOtelLoggingIntegrationDto extends LoggingIntegrationDto - { - public endpointUrl: string; - public resourceName: string; +export class AppleInAppPaymentIntegrationRequest extends PaymentIntegrationRequest +{ + public provider: PaymentGatewayPlatform; + public merchantIdentifier: string; + public merchantDomain: string; + public displayName: string; + public merchantIdentityCertificateP12Base64: string; + public merchantIdentityCertificatePassword: string; + public paymentProcessingCertificateP12Base64: string; + public paymentProcessingCertificatePassword: string; + public webhookBundleId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export class GoogleInAppPaymentIntegrationRequest extends PaymentIntegrationRequest +{ + public provider: PaymentGatewayPlatform; + public merchantId: string; + public merchantName: string; + public gateway: string; + public privateKeyOrToken: string; + public gatewayMerchantId?: string; + public webhookPackageName?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - export class DataDogLoggingIntegrationDto extends LoggingIntegrationDto - { - public site: string; - public serviceName: string; - public environment: string; +// @DataContract +export enum PushProvider +{ + AppleApns = 'AppleApns', + SafariWeb = 'SafariWeb', + SafariPush = 'SafariPush', + AndroidFirebase = 'AndroidFirebase', + ChromeWeb = 'ChromeWeb', + FirefoxWeb = 'FirefoxWeb', + EdgeWeb = 'EdgeWeb', + ChromePush = 'ChromePush', + CodeMashIosApp = 'CodeMashIosApp', + CodeMashAndroidApp = 'CodeMashAndroidApp', + CodeMashSafariPlugin = 'CodeMashSafariPlugin', + CodeMashSafariWeb = 'CodeMashSafariWeb', + CodeMashChromePlugin = 'CodeMashChromePlugin', + CodeMashChromeWeb = 'CodeMashChromeWeb', + Expo = 'Expo', + Fake = 'Fake', +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export class PushIntegrationRequest +{ + public integrationId?: string; + public provider: PushProvider; + public integrationName: string; + public isEnabled: boolean; - export class ElasticSearchLoggingIntegrationDto extends LoggingIntegrationDto - { - public uri: string; - public index: string; + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export class EdgeWebPushIntegrationRequest extends PushIntegrationRequest +{ + public provider: PushProvider; + public vapidPublicKey: string; + public vapidPrivateKey: string; + public subject?: string; - export class InternalKafkaLoggingIntegrationDto extends LoggingIntegrationDto - { - public bootstrapServers: string; - public topic: string; - public securityProtocol?: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export class ChromePluginPushIntegrationRequest extends PushIntegrationRequest +{ + public provider: PushProvider; + public extensionId: string; + public vapidPublicKey: string; + public vapidPrivateKey: string; + public subject?: string; - export class KafkaLoggingIntegrationDto extends LoggingIntegrationDto - { - public bootstrapServers: string; - public topic: string; - public securityProtocol?: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export class SafariPushIntegrationRequest extends PushIntegrationRequest +{ + public provider: PushProvider; + public websitePushId: string; + public certificateP12Base64: string; + public certificatePassword: string; - export class KibanaLoggingIntegrationDto extends LoggingIntegrationDto - { - public uri: string; - public spaceId?: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export class ChromeWebPushIntegrationRequest extends PushIntegrationRequest +{ + public provider: PushProvider; + public vapidPublicKey: string; + public vapidPrivateKey: string; + public subject?: string; - export class LocalFileLoggingIntegrationDto extends LoggingIntegrationDto - { - public rootPath?: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export class FirefoxWebPushIntegrationRequest extends PushIntegrationRequest +{ + public provider: PushProvider; + public vapidPublicKey: string; + public vapidPrivateKey: string; + public subject?: string; - export class MicrosoftTeamsLoggingIntegrationDto extends LoggingIntegrationDto - { - public channelName?: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export class AndroidFirebasePushIntegrationRequest extends PushIntegrationRequest +{ + public provider: PushProvider; + public projectId: string; + public clientEmail: string; + public serviceAccountJson: string; - export class MongoDbLoggingIntegrationDto extends LoggingIntegrationDto - { - public databaseName?: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export class AppleApnsPushIntegrationRequest extends PushIntegrationRequest +{ + public provider: PushProvider; + public teamId: string; + public appBundleId: string; + public keyId: string; + public privateKey: string; + public isProduction: boolean; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - export class NewRelicLoggingIntegrationDto extends LoggingIntegrationDto - { - public region: string; - public serviceName: string; +export enum CodeProvider +{ + AwsLambda = 'AwsLambda', + AzureFunctions = 'AzureFunctions', + GoogleCloudFunctions = 'GoogleCloudFunctions', + Pipedream = 'Pipedream', + Zapier = 'Zapier', + CloudflareWorkers = 'CloudflareWorkers', + Vercel = 'Vercel', + Netlify = 'Netlify', + SupabaseEdge = 'SupabaseEdge', + Modal = 'Modal', +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export class CodeIntegrationRequest +{ + public integrationId?: string; + public provider: CodeProvider; + public integrationName: string; + public isEnabled: boolean; - export class PrometheusLoggingIntegrationDto extends LoggingIntegrationDto - { - public endpointUrl: string; - public jobName?: string; + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export enum AwsLambdaIntegrationType +{ + Iam = 'Iam', + CrossAccountRole = 'CrossAccountRole', +} - export class SplunkLoggingIntegrationDto extends LoggingIntegrationDto - { - public hecEndpointUrl: string; - public index: string; +export class AwsLambdaCodeIntegrationRequest extends CodeIntegrationRequest +{ + public provider: CodeProvider; + public integrationType: AwsLambdaIntegrationType; + public region: string; + public roleArn?: string; + public externalId?: string; + public accessKey?: string; + public secretKey?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export class AzureFunctionsCodeIntegrationRequest extends CodeIntegrationRequest +{ + public provider: CodeProvider; + public functionAppName: string; + public resourceGroup?: string; + public connectionStringOrKey: string; - export class TelegramLoggingIntegrationDto extends LoggingIntegrationDto - { - public chatId: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export class GoogleCloudFunctionsCodeIntegrationRequest extends CodeIntegrationRequest +{ + public provider: CodeProvider; + public projectId: string; + public region?: string; + public serviceAccountJsonKey: string; - export class ZabbixLoggingIntegrationDto extends LoggingIntegrationDto - { - public apiUrl: string; - public hostName: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export enum LlmProvider +{ + OpenAI = 'OpenAI', + Anthropic = 'Anthropic', + Ollama = 'Ollama', + Groq = 'Groq', + Google = 'Google', + Mistral = 'Mistral', + OpenRouter = 'OpenRouter', + Grok = 'Grok', + NorbixHosted = 'NorbixHosted', +} - export class SlackLoggingIntegrationDto extends LoggingIntegrationDto - { - public channelName?: string; +export class LlmIntegrationRequest +{ + public integrationId?: string; + public provider: LlmProvider; + public integrationName: string; + public isEnabled: boolean; + public endpoint?: string; + public defaultModel?: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export class OllamaLlmIntegrationRequest extends LlmIntegrationRequest +{ + public provider: LlmProvider; - export class FilesIntegrationDto extends IntegrationDto - { - public provider: FileProvider; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export class OpenRouterLlmIntegrationRequest extends LlmIntegrationRequest implements ILlmApiKeyRequest +{ + public provider: LlmProvider; + public apiKey: string; - export class AppleICloudFilesIntegrationDto extends FilesIntegrationDto - { - public containerIdentifier: string; - public relativePath?: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export class MistralLlmIntegrationRequest extends LlmIntegrationRequest implements ILlmApiKeyRequest +{ + public provider: LlmProvider; + public apiKey: string; - export class AwsS3CrossAccountRoleFilesIntegrationDto extends FilesIntegrationDto - { - public bucketName: string; - public region: string; - public roleArn: string; - public externalId: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export class GrokLlmIntegrationRequest extends LlmIntegrationRequest implements ILlmApiKeyRequest +{ + public provider: LlmProvider; + public apiKey: string; - export class AwsS3IamFilesIntegrationDto extends FilesIntegrationDto - { - public bucketName: string; - public region: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export class GroqLlmIntegrationRequest extends LlmIntegrationRequest implements ILlmApiKeyRequest +{ + public provider: LlmProvider; + public apiKey: string; - export class AzureBlobFilesIntegrationDto extends FilesIntegrationDto - { - public blobName: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export class GoogleLlmIntegrationRequest extends LlmIntegrationRequest implements ILlmApiKeyRequest +{ + public provider: LlmProvider; + public apiKey: string; - export class DropBoxFilesIntegrationDto extends FilesIntegrationDto - { - public rootPath?: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export class AnthropicLlmIntegrationRequest extends LlmIntegrationRequest implements ILlmApiKeyRequest +{ + public provider: LlmProvider; + public apiKey: string; - export class FtpFilesIntegrationDto extends FilesIntegrationDto - { - public host: string; - public port: number; - public rootPath?: string; - public useSsl: boolean; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export class OpenAiLlmIntegrationRequest extends LlmIntegrationRequest implements ILlmApiKeyRequest +{ + public provider: LlmProvider; + public apiKey: string; - export class GoogleCloudFilesIntegrationDto extends FilesIntegrationDto - { - public bucketName: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export enum McpProvider +{ + Docker = 'Docker', + Obsidian = 'Obsidian', + GoogleCalendar = 'GoogleCalendar', + Stripe = 'Stripe', + GitHub = 'GitHub', + MongoDb = 'MongoDb', + Playwright = 'Playwright', + BraveSearch = 'BraveSearch', +} - export class GoogleDriveFilesIntegrationDto extends FilesIntegrationDto - { - public rootFolderId?: string; +export enum McpTransport +{ + Sse = 'Sse', + HttpStream = 'HttpStream', + Stdio = 'Stdio', +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export class McpIntegrationRequest +{ + public integrationId?: string; + public provider: McpProvider; + public transport: McpTransport; + public integrationName: string; + public isEnabled: boolean; + public name: string; + public category: string; + public description: string; + public icon: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - export class LocalFilesIntegrationDto extends FilesIntegrationDto - { - public rootPath?: string; +export class PlaywrightMcpIntegrationRequest extends McpIntegrationRequest +{ + public provider: McpProvider; + public transport: McpTransport; + public command?: string; + public args?: string[]; + public headless: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - export class DatabaseIntegrationDto extends IntegrationDto - { - public provider: DatabaseProvider; +export class MongoDbMcpIntegrationRequest extends McpIntegrationRequest +{ + public provider: McpProvider; + public transport: McpTransport; + public command?: string; + public args?: string[]; + public connectionString: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - export class MongoDbAtlasClusterIntegrationDto extends DatabaseIntegrationDto - { - public databaseName?: string; +export class GitHubMcpIntegrationRequest extends McpIntegrationRequest +{ + public provider: McpProvider; + public transport: McpTransport; + public serverUrl: string; + public accessToken: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - export class MongoDbAtlasServerlessIntegrationDto extends DatabaseIntegrationDto - { - public databaseName?: string; +export class StripeMcpIntegrationRequest extends McpIntegrationRequest +{ + public provider: McpProvider; + public transport: McpTransport; + public serverUrl: string; + public apiKey: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - export class MongoDbConnectionStringIntegrationDto extends DatabaseIntegrationDto - { - public databaseName?: string; +export class BraveSearchMcpIntegrationRequest extends McpIntegrationRequest +{ + public provider: McpProvider; + public transport: McpTransport; + public serverUrl: string; + public apiKey: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - export enum SmsProvider - { - Twilio = 'Twilio', - Vonage = 'Vonage', - Plivo = 'Plivo', - Telnyx = 'Telnyx', - Bird = 'Bird', - Telesign = 'Telesign', - Sinch = 'Sinch', - } +export class ObsidianMcpIntegrationRequest extends McpIntegrationRequest +{ + public provider: McpProvider; + public transport: McpTransport; + public command?: string; + public args?: string[]; + public environmentVariables?: { [index:string]: string; }; - export class SmsIntegrationDto extends IntegrationDto - { - public provider: SmsProvider; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export enum CommunicationChannel +{ + Transactional = 'Transactional', + Marketing = 'Marketing', + System = 'System', +} - export class BirdSmsIntegrationDto extends SmsIntegrationDto - { - public originator: string; - public region: string; +export enum NotificationMedium +{ + Email = 'Email', + Sms = 'Sms', + Push = 'Push', +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +// @DataContract +export class TemplateDto implements IHasViewId, IHasDatabaseId +{ + // @DataMember + public id?: string; - export class PlivoSmsIntegrationDto extends SmsIntegrationDto - { - public authId: string; - public fromPhoneNumber: string; + // @DataMember + public viewId: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @DataMember + public templateName: string; - export class SinchSmsIntegrationDto extends SmsIntegrationDto - { - public servicePlanId: string; - public fromPhoneNumber: string; + // @DataMember + public description?: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class TelesignSmsIntegrationDto extends SmsIntegrationDto - { - public customerId: string; - public fromSender: string; + // @DataMember + public communicationChannel: CommunicationChannel; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @DataMember + public medium: NotificationMedium; - export class TelnyxSmsIntegrationDto extends SmsIntegrationDto - { - public messagingProfileId: string; - public fromPhoneNumber: string; + // @DataMember + public isActive: boolean; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @DataMember + public tags?: string[]; - export class TwilioSmsIntegrationDto extends SmsIntegrationDto - { - public accountSid: string; - public fromPhoneNumber: string; + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export enum EmailTemplateEngine +{ + NotSet = 'NotSet', + Handlebars = 'Handlebars', + Mjml = 'Mjml', + Liquid = 'Liquid', + Razor = 'Razor', + Mustache = 'Mustache', +} - export class VonageSmsIntegrationDto extends SmsIntegrationDto - { - public apiKey: string; - public fromSender: string; +// @DataContract +export class EmailBodyDto implements IHasRazorTemplateCode +{ + // @DataMember + public structure?: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @DataMember + public code: string; - export class PushIntegrationDto extends IntegrationDto - { - public provider: PushProvider; + // @DataMember + public templateEngine: EmailTemplateEngine; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - export class AndroidFirebasePushIntegrationDto extends PushIntegrationDto - { - public projectId: string; - public clientEmail: string; +// @DataContract +export class FileChecksumDto +{ + // @DataMember(Order=1) + public algorithm: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @DataMember(Order=2) + public hash: string; - export class AppleApnsPushIntegrationDto extends PushIntegrationDto - { - public teamId: string; - public appBundleId: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - export class ChromePluginPushIntegrationDto extends PushIntegrationDto - { - public extensionId: string; - public vapidPublicKey: string; - public subject?: string; +// @DataContract +export class FileResourceDto +{ + // @DataMember(Order=1) + public id: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @DataMember(Order=2) + public originalFileName: string; - export class ChromeWebPushIntegrationDto extends PushIntegrationDto - { - public vapidPublicKey: string; - public subject?: string; + // @DataMember(Order=3) + public extension: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @DataMember(Order=4) + public storedFileName: string; - export class EdgeWebPushIntegrationDto extends PushIntegrationDto - { - public vapidPublicKey: string; - public subject?: string; + // @DataMember(Order=5) + public sizeBytes?: number; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @DataMember(Order=6) + public checksum?: FileChecksumDto; - export class FirefoxWebPushIntegrationDto extends PushIntegrationDto - { - public vapidPublicKey: string; - public subject?: string; + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +// @DataContract +export class FileResourceRefDto +{ + // @DataMember(Order=1) + public resource: FileResourceDto; - export class SafariPushIntegrationDto extends PushIntegrationDto - { - public websitePushId: string; + // @DataMember(Order=2) + public integrationId: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @DataMember(Order=3) + public provider: FileProvider; - export class EmailIntegrationDto extends IntegrationDto - { - public provider: EmailProvider; - public emailAddress: string; - public emailSenderName?: string; + // @DataMember(Order=4) + public path: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @DataMember(Order=5) + public publicUrl?: string; - export class AwsSesEmailIntegrationDto extends EmailIntegrationDto - { - public region: string; - public identityArn: string; - public configurationSetName?: string; + // @DataMember(Order=6) + public isPublic: boolean; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - export class AwsCrossAccountRoleEmailIntegrationDto extends AwsSesEmailIntegrationDto - { - public roleArn: string; - public externalId: string; +// @DataContract +export class EmailMessageContentDto implements IHasRazorTemplateCode +{ + // @DataMember + public subject: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @DataMember + public body: EmailBodyDto; - export class AwsIamEmailIntegrationDto extends AwsSesEmailIntegrationDto - { + // @DataMember + public staticAttachments?: FileResourceRefDto[]; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - export class MailGunEmailIntegrationDto extends EmailIntegrationDto - { - public domain: string; +// @DataContract +export class EmailMessageTranslationDto implements IHasRazorTemplateCode +{ + // @DataMember + public language: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @DataMember + public content: EmailMessageContentDto; - export class SendGridEmailIntegrationDto extends EmailIntegrationDto - { + // @DataMember + public staticAttachments?: FileResourceRefDto[]; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - export class SmtpEmailIntegrationDto extends EmailIntegrationDto - { - public hostName: string; - public port: number; +// @DataContract +export class EmailTemplateDto extends TemplateDto implements IBindableContract +{ + // @DataMember + public translations: EmailMessageTranslationDto[] = []; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @DataMember + public staticAttachments?: FileResourceRefDto[]; - // @DataContract - export class WebhookDestinationDto - { - // @DataMember - public viewId: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public destinationName: string; +// @DataContract +export class PushMessageContentDto implements IHasRazorTemplateCode +{ + // @DataMember + public title: string; - // @DataMember - public endpointUrl: string; + // @DataMember + public body: string; - // @DataMember - public selectedEvents: IReadOnlyList; + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - // @DataMember - public extraHeaders?: IReadOnlyDictionary; +// @DataContract +export class PushMessageTranslationDto implements IHasRazorTemplateCode +{ + // @DataMember + public language: string; - // @DataMember - public isEnabled: boolean; + // @DataMember + public content: PushMessageContentDto; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - export class WebhookIntegrationDto extends IntegrationDto - { - public destinations: IReadOnlyList; - public extraHeaders?: IReadOnlyDictionary; +// @DataContract +export class PushTemplateDto extends TemplateDto implements IHasRazorTemplateCode, IBindableContract +{ + // @DataMember + public translations: PushMessageTranslationDto[] = []; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - export enum SchedulerTaskType - { - EmailCampaign = 'EmailCampaign', - PushCampaign = 'PushCampaign', - SmsCampaign = 'SmsCampaign', - CodeFunctionalCall = 'CodeFunctionalCall', - WebhookCall = 'WebhookCall', - } +// @DataContract +export class SmsMessageContentDto implements IHasRazorTemplateCode +{ + // @DataMember + public subject: string; - // @DataContract - export class SchedulerTaskDto - { - // @DataMember - public projectId: string; + // @DataMember + public body: string; - // @DataMember - public taskId: string; + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - // @DataMember - public name: string; +// @DataContract +export class SmsMessageTranslationDto implements IHasRazorTemplateCode +{ + // @DataMember + public language: string; - // @DataMember - public description?: string; + // @DataMember + public content: SmsMessageContentDto; - // @DataMember - public cron: string; + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - // @DataMember - public type: SchedulerTaskType; +// @DataContract +export class SmsTemplateDto extends TemplateDto implements IHasRazorTemplateCode, IBindableContract +{ + // @DataMember + public translations: SmsMessageTranslationDto[] = []; - // @DataMember - public payloadJson: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public initiatorId: string; +export enum SystemEmailTemplateTheme +{ + Text = 'Text', + Branded = 'Branded', + Creative = 'Creative', +} - // @DataMember - public isEnabled: boolean; +// @DataContract +export class SystemEmailTemplateDto extends EmailTemplateDto +{ + // @DataMember + public imagePreview: string; - // @DataMember - public stopOnError: boolean; + // @DataMember + public theme: SystemEmailTemplateTheme; - // @DataMember - public createdAtUnix?: number; + // @DataMember + public systemGroup: string; - // @DataMember - public updatedAtUnix?: number; + // @DataMember + public systemTags?: string[]; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + // @DataMember + public forTrigger?: TriggerType; - export class MongoDbAggregateDto implements IHasViewId - { - // @DataMember - public viewId: string; + // @DataMember + public hiddenSystemEmailTemplate: boolean; - // @DataMember - public displayName: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public description?: string; +// @Flags() +export enum RespectTimeZoneSettings +{ + RespectToLastLoginZone = 1, + RespectToRegistrationZone = 2, + RespectToRegistrationProjectZone = 4, +} - // @DataMember - public schemaViewId: string; +export class EmailCampaignDeliverySettingsDto +{ + // @DataMember + public recipientsSourceType: EmailCampaignRecipientsSourceTypes; - // @DataMember - public pipeline: string; + // @DataMember + public mappedTokens?: TokenMappingDto[]; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + // @DataMember + public campaignTime?: number; - export enum MarketplaceTransport - { - Mcp = 'Mcp', - Rest = 'Rest', - Code = 'Code', - } + // @DataMember + public respectTimeZoneSettings?: RespectTimeZoneSettings; - export enum MarketplaceCategory - { - Other = 'Other', - Crm = 'Crm', - Erp = 'Erp', - Marketing = 'Marketing', - Communication = 'Communication', - Productivity = 'Productivity', - Storage = 'Storage', - Analytics = 'Analytics', - Identity = 'Identity', - Payments = 'Payments', - DevTools = 'DevTools', - Ai = 'Ai', - Files = 'Files', - Database = 'Database', - Calendar = 'Calendar', - } + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - // @DataContract - export class MarketplaceIntegrationDto extends IntegrationDto - { - // @DataMember - public listingViewId: string; +// @DataContract +export class TriggerActionEmailDto extends TriggerActionDto +{ + // @DataMember + public templateId: string; - // @DataMember - public transport: MarketplaceTransport; + // @DataMember + public deliverySettings: EmailCampaignDeliverySettingsDto; - // @DataMember - public vendor: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public category: MarketplaceCategory; +export enum PushCampaignRecipientsSourceTypes +{ + AllUsers = 'AllUsers', + SpecifiedUsers = 'SpecifiedUsers', + Collection = 'Collection', + Devices = 'Devices', + AccountUsers = 'AccountUsers', +} - // @DataMember - public description?: string; +// @DataContract +export class PushCampaignDeliverySettingsDto +{ + // @DataMember + public recipientsSourceType: PushCampaignRecipientsSourceTypes; - // @DataMember - public config: IReadOnlyDictionary; + // @DataMember + public mappedTokens?: TokenMappingDto[]; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @DataMember + public campaignTime?: number; - export enum MarketplaceMappingSource - { - Default = 'Default', - Resolver = 'Resolver', - FromRequest = 'FromRequest', - } + // @DataMember + public respectTimeZoneSettings?: RespectTimeZoneSettings; - // @DataContract - export class MarketplaceMappingDto - { - // @DataMember - public parameterName: string; + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - // @DataMember - public source: MarketplaceMappingSource; +// @DataContract +export class TriggerActionPushDto extends TriggerActionDto +{ + // @DataMember + public templateId: string; - // @DataMember - public defaultValue?: string; + // @DataMember + public deliverySettings: PushCampaignDeliverySettingsDto; - // @DataMember - public resolver?: TokenMappingResolverType; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public tokenKey?: string; +// @DataContract +export class CodeDeliverySettingsDto +{ + // @DataMember + public mappedTokens?: TokenMappingDto[]; - // @DataMember - public fromRequestPath?: string; + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - // @DataMember - public isRequired: boolean; +// @DataContract +export class TriggerActionCodeDto extends TriggerActionDto +{ + // @DataMember + public functionId: string; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + // @DataMember + public deliverySettings: CodeDeliverySettingsDto; - // @DataContract - export class MarketplaceFunctionBindingDto implements IHasViewId - { - // @DataMember - public viewId: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public integrationViewId: string; +// @DataContract +export class WebhookDeliverySettingsDto +{ + // @DataMember + public destinationIds?: string[]; - // @DataMember - public functionKey: string; + // @DataMember + public eventName?: string; - // @DataMember - public displayName: string; + // @DataMember + public contentType?: string; - // @DataMember - public description?: string; + // @DataMember + public includeRawPayload: boolean; - // @DataMember - public isEnabled: boolean; + // @DataMember + public mappedTokens?: TokenMappingDto[]; - // @DataMember - public mappings: IReadOnlyList; + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } +// @DataContract +export class TriggerActionWebhookDto extends TriggerActionDto +{ + // @DataMember + public deliverySettings?: WebhookDeliverySettingsDto; - // @DataContract - export class MarketplaceFunctionParameterDto - { - // @DataMember - public name: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public type: string; +export enum SmsCampaignRecipientsSourceTypes +{ + AllUsers = 'AllUsers', + SpecifiedUsers = 'SpecifiedUsers', + AccountUsers = 'AccountUsers', + PhoneNumbers = 'PhoneNumbers', + Collection = 'Collection', +} - // @DataMember - public description?: string; +// @DataContract +export class SmsCampaignDeliverySettingsDto +{ + // @DataMember + public recipientsSourceType: SmsCampaignRecipientsSourceTypes; - // @DataMember - public isRequired: boolean; + // @DataMember + public mappedTokens?: TokenMappingDto[]; - // @DataMember - public defaultValue?: string; + // @DataMember + public campaignTime?: number; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + // @DataMember + public respectTimeZoneSettings?: RespectTimeZoneSettings; - // @DataContract - export class MarketplaceFunctionDefinitionDto - { - // @DataMember - public functionKey: string; + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - // @DataMember - public displayName: string; +// @DataContract +export class TriggerActionSmsDto extends TriggerActionDto +{ + // @DataMember + public templateId: string; - // @DataMember - public description?: string; + // @DataMember + public deliverySettings: SmsCampaignDeliverySettingsDto; - // @DataMember - public group?: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public parameters: IReadOnlyList; +// @DataContract +export class SseDeliverySettingsDto +{ + // @DataMember + public audience: string; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + // @DataMember + public userAuthIds?: string[]; - // @DataContract - export class MarketplaceListingDto implements IHasViewId - { - // @DataMember - public viewId: string; + // @DataMember + public eventName?: string; - // @DataMember - public slug: string; + // @DataMember + public payloadType?: string; - // @DataMember - public displayName: string; + // @DataMember + public payloadTemplate?: string; - // @DataMember - public vendor: string; + // @DataMember + public persist: boolean; - // @DataMember - public category: MarketplaceCategory; + // @DataMember + public mappedTokens?: TokenMappingDto[]; - // @DataMember - public transport: MarketplaceTransport; + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - // @DataMember - public description?: string; +// @DataContract +export class TriggerActionSseDto extends TriggerActionDto +{ + // @DataMember + public deliverySettings: SseDeliverySettingsDto; - // @DataMember - public iconUrl?: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public documentationUrl?: string; +// @DataContract +export class TriggerActionMarketplaceDto extends TriggerActionDto +{ + // @DataMember + public functionId: string; - // @DataMember - public isOfficial: boolean; + // @DataMember + public payload?: { [index:string]: string; }; - // @DataMember - public functions: IReadOnlyList; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } +// @DataContract(Namespace="http://codemash.io/types/") +export class RequestBase implements ICultureBasedRequest, IVersionBasedRequest, IHasCorrelationIdRequest +{ + /** @description Specify culture code when your response from the API should be localised. E.g.: en */ + // @DataMember + // @ApiMember(DataType="string", Description="Specify culture code when your response from the API should be localised. E.g.: en", Name="CultureCode", ParameterType="header") + public cultureCode?: string; + + /** @description TimeZone */ + // @DataMember + // @ApiMember(DataType="string", Description="TimeZone", Name="TimeZoneId", ParameterType="header") + public timeZoneId?: string; + + /** @description The CodeMash API version used to fetch data from the API. If not specified, the last version will be used. E.g.: v3 */ + // @DataMember + // @ApiMember(DataType="string", Description="The CodeMash API version used to fetch data from the API. If not specified, the last version will be used. E.g.: v3", IsRequired=true, Name="version", ParameterType="path") + public version: string; + + /** @description CorrelationId for each request */ + // @DataMember + // @ApiMember(DataType="string", Description="CorrelationId for each request", Name="CorrelationId", ParameterType="header") + public correlationId?: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - // @DataContract(Namespace="http://codemash.io/types/") - export class RequestBase implements ICultureBasedRequest, IVersionBasedRequest, IHasCorrelationIdRequest - { - /** @description Specify culture code when your response from the API should be localised. E.g.: en */ - // @DataMember - // @ApiMember(DataType="string", Description="Specify culture code when your response from the API should be localised. E.g.: en", Name="CultureCode", ParameterType="header") - public cultureCode?: string; +export class CodeMashListPaginationRequestBase extends RequestBase implements IHasProjectId, IHasEnv +{ + /** @description ID of your project. Can be passed in a header as norbix-project-id. */ + // @DataMember + // @ApiMember(DataType="string", Description="ID of your project. Can be passed in a header as norbix-project-id.", IsRequired=true, Name="norbix-project-id", ParameterType="header") + public projectId: string; + + /** @description Target environment for this request (e.g. TEST, STAGING). Optional — when omitted the request runs against PROD. Can be passed in a header as norbix-env. */ + // @DataMember + // @ApiMember(DataType="string", Description="Target environment for this request (e.g. TEST, STAGING). Optional — when omitted the request runs against PROD. Can be passed in a header as norbix-env.", Name="norbix-env", ParameterType="header") + public env?: string; + + /** @description Cursor token — fetch the page AFTER this item. */ + // @DataMember + // @ApiMember(DataType="string", Description="Cursor token — fetch the page AFTER this item.", Name="startingAfter", ParameterType="query") + public startingAfter?: string; + + /** @description Cursor token — fetch the page BEFORE this item. */ + // @DataMember + // @ApiMember(DataType="string", Description="Cursor token — fetch the page BEFORE this item.", Name="endingBefore", ParameterType="query") + public endingBefore?: string; + + /** @description Amount of records to return. */ + // @DataMember + // @ApiMember(DataType="integer", Description="Amount of records to return.", Format="int32", Name="pageSize", ParameterType="query") + public pageSize?: number; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - /** @description TimeZone */ - // @DataMember - // @ApiMember(DataType="string", Description="TimeZone", Name="TimeZoneId", ParameterType="header") - public timeZoneId?: string; +// @DataContract +export class GetTriggers extends CodeMashListPaginationRequestBase +{ + // @DataMember + public schemaId?: string; - /** @description The CodeMash API version used to fetch data from the API. If not specified, the last version will be used. E.g.: v3 */ - // @DataMember - // @ApiMember(DataType="string", Description="The CodeMash API version used to fetch data from the API. If not specified, the last version will be used. E.g.: v3", IsRequired=true, Name="version", ParameterType="path") - public version: string; - - /** @description CorrelationId for each request */ - // @DataMember - // @ApiMember(DataType="string", Description="CorrelationId for each request", Name="CorrelationId", ParameterType="header") - public correlationId?: string; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export interface ICultureBasedRequest - { - cultureCode?: string; - } - - export interface IVersionBasedRequest - { - version: string; - } - - export interface IHasCorrelationIdRequest - { - correlationId?: string; - } - - export enum SubscriptionType - { - ManagedService = 'ManagedService', - License = 'License', - } - - export interface IHasAccountId - { - accountId: string; - } - - export class CodeMashRequestBase extends RequestBase implements IHasProjectId - { - /** @description ID of your project. Can be passed in a header as norbix-project-id. */ - // @ApiMember(DataType="string", Description="ID of your project. Can be passed in a header as norbix-project-id.", IsRequired=true, Name="norbix-project-id", ParameterType="header") - public projectId: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export interface IHasProjectId - { - projectId: string; - } - - // @DataContract - export class TagDescriptionDto - { - // @DataMember - public title: string; - - // @DataMember - public description?: string; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - // @DataContract - export class TagTranslationDto - { - // @DataMember - public language: string; - - // @DataMember - public content: TagDescriptionDto; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - // @DataContract - export class TagDefinitionBaseDto - { - // @DataMember - public tag: string; - - // @DataMember - public translations: TagTranslationDto[] = []; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - // @DataContract - export class GroupDefinitionDto extends TagDefinitionBaseDto - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export enum DeliveryChannel - { - Email = 'Email', - Push = 'Push', - Sms = 'Sms', - WebPush = 'WebPush', - InApp = 'InApp', - ChatBot = 'ChatBot', - ChatPlatform = 'ChatPlatform', - } - - // @DataContract - export class TagDefinitionDto extends TagDefinitionBaseDto - { - // @DataMember - public defaultDelivery: { [index:string]: boolean; } = {}; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class CursorArgs implements ICursorArgs - { - public field: string; - public order: number; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class PagingArgs - { - public cursorArgs?: CursorArgs; - public pageSize?: number; - public startingAfter?: string; - public endingBefore?: string; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class EmailAddress - { - public address: string; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class AggregateId - { - public value: string; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class AccountId extends AggregateId implements IHasDomainEntityId - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class UtcDateTime - { - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export enum TimeUnit - { - Ticks = 'Ticks', - Milliseconds = 'Milliseconds', - Seconds = 'Seconds', - Minutes = 'Minutes', - Hours = 'Hours', - } - - export class ExpirationToken - { - public items: number; - public unit: TimeUnit; - public value: number; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class CodeMashSubscriptionId extends AggregateId - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class ExternalCustomerId - { - public id: string; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class Quantity - { - public value: number; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class CodeMashManagedServiceSubscription - { - public subscriptionId: CodeMashSubscriptionId; - public refCustomerId: ExternalCustomerId; - public refSubscriptionId: string; - public issuedOn: UtcDateTime; - public willExpireOn: UtcDateTime; - public projectCap: Quantity; - public isTrial: boolean; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class DomainUrl - { - public value: string; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class CodeMashLicense extends CodeMashManagedServiceSubscription - { - public domain: DomainUrl; - public accountId: AccountId; - public isEnterprise: boolean; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export class ErrorDto +{ + public message: string; + public errorCode?: string; + public context?: { [index:string]: string; }; + public stackTrace?: ErrorDto[]; - export class ProjectId extends AggregateId implements IHasDomainEntityId - { + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export class CodeMashResponseStatus +{ + public isSuccess: boolean; + public errors?: ErrorDto[]; - // @DataContract - export class ProjectName - { - // @DataMember - public name: string; + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - // @DataMember - public uniqueName: string; +// @DataContract +export class ResponseBase +{ + // @DataMember + public responseStatus: CodeMashResponseStatus; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - export class IntegrationId extends AggregateId implements IHasDomainEntityId - { +// @DataContract +export class GetTriggersResponse extends ResponseBase +{ - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - export class ProjectRegionId - { - public value: string; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export enum Continent - { - Africa = 'Africa', - Antarctica = 'Antarctica', - Asia = 'Asia', - Europe = 'Europe', - NorthAmerica = 'NorthAmerica', - Oceania = 'Oceania', - SouthAmerica = 'SouthAmerica', - } +// @DataContract +export class EmailToAllUsersDeliverySettingsDto extends EmailCampaignDeliverySettingsDto +{ + // @DataMember + public rolesNames?: string[]; - // @DataContract - export class ProjectRegion - { - // @DataMember - public id: ProjectRegionId; + // @DataMember + public userTags?: string[]; - // @DataMember - public name?: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public continent?: Continent; +// @DataContract +export class EmailToAccountUsersDeliverySettingsDto extends EmailCampaignDeliverySettingsDto +{ + // @DataMember + public userRecipients: string[] = []; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + // @DataMember + public userCc?: string[]; - export class Language - { - public code: string; - public name: string; + // @DataMember + public userBcc?: string[]; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + // @DataMember + public singleEmailStrategy: boolean; - export class FileResourceId - { - public value: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } +// @DataContract +export class EmailToUsersDeliverySettingsDto extends EmailCampaignDeliverySettingsDto +{ + // @DataMember + public userRecipients: string[] = []; - export class FileChecksum - { - public algorithm: string; - public hash: string; + // @DataMember + public userCc?: string[]; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + // @DataMember + public userBcc?: string[]; - // @DataContract - export class FileResource - { - // @DataMember - public id: FileResourceId; + // @DataMember + public singleEmailStrategy: boolean; - // @DataMember - public originalFileName: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public extension: string; +// @DataContract +export class EmailToEmailAddressesDeliverySettingsDto extends EmailCampaignDeliverySettingsDto +{ + // @DataMember + public recipients: string[] = []; - // @DataMember - public sizeBytes?: number; + // @DataMember + public recipientsCc?: string[]; - // @DataMember - public checksum?: FileChecksum; + // @DataMember + public recipientsBcc?: string[]; - // @DataMember - public storedFileName: string; + // @DataMember + public singleEmailStrategy: boolean; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - export class ProjectLogo - { - public fileResource: FileResource; - public publicUrl?: string; +// @DataContract +export class EmailToCollectionRecordsDeliverySettingsDto extends EmailCampaignDeliverySettingsDto +{ + // @DataMember + public fields: string[] = []; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + // @DataMember + public schemaName: string; - export class ProjectIcon - { - public fileResource: FileResource; - public publicUrl?: string; + // @DataMember + public fieldType: CollectionEmailCampaignRecipientField; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + // @DataMember + public roleNames?: string[]; - // @DataContract - export class BrandColor - { - // @DataMember - public value: string; + // @DataMember + public languages?: string[]; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - export class Tag - { +// @DataContract +export class PushToAllUsersDeliverySettingsDto extends PushCampaignDeliverySettingsDto +{ + // @DataMember + public rolesNames?: string[]; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + // @DataMember + public userTags?: string[]; - // @DataContract - export class GroupTags - { - // @DataMember - public group: Tag; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public tags: Tag[] = []; +// @DataContract +export class PushToUsersDeliverySettingsDto extends PushCampaignDeliverySettingsDto +{ + // @DataMember + public recipients: string[] = []; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataContract - export class ProjectCommunicationChannel - { - // @DataMember - public channel: CommunicationChannel; +// @DataContract +export class PushToAccountUsersDeliverySettingsDto extends PushCampaignDeliverySettingsDto +{ + // @DataMember + public recipients: string[] = []; - // @DataMember - public groups: GroupTags[] = []; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } +// @DataContract +export class PushToCollectionRecordsDeliverySettingsDto extends PushCampaignDeliverySettingsDto +{ + // @DataMember + public fields: string[] = []; - export class TagDescription - { - public displayName: DisplayName; - public description?: string; + // @DataMember + public fieldType: CollectionEmailCampaignRecipientField; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + // @DataMember + public schemaName: string; - // @DataContract - export class MessageTranslation - { + // @DataMember + public roleNames?: string[]; - public constructor(init?: Partial>) { (Object as any).assign(this, init); } - } + // @DataMember + public languages?: string[]; - export class TagTranslation extends MessageTranslation - { + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export enum PushDeviceDeliveryFamily +{ + Ios = 'Ios', + Android = 'Android', + Chrome = 'Chrome', + Safari = 'Safari', + Expo = 'Expo', +} - export class BaseTagDefinition - { - public tag: Tag; - public translations: TagTranslation[] = []; +// @DataContract +export class PushDeviceDeliveryTokenDto +{ + // @DataMember + public pushDeviceToken: string; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + // @DataMember + public deliveryFamily: PushDeviceDeliveryFamily; - export class GroupDefinition extends BaseTagDefinition - { + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +// @DataContract +export class PushToDevicesDeliverySettingsDto extends PushCampaignDeliverySettingsDto +{ + // @DataMember + public devices: PushDeviceDeliveryTokenDto[] = []; - export class TagDefinition extends BaseTagDefinition - { - public defaultDelivery: { [index:string]: boolean; } = {}; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +// @DataContract +export class SmsToAllUsersDeliverySettingsDto extends SmsCampaignDeliverySettingsDto +{ + // @DataMember + public rolesNames?: string[]; - // @DataContract - export class ProjectCommunication - { - // @DataMember - public channels: ProjectCommunicationChannel[] = []; + // @DataMember + public userTags?: string[]; - // @DataMember - public groups: GroupDefinition[] = []; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public tags: TagDefinition[] = []; +// @DataContract +export class SmsToUsersDeliverySettingsDto extends SmsCampaignDeliverySettingsDto +{ + // @DataMember + public recipients: string[] = []; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataContract - export class TimeZone - { - // @DataMember - public zoneId: string; +// @DataContract +export class SmsToCollectionRecordsDeliverySettingsDto extends SmsCampaignDeliverySettingsDto +{ + // @DataMember + public fields: string[] = []; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + // @DataMember + public fieldType: CollectionEmailCampaignRecipientField; - // @DataContract - export class DeleteTrigger extends CodeMashRequestBase - { - // @DataMember - public triggerId: string; + // @DataMember + public schemaName: string; - // @DataMember - public triggerType: TriggerType; + // @DataMember + public roleNames?: string[]; - // @DataMember - public schemaId?: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @DataMember + public languages?: string[]; - // @DataContract - export class DisableTrigger extends CodeMashRequestBase - { - // @DataMember - public triggerId: string; - - // @DataMember - public triggerType: TriggerType; - - // @DataMember - public schemaId?: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - // @DataContract - export class EnableTrigger extends CodeMashRequestBase - { - // @DataMember - public triggerId: string; - - // @DataMember - public triggerType: TriggerType; - - // @DataMember - public schemaId?: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class GetTrigger extends CodeMashRequestBase - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class CodeMashListPaginationRequestBase extends RequestBase implements IHasProjectId - { - /** @description ID of your project. Can be passed in a header as norbix-project-id. */ - // @DataMember - // @ApiMember(DataType="string", Description="ID of your project. Can be passed in a header as norbix-project-id.", IsRequired=true, Name="norbix-project-id", ParameterType="header") - public projectId: string; - - /** @description Paging */ - // @DataMember - // @ApiMember(DataType="object", Description="Paging", IsRequired=true, Name="paging", ParameterType="body") - public paging: PagingArgs; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - // @DataContract - export class GetTriggers extends CodeMashListPaginationRequestBase - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - // @DataContract - export class SaveTrigger extends CodeMashRequestBase - { - // @DataMember - public trigger: SaveTriggerRequest; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class Integration implements IIntegrationIdentification, IHasDomainEntityId - { - public integrationId: IntegrationId; - declare public capability: string; - public isSystemOwned: boolean; - public integrationName: DisplayName; - public isEnabled: boolean; - public isConfigured: boolean; - public lastIntegrationTestAtUtc?: string; - public lastIntegrationTestSucceeded?: boolean; - public lastIntegrationTestErrorMessages: IReadOnlyList; - public humanDeliveryConfirmedAtUtc?: string; - public isApprovedThatItWorks: boolean; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class MembershipIntegration extends Integration - { - public provider: MembershipProvider; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class PolicyId - { - public template: string; - public tenancyScopeViewId: string; - public viewId: string; - public isSystem: boolean; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export enum PermissionEffect - { - Allow = 'Allow', - Deny = 'Deny', - } - - // @Flags() - export enum ApplicationModule - { - Account = 0, - Membership = 1, - Database = 2, - Files = 4, - Code = 8, - Email = 16, - Push = 32, - Payment = 64, - Scheduler = 128, - Logging = 256, - ServerEvents = 512, - Ai = 1024, - Sms = 2048, - } - - export class PermissionAction - { - public module?: ApplicationModule; - public operation?: string; - public isModuleWildcard: boolean; - public isOperationWildcard: boolean; - public isConcrete: boolean; - public specificity: number; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class ResourceKind - { - public name: string; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class ResourceIdentifier - { - public value: string; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class ResourcePattern - { - public account?: AccountId; - public project?: ProjectId; - public module?: ApplicationModule; - public kind?: ResourceKind; - public id?: ResourceIdentifier; - public isAccountWildcard: boolean; - public isProjectWildcard: boolean; - public isModuleWildcard: boolean; - public isKindWildcard: boolean; - public isIdWildcard: boolean; - public isConcrete: boolean; - public isFullWildcard: boolean; - public specificity: number; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class PolicyStatement - { - public sid?: string; - public effect: PermissionEffect; - public actions: PermissionAction[] = []; - public resources: ResourcePattern[] = []; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class MembershipPolicy - { - public id: PolicyId; - public name: DisplayName; - public description?: string; - public statements: PolicyStatement[] = []; - public disabled: boolean; - public isSystem: boolean; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class RoleId - { - public template: string; - public tenancyScopeViewId: string; - public viewId: string; - public isSystem: boolean; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class MembershipRole - { - public id: RoleId; - public name: DisplayName; - public description?: string; - public attachedPolicies: PolicyId[] = []; - public disabled: boolean; - public isSystem: boolean; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class TriggerId extends AggregateId implements IHasDomainEntityId - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class TemplateId - { - public value: string; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class TriggerAction - { - public type: TriggerActionType; - public integrationId?: IntegrationId; - public templateId: TemplateId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - // @DataContract - export class TemplateCode - { - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class Trigger implements IHasDomainEntityId - { - public triggerId: TriggerId; - public name: DisplayName; - public triggerAction: TriggerAction; - public activationCode?: TemplateCode; - public description?: string; - public isEnabled: boolean; - public integrationId?: IntegrationId; - public type: TriggerType; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class MembershipTrigger extends Trigger - { - public when: MembershipTriggerType; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class TriggerByIdEventBase - { - public triggerId: TriggerId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class SchemaSettingsDto - { - // @DataMember - public softDelete: boolean; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class MongoDbAggregateId extends AggregateId implements IHasDomainEntityId - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class MongoDbAggregateQuery - { - public value: string; +// @DataContract +export class SmsToPhoneNumbersDeliverySettingsDto extends SmsCampaignDeliverySettingsDto +{ + // @DataMember + public phoneNumbers: string[] = []; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - export class SchemaId extends AggregateId implements IHasDomainEntityId - { +export class IntegrationDto implements IHasViewId +{ + public viewId: string; + public integrationName: string; + public isEnabled: boolean; + public env?: string; + public lastIntegrationTestAtUtc?: string; + public lastIntegrationTestSucceeded?: boolean; + public lastIntegrationTestErrors: IReadOnlyList; + public humanDeliveryConfirmedAtUtc?: string; + public requiresHumanDeliveryConfirmation: boolean; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export class LlmIntegrationDto extends IntegrationDto +{ + public provider: LlmProvider; + public baseUrl?: string; + public defaultModel?: string; + public isConfigured: boolean; + public isSystemOwned: boolean; - export class MongoDbAggregate - { - public id: MongoDbAggregateId; - public displayName: DisplayName; - public description?: string; - public query: MongoDbAggregateQuery; - public schemaId: SchemaId; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } +export class OpenAiLlmIntegrationDto extends LlmIntegrationDto +{ - export class DatabaseIntegration extends Integration - { - public provider: DatabaseProvider; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class SchemaName - { - public value: string; - public title: string; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - export class JsonSchemaFieldName - { - public fieldName: string; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } +export class AnthropicLlmIntegrationDto extends LlmIntegrationDto +{ - export class JsonSchemaField - { - public fieldName: JsonSchemaFieldName; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } +export class OllamaLlmIntegrationDto extends LlmIntegrationDto +{ - export class DataSchema - { - public rawJson: string; - public fields: JsonSchemaField[] = []; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class VisualSchema - { - public rawJson: string; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - export class SchemaDraft - { - public dataSchema: DataSchema; - public visualSchema: VisualSchema; - public updatedAt: string; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class SchemaVersion - { - public value: number; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class MetaSchemaVersion - { - public value: number; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class PublishedSchemaVersion - { - public version: SchemaVersion; - public dataSchema: DataSchema; - public visualSchema: VisualSchema; - public metaSchemaVersion: MetaSchemaVersion; - public publishedAt: string; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class SchemaSettings - { - public softDelete: boolean; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class Schema implements IHasDomainEntityId - { - public schemaName: SchemaName; - public id: SchemaId; - public draft?: SchemaDraft; - public publishedVersions: IReadOnlyList; - public triggers?: Trigger[]; - public settings?: SchemaSettings; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class SchemaDiff - { - public addedFields: IReadOnlyList; - public removedFields: IReadOnlyList; - public typeChangedFields: IReadOnlyList; - public validatorTightenedFields: IReadOnlyList; - public isEmpty: boolean; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class TaxonomyId extends AggregateId implements IHasDomainEntityId - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class TaxonomyName - { - public value: string; - public title: string; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class RecordId - { - public id: string; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class Taxonomy implements IHasDomainEntityId - { - public parentId?: TaxonomyId; - public id: TaxonomyId; - public name: TaxonomyName; - public description?: string; - public termsMetaVisualSchema?: VisualSchema; - public termsMetaDataSchema?: DataSchema; - public dependencies?: TaxonomyId[]; - public recordId?: RecordId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class SchemaTrigger extends Trigger - { - public schemaId: SchemaId; - public when: SchemaTriggerType; - public configuration?: TemplateCode; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class SaveEmailTemplate extends CodeMashRequestBase - { - public templateName: string; - public description?: string; - public communicationChannel: CommunicationChannel; - public tags?: string[]; - // @DataMember - public staticAttachments?: FileResourceRefDto[]; - - public translations: EmailMessageTranslationDto[] = []; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - // @DataContract - export class TranslationDto - { - // @DataMember - public language: string; - - // @DataMember - public content: string; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class EmailFooterId - { - public value: string; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - // @DataContract - export class EmailSenderName - { - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class EmailIntegration extends Integration - { - public provider: EmailProvider; - public emailAddress: EmailAddress; - public emailSenderName?: EmailSenderName; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class EmailSignatureId - { - public value: string; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - // @DataContract - export class FileResourceRef - { - // @DataMember(Order=1) - public resource: FileResource; - - // @DataMember(Order=2) - public integrationId: IntegrationId; - - // @DataMember(Order=3) - public provider: FileProvider; - - // @DataMember(Order=4) - public path: string; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class CodeIntegration extends Integration - { - public provider: CodeProvider; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export enum MarketplaceIntegrationTransport - { - Mcp = 'Mcp', - Rest = 'Rest', - Code = 'Code', - } - - export enum MarketplaceIntegrationCategory - { - Other = 'Other', - Crm = 'Crm', - Erp = 'Erp', - Marketing = 'Marketing', - Communication = 'Communication', - Productivity = 'Productivity', - Storage = 'Storage', - Analytics = 'Analytics', - Identity = 'Identity', - Payments = 'Payments', - DevTools = 'DevTools', - Ai = 'Ai', - Files = 'Files', - Database = 'Database', - Calendar = 'Calendar', - } - - export class MarketplaceIntegration extends Integration - { - declare public capability: string; - public listingViewId: string; - public transport: MarketplaceIntegrationTransport; - public vendor: string; - public category: MarketplaceIntegrationCategory; - public description?: string; - public config: IReadOnlyDictionary; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export enum MarketplaceMappingSourceKind - { - Default = 'Default', - Resolver = 'Resolver', - FromRequest = 'FromRequest', - } - - export class MarketplaceFunctionMapping - { - public parameterName: string; - public source: MarketplaceMappingSourceKind; - public defaultValue?: string; - public resolver?: TokenMappingResolverType; - public tokenKey?: string; - public fromRequestPath?: string; - public isRequired: boolean; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class MarketplaceFunctionBinding implements IHasDomainEntityId - { - public bindingId: string; - public integrationId: IntegrationId; - public functionKey: string; - public displayName: DisplayName; - public description?: string; - public isEnabled: boolean; - public mappings: IReadOnlyList; - public viewId: string; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class SavePushTemplate extends CodeMashRequestBase - { - public templateName: string; - public description?: string; - public communicationChannel: CommunicationChannel; - public tags?: string[]; - public translations: PushMessageTranslationDto[] = []; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export interface IHasAccountId - { - accountId: string; - } - - export enum DeviceType - { - Unknown = 'Unknown', - Phone = 'Phone', - Tablet = 'Tablet', - Desktop = 'Desktop', - Tv = 'Tv', - } - - // @DataContract - export class PushDeviceDto - { - // @DataMember - public deviceId?: string; - - // @DataMember - public deviceOs: string; - - // @DataMember - public token: string; - - // @DataMember - public brand?: string; - - // @DataMember - public manufacturer?: string; - - // @DataMember - public modelName?: string; - - // @DataMember - public deviceName?: string; - - // @DataMember - public deviceType?: DeviceType; - - // @DataMember - public osName?: string; - - // @DataMember - public osVersion?: string; - - // @DataMember - public platformApiLevel?: number; +export class GroqLlmIntegrationDto extends LlmIntegrationDto +{ - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class PushIntegration extends Integration - { - public provider: PushProvider; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataContract - export class Template implements IBindableContract - { - // @DataMember - public templateId: TemplateId; +export class GoogleLlmIntegrationDto extends LlmIntegrationDto +{ - // @DataMember - public templateName: DisplayName; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public translations: MessageTranslation[] = []; +export class MistralLlmIntegrationDto extends LlmIntegrationDto +{ - // @DataMember - public communicationChannel: CommunicationChannel; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public isActive: boolean; +export class OpenRouterLlmIntegrationDto extends LlmIntegrationDto +{ - // @DataMember - public description?: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public tags?: Tag[]; +export class GrokLlmIntegrationDto extends LlmIntegrationDto +{ - // @DataMember - public fileIntegrationId?: IntegrationId; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial>) { (Object as any).assign(this, init); } - } +export class McpMetadata +{ + public name: string; + public category: string; + public description: string; + public icon: string; - // @DataContract - export class PushTitle - { - // @DataMember - public value: TemplateCode; + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } +export enum McpAuth +{ + OAuth2 = 'OAuth2', + ApiKey = 'ApiKey', + None = 'None', +} - export class PushBody - { - public value: TemplateCode; +export class McpIntegrationDto extends IntegrationDto +{ + public provider: McpProvider; + public transport: McpTransport; + public metadata: McpMetadata; + public isConfigured: boolean; + public isSystemOwned: boolean; + public command?: string; + public args?: string[]; + public serverUrl?: string; + public auth?: McpAuth; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } +export class DockerMcpIntegrationDto extends McpIntegrationDto +{ - // @DataContract - export class PushMessageContent - { - // @DataMember(Order=1) - public title: PushTitle; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember(Order=1) - public subTitle?: PushTitle; +export class GoogleCalendarMcpIntegrationDto extends McpIntegrationDto +{ - // @DataMember(Order=2) - public body: PushBody; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } +export class ObsidianMcpIntegrationDto extends McpIntegrationDto +{ - // @DataContract - export class PushTemplate extends Template - { + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export class CodeIntegrationDto extends IntegrationDto +{ + public provider: CodeProvider; - export class LoggingIntegration extends Integration - { - public provider: LoggingProvider; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export class AwsLambdaCrossAccountRoleCodeIntegrationDto extends CodeIntegrationDto +{ + public region: string; + public roleArn: string; + public externalId: string; - export class WebhookDestinationId extends AggregateId implements IHasDomainEntityId - { + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export class AwsLambdaIamCodeIntegrationDto extends CodeIntegrationDto +{ + public region: string; - export class TriggerEventName - { - public value: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } +export class AzureFunctionsCodeIntegrationDto extends CodeIntegrationDto +{ + public functionAppName: string; + public resourceGroup?: string; - export class WebhookDestination - { - public destinationId: WebhookDestinationId; - public destinationName: DisplayName; - public endpointUrl: DomainUrl; - public selectedEvents: IReadOnlySet; - public extraHeaders?: IReadOnlyDictionary; - public isEnabled: boolean; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } +export class GoogleCloudFunctionsCodeIntegrationDto extends CodeIntegrationDto +{ + public projectId: string; + public region?: string; - export class WebhookIntegration extends Integration - { - declare public capability: string; - public destinations: IReadOnlySet; - public extraHeaders?: IReadOnlyDictionary; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export class PaymentsIntegrationDto extends IntegrationDto +{ + public gatewayPlatform: PaymentGatewayPlatform; - export class SchedulerTaskRequest - { - public type: SchedulerTaskType; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } +export class AdyenPaymentIntegrationDto extends PaymentsIntegrationDto +{ + public merchantAccount: string; + public environment: string; + public webhookId?: string; - export class TaskId extends AggregateId - { + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export class AppleInAppPaymentIntegrationDto extends PaymentsIntegrationDto +{ + public merchantIdentifier: string; + public merchantDomain: string; + public displayName: string; - export class UserId implements IHasDomainEntityId - { - public value: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } +export class GoogleInAppPaymentIntegrationDto extends PaymentsIntegrationDto +{ + public merchantId: string; + public merchantName: string; + public gateway: string; + public gatewayMerchantId?: string; - export class SchedulerTask implements IHasDomainEntityId - { - public id: TaskId; - public type: SchedulerTaskType; - public name: DisplayName; - public description?: string; - public cron: CronExpression; - public payloadJson: string; - public initiatorId: UserId; - public isEnabled: boolean; - public stopOnError: boolean; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - // @DataContract - export enum CodeMashRelease - { - NotSet = 'NotSet', - Community = 'Community', - ManagedService = 'ManagedService', - Enterprise = 'Enterprise', - } - - export enum CodeMashRuntime - { - Development = 'Development', - CI = 'CI', - Production = 'Production', - } - - // @DataContract - export class CodeMashLicenseFromEndpointDto - { - // @DataMember(Name="domain") - public domain: string; - - // @DataMember(Name="accountId") - public accountId: string; - - // @DataMember(Name="refCustomerId") - public refCustomerId: string; - - // @DataMember(Name="refSubscriptionId") - public refSubscriptionId: string; - - // @DataMember(Name="issued") - public issued: number; - - // @DataMember(Name="expire") - public expire: number; - - // @DataMember(Name="cap") - public cap: number; - - // @DataMember(Name="isTrial") - public isTrial: boolean; - - // @DataMember(Name="release") - public release: string; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - // @DataContract - export class AccountOwnerDto - { - // @DataMember - public email: string; - - // @DataMember - public displayName: string; - - // @DataMember - public billingEmail?: string; +export class LemonSqueezyPaymentIntegrationDto extends PaymentsIntegrationDto +{ + public storeId: string; + public isTestMode: boolean; - // @DataMember - public operationsEmail?: string; - - // @DataMember - public securityEmail?: string; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class ErrorDto - { - public message: string; - public errorCode?: string; - public context?: { [index:string]: string; }; - public stackTrace?: IReadOnlySet; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class CodeMashResponseStatus - { - public isSuccess: boolean; - public errors?: ErrorDto[]; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class ResponseBase - { - public responseStatus: CodeMashResponseStatus; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } +export class MolliePaymentIntegrationDto extends PaymentsIntegrationDto +{ + public profileId: string; + public isTestMode: boolean; - // @Flags() - export enum AccountStatus - { - Registered = 1, - PendingValidation = 2, - Active = 8, - InActive = 16, - Blocked = 32, - Unregistered = 64, - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataContract - export class AccountStatusDto - { - // @DataMember - public accountId: string; +export class PaddlePaymentIntegrationDto extends PaymentsIntegrationDto +{ + public environment: string; + public clientSideToken?: string; - // @DataMember - public accountIdAsGuid: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public userId: string; +export class PayPalPaymentIntegrationDto extends PaymentsIntegrationDto +{ + public clientId: string; + public environment: string; + public brandName?: string; - // @DataMember - public loggedInUserId: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public loggedInUserEmail?: string; +export class StripePaymentIntegrationDto extends PaymentsIntegrationDto +{ + public publishableKey: string; + public webhookEndpointId?: string; + public defaultCurrency?: string; - // @DataMember - public status: AccountStatus; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public projectCap: number; +export class ShopifyPaymentIntegrationDto extends PaymentsIntegrationDto +{ + public shopDomain: string; + public webhookSecret?: string; - // @DataMember - public permissions: string[] = []; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public roles: string[] = []; +export class WooCommercePaymentIntegrationDto extends PaymentsIntegrationDto +{ + public storeUrl: string; + public webhookSecret?: string; - // @DataMember - public allowedProjects?: string[]; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public trialWasIssued: boolean; +export class MagentoPaymentIntegrationDto extends PaymentsIntegrationDto +{ + public storeUrl: string; + public webhookSecret?: string; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - export enum ProjectStatus - { - Active = 'Active', - Disabled = 'Disabled', - Removed = 'Removed', - } +export class BraintreePaymentIntegrationDto extends PaymentsIntegrationDto +{ + public merchantId: string; + public environment: string; + public webhookSecret?: string; - export class ProjectRegionDto - { - public id: string; - public continent?: Continent; - public name?: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } +export class AuthorizeNetPaymentIntegrationDto extends PaymentsIntegrationDto +{ + public merchantLoginId: string; + public environment: string; + public webhookSignatureKey?: string; - // @DataContract - export class ProjectBrandDto - { - // @DataMember - public mainColor?: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public accentColor?: string; +export class CheckOutComPaymentIntegrationDto extends PaymentsIntegrationDto +{ + public merchantAccount: string; + public environment: string; + public webhookSecret?: string; - // @DataMember - public logo?: FileResourceRefDto; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public icon?: FileResourceRefDto; +export class WorldpayPaymentIntegrationDto extends PaymentsIntegrationDto +{ + public merchantCode: string; + public environment: string; + public webhookSecret?: string; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - export class NotificationsSettingsGroupDto - { - public tag: string; - public tags: string[] = []; +export class MembershipIntegrationDto extends IntegrationDto +{ + public provider: MembershipProvider; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - export class NotificationSettingsChannelDto - { - public channel: CommunicationChannel; - public groups: NotificationsSettingsGroupDto[] = []; +export class AppleSignInMembershipIntegrationDto extends MembershipIntegrationDto +{ + public teamId: string; + public appBundleId: string; + public serviceId: string; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - export class NotificationSettingsDto - { - public channels: NotificationSettingsChannelDto[] = []; - public allGroups: GroupDefinitionDto[] = []; - public allTags: TagDefinitionDto[] = []; +export class GitHubMembershipIntegrationDto extends MembershipIntegrationDto +{ + public clientId: string; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataContract - export class TriggerDto implements IHasViewId - { - // @DataMember - public type: TriggerType; +export class GoogleMembershipIntegrationDto extends MembershipIntegrationDto +{ + public clientId: string; - // @DataMember - public viewId: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public name: string; +export class MetaMembershipIntegrationDto extends MembershipIntegrationDto +{ + public appId: string; - // @DataMember - public thenAction: TriggerActionDto; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public description?: string; +export class MicrosoftMembershipIntegrationDto extends MembershipIntegrationDto +{ + public tenantId: string; + public clientId: string; - // @DataMember - public isEnabled: boolean; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public activationCode?: string; +export class OktaMembershipIntegrationDto extends MembershipIntegrationDto +{ + public domain: string; + public clientId: string; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataContract - export class SchemaTriggerDto extends TriggerDto - { - // @DataMember - public schemaId: string; +export class XMembershipIntegrationDto extends MembershipIntegrationDto +{ + public apiKey: string; - // @DataMember - public when: SchemaTriggerType; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public configurationCode?: string; +export class LoggingIntegrationDto extends IntegrationDto +{ + public provider: LoggingProvider; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataContract - export class DatabaseDto - { - // @DataMember - public isEnabled: boolean; +export class AmqpLoggingIntegrationDto extends LoggingIntegrationDto +{ + public host: string; + public port: number; + public virtualHost: string; + public exchange: string; + public routingKey: string; - // @DataMember - public triggers?: SchemaTriggerDto[]; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public defaultIntegrationViewId?: string; +export class AwsKinesisLoggingIntegrationDto extends LoggingIntegrationDto +{ + public streamName: string; + public region: string; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataContract - export class EmailSignatureDto implements IHasViewId - { - // @DataMember - public viewId: string; +export class AwsS3CrossAccountRoleLoggingIntegrationDto extends LoggingIntegrationDto +{ + public bucketName: string; + public region: string; + public roleArn: string; + public externalId: string; - // @DataMember - public displayName?: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public translations: TranslationDto[] = []; +export class AwsS3IamLoggingIntegrationDto extends LoggingIntegrationDto +{ + public bucketName: string; + public region: string; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataContract - export class EmailFooterDto implements IHasViewId - { - // @DataMember - public viewId: string; +export class AzureOtelLoggingIntegrationDto extends LoggingIntegrationDto +{ + public endpointUrl: string; + public resourceName: string; - // @DataMember - public displayName?: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public translations: TranslationDto[] = []; +export class DataDogLoggingIntegrationDto extends LoggingIntegrationDto +{ + public site: string; + public serviceName: string; + public environment: string; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataContract - export class EmailDto - { - // @DataMember - public isEnabled: boolean; +export class ElasticSearchLoggingIntegrationDto extends LoggingIntegrationDto +{ + public uri: string; + public index: string; - // @DataMember - public defaultIntegrationViewId?: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public signatures?: EmailSignatureDto[]; +export class InternalKafkaLoggingIntegrationDto extends LoggingIntegrationDto +{ + public bootstrapServers: string; + public topic: string; + public securityProtocol?: string; - // @DataMember - public footers?: EmailFooterDto[]; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } +export class KafkaLoggingIntegrationDto extends LoggingIntegrationDto +{ + public bootstrapServers: string; + public topic: string; + public securityProtocol?: string; - // @DataContract - export class AiDto - { - // @DataMember - public isEnabled: boolean; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public defaultIntegrationViewId?: string; +export class KibanaLoggingIntegrationDto extends LoggingIntegrationDto +{ + public uri: string; + public spaceId?: string; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataContract - export class MembershipTriggerDto extends TriggerDto - { - // @DataMember - public when: MembershipTriggerType; +export class LocalFileLoggingIntegrationDto extends LoggingIntegrationDto +{ + public rootPath?: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - export class RoleItemDto - { - public id: string; - public name: string; - public displayName?: string; - public description?: string; - public isSystem: boolean; - public attachedPolicies?: string[]; +export class MongoDbLoggingIntegrationDto extends LoggingIntegrationDto +{ + public databaseName?: string; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - export class PolicyStatementDto - { - public sid?: string; - public effect: PermissionEffect; - public actions: string[] = []; - public resources: string[] = []; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } +export class NewRelicLoggingIntegrationDto extends LoggingIntegrationDto +{ + public region: string; + public serviceName: string; - export class PolicyItemDto - { - public id: string; - public name: string; - public description?: string; - public isSystem: boolean; - public statements?: PolicyStatementDto[]; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - // @DataContract - export class AuthorizationDto - { - // @DataMember - public userRegistersAsRole?: string; - - // @DataMember - public allowedRegisterRoles?: string[]; - - // @DataMember - public allowedProviderRegisterRoles?: string[]; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - // @DataContract - export class MembershipDto - { - // @DataMember - public isEnabled: boolean; - - // @DataMember - public triggers?: MembershipTriggerDto[]; - - // @DataMember - public customRoles?: RoleItemDto[]; - - // @DataMember - public customPolicies?: PolicyItemDto[]; - - // @DataMember - public authorization?: AuthorizationDto; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - // @DataContract - export class LoggingDto - { - // @DataMember - public isEnabled: boolean; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - // @DataContract - export class ServerEventsDto - { - // @DataMember - public isEnabled: boolean; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - // @DataContract - export class PushDto - { - // @DataMember - public isEnabled: boolean; - - // @DataMember - public defaultIntegrationViewId?: string; - - // @DataMember - public marketingTags?: TagDefinitionDto[]; - - // @DataMember - public transactionalTags?: TagDefinitionDto[]; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataContract - export class SchedulerDto - { - // @DataMember - public isEnabled: boolean; +export class PrometheusLoggingIntegrationDto extends LoggingIntegrationDto +{ + public endpointUrl: string; + public jobName?: string; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataContract - export class CodeDto - { - // @DataMember - public isEnabled: boolean; +export class SplunkLoggingIntegrationDto extends LoggingIntegrationDto +{ + public hecEndpointUrl: string; + public index: string; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataContract - export class FilesTriggerDto extends TriggerDto - { - // @DataMember - public when: FilesTriggerType; +export class FilesIntegrationDto extends IntegrationDto +{ + public provider: FileProvider; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataContract - export class FilesDto - { - // @DataMember - public isEnabled: boolean; +export class AppleICloudFilesIntegrationDto extends FilesIntegrationDto +{ + public containerIdentifier: string; + public relativePath?: string; - // @DataMember - public triggers?: FilesTriggerDto[]; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public defaultIntegrationViewId?: string; +export class AwsS3CrossAccountRoleFilesIntegrationDto extends FilesIntegrationDto +{ + public bucketName: string; + public region: string; + public roleArn: string; + public externalId: string; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataContract - export class PaymentTriggerDto extends TriggerDto - { - // @DataMember - public when: PaymentTriggerType; +export class AwsS3IamFilesIntegrationDto extends FilesIntegrationDto +{ + public bucketName: string; + public region: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataContract - export class PaymentsDto - { - // @DataMember - public isEnabled: boolean; +export class AzureBlobFilesIntegrationDto extends FilesIntegrationDto +{ + public blobName: string; - // @DataMember - public triggers?: PaymentTriggerDto[]; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } +export class DropBoxFilesIntegrationDto extends FilesIntegrationDto +{ + public rootPath?: string; - // @DataContract - export class SmsDto - { - // @DataMember - public isEnabled: boolean; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public defaultIntegrationViewId?: string; +export class FtpFilesIntegrationDto extends FilesIntegrationDto +{ + public host: string; + public port: number; + public rootPath?: string; + public useSsl: boolean; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataContract - export class ProjectDto implements IHasViewId, IBindableContract - { - // @DataMember - public accountViewId: string; +export class GoogleCloudFilesIntegrationDto extends FilesIntegrationDto +{ + public bucketName: string; - // @DataMember - public projectStatus: ProjectStatus; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public isActive: boolean; +export class GoogleDriveFilesIntegrationDto extends FilesIntegrationDto +{ + public rootFolderId?: string; - // @DataMember - public viewId: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public name: string; +export class LocalFilesIntegrationDto extends FilesIntegrationDto +{ + public rootPath?: string; - // @DataMember - public uniqueName: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public hostLabel?: string; +export class DatabaseIntegrationDto extends IntegrationDto +{ + public provider: DatabaseProvider; - // @DataMember - public apiHost?: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public description?: string; +export class MongoDbConnectionStringIntegrationDto extends DatabaseIntegrationDto +{ + public databaseName?: string; - // @DataMember - public marketingUrl?: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public defaultLanguage: string; +export enum IntegrationStatus +{ + Unknown = 'Unknown', + Pending = 'Pending', + Provisioning = 'Provisioning', + Active = 'Active', + Failed = 'Failed', + Deprovisioning = 'Deprovisioning', +} - // @DataMember - public languages: string[] = []; +export class MongoDbAtlasFlexManagedIntegrationDto extends DatabaseIntegrationDto +{ + public databaseName?: string; + public norbixRegionCode: string; + public flexTierCode: string; + public status: IntegrationStatus; + public atlasProjectId?: string; + public atlasClusterName?: string; + public failureReason?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public regions?: ProjectRegionDto[]; +export enum SmsProvider +{ + Twilio = 'Twilio', + Vonage = 'Vonage', + Plivo = 'Plivo', + Telnyx = 'Telnyx', + Bird = 'Bird', + Telesign = 'Telesign', + Sinch = 'Sinch', + Fake = 'Fake', +} - // @DataMember - public brand?: ProjectBrandDto; +export class SmsIntegrationDto extends IntegrationDto +{ + public provider: SmsProvider; - // @DataMember - public notificationSettings?: NotificationSettingsDto; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public allowedOrigins?: string[]; +export class BirdSmsIntegrationDto extends SmsIntegrationDto +{ + public originator: string; + public region: string; - // @DataMember - public database?: DatabaseDto; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public email?: EmailDto; +export class PlivoSmsIntegrationDto extends SmsIntegrationDto +{ + public authId: string; + public fromPhoneNumber: string; - // @DataMember - public ai?: AiDto; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public membership?: MembershipDto; +export class SinchSmsIntegrationDto extends SmsIntegrationDto +{ + public servicePlanId: string; + public fromPhoneNumber: string; - // @DataMember - public logging?: LoggingDto; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public serverEvents?: ServerEventsDto; +export class TelesignSmsIntegrationDto extends SmsIntegrationDto +{ + public customerId: string; + public fromSender: string; - // @DataMember - public push?: PushDto; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public scheduler?: SchedulerDto; +export class TelnyxSmsIntegrationDto extends SmsIntegrationDto +{ + public messagingProfileId: string; + public fromPhoneNumber: string; - // @DataMember - public code?: CodeDto; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public files?: FilesDto; +export class TwilioSmsIntegrationDto extends SmsIntegrationDto +{ + public accountSid: string; + public fromPhoneNumber: string; - // @DataMember - public payments?: PaymentsDto; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public sms?: SmsDto; +export class VonageSmsIntegrationDto extends SmsIntegrationDto +{ + public apiKey: string; + public fromSender: string; - // @DataMember - public databaseEnabled: boolean; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public emailEnabled: boolean; +export class FakeSmsIntegrationDto extends SmsIntegrationDto +{ - // @DataMember - public membershipEnabled: boolean; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public loggingEnabled: boolean; +export class PushIntegrationDto extends IntegrationDto +{ + public provider: PushProvider; - // @DataMember - public serverEventsEnabled: boolean; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public pushEnabled: boolean; +export class AndroidFirebasePushIntegrationDto extends PushIntegrationDto +{ + public projectId: string; + public clientEmail: string; - // @DataMember - public schedulerEnabled: boolean; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public codeEnabled: boolean; +export class AppleApnsPushIntegrationDto extends PushIntegrationDto +{ + public teamId: string; + public appBundleId: string; - // @DataMember - public filesEnabled: boolean; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public paymentsEnabled: boolean; +export class ChromePluginPushIntegrationDto extends PushIntegrationDto +{ + public extensionId: string; + public vapidPublicKey: string; + public subject?: string; - // @DataMember - public smsEnabled: boolean; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public defaultFilesIntegrationViewId?: string; +export class ChromeWebPushIntegrationDto extends PushIntegrationDto +{ + public vapidPublicKey: string; + public subject?: string; - // @DataMember - public defaultDatabaseIntegrationViewId?: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public defaultEmailIntegrationViewId?: string; +export class EdgeWebPushIntegrationDto extends PushIntegrationDto +{ + public vapidPublicKey: string; + public subject?: string; - // @DataMember - public defaultLlmIntegrationViewId?: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public defaultPushIntegrationViewId?: string; +export class FirefoxWebPushIntegrationDto extends PushIntegrationDto +{ + public vapidPublicKey: string; + public subject?: string; - // @DataMember - public defaultSmsIntegrationViewId?: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public connections: number; +export class SafariPushIntegrationDto extends PushIntegrationDto +{ + public websitePushId: string; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataContract - export class ProjectListItemDto - { - // @DataMember - public viewId: string; +export class FakePushIntegrationDto extends PushIntegrationDto +{ - // @DataMember - public isActive: boolean; - - // @DataMember - public name: string; - - // @DataMember - public uniqueName: string; - - // @DataMember - public regions?: ProjectRegionDto[]; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class PaginatedResponse - { - public items: IList; - public hasMore: boolean; - public hasPrevious: boolean; - public startingAfter?: string; - public endingBefore?: string; - - public constructor(init?: Partial>) { (Object as any).assign(this, init); } - } - - export enum UserType - { - Service = 'Service', - Email = 'Email', - UserName = 'UserName', - Phone = 'Phone', - Guest = 'Guest', - Social = 'Social', - } - - export class AccessInformationDto - { - public ip?: string; - public date?: string; - public timeZone?: string; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class RegistrationDto - { - public registrationInformation: AccessInformationDto; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class LoginDto - { - public needChangePasswordOnNextLogin: boolean; - public lastAccessInformation?: AccessInformationDto; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export enum Gender - { - Male = 'Male', - Female = 'Female', - Other = 'Other', - } - - export class UserGeneralInfoDto - { - public phone?: string; - public primaryEmail?: string; - public displayName?: string; - public firstName?: string; - public lastName?: string; - public fullName?: string; - public addressLine1?: string; - public addressLine2?: string; - public country?: string; - public city?: string; - public state?: string; - public postalCode?: string; - public company?: string; - public gender?: Gender; - public birthDate?: number; - public timeZone?: string; - public language?: string; - public blockAllMarketingMessages: boolean; - public blockedTags?: { [index:string]: IReadOnlySet; }; - public extraMetadata?: string; - public notes?: string; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export enum UserStatus - { - Registered = 0, - PendingValidation = 2, - Active = 8, - Unregistered = 16, - Suspended = 32, - InActive = 64, - Blocked = 128, - } - - export class UserDto implements IBindableContract - { - public id: string; - public type: UserType; - public email?: string; - public userName?: string; - public registration?: RegistrationDto; - public login?: LoginDto; - public generalInfo?: UserGeneralInfoDto; - public roles?: IReadOnlySet; - public pushDevices?: IReadOnlySet; - public tags?: IReadOnlySet; - public status: UserStatus; - public createdOn: string; - public modifiedOn: string; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class CodeMashSubscriptionDto - { - public viewId: string; - public domain: string; - public willExpireOn: string; - public issuedOn: string; - public isTrial: boolean; - public subscriptionRefId: string; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class LicenseDto extends CodeMashSubscriptionDto - { - public isEnterprise: boolean; - public projectCap: number; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class GetTriggerResponse extends ResponseBase - { - public trigger?: TriggerDto; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - // @DataContract - export class TriggerProjectionList implements IHasViewId - { - // @DataMember - public viewId: string; - - // @DataMember - public name: string; - - // @DataMember - public actionType: TriggerActionType; - - // @DataMember - public hasPreExecuteCode: boolean; - - // @DataMember - public isEnabled: boolean; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - // @DataContract - export class MembershipTriggerProjectionList extends TriggerProjectionList - { - // @DataMember - public type: MembershipTriggerType; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - // @DataContract - export class GetTriggersResponse extends ResponseBase - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } - - export class RoleListProjectionDto - { - public viewId: string; - public name: string; - public displayName?: string; - public isSystem: boolean; - public policyCount: number; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class IntegrationListProjection implements IHasViewId - { - public viewId: string; - public integrationName: string; - public isEnabled: boolean; - public lastIntegrationTestAtUtc?: string; - public lastIntegrationTestSucceeded?: boolean; - public lastIntegrationTestErrors: IReadOnlyList; - public humanDeliveryConfirmedAtUtc?: string; - public requiresHumanDeliveryConfirmation: boolean; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - export class MembershipIntegrationListProjection extends IntegrationListProjection - { - // @DataMember - public provider: MembershipProvider; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export class EmailIntegrationDto extends IntegrationDto +{ + public provider: EmailProvider; + public emailAddress: string; + public emailSenderName?: string; - // @DataContract - export class SchemaTriggerProjectionList extends TriggerProjectionList - { - // @DataMember - public type: SchemaTriggerType; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export class AwsSesEmailIntegrationDto extends EmailIntegrationDto +{ + public region: string; + public identityArn: string; + public configurationSetName?: string; - export class JsonSchemaFieldDto - { - // @DataMember - public fieldName: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } +export class AwsCrossAccountRoleEmailIntegrationDto extends AwsSesEmailIntegrationDto +{ + public roleArn: string; + public externalId: string; - export class DataSchemaDto - { - // @DataMember - public json: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public fields: JsonSchemaFieldDto[] = []; +export class AwsIamEmailIntegrationDto extends AwsSesEmailIntegrationDto +{ - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - export class VisualSchemaDto - { - // @DataMember - public json: string; +export class MailGunEmailIntegrationDto extends EmailIntegrationDto +{ + public domain: string; + public region: MailGunRegion; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - export class TaxonomyDto implements IHasViewId - { - // @DataMember - public viewId: string; +export class SendGridEmailIntegrationDto extends EmailIntegrationDto +{ - // @DataMember - public name: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public slug?: string; +export class SmtpEmailIntegrationDto extends EmailIntegrationDto +{ + public hostName: string; + public port: number; - // @DataMember - public parentId?: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public description?: string; +export class FakeEmailIntegrationDto extends EmailIntegrationDto +{ - // @DataMember - public termsMetaDataSchema?: DataSchemaDto; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public termsMetaVisualSchema?: VisualSchemaDto; +// @DataContract +export class WebhookDestinationDto +{ + // @DataMember + public viewId: string; - // @DataMember - public dependencies?: string[]; + // @DataMember + public destinationName: string; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + // @DataMember + public endpointUrl: string; - export class TaxonomyListProjection implements IHasViewId - { - // @DataMember - public viewId: string; + // @DataMember + public selectedEvents: IReadOnlyList; - // @DataMember - public taxonomyName: string; + // @DataMember + public extraHeaders?: IReadOnlyDictionary; - // @DataMember - public taxonomySlug: string; + // @DataMember + public isEnabled: boolean; - // @DataMember - public parentId?: string; + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } +export class WebhookIntegrationDto extends IntegrationDto +{ + public isConfigured: boolean; + public destinations: IReadOnlyList; + public extraHeaders?: IReadOnlyDictionary; - export class TermMultiParentDto - { - // @DataMember - public taxonomyId: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public parentId: string; +export enum SchedulerTaskType +{ + EmailCampaign = 'EmailCampaign', + PushCampaign = 'PushCampaign', + SmsCampaign = 'SmsCampaign', + CodeFunctionalCall = 'CodeFunctionalCall', + WebhookCall = 'WebhookCall', +} - // @DataMember - public name?: string; +// @DataContract +export class SchedulerTaskDto +{ + // @DataMember + public projectId: string; - // @DataMember - public names?: { [index:string]: string; }; + // @DataMember + public taskId: string; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + // @DataMember + public name: string; - export class TermDto - { - // @DataMember - public id: string; + // @DataMember + public description?: string; - // @DataMember - public taxonomyId?: string; + // @DataMember + public cron: string; - // @DataMember - public taxonomyName?: string; + // @DataMember + public type: SchedulerTaskType; - // @DataMember - public parentId?: string; + // @DataMember + public payloadJson: string; - // @DataMember - public order?: number; + // @DataMember + public initiatorId: string; - // @DataMember - public name?: string; + // @DataMember + public isEnabled: boolean; - // @DataMember - public names?: { [index:string]: string; }; + // @DataMember + public stopOnError: boolean; - // @DataMember - public description?: string; + // @DataMember + public createdAtUnix?: number; - // @DataMember - public descriptions?: { [index:string]: string; }; + // @DataMember + public updatedAtUnix?: number; - // @DataMember - public multiParents?: TermMultiParentDto[]; + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - // @DataMember - public meta?: Object; +export class MongoDbAggregateDto implements IHasViewId +{ + // @DataMember + public viewId: string; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + // @DataMember + public displayName: string; - export class SchemaDto implements IHasViewId - { - // @DataMember - public viewId: string; + // @DataMember + public description?: string; - // @DataMember - public schemaName: string; + // @DataMember + public schemaViewId: string; - // @DataMember - public schemaSlug?: string; + // @DataMember + public pipeline: string; - // @DataMember - public version: number; + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - // @DataMember - public metaSchemaVersion: number; +export enum MarketplaceTransport +{ + Mcp = 'Mcp', + Rest = 'Rest', + Code = 'Code', + Internal = 'Internal', + Sdk = 'Sdk', +} - // @DataMember - public dataSchema: DataSchemaDto; +export enum MarketplaceCategory +{ + Other = 'Other', + Crm = 'Crm', + Erp = 'Erp', + Marketing = 'Marketing', + Communication = 'Communication', + Productivity = 'Productivity', + Storage = 'Storage', + Analytics = 'Analytics', + Identity = 'Identity', + Payments = 'Payments', + DevTools = 'DevTools', + Ai = 'Ai', + Files = 'Files', + Database = 'Database', + Calendar = 'Calendar', +} - // @DataMember - public visualSchema: VisualSchemaDto; +// @DataContract +export class MarketplaceIntegrationDto extends IntegrationDto +{ + // @DataMember + public listingViewId: string; - // @DataMember - public publishedAt: string; + // @DataMember + public transport: MarketplaceTransport; - // @DataMember - public settings?: SchemaSettingsDto; + // @DataMember + public vendor: string; - // @DataMember - public triggers?: TriggerDto[]; + // @DataMember + public category: MarketplaceCategory; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + // @DataMember + public description?: string; - export class SchemaListProjection implements IHasViewId - { - // @DataMember - public viewId: string; + // @DataMember + public config: IReadOnlyDictionary; - // @DataMember - public schemaName: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public schemaTitle: string; +export enum MarketplaceTokenResolverKind +{ + Static = 'Static', + Request = 'Request', + Project = 'Project', + Initiator = 'Initiator', + Custom = 'Custom', + IntegrationConfig = 'IntegrationConfig', + IntegrationSecret = 'IntegrationSecret', +} - // @DataMember - public latestVersion?: number; +export enum MarketplaceSecretValueFormat +{ + Raw = 'Raw', + Bearer = 'Bearer', + Basic = 'Basic', + Prefixed = 'Prefixed', +} - // @DataMember - public hasDraft: boolean; +// @DataContract +export class MarketplaceTokenMappingDto +{ + // @DataMember + public token: string; - // @DataMember - public metaSchemaVersion: number; + // @DataMember + public resolver: MarketplaceTokenResolverKind; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + // @DataMember + public value?: string; - export class SchemaDraftDto - { - // @DataMember - public dataSchema: DataSchemaDto; + // @DataMember + public secretKeys?: string[]; - // @DataMember - public visualSchema: VisualSchemaDto; + // @DataMember + public format: MarketplaceSecretValueFormat; - // @DataMember - public updatedAt: string; + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } +// @DataContract +export class MarketplaceFunctionDto implements IHasViewId +{ + // @DataMember + public viewId: string; - export class SchemaDiffDto - { - // @DataMember - public fromVersion: number; + // @DataMember + public integrationViewId: string; - // @DataMember - public toVersion: number; + // @DataMember + public functionKey: string; - // @DataMember - public added: string[] = []; + // @DataMember + public displayName: string; - // @DataMember - public removed: string[] = []; + // @DataMember + public description?: string; - // @DataMember - public typeChanged: string[] = []; + // @DataMember + public isEnabled: boolean; - // @DataMember - public validatorTightened: string[] = []; + // @DataMember + public requestTemplate: string; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + // @DataMember + public mappedTokens: MarketplaceTokenMappingDto[] = []; - export class SchemaVersionSummaryDto - { - // @DataMember - public version: number; + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - // @DataMember - public metaSchemaVersion: number; +export enum MarketplaceFieldType +{ + String = 'String', + Number = 'Number', + Boolean = 'Boolean', + Url = 'Url', + Email = 'Email', + Json = 'Json', + MultilineText = 'MultilineText', +} - // @DataMember - public publishedAt: string; +// @DataContract +export class MarketplaceFieldDefinitionDto +{ + // @DataMember + public key: string; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + // @DataMember + public label: string; - export class DatabaseIntegrationListProjection extends IntegrationListProjection - { - // @DataMember - public provider: DatabaseProvider; + // @DataMember + public description?: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @DataMember + public documentationUrl?: string; - export class MongoDbAggregateListProjection implements IHasViewId - { - // @DataMember - public viewId: string; + // @DataMember + public type: MarketplaceFieldType; - // @DataMember - public displayName: string; + // @DataMember + public isRequired: boolean; - // @DataMember - public schemaViewId: string; + // @DataMember + public defaultValue?: string; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + // @DataMember + public placeholder?: string; - // @DataContract - export class FilesTriggerProjectionList extends TriggerProjectionList - { - // @DataMember - public type: FilesTriggerType; + // @DataMember + public validationPattern?: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @DataMember + public allowedValues?: IReadOnlyList; - export class FilesIntegrationListProjection extends IntegrationListProjection - { - // @DataMember - public provider: FileProvider; + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +// @DataContract +export class MarketplaceFunctionParameterDto +{ + // @DataMember + public name: string; - // @DataContract - export class TemplateListProjection implements IHasViewId - { - // @DataMember - public viewId: string; + // @DataMember + public type: string; - // @DataMember - public templateName: string; + // @DataMember + public description?: string; - // @DataMember - public isActive: boolean; + // @DataMember + public isRequired: boolean; - // @DataMember - public type: CommunicationChannel; + // @DataMember + public defaultValue?: string; - // @DataMember - public tags?: string[]; + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } +export enum MarketplaceParameterLocation +{ + Body = 'Body', + Header = 'Header', + Query = 'Query', + Path = 'Path', +} - // @DataContract - export class MjmlParseError - { - // @DataMember(Name="line") - public line: number; +// @DataContract +export class MarketplaceParameterSpecDto +{ + // @DataMember + public name: string; - // @DataMember(Name="message") - public message?: string; + // @DataMember + public location: MarketplaceParameterLocation; - // @DataMember(Name="tagName") - public tagName?: string; + // @DataMember + public valueTemplate?: string; - // @DataMember(Name="formattedMessage") - public formattedMessage?: string; + // @DataMember + public label?: string; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + // @DataMember + public description?: string; - // @DataContract - export class HtmlFromMjmlResponse - { - // @DataMember(Name="html") - public html: string; + // @DataMember + public documentationUrl?: string; - // @DataMember(Name="errors") - public errors: MjmlParseError[] = []; + // @DataMember + public type?: string; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + // @DataMember + public isRequired: boolean; - export class EmailTemplateListProjection extends TemplateListProjection - { - public hasAttachments: boolean; - public languages: IReadOnlySet; + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +// @DataContract +export class MarketplaceHttpRequestSpecDto +{ + // @DataMember + public method: string; - export class SystemEmailTemplateListProjection extends EmailTemplateListProjection - { + // @DataMember + public pathTemplate: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @DataMember + public parameters: IReadOnlyList; - // @DataContract - export class ListItemProjection implements IHasViewId - { - // @DataMember - public viewId: string; + // @DataMember + public contentType?: string; - // @DataMember - public displayName?: string; + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } +// @DataContract +export class MarketplaceFunctionDefinitionDto +{ + // @DataMember + public definitionId?: string; - // @DataContract - export class ListItemWithTranslationsProjection extends ListItemProjection - { - // @DataMember - public translations: string[] = []; + // @DataMember + public functionKey: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @DataMember + public displayName: string; - export class EmailSettings implements IBindableContract - { - public signatures?: IList; - public footers?: IList; + // @DataMember + public description?: string; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + // @DataMember + public group?: string; - export class EmailIntegrationListProjection extends IntegrationListProjection - { - public emailProvider: EmailProvider; - public senderEmailAddress: string; - public senderDisplayName?: string; + // @DataMember + public parameters: IReadOnlyList; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @DataMember + public requestSchema?: string; - // @DataContract - export class IntegrationTestResultItemDto - { - // @DataMember - public operation: string; + // @DataMember + public requestTemplate?: string; - // @DataMember - public result: string; + // @DataMember + public request?: MarketplaceHttpRequestSpecDto; - // @DataMember - public errors?: IReadOnlyList; + // @DataMember + public defaultTokenMappings: MarketplaceTokenMappingDto[] = []; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - export enum CampaignStatus - { - Pending = 'Pending', - Registered = 'Registered', - Scheduled = 'Scheduled', - Started = 'Started', - Stopped = 'Stopped', - Processing = 'Processing', - Completed = 'Completed', - Failed = 'Failed', - } +// @DataContract +export class MarketplaceListingDto implements IHasViewId +{ + // @DataMember + public viewId: string; - export class CampaignStatusChangeEntryDto - { - public time: string; - public status: CampaignStatus; - public errors?: IReadOnlySet; + // @DataMember + public slug: string; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + // @DataMember + public displayName: string; - // @DataContract - export class CampaignDto implements IHasResponsibleUserId, IHasDatabaseId - { - // @DataMember - public viewId: string; + // @DataMember + public vendor: string; - // @DataMember - public createdOn: string; + // @DataMember + public category: MarketplaceCategory; - // @DataMember - public language: string; + // @DataMember + public transport: MarketplaceTransport; - // @DataMember - public forceCampaignLanguage: boolean; + // @DataMember + public description?: string; - // @DataMember - public campaignProcessingIntegrationId?: string; + // @DataMember + public iconUrl?: string; - // @DataMember - public statusHistory: IReadOnlySet; + // @DataMember + public documentationUrl?: string; - // @DataMember - public status?: CampaignStatusChangeEntryDto; + // @DataMember + public isOfficial: boolean; - // @DataMember - public tokenMappingValues?: IReadOnlySet; + // @DataMember + public tags: IReadOnlyList; - // @DataMember - public notes?: string; + // @DataMember + public specVersion: number; - // @DataMember - public userId: string; + // @DataMember + public configFields: IReadOnlyList; - // @DataMember - public id?: string; + // @DataMember + public secretFields: IReadOnlyList; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + // @DataMember + public functions: IReadOnlyList; - // @DataContract - export class EmailCampaignDto extends CampaignDto - { - // @DataMember - public deliverySettings: EmailCampaignDeliverySettingsDto; + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - // @DataMember - public template: EmailTemplateDto; +export class AdminPortalModuleDto +{ + public key: string; + public displayName: string; + public enabled: boolean; - // @DataMember - public templateIsSystem: boolean; + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export class AiChatEntryWireDto +{ + public kind: string; + public id: string; + public seq: number; + public atUtc: string; + public refEntryId?: string; + public workItemId?: string; + public feedback?: string; + public feedbackAtUtc?: string; + public feedbackByUserAuthId?: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - // @DataContract - export class EmailCampaignListProjection - { - // @DataMember - public viewId: string; +export class AiChatEntryAttachmentWireDto +{ + public id: string; + public name: string; - // @DataMember - public templateName: string; + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - // @DataMember - public templateId: string; +export class UserMessageEntryWireDto extends AiChatEntryWireDto +{ + public kind: string; + public text: string; + public attachments: AiChatEntryAttachmentWireDto[] = []; - // @DataMember - public integrationId?: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public language: string; +export class AiChatEntrySourceWireDto +{ + public kind: string; + public requirementId?: string; + public sessionId?: string; + public entryId?: string; + public entrySeq?: number; + public artifactId?: string; + public label?: string; + public step?: number; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - // @DataMember - public strategy: string; +export class AssistantTextEntryWireDto extends AiChatEntryWireDto +{ + public kind: string; + public text: string; + public isStreaming: boolean; + public sources: AiChatEntrySourceWireDto[] = []; - // @DataMember - public latestStatus?: CampaignStatus; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public createdOn: string; +export class AiChatQuestionOptionWireDto +{ + public value: string; + public label: string; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - export enum CampaignBatchStatus - { - Registered = 'Registered', - Processing = 'Processing', - Completed = 'Completed', - Failed = 'Failed', - } +export class AiChatQuestionWireDto +{ + public id: string; + public text: string; + public options: AiChatQuestionOptionWireDto[] = []; + public default?: string; + public allowFreeText: boolean; - export class BatchStatusChangeEntryDto - { - public time: string; - public status: CampaignBatchStatus; - public errors?: IReadOnlySet; + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } +export class AiChatGateResultWireDto +{ + public class: string; + public reason: string; + public affectedRequirementIds: string[] = []; - // @DataContract - export class CampaignBatchDto implements IHasDatabaseId - { - // @DataMember - public campaignId: string; + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - // @DataMember - public batchId: string; +export class AssistantQuestionEntryWireDto extends AiChatEntryWireDto +{ + public kind: string; + public questions: AiChatQuestionWireDto[] = []; + public status: string; + public scope: string; + public gate?: AiChatGateResultWireDto; - // @DataMember - public startAfter?: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public statusHistory: BatchStatusChangeEntryDto[] = []; +export class UserAnswerEntryWireDto extends AiChatEntryWireDto +{ + public kind: string; + public answers: { [index:string]: string; } = {}; - // @DataMember - public id: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } +export class AiChatPlanStepInputsWireDto +{ + public artifacts: string[] = []; + public requirements: string[] = []; - // @DataContract - export class EmailRecipientDto - { - // @DataMember - public emailAddress: string; + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - // @DataMember - public language?: string; +export class AiChatPlanStepDoneCheckWireDto +{ + public check: string; + public argsJson: string; - // @DataMember - public timeZoneId?: string; + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - // @DataMember - public userTokenMappings?: IReadOnlySet; +export class AiChatPlanStepLoopWireDto +{ + public maxIterations?: number; + public maxToolCalls: number; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - // @DataContract - export class EmailRecipientsDto - { - // @DataMember - public to?: IReadOnlySet; +export class AiChatPlanStepWireDto +{ + public n: number; + public tool: string; + public title: string; + public goal?: string; + public inputs: AiChatPlanStepInputsWireDto; + public dependsOn: number[] = []; + public replaces?: number; + public done: AiChatPlanStepDoneCheckWireDto[] = []; + public loop: AiChatPlanStepLoopWireDto; + public difficulty?: number; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - // @DataMember - public cc?: IReadOnlySet; +export class PlanEntryWireDto extends AiChatEntryWireDto +{ + public kind: string; + public goal: string; + public steps: AiChatPlanStepWireDto[] = []; + public status: string; + public gate?: AiChatGateResultWireDto; + public difficulty?: number; + public difficultyReason?: string; + public deltaOf?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public bcc?: IReadOnlySet; +export class UserDecisionEntryWireDto extends AiChatEntryWireDto +{ + public kind: string; + public decision: string; + public comment?: string; - // @DataMember - public startingAfter?: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public hasMore: boolean; +export class AiChatStepLogLineWireDto +{ + public seq: number; + public tool: string; + public agent?: string; + public status: string; + public detail?: string; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - // @DataContract - export class EmailCampaignBatchDto extends CampaignBatchDto - { - // @DataMember - public recipients?: EmailRecipientsDto; +export class RunStepEntryWireDto extends AiChatEntryWireDto +{ + public kind: string; + public n: number; + public tool: string; + public title: string; + public status: string; + public resultSummary?: string; + public error?: string; + public log: AiChatStepLogLineWireDto[] = []; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export class ActionPendingEntryWireDto extends AiChatEntryWireDto +{ + public kind: string; + public tool: string; + public argumentsJson: string; + public status: string; - export enum CampaignNotificationStatus - { - Completed = 'Completed', - BlockedByUserPreferenceBlockAll = 'BlockedByUserPreferenceBlockAll', - BlockedByUserPreferenceBlockByTag = 'BlockedByUserPreferenceBlockByTag', - Failed = 'Failed', - Viewed = 'Viewed', - Clicked = 'Clicked', - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - export class NotificationStatusChangeEntryDto - { - public time: string; - public status: CampaignNotificationStatus; - public sourceId?: string; - public errors?: IReadOnlySet; - public tags?: IReadOnlySet; +export class NoticeEntryWireDto extends AiChatEntryWireDto +{ + public kind: string; + public text: string; + public level: string; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataContract - export class CampaignBatchNotificationDto implements IHasDatabaseId - { - // @DataMember - public campaignId: string; +export class ConversationSnapshotEntryWireDto extends AiChatEntryWireDto +{ + public kind: string; + public snapshotId: string; + public coversUpToSeq: number; - // @DataMember - public batchId: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember - public notificationId: string; +export interface ICultureBasedRequest +{ + cultureCode?: string; +} - // @DataMember - public refNotificationId?: string; +export interface IVersionBasedRequest +{ + version: string; +} - // @DataMember - public subject?: string; +export interface IHasCorrelationIdRequest +{ + correlationId?: string; +} - // @DataMember - public body?: string; +export enum SubscriptionType +{ + ManagedService = 'ManagedService', + License = 'License', +} - // @DataMember - public model?: { [index:string]: string; }; +export interface IHasAccountId +{ + accountId: string; +} - // @DataMember - public statusHistory: IReadOnlySet; +// @DataContract(Namespace="http://codemash.io/types/") +export class CodeMashRequestBase extends RequestBase implements IHasProjectId, IHasEnv +{ + /** @description ID of your project. Can be passed in a header as norbix-project-id. */ + // @DataMember + // @ApiMember(DataType="string", Description="ID of your project. Can be passed in a header as norbix-project-id.", IsRequired=true, Name="norbix-project-id", ParameterType="header") + public projectId: string; - // @DataMember - public id: string; + /** @description Target environment for this request (e.g. TEST, STAGING). Optional — when omitted the request runs against PROD. Can be passed in a header as norbix-env. */ + // @DataMember + // @ApiMember(DataType="string", Description="Target environment for this request (e.g. TEST, STAGING). Optional — when omitted the request runs against PROD. Can be passed in a header as norbix-env.", Name="norbix-env", ParameterType="header") + public env?: string; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataContract - export class EmailCampaignBatchNotificationDto extends CampaignBatchNotificationDto - { - // @DataMember - public recipients: EmailRecipientsDto; +export interface IHasProjectId +{ + projectId: string; +} - // @DataMember - public content?: EmailMessageContentDto; +export interface IHasEnv +{ + env?: string; +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +// @DataContract +export class TagDescriptionDto +{ + // @DataMember + public title: string; - // @DataContract - export class CampaignStatsDto - { - // @DataMember - public batches: number; + // @DataMember + public description?: string; - // @DataMember - public sent: number; + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - // @DataMember - public failed: number; +// @DataContract +export class TagTranslationDto +{ + // @DataMember + public language: string; - // @DataMember - public successRate: number; + // @DataMember + public content: TagDescriptionDto; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - // @DataContract - export class PushTemplateListProjection extends TemplateListProjection - { +// @DataContract +export class TagDefinitionBaseDto +{ + // @DataMember + public tag: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @DataMember + public translations: TagTranslationDto[] = []; - export class PushIntegrationListProjection extends IntegrationListProjection - { - // @DataMember - public provider: PushProvider; + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +// @DataContract +export class GroupDefinitionDto extends TagDefinitionBaseDto +{ - // @DataContract - export class PaymentTriggerProjectionList extends TriggerProjectionList - { - // @DataMember - public type: PaymentTriggerType; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export enum DeliveryChannel +{ + Email = 'Email', + Push = 'Push', + Sms = 'Sms', + WebPush = 'WebPush', + InApp = 'InApp', + ChatBot = 'ChatBot', + ChatPlatform = 'ChatPlatform', +} - export class PaymentsIntegrationListProjection extends IntegrationListProjection - { - // @DataMember - public gatewayPlatform: PaymentGatewayPlatform; +// @DataContract +export class TagDefinitionDto extends TagDefinitionBaseDto +{ + // @DataMember + public defaultDelivery: { [index:string]: boolean; } = {}; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - export class LoggingIntegrationListProjection extends IntegrationListProjection - { - // @DataMember - public provider: LoggingProvider; +export class CursorArgs implements ICursorArgs +{ + public field: string; + public order: number; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - export class LlmIntegrationListProjection extends IntegrationListProjection - { - public llmProvider: LlmProvider; - public baseUrl?: string; - public defaultModel?: string; +export class PagingArgs +{ + public cursorArgs?: CursorArgs; + public pageSize?: number; + public startingAfter?: string; + public endingBefore?: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - export class McpIntegrationListProjection extends IntegrationListProjection - { - public mcpProvider: McpProvider; - public transport: McpTransport; - public category?: string; - public description?: string; - public icon?: string; +// @DataContract +export class AiScopeDto +{ + // @DataMember + public reach: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @DataMember + public projectId?: string; - // @DataContract - export class SchedulerTaskListProjection implements IHasViewId - { - // @DataMember - public taskId: string; + // @DataMember + public rights: string; - // @DataMember - public name: string; + // @DataMember + public envs: string[] = []; - // @DataMember - public cron: string; + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - // @DataMember - public type: SchedulerTaskType; +// @DataContract +export class DeleteTrigger extends CodeMashRequestBase +{ + // @DataMember + public triggerId: string; - // @DataMember - public isEnabled: boolean; + // @DataMember + public triggerType: TriggerType; - // @DataMember - public viewId: string; + // @DataMember + public schemaId?: string; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataContract - export class ResponseError - { - // @DataMember(Order=1) - public errorCode: string; +// @DataContract +export class DisableTrigger extends CodeMashRequestBase +{ + // @DataMember + public triggerId: string; - // @DataMember(Order=2) - public fieldName: string; + // @DataMember + public triggerType: TriggerType; - // @DataMember(Order=3) - public message: string; + // @DataMember + public schemaId?: string; - // @DataMember(Order=4) - public meta?: { [index:string]: string; }; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } +// @DataContract +export class EnableTrigger extends CodeMashRequestBase +{ + // @DataMember + public triggerId: string; - // @DataContract - export class ResponseStatus - { - // @DataMember(Order=1) - public errorCode: string; + // @DataMember + public triggerType: TriggerType; - // @DataMember(Order=2) - public message?: string; + // @DataMember + public schemaId?: string; - // @DataMember(Order=3) - public stackTrace?: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember(Order=4) - public errors?: ResponseError[]; +export class GetTrigger extends CodeMashRequestBase +{ + public id: string; + public schemaId?: string; - // @DataMember(Order=5) - public meta?: { [index:string]: string; }; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } +// @DataContract +export class SaveTrigger extends CodeMashRequestBase +{ + // @DataMember + public trigger: SaveTriggerRequest; - // @DataContract - export class UserApiKey - { - // @DataMember(Order=1) - public key?: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - // @DataMember(Order=2) - public keyType?: string; +export class CredentialsSettingsModeDto +{ + public name?: string; + public logoutUrl?: string; - // @DataMember(Order=3) - public expiryDate?: string; + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - // @DataMember(Order=4) - public meta?: { [index:string]: string; }; +export class SchemaSettingsDto +{ + // @DataMember + public softDelete: boolean; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + // @DataMember + public hasRecordOwner: boolean; - export interface ILlmApiKeyRequest - { - apiKey: string; - } + // @DataMember + public description?: string; - export interface IHasViewId - { - viewId?: string; - } + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - export interface IBindableContract - { - } +export class SchemaListColumnDto +{ + // @DataMember + public field: string; - export interface IHasRazorTemplateCode - { - } + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - export interface IHasDatabaseId - { - id?: string; - } +export class SchemaListSortDto +{ + // @DataMember + public field: string; - export interface IHasDomainEntityId - { - } + // @DataMember + public order: number; - export interface IIntegrationIdentification - { - integrationId: IntegrationId; - capability: string; - isSystemOwned: boolean; - } + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - // @DataContract - export class EmailSubject - { +export class SchemaListSettingsDto +{ + // @DataMember + public columns: SchemaListColumnDto[] = []; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + // @DataMember + public defaultSort?: SchemaListSortDto; - // @DataContract - export class EmailBody - { - // @DataMember - public code: TemplateCode; + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - // @DataMember - public structure?: string; +export class ImportColumnMappingDto +{ + // @DataMember + public csvColumnIndex: number; - // @DataMember - public emailTemplateEngine: EmailTemplateEngine; + // @DataMember + public csvHeader?: string; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + // @DataMember + public propertyName?: string; - // @DataContract - export class EmailMessageContent - { - // @DataMember(Order=1) - public subject: EmailSubject; + // @DataMember + public dontImportOnError: boolean; - // @DataMember(Order=2) - public body: EmailBody; + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - // @DataMember(Order=3) - public staticAttachments?: FileResourceRef[]; +// @DataContract +export enum EmailValidationProvider +{ + ZeroBounce = 1, + NeverBounce = 2, + Bouncer = 3, + MailgunValidate = 4, +} - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } +export class EmailValidationIntegrationRequest +{ + public integrationId?: string; + public provider: EmailValidationProvider; + public integrationName: string; + public isEnabled: boolean; - export class CronExpression - { - public value: string; - public parsed: CronExpression; + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } +export class SaveEmailTemplate extends CodeMashRequestBase +{ + /** @description The display name of the email template. */ + // @ApiMember(Description="The display name of the email template.", IsRequired=true) + public templateName: string; - export interface IHasResponsibleUserId - { - userId: string; - } + /** @description Optional free-text description of what the template is used for. */ + // @ApiMember(Description="Optional free-text description of what the template is used for.") + public description?: string; - export interface ICursorArgs - { - field: string; - order: number; - } + /** @description The communication channel the template is intended for (e.g. Transactional, Marketing). */ + // @ApiMember(Description="The communication channel the template is intended for (e.g. Transactional, Marketing).") + public communicationChannel: CommunicationChannel; - export class FileTrigger extends Trigger - { - public when: FilesTriggerType; - public fileResourceRef?: FileResourceRef; + /** @description Optional tags to organize/filter the template by. */ + // @ApiMember(Description="Optional tags to organize/filter the template by.") + public tags?: string[]; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + /** @description Optional static file attachments to send with every email using this template. */ + // @DataMember + // @ApiMember(Description="Optional static file attachments to send with every email using this template.") + public staticAttachments?: FileResourceRefDto[]; - export class PaymentTrigger extends Trigger - { - public when: PaymentTriggerType; + /** @description The per-language content translations (subject/body) for this template. */ + // @ApiMember(Description="The per-language content translations (subject/body) for this template.", IsRequired=true) + public translations: EmailMessageTranslationDto[] = []; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - export class StringField extends JsonSchemaField - { - public format?: string; - public pattern?: string; - public minLength?: number; - public maxLength?: number; - public translateOptions?: IReadOnlyDictionary; +// @DataContract +export class TranslationDto +{ + // @DataMember + public language: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @DataMember + public content: string; - export class DecimalField extends JsonSchemaField - { - public minimum?: number; - public maximum?: number; - public multipleOf?: number; + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export class SaveSmsTemplate extends CodeMashRequestBase +{ + /** @description Display name for the SMS template. */ + // @ApiMember(Description="Display name for the SMS template.", IsRequired=true) + public templateName: string; - export class CurrencyField extends JsonSchemaField - { - public allowedCurrencies?: IReadOnlyList; + /** @description Optional free-text description of the template's purpose. */ + // @ApiMember(Description="Optional free-text description of the template's purpose.") + public description?: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + /** @description Whether this template is Transactional or Marketing SMS. */ + // @ApiMember(Description="Whether this template is Transactional or Marketing SMS.", IsRequired=true) + public communicationChannel: CommunicationChannel; - export class BooleanField extends JsonSchemaField - { + /** @description Optional tags to organize/filter templates. */ + // @ApiMember(Description="Optional tags to organize/filter templates.") + public tags?: string[]; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + /** @description The template's per-language translations (each with its own SMS body). */ + // @ApiMember(Description="The template's per-language translations (each with its own SMS body).", IsRequired=true) + public translations: SmsMessageTranslationDto[] = []; - export class DateField extends JsonSchemaField - { - public minimum?: number; - public maximum?: number; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export class SmsIntegrationRequest +{ + public integrationId?: string; + public provider: SmsProvider; + public integrationName: string; + public isEnabled: boolean; - export class IntegerField extends JsonSchemaField - { - public minimum?: number; - public maximum?: number; + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export class SavePushTemplate extends CodeMashRequestBase +{ + /** @description The template's display name. */ + // @ApiMember(Description="The template's display name.", IsRequired=true) + public templateName: string; - export class GeolocationField extends JsonSchemaField - { - public allowedTypes?: IReadOnlyList; + /** @description Optional free-text description of the template's purpose. */ + // @ApiMember(Description="Optional free-text description of the template's purpose.") + public description?: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + /** @description Whether the template is Transactional or Marketing. */ + // @ApiMember(Description="Whether the template is Transactional or Marketing.") + public communicationChannel: CommunicationChannel; - export class TagsField extends JsonSchemaField - { + /** @description Optional tags for organizing/filtering templates. */ + // @ApiMember(Description="Optional tags for organizing/filtering templates.") + public tags?: string[]; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + /** @description The per-locale translations (title/body/subtitle) that make up the template content. */ + // @ApiMember(Description="The per-locale translations (title/body/subtitle) that make up the template content.", IsRequired=true) + public translations: PushMessageTranslationDto[] = []; - export class FileField extends JsonSchemaField - { - public storages?: IReadOnlyList; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export enum DeviceType +{ + Unknown = 'Unknown', + Phone = 'Phone', + Tablet = 'Tablet', + Desktop = 'Desktop', + Tv = 'Tv', +} - export class TaxonomySelectionField extends JsonSchemaField - { - public taxonomyId?: string; - public multiple: boolean; +// @DataContract +export class PushDeviceDto +{ + // @DataMember + public deviceId?: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @DataMember + public deviceOs: string; - export class CollectionSelectionField extends JsonSchemaField - { - public collectionId?: string; - public displayField?: string; - public multiple: boolean; + // @DataMember + public token: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @DataMember + public brand?: string; - export class UserSelectionField extends JsonSchemaField - { - public multiple: boolean; + // @DataMember + public manufacturer?: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @DataMember + public modelName?: string; - export class RoleSelectionField extends JsonSchemaField - { - public multiple: boolean; + // @DataMember + public deviceName?: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @DataMember + public deviceType?: DeviceType; - export class EnumSelectionField extends JsonSchemaField - { - public values?: IReadOnlyList; - public multiple: boolean; + // @DataMember + public osName?: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @DataMember + public osVersion?: string; - export class StringFieldDto extends JsonSchemaFieldDto - { - // @DataMember - public format?: string; + // @DataMember + public platformApiLevel?: number; - // @DataMember - public pattern?: string; + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - // @DataMember - public minLength?: number; +export class PushCampaignRequest +{ + public source: PushCampaignRecipientsSourceTypes; + public templateId: string; + public integrationId?: string; + public language?: string; + public initiatorId?: string; + public notes?: string; + // @DataMember + public mappedTokens?: TokenMappingDto[]; + + // @DataMember + public campaignTime?: number; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - // @DataMember - public maxLength?: number; +export class ChatScreenContextDto +{ + public kind: string; + public viewId?: string; - // @DataMember - public translateOptions?: IReadOnlyDictionary; + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export class SchedulerTaskRequest +{ + public type: SchedulerTaskType; - export class DecimalFieldDto extends JsonSchemaFieldDto - { - // @DataMember - public minimum?: number; + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - // @DataMember - public maximum?: number; +export enum ResourceKindDto +{ + Contact = 'contact', + Document = 'document', + File = 'file', + PaymentCustomer = 'paymentCustomer', + Order = 'order', + Payment = 'payment', + Product = 'product', + Integration = 'integration', +} - // @DataMember - public multipleOf?: number; +export class ResourceRefDto +{ + public projectId: string; + public integrationId?: string; + public kind: ResourceKindDto; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - export class CurrencyFieldDto extends JsonSchemaFieldDto - { - // @DataMember - public allowedCurrencies?: IReadOnlyList; +export enum CaseResolutionFixKind +{ + CodeFix = 'CodeFix', + ConfigChange = 'ConfigChange', + CustomerInstruction = 'CustomerInstruction', + KnownLimitation = 'KnownLimitation', + Duplicate = 'Duplicate', +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +// @DataContract +export class CaseResolutionDto +{ + // @DataMember + public problem: string; - export class BooleanFieldDto extends JsonSchemaFieldDto - { + // @DataMember + public symptoms: string[] = []; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @DataMember + public rootCause: string; - export class DateFieldDto extends JsonSchemaFieldDto - { - // @DataMember - public minimum?: number; + // @DataMember + public fix: CaseResolutionFixKind; - // @DataMember - public maximum?: number; + // @DataMember + public fixDetail?: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @DataMember + public affectedVersions?: string[]; - export class IntegerFieldDto extends JsonSchemaFieldDto - { - // @DataMember - public minimum?: number; + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - // @DataMember - public maximum?: number; +// @DataContract +export enum CodeMashRelease +{ + NotSet = 'NotSet', + Community = 'Community', + ManagedService = 'ManagedService', + Enterprise = 'Enterprise', +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export enum CodeMashRuntime +{ + Development = 'Development', + CI = 'CI', + Staging = 'Staging', + Production = 'Production', +} - export class GeolocationFieldDto extends JsonSchemaFieldDto - { - // @DataMember - public allowedTypes?: IReadOnlyList; +// @DataContract +export class EchoLicenseDto +{ + // @DataMember(Name="domain") + public domain?: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @DataMember(Name="accountId") + public accountId?: string; - export class TagsFieldDto extends JsonSchemaFieldDto - { + // @DataMember(Name="email") + public email?: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @DataMember(Name="release") + public release?: string; - export class FileFieldDto extends JsonSchemaFieldDto - { - // @DataMember - public storages?: IReadOnlyList; + // @DataMember(Name="expire") + public expire: number; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @DataMember(Name="isTrial") + public isTrial: boolean; - export class TaxonomySelectionFieldDto extends JsonSchemaFieldDto - { - // @DataMember - public taxonomyId?: string; + // @DataMember(Name="cap") + public cap: number; - // @DataMember - public multiple: boolean; + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export class EchoRegionDto +{ + public code: string; + public displayName: string; + public apiUrl: string; + public hubUrl: string; - export class CollectionSelectionFieldDto extends JsonSchemaFieldDto - { - // @DataMember - public collectionId?: string; + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - // @DataMember - public displayField?: string; +export class EchoAgentDto +{ + public mcpUrl: string; + public oAuthMetadataUrl?: string; + public installationType: string; + public onboardingDocsUrl: string; + public toolsUrl: string; - // @DataMember - public multiple: boolean; + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export class PublicBrandDto +{ + public displayName: string; + public mainColor?: string; + public accentColor?: string; + public logoUrl?: string; + public iconUrl?: string; - export class UserSelectionFieldDto extends JsonSchemaFieldDto - { - // @DataMember - public multiple: boolean; + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +export class PublicPasswordPolicyDto +{ + public minLength: number; + public maxLength?: number; + public minNumbers?: number; + public minUpper?: number; + public minLower?: number; + public minSpecial?: number; + public allowedSpecial?: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - export class RoleSelectionFieldDto extends JsonSchemaFieldDto - { - // @DataMember - public multiple: boolean; +export class PublicAuthDto +{ + public socialProviders: string[] = []; + public passkey: boolean; + public methods?: string[]; + public passwordPolicy?: PublicPasswordPolicyDto; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - export class EnumSelectionFieldDto extends JsonSchemaFieldDto - { - // @DataMember - public values?: IReadOnlyList; +// @DataContract +export class AccountOwnerDto +{ + // @DataMember + public email: string; - // @DataMember - public multiple: boolean; + // @DataMember + public displayName: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @DataMember + public billingEmail?: string; - export class EchoResponse - { - public containerName?: string; - public ip: string; - public release: CodeMashRelease; - public runtime: CodeMashRuntime; - public managedServiceHubUrl: string; - public managedServiceApiUrl: string; - public hubUrl: string; - public apiUrl: string; - public apiVersion: string; - public hubVersion: string; - public mjmlUrl: string; - public license?: CodeMashLicenseFromEndpointDto; - public askForEnterpriseLicenseEmail?: string; + // @DataMember + public operationsEmail?: string; - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } + // @DataMember + public securityEmail?: string; - export class GetAccountProfileResponse extends ResponseBase - { - public item?: AccountOwnerDto; + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +// @Flags() +export enum AccountStatus +{ + Registered = 1, + PendingValidation = 2, + Active = 8, + InActive = 16, + Blocked = 32, + Unregistered = 64, +} - export class EmptyResponse extends ResponseBase - { +// @DataContract +export class AccountStatusDto +{ + // @DataMember + public accountId: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @DataMember + public accountIdAsGuid: string; - export class GetAccountStatusResponse extends ResponseBase - { - public item?: AccountStatusDto; + // @DataMember + public userId: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @DataMember + public loggedInUserId: string; - // @DataContract - export class IdResponse extends ResponseBase - { - // @DataMember - public id?: string; + // @DataMember + public loggedInUserEmail?: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @DataMember + public status: AccountStatus; - // @DataContract - export class CreateStripeCheckoutSessionResponse extends IdResponse - { + // @DataMember + public projectCap: number; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @DataMember + public permissions: string[] = []; - // @DataContract - export class GetStripeBillingPortalUrlResponse extends IdResponse - { + // @DataMember + public roles: string[] = []; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @DataMember + public allowedProjects?: string[]; - // @DataContract - export class CreateTeamMemberFromInvitationResponse extends IdResponse - { - // @DataMember - public token?: string; + // @DataMember + public trialWasIssued: boolean; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - export class GetProjectResponse extends ResponseBase - { - public item?: ProjectDto; +// @DataContract +export class UsageBillingClusterChargeDto +{ + // @DataMember + public atlasProjectId: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @DataMember + public atlasClusterName: string; - export class GetProjectsResponse extends ResponseBase - { - public list?: ProjectListItemDto[]; + // @DataMember + public cents: number; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - export class GetAccountRegionsResponse extends ResponseBase - { - public items?: ProjectRegionDto[]; +// @DataContract +export class UsageBillingPeriodDto +{ + // @DataMember + public period: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @DataMember + public totalCents: number; - export class GetProjectTokensResponse extends ResponseBase - { - public tokens?: TokenMappingDto[]; + // @DataMember + public perCluster: UsageBillingClusterChargeDto[] = []; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @DataMember + public recordedAtUtc: string; - // @DataContract - export class CreateAccountResponse extends IdResponse - { - // @DataMember - public token?: string; + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +// @DataContract +export class UsageBillingIngestionFailureDto +{ + // @DataMember + public reason: string; - export class GetAccountCollaboratorsResponse extends ResponseBase - { - public list?: PaginatedResponse; + // @DataMember + public period?: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @DataMember + public stripeEventId: string; - export class GetLicensesResponse extends ResponseBase - { - public list?: LicenseDto[]; + // @DataMember + public message: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @DataMember + public reportedAtUtc: string; - export class GetUserEmailPreferencesResponse extends ResponseBase - { - public defaultLanguage: string; - public projectLanguages: string[] = []; - public blockAllMarketingMessages: boolean; - public subscribedTags?: { [index:string]: HashSet; }; + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +// @DataContract +export class UsageBillingDto +{ + // @DataMember + public accountId: string; + + // @DataMember + public atlas: { [index:string]: UsageBillingPeriodDto; } = {}; + + // @DataMember + public ingestionFailures: UsageBillingIngestionFailureDto[] = []; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class PromotionItemDto +{ + // @DataMember + public type: string; + + // @DataMember + public id: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class PromotionBlockerDto +{ + // @DataMember + public contentType: string; + + // @DataMember + public contentId: string; + + // @DataMember + public refKind: string; + + // @DataMember + public unresolvedRef: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class PromotionResultDto +{ + // @DataMember + public contentMirrored: PromotionItemDto[] = []; + + // @DataMember + public contentDeleted: PromotionItemDto[] = []; + + // @DataMember + public integrationsSeeded: PromotionItemDto[] = []; + + // @DataMember + public integrationsSkipped: PromotionItemDto[] = []; + + // @DataMember + public blockers: PromotionBlockerDto[] = []; + + // @DataMember + public fromVersion?: number; + + // @DataMember + public wasDryRun: boolean; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class ProjectEnvironmentsDto +{ + // @DataMember + public environments: string[] = []; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export enum ProjectStatus +{ + Active = 'Active', + Provisioning = 'Provisioning', + ProvisioningFailed = 'ProvisioningFailed', + NoDatabase = 'NoDatabase', + Disabled = 'Disabled', + Suspended = 'Suspended', + Removed = 'Removed', +} + +export enum Continent +{ + Africa = 'Africa', + Antarctica = 'Antarctica', + Asia = 'Asia', + Europe = 'Europe', + NorthAmerica = 'NorthAmerica', + Oceania = 'Oceania', + SouthAmerica = 'SouthAmerica', +} + +export class ProjectRegionDto +{ + public id: string; + public continent?: Continent; + public name?: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class ProjectBrandDto +{ + // @DataMember + public mainColor?: string; + + // @DataMember + public accentColor?: string; + + // @DataMember + public logo?: FileResourceRefDto; + + // @DataMember + public icon?: FileResourceRefDto; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class NotificationsSettingsGroupDto +{ + public tag: string; + public tags: string[] = []; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class NotificationSettingsChannelDto +{ + public channel: CommunicationChannel; + public groups: NotificationsSettingsGroupDto[] = []; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class NotificationSettingsDto +{ + public channels: NotificationSettingsChannelDto[] = []; + public allGroups: GroupDefinitionDto[] = []; + public allTags: TagDefinitionDto[] = []; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class AuthenticationFlowPasswordPolicyDto +{ + // @DataMember + public minLength: number; + + // @DataMember + public maxLength?: number; + + // @DataMember + public minNumbers?: number; + + // @DataMember + public minUpper?: number; + + // @DataMember + public minLower?: number; + + // @DataMember + public minSpecial?: number; + + // @DataMember + public allowedSpecial?: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class AuthenticationFlowSummaryDto +{ + // @DataMember + public type: string; + + // @DataMember + public provider?: string; + + // @DataMember + public passwordComplexity?: AuthenticationFlowPasswordPolicyDto; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class TriggerDto implements IHasViewId +{ + // @DataMember + public type: TriggerType; + + // @DataMember + public viewId: string; + + // @DataMember + public name: string; + + // @DataMember + public thenAction: TriggerActionDto; + + // @DataMember + public description?: string; + + // @DataMember + public isEnabled: boolean; + + // @DataMember + public activationCode?: string; + + // @DataMember + public savedByAuthId?: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class SchemaTriggerDto extends TriggerDto +{ + // @DataMember + public schemaId: string; + + // @DataMember + public when: SchemaTriggerType; + + // @DataMember + public configurationCode?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +// @DataContract +export class DatabaseDto +{ + // @DataMember + public isEnabled: boolean; + + // @DataMember + public triggers?: SchemaTriggerDto[]; + + // @DataMember + public defaultIntegrationViewIds: { [index:string]: string; } = {}; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class EmailDto +{ + // @DataMember + public isEnabled: boolean; + + // @DataMember + public defaultIntegrationViewIds: { [index:string]: string; } = {}; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class AiDto +{ + // @DataMember + public isEnabled: boolean; + + // @DataMember + public defaultIntegrationViewId?: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class MembershipTriggerDto extends TriggerDto +{ + // @DataMember + public when: MembershipTriggerType; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class RoleItemDto +{ + public id: string; + public name: string; + public displayName?: string; + public description?: string; + public isSystem: boolean; + public attachedPolicies?: string[]; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export enum PermissionEffect +{ + Allow = 'Allow', + Deny = 'Deny', +} + +export class PermissionDto +{ + public sid?: string; + public effect: PermissionEffect; + public actions: string[] = []; + public resources: string[] = []; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class PolicyItemDto +{ + public id: string; + public name: string; + public description?: string; + public isSystem: boolean; + public permissions?: PermissionDto[]; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class AuthorizationDto +{ + // @DataMember + public userRegistersAsRole?: string; + + // @DataMember + public allowedRegisterRoles?: string[]; + + // @DataMember + public allowedProviderRegisterRoles?: string[]; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class MembershipDto +{ + // @DataMember + public isEnabled: boolean; + + // @DataMember + public triggers?: MembershipTriggerDto[]; + + // @DataMember + public customRoles?: RoleItemDto[]; + + // @DataMember + public customPolicies?: PolicyItemDto[]; + + // @DataMember + public authorization?: AuthorizationDto; + + // @DataMember + public requireEmailValidation: boolean; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class LoggingDto +{ + // @DataMember + public isEnabled: boolean; + + // @DataMember + public isEstablished: boolean; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class ServerEventsDto +{ + // @DataMember + public isEnabled: boolean; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class PushDto +{ + // @DataMember + public isEnabled: boolean; + + // @DataMember + public defaultIntegrationViewIds: { [index:string]: string; } = {}; + + // @DataMember + public marketingTags?: TagDefinitionDto[]; + + // @DataMember + public transactionalTags?: TagDefinitionDto[]; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class SchedulerDto +{ + // @DataMember + public isEnabled: boolean; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class CodeDto +{ + // @DataMember + public isEnabled: boolean; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class FilesTriggerDto extends TriggerDto +{ + // @DataMember + public when: FilesTriggerType; + + // @DataMember + public folder?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +// @DataContract +export class FilesDto +{ + // @DataMember + public isEnabled: boolean; + + // @DataMember + public triggers?: FilesTriggerDto[]; + + // @DataMember + public defaultIntegrationViewIds: { [index:string]: string; } = {}; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class PaymentTriggerDto extends TriggerDto +{ + // @DataMember + public when: PaymentTriggerType; + + // @DataMember + public integrations?: string[]; + + // @DataMember + public events?: string[]; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +// @DataContract +export class PaymentsDto +{ + // @DataMember + public isEnabled: boolean; + + // @DataMember + public triggers?: PaymentTriggerDto[]; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class SmsDto +{ + // @DataMember + public isEnabled: boolean; + + // @DataMember + public defaultIntegrationViewIds: { [index:string]: string; } = {}; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class ProjectDto implements IHasViewId, IBindableContract +{ + // @DataMember + public accountViewId: string; + + // @DataMember + public projectStatus: ProjectStatus; + + // @DataMember + public isActive: boolean; + + // @DataMember + public viewId: string; + + // @DataMember + public name: string; + + // @DataMember + public uniqueName: string; + + // @DataMember + public hostLabel?: string; + + // @DataMember + public apiHost?: string; + + // @DataMember + public description?: string; + + // @DataMember + public marketingUrl?: string; + + // @DataMember + public canonicalAdminUrl?: string; + + // @DataMember + public adminUrl?: string; + + // @DataMember + public effectiveAdminUrl?: string; + + // @DataMember + public defaultLanguage: string; + + // @DataMember + public languages: string[] = []; + + // @DataMember + public primaryRegion?: ProjectRegionDto; + + // @DataMember + public additionalRegions?: ProjectRegionDto[]; + + // @DataMember + public isMultiRegionEligible: boolean; + + // @DataMember + public brand?: ProjectBrandDto; + + // @DataMember + public notificationSettings?: NotificationSettingsDto; + + // @DataMember + public allowedOrigins?: string[]; + + // @DataMember + public exposeBrandToAdminPortal: boolean; + + // @DataMember + public exposeAuthToAdminPortal: boolean; + + // @DataMember + public adminPortalEnabled: boolean; + + // @DataMember + public adminPortalServiceUserId?: string; + + // @DataMember + public membershipAuthenticationFlows?: AuthenticationFlowSummaryDto[]; + + // @DataMember + public exposeLegalToAdminPortal: boolean; + + // @DataMember + public legalTermsMarkdown?: string; + + // @DataMember + public legalPrivacyMarkdown?: string; + + // @DataMember + public environments: string[] = []; + + // @DataMember + public environmentRanks: { [index:string]: number; } = {}; + + // @DataMember + public database?: DatabaseDto; + + // @DataMember + public email?: EmailDto; + + // @DataMember + public ai?: AiDto; + + // @DataMember + public membership?: MembershipDto; + + // @DataMember + public logging?: LoggingDto; + + // @DataMember + public serverEvents?: ServerEventsDto; + + // @DataMember + public push?: PushDto; + + // @DataMember + public scheduler?: SchedulerDto; + + // @DataMember + public code?: CodeDto; + + // @DataMember + public files?: FilesDto; + + // @DataMember + public payments?: PaymentsDto; + + // @DataMember + public sms?: SmsDto; + + // @DataMember + public databaseEnabled: boolean; + + // @DataMember + public emailEnabled: boolean; + + // @DataMember + public membershipEnabled: boolean; + + // @DataMember + public loggingEnabled: boolean; + + // @DataMember + public serverEventsEnabled: boolean; + + // @DataMember + public pushEnabled: boolean; + + // @DataMember + public schedulerEnabled: boolean; + + // @DataMember + public codeEnabled: boolean; + + // @DataMember + public filesEnabled: boolean; + + // @DataMember + public paymentsEnabled: boolean; + + // @DataMember + public smsEnabled: boolean; + + // @DataMember + public defaultLlmIntegrationViewId?: string; + + // @DataMember + public connections: number; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class ProjectListItemDto +{ + // @DataMember + public viewId: string; + + // @DataMember + public isActive: boolean; + + // @DataMember + public projectStatus: ProjectStatus; + + // @DataMember + public name: string; + + // @DataMember + public uniqueName: string; + + // @DataMember + public primaryRegion?: ProjectRegionDto; + + // @DataMember + public additionalRegions?: ProjectRegionDto[]; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class PaginatedResponse +{ + public items: IList; + public hasMore: boolean; + public hasPrevious: boolean; + public startingAfter?: string; + public endingBefore?: string; + + public constructor(init?: Partial>) { (Object as any).assign(this, init); } +} + +export enum AuthType +{ + Service = 'Service', + Email = 'Email', + UserName = 'UserName', + Phone = 'Phone', + Guest = 'Guest', + Social = 'Social', +} + +export class AccessInformationDto +{ + public ip?: string; + public date?: string; + public timeZone?: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class RegistrationDto +{ + public registrationInformation: AccessInformationDto; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class LoginDto +{ + public needChangePasswordOnNextLogin: boolean; + public lastAccessInformation?: AccessInformationDto; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export enum Gender +{ + Male = 'Male', + Female = 'Female', + Other = 'Other', +} + +export enum MarketingBlockReason +{ + Unspecified = 'Unspecified', + Unsubscribed = 'Unsubscribed', + Complaint = 'Complaint', + HardBounce = 'HardBounce', + InvalidEmail = 'InvalidEmail', + AdminBlock = 'AdminBlock', +} + +export class UserGeneralInfoDto +{ + public phone?: string; + public primaryEmail?: string; + public displayName?: string; + public firstName?: string; + public lastName?: string; + public fullName?: string; + public addressLine1?: string; + public addressLine2?: string; + public country?: string; + public city?: string; + public state?: string; + public postalCode?: string; + public company?: string; + public gender?: Gender; + public birthDate?: number; + public timeZone?: string; + public language?: string; + public blockAllMarketingMessages: boolean; + public blockedTags?: { [index:string]: HashSet; }; + public blockReasons?: MarketingBlockReason[]; + public extraMetadata?: string; + public notes?: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export enum AuthStatus +{ + Registered = 0, + PendingValidation = 2, + Active = 8, + Unregistered = 16, + Suspended = 32, + InActive = 64, + Blocked = 128, +} + +export class AuthDto implements IBindableContract +{ + public id: string; + public type: AuthType; + public email?: string; + public userName?: string; + public registration?: RegistrationDto; + public login?: LoginDto; + public generalInfo?: UserGeneralInfoDto; + public roles?: string[]; + public pushDevices?: string[]; + public tags?: string[]; + public status: AuthStatus; + public createdOn: string; + public modifiedOn: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class AccountPasswordPolicyDto +{ + public minLength: number; + public maxLength?: number; + public minNumbers?: number; + public maxNumbers?: number; + public minUpper?: number; + public maxUpper?: number; + public minLower?: number; + public maxLower?: number; + public minSpecial?: number; + public maxSpecial?: number; + public allowedSpecial?: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class AccountTeamRoleDto +{ + public id: string; + public name: string; + public description: string; + public isSystem: boolean; + public policies?: string[]; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class AccountPasskeyListItemDto +{ + public credentialId: string; + public friendlyName: string; + public registeredOnUtc: string; + public lastUsedOnUtc: string; + public isRevoked: boolean; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class LicenseDomainDnsRecordDto +{ + // @DataMember + public host: string; + + // @DataMember + public recordType: string; + + // @DataMember + public resolved: boolean; + + // @DataMember + public required: boolean; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class LicenseDomainDnsStatusDto +{ + // @DataMember + public domain: string; + + // @DataMember + public allRequiredResolved: boolean; + + // @DataMember + public records: LicenseDomainDnsRecordDto[] = []; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class LicenseDomainVerificationChallengeDto +{ + // @DataMember + public domain: string; + + // @DataMember + public txtHost: string; + + // @DataMember + public txtValue: string; + + // @DataMember + public expiresAtUtc: string; + + // @DataMember + public verified: boolean; + + // @DataMember + public verifiedAtUtc?: string; + + // @DataMember + public skipped: boolean; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class LicenseDomainVerificationStatusDto +{ + // @DataMember + public domain: string; + + // @DataMember + public verified: boolean; + + // @DataMember + public skipped: boolean; + + // @DataMember + public txtHost?: string; + + // @DataMember + public expectedTxtValue?: string; + + // @DataMember + public observedTxtValue?: string; + + // @DataMember + public expiresAtUtc?: string; + + // @DataMember + public verifiedAtUtc?: string; + + // @DataMember + public message?: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class CodeMashSubscriptionDto +{ + public viewId: string; + public domain: string; + public willExpireOn: string; + public issuedOn: string; + public isTrial: boolean; + public subscriptionRefId: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class LicenseDto extends CodeMashSubscriptionDto +{ + public isEnterprise: boolean; + public projectCap: number; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +// @DataContract +export class LicenseHeartbeatVerdictDto +{ + // @DataMember(Name="status") + public status: string; + + // @DataMember(Name="proofToken") + public proofToken?: string; + + // @DataMember(Name="serverTimeUtc") + public serverTimeUtc: string; + + // @DataMember(Name="graceUntilUtc") + public graceUntilUtc?: string; + + // @DataMember(Name="installationId") + public installationId: string; + + // @DataMember(Name="licenseAccountId") + public licenseAccountId?: string; + + // @DataMember(Name="domain") + public domain?: string; + + // @DataMember(Name="signature") + public signature?: string; + + // @DataMember(Name="message") + public message?: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class InstallationLicenseStatusDto +{ + // @DataMember(Name="storedMode") + public storedMode: string; + + // @DataMember(Name="effectiveMode") + public effectiveMode: string; + + // @DataMember(Name="isProduction") + public isProduction: boolean; + + // @DataMember(Name="graceDaysLeft") + public graceDaysLeft?: number; + + // @DataMember(Name="graceUntilUtc") + public graceUntilUtc?: string; + + // @DataMember(Name="lastProvenAtUtc") + public lastProvenAtUtc?: string; + + // @DataMember(Name="lastHeartbeatAtUtc") + public lastHeartbeatAtUtc?: string; + + // @DataMember(Name="installationDomain") + public installationDomain?: string; + + // @DataMember(Name="licensedDomain") + public licensedDomain?: string; + + // @DataMember(Name="hostKind") + public hostKind?: string; + + // @DataMember(Name="isTrialLicense") + public isTrialLicense: boolean; + + // @DataMember(Name="licenseExpireUtc") + public licenseExpireUtc?: string; + + // @DataMember(Name="message") + public message?: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class AiServiceUserKeyDto +{ + // @DataMember + public id: string; + + // @DataMember + public hint: string; + + // @DataMember + public issuedAt: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class AiServiceUserDto +{ + // @DataMember + public id: string; + + // @DataMember + public name: string; + + // @DataMember + public scope: AiScopeDto; + + // @DataMember + public createdAt: string; + + // @DataMember + public keys: AiServiceUserKeyDto[] = []; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class ServiceUserApiKeyDto +{ + public id: number; + public name: string; + public visibleKey?: string; + public scopes: string[] = []; + public createdDate: string; + public expiryDate?: string; + public cancelledDate?: string; + public active: boolean; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class GetTriggerResponse extends ResponseBase +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +// @DataContract +export class TriggerProjectionList implements IHasViewId +{ + // @DataMember + public viewId: string; + + // @DataMember + public name: string; + + // @DataMember + public actionType: TriggerActionType; + + // @DataMember + public hasPreExecuteCode: boolean; + + // @DataMember + public isEnabled: boolean; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class MembershipTriggerProjectionList extends TriggerProjectionList +{ + // @DataMember + public type: MembershipTriggerType; + + // @DataMember + public destinationIds?: string[]; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class RoleListProjectionDto +{ + public viewId: string; + public name: string; + public displayName?: string; + public isSystem: boolean; + public policyCount: number; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class PasskeySettingsDto +{ + public enabled: boolean; + public codeTtlMinutes: number; + public maxCredentialsPerUser: number; + public recoveryCodeCount: number; + public generateRecoveryCodesAtSignup: boolean; + public authenticatorAttachment: string; + public allowMagicLinkRecovery: boolean; + public refreshTokenTtlDays: number; + public rpId?: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class IntegrationListProjection implements IHasViewId +{ + public viewId: string; + public integrationName: string; + public isEnabled: boolean; + public lastIntegrationTestAtUtc?: string; + public lastIntegrationTestSucceeded?: boolean; + public lastIntegrationTestErrors: IReadOnlyList; + public humanDeliveryConfirmedAtUtc?: string; + public requiresHumanDeliveryConfirmation: boolean; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class MembershipIntegrationListProjection extends IntegrationListProjection +{ + // @DataMember + public provider: MembershipProvider; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +// @DataContract +export class MembershipMessageTemplateDto +{ + // @DataMember + public id?: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class MembershipEmailActionSettingsDto +{ + // @DataMember + public sendEmail: boolean; + + // @DataMember + public template?: MembershipMessageTemplateDto; + + // @DataMember + public callback?: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class MembershipEmailPreferencesDto +{ + // @DataMember + public registrationViaEmail?: MembershipEmailActionSettingsDto; + + // @DataMember + public verificationViaEmail?: MembershipEmailActionSettingsDto; + + // @DataMember + public passwordResetViaEmail?: MembershipEmailActionSettingsDto; + + // @DataMember + public invitationViaEmail?: MembershipEmailActionSettingsDto; + + // @DataMember + public deactivationViaEmail?: MembershipEmailActionSettingsDto; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class PasswordComplexityDto +{ + // @DataMember + public minLength: number; + + // @DataMember + public maxLength?: number; + + // @DataMember + public minNumbers?: number; + + // @DataMember + public maxNumbers?: number; + + // @DataMember + public minUpper?: number; + + // @DataMember + public maxUpper?: number; + + // @DataMember + public minLower?: number; + + // @DataMember + public maxLower?: number; + + // @DataMember + public minSpecial?: number; + + // @DataMember + public maxSpecial?: number; + + // @DataMember + public allowedSpecial?: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class MembershipAuthorizationViewDto +{ + // @DataMember + public emailPreferences?: MembershipEmailPreferencesDto; + + // @DataMember + public userRegistersAsRole?: string; + + // @DataMember + public guestRegistersAsRole?: string; + + // @DataMember + public allowedRegisterRoles?: string[]; + + // @DataMember + public allowedProviderRegisterRoles?: string[]; + + // @DataMember + public resetPasswordTokenExpiration?: number; + + // @DataMember + public invitationExpiration?: number; + + // @DataMember + public emailVerificationExpiration?: number; + + // @DataMember + public deactivationExpiration?: number; + + // @DataMember + public defaultSubscribeToNews: boolean; + + // @DataMember + public passwordComplexity?: PasswordComplexityDto; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class MembershipCredentialsSettingsModeDto +{ + // @DataMember + public name?: string; + + // @DataMember + public logoutUrl?: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class MembershipCredentialsSettingsDto +{ + // @DataMember + public logoutUrl?: string; + + // @DataMember + public allowUsernames: boolean; + + // @DataMember + public modes?: MembershipCredentialsSettingsModeDto[]; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class MembershipAuthenticationViewDto +{ + // @DataMember + public credentialsSettings?: MembershipCredentialsSettingsDto; + + // @DataMember + public flows: string[] = []; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class SchemaTriggerProjectionList extends TriggerProjectionList +{ + // @DataMember + public type: SchemaTriggerType; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class JsonSchemaFieldDto +{ + // @DataMember + public fieldName: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class DataSchemaDto +{ + // @DataMember + public json: string; + + // @DataMember + public fields: JsonSchemaFieldDto[] = []; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class VisualSchemaDto +{ + // @DataMember + public json: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class TaxonomyDto implements IHasViewId +{ + // @DataMember + public viewId: string; + + // @DataMember + public name: string; + + // @DataMember + public slug?: string; + + // @DataMember + public parentId?: string; + + // @DataMember + public description?: string; + + // @DataMember + public termsMetaDataSchema?: DataSchemaDto; + + // @DataMember + public termsMetaVisualSchema?: VisualSchemaDto; + + // @DataMember + public dependencies?: string[]; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class TaxonomyListProjection implements IHasViewId +{ + // @DataMember + public viewId: string; + + // @DataMember + public taxonomyName: string; + + // @DataMember + public taxonomySlug: string; + + // @DataMember + public parentId?: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class TermMultiParentDto +{ + // @DataMember + public taxonomyId: string; + + // @DataMember + public parentId: string; + + // @DataMember + public name?: string; + + // @DataMember + public names?: { [index:string]: string; }; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class TermTreeDto +{ + // @DataMember + public id: string; + + // @DataMember + public taxonomyId?: string; + + // @DataMember + public taxonomyName?: string; + + // @DataMember + public parentId?: string; + + // @DataMember + public order?: number; + + // @DataMember + public name?: string; + + // @DataMember + public names?: { [index:string]: string; }; + + // @DataMember + public description?: string; + + // @DataMember + public descriptions?: { [index:string]: string; }; + + // @DataMember + public multiParents?: TermMultiParentDto[]; + + // @DataMember + public meta?: Object; + + // @DataMember + public children?: TermTreeDto[]; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class TaxonomyTreeDto +{ + // @DataMember + public viewId: string; + + // @DataMember + public taxonomyName: string; + + // @DataMember + public taxonomySlug: string; + + // @DataMember + public parentId?: string; + + // @DataMember + public children?: TaxonomyTreeDto[]; + + // @DataMember + public terms?: TermTreeDto[]; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class TermDto +{ + // @DataMember + public id: string; + + // @DataMember + public taxonomyId?: string; + + // @DataMember + public taxonomyName?: string; + + // @DataMember + public parentId?: string; + + // @DataMember + public order?: number; + + // @DataMember + public name?: string; + + // @DataMember + public names?: { [index:string]: string; }; + + // @DataMember + public description?: string; + + // @DataMember + public descriptions?: { [index:string]: string; }; + + // @DataMember + public multiParents?: TermMultiParentDto[]; + + // @DataMember + public meta?: Object; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class AppliedTaxonomyDto +{ + // @DataMember + public catalogId: string; + + // @DataMember + public id?: string; + + // @DataMember + public slug: string; + + // @DataMember + public title: string; + + // @DataMember + public action: string; + + // @DataMember + public termsCreated: number; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class AppliedCollectionDto +{ + // @DataMember + public entity: string; + + // @DataMember + public id?: string; + + // @DataMember + public name: string; + + // @DataMember + public title: string; + + // @DataMember + public action: string; + + // @DataMember + public published: boolean; + + // @DataMember + public linkedFields: string[] = []; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class SchemaDto implements IHasViewId +{ + // @DataMember + public viewId: string; + + // @DataMember + public schemaName: string; + + // @DataMember + public schemaSlug?: string; + + // @DataMember + public version: number; + + // @DataMember + public metaSchemaVersion: number; + + // @DataMember + public dataSchema: DataSchemaDto; + + // @DataMember + public visualSchema: VisualSchemaDto; + + // @DataMember + public publishedAt: string; + + // @DataMember + public settings?: SchemaSettingsDto; + + // @DataMember + public triggers?: TriggerDto[]; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class SchemaListProjection implements IHasViewId +{ + // @DataMember + public viewId: string; + + // @DataMember + public schemaName: string; + + // @DataMember + public schemaTitle: string; + + // @DataMember + public latestVersion?: number; + + // @DataMember + public hasDraft: boolean; + + // @DataMember + public metaSchemaVersion: number; + + // @DataMember + public description?: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class SchemaDraftDto +{ + // @DataMember + public dataSchema: DataSchemaDto; + + // @DataMember + public visualSchema: VisualSchemaDto; + + // @DataMember + public updatedAt: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class SchemaDiffDto +{ + // @DataMember + public fromVersion: number; + + // @DataMember + public toVersion: number; + + // @DataMember + public added: string[] = []; + + // @DataMember + public removed: string[] = []; + + // @DataMember + public typeChanged: string[] = []; + + // @DataMember + public validatorTightened: string[] = []; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class SchemaVersionSummaryDto +{ + // @DataMember + public version: number; + + // @DataMember + public metaSchemaVersion: number; + + // @DataMember + public publishedAt: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class CollectionIndexKeyDto +{ + // @DataMember + public field: string; + + // @DataMember + public order: number; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class CollectionIndexDto +{ + // @DataMember + public name: string; + + // @DataMember + public keys: CollectionIndexKeyDto[] = []; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class SeedCollectionReportItemDto +{ + // @DataMember + public collectionName: string; + + // @DataMember + public requested: number; + + // @DataMember + public inserted: number; + + // @DataMember + public ids: string[] = []; + + // @DataMember + public errors: string[] = []; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class SeedCollectionRecordsResultDto +{ + // @DataMember + public insertOrder: string[] = []; + + // @DataMember + public report: SeedCollectionReportItemDto[] = []; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class DatabaseIntegrationListProjection extends IntegrationListProjection +{ + // @DataMember + public provider: DatabaseProvider; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +// @DataContract +export class FlexTierDto +{ + // @DataMember + public code: string; + + // @DataMember + public step: number; + + // @DataMember + public displayName: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class IntegrationTestResultItemDto +{ + // @DataMember + public operation: string; + + // @DataMember + public result: string; + + // @DataMember + public errors?: IReadOnlyList; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class SchemaRefDto +{ + // @DataMember(Order=1) + public schemaId: string; + + // @DataMember(Order=2) + public schemaName: string; + + // @DataMember(Order=3) + public databaseIntegrationId: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class CollectionImportDto +{ + // @DataMember + public id: string; + + // @DataMember + public schema: SchemaRefDto; + + // @DataMember + public file: FileResourceRefDto; + + // @DataMember + public errorFile?: FileResourceRefDto; + + // @DataMember + public delimiter: string; + + // @DataMember + public hasHeader: boolean; + + // @DataMember + public status: string; + + // @DataMember + public totalRows: number; + + // @DataMember + public totalImported: number; + + // @DataMember + public totalErrors: number; + + // @DataMember + public failureReason?: string; + + // @DataMember + public mapping?: ImportColumnMappingDto[]; + + // @DataMember + public createdOn: string; + + // @DataMember + public startedOn?: string; + + // @DataMember + public completedOn?: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class ImportUploadTargetDto +{ + // @DataMember + public url: string; + + // @DataMember + public contentType: string; + + // @DataMember + public file: FileResourceRefDto; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class ImportFileColumnDto +{ + // @DataMember + public index: number; + + // @DataMember + public header: string; + + // @DataMember + public samples: string[] = []; + + // @DataMember + public detectedType: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class ImportFileAnalysisDto +{ + // @DataMember + public file: FileResourceRefDto; + + // @DataMember + public columns: ImportFileColumnDto[] = []; + + // @DataMember + public sampleRowCount: number; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class MongoDbAggregateListProjection implements IHasViewId +{ + // @DataMember + public viewId: string; + + // @DataMember + public displayName: string; + + // @DataMember + public schemaViewId: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class FilesTriggerProjectionList extends TriggerProjectionList +{ + // @DataMember + public type: FilesTriggerType; + + // @DataMember + public folder?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class FilesIntegrationListProjection extends IntegrationListProjection +{ + // @DataMember + public provider: FileProvider; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +// @DataContract +export class PublicFolderDto +{ + // @DataMember(Order=1) + public path: string; + + // @DataMember(Order=2) + public publicId: string; + + // @DataMember(Order=3) + public publicUrl?: string; + + // @DataMember(Order=4) + public inherited: boolean; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class NotificationModuleDependencyItemDto +{ + // @DataMember + public name: string; + + // @DataMember + public viewId?: string; + + // @DataMember + public category?: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class NotificationModuleDisableDependenciesDto +{ + // @DataMember + public triggers: NotificationModuleDependencyItemDto[] = []; + + // @DataMember + public schedulerTasks: NotificationModuleDependencyItemDto[] = []; + + // @DataMember + public inFlightCampaigns: NotificationModuleDependencyItemDto[] = []; + + // @DataMember + public membershipSettings: NotificationModuleDependencyItemDto[] = []; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class TestEmailValidationItemDto +{ + // @DataMember + public address: string; + + // @DataMember + public verdict: string; + + // @DataMember + public reason?: string; + + // @DataMember + public score?: number; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class TemplateListProjection implements IHasViewId, IHasDatabaseId +{ + // @DataMember + public id?: string; + + // @DataMember + public viewId: string; + + // @DataMember + public templateName: string; + + // @DataMember + public isActive: boolean; + + // @DataMember + public type: CommunicationChannel; + + // @DataMember + public tags?: string[]; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class EmailTemplateListProjection extends TemplateListProjection +{ + public hasAttachments: boolean; + public languages: IReadOnlyList; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +// @DataContract +export class MjmlParseError +{ + // @DataMember(Name="line") + public line: number; + + // @DataMember(Name="message") + public message?: string; + + // @DataMember(Name="tagName") + public tagName?: string; + + // @DataMember(Name="formattedMessage") + public formattedMessage?: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class HtmlFromMjmlResponse +{ + // @DataMember(Name="html") + public html: string; + + // @DataMember(Name="errors") + public errors: MjmlParseError[] = []; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class SystemEmailTemplateListProjection extends EmailTemplateListProjection +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +// @DataContract +export class EmailSignatureDto implements IHasViewId +{ + // @DataMember + public viewId: string; + + // @DataMember + public displayName?: string; + + // @DataMember + public translations: TranslationDto[] = []; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class ListItemProjection implements IHasViewId +{ + // @DataMember + public viewId: string; + + // @DataMember + public displayName?: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class ListItemWithTranslationsProjection extends ListItemProjection +{ + // @DataMember + public translations: string[] = []; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +// @DataContract +export class EmailFooterDto implements IHasViewId +{ + // @DataMember + public viewId: string; + + // @DataMember + public displayName?: string; + + // @DataMember + public translations: TranslationDto[] = []; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class EmailSettings implements IBindableContract +{ + public signatures?: IList; + public footers?: IList; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class DomainHealthRecordItemDto +{ + // @DataMember + public record: string; + + // @DataMember + public value: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class EmailIntegrationListProjection extends IntegrationListProjection +{ + public emailProvider: EmailProvider; + public senderEmailAddress: string; + public senderDisplayName?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export enum CampaignStatus +{ + Pending = 'Pending', + Registered = 'Registered', + Scheduled = 'Scheduled', + Started = 'Started', + Stopped = 'Stopped', + Processing = 'Processing', + Completed = 'Completed', + Failed = 'Failed', +} + +export class CampaignStatusChangeEntryDto +{ + public time: string; + public status: CampaignStatus; + public errors?: ErrorDto[]; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class CampaignDto implements IHasResponsibleUserId, IHasDatabaseId +{ + // @DataMember + public viewId: string; + + // @DataMember + public createdOn: string; + + // @DataMember + public language: string; + + // @DataMember + public forceCampaignLanguage: boolean; + + // @DataMember + public campaignProcessingIntegrationId?: string; + + // @DataMember + public statusHistory: CampaignStatusChangeEntryDto[] = []; + + // @DataMember + public status?: CampaignStatusChangeEntryDto; + + // @DataMember + public tokenMappingValues?: TokenMappingDto[]; + + // @DataMember + public notes?: string; + + // @DataMember + public userId: string; + + // @DataMember + public id?: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class EmailCampaignDto extends CampaignDto +{ + // @DataMember + public deliverySettings: EmailCampaignDeliverySettingsDto; + + // @DataMember + public template: EmailTemplateDto; + + // @DataMember + public validationIntegrationId?: string; + + // @DataMember + public templateIsSystem: boolean; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +// @DataContract +export class EmailCampaignListProjection +{ + // @DataMember + public viewId: string; + + // @DataMember + public templateName: string; + + // @DataMember + public templateId: string; + + // @DataMember + public integrationId?: string; + + // @DataMember + public language: string; + + // @DataMember + public strategy: string; + + // @DataMember + public latestStatus?: CampaignStatus; + + // @DataMember + public createdOn: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export enum CampaignBatchStatus +{ + Registered = 'Registered', + Processing = 'Processing', + Completed = 'Completed', + Failed = 'Failed', +} + +export class BatchStatusChangeEntryDto +{ + public time: string; + public status: CampaignBatchStatus; + public errors?: ErrorDto[]; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class CampaignBatchDto implements IHasDatabaseId +{ + // @DataMember + public campaignId: string; + + // @DataMember + public batchId: string; + + // @DataMember + public startAfter?: string; + + // @DataMember + public statusHistory: BatchStatusChangeEntryDto[] = []; + + // @DataMember + public id: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class EmailRecipientDto +{ + // @DataMember + public emailAddress: string; + + // @DataMember + public language?: string; + + // @DataMember + public timeZoneId?: string; + + // @DataMember + public userTokenMappings?: TokenMappingDto[]; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class EmailRecipientsDto +{ + // @DataMember + public to?: EmailRecipientDto[]; + + // @DataMember + public cc?: EmailRecipientDto[]; + + // @DataMember + public bcc?: EmailRecipientDto[]; + + // @DataMember + public startingAfter?: string; + + // @DataMember + public hasMore: boolean; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class EmailCampaignBatchDto extends CampaignBatchDto +{ + // @DataMember + public recipients?: EmailRecipientsDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export enum CampaignNotificationStatus +{ + Completed = 'Completed', + BlockedByUserPreferenceBlockAll = 'BlockedByUserPreferenceBlockAll', + BlockedByUserPreferenceBlockByTag = 'BlockedByUserPreferenceBlockByTag', + Failed = 'Failed', + Viewed = 'Viewed', + Clicked = 'Clicked', + BlockedByValidation = 'BlockedByValidation', +} + +export class NotificationStatusChangeEntryDto +{ + public time: string; + public status: CampaignNotificationStatus; + public sourceId?: string; + public errors?: ErrorDto[]; + public tags?: string[]; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class CampaignBatchNotificationDto implements IHasDatabaseId +{ + // @DataMember + public campaignId: string; + + // @DataMember + public batchId: string; + + // @DataMember + public notificationId: string; + + // @DataMember + public refNotificationId?: string; + + // @DataMember + public subject?: string; + + // @DataMember + public body?: string; + + // @DataMember + public model?: { [index:string]: string; }; + + // @DataMember + public statusHistory: NotificationStatusChangeEntryDto[] = []; + + // @DataMember + public id: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class EmailCampaignBatchNotificationDto extends CampaignBatchNotificationDto +{ + // @DataMember + public recipients: EmailRecipientsDto; + + // @DataMember + public content?: EmailMessageContentDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +// @DataContract +export class CampaignStatsDto +{ + // @DataMember + public batches: number; + + // @DataMember + public sent: number; + + // @DataMember + public failed: number; + + // @DataMember + public successRate: number; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class SmsTemplateListProjection extends TemplateListProjection +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class SmsSettings implements IBindableContract +{ + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class SmsIntegrationListProjection extends IntegrationListProjection +{ + // @DataMember + public provider: SmsProvider; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +// @DataContract +export class SmsCampaignDto extends CampaignDto +{ + // @DataMember + public recipients: SmsCampaignDeliverySettingsDto; + + // @DataMember + public template: SmsTemplateDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +// @DataContract +export class SmsRecipientDto +{ + // @DataMember + public phoneNumber: string; + + // @DataMember + public userId: string; + + // @DataMember + public language?: string; + + // @DataMember + public userTokenMappings?: TokenMappingDto[]; + + // @DataMember + public timeZoneId?: string; + + // @DataMember + public record?: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class SmsRecipientsDto +{ + // @DataMember + public to?: SmsRecipientDto[]; + + // @DataMember + public startingAfter?: string; + + // @DataMember + public hasMore: boolean; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class SmsCampaignBatchDto extends CampaignBatchDto +{ + // @DataMember + public recipients: SmsRecipientsDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +// @DataContract +export class SmsCampaignBatchNotificationDto extends CampaignBatchNotificationDto +{ + // @DataMember + public recipients: SmsRecipientsDto; + + // @DataMember + public content?: SmsMessageContentDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +// @DataContract +export class MarketplaceListingProjection implements IHasViewId +{ + // @DataMember + public viewId: string; + + // @DataMember + public slug: string; + + // @DataMember + public displayName: string; + + // @DataMember + public vendor: string; + + // @DataMember + public category: MarketplaceCategory; + + // @DataMember + public transport: MarketplaceTransport; + + // @DataMember + public iconUrl?: string; + + // @DataMember + public isOfficial: boolean; + + // @DataMember + public tags: IReadOnlyList; + + // @DataMember + public functionCount: number; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class MarketplaceIntegrationListProjection implements IHasViewId +{ + // @DataMember + public viewId: string; + + // @DataMember + public integrationName: string; + + // @DataMember + public isEnabled: boolean; + + // @DataMember + public listingViewId: string; + + // @DataMember + public vendor: string; + + // @DataMember + public category: MarketplaceCategory; + + // @DataMember + public transport: MarketplaceTransport; + + // @DataMember + public lastIntegrationTestAtUtc?: string; + + // @DataMember + public lastIntegrationTestSucceeded?: boolean; + + // @DataMember + public lastIntegrationTestErrors: IReadOnlyList; + + // @DataMember + public humanDeliveryConfirmedAtUtc?: string; + + // @DataMember + public requiresHumanDeliveryConfirmation: boolean; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class MarketplaceFunctionProjection implements IHasViewId +{ + // @DataMember + public viewId: string; + + // @DataMember + public integrationViewId: string; + + // @DataMember + public functionKey: string; + + // @DataMember + public displayName: string; + + // @DataMember + public isEnabled: boolean; + + // @DataMember + public mappingCount: number; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class CodeIntegrationListProjection extends IntegrationListProjection +{ + // @DataMember + public provider: CodeProvider; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +// @DataContract +export class PushTemplateListProjection extends TemplateListProjection +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class PushSettings +{ + public marketingTags?: TagDefinitionDto[]; + public transactionalTags?: TagDefinitionDto[]; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class PushIntegrationListProjection extends IntegrationListProjection +{ + // @DataMember + public provider: PushProvider; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +// @DataContract +export class PushDeviceListProjection +{ + // @DataMember + public id: string; + + // @DataMember + public userId: string; + + // @DataMember + public deviceOs: string; + + // @DataMember + public token: string; + + // @DataMember + public brand?: string; + + // @DataMember + public manufacturer?: string; + + // @DataMember + public modelName?: string; + + // @DataMember + public deviceName?: string; + + // @DataMember + public deviceType?: string; + + // @DataMember + public osName?: string; + + // @DataMember + public osVersion?: string; + + // @DataMember + public platformApiLevel?: number; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class PushCampaignDto extends CampaignDto +{ + // @DataMember + public recipients: PushCampaignDeliverySettingsDto; + + // @DataMember + public template: PushTemplateDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +// @DataContract +export class PushRecipientDto +{ + // @DataMember + public deviceTokens: PushDeviceDeliveryTokenDto[] = []; + + // @DataMember + public userId: string; + + // @DataMember + public language?: string; + + // @DataMember + public userTokenMappings?: TokenMappingDto[]; + + // @DataMember + public timeZoneId?: string; + + // @DataMember + public record?: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class PushRecipientsDto +{ + // @DataMember + public to?: PushRecipientDto[]; + + // @DataMember + public startingAfter?: string; + + // @DataMember + public hasMore: boolean; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class PushCampaignBatchDto extends CampaignBatchDto +{ + // @DataMember + public recipients: PushRecipientsDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +// @DataContract +export class PushCampaignBatchNotificationDto extends CampaignBatchNotificationDto +{ + // @DataMember + public recipients: PushRecipientsDto; + + // @DataMember + public content?: PushMessageContentDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class PaymentsWebhookLogEntry +{ + public integrationId: string; + public source: string; + public eventName?: string; + public providerEventId?: string; + public statusCode: number; + public description: string; + public receivedOn: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class PaymentTriggerProjectionList extends TriggerProjectionList +{ + // @DataMember + public type: PaymentTriggerType; + + // @DataMember + public integrations?: string[]; + + // @DataMember + public events?: string[]; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class PaymentsIntegrationListProjection extends IntegrationListProjection +{ + // @DataMember + public gatewayPlatform: PaymentGatewayPlatform; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class LoggingIntegrationListProjection extends IntegrationListProjection +{ + // @DataMember + public provider: LoggingProvider; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +// @DataContract +export class TenantLogEntryDto +{ + // @DataMember + public id: string; + + // @DataMember + public timestamp: string; + + // @DataMember + public module: string; + + // @DataMember + public level: string; + + // @DataMember + public eventCode: string; + + // @DataMember + public title: string; + + // @DataMember + public message: string; + + // @DataMember + public correlationId?: string; + + // @DataMember + public traceId?: string; + + // @DataMember + public spanId?: string; + + // @DataMember + public meta?: IReadOnlyDictionary; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class AgentOnboardingSnippet +{ + public client: string; + public config: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class AiToolManifestParameter +{ + public name: string; + public type: string; + public required: boolean; + public description?: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class AiToolManifestItem +{ + public name: string; + public description: string; + public toolsets: string[] = []; + public requiresConfirmation: boolean; + public parameters: AiToolManifestParameter[] = []; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class ChatModelOption +{ + public llmIntegrationId?: string; + public kind: string; + public provider: string; + public model: string; + public label: string; + public isDefault: boolean; + public isAuto: boolean; + public contextWindow: number; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class ChatMemoryNote +{ + public id: string; + public kind: string; + public text: string; + public projectId?: string; + public createdAtUtc: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class ChatSessionListItem +{ + public sessionId: string; + public profile: string; + public projectId?: string; + public env?: string; + public title?: string; + public updatedAtUtc: string; + public isArchived: boolean; + public isPinned: boolean; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class ProjectBriefSourceWireDto +{ + public kind: string; + public sessionId?: string; + public entryId?: string; + public entrySeq?: number; + public eventId?: string; + public userAuthId?: string; + public atUtc: string; + public surface?: string; + public quote?: string; + public workItemId?: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class ProjectBriefSatisfiedByWireDto +{ + public artifactId: string; + public tool: string; + public orphaned: boolean; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class ProjectBriefRequirementWireDto +{ + public id: string; + public text: string; + public status: string; + public confidence: number; + public isAssumption: boolean; + public sources: ProjectBriefSourceWireDto[] = []; + public satisfiedBy: ProjectBriefSatisfiedByWireDto[] = []; + public sinceEventId: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class ProjectBriefDecisionWireDto +{ + public eventId: string; + public text: string; + public confidence: number; + public atUtc: string; + public sources: ProjectBriefSourceWireDto[] = []; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class ProjectBriefAssumptionWireDto +{ + public requirementId: string; + public eventId: string; + public text: string; + public confidence: number; + public atUtc: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class ProjectBriefSnapshotWireDto +{ + public projectId: string; + public upToSeq: number; + public atUtc: string; + public requirements: ProjectBriefRequirementWireDto[] = []; + public decisions: ProjectBriefDecisionWireDto[] = []; + public openAssumptions: ProjectBriefAssumptionWireDto[] = []; + public summary?: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class ProjectBriefEventWireDto +{ + public id: string; + public projectId: string; + public seq: number; + public atUtc: string; + public kind: string; + public requirementId?: string; + public supersedesEventId?: string; + public text: string; + public confidence: number; + public sources: ProjectBriefSourceWireDto[] = []; + public origin: string; + public satisfiedBy: ProjectBriefSatisfiedByWireDto[] = []; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class WorkItemEntryRefWireDto +{ + public sessionId: string; + public entryId: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class WorkItemRunRefWireDto +{ + public sessionId: string; + public planEntryId: string; + public runId?: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class WorkItemArtifactWireDto +{ + public artifactId: string; + public what: string; + public step: number; + public planEntryId?: string; + public kind?: string; + public name?: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class WorkItemMovedOutWireDto +{ + public text: string; + public reason: string; + public movedTo?: string; + public source: string; + public entryRef?: WorkItemEntryRefWireDto; + public atUtc: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class WorkItemNeedsYouWireDto +{ + public text: string; + public kind: string; + public entryRef?: WorkItemEntryRefWireDto; + public done: boolean; + public doneAtUtc?: string; + public doneByUserAuthId?: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class WorkItemOpenQuestionWireDto +{ + public entryRef: WorkItemEntryRefWireDto; + public blocking: boolean; + public text: string; + public atUtc: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class WorkItemDoneConditionWireDto +{ + public condition: number; + public holds: boolean; + public reason: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class WorkItemWireDto +{ + public id: string; + public projectId?: string; + public status: string; + public goal: string; + public notInScope: string[] = []; + public scopeRequirementIds: string[] = []; + public difficulty?: number; + public difficultyReason?: string; + public planEntryRefs: WorkItemEntryRefWireDto[] = []; + public runRefs: WorkItemRunRefWireDto[] = []; + public artifacts: WorkItemArtifactWireDto[] = []; + public movedOut: WorkItemMovedOutWireDto[] = []; + public needsYou: WorkItemNeedsYouWireDto[] = []; + public openQuestions: WorkItemOpenQuestionWireDto[] = []; + public sessionIds: string[] = []; + public parentId?: string; + public children: string[] = []; + public summaryEntryRef?: WorkItemEntryRefWireDto; + public createdBy?: string; + public createdAtUtc: string; + public updatedAtUtc: string; + public doneVerdict?: string; + public doneConditions: WorkItemDoneConditionWireDto[] = []; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class LlmIntegrationListProjection extends IntegrationListProjection +{ + public llmProvider: LlmProvider; + public baseUrl?: string; + public defaultModel?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class McpIntegrationListProjection extends IntegrationListProjection +{ + public mcpProvider: McpProvider; + public transport: McpTransport; + public category?: string; + public description?: string; + public icon?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export interface IVirtualDirectory +{ +} + +export interface IVirtualPathProvider +{ + rootDirectory?: IVirtualDirectory; + virtualPathSeparator?: string; + realPathSeparator?: string; +} + +export interface IVirtualFile +{ + virtualPathProvider?: IVirtualPathProvider; + extension?: string; + length: number; +} + +// @Flags() +export enum CacheControl +{ + None = 0, + Public = 1, + Private = 2, + MustRevalidate = 4, + NoCache = 8, + NoStore = 16, + NoTransform = 32, + ProxyRevalidate = 64, +} + +export interface IContentTypeWriter +{ +} + +// @Flags() +export enum RequestAttributes +{ + None = 0, + Localhost = 1, + LocalSubnet = 2, + External = 4, + Secure = 8, + InSecure = 16, + AnySecurityMode = 24, + HttpHead = 32, + HttpGet = 64, + HttpPost = 128, + HttpPut = 256, + HttpDelete = 512, + HttpPatch = 1024, + HttpOptions = 2048, + HttpOther = 4096, + AnyHttpMethod = 8160, + OneWay = 8192, + Reply = 16384, + AnyCallStyle = 24576, + Soap11 = 32768, + Soap12 = 65536, + Xml = 131072, + Json = 262144, + Jsv = 524288, + ProtoBuf = 1048576, + Csv = 2097152, + Html = 4194304, + Jsonl = 8388608, + MsgPack = 16777216, + FormatOther = 33554432, + AnyFormat = 67076096, + Http = 67108864, + MessageQueue = 134217728, + Tcp = 268435456, + Grpc = 536870912, + EndpointOther = 1073741824, + AnyEndpoint = 2080374784, + InProcess = -2147483648, + InternalNetworkAccess = -2147483645, + AnyNetworkAccessType = -2147483641, + Any = -1, +} + +export interface IRequestPreferences +{ + acceptsBrotli: boolean; + acceptsDeflate: boolean; + acceptsGzip: boolean; +} + +export interface IHttpFile +{ + name?: string; + fileName?: string; + contentLength: number; + contentType?: string; + inputStream?: string; +} + +export interface IRequest +{ + originalRequest?: Object; + response?: IResponse; + operationName?: string; + verb?: string; + requestAttributes: RequestAttributes; + requestPreferences?: IRequestPreferences; + dto?: Object; + contentType?: string; + isLocal: boolean; + userAgent?: string; + cookies?: { [index:string]: Cookie; }; + responseContentType?: string; + hasExplicitResponseContentType: boolean; + items?: { [index:string]: Object; }; + headers?: NameValueCollection; + queryString?: NameValueCollection; + formData?: NameValueCollection; + useBufferedStream: boolean; + rawUrl?: string; + absoluteUri?: string; + userHostAddress?: string; + remoteIp?: string; + authorization?: string; + isSecureConnection: boolean; + acceptTypes?: string[]; + pathInfo?: string; + originalPathInfo?: string; + inputStream?: string; + contentLength: number; + files?: IHttpFile[]; + urlReferrer?: string; + requestAborted: CancellationToken; +} + +export interface IResponse +{ + originalResponse?: Object; + request?: IRequest; + statusCode: number; + statusDescription?: string; + contentType?: string; + outputStream?: string; + dto?: Object; + useBufferedStream: boolean; + isClosed: boolean; + keepAlive: boolean; + hasStarted: boolean; + items?: { [index:string]: Object; }; +} + +// @DataContract +export class SchedulerTaskListProjection implements IHasViewId +{ + // @DataMember + public taskId: string; + + // @DataMember + public name: string; + + // @DataMember + public cron: string; + + // @DataMember + public type: SchedulerTaskType; + + // @DataMember + public isEnabled: boolean; + + // @DataMember + public viewId: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export enum ResolvedRefStatus +{ + Ok = 'ok', + NotFound = 'notFound', + Unauthorized = 'unauthorized', + SourceError = 'sourceError', + Erased = 'erased', +} + +export class ResolvedResourceEntry +{ + public ref: ResourceRefDto; + public status: ResolvedRefStatus; + public resolved?: Object; + public diagnostic?: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class ChannelSubscriptionStateDto +{ + // @DataMember + public unsubscribed: boolean; + + // @DataMember + public blockedTags: { [index:string]: string[]; } = {}; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class UserDto +{ + // @DataMember + public id: string; + + // @DataMember + public projectId: string; + + // @DataMember + public primaryEmail?: string; + + // @DataMember + public primaryPhone?: string; + + // @DataMember + public displayName?: string; + + // @DataMember + public firstName?: string; + + // @DataMember + public lastName?: string; + + // @DataMember + public fullName?: string; + + // @DataMember + public company?: string; + + // @DataMember + public locale?: string; + + // @DataMember + public timeZone?: string; + + // @DataMember + public gender?: string; + + // @DataMember + public birthDate?: number; + + // @DataMember + public addressLine1?: string; + + // @DataMember + public addressLine2?: string; + + // @DataMember + public country?: string; + + // @DataMember + public city?: string; + + // @DataMember + public state?: string; + + // @DataMember + public postalCode?: string; + + // @DataMember + public tags?: string[]; + + // @DataMember + public roles?: string[]; + + // @DataMember + public lifecycle: string; + + // @DataMember + public sourceOfCreation: string; + + // @DataMember + public mergedIntoContactId?: string; + + // @DataMember + public createdOn: string; + + // @DataMember + public modifiedOn: string; + + // @DataMember + public auths?: AuthDto[]; + + // @DataMember + public marketingPreferences?: { [index:string]: ChannelSubscriptionStateDto; }; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class ConsentPurposeDto +{ + public key: string; + public name: string; + public channel: string; + public mappedTags: string[] = []; + public regulatoryBasis: string[] = []; + public description?: string; + public isDeprecated: boolean; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class RetentionWindowDto +{ + public dataKind: string; + public days: number; + public action: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class ProjectComplianceDto +{ + public regimes: string[] = []; + public consentPurposes: ConsentPurposeDto[] = []; + public retentionWindows: RetentionWindowDto[] = []; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class LegalHoldDto +{ + public id: string; + public subjectKind: string; + public subjectId: string; + public reason: string; + public placedAt: string; + public placedBy?: string; + public releasedAt?: string; + public releasedBy?: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class DsarRequestDto +{ + public id: string; + public subjectKind: string; + public subjectId: string; + public status: string; + public receivedAt: string; + public slaDeadline: string; + public autoApproveAt?: string; + public decidedAt?: string; + public decidedBy?: string; + public rejectionReason?: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class ComplianceAuditEntryDto +{ + public id: string; + public timestamp: string; + public action: string; + public subjectKind?: string; + public subjectId?: string; + public reason?: string; + public metadata?: { [index:string]: string; }; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class AccountComplianceDto +{ + public dsarMode: string; + public dsarDelayDays: number; + public autoForwardAdvisories: boolean; + public securityContact?: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export enum SupportCaseKind +{ + Question = 'Question', + Bug = 'Bug', + Incident = 'Incident', + Billing = 'Billing', + Security = 'Security', + FeatureRequest = 'FeatureRequest', +} + +export enum SupportCaseSeverity +{ + S1 = 1, + S2 = 2, + S3 = 3, + S4 = 4, +} + +export enum SupportCaseStatus +{ + Open = 'Open', + Triaged = 'Triaged', + InProgress = 'InProgress', + WaitingOnCustomer = 'WaitingOnCustomer', + Resolved = 'Resolved', + Closed = 'Closed', +} + +export enum SupportCustomerStatus +{ + Pending = 'Pending', + Open = 'Open', + Solved = 'Solved', + Closed = 'Closed', +} + +export enum DeploymentMode +{ + Managed = 'Managed', + SelfHosted = 'SelfHosted', + Enterprise = 'Enterprise', +} + +// @DataContract +export class SupportCaseDto implements IHasViewId +{ + // @DataMember + public viewId: string; + + // @DataMember + public accountId: string; + + // @DataMember + public projectId?: string; + + // @DataMember + public reporterId?: string; + + // @DataMember + public kind: SupportCaseKind; + + // @DataMember + public severity: SupportCaseSeverity; + + // @DataMember + public status: SupportCaseStatus; + + // @DataMember + public customerStatus: SupportCustomerStatus; + + // @DataMember + public subject: string; + + // @DataMember + public affectedModule?: string; + + // @DataMember + public deploymentMode: DeploymentMode; + + // @DataMember + public gatewayVersion?: string; + + // @DataMember + public region?: string; + + // @DataMember + public planTier?: string; + + // @DataMember + public openedOn: number; + + // @DataMember + public firstResponseOn?: number; + + // @DataMember + public resolvedOn?: number; + + // @DataMember + public closedOn?: number; + + // @DataMember + public resolution?: string; + + // @DataMember + public messageCount: number; + + // @DataMember + public lastMessageOn?: number; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export enum SupportMessageAuthorKind +{ + Customer = 'Customer', + Staff = 'Staff', + Ai = 'Ai', + System = 'System', +} + +// @DataContract +export class SupportCaseMessageDto +{ + // @DataMember + public id: string; + + // @DataMember + public caseId: string; + + // @DataMember + public authorKind: SupportMessageAuthorKind; + + // @DataMember + public authorId?: string; + + // @DataMember + public authorDisplayName?: string; + + // @DataMember + public body: string; + + // @DataMember + public sentOn: number; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class SupportCaseDetailDto +{ + // @DataMember + public case: SupportCaseDto; + + // @DataMember + public messages: SupportCaseMessageDto[] = []; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class SupportCaseListProjection implements IHasViewId +{ + // @DataMember + public viewId: string; + + // @DataMember + public projectId?: string; + + // @DataMember + public kind: SupportCaseKind; + + // @DataMember + public severity: SupportCaseSeverity; + + // @DataMember + public status: SupportCaseStatus; + + // @DataMember + public customerStatus: SupportCustomerStatus; + + // @DataMember + public subject: string; + + // @DataMember + public openedOn: number; + + // @DataMember + public messageCount: number; + + // @DataMember + public lastMessageOn?: number; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class DiagnosticPackStepDescriptorDto +{ + // @DataMember + public stepId: string; + + // @DataMember + public kind: string; + + // @DataMember + public description: string; + + // @DataMember + public parameters: { [index:string]: string; } = {}; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class DiagnosticPackDescriptorDto +{ + // @DataMember + public name: string; + + // @DataMember + public version: number; + + // @DataMember + public summary: string; + + // @DataMember + public steps: DiagnosticPackStepDescriptorDto[] = []; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class DiagnosticPackStepResultDto +{ + // @DataMember + public stepId: string; + + // @DataMember + public kind: string; + + // @DataMember + public isSuccess: boolean; + + // @DataMember + public result?: Object; + + // @DataMember + public errorMessage?: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class DiagnosticPackRunResultDto +{ + // @DataMember + public packName: string; + + // @DataMember + public packVersion: number; + + // @DataMember + public caseId?: string; + + // @DataMember + public steps: DiagnosticPackStepResultDto[] = []; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class DiagnosticEchoRegionDto +{ + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class DiagnosticEchoDto +{ + // @DataMember + public containerName?: string; + + // @DataMember + public isManagedService: boolean; + + // @DataMember + public apiVersion: string; + + // @DataMember + public hubVersion: string; + + // @DataMember + public release: string; + + // @DataMember + public runtime: string; + + // @DataMember + public hubUrl: string; + + // @DataMember + public apiUrl: string; + + // @DataMember + public licensePresent: boolean; + + // @DataMember + public regions?: DiagnosticEchoRegionDto[]; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class DiagnosticEventItemDto +{ + // @DataMember + public position: number; + + // @DataMember + public eventType: string; + + // @DataMember + public payload?: { [index:string]: string; }; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class DiagnosticEventsPageDto +{ + // @DataMember + public stream: string; + + // @DataMember + public from: number; + + // @DataMember + public count: number; + + // @DataMember + public hasMore: boolean; + + // @DataMember + public nextFrom: number; + + // @DataMember + public items: DiagnosticEventItemDto[] = []; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class DiagnosticLogsResponse +{ + // @DataMember + public list?: PaginatedResponse; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class DiagnosticRedisListItemDto +{ + // @DataMember + public viewId: string; + + // @DataMember + public name?: string; + + // @DataMember + public status?: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class DiagnosticRedisInspectDto +{ + // @DataMember + public keyPattern: string; + + // @DataMember + public cacheKey: string; + + // @DataMember + public isList: boolean; + + // @DataMember + public item?: { [index:string]: Object; }; + + // @DataMember + public listItems?: DiagnosticRedisListItemDto[]; + + // @DataMember + public hasMore: boolean; + + // @DataMember + public startingAfter?: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class DiagnosticHealthCheckDto +{ + // @DataMember + public checkId: string; + + // @DataMember + public isHealthy: boolean; + + // @DataMember + public statusCode: number; + + // @DataMember + public detail?: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class ResponseError +{ + // @DataMember(Order=1) + public errorCode: string; + + // @DataMember(Order=2) + public fieldName: string; + + // @DataMember(Order=3) + public message: string; + + // @DataMember(Order=4) + public meta?: { [index:string]: string; }; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class ResponseStatus +{ + // @DataMember(Order=1) + public errorCode: string; + + // @DataMember(Order=2) + public message?: string; + + // @DataMember(Order=3) + public stackTrace?: string; + + // @DataMember(Order=4) + public errors?: ResponseError[]; + + // @DataMember(Order=5) + public meta?: { [index:string]: string; }; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export interface ILlmApiKeyRequest +{ + apiKey: string; +} + +export interface IHasViewId +{ + viewId: string; +} + +export interface IHasDatabaseId +{ + id?: string; +} + +export interface IBindableContract +{ +} + +export interface IHasRazorTemplateCode +{ +} + +export interface IHasResponsibleUserId +{ + userId: string; +} + +export interface ICursorArgs +{ + field: string; + order: number; +} + +export class StringFieldDto extends JsonSchemaFieldDto +{ + // @DataMember + public format?: string; + + // @DataMember + public pattern?: string; + + // @DataMember + public minLength?: number; + + // @DataMember + public maxLength?: number; + + // @DataMember + public translateOptions?: IReadOnlyDictionary; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class DecimalFieldDto extends JsonSchemaFieldDto +{ + // @DataMember + public minimum?: number; + + // @DataMember + public maximum?: number; + + // @DataMember + public multipleOf?: number; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class CurrencyFieldDto extends JsonSchemaFieldDto +{ + // @DataMember + public allowedCurrencies?: IReadOnlyList; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class BooleanFieldDto extends JsonSchemaFieldDto +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class DateFieldDto extends JsonSchemaFieldDto +{ + // @DataMember + public minimum?: number; + + // @DataMember + public maximum?: number; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class IntegerFieldDto extends JsonSchemaFieldDto +{ + // @DataMember + public minimum?: number; + + // @DataMember + public maximum?: number; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GeolocationFieldDto extends JsonSchemaFieldDto +{ + // @DataMember + public allowedTypes?: IReadOnlyList; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class TagsFieldDto extends JsonSchemaFieldDto +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class FileFieldDto extends JsonSchemaFieldDto +{ + // @DataMember + public storages?: IReadOnlyList; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class TaxonomySelectionFieldDto extends JsonSchemaFieldDto +{ + // @DataMember + public taxonomyId?: string; + + // @DataMember + public multiple: boolean; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class CollectionSelectionFieldDto extends JsonSchemaFieldDto +{ + // @DataMember + public collectionId?: string; + + // @DataMember + public displayField?: string; + + // @DataMember + public multiple: boolean; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class UserSelectionFieldDto extends JsonSchemaFieldDto +{ + // @DataMember + public multiple: boolean; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class RoleSelectionFieldDto extends JsonSchemaFieldDto +{ + // @DataMember + public multiple: boolean; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class EnumSelectionFieldDto extends JsonSchemaFieldDto +{ + // @DataMember + public values?: IReadOnlyList; + + // @DataMember + public multiple: boolean; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class EchoResponse +{ + public containerName?: string; + public ip: string; + public release: CodeMashRelease; + public runtime: CodeMashRuntime; + public managedServiceHubUrl: string; + public managedServiceApiUrl: string; + public hubUrl: string; + public apiUrl: string; + public apiVersion: string; + public hubVersion: string; + public mjmlUrl: string; + public adminUrlTemplate?: string; + public license?: EchoLicenseDto; + public askForEnterpriseLicenseEmail?: string; + public emailServiceConfigured: boolean; + public rootBootstrapPasswordSource?: string; + public regions?: EchoRegionDto[]; + public isProductionInstallation: boolean; + public licensingMode: string; + public graceDaysLeft?: number; + public installationDomain?: string; + public licensingDocsUrl?: string; + public agent?: EchoAgentDto; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class PublicProjectConfigDto +{ + public displayName: string; + public adminPortalEnabled: boolean; + public branding?: PublicBrandDto; + public auth: PublicAuthDto; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class PublicLegalDocumentDto +{ + public kind: string; + public title?: string; + public body: string; + public available: boolean; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class GetAccountProfileResponse extends ResponseBase +{ + public item?: AccountOwnerDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class EmptyResponse extends ResponseBase +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetAccountStatusResponse extends ResponseBase +{ + public item?: AccountStatusDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +// @DataContract +export class IdResponse extends ResponseBase +{ + // @DataMember + public id?: string; + + // @DataMember + public status?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +// @DataContract +export class CreateStripeCheckoutSessionResponse extends IdResponse +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +// @DataContract +export class GetStripeBillingPortalUrlResponse extends IdResponse +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +// @DataContract +export class CreateTeamMemberFromInvitationResponse extends IdResponse +{ + // @DataMember + public token?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetAccountUsageBillingResponse extends ResponseBase +{ + public item?: UsageBillingDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class PromoteEnvironmentResponse extends ResponseBase +{ + public item?: PromotionResultDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetProjectEnvironmentsResponse extends ResponseBase +{ + public item?: ProjectEnvironmentsDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetProjectResponse extends ResponseBase +{ + public item?: ProjectDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetProjectsResponse extends ResponseBase +{ + public list?: ProjectListItemDto[]; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetAccountRegionsResponse extends ResponseBase +{ + public items?: ProjectRegionDto[]; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class WaitForProjectActiveResponse extends ResponseBase +{ + public status?: string; + public isActive: boolean; + public waitedSeconds: number; + public message?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetProjectTokensResponse extends ResponseBase +{ + public tokens?: TokenMappingDto[]; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class AdminPortalStructureDto +{ + public projectId: string; + public adminPortalEnabled: boolean; + public displayName: string; + public modules: AdminPortalModuleDto[] = []; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class CreateAccountResponse extends IdResponse +{ + // @DataMember + public token?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetAccountCollaboratorsResponse extends ResponseBase +{ + public list?: PaginatedResponse; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetAccountPasswordPolicyResponse extends ResponseBase +{ + public policy?: AccountPasswordPolicyDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetAccountTeamPoliciesResponse extends ResponseBase +{ + public policies?: PolicyItemDto[]; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetAccountTeamRolesResponse extends ResponseBase +{ + public roles?: AccountTeamRoleDto[]; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class AccountPasskeyOkResponse extends ResponseBase +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class AccountPasskeyVerificationTokenResponse extends ResponseBase +{ + public verificationToken: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class AccountPasskeyCeremonyOptionsResponse extends ResponseBase +{ + public ceremonyId: string; + public optionsJson: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class AccountPasskeyAuthTokensResponse extends ResponseBase +{ + public accessToken: string; + public refreshToken: string; + public expiresInSeconds: number; + public recoveryCodes?: string[]; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class AccountPasskeyListResponse extends ResponseBase +{ + public passkeys: AccountPasskeyListItemDto[] = []; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class AccountPasskeyEnrollmentResponse extends ResponseBase +{ + public recoveryCodes?: string[]; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetLicenseDomainDnsStatusResponse extends ResponseBase +{ + public status?: LicenseDomainDnsStatusDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class StartLicenseDomainVerificationResponse extends ResponseBase +{ + public challenge?: LicenseDomainVerificationChallengeDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetLicenseDomainVerificationStatusResponse extends ResponseBase +{ + public status?: LicenseDomainVerificationStatusDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetLicensesResponse extends ResponseBase +{ + public list?: LicenseDto[]; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class PostLicenseHeartbeatResponse extends ResponseBase +{ + public verdict?: LicenseHeartbeatVerdictDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetInstallationLicenseStatusResponse extends ResponseBase +{ + public status?: InstallationLicenseStatusDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +// @DataContract +export class CreateAiServiceUserResponse extends ResponseBase +{ + // @DataMember + public id: string; + + // @DataMember + public keyId: string; + + // @DataMember + public key: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +// @DataContract +export class ListAiServiceUsersResponse extends ResponseBase +{ + // @DataMember + public items: AiServiceUserDto[] = []; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +// @DataContract +export class RotateAiServiceUserKeyResponse extends ResponseBase +{ + // @DataMember + public keyId: string; + + // @DataMember + public key: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class IssueServiceUserApiKeyResponse +{ + public id: number; + public name: string; + public key: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class ListServiceUserApiKeysResponse +{ + public keys: ServiceUserApiKeyDto[] = []; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class GetMembershipTriggerResponse extends GetTriggerResponse +{ + public trigger?: MembershipTriggerDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +// @DataContract +export class GetMembershipTriggersResponse extends GetTriggersResponse +{ + // @DataMember + public list?: PaginatedResponse; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetRoleResponse extends ResponseBase +{ + public role?: RoleItemDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetRolesResponse extends ResponseBase +{ + public roles: RoleListProjectionDto[] = []; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetPolicyResponse extends ResponseBase +{ + public policy?: PolicyItemDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetPoliciesResponse extends ResponseBase +{ + public policies: PolicyItemDto[] = []; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetPasskeySettingsResponse extends ResponseBase +{ + public result?: PasskeySettingsDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetMembershipIntegrationResponse extends ResponseBase +{ + public item?: MembershipIntegrationDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetMembershipIntegrationsResponse extends ResponseBase +{ + public list?: PaginatedResponse; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetAuthorizationSettingsResponse extends ResponseBase +{ + public result?: MembershipAuthorizationViewDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class UpdatePasswordComplexityResponse extends ResponseBase +{ + public result: boolean; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetAuthenticationSettingsResponse extends ResponseBase +{ + public result?: MembershipAuthenticationViewDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetSchemaTriggerResponse extends GetTriggerResponse +{ + public trigger?: SchemaTriggerDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetSchemaTriggersResponse extends GetTriggersResponse +{ + public list?: PaginatedResponse; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetDatabaseTaxonomyResponse extends ResponseBase +{ + public item?: TaxonomyDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetDatabaseTaxonomiesResponse extends ResponseBase +{ + public list?: PaginatedResponse; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetDatabaseTaxonomyTreeResponse extends ResponseBase +{ + public tree?: TaxonomyTreeDto[]; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetDatabaseTaxonomyTermResponse extends ResponseBase +{ + public item?: TermDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetDatabaseMergedTermTreeResponse extends ResponseBase +{ + public tree?: TermTreeDto[]; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetDatabaseTaxonomyTermTreeResponse extends ResponseBase +{ + public tree?: TermTreeDto[]; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +// @DataContract +export class ApplyDatabaseSchemaBundleResponse extends ResponseBase +{ + // @DataMember + public tier?: string; + + // @DataMember + public taxonomies: AppliedTaxonomyDto[] = []; + + // @DataMember + public collections: AppliedCollectionDto[] = []; + + // @DataMember + public decisions: string[] = []; + + // @DataMember + public errors: string[] = []; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetDatabaseSchemaResponse extends ResponseBase +{ + public item?: SchemaDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetDatabaseSchemasResponse extends ResponseBase +{ + public list?: PaginatedResponse; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetDatabaseSchemaDraftResponse extends ResponseBase +{ + public item?: SchemaDraftDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetDatabaseSchemaListSettingsResponse extends ResponseBase +{ + public settings?: SchemaListSettingsDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetDatabaseSchemaVersionDiffResponse extends ResponseBase +{ + public item?: SchemaDiffDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetDatabaseSchemaVersionsResponse extends ResponseBase +{ + public items?: SchemaVersionSummaryDto[]; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class AggregateRecordsResponse extends ResponseBase +{ + public result?: Object[]; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class CountRecordsResponse extends ResponseBase +{ + public count: number; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class DistinctRecordValuesResponse extends ResponseBase +{ + public values?: Object[]; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class ExecuteRecordsAggregateResponse extends ResponseBase +{ + public result?: Object[]; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class FindRecordsResponse extends ResponseBase +{ + public list?: PaginatedResponse; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class FindOneRecordResponse extends ResponseBase +{ + public result?: Object; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetCollectionIndexesResponse extends ResponseBase +{ + public indexes?: CollectionIndexDto[]; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +// @DataContract +export class SeedCollectionRecordsResponse extends ResponseBase +{ + // @DataMember + public result?: SeedCollectionRecordsResultDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetDatabaseIntegrationResponse extends ResponseBase +{ + public item?: DatabaseIntegrationDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetDatabaseIntegrationsResponse extends ResponseBase +{ + public defaultIntegrationId?: string; + public list?: PaginatedResponse; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetAllowedFlexTiersResponse extends ResponseBase +{ + public tiers?: FlexTierDto[]; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class RevealManagedFlexConnectionStringResponse extends ResponseBase +{ + public connectionString?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +// @DataContract +export class TestDatabaseIntegrationResponse extends ResponseBase +{ + // @DataMember + public items?: IReadOnlyList; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetCollectionImportResponse extends ResponseBase +{ + public result?: CollectionImportDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetCollectionImportsResponse extends ResponseBase +{ + public result?: PaginatedResponse; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class RequestImportUploadUrlResponse extends ResponseBase +{ + public result?: ImportUploadTargetDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class AnalyzeImportFileResponse extends ResponseBase +{ + public result?: ImportFileAnalysisDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetDatabaseAggregateResponse extends ResponseBase +{ + public item?: MongoDbAggregateDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetDatabaseAggregatesResponse extends ResponseBase +{ + public list?: PaginatedResponse; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class TestDatabaseAggregateResponse extends ResponseBase +{ + public result?: Object[]; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetFilesTriggerResponse extends GetTriggerResponse +{ + public trigger?: FilesTriggerDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetFilesTriggersResponse extends GetTriggersResponse +{ + public list?: PaginatedResponse; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetFilesIntegrationResponse extends ResponseBase +{ + public item?: FilesIntegrationDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetFilesIntegrationsResponse extends ResponseBase +{ + public defaultIntegrationId?: string; + public list?: PaginatedResponse; + public availableProviders: FileProvider[] = []; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +// @DataContract +export class TestFilesIntegrationResponse extends ResponseBase +{ + // @DataMember + public items?: IReadOnlyList; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetFileResponse extends ResponseBase +{ + public file?: FileResourceRefDto; + public isPublic?: boolean; + public publicUrl?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetFolderFilesResponse extends ResponseBase +{ + public list?: PaginatedResponse; + public folders?: IList; + public publicFolders?: IList; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetNotificationModuleDisableDependenciesResponse extends ResponseBase +{ + public dependencies?: NotificationModuleDisableDependenciesDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +// @DataContract +export class TestEmailValidationIntegrationResponse extends ResponseBase +{ + // @DataMember + public items: TestEmailValidationItemDto[] = []; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetEmailTemplateResponse extends ResponseBase +{ + public item?: EmailTemplateDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetEmailTemplatesResponse extends ResponseBase +{ + public list?: PaginatedResponse; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetHtmlFromMjmlResponse extends ResponseBase +{ + public variables?: string[]; + public htmlFromMjmlResponse?: HtmlFromMjmlResponse; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetSystemEmailTemplateResponse extends ResponseBase +{ + public item?: SystemEmailTemplateDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetSystemEmailTemplatesResponse extends ResponseBase +{ + public list?: PaginatedResponse; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetEmailTemplateAvailableTokensResponse extends ResponseBase +{ + public tokens?: { [index:string]: string[]; }; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetEmailSignatureResponse extends ResponseBase +{ + public item?: EmailSignatureDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetEmailSignaturesResponse extends ResponseBase +{ + public list?: PaginatedResponse; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetEmailSettingsResponse extends ResponseBase +{ + public settings?: EmailSettings; + public systemTags?: GroupDefinitionDto[]; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +// @DataContract +export class CheckEmailIntegrationDomainHealthResponse extends ResponseBase +{ + // @DataMember + public domain?: string; + + // @DataMember + public items?: IReadOnlyList; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetEmailIntegrationResponse extends ResponseBase +{ + public item?: EmailIntegrationDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetEmailIntegrationsResponse extends ResponseBase +{ + public defaultIntegrationId?: string; + public list?: PaginatedResponse; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +// @DataContract +export class TestEmailIntegrationResponse extends ResponseBase +{ + // @DataMember + public items?: IReadOnlyList; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetEmailFooterResponse extends ResponseBase +{ + public item?: EmailFooterDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetEmailFootersResponse extends ResponseBase +{ + public list?: PaginatedResponse; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetEmailCampaignResponse extends ResponseBase +{ + public item?: EmailCampaignDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetEmailCampaignsResponse extends ResponseBase +{ + public list?: PaginatedResponse; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetEmailCampaignBatchesResponse extends ResponseBase +{ + public list?: PaginatedResponse; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetEmailCampaignBatchNotificationResponse extends ResponseBase +{ + public campaignNotification?: EmailCampaignBatchNotificationDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetEmailCampaignBatchNotificationsResponse extends ResponseBase +{ + public batchStatusHistory?: BatchStatusChangeEntryDto[]; + public list?: PaginatedResponse; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetEmailCampaignStatisticsResponse extends ResponseBase +{ + public stats?: CampaignStatsDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class PreviewEmailNotificationResponse extends ResponseBase +{ + public subject?: string; + public body?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetEmailCampaignMessageResponse extends ResponseBase +{ + public emailMessageEntity?: EmailCampaignBatchNotificationDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetEmailCampaignMessagesResponse extends ResponseBase +{ + public list?: PaginatedResponse; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetSmsTemplateResponse extends ResponseBase +{ + public item?: SmsTemplateDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetSmsTemplatesResponse extends ResponseBase +{ + public list?: PaginatedResponse; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetSmsMessageContentTokensResponse extends ResponseBase +{ + public tokens?: { [index:string]: string[]; }; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class RenderSmsTextResponse extends ResponseBase +{ + public variables?: string[]; + public text?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetSmsSettingsResponse extends ResponseBase +{ + public settings?: SmsSettings; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetSmsIntegrationResponse extends ResponseBase +{ + public item?: SmsIntegrationDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetSmsIntegrationsResponse extends ResponseBase +{ + public defaultIntegrationId?: string; + public list?: PaginatedResponse; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +// @DataContract +export class TestSmsIntegrationResponse extends ResponseBase +{ + // @DataMember + public items?: IReadOnlyList; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetSmsCampaignResponse extends ResponseBase +{ + public smsCampaign?: SmsCampaignDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetSmsCampaignsResponse extends ResponseBase +{ + public list?: PaginatedResponse; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetSmsCampaignBatchesResponse extends ResponseBase +{ + public list?: PaginatedResponse; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetSmsCampaignBatchNotificationResponse extends ResponseBase +{ + public campaignNotification?: SmsCampaignBatchNotificationDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetSmsCampaignBatchNotificationsResponse extends ResponseBase +{ + public batchStatusHistory?: BatchStatusChangeEntryDto[]; + public list?: PaginatedResponse; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetSmsCampaignStatisticsResponse extends ResponseBase +{ + public stats?: CampaignStatsDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class PreviewSmsNotificationResponse extends ResponseBase +{ + public body?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetSmsCampaignMessageResponse extends ResponseBase +{ + public smsMessageEntity?: SmsCampaignBatchNotificationDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetSmsCampaignMessagesResponse extends ResponseBase +{ + public list?: PaginatedResponse; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetMarketplaceListingResponse extends ResponseBase +{ + public listing?: MarketplaceListingDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetMarketplaceTokensResponse extends ResponseBase +{ + public tokens?: string[]; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetMarketplaceListingsResponse extends ResponseBase +{ + public list?: PaginatedResponse; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetMarketplaceIntegrationResponse extends ResponseBase +{ + public integration?: MarketplaceIntegrationDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetMarketplaceIntegrationsResponse extends ResponseBase +{ + public list?: PaginatedResponse; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class EmptyMarketplaceSecretsResponse extends ResponseBase +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class RevealMarketplaceIntegrationSecretsResponse extends ResponseBase +{ + public secrets?: IReadOnlyDictionary; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +// @DataContract +export class TestMarketplaceIntegrationResponse extends ResponseBase +{ + // @DataMember + public items?: IReadOnlyList; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class SetMarketplaceIntegrationTokenMappingsResponse extends ResponseBase +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetMarketplaceFunctionResponse extends ResponseBase +{ + public function?: MarketplaceFunctionDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetMarketplaceFunctionsResponse extends ResponseBase +{ + public list?: PaginatedResponse; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetMarketplaceFunctionCatalogResponse extends ResponseBase +{ + public functions: IReadOnlyList; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class InvokeMarketplaceFunctionResponse extends ResponseBase +{ + public isSuccess: boolean; + public output?: Object; + public vendorRequestId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetCodeIntegrationResponse extends ResponseBase +{ + public item?: CodeIntegrationDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetCodeIntegrationsResponse extends ResponseBase +{ + public list?: PaginatedResponse; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +// @DataContract +export class TestCodeIntegrationResponse extends ResponseBase +{ + // @DataMember + public items?: IReadOnlyList; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetPushTemplateResponse extends ResponseBase +{ + public item?: PushTemplateDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetPushTemplatesResponse extends ResponseBase +{ + public list?: PaginatedResponse; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetPushMessageContentTokensResponse extends ResponseBase +{ + public tokens?: { [index:string]: string[]; }; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class RenderPushResponse extends ResponseBase +{ + public variables?: string[]; + public title?: string; + public body?: string; + public subtitle?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetPushSettingsResponse extends ResponseBase +{ + public settings?: PushSettings; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetPushIntegrationResponse extends ResponseBase +{ + public item?: PushIntegrationDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetPushIntegrationsResponse extends ResponseBase +{ + public defaultIntegrationId?: string; + public list?: PaginatedResponse; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetPushDeviceResponse extends ResponseBase +{ + public item?: PushDeviceDto; + public userId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetPushDevicesResponse extends ResponseBase +{ + public list?: PaginatedResponse; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetPushCampaignResponse extends ResponseBase +{ + public item?: PushCampaignDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetPushCampaignsResponse extends ResponseBase +{ + public list?: PaginatedResponse; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetPushCampaignBatchesResponse extends ResponseBase +{ + public list?: PaginatedResponse; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetPushCampaignBatchNotificationResponse extends ResponseBase +{ + public campaignNotification?: PushCampaignBatchNotificationDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetPushCampaignBatchNotificationsResponse extends ResponseBase +{ + public batchStatusHistory?: BatchStatusChangeEntryDto[]; + public list?: PaginatedResponse; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetPushCampaignStatisticsResponse extends ResponseBase +{ + public stats?: CampaignStatsDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class PreviewPushNotificationResponse extends ResponseBase +{ + public title?: string; + public body?: string; + public subtitle?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetPushCampaignMessageResponse extends ResponseBase +{ + public pushMessageEntity?: PushCampaignBatchNotificationDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetPushCampaignMessagesResponse extends ResponseBase +{ + public list?: PaginatedResponse; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetPaymentsWebhookLogResponse extends ResponseBase +{ + public list?: IReadOnlyList; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetPaymentsTriggerResponse extends GetTriggerResponse +{ + public trigger?: PaymentTriggerDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetPaymentsTriggersResponse extends GetTriggersResponse +{ + public list?: PaginatedResponse; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetPaymentsIntegrationResponse extends ResponseBase +{ + public item?: PaymentsIntegrationDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetPaymentsIntegrationsResponse extends ResponseBase +{ + public list?: PaginatedResponse; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +// @DataContract +export class TestPaymentsIntegrationResponse extends ResponseBase +{ + // @DataMember + public items?: IReadOnlyList; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetLoggingIntegrationResponse extends ResponseBase +{ + public item?: LoggingIntegrationDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetLoggingIntegrationsResponse extends ResponseBase +{ + public list?: PaginatedResponse; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +// @DataContract +export class TestLoggingIntegrationResponse extends ResponseBase +{ + // @DataMember + public items?: IReadOnlyList; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class CleanLogsResponse extends ResponseBase +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetLogsByCorrelationIdResponse extends ResponseBase +{ + public items?: IReadOnlyList; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetLogsResponse extends ResponseBase +{ + public list?: PaginatedResponse; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetLogSettingsResponse extends ResponseBase +{ + public skipCloudDashboardLogs: boolean; + public skipHttpBodyMeta: boolean; + public aiChatLoggingEnabled: boolean; + public hasNorbixLogging: boolean; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class SaveLogSettingsResponse extends ResponseBase +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetAgentOnboardingResponse extends ResponseBase +{ + public prompt?: string; + public hubUrl?: string; + public apiUrl?: string; + public mcpUrl?: string; + public docsUrl?: string; + public installationType?: string; + public snippets?: AgentOnboardingSnippet[]; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetAiToolsResponse extends ResponseBase +{ + public tools?: AiToolManifestItem[]; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class InvokeAiToolResponse extends ResponseBase +{ + public result?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class UploadChatAttachmentResponse extends ResponseBase +{ + public id?: string; + public sessionId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class ChatAvailabilityResponse extends ResponseBase +{ + public available: boolean; + public reason?: string; + public profiles?: string[]; + public models?: ChatModelOption[]; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetChatMemoryResponse extends ResponseBase +{ + public notes?: ChatMemoryNote[]; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetChatSessionsResponse extends ResponseBase +{ + public sessions?: ChatSessionListItem[]; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetChatSessionEntriesResponse extends ResponseBase +{ + public sessionId?: string; + public profile?: string; + public projectId?: string; + public env?: string; + public entries?: AiChatEntryWireDto[]; + public lastSeq: number; + public activeWorkItemIds?: string[]; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class ChatTurnResponse extends ResponseBase +{ + public sessionId?: string; + public reply?: string; + public screenPatch?: ChatScreenContextDto; + public toolTrace?: string[]; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetProjectBriefResponse extends ResponseBase +{ + public projectId?: string; + public snapshot?: ProjectBriefSnapshotWireDto; + public events?: ProjectBriefEventWireDto[]; + public lastSeq: number; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetWorkItemsResponse extends ResponseBase +{ + public projectId?: string; + public workItems?: WorkItemWireDto[]; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetWorkItemResponse extends ResponseBase +{ + public workItem?: WorkItemWireDto; + public plans?: AiChatEntryWireDto[]; + public steps?: AiChatEntryWireDto[]; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class ExportWorkItemResponse extends ResponseBase +{ + public workItemId?: string; + public markdown?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetLlmIntegrationResponse extends ResponseBase +{ + public item?: LlmIntegrationDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetLlmIntegrationsResponse extends ResponseBase +{ + public defaultIntegrationId?: string; + public list?: PaginatedResponse; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +// @DataContract +export class TestLlmIntegrationResponse extends ResponseBase +{ + // @DataMember + public items?: IReadOnlyList; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetMcpIntegrationResponse extends ResponseBase +{ + public item?: McpIntegrationDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetMcpIntegrationsResponse extends ResponseBase +{ + public defaultIntegrationId?: string; + public list?: PaginatedResponse; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetWebhookIntegrationResponse extends ResponseBase +{ + public item?: WebhookIntegrationDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class RevealWebhookIntegrationSecretResponse extends ResponseBase +{ + public signingSecret?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class RotateWebhookIntegrationSecretResponse extends ResponseBase +{ + public signingSecret?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class HttpResult +{ + public responseText?: string; + public responseStream?: string; + public fileInfo?: FileInfo; + public virtualFile?: IVirtualFile; + public contentType?: string; + public headers?: { [index:string]: string; }; + public cookies?: Cookie[]; + public eTag?: string; + public age?: string; + public maxAge?: string; + public expires?: string; + public lastModified?: string; + public cacheControl: CacheControl; + public resultScope?: Func; + public allowsPartialResponse: boolean; + public options?: { [index:string]: string; }; + public status: number; + public statusCode: HttpStatusCode; + public statusDescription?: string; + public response?: Object; + public responseFilter?: IContentTypeWriter; + public requestContext?: IRequest; + public view?: string; + public template?: string; + public paddingLength: number; + public isPartialRequest: boolean; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +export class SaveWebhookDestinationResponse extends ResponseBase +{ + public destinationId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetSchedulerTaskResponse extends ResponseBase +{ + public item?: SchedulerTaskDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetSchedulerTasksResponse extends ResponseBase +{ + public list?: PaginatedResponse; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class ResolveResourcesResponse extends ResponseBase +{ + public resolved: IReadOnlyList; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetContactResponse extends ResponseBase +{ + public item?: UserDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetAllContactsResponse extends ResponseBase +{ + public items?: IReadOnlyList; + public nextCursor?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetComplianceSettingsResponse extends ResponseBase +{ + public settings?: ProjectComplianceDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetLegalHoldsResponse extends ResponseBase +{ + public holds: LegalHoldDto[] = []; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetDsarRequestsResponse extends ResponseBase +{ + public requests: DsarRequestDto[] = []; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetComplianceAuditLogResponse extends ResponseBase +{ + public entries: ComplianceAuditEntryDto[] = []; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetAccountComplianceResponse extends ResponseBase +{ + public settings?: AccountComplianceDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetSupportCaseResponse extends ResponseBase +{ + public result?: SupportCaseDetailDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetSupportCasesResponse extends ResponseBase +{ + public list?: PaginatedResponse; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetDiagnosticPacksResponse extends ResponseBase +{ + public packs?: DiagnosticPackDescriptorDto[]; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class RunDiagnosticPackResponse extends ResponseBase +{ + public result?: DiagnosticPackRunResultDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class GetDiagnosticEchoResponse extends ResponseBase +{ + public result?: DiagnosticEchoDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class ReadDiagnosticEventsResponse extends ResponseBase +{ + public result?: DiagnosticEventsPageDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class QueryDiagnosticLogsResponse extends ResponseBase +{ + public result?: DiagnosticLogsResponse; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class InspectDiagnosticRedisResponse extends ResponseBase +{ + public result?: DiagnosticRedisInspectDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +export class RunDiagnosticHealthCheckResponse extends ResponseBase +{ + public result?: DiagnosticHealthCheckDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } +} + +// @DataContract +export class AuthenticateResponse implements IHasSessionId, IHasBearerToken +{ + // @DataMember(Order=1) + public userId?: string; + + // @DataMember(Order=2) + public sessionId?: string; + + // @DataMember(Order=3) + public userName?: string; + + // @DataMember(Order=4) + public displayName?: string; + + // @DataMember(Order=5) + public referrerUrl?: string; + + // @DataMember(Order=6) + public bearerToken?: string; + + // @DataMember(Order=7) + public refreshToken?: string; + + // @DataMember(Order=8) + public refreshTokenExpiry?: string; + + // @DataMember(Order=9) + public profileUrl?: string; + + // @DataMember(Order=10) + public roles?: string[]; + + // @DataMember(Order=11) + public permissions?: string[]; + + // @DataMember(Order=12) + public authProvider?: string; + + // @DataMember(Order=13) + public responseStatus?: ResponseStatus; + + // @DataMember(Order=14) + public meta?: { [index:string]: string; }; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @DataContract +export class GetAccessTokenResponse +{ + // @DataMember(Order=1) + public accessToken?: string; + + // @DataMember(Order=2) + public meta?: { [index:string]: string; }; + + // @DataMember(Order=3) + public responseStatus?: ResponseStatus; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } +} + +// @Route("/{version}/code/enable", "GET") +export class EnableCode extends CodeMashRequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'EnableCode'; } + public getMethod() { return 'GET'; } + public createResponse() { return new EmptyResponse(); } +} + +// @Route("/{version}/code/disable", "GET") +export class DisableCode extends CodeMashRequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DisableCode'; } + public getMethod() { return 'GET'; } + public createResponse() { return new EmptyResponse(); } +} + +// @Route("/{version}/code/integrations", "GET") +export class GetCodeIntegrations extends CodeMashListPaginationRequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetCodeIntegrations'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetCodeIntegrationsResponse(); } +} + +// @Route("/{version}/code/integrations/{id}", "GET") +export class GetCodeIntegration extends CodeMashRequestBase implements IReturn +{ + /** @description Integration id, from get_code_integrations. */ + // @ApiMember(Description="Integration id, from get_code_integrations.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetCodeIntegration'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetCodeIntegrationResponse(); } +} + +// @Route("/{version}/code/integrations", "POST") +// @DataContract +export class SaveCodeIntegration extends CodeMashRequestBase implements IReturn +{ + // @DataMember(Name="integration") + public integration: CodeIntegrationRequest; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'SaveCodeIntegration'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IdResponse(); } +} + +// @Route("/{version}/code/integrations/test", "POST") +export class TestCodeIntegration extends CodeMashRequestBase implements IReturn +{ + /** @description Integration id, from get_code_integrations. */ + // @ApiMember(Description="Integration id, from get_code_integrations.", IsRequired=true) + public integrationId: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'TestCodeIntegration'; } + public getMethod() { return 'POST'; } + public createResponse() { return new TestCodeIntegrationResponse(); } +} + +// @Route("/{version}/code/integrations/confirm-human-delivery", "POST") +// @DataContract +export class ConfirmCodeIntegrationHumanDeliveryRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Integration id, from get_code_integrations. */ + // @DataMember + // @ApiMember(Description="Integration id, from get_code_integrations.", IsRequired=true) + public integrationId: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'ConfirmCodeIntegrationHumanDeliveryRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new EmptyResponse(); } +} + +// @Route("/{version}/code/integrations/{Id}/default", "PUT") +export class SetCodeIntegrationAsDefault extends CodeMashRequestBase implements IReturn +{ + /** @description Integration id, from get_code_integrations. */ + // @ApiMember(Description="Integration id, from get_code_integrations.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'SetCodeIntegrationAsDefault'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} + +// @Route("/{version}/code/integrations/{Id}", "DELETE") +export class DeleteCodeIntegrationRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Integration id, from get_code_integrations. */ + // @ApiMember(Description="Integration id, from get_code_integrations.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DeleteCodeIntegrationRequest'; } + public getMethod() { return 'DELETE'; } + public createResponse() { return new EmptyResponse(); } +} + +// @Route("/{version}/code/integrations/{Id}/enable", "PUT") +export class EnableCodeIntegrationRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Integration id, from get_code_integrations. */ + // @ApiMember(Description="Integration id, from get_code_integrations.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'EnableCodeIntegrationRequest'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} + +// @Route("/{version}/code/integrations/{Id}/disable", "PUT") +export class DisableCodeIntegrationRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Integration id, from get_code_integrations. */ + // @ApiMember(Description="Integration id, from get_code_integrations.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DisableCodeIntegrationRequest'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} + +// @Route("/{version}/code/marketplace/listings", "GET") +export class GetMarketplaceListings extends CodeMashListPaginationRequestBase implements IReturn +{ + /** @description Filter by one or more categories (Crm, Erp, Communication, etc.). */ + // @ApiMember(Description="Filter by one or more categories (Crm, Erp, Communication, etc.).") + public categories?: MarketplaceCategory[]; + + /** @description Filter by transport (Mcp, Rest, Code). */ + // @ApiMember(Description="Filter by transport (Mcp, Rest, Code).") + public transports?: MarketplaceTransport[]; + + /** @description Free-text search over the listing's display name, vendor, and description. */ + // @ApiMember(Description="Free-text search over the listing's display name, vendor, and description.") + public search?: string; + + /** @description If true, return only listings curated and verified by Norbix. */ + // @ApiMember(Description="If true, return only listings curated and verified by Norbix.") + public officialOnly?: boolean; + + /** @description Filter by curated tag slugs (e.g. ai-llm, messaging, crm). Matches listings carrying any of the given tags. */ + // @ApiMember(Description="Filter by curated tag slugs (e.g. ai-llm, messaging, crm). Matches listings carrying any of the given tags.") + public tags?: string[]; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetMarketplaceListings'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetMarketplaceListingsResponse(); } +} + +// @Route("/{version}/code/marketplace/listings/{ListingViewId}/functions/{FunctionKey}/tokens", "GET") +export class GetMarketplaceListingFunctionTokens extends CodeMashRequestBase implements IReturn +{ + /** @description Marketplace listing view id, from get_marketplace_listings. */ + // @ApiMember(Description="Marketplace listing view id, from get_marketplace_listings.", IsRequired=true) + public listingViewId: string; + + /** @description Function key on the listing, from get_marketplace_listings. */ + // @ApiMember(Description="Function key on the listing, from get_marketplace_listings.", IsRequired=true) + public functionKey: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetMarketplaceListingFunctionTokens'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetMarketplaceTokensResponse(); } +} + +// @Route("/{version}/code/marketplace/integrations", "GET") +export class GetMarketplaceIntegrations extends CodeMashListPaginationRequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetMarketplaceIntegrations'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetMarketplaceIntegrationsResponse(); } +} + +// @Route("/{version}/code/marketplace/integrations/{IntegrationViewId}", "GET") +export class GetMarketplaceIntegration extends CodeMashRequestBase implements IReturn +{ + /** @description Integration view id, from get_marketplace_integrations. */ + // @ApiMember(Description="Integration view id, from get_marketplace_integrations.", IsRequired=true) + public integrationViewId: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetMarketplaceIntegration'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetMarketplaceIntegrationResponse(); } +} + +// @Route("/{version}/code/marketplace/integrations", "POST") +// @DataContract +export class SaveMarketplaceIntegration extends CodeMashRequestBase implements IReturn +{ + /** @description The marketplace integration to install, from a get_marketplace_listings entry. */ + // @DataMember + // @ApiMember(Description="The marketplace integration to install, from a get_marketplace_listings entry.", IsRequired=true) + public integration: MarketplaceIntegrationDto; + + // @DataMember + public secrets: { [index:string]: string; } = {}; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'SaveMarketplaceIntegration'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IdResponse(); } +} + +// @Route("/{version}/code/marketplace/integrations/{IntegrationViewId}", "DELETE") +export class DeleteMarketplaceIntegration extends CodeMashRequestBase implements IReturn +{ + /** @description Integration view id, from get_marketplace_integrations. */ + // @ApiMember(Description="Integration view id, from get_marketplace_integrations.", IsRequired=true) + public integrationViewId: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DeleteMarketplaceIntegration'; } + public getMethod() { return 'DELETE'; } + public createResponse() { return new IdResponse(); } +} + +// @Route("/{version}/code/marketplace/integrations/{IntegrationViewId}/enable", "POST") +export class EnableMarketplaceIntegration extends CodeMashRequestBase implements IReturn +{ + /** @description Integration view id, from get_marketplace_integrations. */ + // @ApiMember(Description="Integration view id, from get_marketplace_integrations.", IsRequired=true) + public integrationViewId: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'EnableMarketplaceIntegration'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IdResponse(); } +} + +// @Route("/{version}/code/marketplace/integrations/{IntegrationViewId}/disable", "POST") +export class DisableMarketplaceIntegration extends CodeMashRequestBase implements IReturn +{ + /** @description Integration view id, from get_marketplace_integrations. */ + // @ApiMember(Description="Integration view id, from get_marketplace_integrations.", IsRequired=true) + public integrationViewId: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DisableMarketplaceIntegration'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IdResponse(); } +} + +// @Route("/{version}/code/marketplace/integrations/{IntegrationViewId}/functions", "GET") +export class GetMarketplaceFunctions extends CodeMashListPaginationRequestBase implements IReturn +{ + /** @description Integration view id, from get_marketplace_integrations. */ + // @ApiMember(Description="Integration view id, from get_marketplace_integrations.", IsRequired=true) + public integrationViewId: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetMarketplaceFunctions'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetMarketplaceFunctionsResponse(); } +} + +// @Route("/{version}/code/marketplace/integrations/{IntegrationViewId}/functions/{FunctionViewId}", "GET") +export class GetMarketplaceFunction extends CodeMashRequestBase implements IReturn +{ + /** @description Integration view id, from get_marketplace_integrations. */ + // @ApiMember(Description="Integration view id, from get_marketplace_integrations.", IsRequired=true) + public integrationViewId: string; + + /** @description Function view id, from get_marketplace_functions. */ + // @ApiMember(Description="Function view id, from get_marketplace_functions.", IsRequired=true) + public functionViewId: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetMarketplaceFunction'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetMarketplaceFunctionResponse(); } +} + +// @Route("/{version}/code/marketplace/integrations/{IntegrationViewId}/functions", "POST") +// @DataContract +export class SaveMarketplaceFunction extends CodeMashRequestBase implements IReturn +{ + /** @description Integration view id, from get_marketplace_integrations. */ + // @DataMember + // @ApiMember(Description="Integration view id, from get_marketplace_integrations.", IsRequired=true) + public integrationViewId: string; + + /** @description The function to create: functionKey, displayName, description, and one mapping per vendor function parameter. */ + // @DataMember + // @ApiMember(Description="The function to create: functionKey, displayName, description, and one mapping per vendor function parameter.", IsRequired=true) + public function: MarketplaceFunctionDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'SaveMarketplaceFunction'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IdResponse(); } +} + +// @Route("/{version}/code/marketplace/integrations/{IntegrationViewId}/functions/{FunctionViewId}", "DELETE") +export class DeleteMarketplaceFunction extends CodeMashRequestBase implements IReturn +{ + /** @description Integration view id, from get_marketplace_integrations. */ + // @ApiMember(Description="Integration view id, from get_marketplace_integrations.", IsRequired=true) + public integrationViewId: string; + + /** @description Function view id, from get_marketplace_functions. */ + // @ApiMember(Description="Function view id, from get_marketplace_functions.", IsRequired=true) + public functionViewId: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DeleteMarketplaceFunction'; } + public getMethod() { return 'DELETE'; } + public createResponse() { return new IdResponse(); } +} + +// @Route("/{version}/code/marketplace/integrations/{IntegrationViewId}/functions/{FunctionViewId}/enable", "POST") +export class EnableMarketplaceFunction extends CodeMashRequestBase implements IReturn +{ + /** @description Integration view id, from get_marketplace_integrations. */ + // @ApiMember(Description="Integration view id, from get_marketplace_integrations.", IsRequired=true) + public integrationViewId: string; + + /** @description Function view id, from get_marketplace_functions. */ + // @ApiMember(Description="Function view id, from get_marketplace_functions.", IsRequired=true) + public functionViewId: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'EnableMarketplaceFunction'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IdResponse(); } +} + +// @Route("/{version}/code/marketplace/integrations/{IntegrationViewId}/functions/{FunctionViewId}/disable", "POST") +export class DisableMarketplaceFunction extends CodeMashRequestBase implements IReturn +{ + /** @description Integration view id, from get_marketplace_integrations. */ + // @ApiMember(Description="Integration view id, from get_marketplace_integrations.", IsRequired=true) + public integrationViewId: string; + + /** @description Function view id, from get_marketplace_functions. */ + // @ApiMember(Description="Function view id, from get_marketplace_functions.", IsRequired=true) + public functionViewId: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DisableMarketplaceFunction'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IdResponse(); } +} + +// @Route("/{version}/code/marketplace/integrations/{IntegrationViewId}/functions/{FunctionViewId}/tokens", "GET") +export class GetMarketplaceFunctionTokens extends CodeMashRequestBase implements IReturn +{ + /** @description Integration view id, from get_marketplace_integrations. */ + // @ApiMember(Description="Integration view id, from get_marketplace_integrations.", IsRequired=true) + public integrationViewId: string; + + /** @description Function view id, from get_marketplace_functions. */ + // @ApiMember(Description="Function view id, from get_marketplace_functions.", IsRequired=true) + public functionViewId: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetMarketplaceFunctionTokens'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetMarketplaceTokensResponse(); } +} + +// @Route("/{version}/code/marketplace/functions/{FunctionViewId}/invoke", "POST") +// @DataContract +export class InvokeMarketplaceFunction extends CodeMashRequestBase implements IReturn +{ + /** @description Function view id (func_…), from get_marketplace_functions. */ + // @DataMember + // @ApiMember(Description="Function view id (func_…), from get_marketplace_functions.", IsRequired=true) + public functionViewId: string; + + // @DataMember + public payload: { [index:string]: Object; } = {}; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'InvokeMarketplaceFunction'; } + public getMethod() { return 'POST'; } + public createResponse() { return new InvokeMarketplaceFunctionResponse(); } +} + +// @Route("/{version}/code/marketplace/listings/{ListingViewId}", "GET") +export class GetMarketplaceListing extends CodeMashRequestBase implements IReturn +{ + /** @description Listing view id (ml_…), from get_marketplace_listings. */ + // @ApiMember(Description="Listing view id (ml_…), from get_marketplace_listings.", IsRequired=true) + public listingViewId: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetMarketplaceListing'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetMarketplaceListingResponse(); } +} + +// @Route("/{version}/code/marketplace/integrations/{IntegrationViewId}/test", "POST") +export class TestMarketplaceIntegration extends CodeMashRequestBase implements IReturn +{ + /** @description Integration view id, from get_marketplace_integrations. */ + // @ApiMember(Description="Integration view id, from get_marketplace_integrations.", IsRequired=true) + public integrationViewId: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'TestMarketplaceIntegration'; } + public getMethod() { return 'POST'; } + public createResponse() { return new TestMarketplaceIntegrationResponse(); } +} + +// @Route("/internal/_typegen", "GET") +export class InternalsTypeGen +{ + public typegen_0_SmtpEmailIntegrationRequest?: SmtpEmailIntegrationRequest; + public typegen_1_AwsSesEmailIntegrationRequest?: AwsSesEmailIntegrationRequest; + public typegen_2_SendGridEmailIntegrationRequest?: SendGridEmailIntegrationRequest; + public typegen_3_MailGunEmailIntegrationRequest?: MailGunEmailIntegrationRequest; + public typegen_4_EmailToAllUsersDeliverySettingsRequest?: EmailToAllUsersDeliverySettingsRequest; + public typegen_5_EmailToAccountUsersDeliverySettingsRequest?: EmailToAccountUsersDeliverySettingsRequest; + public typegen_6_EmailToCollectionRecordsDeliverySettingsRequest?: EmailToCollectionRecordsDeliverySettingsRequest; + public typegen_7_EmailToEmailsDeliverySettingsRequest?: EmailToEmailsDeliverySettingsRequest; + public typegen_8_EmailToUsersDeliverySettingsRequest?: EmailToUsersDeliverySettingsRequest; + public typegen_9_MembershipTriggerRequest?: MembershipTriggerRequest; + public typegen_10_SchemaTriggerRequest?: SchemaTriggerRequest; + public typegen_11_FilesTriggerRequest?: FilesTriggerRequest; + public typegen_12_PaymentTriggerRequest?: PaymentTriggerRequest; + public typegen_15_MongoDbConnectionStringDatabaseIntegrationRequest?: MongoDbConnectionStringDatabaseIntegrationRequest; + public typegen_16_MongoDbAtlasFlexManagedDatabaseIntegrationRequest?: MongoDbAtlasFlexManagedDatabaseIntegrationRequest; + public typegen_16_GoogleDriveFilesIntegrationRequest?: GoogleDriveFilesIntegrationRequest; + public typegen_17_FtpFilesIntegrationRequest?: FtpFilesIntegrationRequest; + public typegen_18_DropBoxFilesIntegrationRequest?: DropBoxFilesIntegrationRequest; + public typegen_19_AppleICloudFilesIntegrationRequest?: AppleICloudFilesIntegrationRequest; + public typegen_20_AwsS3FilesIntegrationRequest?: AwsS3FilesIntegrationRequest; + public typegen_21_GoogleCloudFilesIntegrationRequest?: GoogleCloudFilesIntegrationRequest; + public typegen_22_AzureBlobFilesIntegrationRequest?: AzureBlobFilesIntegrationRequest; + public typegen_23_LocalFilesIntegrationRequest?: LocalFilesIntegrationRequest; + public typegen_24_AmqpLoggingIntegrationRequest?: AmqpLoggingIntegrationRequest; + public typegen_25_AwsKinesisLoggingIntegrationRequest?: AwsKinesisLoggingIntegrationRequest; + public typegen_26_AwsS3LoggingIntegrationRequest?: AwsS3LoggingIntegrationRequest; + public typegen_28_NewRelicLoggingIntegrationRequest?: NewRelicLoggingIntegrationRequest; + public typegen_30_MongoDbLoggingIntegrationRequest?: MongoDbLoggingIntegrationRequest; + public typegen_31_KafkaLoggingIntegrationRequest?: KafkaLoggingIntegrationRequest; + public typegen_32_PrometheusLoggingIntegrationRequest?: PrometheusLoggingIntegrationRequest; + public typegen_33_DataDogLoggingIntegrationRequest?: DataDogLoggingIntegrationRequest; + public typegen_34_InternalKafkaLoggingIntegrationRequest?: InternalKafkaLoggingIntegrationRequest; + public typegen_35_ElasticSearchLoggingIntegrationRequest?: ElasticSearchLoggingIntegrationRequest; + public typegen_37_SplunkLoggingIntegrationRequest?: SplunkLoggingIntegrationRequest; + public typegen_38_AzureOtelLoggingIntegrationRequest?: AzureOtelLoggingIntegrationRequest; + public typegen_39_KibanaLoggingIntegrationRequest?: KibanaLoggingIntegrationRequest; + public typegen_40_LocalFileLoggingIntegrationRequest?: LocalFileLoggingIntegrationRequest; + public typegen_41_OktaMembershipIntegrationRequest?: OktaMembershipIntegrationRequest; + public typegen_42_XMembershipIntegrationRequest?: XMembershipIntegrationRequest; + public typegen_43_GoogleMembershipIntegrationRequest?: GoogleMembershipIntegrationRequest; + public typegen_44_MicrosoftMembershipIntegrationRequest?: MicrosoftMembershipIntegrationRequest; + public typegen_45_GitHubMembershipIntegrationRequest?: GitHubMembershipIntegrationRequest; + public typegen_46_MetaMembershipIntegrationRequest?: MetaMembershipIntegrationRequest; + public typegen_47_AppleMembershipIntegrationRequest?: AppleMembershipIntegrationRequest; + public typegen_48_LemonSqueezyPaymentIntegrationRequest?: LemonSqueezyPaymentIntegrationRequest; + public typegen_49_AdyenPaymentIntegrationRequest?: AdyenPaymentIntegrationRequest; + public typegen_50_MolliePaymentIntegrationRequest?: MolliePaymentIntegrationRequest; + public typegen_51_PaddlePaymentIntegrationRequest?: PaddlePaymentIntegrationRequest; + public typegen_52_PayPalPaymentIntegrationRequest?: PayPalPaymentIntegrationRequest; + public typegen_53_StripePaymentIntegrationRequest?: StripePaymentIntegrationRequest; + public typegen_54_AppleInAppPaymentIntegrationRequest?: AppleInAppPaymentIntegrationRequest; + public typegen_55_GoogleInAppPaymentIntegrationRequest?: GoogleInAppPaymentIntegrationRequest; + public typegen_56_EdgeWebPushIntegrationRequest?: EdgeWebPushIntegrationRequest; + public typegen_57_ChromePluginPushIntegrationRequest?: ChromePluginPushIntegrationRequest; + public typegen_58_SafariPushIntegrationRequest?: SafariPushIntegrationRequest; + public typegen_59_ChromeWebPushIntegrationRequest?: ChromeWebPushIntegrationRequest; + public typegen_60_FirefoxWebPushIntegrationRequest?: FirefoxWebPushIntegrationRequest; + public typegen_61_AndroidFirebasePushIntegrationRequest?: AndroidFirebasePushIntegrationRequest; + public typegen_62_AppleApnsPushIntegrationRequest?: AppleApnsPushIntegrationRequest; + public typegen_65_AwsLambdaCodeIntegrationRequest?: AwsLambdaCodeIntegrationRequest; + public typegen_66_AzureFunctionsCodeIntegrationRequest?: AzureFunctionsCodeIntegrationRequest; + public typegen_67_GoogleCloudFunctionsCodeIntegrationRequest?: GoogleCloudFunctionsCodeIntegrationRequest; + public typegen_68_OllamaLlmIntegrationRequest?: OllamaLlmIntegrationRequest; + public typegen_69_OpenRouterLlmIntegrationRequest?: OpenRouterLlmIntegrationRequest; + public typegen_70_MistralLlmIntegrationRequest?: MistralLlmIntegrationRequest; + public typegen_71_GrokLlmIntegrationRequest?: GrokLlmIntegrationRequest; + public typegen_72_GroqLlmIntegrationRequest?: GroqLlmIntegrationRequest; + public typegen_73_GoogleLlmIntegrationRequest?: GoogleLlmIntegrationRequest; + public typegen_74_AnthropicLlmIntegrationRequest?: AnthropicLlmIntegrationRequest; + public typegen_75_OpenAiLlmIntegrationRequest?: OpenAiLlmIntegrationRequest; + public typegen_76_PlaywrightMcpIntegrationRequest?: PlaywrightMcpIntegrationRequest; + public typegen_77_MongoDbMcpIntegrationRequest?: MongoDbMcpIntegrationRequest; + public typegen_78_GitHubMcpIntegrationRequest?: GitHubMcpIntegrationRequest; + public typegen_79_StripeMcpIntegrationRequest?: StripeMcpIntegrationRequest; + public typegen_80_BraveSearchMcpIntegrationRequest?: BraveSearchMcpIntegrationRequest; + public typegen_81_ObsidianMcpIntegrationRequest?: ObsidianMcpIntegrationRequest; + public typegen_82_EmailTemplateDto?: EmailTemplateDto; + public typegen_83_PushTemplateDto?: PushTemplateDto; + public typegen_84_SmsTemplateDto?: SmsTemplateDto; + public typegen_85_SystemEmailTemplateDto?: SystemEmailTemplateDto; + public typegen_86_TriggerActionEmailDto?: TriggerActionEmailDto; + public typegen_87_TriggerActionPushDto?: TriggerActionPushDto; + public typegen_88_TriggerActionCodeDto?: TriggerActionCodeDto; + public typegen_89_TriggerActionWebhookDto?: TriggerActionWebhookDto; + public typegen_236_TriggerActionSmsDto?: TriggerActionSmsDto; + public typegen_237_TriggerActionSseDto?: TriggerActionSseDto; + public typegen_238_TriggerActionMarketplaceDto?: TriggerActionMarketplaceDto; + public typegen_239_SseDeliverySettingsDto?: SseDeliverySettingsDto; + public typegen_240_GetTriggers?: GetTriggers; + public typegen_241_GetTriggersResponse?: GetTriggersResponse; + public typegen_90_EmailToAllUsersDeliverySettingsDto?: EmailToAllUsersDeliverySettingsDto; + public typegen_91_EmailToAccountUsersDeliverySettingsDto?: EmailToAccountUsersDeliverySettingsDto; + public typegen_92_EmailToUsersDeliverySettingsDto?: EmailToUsersDeliverySettingsDto; + public typegen_93_EmailToEmailAddressesDeliverySettingsDto?: EmailToEmailAddressesDeliverySettingsDto; + public typegen_94_EmailToCollectionRecordsDeliverySettingsDto?: EmailToCollectionRecordsDeliverySettingsDto; + public typegen_95_PushToAllUsersDeliverySettingsDto?: PushToAllUsersDeliverySettingsDto; + public typegen_96_PushToUsersDeliverySettingsDto?: PushToUsersDeliverySettingsDto; + public typegen_229_PushToAccountUsersDeliverySettingsDto?: PushToAccountUsersDeliverySettingsDto; + public typegen_97_PushToCollectionRecordsDeliverySettingsDto?: PushToCollectionRecordsDeliverySettingsDto; + public typegen_98_PushToDevicesDeliverySettingsDto?: PushToDevicesDeliverySettingsDto; + public typegen_99_SmsToAllUsersDeliverySettingsDto?: SmsToAllUsersDeliverySettingsDto; + public typegen_100_SmsToUsersDeliverySettingsDto?: SmsToUsersDeliverySettingsDto; + public typegen_101_SmsToCollectionRecordsDeliverySettingsDto?: SmsToCollectionRecordsDeliverySettingsDto; + public typegen_102_SmsToPhoneNumbersDeliverySettingsDto?: SmsToPhoneNumbersDeliverySettingsDto; + public typegen_103_OpenAiLlmIntegrationDto?: OpenAiLlmIntegrationDto; + public typegen_104_AnthropicLlmIntegrationDto?: AnthropicLlmIntegrationDto; + public typegen_105_OllamaLlmIntegrationDto?: OllamaLlmIntegrationDto; + public typegen_106_GroqLlmIntegrationDto?: GroqLlmIntegrationDto; + public typegen_107_GoogleLlmIntegrationDto?: GoogleLlmIntegrationDto; + public typegen_108_MistralLlmIntegrationDto?: MistralLlmIntegrationDto; + public typegen_109_OpenRouterLlmIntegrationDto?: OpenRouterLlmIntegrationDto; + public typegen_110_GrokLlmIntegrationDto?: GrokLlmIntegrationDto; + public typegen_111_DockerMcpIntegrationDto?: DockerMcpIntegrationDto; + public typegen_112_GoogleCalendarMcpIntegrationDto?: GoogleCalendarMcpIntegrationDto; + public typegen_113_ObsidianMcpIntegrationDto?: ObsidianMcpIntegrationDto; + public typegen_114_AwsLambdaCrossAccountRoleCodeIntegrationDto?: AwsLambdaCrossAccountRoleCodeIntegrationDto; + public typegen_115_AwsLambdaIamCodeIntegrationDto?: AwsLambdaIamCodeIntegrationDto; + public typegen_116_AzureFunctionsCodeIntegrationDto?: AzureFunctionsCodeIntegrationDto; + public typegen_118_GoogleCloudFunctionsCodeIntegrationDto?: GoogleCloudFunctionsCodeIntegrationDto; + public typegen_120_AdyenPaymentIntegrationDto?: AdyenPaymentIntegrationDto; + public typegen_121_AppleInAppPaymentIntegrationDto?: AppleInAppPaymentIntegrationDto; + public typegen_122_GoogleInAppPaymentIntegrationDto?: GoogleInAppPaymentIntegrationDto; + public typegen_123_LemonSqueezyPaymentIntegrationDto?: LemonSqueezyPaymentIntegrationDto; + public typegen_124_MolliePaymentIntegrationDto?: MolliePaymentIntegrationDto; + public typegen_125_PaddlePaymentIntegrationDto?: PaddlePaymentIntegrationDto; + public typegen_126_PayPalPaymentIntegrationDto?: PayPalPaymentIntegrationDto; + public typegen_127_StripePaymentIntegrationDto?: StripePaymentIntegrationDto; + public typegen_184_ShopifyPaymentIntegrationDto?: ShopifyPaymentIntegrationDto; + public typegen_185_WooCommercePaymentIntegrationDto?: WooCommercePaymentIntegrationDto; + public typegen_186_MagentoPaymentIntegrationDto?: MagentoPaymentIntegrationDto; + public typegen_187_BraintreePaymentIntegrationDto?: BraintreePaymentIntegrationDto; + public typegen_188_AuthorizeNetPaymentIntegrationDto?: AuthorizeNetPaymentIntegrationDto; + public typegen_189_CheckOutComPaymentIntegrationDto?: CheckOutComPaymentIntegrationDto; + public typegen_190_WorldpayPaymentIntegrationDto?: WorldpayPaymentIntegrationDto; + public typegen_128_AppleSignInMembershipIntegrationDto?: AppleSignInMembershipIntegrationDto; + public typegen_129_GitHubMembershipIntegrationDto?: GitHubMembershipIntegrationDto; + public typegen_130_GoogleMembershipIntegrationDto?: GoogleMembershipIntegrationDto; + public typegen_131_MetaMembershipIntegrationDto?: MetaMembershipIntegrationDto; + public typegen_132_MicrosoftMembershipIntegrationDto?: MicrosoftMembershipIntegrationDto; + public typegen_133_OktaMembershipIntegrationDto?: OktaMembershipIntegrationDto; + public typegen_134_XMembershipIntegrationDto?: XMembershipIntegrationDto; + public typegen_135_AmqpLoggingIntegrationDto?: AmqpLoggingIntegrationDto; + public typegen_136_AwsKinesisLoggingIntegrationDto?: AwsKinesisLoggingIntegrationDto; + public typegen_137_AwsS3CrossAccountRoleLoggingIntegrationDto?: AwsS3CrossAccountRoleLoggingIntegrationDto; + public typegen_138_AwsS3IamLoggingIntegrationDto?: AwsS3IamLoggingIntegrationDto; + public typegen_139_AzureOtelLoggingIntegrationDto?: AzureOtelLoggingIntegrationDto; + public typegen_140_DataDogLoggingIntegrationDto?: DataDogLoggingIntegrationDto; + public typegen_141_ElasticSearchLoggingIntegrationDto?: ElasticSearchLoggingIntegrationDto; + public typegen_142_InternalKafkaLoggingIntegrationDto?: InternalKafkaLoggingIntegrationDto; + public typegen_143_KafkaLoggingIntegrationDto?: KafkaLoggingIntegrationDto; + public typegen_144_KibanaLoggingIntegrationDto?: KibanaLoggingIntegrationDto; + public typegen_145_LocalFileLoggingIntegrationDto?: LocalFileLoggingIntegrationDto; + public typegen_147_MongoDbLoggingIntegrationDto?: MongoDbLoggingIntegrationDto; + public typegen_148_NewRelicLoggingIntegrationDto?: NewRelicLoggingIntegrationDto; + public typegen_149_PrometheusLoggingIntegrationDto?: PrometheusLoggingIntegrationDto; + public typegen_150_SplunkLoggingIntegrationDto?: SplunkLoggingIntegrationDto; + public typegen_153_AppleICloudFilesIntegrationDto?: AppleICloudFilesIntegrationDto; + public typegen_154_AwsS3CrossAccountRoleFilesIntegrationDto?: AwsS3CrossAccountRoleFilesIntegrationDto; + public typegen_155_AwsS3IamFilesIntegrationDto?: AwsS3IamFilesIntegrationDto; + public typegen_156_AzureBlobFilesIntegrationDto?: AzureBlobFilesIntegrationDto; + public typegen_157_DropBoxFilesIntegrationDto?: DropBoxFilesIntegrationDto; + public typegen_158_FtpFilesIntegrationDto?: FtpFilesIntegrationDto; + public typegen_159_GoogleCloudFilesIntegrationDto?: GoogleCloudFilesIntegrationDto; + public typegen_160_GoogleDriveFilesIntegrationDto?: GoogleDriveFilesIntegrationDto; + public typegen_161_LocalFilesIntegrationDto?: LocalFilesIntegrationDto; + public typegen_164_MongoDbConnectionStringIntegrationDto?: MongoDbConnectionStringIntegrationDto; + public typegen_165_MongoDbAtlasFlexManagedIntegrationDto?: MongoDbAtlasFlexManagedIntegrationDto; + public typegen_165_BirdSmsIntegrationDto?: BirdSmsIntegrationDto; + public typegen_166_PlivoSmsIntegrationDto?: PlivoSmsIntegrationDto; + public typegen_167_SinchSmsIntegrationDto?: SinchSmsIntegrationDto; + public typegen_168_TelesignSmsIntegrationDto?: TelesignSmsIntegrationDto; + public typegen_169_TelnyxSmsIntegrationDto?: TelnyxSmsIntegrationDto; + public typegen_170_TwilioSmsIntegrationDto?: TwilioSmsIntegrationDto; + public typegen_171_VonageSmsIntegrationDto?: VonageSmsIntegrationDto; + public typegen_246_FakeSmsIntegrationDto?: FakeSmsIntegrationDto; + public typegen_172_AndroidFirebasePushIntegrationDto?: AndroidFirebasePushIntegrationDto; + public typegen_173_AppleApnsPushIntegrationDto?: AppleApnsPushIntegrationDto; + public typegen_174_ChromePluginPushIntegrationDto?: ChromePluginPushIntegrationDto; + public typegen_175_ChromeWebPushIntegrationDto?: ChromeWebPushIntegrationDto; + public typegen_176_EdgeWebPushIntegrationDto?: EdgeWebPushIntegrationDto; + public typegen_177_FirefoxWebPushIntegrationDto?: FirefoxWebPushIntegrationDto; + public typegen_178_SafariPushIntegrationDto?: SafariPushIntegrationDto; + public typegen_247_FakePushIntegrationDto?: FakePushIntegrationDto; + public typegen_179_AwsCrossAccountRoleEmailIntegrationDto?: AwsCrossAccountRoleEmailIntegrationDto; + public typegen_180_AwsIamEmailIntegrationDto?: AwsIamEmailIntegrationDto; + public typegen_181_MailGunEmailIntegrationDto?: MailGunEmailIntegrationDto; + public typegen_182_SendGridEmailIntegrationDto?: SendGridEmailIntegrationDto; + public typegen_183_SmtpEmailIntegrationDto?: SmtpEmailIntegrationDto; + public typegen_248_FakeEmailIntegrationDto?: FakeEmailIntegrationDto; + public typegen_192_WebhookIntegrationDto?: WebhookIntegrationDto; + public typegen_193_WebhookDestinationDto?: WebhookDestinationDto; + public typegen_194_SchedulerTaskDto?: SchedulerTaskDto; + public typegen_195_MongoDbAggregateDto?: MongoDbAggregateDto; + public typegen_196_MarketplaceIntegrationDto?: MarketplaceIntegrationDto; + public typegen_197_MarketplaceFunctionDto?: MarketplaceFunctionDto; + public typegen_198_MarketplaceListingDto?: MarketplaceListingDto; + public typegen_199_MarketplaceFunctionDefinitionDto?: MarketplaceFunctionDefinitionDto; + public typegen_200_MarketplaceFunctionParameterDto?: MarketplaceFunctionParameterDto; + public typegen_201_EnableCode?: EnableCode; + public typegen_202_DisableCode?: DisableCode; + public typegen_203_GetCodeIntegrations?: GetCodeIntegrations; + public typegen_204_GetCodeIntegration?: GetCodeIntegration; + public typegen_205_SaveCodeIntegration?: SaveCodeIntegration; + public typegen_206_TestCodeIntegration?: TestCodeIntegration; + public typegen_207_ConfirmCodeIntegrationHumanDeliveryRequest?: ConfirmCodeIntegrationHumanDeliveryRequest; + public typegen_208_SetCodeIntegrationAsDefault?: SetCodeIntegrationAsDefault; + public typegen_209_DeleteCodeIntegrationRequest?: DeleteCodeIntegrationRequest; + public typegen_210_EnableCodeIntegrationRequest?: EnableCodeIntegrationRequest; + public typegen_211_DisableCodeIntegrationRequest?: DisableCodeIntegrationRequest; + public typegen_212_GetMarketplaceListings?: GetMarketplaceListings; + public typegen_213_GetMarketplaceListingFunctionTokens?: GetMarketplaceListingFunctionTokens; + public typegen_214_GetMarketplaceIntegrations?: GetMarketplaceIntegrations; + public typegen_215_GetMarketplaceIntegration?: GetMarketplaceIntegration; + public typegen_216_SaveMarketplaceIntegration?: SaveMarketplaceIntegration; + public typegen_217_DeleteMarketplaceIntegration?: DeleteMarketplaceIntegration; + public typegen_218_EnableMarketplaceIntegration?: EnableMarketplaceIntegration; + public typegen_219_DisableMarketplaceIntegration?: DisableMarketplaceIntegration; + public typegen_221_GetMarketplaceFunctions?: GetMarketplaceFunctions; + public typegen_222_GetMarketplaceFunction?: GetMarketplaceFunction; + public typegen_223_SaveMarketplaceFunction?: SaveMarketplaceFunction; + public typegen_224_DeleteMarketplaceFunction?: DeleteMarketplaceFunction; + public typegen_225_EnableMarketplaceFunction?: EnableMarketplaceFunction; + public typegen_226_DisableMarketplaceFunction?: DisableMarketplaceFunction; + public typegen_227_GetMarketplaceFunctionTokens?: GetMarketplaceFunctionTokens; + public typegen_228_InvokeMarketplaceFunction?: InvokeMarketplaceFunction; + public typegen_232_GetMarketplaceListing?: GetMarketplaceListing; + public typegen_233_TestMarketplaceIntegration?: TestMarketplaceIntegration; + public typegen_234_TestMarketplaceIntegrationResponse?: TestMarketplaceIntegrationResponse; + public typegen_235_GetMarketplaceListingResponse?: GetMarketplaceListingResponse; + public typegen_230_AdminPortalStructureDto?: AdminPortalStructureDto; + public typegen_231_AdminPortalModuleDto?: AdminPortalModuleDto; + public typegen_236_UserMessageEntryWireDto?: UserMessageEntryWireDto; + public typegen_237_AssistantTextEntryWireDto?: AssistantTextEntryWireDto; + public typegen_238_AssistantQuestionEntryWireDto?: AssistantQuestionEntryWireDto; + public typegen_239_UserAnswerEntryWireDto?: UserAnswerEntryWireDto; + public typegen_240_PlanEntryWireDto?: PlanEntryWireDto; + public typegen_241_UserDecisionEntryWireDto?: UserDecisionEntryWireDto; + public typegen_242_RunStepEntryWireDto?: RunStepEntryWireDto; + public typegen_243_ActionPendingEntryWireDto?: ActionPendingEntryWireDto; + public typegen_244_NoticeEntryWireDto?: NoticeEntryWireDto; + public typegen_245_ConversationSnapshotEntryWireDto?: ConversationSnapshotEntryWireDto; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } + public getTypeName() { return 'InternalsTypeGen'; } + public getMethod() { return 'GET'; } + public createResponse() {} +} + +// @Route("/{version}/echo", "GET") +export class Echo extends RequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'Echo'; } + public getMethod() { return 'GET'; } + public createResponse() { return new EchoResponse(); } +} + +// @Route("/{version}/public/projects/{ProjectId}/config", "GET") +export class GetPublicProjectConfig extends RequestBase implements IReturn +{ + public projectId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetPublicProjectConfig'; } + public getMethod() { return 'GET'; } + public createResponse() { return new PublicProjectConfigDto(); } +} + +// @Route("/{version}/public/projects/{ProjectId}/legal/{Kind}", "GET") +export class GetPublicProjectLegal extends RequestBase implements IReturn +{ + public projectId?: string; + public kind?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetPublicProjectLegal'; } + public getMethod() { return 'GET'; } + public createResponse() { return new PublicLegalDocumentDto(); } +} + +// @Route("/{version}/account/profile", "GET") +export class GetAccountProfile extends RequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetAccountProfile'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetAccountProfileResponse(); } +} + +// @Route("/{version}/account/profile", "PUT") +// @DataContract +export class UpdateAccountProfile extends RequestBase implements IReturn +{ + /** @description Account owner's display name. */ + // @DataMember + // @ApiMember(Description="Account owner's display name.", IsRequired=true) + public displayName: string; + + /** @description Email address used for billing communications. */ + // @DataMember + // @ApiMember(Description="Email address used for billing communications.") + public billingEmail?: string; + + /** @description Email address used for operations communications. */ + // @DataMember + // @ApiMember(Description="Email address used for operations communications.") + public operationsEmail?: string; + + /** @description Email address used for security-related communications. */ + // @DataMember + // @ApiMember(Description="Email address used for security-related communications.") + public securityEmail?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'UpdateAccountProfile'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} + +// @Route("/{version}/account/verify/resend", "GET") +export class ResendAccountVerificationToken extends RequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'ResendAccountVerificationToken'; } + public getMethod() { return 'GET'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Get Account Status. */ +// @Route("/{version}/account/status", "GET") +// @Api(Description="Get Account Status.") +export class GetAccountStatus extends RequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetAccountStatus'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetAccountStatusResponse(); } +} + +// @Route("/{version}/account/stripe/create-checkout-session", "POST") +// @DataContract +export class CreateStripeCheckoutSession extends RequestBase implements IReturn +{ + // @DataMember + public subscriptionType: SubscriptionType; + + // @DataMember + public domain?: string; + + // @DataMember + public projectCap: number; + + // @DataMember + public newProjectSessionId?: string; + + // @DataMember + public returnUrl?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'CreateStripeCheckoutSession'; } + public getMethod() { return 'POST'; } + public createResponse() { return new CreateStripeCheckoutSessionResponse(); } +} + +// @Route("/{version}/account/stripe/get-portal-url", "POST") +// @DataContract +export class GetStripeBillingPortalUrl extends RequestBase implements IReturn +{ + /** @description Which subscription (e.g. main account plan) to open the billing portal for. */ + // @DataMember + // @ApiMember(Description="Which subscription (e.g. main account plan) to open the billing portal for.") + public subscriptionType: SubscriptionType; + + /** @description URL to return to after the customer leaves the billing portal. */ + // @DataMember + // @ApiMember(Description="URL to return to after the customer leaves the billing portal.") + public returnUrl?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetStripeBillingPortalUrl'; } + public getMethod() { return 'POST'; } + public createResponse() { return new GetStripeBillingPortalUrlResponse(); } +} + +// @Route("/{version}/account/team/member", "POST") +export class CreateTeamMemberFromInvitation extends RequestBase implements IReturn +{ + /** @description Display name of the account holder */ + // @ApiMember(DataType="string", Description="Display name of the account holder", IsRequired=true, Name="DisplayName", ParameterType="form") + public displayName: string; + + /** @description Token from invitation email */ + // @ApiMember(DataType="string", Description="Token from invitation email", IsRequired=true, Name="Token", ParameterType="form") + public token: string; + + /** @description Set password for a new account */ + // @ApiMember(DataType="string", Description="Set password for a new account", Format="password", IsRequired=true, Name="Password", ParameterType="form") + public password: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'CreateTeamMemberFromInvitation'; } + public getMethod() { return 'POST'; } + public createResponse() { return new CreateTeamMemberFromInvitationResponse(); } +} + +/** @description Get Account Usage Billing. */ +// @Route("/{version}/account/usage-billing", "GET") +// @Api(Description="Get Account Usage Billing.") +export class GetAccountUsageBilling extends RequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetAccountUsageBilling'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetAccountUsageBillingResponse(); } +} + +// @Route("/{version}/account/verify", "GET") +export class VerifyAccount extends RequestBase implements IReturn, IHasAccountId +{ + public token: string; + public accountId: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'VerifyAccount'; } + public getMethod() { return 'GET'; } + public createResponse() { return new EmptyResponse(); } +} + +// @Route("/{version}/account/projects/{projectId}/notifications/settings/group", "DELETE") +export class DeleteNotificationsGroup extends CodeMashRequestBase implements IReturn +{ + /** @description Tag identifying the notification group to remove. */ + // @ApiMember(Description="Tag identifying the notification group to remove.", IsRequired=true) + public groupTag: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DeleteNotificationsGroup'; } + public getMethod() { return 'DELETE'; } + public createResponse() { return new EmptyResponse(); } +} + +// @Route("/{version}/account/projects/{projectId}/notifications/settings/tag", "DELETE") +export class DeleteNotificationsTag extends CodeMashRequestBase implements IReturn +{ + /** @description Tag identifying the notification tag to delete. */ + // @ApiMember(Description="Tag identifying the notification tag to delete.", IsRequired=true) + public tag: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DeleteNotificationsTag'; } + public getMethod() { return 'DELETE'; } + public createResponse() { return new EmptyResponse(); } +} + +// @Route("/{version}/account/projects/{projectId}/notifications/settings/group/tag", "DELETE") +export class RemoveTagFromNotificationsGroup extends CodeMashRequestBase implements IReturn +{ + /** @description Tag identifying the notification group. */ + // @ApiMember(Description="Tag identifying the notification group.", IsRequired=true) + public groupTag: string; + + /** @description Tag identifying the notification tag to remove from the group. */ + // @ApiMember(Description="Tag identifying the notification tag to remove from the group.", IsRequired=true) + public tag: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'RemoveTagFromNotificationsGroup'; } + public getMethod() { return 'DELETE'; } + public createResponse() { return new EmptyResponse(); } +} + +// @Route("/{version}/account/projects/{projectId}/notifications/settings/group", "POST") +export class SaveNotificationsGroup extends CodeMashRequestBase implements IReturn +{ + /** @description The group's tag and translations to save. The tag identifies the group; translations provide its display name per locale. */ + // @ApiMember(Description="The group's tag and translations to save. The tag identifies the group; translations provide its display name per locale.", IsRequired=true) + public groupDefinition: GroupDefinitionDto; + + /** @description Communication channel (e.g. Email, Push) this group belongs to. */ + // @ApiMember(Description="Communication channel (e.g. Email, Push) this group belongs to.") + public channel: CommunicationChannel; + + /** @description If moving the group to a different channel, the channel it currently belongs to. */ + // @ApiMember(Description="If moving the group to a different channel, the channel it currently belongs to.") + public originChannel?: CommunicationChannel; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'SaveNotificationsGroup'; } + public getMethod() { return 'POST'; } + public createResponse() { return new EmptyResponse(); } +} + +// @Route("/{version}/account/projects/{projectId}/notifications/settings/tag", "POST") +export class SaveNotificationsTag extends CodeMashRequestBase implements IReturn +{ + /** @description The tag's identifier, translations, and default per-delivery-channel enabled/disabled settings. */ + // @ApiMember(Description="The tag's identifier, translations, and default per-delivery-channel enabled/disabled settings.", IsRequired=true) + public tagDefinition: TagDefinitionDto; + + /** @description Communication channel (e.g. Email, Push) this tag belongs to. */ + // @ApiMember(Description="Communication channel (e.g. Email, Push) this tag belongs to.") + public channel?: CommunicationChannel; + + /** @description Tag of the group this notification tag should be placed under, if any. */ + // @ApiMember(Description="Tag of the group this notification tag should be placed under, if any.") + public groupTag?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'SaveNotificationsTag'; } + public getMethod() { return 'POST'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Create a new backend project. */ +// @Route("/{version}/account/projects", "POST") +// @Api(Description="Create a new backend project.") +// @DataContract +export class CreateProjectRequest extends RequestBase implements IReturn +{ + // @DataMember + public integration: DatabaseIntegrationRequest; + + /** @description Project name, unique per account. */ + // @DataMember + // @ApiMember(Description="Project name, unique per account.") + public projectName: string; + + /** @description Region code for the primary region, e.g. 'nb-eu-germany'. Use a code from get_account_regions. */ + // @DataMember + // @ApiMember(Description="Region code for the primary region, e.g. 'nb-eu-germany'. Use a code from get_account_regions.") + public primaryRegion?: string; + + // @DataMember + public additionalRegions?: string[]; + + // @DataMember + public description?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'CreateProjectRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IdResponse(); } +} + +/** @description Deletes project */ +// @Route("/{version}/account/projects/{projectId}", "DELETE") +// @Api(Description="Deletes project") +export class DeleteProject extends CodeMashRequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DeleteProject'; } + public getMethod() { return 'DELETE'; } + public createResponse() { return new EmptyResponse(); } +} + +// @Route("/{version}/account/projects/environments", "POST") +// @DataContract +export class CreateProjectEnvironmentRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Name for the new environment (e.g. 'TEST', 'STAGING'). A-Z/0-9/space, up to 15 chars, cannot be PROD. */ + // @DataMember + // @ApiMember(Description="Name for the new environment (e.g. 'TEST', 'STAGING'). A-Z/0-9/space, up to 15 chars, cannot be PROD.", IsRequired=true) + public environmentName: string; + + // @DataMember(Name="integration") + public integration: DatabaseIntegrationRequest; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'CreateProjectEnvironmentRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new EmptyResponse(); } +} + +// @Route("/{version}/account/projects/environments/{environmentName}", "DELETE") +// @DataContract +export class DeleteProjectEnvironmentRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Name of the environment to delete (from get_project_environments), e.g. 'TEST'. PROD is rejected. */ + // @DataMember + // @ApiMember(Description="Name of the environment to delete (from get_project_environments), e.g. 'TEST'. PROD is rejected.", IsRequired=true) + public environmentName: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DeleteProjectEnvironmentRequest'; } + public getMethod() { return 'DELETE'; } + public createResponse() { return new EmptyResponse(); } +} + +// @Route("/{version}/account/projects/environments/{environmentName}/rank", "PATCH") +// @DataContract +export class SetEnvironmentRankRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Name of the environment to re-rank (from get_project_environments). */ + // @DataMember + // @ApiMember(Description="Name of the environment to re-rank (from get_project_environments).", IsRequired=true) + public environmentName: string; + + /** @description New promotion-ladder rank. Out-of-range values are clamped and ranks re-normalized. */ + // @DataMember + // @ApiMember(Description="New promotion-ladder rank. Out-of-range values are clamped and ranks re-normalized.") + public rank: number; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'SetEnvironmentRankRequest'; } + public getMethod() { return 'PATCH'; } + public createResponse() { return new EmptyResponse(); } +} + +// @Route("/{version}/account/projects/environments/promote", "POST") +// @DataContract +export class PromoteEnvironmentRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Environment to promote FROM (source of truth for this promotion). */ + // @DataMember + // @ApiMember(Description="Environment to promote FROM (source of truth for this promotion).", IsRequired=true) + public sourceEnv: string; + + /** @description Environment to promote INTO. Must be higher on the promotion ladder than SourceEnv. */ + // @DataMember + // @ApiMember(Description="Environment to promote INTO. Must be higher on the promotion ladder than SourceEnv.", IsRequired=true) + public targetEnv: string; + + /** @description When true, only returns the promotion plan (including deletions) without applying it or copying secrets. Use this to preview before a real run. */ + // @DataMember + // @ApiMember(Description="When true, only returns the promotion plan (including deletions) without applying it or copying secrets. Use this to preview before a real run.") + public dryRun: boolean; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'PromoteEnvironmentRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new PromoteEnvironmentResponse(); } +} + +// @Route("/{version}/account/projects/environments/promote/rollback", "POST") +// @DataContract +export class RollbackPromotionRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Environment whose content should be rolled back. */ + // @DataMember + // @ApiMember(Description="Environment whose content should be rolled back.", IsRequired=true) + public targetEnv: string; + + /** @description The fromVersion anchor returned by the promote_environment call being rolled back. */ + // @DataMember + // @ApiMember(Description="The fromVersion anchor returned by the promote_environment call being rolled back.", IsRequired=true) + public fromVersion: number; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'RollbackPromotionRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new PromoteEnvironmentResponse(); } +} + +// @Route("/{version}/account/projects/environments", "GET") +// @DataContract +export class GetProjectEnvironments extends CodeMashRequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetProjectEnvironments'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetProjectEnvironmentsResponse(); } +} + +/** @description Gets project info. */ +// @Route("/{version}/account/projects/{projectId}", "GET") +// @Api(Description="Gets project info.") +export class GetProject extends CodeMashRequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetProject'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetProjectResponse(); } +} + +/** @description Retrieve projects list. */ +// @Route("/{version}/account/projects", "GET") +// @Api(Description="Retrieve projects list.") +export class GetProjects extends RequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetProjects'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetProjectsResponse(); } +} + +/** @description Get available project regions. */ +// @Route("/{version}/account/regions", "GET") +// @Api(Description="Get available project regions.") +export class GetAccountRegions extends RequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetAccountRegions'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetAccountRegionsResponse(); } +} + +/** @description Waits (bounded, server-side) for a project to finish provisioning and become active. */ +// @Route("/{version}/account/projects/{projectId}/wait-active", "GET") +// @Api(Description="Waits (bounded, server-side) for a project to finish provisioning and become active.") +export class WaitForProjectActiveRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Max seconds to wait before returning 'not active yet' (default 30, capped at 90). */ + // @ApiMember(Description="Max seconds to wait before returning 'not active yet' (default 30, capped at 90).") + public timeoutSeconds?: number; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'WaitForProjectActiveRequest'; } + public getMethod() { return 'GET'; } + public createResponse() { return new WaitForProjectActiveResponse(); } +} + +/** @description Gets project tokens. */ +// @Route("/{version}/account/projects/{projectId}/tokens", "GET") +// @Api(Description="Gets project tokens.") +export class GetProjectTokens extends CodeMashRequestBase implements IReturn +{ + public initiatorId?: string; + public recipientId?: string; + public targetUserId?: string; + public membershipTriggerOldUserId?: string; + public membershipTriggerNewUserId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetProjectTokens'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetProjectTokensResponse(); } +} + +/** @description Assigns the project's Admin Portal service user */ +// @Route("/{version}/account/projects/{projectId}/settings/admin-portal/service-user", "PUT") +// @Api(Description="Assigns the project's Admin Portal service user") +export class AssignAdminPortalServiceUserRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Id of the existing AuthType.Service user to assign as the project's Admin Portal service user. */ + // @ApiMember(Description="Id of the existing AuthType.Service user to assign as the project's Admin Portal service user.", IsRequired=true) + public serviceUserId: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'AssignAdminPortalServiceUserRequest'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Reads the Admin Portal layout/structure (service user only) */ +// @Route("/{version}/account/projects/{projectId}/admin-portal/structure", "GET") +// @Api(Description="Reads the Admin Portal layout/structure (service user only)") +export class GetAdminPortalStructure extends CodeMashRequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetAdminPortalStructure'; } + public getMethod() { return 'GET'; } + public createResponse() { return new AdminPortalStructureDto(); } +} + +/** @description Updates the project's admin-portal URL override */ +// @Route("/{version}/account/projects/{projectId}/settings/admin-url", "PATCH") +// @Api(Description="Updates the project's admin-portal URL override") +export class UpdateProjectAdminUrl extends CodeMashRequestBase implements IReturn +{ + /** @description Custom admin-portal URL to use instead of the canonical address. Null/empty restores the canonical pr_{id}.admin.{host} address. */ + // @ApiMember(Description="Custom admin-portal URL to use instead of the canonical address. Null/empty restores the canonical pr_{id}.admin.{host} address.") + public url?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'UpdateProjectAdminUrl'; } + public getMethod() { return 'PATCH'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Updates project accent color */ +// @Route("/{version}/account/projects/{projectId}/settings/accent-color", "PATCH") +// @Api(Description="Updates project accent color") +export class UpdateProjectAccentColor extends CodeMashRequestBase implements IReturn +{ + /** @description Hex color code, e.g. '#FF6D00'. */ + // @ApiMember(Description="Hex color code, e.g. '#FF6D00'.", IsRequired=true) + public color: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'UpdateProjectAccentColor'; } + public getMethod() { return 'PATCH'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Updates project icon */ +// @Route("/{version}/account/projects/{projectId}/settings/icon", "PATCH") +// @Api(Description="Updates project icon") +export class UpdateProjectIcon extends CodeMashRequestBase implements IReturn +{ + public fileResource?: FileResourceRefDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'UpdateProjectIcon'; } + public getMethod() { return 'PATCH'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Updates project logo */ +// @Route("/{version}/account/projects/{projectId}/settings/logo", "PATCH") +// @Api(Description="Updates project logo") +export class UpdateProjectLogo extends CodeMashRequestBase implements IReturn +{ + public fileResource?: FileResourceRefDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'UpdateProjectLogo'; } + public getMethod() { return 'PATCH'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Updates project main color */ +// @Route("/{version}/account/projects/{projectId}/settings/main-color", "PATCH") +// @Api(Description="Updates project main color") +export class UpdateProjectMainColor extends CodeMashRequestBase implements IReturn +{ + /** @description Hex color code, e.g. '#1A73E8'. */ + // @ApiMember(Description="Hex color code, e.g. '#1A73E8'.", IsRequired=true) + public color: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'UpdateProjectMainColor'; } + public getMethod() { return 'PATCH'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Updates project CORS settings */ +// @Route("/{version}/account/projects/{projectId}/settings/origins", "PATCH") +// @Api(Description="Updates project CORS settings") +export class UpdateProjectAllowedOrigins extends CodeMashRequestBase implements IReturn +{ + /** @description The complete new list of allowed origin URLs, e.g. ["https://app.example.com", "https://example.com"]. An entry with no scheme (e.g. "example.com") defaults to https. Whatever is not in this list stops being allowed. */ + // @ApiMember(Description="The complete new list of allowed origin URLs, e.g. [\"https://app.example.com\", \"https://example.com\"]. An entry with no scheme (e.g. \"example.com\") defaults to https. Whatever is not in this list stops being allowed.") + public origins?: string[]; + + /** @description Optional. true removes the project's own Admin Portal origin (pr_{projectId}.{admin host}) on purpose. Without it, a list that drops that origin is rejected with CM-ERRORS-PROJECTS-037, because the Norbix-generated end-user portal could no longer call the project's API. */ + // @ApiMember(Description="Optional. true removes the project's own Admin Portal origin (pr_{projectId}.{admin host}) on purpose. Without it, a list that drops that origin is rejected with CM-ERRORS-PROJECTS-037, because the Norbix-generated end-user portal could no longer call the project's API.") + public removeAdminPortalOrigin?: boolean; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'UpdateProjectAllowedOrigins'; } + public getMethod() { return 'PATCH'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Update project default language */ +// @Route("/{version}/account/projects/{projectId}/settings/default-language", "PATCH") +// @Api(Description="Update project default language") +export class UpdateProjectDefaultLanguage extends CodeMashRequestBase implements IReturn +{ + /** @description Language code, e.g. 'en' or 'de'. */ + // @ApiMember(Description="Language code, e.g. 'en' or 'de'.", IsRequired=true) + public defaultLanguage: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'UpdateProjectDefaultLanguage'; } + public getMethod() { return 'PATCH'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Updates project description */ +// @Route("/{version}/account/projects/{projectId}/settings/description", "PATCH") +// @Api(Description="Updates project description") +export class UpdateProjectDescription extends CodeMashRequestBase implements IReturn +{ + /** @description The new description text. Omit (null) to clear the description. */ + // @ApiMember(Description="The new description text. Omit (null) to clear the description.") + public description?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'UpdateProjectDescription'; } + public getMethod() { return 'PATCH'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Disables project */ +// @Route("/{version}/account/projects/{projectId}/disable", "PATCH") +// @Api(Description="Disables project") +export class DisableProject extends CodeMashRequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DisableProject'; } + public getMethod() { return 'PATCH'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Enables project */ +// @Route("/{version}/account/projects/{projectId}/enable", "PATCH") +// @Api(Description="Enables project") +export class EnableProject extends CodeMashRequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'EnableProject'; } + public getMethod() { return 'PATCH'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Updates project languages */ +// @Route("/{version}/account/projects/{projectId}/settings/languages", "PATCH") +// @Api(Description="Updates project languages") +export class UpdateProjectLanguages extends CodeMashRequestBase implements IReturn +{ + /** @description The complete new list of language codes, e.g. ["en", "de", "lt"]. */ + // @ApiMember(Description="The complete new list of language codes, e.g. [\"en\", \"de\", \"lt\"].", IsRequired=true) + public languages: string[] = []; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'UpdateProjectLanguages'; } + public getMethod() { return 'PATCH'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Updates the project's public legal documents (Terms & Conditions, Privacy Policy) */ +// @Route("/{version}/account/projects/{projectId}/settings/legal", "PATCH") +// @Api(Description="Updates the project's public legal documents (Terms & Conditions, Privacy Policy)") +export class UpdateProjectLegalDocuments extends CodeMashRequestBase implements IReturn +{ + /** @description Terms & Conditions document, Markdown. Null/empty clears it. */ + // @ApiMember(Description="Terms & Conditions document, Markdown. Null/empty clears it.") + public termsMarkdown?: string; + + /** @description Privacy Policy document, Markdown. Null/empty clears it. */ + // @ApiMember(Description="Privacy Policy document, Markdown. Null/empty clears it.") + public privacyMarkdown?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'UpdateProjectLegalDocuments'; } + public getMethod() { return 'PATCH'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Sets whether the project's legal documents are publicly readable via the Admin Portal */ +// @Route("/{version}/account/projects/{projectId}/settings/legal/expose", "PATCH") +// @Api(Description="Sets whether the project's legal documents are publicly readable via the Admin Portal") +export class UpdateProjectExposeLegal extends CodeMashRequestBase implements IReturn +{ + /** @description True to make the legal documents publicly readable via the Admin Portal, false to hide them. */ + // @ApiMember(Description="True to make the legal documents publicly readable via the Admin Portal, false to hide them.") + public exposed: boolean; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'UpdateProjectExposeLegal'; } + public getMethod() { return 'PATCH'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Updates project marketing url */ +// @Route("/{version}/account/projects/{projectId}/settings/url", "PATCH") +// @Api(Description="Updates project marketing url") +export class UpdateProjectUrl extends CodeMashRequestBase implements IReturn +{ + /** @description The marketing site URL, e.g. 'https://example.com'. Omit (null) to clear. */ + // @ApiMember(Description="The marketing site URL, e.g. 'https://example.com'. Omit (null) to clear.") + public url?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'UpdateProjectUrl'; } + public getMethod() { return 'PATCH'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Updates project name */ +// @Route("/{version}/account/projects/{projectId}/settings/name", "PATCH") +// @Api(Description="Updates project name") +export class UpdateProjectName extends CodeMashRequestBase implements IReturn +{ + /** @description The new project name, unique per account. */ + // @ApiMember(Description="The new project name, unique per account.", IsRequired=true) + public name: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'UpdateProjectName'; } + public getMethod() { return 'PATCH'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Updates project regions */ +// @Route("/{version}/account/projects/{projectId}/settings/regions", "PATCH") +// @Api(Description="Updates project regions") +export class UpdateProjectRegions extends CodeMashRequestBase implements IReturn +{ + /** @description Primary region code, e.g. 'nb-eu-germany'. Immutable once set — omit to keep the current one; only set it on a project that has none. */ + // @ApiMember(Description="Primary region code, e.g. 'nb-eu-germany'. Immutable once set — omit to keep the current one; only set it on a project that has none.") + public primaryRegion?: string; + + /** @description The complete new list of additional region codes (full replacement). A region that still hosts a provisioned database cluster cannot be removed. */ + // @ApiMember(Description="The complete new list of additional region codes (full replacement). A region that still hosts a provisioned database cluster cannot be removed.") + public additionalRegions?: string[]; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'UpdateProjectRegions'; } + public getMethod() { return 'PATCH'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description This API endpoint allows users to create a new CodeMash account. */ +// @Route("/{version}/account", "POST") +// @Api(Description="This API endpoint allows users to create a new CodeMash account.") +export class CreateAccount extends RequestBase implements IReturn +{ + /** @description Display name of the account holder */ + // @ApiMember(DataType="string", Description="Display name of the account holder", IsRequired=true, Name="DisplayName", ParameterType="form") + public displayName: string; + + /** @description Real email of account holder */ + // @ApiMember(DataType="string", Description="Real email of account holder", IsRequired=true, Name="Email", ParameterType="form") + public email: string; + + /** @description Set password for a new account */ + // @ApiMember(DataType="string", Description="Set password for a new account", Format="password", IsRequired=true, Name="Password", ParameterType="form") + public password: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'CreateAccount'; } + public getMethod() { return 'POST'; } + public createResponse() { return new CreateAccountResponse(); } +} + +// @Route("/{version}/account/team/member/password", "POST") +export class ChangeTeamMemberPassword extends RequestBase implements IReturn +{ + public email: string; + public currentPassword: string; + public newPassword: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'ChangeTeamMemberPassword'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IdResponse(); } +} + +// @Route("/{version}/account/team/member/create", "POST") +export class CreateTeamMember extends RequestBase implements IReturn +{ + public email: string; + public displayName?: string; + public password?: string; + public roles?: string[]; + public sendInvitation: boolean; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'CreateTeamMember'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IdResponse(); } +} + +// @Route("/{version}/account/team/policies", "POST") +export class CreateAccountPolicy extends RequestBase implements IReturn +{ + /** @description Name for the new custom account policy. */ + // @ApiMember(Description="Name for the new custom account policy.", IsRequired=true) + public policyName: string; + + /** @description Optional human-readable description of the policy's purpose. */ + // @ApiMember(Description="Optional human-readable description of the policy's purpose.") + public description?: string; + + /** @description Raw JSON policy document, AWS-IAM style (Statement array of Effect/Action/Resource entries), matching PolicyDocument.schema.json. This defines which permissions the policy grants. */ + // @ApiMember(Description="Raw JSON policy document, AWS-IAM style (Statement array of Effect/Action/Resource entries), matching PolicyDocument.schema.json. This defines which permissions the policy grants.") + public policyDocumentJson?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'CreateAccountPolicy'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IdResponse(); } +} + +// @Route("/{version}/account/team/roles", "POST") +export class CreateAccountRole extends RequestBase implements IReturn +{ + /** @description Name for the new custom account team role. */ + // @ApiMember(Description="Name for the new custom account team role.", IsRequired=true) + public roleName: string; + + /** @description Optional human-readable description of the role's purpose. */ + // @ApiMember(Description="Optional human-readable description of the role's purpose.") + public description?: string; + + /** @description Public policy ids (from get_account_team_policies) to attach to this role. */ + // @ApiMember(Description="Public policy ids (from get_account_team_policies) to attach to this role.") + public policies?: string[]; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'CreateAccountRole'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IdResponse(); } +} + +// @Route("/{version}/account/team/policies/{Id}", "DELETE") +export class DeleteAccountPolicy extends RequestBase implements IReturn +{ + /** @description Public policy id (from get_account_team_policies) to delete. */ + // @ApiMember(Description="Public policy id (from get_account_team_policies) to delete.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DeleteAccountPolicy'; } + public getMethod() { return 'DELETE'; } + public createResponse() { return new IdResponse(); } +} + +// @Route("/{version}/account/team/roles/{Id}", "DELETE") +export class DeleteAccountRole extends RequestBase implements IReturn +{ + /** @description Role template id (from get_account_team_roles) to delete. */ + // @ApiMember(Description="Role template id (from get_account_team_roles) to delete.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DeleteAccountRole'; } + public getMethod() { return 'DELETE'; } + public createResponse() { return new IdResponse(); } +} + +/** @description Gets account team members (collaborators) */ +// @Route("/{version}/account/collaborators", "GET") +// @Api(Description="Gets account team members (collaborators)") +export class GetAccountCollaborators extends RequestBase implements IReturn +{ + /** @description Set true to also include the account owner in the list. */ + // @ApiMember(Description="Set true to also include the account owner in the list.") + public includeAccountOwner: boolean; + + /** @description Set true to only return members that have a registered push device. */ + // @ApiMember(Description="Set true to only return members that have a registered push device.") + public userShouldHavePushDevice: boolean; + + /** @description Optional project id — only members with access to that project. */ + // @ApiMember(Description="Optional project id — only members with access to that project.") + public projectId?: string; + + /** @description Optional filter: only these user ids. */ + // @ApiMember(Description="Optional filter: only these user ids.") + public userIds?: string[]; + + /** @description Optional filter: only members having one of these role names. */ + // @ApiMember(Description="Optional filter: only members having one of these role names.") + public roleNames?: string[]; + + public pagingArgs?: PagingArgs; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetAccountCollaborators'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetAccountCollaboratorsResponse(); } +} + +// @Route("/{version}/account/team/password-policy", "GET") +export class GetAccountPasswordPolicy extends RequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetAccountPasswordPolicy'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetAccountPasswordPolicyResponse(); } +} + +// @Route("/{version}/account/team/policies", "GET") +export class GetAccountTeamPolicies extends RequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetAccountTeamPolicies'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetAccountTeamPoliciesResponse(); } +} + +// @Route("/{version}/account/team/roles", "GET") +export class GetAccountTeamRoles extends RequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetAccountTeamRoles'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetAccountTeamRolesResponse(); } +} + +/** @description Send invite to team member */ +// @Route("/{version}/account/team/member/invite", "POST") +// @Api(Description="Send invite to team member") +export class SendInviteToTeamMember extends RequestBase implements IReturn +{ + /** @description Email address the invitation is sent to. */ + // @ApiMember(Description="Email address the invitation is sent to.", IsRequired=true) + public email: string; + + /** @description Account role ids (GUIDs from get_account_team_roles) the member gets on accepting. Omit for the default member role. */ + // @ApiMember(Description="Account role ids (GUIDs from get_account_team_roles) the member gets on accepting. Omit for the default member role.") + public roles?: string[]; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'SendInviteToTeamMember'; } + public getMethod() { return 'POST'; } + public createResponse() { return new EmptyResponse(); } +} + +// @Route("/{version}/account/team/policies", "PUT") +export class UpdateAccountPolicy extends RequestBase implements IReturn +{ + /** @description Public policy id (from get_account_team_policies) to update. */ + // @ApiMember(Description="Public policy id (from get_account_team_policies) to update.", IsRequired=true) + public id: string; + + /** @description New name for the policy. */ + // @ApiMember(Description="New name for the policy.", IsRequired=true) + public policyName: string; + + /** @description Optional human-readable description of the policy's purpose. */ + // @ApiMember(Description="Optional human-readable description of the policy's purpose.") + public description?: string; + + /** @description Raw JSON policy document, AWS-IAM style (Statement array of Effect/Action/Resource entries) — replaces the policy's current statement set. */ + // @ApiMember(Description="Raw JSON policy document, AWS-IAM style (Statement array of Effect/Action/Resource entries) — replaces the policy's current statement set.") + public policyDocumentJson?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'UpdateAccountPolicy'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new IdResponse(); } +} + +// @Route("/{version}/account/team/roles", "PUT") +export class UpdateAccountRole extends RequestBase implements IReturn +{ + /** @description Role template id (from get_account_team_roles) to update. */ + // @ApiMember(Description="Role template id (from get_account_team_roles) to update.", IsRequired=true) + public id: string; + + /** @description New name for the role. */ + // @ApiMember(Description="New name for the role.", IsRequired=true) + public roleName: string; + + /** @description Optional human-readable description of the role's purpose. */ + // @ApiMember(Description="Optional human-readable description of the role's purpose.") + public description?: string; + + /** @description Public policy ids (from get_account_team_policies) to attach — replaces the current set. */ + // @ApiMember(Description="Public policy ids (from get_account_team_policies) to attach — replaces the current set.") + public policies?: string[]; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'UpdateAccountRole'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new IdResponse(); } +} + +// @Route("/{version}/account/userauth/has-passkey", "POST") +// @DataContract +export class AccountHasPasskeyRequest extends RequestBase implements IReturn +{ + // @DataMember + public email: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'AccountHasPasskeyRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new AccountPasskeyOkResponse(); } +} + +// @Route("/{version}/account/userauth/email/start-verification", "POST") +// @DataContract +export class AccountStartEmailVerificationRequest extends RequestBase implements IReturn +{ + // @DataMember + public email: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'AccountStartEmailVerificationRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new AccountPasskeyOkResponse(); } +} + +// @Route("/{version}/account/userauth/email/confirm-verification", "POST") +// @DataContract +export class AccountConfirmEmailVerificationRequest extends RequestBase implements IReturn +{ + // @DataMember + public email: string; + + // @DataMember + public code: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'AccountConfirmEmailVerificationRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new AccountPasskeyVerificationTokenResponse(); } +} + +// @Route("/{version}/account/userauth/passkey/registration-options", "POST") +// @DataContract +export class AccountPasskeyRegistrationOptionsRequest extends RequestBase implements IReturn +{ + // @DataMember + public verificationToken: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'AccountPasskeyRegistrationOptionsRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new AccountPasskeyCeremonyOptionsResponse(); } +} + +// @Route("/{version}/account/userauth/passkey/verify-registration", "POST") +// @DataContract +export class AccountVerifyPasskeyRegistrationRequest extends RequestBase implements IReturn +{ + // @DataMember + public verificationToken: string; + + // @DataMember + public ceremonyId: string; + + // @DataMember + public attestationResponse: string; + + // @DataMember + public friendlyName?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'AccountVerifyPasskeyRegistrationRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new AccountPasskeyAuthTokensResponse(); } +} + +// @Route("/{version}/account/userauth/passkey/authentication-options", "POST") +// @DataContract +export class AccountPasskeyAuthenticationOptionsRequest extends RequestBase implements IReturn +{ + // @DataMember + public email: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'AccountPasskeyAuthenticationOptionsRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new AccountPasskeyCeremonyOptionsResponse(); } +} + +// @Route("/{version}/account/userauth/passkey/verify-authentication", "POST") +// @DataContract +export class AccountVerifyPasskeyAuthenticationRequest extends RequestBase implements IReturn +{ + // @DataMember + public ceremonyId: string; + + // @DataMember + public assertionResponse: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'AccountVerifyPasskeyAuthenticationRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new AccountPasskeyAuthTokensResponse(); } +} + +// @Route("/{version}/account/userauth/passkeys", "GET") +// @DataContract +export class ListAccountPasskeysRequest extends RequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'ListAccountPasskeysRequest'; } + public getMethod() { return 'GET'; } + public createResponse() { return new AccountPasskeyListResponse(); } +} + +// @Route("/{version}/account/userauth/passkeys/{CredentialId}/rename", "POST") +// @DataContract +export class RenameAccountPasskeyRequest extends RequestBase implements IReturn +{ + // @DataMember + public credentialId: string; + + // @DataMember + public friendlyName: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'RenameAccountPasskeyRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new AccountPasskeyOkResponse(); } +} + +// @Route("/{version}/account/userauth/passkeys/{CredentialId}/revoke", "POST") +// @DataContract +export class RevokeAccountPasskeyRequest extends RequestBase implements IReturn +{ + // @DataMember + public credentialId: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'RevokeAccountPasskeyRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new AccountPasskeyOkResponse(); } +} + +// @Route("/{version}/account/userauth/passkey/enrollment-options", "POST") +// @DataContract +export class AccountPasskeyEnrollmentOptionsRequest extends RequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'AccountPasskeyEnrollmentOptionsRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new AccountPasskeyCeremonyOptionsResponse(); } +} + +// @Route("/{version}/account/userauth/passkey/verify-enrollment", "POST") +// @DataContract +export class AccountVerifyPasskeyEnrollmentRequest extends RequestBase implements IReturn +{ + // @DataMember + public ceremonyId: string; + + // @DataMember + public attestationResponse: string; + + // @DataMember + public friendlyName?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'AccountVerifyPasskeyEnrollmentRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new AccountPasskeyEnrollmentResponse(); } +} + +// @Route("/{version}/account/licensing/dns-status", "GET") +export class GetLicenseDomainDnsStatus extends RequestBase implements IReturn +{ + public domain?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetLicenseDomainDnsStatus'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetLicenseDomainDnsStatusResponse(); } +} + +// @Route("/{version}/licensing/domain-verification/start", "POST") +export class StartLicenseDomainVerificationRequest extends RequestBase implements IReturn +{ + public domain?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'StartLicenseDomainVerificationRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new StartLicenseDomainVerificationResponse(); } +} + +// @Route("/{version}/licensing/domain-verification/status", "GET") +export class GetLicenseDomainVerificationStatus extends RequestBase implements IReturn +{ + public domain?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetLicenseDomainVerificationStatus'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetLicenseDomainVerificationStatusResponse(); } +} + +// @Route("/{version}/account/licenses", "GET") +export class GetLicenses extends RequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetLicenses'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetLicensesResponse(); } +} + +// @Route("/{version}/licensing/heartbeat", "POST") +export class PostLicenseHeartbeat extends RequestBase implements IReturn +{ + public license?: string; + public licenseAccountId?: string; + public installationId?: string; + public domain?: string; + public hostKind?: string; + public release?: string; + public instanceVersion?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'PostLicenseHeartbeat'; } + public getMethod() { return 'POST'; } + public createResponse() { return new PostLicenseHeartbeatResponse(); } +} + +// @Route("/{version}/account/licensing/status", "GET") +export class GetInstallationLicenseStatus extends RequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetInstallationLicenseStatus'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetInstallationLicenseStatusResponse(); } +} + +// @Route("/{version}/account/ai/service-users", "POST") +export class CreateAiServiceUserRequest extends RequestBase implements IReturn +{ + /** @description A name people recognise, e.g. "Claude Code on my laptop". */ + // @ApiMember(Description="A name people recognise, e.g. \"Claude Code on my laptop\".", IsRequired=true) + public name: string; + + /** @description Reach (account | project + projectId), rights (read | admin), envs (["TEST"] or ["TEST","PROD"]). */ + // @ApiMember(Description="Reach (account | project + projectId), rights (read | admin), envs ([\"TEST\"] or [\"TEST\",\"PROD\"]).", IsRequired=true) + public scope: AiScopeDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'CreateAiServiceUserRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new CreateAiServiceUserResponse(); } +} + +// @Route("/{version}/account/ai/service-users", "GET") +export class ListAiServiceUsersRequest extends RequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'ListAiServiceUsersRequest'; } + public getMethod() { return 'GET'; } + public createResponse() { return new ListAiServiceUsersResponse(); } +} + +// @Route("/{version}/account/ai/service-users/{Id}/keys", "POST") +export class RotateAiServiceUserKeyRequest extends RequestBase implements IReturn +{ + /** @description The service user id (aisu_…). */ + // @ApiMember(Description="The service user id (aisu_…).", IsRequired=true) + public id: string; + + /** @description Optional key id (aisk_…) to revoke in the same change — a rotation. */ + // @ApiMember(Description="Optional key id (aisk_…) to revoke in the same change — a rotation.") + public revokeKeyId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'RotateAiServiceUserKeyRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new RotateAiServiceUserKeyResponse(); } +} + +// @Route("/{version}/account/ai/service-users/{Id}/keys/{KeyId}", "DELETE") +export class RevokeAiServiceUserKeyRequest extends RequestBase implements IReturn +{ + /** @description The service user id (aisu_…). */ + // @ApiMember(Description="The service user id (aisu_…).", IsRequired=true) + public id: string; + + /** @description The key id (aisk_…) to revoke. */ + // @ApiMember(Description="The key id (aisk_…) to revoke.", IsRequired=true) + public keyId: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'RevokeAiServiceUserKeyRequest'; } + public getMethod() { return 'DELETE'; } + public createResponse() { return new EmptyResponse(); } +} + +// @Route("/{version}/account/ai/service-users/{Id}", "DELETE") +export class DeleteAiServiceUserRequest extends RequestBase implements IReturn +{ + /** @description The service user id (aisu_…). */ + // @ApiMember(Description="The service user id (aisu_…).", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DeleteAiServiceUserRequest'; } + public getMethod() { return 'DELETE'; } + public createResponse() { return new EmptyResponse(); } +} + +// @Route("/{version}/membership/disable", "GET") +export class DisableMembership extends CodeMashRequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DisableMembership'; } + public getMethod() { return 'GET'; } + public createResponse() { return new EmptyResponse(); } +} + +// @Route("/{version}/membership/enable", "GET") +export class EnableMembership extends CodeMashRequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'EnableMembership'; } + public getMethod() { return 'GET'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Membership */ +// @Route("/{version}/membership/users/{Id}/api-keys", "POST") +// @Api(Description="Membership") +// @DataContract +export class IssueServiceUserApiKeyRequest extends CodeMashRequestBase implements IReturn +{ + // @DataMember + public id: string; + + // @DataMember + public databaseIntegrationId?: string; + + // @DataMember + public name: string; + + // @DataMember + public scopes?: string[]; + + // @DataMember + public expiresInDays?: number; + + // @DataMember + public notes?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'IssueServiceUserApiKeyRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IssueServiceUserApiKeyResponse(); } +} + +/** @description Membership */ +// @Route("/{version}/membership/users/{Id}/api-keys", "GET") +// @Api(Description="Membership") +// @DataContract +export class ListServiceUserApiKeysRequest extends CodeMashRequestBase implements IReturn +{ + /** @description The service user's auth id. */ + // @DataMember + // @ApiMember(Description="The service user's auth id.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'ListServiceUserApiKeysRequest'; } + public getMethod() { return 'GET'; } + public createResponse() { return new ListServiceUserApiKeysResponse(); } +} + +/** @description Membership */ +// @Route("/{version}/membership/users/{Id}/api-keys/{KeyId}", "DELETE") +// @Api(Description="Membership") +// @DataContract +export class DeleteServiceUserApiKeyRequest extends CodeMashRequestBase implements IReturn +{ + /** @description The service user's auth id. */ + // @DataMember + // @ApiMember(Description="The service user's auth id.", IsRequired=true) + public id: string; + + /** @description The key id to delete, from list_service_user_api_keys. */ + // @DataMember + // @ApiMember(Description="The key id to delete, from list_service_user_api_keys.", IsRequired=true) + public keyId: number; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DeleteServiceUserApiKeyRequest'; } + public getMethod() { return 'DELETE'; } + public createResponse() { return new EmptyResponse(); } +} + +// @Route("/{version}/membership/triggers/{triggerId}", "DELETE") +// @DataContract +export class DeleteMembershipTrigger extends DeleteTrigger implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DeleteMembershipTrigger'; } + public getMethod() { return 'DELETE'; } + public createResponse() { return new EmptyResponse(); } +} + +// @Route("/{version}/membership/triggers/{triggerId}/disable", "PATCH") +// @DataContract +export class DisableMembershipTrigger extends DisableTrigger implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DisableMembershipTrigger'; } + public getMethod() { return 'PATCH'; } + public createResponse() { return new EmptyResponse(); } +} + +// @Route("/{version}/membership/triggers/{triggerId}/enable", "PATCH") +// @DataContract +export class EnableMembershipTrigger extends EnableTrigger implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'EnableMembershipTrigger'; } + public getMethod() { return 'PATCH'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Gets membership trigger by specified Id */ +// @Route("/{version}/membership/triggers/{id}", "GET") +// @Api(Description="Gets membership trigger by specified Id") +export class GetMembershipTrigger extends GetTrigger implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetMembershipTrigger'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetMembershipTriggerResponse(); } +} + +/** @description Gets membership triggers */ +// @Route("/{version}/membership/triggers", "GET") +// @Api(Description="Gets membership triggers") +export class GetMembershipTriggers extends GetTriggers implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetMembershipTriggers'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetMembershipTriggersResponse(); } +} + +// @Route("/{version}/membership/triggers", "POST") +// @DataContract +export class SaveMembershipTrigger extends SaveTrigger implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'SaveMembershipTrigger'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IdResponse(); } +} + +/** @description Create a new custom role for project. */ +// @Route("/{version}/membership/roles", "POST") +// @Api(Description="Create a new custom role for project.") +export class CreateRole extends CodeMashRequestBase implements IReturn +{ + /** @description Display name of the new role, unique within the project. */ + // @ApiMember(Description="Display name of the new role, unique within the project.", IsRequired=true) + public roleName: string; + + public description?: string; + /** @description Policy ids to attach. These are OPAQUE ids from get_policies (e.g. 'pol_3kJ9xJ2mQ0aBcDeFgHiJk') — NEVER invent them or guess from a policy name. Omit this to create a role with no policies and attach them later. */ + // @ApiMember(Description="Policy ids to attach. These are OPAQUE ids from get_policies (e.g. 'pol_3kJ9xJ2mQ0aBcDeFgHiJk') — NEVER invent them or guess from a policy name. Omit this to create a role with no policies and attach them later.") + public policies?: string[]; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'CreateRole'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IdResponse(); } +} + +/** @description Deletes custom role from project. */ +// @Route("/{version}/membership/roles", "DELETE") +// @Api(Description="Deletes custom role from project.") +export class DeleteRole extends CodeMashRequestBase implements IReturn +{ + /** @description Id of the role to delete, from get_roles. */ + // @ApiMember(Description="Id of the role to delete, from get_roles.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DeleteRole'; } + public getMethod() { return 'DELETE'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Gets project role details. */ +// @Route("/{version}/membership/roles/{Id}", "GET") +// @Api(Description="Gets project role details.") +export class GetRole extends CodeMashRequestBase implements IReturn +{ + /** @description Role id from get_roles. */ + // @ApiMember(Description="Role id from get_roles.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetRole'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetRoleResponse(); } +} + +/** @description Gets project roles. */ +// @Route("/{version}/membership/roles", "GET") +// @Api(Description="Gets project roles.") +export class GetRoles extends CodeMashRequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetRoles'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetRolesResponse(); } +} + +/** @description Updates role policies */ +// @Route("/{version}/membership/roles", "PATCH") +// @Api(Description="Updates role policies") +export class UpdateRolePolicies extends CodeMashRequestBase implements IReturn +{ + /** @description Id of the role to update, from get_roles. */ + // @ApiMember(Description="Id of the role to update, from get_roles.", IsRequired=true) + public id: string; + + /** @description The role's name — required; resend the current name to keep it. */ + // @ApiMember(Description="The role's name — required; resend the current name to keep it.", IsRequired=true) + public roleName: string; + + public description?: string; + /** @description The complete new list of attached policy ids (full replacement), opaque ids from get_policies (e.g. 'pol_3kJ9xJ2mQ0aBcDeFgHiJk') — never invent or guess them. */ + // @ApiMember(Description="The complete new list of attached policy ids (full replacement), opaque ids from get_policies (e.g. 'pol_3kJ9xJ2mQ0aBcDeFgHiJk') — never invent or guess them.") + public policies?: string[]; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'UpdateRolePolicies'; } + public getMethod() { return 'PATCH'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Create a new custom policy for project. */ +// @Route("/{version}/membership/policies", "POST") +// @Api(Description="Create a new custom policy for project.") +export class CreatePolicy extends CodeMashRequestBase implements IReturn +{ + /** @description Display name of the new policy, unique within the project. */ + // @ApiMember(Description="Display name of the new policy, unique within the project.", IsRequired=true) + public policyName: string; + + /** @description Optional human-readable description of what the policy grants. */ + // @ApiMember(Description="Optional human-readable description of what the policy grants.") + public description?: string; + + /** @description AWS-IAM-style policy document as a raw JSON string (an object with a permission statement list) matching PolicyDocument.schema.json. Malformed or invalid documents are rejected before any change is made. */ + // @ApiMember(Description="AWS-IAM-style policy document as a raw JSON string (an object with a permission statement list) matching PolicyDocument.schema.json. Malformed or invalid documents are rejected before any change is made.") + public policyDocumentJson?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'CreatePolicy'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IdResponse(); } +} + +/** @description Deletes custom policy from project. */ +// @Route("/{version}/membership/policies", "DELETE") +// @Api(Description="Deletes custom policy from project.") +export class DeletePolicy extends CodeMashRequestBase implements IReturn +{ + /** @description Public policy id, e.g. 'pol_database-read', from get_policies. */ + // @ApiMember(Description="Public policy id, e.g. 'pol_database-read', from get_policies.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DeletePolicy'; } + public getMethod() { return 'DELETE'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Gets project policy details. */ +// @Route("/{version}/membership/policies/{Id}", "GET") +// @Api(Description="Gets project policy details.") +export class GetPolicy extends CodeMashRequestBase implements IReturn +{ + /** @description Public policy id, e.g. 'pol_database-read', from get_policies. */ + // @ApiMember(Description="Public policy id, e.g. 'pol_database-read', from get_policies.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetPolicy'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetPolicyResponse(); } +} + +/** @description Gets project policies. */ +// @Route("/{version}/membership/policies", "GET") +// @Api(Description="Gets project policies.") +export class GetPolicies extends CodeMashRequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetPolicies'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetPoliciesResponse(); } +} + +/** @description Updates a custom policy for project. */ +// @Route("/{version}/membership/policies", "PUT") +// @Api(Description="Updates a custom policy for project.") +export class UpdatePolicy extends CodeMashRequestBase implements IReturn +{ + /** @description Public policy id, e.g. 'pol_database-read', from get_policies. */ + // @ApiMember(Description="Public policy id, e.g. 'pol_database-read', from get_policies.", IsRequired=true) + public id: string; + + /** @description The policy's name — required; resend the current name to keep it. */ + // @ApiMember(Description="The policy's name — required; resend the current name to keep it.", IsRequired=true) + public policyName: string; + + /** @description Optional human-readable description of what the policy grants. */ + // @ApiMember(Description="Optional human-readable description of what the policy grants.") + public description?: string; + + /** @description AWS-IAM-style policy document as a raw JSON string (an object with a permission statement list) matching PolicyDocument.schema.json — this is a FULL replacement of the policy's current permissions. */ + // @ApiMember(Description="AWS-IAM-style policy document as a raw JSON string (an object with a permission statement list) matching PolicyDocument.schema.json — this is a FULL replacement of the policy's current permissions.") + public policyDocumentJson?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'UpdatePolicy'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new IdResponse(); } +} + +/** @description Gets the project's passkey authentication settings. */ +// @Route("/{version}/membership/passkey/settings", "GET") +// @Api(Description="Gets the project's passkey authentication settings.") +export class GetPasskeySettings extends CodeMashRequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetPasskeySettings'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetPasskeySettingsResponse(); } +} + +/** @description Saves the project's passkey authentication settings. */ +// @Route("/{version}/membership/passkey/settings", "POST") +// @Api(Description="Saves the project's passkey authentication settings.") +export class SavePasskeySettings extends CodeMashRequestBase implements IReturn +{ + /** @description Whether the email + passkey sign-in flow is enabled for the project. */ + // @ApiMember(Description="Whether the email + passkey sign-in flow is enabled for the project.") + public enabled: boolean; + + /** @description Email verification code lifetime, in minutes. Allowed range: 3-15. */ + // @ApiMember(Description="Email verification code lifetime, in minutes. Allowed range: 3-15.") + public codeTtlMinutes: number; + + /** @description Maximum passkeys a single user may register. Allowed range: 1-20. */ + // @ApiMember(Description="Maximum passkeys a single user may register. Allowed range: 1-20.") + public maxCredentialsPerUser: number; + + /** @description Number of recovery codes generated at signup. Allowed range: 5-20. */ + // @ApiMember(Description="Number of recovery codes generated at signup. Allowed range: 5-20.") + public recoveryCodeCount: number; + + /** @description Whether recovery codes are generated automatically at signup. */ + // @ApiMember(Description="Whether recovery codes are generated automatically at signup.") + public generateRecoveryCodesAtSignup: boolean; + + /** @description Accepted authenticator types: 'Any', 'Platform', or 'CrossPlatform'. */ + // @ApiMember(Description="Accepted authenticator types: 'Any', 'Platform', or 'CrossPlatform'.") + public authenticatorAttachment: string; + + /** @description Per-project opt-in for magic-link account recovery (off by default). */ + // @ApiMember(Description="Per-project opt-in for magic-link account recovery (off by default).") + public allowMagicLinkRecovery: boolean; + + /** @description Absolute refresh-token lifetime, in days. Allowed range: 7-90. */ + // @ApiMember(Description="Absolute refresh-token lifetime, in days. Allowed range: 7-90.") + public refreshTokenTtlDays: number; + + /** @description Optional explicit WebAuthn RP-ID — a bare DNS host (e.g. 'app.example.com', no scheme/port/path). Leave null/empty to derive it from the project's CORS origins. WARNING: changing this value invalidates every existing passkey on the project — set it once before going live and avoid changing it afterward. */ + // @ApiMember(Description="Optional explicit WebAuthn RP-ID — a bare DNS host (e.g. 'app.example.com', no scheme/port/path). Leave null/empty to derive it from the project's CORS origins. WARNING: changing this value invalidates every existing passkey on the project — set it once before going live and avoid changing it afterward.") + public rpId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'SavePasskeySettings'; } + public getMethod() { return 'POST'; } + public createResponse() { return new EmptyResponse(); } +} + +// @Route("/{version}/membership/integrations/{Id}", "DELETE") +export class DeleteMembershipIntegrationRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Integration id, from get_membership_integrations. */ + // @ApiMember(Description="Integration id, from get_membership_integrations.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DeleteMembershipIntegrationRequest'; } + public getMethod() { return 'DELETE'; } + public createResponse() { return new EmptyResponse(); } +} + +// @Route("/{version}/membership/integrations/{Id}/disable", "PUT") +export class DisableMembershipIntegrationRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Integration id, from get_membership_integrations. */ + // @ApiMember(Description="Integration id, from get_membership_integrations.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DisableMembershipIntegrationRequest'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} + +// @Route("/{version}/membership/integrations/{Id}/enable", "PUT") +export class EnableMembershipIntegrationRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Integration id, from get_membership_integrations. */ + // @ApiMember(Description="Integration id, from get_membership_integrations.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'EnableMembershipIntegrationRequest'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} + +// @Route("/{version}/membership/integrations/{id}", "GET") +export class GetMembershipIntegration extends CodeMashRequestBase implements IReturn +{ + /** @description Integration id, from get_membership_integrations. */ + // @ApiMember(Description="Integration id, from get_membership_integrations.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetMembershipIntegration'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetMembershipIntegrationResponse(); } +} + +// @Route("/{version}/membership/integrations", "GET") +export class GetMembershipIntegrations extends CodeMashListPaginationRequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetMembershipIntegrations'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetMembershipIntegrationsResponse(); } +} + +// @Route("/{version}/membership/integrations", "POST") +// @DataContract +export class SaveMembershipIntegration extends CodeMashRequestBase implements IReturn +{ + // @DataMember(Name="integration") + public integration: MembershipIntegrationRequest; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'SaveMembershipIntegration'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IdResponse(); } +} + +// @Route("/{version}/membership/integrations/{Id}/default", "PUT") +export class SetMembershipIntegrationAsDefaultRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Integration id, from get_membership_integrations. */ + // @ApiMember(Description="Integration id, from get_membership_integrations.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'SetMembershipIntegrationAsDefaultRequest'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Gets the project's membership authorization (role-assignment) settings. */ +// @Route("/{version}/membership/authorization", "GET") +// @Api(Description="Gets the project's membership authorization (role-assignment) settings.") +export class GetAuthorizationSettings extends CodeMashRequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetAuthorizationSettings'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetAuthorizationSettingsResponse(); } +} + +/** @description Updates the project's membership authorization settings. */ +// @Route("/{version}/membership/authorization", "PUT") +// @Api(Description="Updates the project's membership authorization settings.") +export class UpdateAuthorizationSettings extends CodeMashRequestBase implements IReturn +{ + public setting?: string; + public defaultRoles?: string[]; + public allowedRegistrationRoles?: string[]; + public allowGuestUsers: boolean; + public guestCleanupPeriodDays?: number; + public userRegistersAsRole?: string; + public guestRegistersAsRole?: string; + public allowedRegisterRoles?: string[]; + public needVerification: boolean; + public verificationEmailTemplate?: string; + public deactivationEmailTemplate?: string; + public allowInviteUsers: boolean; + public allowDeactivateUsers: boolean; + public inviteUserEmailTemplate?: string; + public invitationExpiration?: number; + public emailVerificationExpiration?: number; + public deactivationExpiration?: number; + public defaultSubscribeToNews: boolean; + public minLength: number; + public maxLength?: number; + public minNumbers?: number; + public maxNumbers?: number; + public minUpper?: number; + public maxUpper?: number; + public minLower?: number; + public maxLower?: number; + public minSpecial?: number; + public maxSpecial?: number; + public allowedSpecial?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'UpdateAuthorizationSettings'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Updates the project's membership password complexity policy. */ +// @Route("/{version}/membership/authorization/password-complexity", "PUT") +// @Api(Description="Updates the project's membership password complexity policy.") +export class UpdatePasswordComplexity extends CodeMashRequestBase implements IReturn +{ + /** @description Minimum password length. */ + // @ApiMember(Description="Minimum password length.") + public minLength: number; + + /** @description Maximum password length, if capped. */ + // @ApiMember(Description="Maximum password length, if capped.") + public maxLength?: number; + + /** @description Minimum number of numeric characters required. */ + // @ApiMember(Description="Minimum number of numeric characters required.") + public minNumbers?: number; + + /** @description Maximum number of numeric characters allowed. */ + // @ApiMember(Description="Maximum number of numeric characters allowed.") + public maxNumbers?: number; + + /** @description Minimum number of uppercase characters required. */ + // @ApiMember(Description="Minimum number of uppercase characters required.") + public minUpper?: number; + + /** @description Maximum number of uppercase characters allowed. */ + // @ApiMember(Description="Maximum number of uppercase characters allowed.") + public maxUpper?: number; + + /** @description Minimum number of lowercase characters required. */ + // @ApiMember(Description="Minimum number of lowercase characters required.") + public minLower?: number; + + /** @description Maximum number of lowercase characters allowed. */ + // @ApiMember(Description="Maximum number of lowercase characters allowed.") + public maxLower?: number; + + /** @description Minimum number of special characters required. */ + // @ApiMember(Description="Minimum number of special characters required.") + public minSpecial?: number; + + /** @description Maximum number of special characters allowed. */ + // @ApiMember(Description="Maximum number of special characters allowed.") + public maxSpecial?: number; + + /** @description The set of characters counted as 'special', if restricted. */ + // @ApiMember(Description="The set of characters counted as 'special', if restricted.") + public allowedSpecial?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'UpdatePasswordComplexity'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new UpdatePasswordComplexityResponse(); } +} + +/** @description Gets the project's configured membership authentication sign-in flows. */ +// @Route("/{version}/membership/authentication", "GET") +// @Api(Description="Gets the project's configured membership authentication sign-in flows.") +export class GetAuthenticationSettings extends CodeMashRequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetAuthenticationSettings'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetAuthenticationSettingsResponse(); } +} + +/** @description Updates the project's membership authentication preferences. */ +// @Route("/{version}/membership/authentication", "PUT") +// @Api(Description="Updates the project's membership authentication preferences.") +export class UpdateAuthenticationSettings extends CodeMashRequestBase implements IReturn +{ + /** @description Default URL to redirect end users to after logout. */ + // @ApiMember(Description="Default URL to redirect end users to after logout.") + public logoutUrl?: string; + + /** @description Whether end users may sign in with a username in addition to email. */ + // @ApiMember(Description="Whether end users may sign in with a username in addition to email.") + public allowUsernames: boolean; + + /** @description Per-authentication-mode logout URL overrides. */ + // @ApiMember(Description="Per-authentication-mode logout URL overrides.") + public modes?: CredentialsSettingsModeDto[]; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'UpdateAuthenticationSettings'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Disable database service */ +// @Route("/{version}/database/disable", "GET") +// @Api(Description="Disable database service") +export class DisableDatabase extends CodeMashRequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DisableDatabase'; } + public getMethod() { return 'GET'; } + public createResponse() { return new EmptyResponse(); } +} + +// @Route("/{version}/database/enable", "GET") +export class EnableDatabase extends CodeMashRequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'EnableDatabase'; } + public getMethod() { return 'GET'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Delete database trigger */ +// @Route("/{version}/database/schemas/triggers/{triggerId}", "DELETE") +// @Api(Description="Delete database trigger") +// @DataContract +export class DeleteSchemaTrigger extends DeleteTrigger implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DeleteSchemaTrigger'; } + public getMethod() { return 'DELETE'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Disable database trigger */ +// @Route("/{version}/database/schemas/triggers/{triggerId}/disable", "PATCH") +// @Api(Description="Disable database trigger") +// @DataContract +export class DisableSchemaTrigger extends DisableTrigger implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DisableSchemaTrigger'; } + public getMethod() { return 'PATCH'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Enable database trigger */ +// @Route("/{version}/database/schemas/triggers/{triggerId}/enable", "PATCH") +// @Api(Description="Enable database trigger") +// @DataContract +export class EnableSchemaTrigger extends EnableTrigger implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'EnableSchemaTrigger'; } + public getMethod() { return 'PATCH'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Gets database trigger by specified Id */ +// @Route("/{version}/database/schemas/triggers/{id}", "GET") +// @Api(Description="Gets database trigger by specified Id") +export class GetSchemaTrigger extends GetTrigger implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetSchemaTrigger'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetSchemaTriggerResponse(); } +} + +/** @description Gets database triggers */ +// @Route("/{version}/database/schemas/triggers", "GET") +// @Api(Description="Gets database triggers") +export class GetSchemaTriggers extends GetTriggers implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetSchemaTriggers'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetSchemaTriggersResponse(); } +} + +// @Route("/{version}/database/schemas/triggers", "POST") +// @DataContract +export class SaveSchemaTrigger extends SaveTrigger implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'SaveSchemaTrigger'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IdResponse(); } +} + +/** @description Delete database taxonomy */ +// @Route("/{version}/database/taxonomies/{Id}", "DELETE") +// @Api(Description="Delete database taxonomy") +export class DeleteDatabaseTaxonomyRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Taxonomy id to delete, from get_database_taxonomies. */ + // @ApiMember(Description="Taxonomy id to delete, from get_database_taxonomies.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DeleteDatabaseTaxonomyRequest'; } + public getMethod() { return 'DELETE'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Gets database taxonomy by id */ +// @Route("/{version}/database/taxonomies/{id}", "GET") +// @Api(Description="Gets database taxonomy by id") +export class GetDatabaseTaxonomy extends CodeMashRequestBase implements IReturn +{ + /** @description Taxonomy id from get_database_taxonomies. */ + // @ApiMember(Description="Taxonomy id from get_database_taxonomies.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetDatabaseTaxonomy'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetDatabaseTaxonomyResponse(); } +} + +/** @description Gets database taxonomies */ +// @Route("/{version}/database/taxonomies", "GET") +// @Api(Description="Gets database taxonomies") +export class GetDatabaseTaxonomies extends CodeMashListPaginationRequestBase implements IReturn +{ + public pagingArgs?: PagingArgs; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetDatabaseTaxonomies'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetDatabaseTaxonomiesResponse(); } +} + +/** @description Returns the single-parent taxonomy structure tree */ +// @Route("/{version}/database/taxonomies/tree", "GET") +// @Api(Description="Returns the single-parent taxonomy structure tree") +// @DataContract +export class GetDatabaseTaxonomyTreeRequest extends CodeMashRequestBase implements IReturn +{ + /** @description When true, each taxonomy node also carries its own term tree (heavier response). */ + // @DataMember + // @ApiMember(Description="When true, each taxonomy node also carries its own term tree (heavier response).") + public includeTerms: boolean; + + /** @description Optional database integration id. When omitted, the project's default database integration is used. */ + // @DataMember + // @ApiMember(Description="Optional database integration id. When omitted, the project's default database integration is used.") + public databaseIntegrationId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetDatabaseTaxonomyTreeRequest'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetDatabaseTaxonomyTreeResponse(); } +} + +/** @description Creates or updates a database taxonomy */ +// @Route("/{version}/database/taxonomies", "POST") +// @Api(Description="Creates or updates a database taxonomy") +// @DataContract +export class SaveDatabaseTaxonomyRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Empty to create a new taxonomy; set to an existing taxonomy id (from get_database_taxonomies) to update it. */ + // @DataMember + // @ApiMember(Description="Empty to create a new taxonomy; set to an existing taxonomy id (from get_database_taxonomies) to update it.") + public viewId?: string; + + /** @description Human-entered taxonomy title (e.g. "Countries"); a slug is derived server-side. */ + // @DataMember + // @ApiMember(Description="Human-entered taxonomy title (e.g. \"Countries\"); a slug is derived server-side.", IsRequired=true) + public taxonomyName: string; + + /** @description Optional free-text description of the taxonomy. */ + // @DataMember + // @ApiMember(Description="Optional free-text description of the taxonomy.") + public description?: string; + + /** @description Optional raw JSON string (Norbix data meta-schema) describing custom meta fields for terms in this taxonomy. Omit to leave the taxonomy structural-only. */ + // @DataMember + // @ApiMember(Description="Optional raw JSON string (Norbix data meta-schema) describing custom meta fields for terms in this taxonomy. Omit to leave the taxonomy structural-only.") + public termsMetaDataSchema?: string; + + /** @description Optional raw JSON string (Norbix UI/visual meta-schema) describing the term meta edit form. */ + // @DataMember + // @ApiMember(Description="Optional raw JSON string (Norbix UI/visual meta-schema) describing the term meta edit form.") + public termsMetaVisualSchema?: string; + + /** @description Optional parent taxonomy id. The child taxonomy points to its parent — e.g. set the Countries taxonomy's parentId to the Regions taxonomy id so each country term can be parented by a region term. Omit for a root taxonomy. */ + // @DataMember + // @ApiMember(Description="Optional parent taxonomy id. The child taxonomy points to its parent — e.g. set the Countries taxonomy's parentId to the Regions taxonomy id so each country term can be parented by a region term. Omit for a root taxonomy.") + public parentId?: string; + + /** @description Optional list of other taxonomy ids this taxonomy depends on for multi-parent terms. Omit for a self-contained taxonomy. */ + // @DataMember + // @ApiMember(Description="Optional list of other taxonomy ids this taxonomy depends on for multi-parent terms. Omit for a self-contained taxonomy.") + public dependencies?: string[]; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'SaveDatabaseTaxonomyRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IdResponse(); } +} + +/** @description Delete a single term from a taxonomy by id */ +// @Route("/{version}/database/taxonomies/{TaxonomyId}/terms/{Id}", "DELETE") +// @Api(Description="Delete a single term from a taxonomy by id") +// @DataContract +export class DeleteDatabaseTaxonomyTermRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Taxonomy id that owns the term, from get_database_taxonomies. */ + // @DataMember + // @ApiMember(Description="Taxonomy id that owns the term, from get_database_taxonomies.", IsRequired=true) + public taxonomyId: string; + + /** @description Term id to delete, from get_database_taxonomy_term_tree. */ + // @DataMember + // @ApiMember(Description="Term id to delete, from get_database_taxonomy_term_tree.", IsRequired=true) + public id: string; + + /** @description Optional database integration id. When omitted, the project's default database integration is used. */ + // @DataMember + // @ApiMember(Description="Optional database integration id. When omitted, the project's default database integration is used.") + public databaseIntegrationId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DeleteDatabaseTaxonomyTermRequest'; } + public getMethod() { return 'DELETE'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Delete many terms in a taxonomy matching the given filter */ +// @Route("/{version}/database/taxonomies/{TaxonomyId}/terms/many", "DELETE") +// @Api(Description="Delete many terms in a taxonomy matching the given filter") +// @DataContract +export class DeleteManyDatabaseTaxonomyTermsRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Taxonomy id whose terms to delete, from get_database_taxonomies. */ + // @DataMember + // @ApiMember(Description="Taxonomy id whose terms to delete, from get_database_taxonomies.", IsRequired=true) + public taxonomyId: string; + + /** @description Optional database integration id. When omitted, the project's default database integration is used. */ + // @DataMember + // @ApiMember(Description="Optional database integration id. When omitted, the project's default database integration is used.") + public databaseIntegrationId?: string; + + /** @description MongoDB extended-JSON match filter (a raw JSON object, e.g. {"active":false}) selecting which terms to delete. Automatically ANDed server-side with the taxonomyId, so it cannot affect other taxonomies. */ + // @DataMember + // @ApiMember(Description="MongoDB extended-JSON match filter (a raw JSON object, e.g. {\"active\":false}) selecting which terms to delete. Automatically ANDed server-side with the taxonomyId, so it cannot affect other taxonomies.", IsRequired=true) + public filter: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DeleteManyDatabaseTaxonomyTermsRequest'; } + public getMethod() { return 'DELETE'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Get a single term from a taxonomy by id */ +// @Route("/{version}/database/taxonomies/{TaxonomyId}/terms/{Id}", "GET") +// @Api(Description="Get a single term from a taxonomy by id") +// @DataContract +export class GetDatabaseTaxonomyTermRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Taxonomy id from get_database_taxonomies. */ + // @DataMember + // @ApiMember(Description="Taxonomy id from get_database_taxonomies.", IsRequired=true) + public taxonomyId: string; + + /** @description Term id from get_database_taxonomy_term_tree. */ + // @DataMember + // @ApiMember(Description="Term id from get_database_taxonomy_term_tree.", IsRequired=true) + public id: string; + + /** @description Optional database integration id. When omitted, the project's default database integration is used. */ + // @DataMember + // @ApiMember(Description="Optional database integration id. When omitted, the project's default database integration is used.") + public databaseIntegrationId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetDatabaseTaxonomyTermRequest'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetDatabaseTaxonomyTermResponse(); } +} + +/** @description Returns a merged term tree across a taxonomy and its child taxonomies */ +// @Route("/{version}/database/taxonomies/{TaxonomyName}/merged-tree", "GET") +// @Api(Description="Returns a merged term tree across a taxonomy and its child taxonomies") +// @DataContract +export class GetDatabaseMergedTermTreeRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Root taxonomy slug/name (from get_database_taxonomies). Its terms are the roots; child-taxonomy terms nest under them. */ + // @DataMember + // @ApiMember(Description="Root taxonomy slug/name (from get_database_taxonomies). Its terms are the roots; child-taxonomy terms nest under them.", IsRequired=true) + public taxonomyName: string; + + /** @description Optional database integration id. When omitted, the project's default database integration is used. */ + // @DataMember + // @ApiMember(Description="Optional database integration id. When omitted, the project's default database integration is used.") + public databaseIntegrationId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetDatabaseMergedTermTreeRequest'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetDatabaseMergedTermTreeResponse(); } +} + +/** @description Returns the whole term tree of a taxonomy (or a sub-tree) in one call */ +// @Route("/{version}/database/taxonomies/{TaxonomyName}/terms/tree", "GET") +// @Api(Description="Returns the whole term tree of a taxonomy (or a sub-tree) in one call") +// @DataContract +export class GetDatabaseTaxonomyTermTreeRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Taxonomy slug/name to fetch the term tree for, from get_database_taxonomies. */ + // @DataMember + // @ApiMember(Description="Taxonomy slug/name to fetch the term tree for, from get_database_taxonomies.", IsRequired=true) + public taxonomyName: string; + + /** @description Optional term id to root the returned tree at a sub-tree instead of the whole taxonomy. */ + // @DataMember + // @ApiMember(Description="Optional term id to root the returned tree at a sub-tree instead of the whole taxonomy.") + public rootTermId?: string; + + /** @description Optional maximum depth to return below the root. */ + // @DataMember + // @ApiMember(DataType="integer", Description="Optional maximum depth to return below the root.") + public depth?: number; + + /** @description Optional database integration id. When omitted, the project's default database integration is used. */ + // @DataMember + // @ApiMember(Description="Optional database integration id. When omitted, the project's default database integration is used.") + public databaseIntegrationId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetDatabaseTaxonomyTermTreeRequest'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetDatabaseTaxonomyTermTreeResponse(); } +} + +/** @description Insert a single term into a taxonomy */ +// @Route("/{version}/database/taxonomies/{TaxonomyId}/terms", "POST") +// @Api(Description="Insert a single term into a taxonomy") +// @DataContract +export class SaveDatabaseTaxonomyTermRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Taxonomy id to insert the term into, from get_database_taxonomies. */ + // @DataMember + // @ApiMember(Description="Taxonomy id to insert the term into, from get_database_taxonomies.", IsRequired=true) + public taxonomyId: string; + + /** @description Optional database integration id. When omitted, the project's default database integration is used. */ + // @DataMember + // @ApiMember(Description="Optional database integration id. When omitted, the project's default database integration is used.") + public databaseIntegrationId?: string; + + /** @description The term to insert, as a MongoDB extended-JSON document string (a raw JSON object). Supported term fields: name (string, or a {lang:value} map — required); description; order (integer sort position, lower shows first — omit for unordered); parentId (id of the single parent term); multiParents ("additional categories": array of {taxonomyId, parentId}). The server stamps taxonomyId/taxonomyName automatically — do not include them. Example: {"name":"France","order":1}. */ + // @DataMember + // @ApiMember(Description="The term to insert, as a MongoDB extended-JSON document string (a raw JSON object). Supported term fields: name (string, or a {lang:value} map — required); description; order (integer sort position, lower shows first — omit for unordered); parentId (id of the single parent term); multiParents (\"additional categories\": array of {taxonomyId, parentId}). The server stamps taxonomyId/taxonomyName automatically — do not include them. Example: {\"name\":\"France\",\"order\":1}.", IsRequired=true) + public document: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'SaveDatabaseTaxonomyTermRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IdResponse(); } +} + +/** @description Update a single term in a taxonomy by id */ +// @Route("/{version}/database/taxonomies/{TaxonomyId}/terms/{Id}", "PUT") +// @Api(Description="Update a single term in a taxonomy by id") +// @DataContract +export class UpdateDatabaseTaxonomyTermRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Taxonomy id that owns the term, from get_database_taxonomies. */ + // @DataMember + // @ApiMember(Description="Taxonomy id that owns the term, from get_database_taxonomies.", IsRequired=true) + public taxonomyId: string; + + /** @description Term id to update, from get_database_taxonomy_term_tree. */ + // @DataMember + // @ApiMember(Description="Term id to update, from get_database_taxonomy_term_tree.", IsRequired=true) + public id: string; + + /** @description Optional database integration id. When omitted, the project's default database integration is used. */ + // @DataMember + // @ApiMember(Description="Optional database integration id. When omitted, the project's default database integration is used.") + public databaseIntegrationId?: string; + + /** @description Partial update document as MongoDB extended-JSON (a raw JSON object of fields to change), applied with $set — only the given fields change. Updatable term fields: name (string or {lang:value} map); description; order (integer sort position, lower shows first — use this to numerate/rank terms; set null to clear); parentId (single parent term id — a term from THIS taxonomy's parent taxonomy; e.g. link a country to its region by setting the country term's parentId to the region term id); multiParents ("additional categories": array of {taxonomyId, parentId}). Example to rank a term: {"order":1}. */ + // @DataMember + // @ApiMember(Description="Partial update document as MongoDB extended-JSON (a raw JSON object of fields to change), applied with $set — only the given fields change. Updatable term fields: name (string or {lang:value} map); description; order (integer sort position, lower shows first — use this to numerate/rank terms; set null to clear); parentId (single parent term id — a term from THIS taxonomy's parent taxonomy; e.g. link a country to its region by setting the country term's parentId to the region term id); multiParents (\"additional categories\": array of {taxonomyId, parentId}). Example to rank a term: {\"order\":1}.", IsRequired=true) + public update: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'UpdateDatabaseTaxonomyTermRequest'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Creates every collection and taxonomy of a compiled IF bundle, linked and published */ +// @Route("/{version}/database/schemas/apply-bundle", "POST") +// @Api(Description="Creates every collection and taxonomy of a compiled IF bundle, linked and published") +// @DataContract +export class ApplyDatabaseSchemaBundleRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Comma-separated catalog entity ids to create from the reviewed catalog (e.g. "blog_posts,comments"). The usual input. */ + // @DataMember + // @ApiMember(Description="Comma-separated catalog entity ids to create from the reviewed catalog (e.g. \"blog_posts,comments\"). The usual input.") + public entities?: string; + + /** @description Only for entities the catalog lacks: one IF entity object or an array of IF objects (JSON string). May also hold catalog refs with add_fields / remove_fields. */ + // @DataMember + // @ApiMember(Description="Only for entities the catalog lacks: one IF entity object or an array of IF objects (JSON string). May also hold catalog refs with add_fields / remove_fields.") + public bundleJson?: string; + + /** @description Field tier to compile: minimal | standard (default) | extended. */ + // @DataMember + // @ApiMember(Description="Field tier to compile: minimal | standard (default) | extended.") + public tier?: string; + + /** @description true = mark free-text fields (title, body, excerpt …) translatable for multilingual content. Default false. */ + // @DataMember + // @ApiMember(Description="true = mark free-text fields (title, body, excerpt …) translatable for multilingual content. Default false.") + public translatable: boolean; + + /** @description false = leave every collection as a draft instead of publishing v1. Default true. */ + // @DataMember + // @ApiMember(Description="false = leave every collection as a draft instead of publishing v1. Default true.") + public publish: boolean; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'ApplyDatabaseSchemaBundleRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new ApplyDatabaseSchemaBundleResponse(); } +} + +/** @description Delete database schema (collection) */ +// @Route("/{version}/database/schemas/{Id}", "DELETE") +// @Api(Description="Delete database schema (collection)") +export class DeleteDatabaseSchemaRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Schema id to delete, from get_database_schemas. */ + // @ApiMember(Description="Schema id to delete, from get_database_schemas.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DeleteDatabaseSchemaRequest'; } + public getMethod() { return 'DELETE'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Discards the working-copy draft of a database schema without publishing */ +// @Route("/{version}/database/schemas/{Id}/draft", "DELETE") +// @Api(Description="Discards the working-copy draft of a database schema without publishing") +// @DataContract +export class DiscardDatabaseSchemaDraftRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Schema id whose draft to discard, from get_database_schemas. */ + // @DataMember + // @ApiMember(Description="Schema id whose draft to discard, from get_database_schemas.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DiscardDatabaseSchemaDraftRequest'; } + public getMethod() { return 'DELETE'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Gets database schema by id */ +// @Route("/{version}/database/schemas/{id}", "GET") +// @Api(Description="Gets database schema by id") +// @DataContract +export class GetDatabaseSchema extends CodeMashRequestBase implements IReturn +{ + /** @description Schema id from get_database_schemas. */ + // @DataMember + // @ApiMember(Description="Schema id from get_database_schemas.", IsRequired=true) + public id: string; + + /** @description Optional published version number to pin; omit for the latest published version. */ + // @DataMember(Name="version") + // @ApiMember(DataType="integer", Description="Optional published version number to pin; omit for the latest published version.", Name="version", ParameterType="query") + public version?: number; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetDatabaseSchema'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetDatabaseSchemaResponse(); } +} + +/** @description Gets database schemas (collections) */ +// @Route("/{version}/database/schemas", "GET") +// @Api(Description="Gets database schemas (collections)") +export class GetDatabaseSchemas extends CodeMashListPaginationRequestBase implements IReturn +{ + public pagingArgs?: PagingArgs; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetDatabaseSchemas'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetDatabaseSchemasResponse(); } +} + +/** @description Gets the current draft of a database schema */ +// @Route("/{version}/database/schemas/{Id}/draft", "GET") +// @Api(Description="Gets the current draft of a database schema") +// @DataContract +export class GetDatabaseSchemaDraft extends CodeMashRequestBase implements IReturn +{ + /** @description Schema id from get_database_schemas. */ + // @DataMember + // @ApiMember(Description="Schema id from get_database_schemas.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetDatabaseSchemaDraft'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetDatabaseSchemaDraftResponse(); } +} + +/** @description Gets database schema records-list display settings */ +// @Route("/{version}/database/schemas/{Id}/list-settings", "GET") +// @Api(Description="Gets database schema records-list display settings") +// @DataContract +export class GetDatabaseSchemaListSettings extends CodeMashRequestBase implements IReturn +{ + /** @description Schema id from get_database_schemas. */ + // @DataMember + // @ApiMember(Description="Schema id from get_database_schemas.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetDatabaseSchemaListSettings'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetDatabaseSchemaListSettingsResponse(); } +} + +/** @description Structural diff between two published versions of a database schema */ +// @Route("/{version}/database/schemas/{Id}/versions/diff", "GET") +// @Api(Description="Structural diff between two published versions of a database schema") +// @DataContract +export class GetDatabaseSchemaVersionDiff extends CodeMashRequestBase implements IReturn +{ + /** @description Schema id from get_database_schemas. */ + // @DataMember + // @ApiMember(Description="Schema id from get_database_schemas.", IsRequired=true) + public id: string; + + /** @description Earlier published version number to diff from. Get valid values from get_database_schema_versions. */ + // @DataMember + // @ApiMember(DataType="integer", Description="Earlier published version number to diff from. Get valid values from get_database_schema_versions.", IsRequired=true) + public fromVersion: number; + + /** @description Later published version number to diff to. Get valid values from get_database_schema_versions. */ + // @DataMember + // @ApiMember(DataType="integer", Description="Later published version number to diff to. Get valid values from get_database_schema_versions.", IsRequired=true) + public toVersion: number; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetDatabaseSchemaVersionDiff'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetDatabaseSchemaVersionDiffResponse(); } +} + +/** @description Lists published version summaries for a database schema */ +// @Route("/{version}/database/schemas/{Id}/versions", "GET") +// @Api(Description="Lists published version summaries for a database schema") +// @DataContract +export class GetDatabaseSchemaVersions extends CodeMashRequestBase implements IReturn +{ + /** @description Schema id from get_database_schemas. */ + // @DataMember + // @ApiMember(Description="Schema id from get_database_schemas.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetDatabaseSchemaVersions'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetDatabaseSchemaVersionsResponse(); } +} + +// @Route("/{version}/database/schemas/{Id}/publish", "POST") +// @DataContract +export class PublishDatabaseSchemaRequest extends CodeMashRequestBase implements IReturn +{ + // @DataMember + public id: string; + + // @DataMember + public confirmed: boolean; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'PublishDatabaseSchemaRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Renames a database schema (collection) */ +// @Route("/{version}/database/schemas/{Id}/rename", "PUT") +// @Api(Description="Renames a database schema (collection)") +// @DataContract +export class RenameDatabaseSchemaRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Schema id to rename, from get_database_schemas. */ + // @DataMember + // @ApiMember(Description="Schema id to rename, from get_database_schemas.", IsRequired=true) + public id: string; + + /** @description New human-entered title (e.g. "Company Employees"); the slug is derived server-side. */ + // @DataMember + // @ApiMember(Description="New human-entered title (e.g. \"Company Employees\"); the slug is derived server-side.", IsRequired=true) + public title: string; + + /** @description When true (default), rejects the rename if another schema already owns the derived slug. Leave true unless explicitly asked to bypass the uniqueness check. */ + // @DataMember + // @ApiMember(Description="When true (default), rejects the rename if another schema already owns the derived slug. Leave true unless explicitly asked to bypass the uniqueness check.") + public renameUniqueName: boolean; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'RenameDatabaseSchemaRequest'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} + +// @Route("/{version}/database/schemas", "POST") +// @DataContract +export class SaveDatabaseSchemaRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Empty to create a new schema; set to an existing schema id (from get_database_schemas) to update its draft. */ + // @DataMember + // @ApiMember(Description="Empty to create a new schema; set to an existing schema id (from get_database_schemas) to update its draft.") + public viewId?: string; + + /** @description Human-entered schema title (e.g. "Company Employees"); a slug is derived server-side. */ + // @DataMember + // @ApiMember(Description="Human-entered schema title (e.g. \"Company Employees\"); a slug is derived server-side.", IsRequired=true) + public schemaName: string; + + /** @description Raw JSON string matching the Norbix data meta-schema (https://norbix.ai/schemas/meta/v1.json). When unsure of the shape, read an existing schema with get_database_schema first. */ + // @DataMember + // @ApiMember(Description="Raw JSON string matching the Norbix data meta-schema (https://norbix.ai/schemas/meta/v1.json). When unsure of the shape, read an existing schema with get_database_schema first.") + public dataSchema?: string; + + /** @description OPTIONAL raw JSON string matching the Norbix UI/visual meta-schema (https://norbix.ai/schemas/ui/v1.json), describing the record form layout. If omitted or invalid, the backend auto-generates a flat-list form from the data schema; provide it to control the layout. */ + // @DataMember + // @ApiMember(Description="OPTIONAL raw JSON string matching the Norbix UI/visual meta-schema (https://norbix.ai/schemas/ui/v1.json), describing the record form layout. If omitted or invalid, the backend auto-generates a flat-list form from the data schema; provide it to control the layout.") + public visualSchema?: string; + + /** @description Optional schema-level settings (e.g. record validation behavior). */ + // @DataMember + // @ApiMember(Description="Optional schema-level settings (e.g. record validation behavior).") + public settings?: SchemaSettingsDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'SaveDatabaseSchemaRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IdResponse(); } +} + +/** @description Saves the working-copy draft of a database schema */ +// @Route("/{version}/database/schemas/{Id}/draft", "PUT") +// @Api(Description="Saves the working-copy draft of a database schema") +// @DataContract +export class UpdateDatabaseSchemaDraftRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Schema id whose draft to replace, from get_database_schemas. */ + // @DataMember + // @ApiMember(Description="Schema id whose draft to replace, from get_database_schemas.", IsRequired=true) + public id: string; + + /** @description Raw JSON string matching the Norbix data meta-schema (https://norbix.ai/schemas/meta/v1.json) for the draft's data schema. */ + // @DataMember + // @ApiMember(Description="Raw JSON string matching the Norbix data meta-schema (https://norbix.ai/schemas/meta/v1.json) for the draft's data schema.") + public dataSchema?: string; + + /** @description Raw JSON string matching the Norbix UI/visual meta-schema (https://norbix.ai/schemas/ui/v1.json) for the draft's record form. */ + // @DataMember + // @ApiMember(Description="Raw JSON string matching the Norbix UI/visual meta-schema (https://norbix.ai/schemas/ui/v1.json) for the draft's record form.") + public visualSchema?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'UpdateDatabaseSchemaDraftRequest'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Updates database schema records-list display settings */ +// @Route("/{version}/database/schemas/{Id}/list-settings", "PUT") +// @Api(Description="Updates database schema records-list display settings") +// @DataContract +export class UpdateDatabaseSchemaListSettingsRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Schema id whose list settings to update, from get_database_schemas. */ + // @DataMember + // @ApiMember(Description="Schema id whose list settings to update, from get_database_schemas.", IsRequired=true) + public id: string; + + /** @description The complete new list settings object (full replace). */ + // @DataMember + // @ApiMember(Description="The complete new list settings object (full replace).", IsRequired=true) + public settings: SchemaListSettingsDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'UpdateDatabaseSchemaListSettingsRequest'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Updates database schema settings */ +// @Route("/{version}/database/schemas/{Id}/settings", "PUT") +// @Api(Description="Updates database schema settings") +// @DataContract +export class UpdateDatabaseSchemaSettingsRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Schema id whose settings to update, from get_database_schemas. */ + // @DataMember + // @ApiMember(Description="Schema id whose settings to update, from get_database_schemas.", IsRequired=true) + public id: string; + + /** @description The new schema settings object. */ + // @DataMember + // @ApiMember(Description="The new schema settings object.", IsRequired=true) + public settings: SchemaSettingsDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'UpdateDatabaseSchemaSettingsRequest'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Database */ +// @Route("/{version}/database/collections/{collectionName}/aggregate", "POST") +// @Api(Description="Database") +export class AggregateRecords extends CodeMashRequestBase implements IReturn +{ + /** @description The collection (schema) name to run the aggregation against. */ + // @ApiMember(Description="The collection (schema) name to run the aggregation against.", IsRequired=true) + public collectionName: string; + + public databaseIntegrationId?: string; + /** @description The aggregation pipeline as a MongoDB extended-JSON array of stages. */ + // @ApiMember(Description="The aggregation pipeline as a MongoDB extended-JSON array of stages.", IsRequired=true) + public pipeline: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'AggregateRecords'; } + public getMethod() { return 'POST'; } + public createResponse() { return new AggregateRecordsResponse(); } +} + +/** @description Database */ +// @Route("/{version}/database/collections/{collectionName}/{id}/responsibility", "PUT") +// @Api(Description="Database") +export class ChangeRecordResponsibility extends CodeMashRequestBase implements IReturn +{ + /** @description The collection (schema) name the record lives in. */ + // @ApiMember(Description="The collection (schema) name the record lives in.", IsRequired=true) + public collectionName: string; + + /** @description The id of the record whose responsibility changes. */ + // @ApiMember(Description="The id of the record whose responsibility changes.", IsRequired=true) + public id: string; + + public databaseIntegrationId?: string; + /** @description The new responsible user (owner) id. */ + // @ApiMember(Description="The new responsible user (owner) id.", IsRequired=true) + public newResponsibleUserId: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'ChangeRecordResponsibility'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Database */ +// @Route("/{version}/database/collections/{collectionName}/count", "GET") +// @Api(Description="Database") +export class CountRecords extends CodeMashRequestBase implements IReturn +{ + /** @description The collection (schema) name to count records in. */ + // @ApiMember(Description="The collection (schema) name to count records in.", IsRequired=true) + public collectionName: string; + + public databaseIntegrationId?: string; + /** @description Optional MongoDB extended-JSON filter. Empty means count all records. */ + // @ApiMember(Description="Optional MongoDB extended-JSON filter. Empty means count all records.") + public filter?: string; + + public schemaVersion?: number; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'CountRecords'; } + public getMethod() { return 'GET'; } + public createResponse() { return new CountRecordsResponse(); } +} + +/** @description Database */ +// @Route("/{version}/database/collections/{collectionName}/many", "DELETE") +// @Api(Description="Database") +export class DeleteManyRecords extends CodeMashRequestBase implements IReturn +{ + /** @description The collection (schema) name the records live in. */ + // @ApiMember(Description="The collection (schema) name the records live in.", IsRequired=true) + public collectionName: string; + + public databaseIntegrationId?: string; + /** @description The match filter as a MongoDB extended-JSON document. Required. */ + // @ApiMember(Description="The match filter as a MongoDB extended-JSON document. Required.", IsRequired=true) + public filter: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DeleteManyRecords'; } + public getMethod() { return 'DELETE'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Database */ +// @Route("/{version}/database/collections/{collectionName}/{id}", "DELETE") +// @Api(Description="Database") +export class DeleteRecord extends CodeMashRequestBase implements IReturn +{ + /** @description The collection (schema) name the record lives in. */ + // @ApiMember(Description="The collection (schema) name the record lives in.", IsRequired=true) + public collectionName: string; + + /** @description The id of the record to delete. */ + // @ApiMember(Description="The id of the record to delete.", IsRequired=true) + public id: string; + + public databaseIntegrationId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DeleteRecord'; } + public getMethod() { return 'DELETE'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Database */ +// @Route("/{version}/database/collections/{collectionName}/distinct", "GET") +// @Api(Description="Database") +export class DistinctRecordValues extends CodeMashRequestBase implements IReturn +{ + /** @description The collection (schema) name to read from. */ + // @ApiMember(Description="The collection (schema) name to read from.", IsRequired=true) + public collectionName: string; + + public databaseIntegrationId?: string; + /** @description The document field (dotted path allowed) to get distinct values for, e.g. 'status'. */ + // @ApiMember(Description="The document field (dotted path allowed) to get distinct values for, e.g. 'status'.", IsRequired=true) + public field: string; + + /** @description Optional MongoDB extended-JSON filter. Empty means consider all records. */ + // @ApiMember(Description="Optional MongoDB extended-JSON filter. Empty means consider all records.") + public filter?: string; + + public schemaVersion?: number; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DistinctRecordValues'; } + public getMethod() { return 'GET'; } + public createResponse() { return new DistinctRecordValuesResponse(); } +} + +/** @description Database */ +// @Route("/{version}/database/collections/{collectionName}/aggregates/{aggregateId}/execute", "POST") +// @Api(Description="Database") +export class ExecuteRecordsAggregate extends CodeMashRequestBase implements IReturn +{ + /** @description The collection (schema) name to run the saved aggregation against. */ + // @ApiMember(Description="The collection (schema) name to run the saved aggregation against.", IsRequired=true) + public collectionName: string; + + /** @description The saved aggregate id (maggr_…) to execute. */ + // @ApiMember(Description="The saved aggregate id (maggr_…) to execute.", IsRequired=true) + public aggregateId: string; + + public databaseIntegrationId?: string; + /** @description Optional key/value substitutions for {TokenKey} placeholders in the saved pipeline. */ + // @ApiMember(Description="Optional key/value substitutions for {TokenKey} placeholders in the saved pipeline.") + public tokens?: { [index:string]: string; }; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'ExecuteRecordsAggregate'; } + public getMethod() { return 'POST'; } + public createResponse() { return new ExecuteRecordsAggregateResponse(); } +} + +/** @description Database */ +// @Route("/{version}/database/collections/{collectionName}", "GET") +// @Api(Description="Database") +export class FindRecords extends CodeMashListPaginationRequestBase implements IReturn +{ + /** @description The collection (schema) name to read from. */ + // @ApiMember(Description="The collection (schema) name to read from.", IsRequired=true) + public collectionName: string; + + public databaseIntegrationId?: string; + /** @description Optional MongoDB extended-JSON filter. Empty means match all records. */ + // @ApiMember(Description="Optional MongoDB extended-JSON filter. Empty means match all records.") + public filter?: string; + + /** @description Optional contact id (ct_…) — only that contact's records are returned. */ + // @ApiMember(Description="Optional contact id (ct_…) — only that contact's records are returned.") + public contactId?: string; + + public schemaVersion?: number; + public pagingArgs?: PagingArgs; + public sortBy?: string; + public sortOrder?: number; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'FindRecords'; } + public getMethod() { return 'GET'; } + public createResponse() { return new FindRecordsResponse(); } +} + +/** @description Database */ +// @Route("/{version}/database/collections/{collectionName}/{id}", "GET") +// @Api(Description="Database") +export class FindOneRecord extends CodeMashRequestBase implements IReturn +{ + /** @description The collection (schema) name to read from. */ + // @ApiMember(Description="The collection (schema) name to read from.", IsRequired=true) + public collectionName: string; + + /** @description The id of the record to fetch. */ + // @ApiMember(Description="The id of the record to fetch.", IsRequired=true) + public id: string; + + public databaseIntegrationId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'FindOneRecord'; } + public getMethod() { return 'GET'; } + public createResponse() { return new FindOneRecordResponse(); } +} + +/** @description Database */ +// @Route("/{version}/database/collections/{collectionName}/indexes", "GET") +// @Api(Description="Database") +// @DataContract +export class GetCollectionIndexes extends CodeMashRequestBase implements IReturn +{ + /** @description The collection (schema) name to inspect. */ + // @DataMember + // @ApiMember(Description="The collection (schema) name to inspect.", IsRequired=true) + public collectionName: string; + + // @DataMember + public databaseIntegrationId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetCollectionIndexes'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetCollectionIndexesResponse(); } +} + +/** @description Database */ +// @Route("/{version}/database/collections/{collectionName}/many", "POST") +// @Api(Description="Database") +export class InsertManyRecords extends CodeMashRequestBase implements IReturn +{ + /** @description The collection (schema) name to insert into. */ + // @ApiMember(Description="The collection (schema) name to insert into.", IsRequired=true) + public collectionName: string; + + public databaseIntegrationId?: string; + /** @description The records to insert as a MongoDB extended-JSON array of documents. */ + // @ApiMember(Description="The records to insert as a MongoDB extended-JSON array of documents.", IsRequired=true) + public documents: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'InsertManyRecords'; } + public getMethod() { return 'POST'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Database */ +// @Route("/{version}/database/collections/{collectionName}", "POST") +// @Api(Description="Database") +export class InsertRecord extends CodeMashRequestBase implements IReturn +{ + /** @description The collection (schema) name to insert into. */ + // @ApiMember(Description="The collection (schema) name to insert into.", IsRequired=true) + public collectionName: string; + + public databaseIntegrationId?: string; + /** @description The record to insert, as a MongoDB extended-JSON document string. */ + // @ApiMember(Description="The record to insert, as a MongoDB extended-JSON document string.", IsRequired=true) + public document: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'InsertRecord'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IdResponse(); } +} + +/** @description Database */ +// @Route("/{version}/database/collections/{collectionName}/{id}/replace", "PUT") +// @Api(Description="Database") +export class ReplaceRecord extends CodeMashRequestBase implements IReturn +{ + /** @description The collection (schema) name the record lives in. */ + // @ApiMember(Description="The collection (schema) name the record lives in.", IsRequired=true) + public collectionName: string; + + /** @description The id of the record to replace. */ + // @ApiMember(Description="The id of the record to replace.", IsRequired=true) + public id: string; + + public databaseIntegrationId?: string; + /** @description The replacement document as MongoDB extended-JSON. */ + // @ApiMember(Description="The replacement document as MongoDB extended-JSON.", IsRequired=true) + public replacement: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'ReplaceRecord'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Database */ +// @Route("/{version}/database/collections/seed", "POST") +// @Api(Description="Database") +export class SeedCollectionRecords extends CodeMashRequestBase implements IReturn +{ + /** @description Seeding mode: 'dummy' (server-generated sample data, default) or 'realistic' (caller-supplied documents). */ + // @ApiMember(Description="Seeding mode: 'dummy' (server-generated sample data, default) or 'realistic' (caller-supplied documents).") + public mode?: string; + + public databaseIntegrationId?: string; + /** @description JSON array of {collectionName, count?, documents?}. count applies to dummy mode (max 100 per collection); documents (extended-JSON objects, may contain $seedRef placeholders) apply to realistic mode. */ + // @ApiMember(Description="JSON array of {collectionName, count?, documents?}. count applies to dummy mode (max 100 per collection); documents (extended-JSON objects, may contain $seedRef placeholders) apply to realistic mode.", IsRequired=true) + public collections: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'SeedCollectionRecords'; } + public getMethod() { return 'POST'; } + public createResponse() { return new SeedCollectionRecordsResponse(); } +} + +/** @description Database */ +// @Route("/{version}/database/collections/{collectionName}/many", "PUT") +// @Api(Description="Database") +export class UpdateManyRecords extends CodeMashRequestBase implements IReturn +{ + /** @description The collection (schema) name the records live in. */ + // @ApiMember(Description="The collection (schema) name the records live in.", IsRequired=true) + public collectionName: string; + + public databaseIntegrationId?: string; + /** @description The match filter as a MongoDB extended-JSON document. Empty object means match all. */ + // @ApiMember(Description="The match filter as a MongoDB extended-JSON document. Empty object means match all.", IsRequired=true) + public filter: string; + + /** @description The partial update document (applied with $set), as MongoDB extended-JSON. */ + // @ApiMember(Description="The partial update document (applied with $set), as MongoDB extended-JSON.", IsRequired=true) + public update: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'UpdateManyRecords'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Database */ +// @Route("/{version}/database/collections/{collectionName}/{id}", "PUT") +// @Api(Description="Database") +export class UpdateOneRecord extends CodeMashRequestBase implements IReturn +{ + /** @description The collection (schema) name the record lives in. */ + // @ApiMember(Description="The collection (schema) name the record lives in.", IsRequired=true) + public collectionName: string; + + /** @description The id of the record to update. */ + // @ApiMember(Description="The id of the record to update.", IsRequired=true) + public id: string; + + public databaseIntegrationId?: string; + /** @description The partial update document (applied with $set), as MongoDB extended-JSON. */ + // @ApiMember(Description="The partial update document (applied with $set), as MongoDB extended-JSON.", IsRequired=true) + public update: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'UpdateOneRecord'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Delete integration for particular project */ +// @Route("/{version}/database/integrations/{Id}", "DELETE") +// @Api(Description="Delete integration for particular project") +export class DeleteDatabaseIntegrationRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Database integration id to delete, from get_database_integrations. */ + // @ApiMember(Description="Database integration id to delete, from get_database_integrations.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DeleteDatabaseIntegrationRequest'; } + public getMethod() { return 'DELETE'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Disable integration for particular project */ +// @Route("/{version}/database/integrations/{Id}/disable", "PUT") +// @Api(Description="Disable integration for particular project") +export class DisableDatabaseIntegrationRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Database integration id to disable, from get_database_integrations. */ + // @ApiMember(Description="Database integration id to disable, from get_database_integrations.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DisableDatabaseIntegrationRequest'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Enable integration for particular project */ +// @Route("/{version}/database/integrations/{Id}/enable", "PUT") +// @Api(Description="Enable integration for particular project") +export class EnableDatabaseIntegrationRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Database integration id to enable, from get_database_integrations. */ + // @ApiMember(Description="Database integration id to enable, from get_database_integrations.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'EnableDatabaseIntegrationRequest'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Gets integration by specified Id */ +// @Route("/{version}/database/integrations/{id}", "GET") +// @Api(Description="Gets integration by specified Id") +export class GetDatabaseIntegration extends CodeMashRequestBase implements IReturn +{ + /** @description Database integration id from get_database_integrations. */ + // @ApiMember(Description="Database integration id from get_database_integrations.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetDatabaseIntegration'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetDatabaseIntegrationResponse(); } +} + +/** @description Gets database integrations */ +// @Route("/{version}/database/integrations", "GET") +// @Api(Description="Gets database integrations") +export class GetDatabaseIntegrations extends CodeMashListPaginationRequestBase implements IReturn +{ + public pagingArgs?: PagingArgs; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetDatabaseIntegrations'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetDatabaseIntegrationsResponse(); } +} + +/** @description Returns the Flex tiers this account is entitled to pick */ +// @Route("/{version}/database/integrations/flex-tiers", "GET") +// @Api(Description="Returns the Flex tiers this account is entitled to pick") +export class GetAllowedFlexTiers extends CodeMashRequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetAllowedFlexTiers'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetAllowedFlexTiersResponse(); } +} + +// @Route("/{version}/database/integrations/{Id}/connection-string", "GET") +export class RevealManagedFlexConnectionString extends CodeMashRequestBase implements IReturn +{ + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'RevealManagedFlexConnectionString'; } + public getMethod() { return 'GET'; } + public createResponse() { return new RevealManagedFlexConnectionStringResponse(); } +} + +/** @description Saves database integration */ +// @Route("/{version}/database/integrations", "POST") +// @Api(Description="Saves database integration") +// @DataContract +export class SaveDatabaseIntegration extends CodeMashRequestBase implements IReturn +{ + // @DataMember(Name="integration") + public integration: DatabaseIntegrationRequest; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'SaveDatabaseIntegration'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IdResponse(); } +} + +/** @description Sets integration as default */ +// @Route("/{version}/database/integrations/{Id}/default", "PUT") +// @Api(Description="Sets integration as default") +export class SetDatabaseIntegrationAsDefaultRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Database integration id to set as default, from get_database_integrations. */ + // @ApiMember(Description="Database integration id to set as default, from get_database_integrations.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'SetDatabaseIntegrationAsDefaultRequest'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Test database integration */ +// @Route("/{version}/database/integrations/test", "POST") +// @Api(Description="Test database integration") +export class TestDatabaseIntegration extends CodeMashRequestBase implements IReturn +{ + /** @description Database integration id to test, from get_database_integrations. */ + // @ApiMember(Description="Database integration id to test, from get_database_integrations.", IsRequired=true) + public integrationId: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'TestDatabaseIntegration'; } + public getMethod() { return 'POST'; } + public createResponse() { return new TestDatabaseIntegrationResponse(); } +} + +/** @description Database */ +// @Route("/{version}/database/imports", "POST") +// @Api(Description="Database") +export class CreateCollectionImport extends CodeMashRequestBase implements IReturn +{ + /** @description The uploaded CSV's file ref, from the upload call. */ + // @ApiMember(Description="The uploaded CSV's file ref, from the upload call.", IsRequired=true) + public file: FileResourceRefDto; + + /** @description The target schema id. */ + // @ApiMember(Description="The target schema id.", IsRequired=true) + public schemaId: string; + + /** @description The target collection (schema) name. */ + // @ApiMember(Description="The target collection (schema) name.", IsRequired=true) + public collectionName: string; + + public databaseIntegrationId?: string; + /** @description The CSV delimiter used at upload time. */ + // @ApiMember(Description="The CSV delimiter used at upload time.", IsRequired=true) + public delimiter: string; + + public hasHeader: boolean; + /** @description Column → property mapping, frozen for this import. */ + // @ApiMember(Description="Column → property mapping, frozen for this import.", IsRequired=true) + public mapping: ImportColumnMappingDto[] = []; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'CreateCollectionImport'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IdResponse(); } +} + +/** @description Database */ +// @Route("/{version}/database/imports/{Id}", "DELETE") +// @Api(Description="Database") +export class DeleteCollectionImportRequest extends CodeMashRequestBase implements IReturn +{ + /** @description The import id (imp_…). */ + // @ApiMember(Description="The import id (imp_…).", IsRequired=true) + public id: string; + + public databaseIntegrationId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DeleteCollectionImportRequest'; } + public getMethod() { return 'DELETE'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Database */ +// @Route("/{version}/database/imports/{Id}", "GET") +// @Api(Description="Database") +export class GetCollectionImport extends CodeMashRequestBase implements IReturn +{ + /** @description The import id (imp_…). */ + // @ApiMember(Description="The import id (imp_…).", IsRequired=true) + public id: string; + + public databaseIntegrationId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetCollectionImport'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetCollectionImportResponse(); } +} + +/** @description Database */ +// @Route("/{version}/database/imports", "GET") +// @Api(Description="Database") +export class GetCollectionImports extends CodeMashListPaginationRequestBase implements IReturn +{ + public databaseIntegrationId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetCollectionImports'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetCollectionImportsResponse(); } +} + +/** @description Database */ +// @Route("/{version}/database/imports/upload-url", "POST") +// @Api(Description="Database") +export class RequestImportUploadUrlRequest extends CodeMashRequestBase implements IReturn +{ + public fileAccountId?: string; + /** @description The original CSV file name, e.g. people.csv. */ + // @ApiMember(Description="The original CSV file name, e.g. people.csv.", IsRequired=true) + public fileName: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'RequestImportUploadUrlRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new RequestImportUploadUrlResponse(); } +} + +/** @description Database */ +// @Route("/{version}/database/imports/analyze", "POST") +// @Api(Description="Database") +export class AnalyzeImportFileRequest extends CodeMashRequestBase implements IReturn +{ + /** @description The uploaded CSV's file ref, from the upload-url call. */ + // @ApiMember(Description="The uploaded CSV's file ref, from the upload-url call.", IsRequired=true) + public file: FileResourceRefDto; + + /** @description The CSV delimiter, e.g. "," or ";". */ + // @ApiMember(Description="The CSV delimiter, e.g. \",\" or \";\".", IsRequired=true) + public delimiter: string; + + /** @description Whether the first row is a header row. */ + // @ApiMember(Description="Whether the first row is a header row.") + public hasHeader: boolean; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'AnalyzeImportFileRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new AnalyzeImportFileResponse(); } +} + +/** @description Delete saved Mongo aggregation */ +// @Route("/{version}/database/aggregates/{Id}", "DELETE") +// @Api(Description="Delete saved Mongo aggregation") +// @DataContract +export class DeleteDatabaseAggregateRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Aggregate id to delete, from get_database_aggregates. */ + // @DataMember + // @ApiMember(Description="Aggregate id to delete, from get_database_aggregates.", IsRequired=true) + public id: string; + + /** @description Schema id that owns this aggregate, from get_database_schemas. */ + // @DataMember + // @ApiMember(Description="Schema id that owns this aggregate, from get_database_schemas.", IsRequired=true) + public schemaId: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DeleteDatabaseAggregateRequest'; } + public getMethod() { return 'DELETE'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Get saved Mongo aggregation by id */ +// @Route("/{version}/database/aggregates/{Id}", "GET") +// @Api(Description="Get saved Mongo aggregation by id") +export class GetDatabaseAggregate extends CodeMashRequestBase implements IReturn +{ + /** @description Aggregate id from get_database_aggregates. */ + // @ApiMember(Description="Aggregate id from get_database_aggregates.", IsRequired=true) + public id: string; + + /** @description Schema id that owns this aggregate, from get_database_schemas. */ + // @ApiMember(Description="Schema id that owns this aggregate, from get_database_schemas.", IsRequired=true) + public schemaId: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetDatabaseAggregate'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetDatabaseAggregateResponse(); } +} + +/** @description Lists saved Mongo aggregations for a schema */ +// @Route("/{version}/database/aggregates", "GET") +// @Api(Description="Lists saved Mongo aggregations for a schema") +export class GetDatabaseAggregates extends CodeMashListPaginationRequestBase implements IReturn +{ + /** @description Schema id whose saved aggregates to list, from get_database_schemas. */ + // @ApiMember(Description="Schema id whose saved aggregates to list, from get_database_schemas.", IsRequired=true) + public schemaId: string; + + public pagingArgs?: PagingArgs; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetDatabaseAggregates'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetDatabaseAggregatesResponse(); } +} + +/** @description Creates or updates a saved Mongo aggregation */ +// @Route("/{version}/database/aggregates", "POST") +// @Api(Description="Creates or updates a saved Mongo aggregation") +// @DataContract +export class SaveDatabaseAggregateRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Empty to create a new saved aggregate; set to an existing aggregate id (from get_database_aggregates) to update it. */ + // @DataMember + // @ApiMember(Description="Empty to create a new saved aggregate; set to an existing aggregate id (from get_database_aggregates) to update it.") + public viewId?: string; + + /** @description Schema id that owns this aggregate, from get_database_schemas. */ + // @DataMember + // @ApiMember(Description="Schema id that owns this aggregate, from get_database_schemas.", IsRequired=true) + public schemaId: string; + + /** @description Human-readable display name for the saved aggregate. */ + // @DataMember + // @ApiMember(Description="Human-readable display name for the saved aggregate.", IsRequired=true) + public displayName: string; + + /** @description Optional free-text description of what the aggregate does. */ + // @DataMember + // @ApiMember(Description="Optional free-text description of what the aggregate does.") + public description?: string; + + /** @description MongoDB aggregation pipeline JSON, optionally containing {TokenKey} placeholders substituted at execute time. */ + // @DataMember + // @ApiMember(Description="MongoDB aggregation pipeline JSON, optionally containing {TokenKey} placeholders substituted at execute time.", IsRequired=true) + public pipeline: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'SaveDatabaseAggregateRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IdResponse(); } +} + +/** @description Test-run an aggregation pipeline with caller-supplied tokens */ +// @Route("/{version}/database/aggregates/test", "POST") +// @Api(Description="Test-run an aggregation pipeline with caller-supplied tokens") +// @DataContract +export class TestDatabaseAggregateRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Optional database integration id. When omitted, the project's default database integration is used. */ + // @DataMember + // @ApiMember(Description="Optional database integration id. When omitted, the project's default database integration is used.") + public databaseIntegrationId?: string; + + /** @description Name of the collection (schema) to run the aggregation against. */ + // @DataMember + // @ApiMember(Description="Name of the collection (schema) to run the aggregation against.", IsRequired=true) + public collectionName: string; + + /** @description MongoDB aggregation pipeline JSON, optionally containing {TokenKey} placeholders to be substituted from tokens. */ + // @DataMember + // @ApiMember(Description="MongoDB aggregation pipeline JSON, optionally containing {TokenKey} placeholders to be substituted from tokens.", IsRequired=true) + public pipeline: string; + + /** @description Optional key/value substitutions for {TokenKey} placeholders in the pipeline. */ + // @DataMember + // @ApiMember(Description="Optional key/value substitutions for {TokenKey} placeholders in the pipeline.") + public tokens?: { [index:string]: string; }; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'TestDatabaseAggregateRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new TestDatabaseAggregateResponse(); } +} + +export class ProcessCollectionImport +{ + public importId: string; + public projectId: string; + public accountId: string; + public databaseIntegrationId: string; + public env?: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } + public getTypeName() { return 'ProcessCollectionImport'; } + public getMethod() { return 'POST'; } + public createResponse() {} +} + +// @Route("/{version}/files/disable", "GET") +export class DisableFiles extends CodeMashRequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DisableFiles'; } + public getMethod() { return 'GET'; } + public createResponse() { return new EmptyResponse(); } +} + +// @Route("/{version}/files/enable", "GET") +export class EnableFiles extends CodeMashRequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'EnableFiles'; } + public getMethod() { return 'GET'; } + public createResponse() { return new EmptyResponse(); } +} + +// @Route("/{version}/files/triggers/{triggerId}", "DELETE") +// @DataContract +export class DeleteFilesTrigger extends DeleteTrigger implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DeleteFilesTrigger'; } + public getMethod() { return 'DELETE'; } + public createResponse() { return new EmptyResponse(); } +} + +// @Route("/{version}/files/triggers/{triggerId}/disable", "PATCH") +// @DataContract +export class DisableFilesTrigger extends DisableTrigger implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DisableFilesTrigger'; } + public getMethod() { return 'PATCH'; } + public createResponse() { return new EmptyResponse(); } +} + +// @Route("/{version}/files/triggers/{triggerId}/enable", "PATCH") +// @DataContract +export class EnableFilesTrigger extends EnableTrigger implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'EnableFilesTrigger'; } + public getMethod() { return 'PATCH'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Gets files trigger by specified Id */ +// @Route("/{version}/files/triggers/{id}", "GET") +// @Api(Description="Gets files trigger by specified Id") +export class GetFilesTrigger extends GetTrigger implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetFilesTrigger'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetFilesTriggerResponse(); } +} + +/** @description Gets files triggers */ +// @Route("/{version}/files/triggers", "GET") +// @Api(Description="Gets files triggers") +export class GetFilesTriggers extends GetTriggers implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetFilesTriggers'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetFilesTriggersResponse(); } +} + +// @Route("/{version}/files/triggers", "POST") +// @DataContract +export class SaveFilesTrigger extends SaveTrigger implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'SaveFilesTrigger'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IdResponse(); } +} + +// @Route("/{version}/files/item/private", "POST") +export class MakeFilePrivateRequest extends CodeMashRequestBase implements IReturn +{ + /** @description The files integration the file lives on. */ + // @ApiMember(Description="The files integration the file lives on.", IsRequired=true) + public filesIntegrationId: string; + + /** @description Path of the file, relative to the integration. */ + // @ApiMember(Description="Path of the file, relative to the integration.", IsRequired=true) + public path: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'MakeFilePrivateRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new EmptyResponse(); } +} + +// @Route("/{version}/files/item/public", "POST") +export class MakeFilePublicRequest extends CodeMashRequestBase implements IReturn +{ + /** @description The files integration the file lives on. */ + // @ApiMember(Description="The files integration the file lives on.", IsRequired=true) + public filesIntegrationId: string; + + /** @description Path of the file to publish, relative to the integration. */ + // @ApiMember(Description="Path of the file to publish, relative to the integration.", IsRequired=true) + public path: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'MakeFilePublicRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IdResponse(); } +} + +// @Route("/{version}/files/folder/private", "POST") +export class MakeFolderPrivateRequest extends CodeMashRequestBase implements IReturn +{ + /** @description The files integration the folder lives on. */ + // @ApiMember(Description="The files integration the folder lives on.", IsRequired=true) + public filesIntegrationId: string; + + /** @description Folder prefix, relative to the integration. */ + // @ApiMember(Description="Folder prefix, relative to the integration.", IsRequired=true) + public path: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'MakeFolderPrivateRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new EmptyResponse(); } +} + +// @Route("/{version}/files/folder/public", "POST") +export class MakeFolderPublicRequest extends CodeMashRequestBase implements IReturn +{ + /** @description The files integration the folder lives on. */ + // @ApiMember(Description="The files integration the folder lives on.", IsRequired=true) + public filesIntegrationId: string; + + /** @description Folder prefix to publish, relative to the integration. */ + // @ApiMember(Description="Folder prefix to publish, relative to the integration.", IsRequired=true) + public path: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'MakeFolderPublicRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IdResponse(); } +} + +// @Route("/{version}/files/integrations/{Id}", "DELETE") +export class DeleteFilesIntegrationRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Files integration id to delete, from get_files_integrations. */ + // @ApiMember(Description="Files integration id to delete, from get_files_integrations.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DeleteFilesIntegrationRequest'; } + public getMethod() { return 'DELETE'; } + public createResponse() { return new EmptyResponse(); } +} + +// @Route("/{version}/files/integrations/{Id}/disable", "PUT") +export class DisableFilesIntegrationRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Files integration id to disable, from get_files_integrations. */ + // @ApiMember(Description="Files integration id to disable, from get_files_integrations.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DisableFilesIntegrationRequest'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} + +// @Route("/{version}/files/integrations/{Id}/enable", "PUT") +export class EnableFilesIntegrationRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Files integration id to enable, from get_files_integrations. */ + // @ApiMember(Description="Files integration id to enable, from get_files_integrations.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'EnableFilesIntegrationRequest'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Gets integration by specified Id */ +// @Route("/{version}/files/integrations/{id}", "GET") +// @Api(Description="Gets integration by specified Id") +export class GetFilesIntegration extends CodeMashRequestBase implements IReturn +{ + /** @description Files integration id to fetch, from get_files_integrations. */ + // @ApiMember(Description="Files integration id to fetch, from get_files_integrations.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetFilesIntegration'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetFilesIntegrationResponse(); } +} + +/** @description Gets integrations */ +// @Route("/{version}/files/integrations", "GET") +// @Api(Description="Gets integrations") +export class GetFilesIntegrations extends CodeMashListPaginationRequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetFilesIntegrations'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetFilesIntegrationsResponse(); } +} + +// @Route("/{version}/files/integrations", "POST") +// @DataContract +export class SaveFilesIntegration extends CodeMashRequestBase implements IReturn +{ + // @DataMember(Name="integration") + public integration: FilesIntegrationRequest; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'SaveFilesIntegration'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IdResponse(); } +} + +// @Route("/{version}/files/integrations/{Id}/default", "PUT") +export class SetFilesIntegrationAsDefaultRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Files integration id to set as default, from get_files_integrations. */ + // @ApiMember(Description="Files integration id to set as default, from get_files_integrations.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'SetFilesIntegrationAsDefaultRequest'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} + +// @Route("/{version}/files/integrations/test", "POST") +export class TestFilesIntegration extends CodeMashRequestBase implements IReturn +{ + /** @description Integration id, from get_files_integrations. */ + // @ApiMember(Description="Integration id, from get_files_integrations.", IsRequired=true) + public integrationId: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'TestFilesIntegration'; } + public getMethod() { return 'POST'; } + public createResponse() { return new TestFilesIntegrationResponse(); } +} + +// @Route("/{version}/files/item", "GET") +export class GetFile extends CodeMashRequestBase implements IReturn +{ + /** @description The files integration id to read from, from get_files_integrations. */ + // @ApiMember(Description="The files integration id to read from, from get_files_integrations.", IsRequired=true) + public filesIntegrationId: string; + + /** @description The path of the file to fetch metadata for. */ + // @ApiMember(Description="The path of the file to fetch metadata for.", IsRequired=true) + public path: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetFile'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetFileResponse(); } +} + +// @Route("/{version}/files/folder", "GET") +export class GetFolderFiles extends CodeMashListPaginationRequestBase implements IReturn +{ + /** @description The files integration id to list from, from get_files_integrations. */ + // @ApiMember(Description="The files integration id to list from, from get_files_integrations.", IsRequired=true) + public filesIntegrationId: string; + + /** @description Path prefix to list. Empty / null lists the root. */ + // @ApiMember(Description="Path prefix to list. Empty / null lists the root.") + public path?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetFolderFiles'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetFolderFilesResponse(); } +} + +/** @description Disable email service */ +// @Route("/{version}/notifications/email/disable", "GET") +// @Api(Description="Disable email service") +export class DisableEmail extends CodeMashRequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DisableEmail'; } + public getMethod() { return 'GET'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Get email disable dependencies */ +// @Route("/{version}/notifications/email/disable-dependencies", "GET") +// @Api(Description="Get email disable dependencies") +export class GetEmailDisableDependencies extends CodeMashRequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetEmailDisableDependencies'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetNotificationModuleDisableDependenciesResponse(); } +} + +/** @description Enable email service */ +// @Route("/{version}/notifications/email/enable", "GET") +// @Api(Description="Enable email service") +export class EnableEmail extends CodeMashRequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'EnableEmail'; } + public getMethod() { return 'GET'; } + public createResponse() { return new EmptyResponse(); } +} + +// @Route("/{version}/notifications/email/validation/integrations", "POST") +// @DataContract +export class SaveEmailValidationIntegration extends CodeMashRequestBase implements IReturn +{ + // @DataMember(Name="integration") + public integration: EmailValidationIntegrationRequest; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'SaveEmailValidationIntegration'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IdResponse(); } +} + +// @Route("/{version}/notifications/email/validation/integrations/test", "POST") +export class TestEmailValidationIntegration extends CodeMashRequestBase implements IReturn +{ + public integrationId: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'TestEmailValidationIntegration'; } + public getMethod() { return 'POST'; } + public createResponse() { return new TestEmailValidationIntegrationResponse(); } +} + +/** @description Attach a file to an email template */ +// @Route("/{version}/notifications/email/templates/attachments", "POST") +// @Api(Description="Attach a file to an email template") +export class AttachFileToTemplateRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Optional language code to scope the attachment to a single translation. Omit to attach at the template level. */ + // @ApiMember(Description="Optional language code to scope the attachment to a single translation. Omit to attach at the template level.") + public language?: string; + + /** @description The email template id to attach the file to. Get it from get_email_templates. */ + // @ApiMember(Description="The email template id to attach the file to. Get it from get_email_templates.", IsRequired=true) + public templateId: string; + + /** @description The file resource reference to attach (from a prior file upload). */ + // @ApiMember(Description="The file resource reference to attach (from a prior file upload).", IsRequired=true) + public fileRef: FileResourceRefDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'AttachFileToTemplateRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Create an email template */ +// @Route("/{version}/notifications/email/templates", "POST") +// @Api(Description="Create an email template") +export class CreateEmailTemplateRequest extends SaveEmailTemplate implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'CreateEmailTemplateRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IdResponse(); } +} + +/** @description Delete an email template */ +// @Route("/{version}/notifications/email/templates/{Id}", "DELETE") +// @Api(Description="Delete an email template") +export class DeleteEmailTemplateRequest extends CodeMashRequestBase implements IReturn +{ + /** @description The email template id to delete. Get it from get_email_templates. */ + // @ApiMember(Description="The email template id to delete. Get it from get_email_templates.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DeleteEmailTemplateRequest'; } + public getMethod() { return 'DELETE'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Get an email template */ +// @Route("/{version}/notifications/email/templates/{id}", "GET") +// @Api(Description="Get an email template") +export class GetEmailTemplate extends CodeMashRequestBase implements IReturn +{ + /** @description The email template id to fetch. Get it from get_email_templates. */ + // @ApiMember(Description="The email template id to fetch. Get it from get_email_templates.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetEmailTemplate'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetEmailTemplateResponse(); } +} + +/** @description Gets email templates */ +// @Route("/{version}/notifications/email/templates", "GET") +// @Api(Description="Gets email templates") +export class GetEmailTemplates extends CodeMashListPaginationRequestBase implements IReturn +{ + /** @description Set true to include archived templates. */ + // @ApiMember(Description="Set true to include archived templates.") + public showArchived?: boolean; + + /** @description Optional: return only the template with this id. */ + // @ApiMember(Description="Optional: return only the template with this id.") + public templateId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetEmailTemplates'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetEmailTemplatesResponse(); } +} + +/** @description Render MJML email template */ +// @Route("/{version}/notifications/email/templates/mjml", "POST") +// @Api(Description="Render MJML email template") +export class GetMjml extends CodeMashRequestBase implements IReturn +{ + /** @description The MJML/Razor template source code to render. */ + // @ApiMember(Description="The MJML/Razor template source code to render.", IsRequired=true) + public code: string; + + /** @description Optional token values to bind into the template while rendering. */ + // @ApiMember(Description="Optional token values to bind into the template while rendering.") + public tokens?: TokenMappingDto[]; + + /** @description Set true when rendering for a preview (vs. a final save), to affect how missing tokens are handled. */ + // @ApiMember(Description="Set true when rendering for a preview (vs. a final save), to affect how missing tokens are handled.") + public isForPreview: boolean; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetMjml'; } + public getMethod() { return 'POST'; } + public createResponse() { return new GetHtmlFromMjmlResponse(); } +} + +/** @description Get a system email template */ +// @Route("/{version}/notifications/email/system-templates/{id}", "GET") +// @Api(Description="Get a system email template") +export class GetSystemEmailTemplate extends CodeMashRequestBase implements IReturn +{ + /** @description The system email template id to fetch. Get it from get_system_email_templates. */ + // @ApiMember(Description="The system email template id to fetch. Get it from get_system_email_templates.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetSystemEmailTemplate'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetSystemEmailTemplateResponse(); } +} + +/** @description Get system email templates */ +// @Route("/{version}/notifications/email/system-templates", "GET") +// @Api(Description="Get system email templates") +export class GetSystemEmailTemplates extends CodeMashListPaginationRequestBase implements IReturn +{ + /** @description Optional group tags to filter templates by (e.g. newsletter, onboarding). */ + // @ApiMember(Description="Optional group tags to filter templates by (e.g. newsletter, onboarding).") + public groupTags?: string[]; + + /** @description Optional visual themes to filter templates by. */ + // @ApiMember(Description="Optional visual themes to filter templates by.") + public themes?: string[]; + + /** @description Optional communication channel to filter templates by (e.g. Transactional, Marketing). */ + // @ApiMember(Description="Optional communication channel to filter templates by (e.g. Transactional, Marketing).") + public communicationChannel?: CommunicationChannel; + + /** @description Optional trigger type to filter templates that are designed for a specific automated trigger. */ + // @ApiMember(Description="Optional trigger type to filter templates that are designed for a specific automated trigger.") + public forTrigger?: TriggerType; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetSystemEmailTemplates'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetSystemEmailTemplatesResponse(); } +} + +/** @description Gets the tokens used by an email template */ +// @Route("/{version}/notifications/email/templates/{id}/tokens", "GET") +// @Api(Description="Gets the tokens used by an email template") +export class GetEmailTemplateAvailableTokens extends CodeMashRequestBase implements IReturn +{ + /** @description Template id from get_email_templates. */ + // @ApiMember(Description="Template id from get_email_templates.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetEmailTemplateAvailableTokens'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetEmailTemplateAvailableTokensResponse(); } +} + +/** @description Update an email template */ +// @Route("/{version}/notifications/email/templates", "PUT") +// @Api(Description="Update an email template") +export class UpdateEmailTemplateRequest extends SaveEmailTemplate implements IReturn +{ + /** @description The email template id to update. Get it from get_email_templates. */ + // @ApiMember(Description="The email template id to update. Get it from get_email_templates.", IsRequired=true) + public viewId: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'UpdateEmailTemplateRequest'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Delete an email signature */ +// @Route("/{version}/notifications/email/signatures/{id}", "DELETE") +// @Api(Description="Delete an email signature") +export class DeleteEmailSignature extends CodeMashRequestBase implements IReturn +{ + /** @description The email signature id to delete. Get it from get_email_signatures. */ + // @ApiMember(Description="The email signature id to delete. Get it from get_email_signatures.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DeleteEmailSignature'; } + public getMethod() { return 'DELETE'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Get an email signature */ +// @Route("/{version}/notifications/email/signatures/{id}", "GET") +// @Api(Description="Get an email signature") +export class GetEmailSignature extends CodeMashRequestBase implements IReturn +{ + /** @description The email signature id to fetch. Get it from get_email_signatures. */ + // @ApiMember(Description="The email signature id to fetch. Get it from get_email_signatures.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetEmailSignature'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetEmailSignatureResponse(); } +} + +/** @description Get email signatures */ +// @Route("/{version}/notifications/email/signatures", "GET") +// @Api(Description="Get email signatures") +export class GetEmailSignatures extends CodeMashListPaginationRequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetEmailSignatures'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetEmailSignaturesResponse(); } +} + +/** @description Save an email signature */ +// @Route("/{version}/notifications/email/signatures", "POST") +// @Api(Description="Save an email signature") +export class SaveEmailSignatureRequest extends CodeMashRequestBase implements IReturn +{ + /** @description The signature id to update. Omit to create a new signature. Get it from get_email_signatures. */ + // @ApiMember(Description="The signature id to update. Omit to create a new signature. Get it from get_email_signatures.") + public viewId?: string; + + /** @description The display name of the signature. */ + // @ApiMember(Description="The display name of the signature.", IsRequired=true) + public displayName: string; + + /** @description The per-language content translations for this signature. */ + // @ApiMember(Description="The per-language content translations for this signature.", IsRequired=true) + public translations: TranslationDto[] = []; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'SaveEmailSignatureRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IdResponse(); } +} + +/** @description Get email settings */ +// @Route("/{version}/notifications/email/settings", "GET") +// @Api(Description="Get email settings") +export class GetEmailSettings extends CodeMashRequestBase implements IReturn +{ + /** @description Unused legacy field; leave empty. */ + // @ApiMember(Description="Unused legacy field; leave empty.") + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetEmailSettings'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetEmailSettingsResponse(); } +} + +/** @description Confirm human delivery of a test email */ +// @Route("/{version}/notifications/email/integrations/confirm-human-delivery", "POST") +// @Api(Description="Confirm human delivery of a test email") +// @DataContract +export class ConfirmEmailIntegrationHumanDeliveryRequest extends CodeMashRequestBase implements IReturn +{ + /** @description The email integration id the test delivery was confirmed for. Get it from get_email_integrations. */ + // @DataMember + // @ApiMember(Description="The email integration id the test delivery was confirmed for. Get it from get_email_integrations.", IsRequired=true) + public integrationId: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'ConfirmEmailIntegrationHumanDeliveryRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Delete an email integration */ +// @Route("/{version}/notifications/email/integrations/{Id}", "DELETE") +// @Api(Description="Delete an email integration") +export class DeleteEmailIntegration extends CodeMashRequestBase implements IReturn +{ + /** @description The email integration id to delete. Get it from get_email_integrations. */ + // @ApiMember(Description="The email integration id to delete. Get it from get_email_integrations.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DeleteEmailIntegration'; } + public getMethod() { return 'DELETE'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Disable an email integration */ +// @Route("/{version}/notifications/email/integrations/{Id}/disable", "PUT") +// @Api(Description="Disable an email integration") +export class DisableEmailIntegration extends CodeMashRequestBase implements IReturn +{ + /** @description The email integration id to disable. Get it from get_email_integrations. */ + // @ApiMember(Description="The email integration id to disable. Get it from get_email_integrations.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DisableEmailIntegration'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Check email integration domain health */ +// @Route("/{version}/notifications/email/integrations/domain-health", "POST") +// @Api(Description="Check email integration domain health") +// @DataContract +export class CheckEmailIntegrationDomainHealthRequest extends CodeMashRequestBase implements IReturn +{ + /** @description The email integration id to check DNS health for. Get it from get_email_integrations. */ + // @DataMember + // @ApiMember(Description="The email integration id to check DNS health for. Get it from get_email_integrations.", IsRequired=true) + public integrationId: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'CheckEmailIntegrationDomainHealthRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new CheckEmailIntegrationDomainHealthResponse(); } +} + +/** @description Enable an email integration */ +// @Route("/{version}/notifications/email/integrations/{Id}/enable", "PUT") +// @Api(Description="Enable an email integration") +export class EnableEmailIntegration extends CodeMashRequestBase implements IReturn +{ + /** @description The email integration id to enable. Get it from get_email_integrations. */ + // @ApiMember(Description="The email integration id to enable. Get it from get_email_integrations.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'EnableEmailIntegration'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Get an email integration */ +// @Route("/{version}/notifications/email/integrations/{id}", "GET") +// @Api(Description="Get an email integration") +export class GetEmailIntegration extends CodeMashRequestBase implements IReturn +{ + /** @description The email integration id to fetch. Get it from get_email_integrations. */ + // @ApiMember(Description="The email integration id to fetch. Get it from get_email_integrations.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetEmailIntegration'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetEmailIntegrationResponse(); } +} + +/** @description Gets email integrations */ +// @Route("/{version}/notifications/email/integrations", "GET") +// @Api(Description="Gets email integrations") +export class GetEmailIntegrations extends CodeMashListPaginationRequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetEmailIntegrations'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetEmailIntegrationsResponse(); } +} + +// @Route("/{version}/notifications/email/integrations", "POST") +// @DataContract +export class SaveEmailIntegration extends CodeMashRequestBase implements IReturn +{ + // @DataMember(Name="integration") + public integration: EmailIntegrationRequest; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'SaveEmailIntegration'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IdResponse(); } +} + +/** @description Set an email integration as default */ +// @Route("/{version}/notifications/email/integrations/{Id}/default", "PUT") +// @Api(Description="Set an email integration as default") +export class SetEmailsIntegrationAsDefault extends CodeMashRequestBase implements IReturn +{ + /** @description The email integration id to set as default. Get it from get_email_integrations. */ + // @ApiMember(Description="The email integration id to set as default. Get it from get_email_integrations.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'SetEmailsIntegrationAsDefault'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Test an email integration */ +// @Route("/{version}/notifications/email/integrations/test", "POST") +// @Api(Description="Test an email integration") +export class TestEmailIntegration extends CodeMashRequestBase implements IReturn +{ + /** @description The email integration id to test. Get it from get_email_integrations. */ + // @ApiMember(Description="The email integration id to test. Get it from get_email_integrations.", IsRequired=true) + public integrationId: string; + + /** @description The recipient email address to send the test email to. */ + // @ApiMember(Description="The recipient email address to send the test email to.", IsRequired=true) + public to: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'TestEmailIntegration'; } + public getMethod() { return 'POST'; } + public createResponse() { return new TestEmailIntegrationResponse(); } +} + +/** @description Archive an email template */ +// @Route("/{version}/notifications/email/templates/{Id}/archive", "PUT") +// @Api(Description="Archive an email template") +export class ArchiveEmailTemplateRequest extends CodeMashRequestBase implements IReturn +{ + /** @description The email template id to archive. Get it from get_email_templates. */ + // @ApiMember(Description="The email template id to archive. Get it from get_email_templates.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'ArchiveEmailTemplateRequest'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Clone an email template */ +// @Route("/{version}/notifications/email/templates/{Id}/clone", "POST") +// @Api(Description="Clone an email template") +export class CloneEmailTemplateRequest extends CodeMashRequestBase implements IReturn +{ + /** @description The email template id to clone. Get it from get_email_templates. */ + // @ApiMember(Description="The email template id to clone. Get it from get_email_templates.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'CloneEmailTemplateRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Un-archive an email template */ +// @Route("/{version}/notifications/email/templates/{Id}/unarchive", "PUT") +// @Api(Description="Un-archive an email template") +export class UnArchiveEmailTemplateRequest extends CodeMashRequestBase implements IReturn +{ + /** @description The email template id to unarchive. Get it from get_email_templates. */ + // @ApiMember(Description="The email template id to unarchive. Get it from get_email_templates.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'UnArchiveEmailTemplateRequest'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Delete an email footer */ +// @Route("/{version}/notifications/email/footers/{id}", "DELETE") +// @Api(Description="Delete an email footer") +export class DeleteEmailFooter extends CodeMashRequestBase implements IReturn +{ + /** @description The email footer id to delete. Get it from get_email_footers. */ + // @ApiMember(Description="The email footer id to delete. Get it from get_email_footers.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DeleteEmailFooter'; } + public getMethod() { return 'DELETE'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Get an email footer */ +// @Route("/{version}/notifications/email/footers/{id}", "GET") +// @Api(Description="Get an email footer") +export class GetEmailFooter extends CodeMashRequestBase implements IReturn +{ + /** @description The email footer id to fetch. Get it from get_email_footers. */ + // @ApiMember(Description="The email footer id to fetch. Get it from get_email_footers.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetEmailFooter'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetEmailFooterResponse(); } +} + +/** @description Get email footers */ +// @Route("/{version}/notifications/email/footers", "GET") +// @Api(Description="Get email footers") +export class GetEmailFooters extends CodeMashListPaginationRequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetEmailFooters'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetEmailFootersResponse(); } +} + +/** @description Save an email footer */ +// @Route("/{version}/notifications/email/footers", "POST") +// @Api(Description="Save an email footer") +export class SaveEmailFooterRequest extends CodeMashRequestBase implements IReturn +{ + /** @description The footer id to update. Omit to create a new footer. Get it from get_email_footers. */ + // @ApiMember(Description="The footer id to update. Omit to create a new footer. Get it from get_email_footers.") + public viewId?: string; + + /** @description The display name of the footer. */ + // @ApiMember(Description="The display name of the footer.", IsRequired=true) + public displayName: string; + + /** @description The per-language content translations for this footer. */ + // @ApiMember(Description="The per-language content translations for this footer.", IsRequired=true) + public translations: TranslationDto[] = []; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'SaveEmailFooterRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IdResponse(); } +} + +/** @description This endpoint implements the RFC 8058 one-click unsubscribe flow used by mailbox providers. */ +// @Route("/{version}/email/one-click-unsubscribe", "POST") +// @Api(Description="This endpoint implements the RFC 8058 one-click unsubscribe flow used by mailbox providers.") +// @DataContract +export class OneClickUnsubscribeRequest extends RequestBase implements IReturn +{ + /** @description Encrypted unsubscribe token. The campaign batcher embedded this value in the List-Unsubscribe header. */ + // @DataMember + // @ApiMember(Description="Encrypted unsubscribe token. The campaign batcher embedded this value in the List-Unsubscribe header.", IsRequired=true, Name="token", ParameterType="query") + public token: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'OneClickUnsubscribeRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Create email campaign */ +// @Route("/{version}/notifications/email/campaigns", "POST") +// @Api(Description="Create email campaign") +// @DataContract +export class CreateEmailCampaignRequest extends CodeMashRequestBase implements IReturn +{ + // @DataMember + public campaign: EmailCampaignRequest; + + // @DataMember + public databaseIntegrationId?: string; + + /** @description Optional. true sends the campaign now (or at a campaignTime sooner than the review window). Without it, a campaign created by an AI tool must be scheduled at least 24 hours ahead for role-based / all-users / collection audiences and at least 1 hour ahead for direct recipient lists, or it is rejected with CM-ERRORS-CAMPAIGNS-016. Set it only when the user explicitly asked to send now. */ + // @DataMember + // @ApiMember(Description="Optional. true sends the campaign now (or at a campaignTime sooner than the review window). Without it, a campaign created by an AI tool must be scheduled at least 24 hours ahead for role-based / all-users / collection audiences and at least 1 hour ahead for direct recipient lists, or it is rejected with CM-ERRORS-CAMPAIGNS-016. Set it only when the user explicitly asked to send now.") + public sendNow?: boolean; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'CreateEmailCampaignRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IdResponse(); } +} + +/** @description Deletes emails campaign from queue */ +// @Route("/{version}/notifications/email/campaigns/{Id}", "DELETE") +// @Api(Description="Deletes emails campaign from queue") +// @DataContract +export class DeleteEmailCampaignRequest extends CodeMashRequestBase implements IReturn +{ + // @DataMember + public id: string; + + // @DataMember + public databaseIntegrationId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DeleteEmailCampaignRequest'; } + public getMethod() { return 'DELETE'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Gets email campaign by id */ +// @Route("/{version}/notifications/email/campaigns/{id}", "GET") +// @Api(Description="Gets email campaign by id") +export class GetEmailCampaign extends CodeMashRequestBase implements IReturn +{ + /** @description The campaign id. */ + // @ApiMember(Description="The campaign id.") + public id: string; + + /** @description Optional. Omit to use the project default database integration (resolved per environment). */ + // @ApiMember(Description="Optional. Omit to use the project default database integration (resolved per environment).") + public databaseIntegrationId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetEmailCampaign'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetEmailCampaignResponse(); } +} + +/** @description Gets email campaigns */ +// @Route("/{version}/notifications/email/campaigns", "GET") +// @Api(Description="Gets email campaigns") +export class GetEmailCampaigns extends CodeMashListPaginationRequestBase implements IReturn +{ + /** @description Optional. When omitted, the project's default database integration is used (resolved server-side from the project state). */ + // @ApiMember(Description="Optional. When omitted, the project's default database integration is used (resolved server-side from the project state).") + public databaseIntegrationId?: string; + + /** @description Optional: return only the campaign with this id. */ + // @ApiMember(Description="Optional: return only the campaign with this id.") + public campaignId?: string; + + /** @description Optional: only campaigns that targeted this email address. */ + // @ApiMember(Description="Optional: only campaigns that targeted this email address.") + public emailAddress?: string; + + /** @description Optional: only campaigns built on this email template id. */ + // @ApiMember(Description="Optional: only campaigns built on this email template id.") + public templateId?: string; + + /** @description Optional lower bound for the campaign time, unix timestamp in seconds (UTC). */ + // @ApiMember(Description="Optional lower bound for the campaign time, unix timestamp in seconds (UTC).") + public from?: number; + + /** @description Optional upper bound for the campaign time, unix timestamp in seconds (UTC). */ + // @ApiMember(Description="Optional upper bound for the campaign time, unix timestamp in seconds (UTC).") + public to?: number; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetEmailCampaigns'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetEmailCampaignsResponse(); } +} + +/** @description Get email campaign batches */ +// @Route("/{version}/notifications/email/campaigns/{id}/batches", "GET") +// @Api(Description="Get email campaign batches") +export class GetEmailCampaignBatches extends CodeMashListPaginationRequestBase implements IReturn +{ + /** @description The email campaign id to list batches for. Get it from get_all_email_campaigns. */ + // @ApiMember(Description="The email campaign id to list batches for. Get it from get_all_email_campaigns.", IsRequired=true) + public id: string; + + /** @description Optional. Omit to use the project default database integration (resolved per environment). */ + // @ApiMember(Description="Optional. Omit to use the project default database integration (resolved per environment).") + public databaseIntegrationId?: string; + + /** @description Optional batch id to filter to a single batch. Get it from a prior call to this tool. */ + // @ApiMember(Description="Optional batch id to filter to a single batch. Get it from a prior call to this tool.") + public batchId?: string; + + /** @description Optional recipient email address to filter batches by. */ + // @ApiMember(Description="Optional recipient email address to filter batches by.") + public emailAddress?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetEmailCampaignBatches'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetEmailCampaignBatchesResponse(); } +} + +/** @description Get an email campaign batch notification */ +// @Route("/{version}/notifications/email/campaigns/{id}/batches/{batchId}/{notificationId}", "GET") +// @Api(Description="Get an email campaign batch notification") +export class GetEmailCampaignBatchNotification extends CodeMashListPaginationRequestBase implements IReturn +{ + /** @description The email campaign id. Get it from get_all_email_campaigns. */ + // @ApiMember(Description="The email campaign id. Get it from get_all_email_campaigns.", IsRequired=true) + public id: string; + + /** @description The campaign batch id. Get it from get_email_campaign_batches. */ + // @ApiMember(Description="The campaign batch id. Get it from get_email_campaign_batches.", IsRequired=true) + public batchId: string; + + /** @description The notification id within the batch. Get it from get_email_campaign_batch_notifications. */ + // @ApiMember(Description="The notification id within the batch. Get it from get_email_campaign_batch_notifications.", IsRequired=true) + public notificationId: string; + + /** @description Optional. Omit to use the project default database integration (resolved per environment). */ + // @ApiMember(Description="Optional. Omit to use the project default database integration (resolved per environment).") + public databaseIntegrationId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetEmailCampaignBatchNotification'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetEmailCampaignBatchNotificationResponse(); } +} + +/** @description Get email campaign batch notifications */ +// @Route("/{version}/notifications/email/campaigns/{id}/batches/{batchId}", "GET") +// @Api(Description="Get email campaign batch notifications") +export class GetEmailCampaignBatchNotifications extends CodeMashListPaginationRequestBase implements IReturn +{ + /** @description The email campaign id. Get it from get_all_email_campaigns. */ + // @ApiMember(Description="The email campaign id. Get it from get_all_email_campaigns.", IsRequired=true) + public id: string; + + /** @description The campaign batch id to list notifications for. Get it from get_email_campaign_batches. */ + // @ApiMember(Description="The campaign batch id to list notifications for. Get it from get_email_campaign_batches.", IsRequired=true) + public batchId: string; + + /** @description Optional. Omit to use the project default database integration (resolved per environment). */ + // @ApiMember(Description="Optional. Omit to use the project default database integration (resolved per environment).") + public databaseIntegrationId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetEmailCampaignBatchNotifications'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetEmailCampaignBatchNotificationsResponse(); } +} + +/** @description Get email campaign statistics */ +// @Route("/{version}/notifications/email/campaigns/{id}/stats", "GET") +// @Api(Description="Get email campaign statistics") +export class GetEmailCampaignStatistics extends CodeMashRequestBase implements IReturn +{ + /** @description The email campaign id to get statistics for. Get it from get_all_email_campaigns. */ + // @ApiMember(Description="The email campaign id to get statistics for. Get it from get_all_email_campaigns.", IsRequired=true) + public id: string; + + /** @description Optional. Omit to use the project default database integration (resolved per environment). */ + // @ApiMember(Description="Optional. Omit to use the project default database integration (resolved per environment).") + public databaseIntegrationId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetEmailCampaignStatistics'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetEmailCampaignStatisticsResponse(); } +} + +/** @description Preview an email notification */ +// @Route("/{version}/notifications/email/preview", "GET") +// @Api(Description="Preview an email notification") +export class PreviewEmailNotification extends RequestBase implements IReturn +{ + /** @description The signed preview link hash. With it the preview opens without sign-in: exactly one notification, until the link expires (30 days after sending). */ + // @ApiMember(Description="The signed preview link hash. With it the preview opens without sign-in: exactly one notification, until the link expires (30 days after sending).") + public hash: string; + + /** @description Signed-in preview by id: the project id. With a hash it must match the hash. */ + // @ApiMember(Description="Signed-in preview by id: the project id. With a hash it must match the hash.") + public projectId?: string; + + /** @description Signed-in preview by id: the notification id (needs email:read). With a hash it must match the hash. */ + // @ApiMember(Description="Signed-in preview by id: the notification id (needs email:read). With a hash it must match the hash.") + public notificationId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'PreviewEmailNotification'; } + public getMethod() { return 'GET'; } + public createResponse() { return new PreviewEmailNotificationResponse(); } +} + +/** @description Stops a running email campaign */ +// @Route("/{version}/notifications/email/campaigns/{Id}/stop", "POST") +// @Api(Description="Stops a running email campaign") +// @DataContract +export class StopEmailCampaignRequest extends CodeMashRequestBase implements IReturn +{ + /** @description The campaign id to stop. */ + // @DataMember + // @ApiMember(Description="The campaign id to stop.") + public id: string; + + /** @description Optional. Omit to use the project default database integration (resolved per environment). */ + // @DataMember + // @ApiMember(Description="Optional. Omit to use the project default database integration (resolved per environment).") + public databaseIntegrationId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'StopEmailCampaignRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Get an email campaign message */ +// @Route("/{version}/notifications/emails/campaigns/{campaignId}/messages/{notificationId}", "GET") +// @Api(Description="Get an email campaign message") +export class GetEmailCampaignMessage extends CodeMashRequestBase implements IReturn +{ + /** @description The email campaign id. Get it from get_all_email_campaigns. */ + // @ApiMember(Description="The email campaign id. Get it from get_all_email_campaigns.", IsRequired=true) + public campaignId: string; + + /** @description The campaign batch id. Get it from get_email_campaign_batches. */ + // @ApiMember(Description="The campaign batch id. Get it from get_email_campaign_batches.", IsRequired=true) + public campaignBatchId: string; + + /** @description The notification (message) id to fetch. Get it from get_email_campaign_messages. */ + // @ApiMember(Description="The notification (message) id to fetch. Get it from get_email_campaign_messages.", IsRequired=true) + public notificationId: string; + + /** @description Optional. Omit to use the project default database integration (resolved per environment). */ + // @ApiMember(Description="Optional. Omit to use the project default database integration (resolved per environment).") + public databaseIntegrationId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetEmailCampaignMessage'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetEmailCampaignMessageResponse(); } +} + +/** @description Get email campaign messages */ +// @Route("/{version}/notifications/emails/campaigns/{campaignId}/messages", "GET") +// @Api(Description="Get email campaign messages") +export class GetEmailCampaignMessagesRequest extends CodeMashListPaginationRequestBase implements IReturn +{ + /** @description The email campaign id. Get it from get_all_email_campaigns. */ + // @ApiMember(Description="The email campaign id. Get it from get_all_email_campaigns.", IsRequired=true) + public campaignId: string; + + /** @description The campaign batch id to list messages for. Get it from get_email_campaign_batches. */ + // @ApiMember(Description="The campaign batch id to list messages for. Get it from get_email_campaign_batches.", IsRequired=true) + public campaignBatchId: string; + + /** @description Optional. Omit to use the project default database integration (resolved per environment). */ + // @ApiMember(Description="Optional. Omit to use the project default database integration (resolved per environment).") + public databaseIntegrationId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetEmailCampaignMessagesRequest'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetEmailCampaignMessagesResponse(); } +} + +/** @description Disable SMS service */ +// @Route("/{version}/notifications/sms/disable", "GET") +// @Api(Description="Disable SMS service") +export class DisableSms extends CodeMashRequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DisableSms'; } + public getMethod() { return 'GET'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Lists SMS-module dependencies shown before disable */ +// @Route("/{version}/notifications/sms/disable-dependencies", "GET") +// @Api(Description="Lists SMS-module dependencies shown before disable") +export class GetSmsDisableDependencies extends CodeMashRequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetSmsDisableDependencies'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetNotificationModuleDisableDependenciesResponse(); } +} + +/** @description Enable SMS service */ +// @Route("/{version}/notifications/sms/enable", "GET") +// @Api(Description="Enable SMS service") +export class EnableSms extends CodeMashRequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'EnableSms'; } + public getMethod() { return 'GET'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Archives sms template */ +// @Route("/{version}/notifications/sms/templates/{Id}/archive", "PUT") +// @Api(Description="Archives sms template") +export class ArchiveSmsTemplateRequest extends CodeMashRequestBase implements IReturn +{ + /** @description The SMS template id to archive. Get it from get_sms_templates. */ + // @ApiMember(Description="The SMS template id to archive. Get it from get_sms_templates.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'ArchiveSmsTemplateRequest'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Clones sms template */ +// @Route("/{version}/notifications/sms/templates/{Id}/clone", "POST") +// @Api(Description="Clones sms template") +export class CloneSmsTemplateRequest extends CodeMashRequestBase implements IReturn +{ + /** @description The SMS template id to clone. Get it from get_sms_templates. */ + // @ApiMember(Description="The SMS template id to clone. Get it from get_sms_templates.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'CloneSmsTemplateRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Create SMS template */ +// @Route("/{version}/notifications/sms/templates", "POST") +// @Api(Description="Create SMS template") +export class CreateSmsTemplateRequest extends SaveSmsTemplate implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'CreateSmsTemplateRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IdResponse(); } +} + +/** @description Delete Sms Template for particular project */ +// @Route("/{version}/notifications/sms/templates/{Id}", "DELETE") +// @Api(Description="Delete Sms Template for particular project") +export class DeleteSmsTemplateRequest extends CodeMashRequestBase implements IReturn +{ + /** @description The SMS template id to delete. Get it from get_sms_templates. */ + // @ApiMember(Description="The SMS template id to delete. Get it from get_sms_templates.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DeleteSmsTemplateRequest'; } + public getMethod() { return 'DELETE'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Gets sms template by id */ +// @Route("/{version}/notifications/sms/templates/{id}", "GET") +// @Api(Description="Gets sms template by id") +export class GetSmsTemplate extends CodeMashRequestBase implements IReturn +{ + /** @description The SMS template id to fetch. Get it from get_sms_templates. */ + // @ApiMember(Description="The SMS template id to fetch. Get it from get_sms_templates.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetSmsTemplate'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetSmsTemplateResponse(); } +} + +/** @description Gets sms templates */ +// @Route("/{version}/notifications/sms/templates", "GET") +// @Api(Description="Gets sms templates") +export class GetSmsTemplates extends CodeMashListPaginationRequestBase implements IReturn +{ + /** @description Set true to include archived templates. */ + // @ApiMember(Description="Set true to include archived templates.") + public showArchived?: boolean; + + /** @description Optional: return only the template with this id. */ + // @ApiMember(Description="Optional: return only the template with this id.") + public templateId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetSmsTemplates'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetSmsTemplatesResponse(); } +} + +/** @description Goes through the Sms template and returns all the tokens that are used in the template translations */ +// @Route("/{version}/notifications/sms/templates/{id}/tokens", "GET") +// @Api(Description="Goes through the Sms template and returns all the tokens that are used in the template translations") +export class GetSmsMessageContentTokens extends CodeMashRequestBase implements IReturn +{ + /** @description The SMS template id. Get it from get_sms_templates. */ + // @ApiMember(Description="The SMS template id. Get it from get_sms_templates.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetSmsMessageContentTokens'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetSmsMessageContentTokensResponse(); } +} + +/** @description Runs the SMS Razor template, returns the bound text or the list of unresolved tokens. */ +// @Route("/{version}/notifications/sms/templates/render", "POST") +// @Api(Description="Runs the SMS Razor template, returns the bound text or the list of unresolved tokens.") +export class RenderSms extends CodeMashRequestBase implements IReturn +{ + /** @description The Razor SMS template code to render. */ + // @ApiMember(Description="The Razor SMS template code to render.") + public code: string; + + /** @description Token name/value pairs to bind into the template. */ + // @ApiMember(Description="Token name/value pairs to bind into the template.") + public tokens?: TokenMappingDto[]; + + /** @description Set true when rendering for a preview (relaxes some validation). */ + // @ApiMember(Description="Set true when rendering for a preview (relaxes some validation).") + public isForPreview: boolean; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'RenderSms'; } + public getMethod() { return 'POST'; } + public createResponse() { return new RenderSmsTextResponse(); } +} + +/** @description Un-archives sms template */ +// @Route("/{version}/notifications/sms/templates/{Id}/unarchive", "PUT") +// @Api(Description="Un-archives sms template") +export class UnArchiveSmsTemplateRequest extends CodeMashRequestBase implements IReturn +{ + /** @description The SMS template id to unarchive. */ + // @ApiMember(Description="The SMS template id to unarchive.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'UnArchiveSmsTemplateRequest'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Edit sms template */ +// @Route("/{version}/notifications/sms/templates", "PUT") +// @Api(Description="Edit sms template") +export class UpdateSmsTemplateRequest extends SaveSmsTemplate implements IReturn +{ + /** @description The SMS template id to update. Get it from get_sms_templates. */ + // @ApiMember(Description="The SMS template id to update. Get it from get_sms_templates.", IsRequired=true) + public viewId: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'UpdateSmsTemplateRequest'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Gets SMS settings */ +// @Route("/{version}/notifications/sms/settings", "GET") +// @Api(Description="Gets SMS settings") +export class GetSmsSettings extends CodeMashRequestBase implements IReturn +{ + /** @description Unused legacy parameter; leave empty. */ + // @ApiMember(Description="Unused legacy parameter; leave empty.") + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetSmsSettings'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetSmsSettingsResponse(); } +} + +/** @description Confirm that you received the test SMS delivery. */ +// @Route("/{version}/notifications/sms/integrations/confirm-human-delivery", "POST") +// @Api(Description="Confirm that you received the test SMS delivery.") +// @DataContract +export class ConfirmSmsIntegrationHumanDeliveryRequest extends CodeMashRequestBase implements IReturn +{ + /** @description The SMS integration id being verified. Get it from get_sms_integrations. */ + // @DataMember + // @ApiMember(Description="The SMS integration id being verified. Get it from get_sms_integrations.") + public integrationId: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'ConfirmSmsIntegrationHumanDeliveryRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Delete integration for particular project */ +// @Route("/{version}/notifications/sms/integrations/{Id}", "DELETE") +// @Api(Description="Delete integration for particular project") +export class DeleteSmsIntegrationRequest extends CodeMashRequestBase implements IReturn +{ + /** @description The SMS integration id to delete. Get it from get_sms_integrations. */ + // @ApiMember(Description="The SMS integration id to delete. Get it from get_sms_integrations.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DeleteSmsIntegrationRequest'; } + public getMethod() { return 'DELETE'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Disable integration for particular project */ +// @Route("/{version}/notifications/sms/integrations/{Id}/disable", "PUT") +// @Api(Description="Disable integration for particular project") +export class DisableSmsIntegrationRequest extends CodeMashRequestBase implements IReturn +{ + /** @description The SMS integration id to disable. Get it from get_sms_integrations. */ + // @ApiMember(Description="The SMS integration id to disable. Get it from get_sms_integrations.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DisableSmsIntegrationRequest'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Enable integration for particular project */ +// @Route("/{version}/notifications/sms/integrations/{Id}/enable", "PUT") +// @Api(Description="Enable integration for particular project") +export class EnableSmsIntegrationRequest extends CodeMashRequestBase implements IReturn +{ + /** @description The SMS integration id to enable. Get it from get_sms_integrations. */ + // @ApiMember(Description="The SMS integration id to enable. Get it from get_sms_integrations.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'EnableSmsIntegrationRequest'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Gets integration by specified Id */ +// @Route("/{version}/notifications/sms/integrations/{id}", "GET") +// @Api(Description="Gets integration by specified Id") +export class GetSmsIntegration extends CodeMashRequestBase implements IReturn +{ + /** @description The SMS integration id to fetch. Get it from get_sms_integrations. */ + // @ApiMember(Description="The SMS integration id to fetch. Get it from get_sms_integrations.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetSmsIntegration'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetSmsIntegrationResponse(); } +} + +/** @description Gets sms integrations */ +// @Route("/{version}/notifications/sms/integrations", "GET") +// @Api(Description="Gets sms integrations") +export class GetSmsIntegrations extends CodeMashListPaginationRequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetSmsIntegrations'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetSmsIntegrationsResponse(); } +} + +// @Route("/{version}/notifications/sms/integrations", "POST") +// @DataContract +export class SaveSmsIntegration extends CodeMashRequestBase implements IReturn +{ + // @DataMember(Name="integration") + public integration: SmsIntegrationRequest; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'SaveSmsIntegration'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IdResponse(); } +} + +/** @description Sets integration as default */ +// @Route("/{version}/notifications/sms/integrations/{Id}/default", "PUT") +// @Api(Description="Sets integration as default") +export class SetSmsIntegrationAsDefaultRequest extends CodeMashRequestBase implements IReturn +{ + /** @description The SMS integration id to set as default. Get it from get_sms_integrations. */ + // @ApiMember(Description="The SMS integration id to set as default. Get it from get_sms_integrations.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'SetSmsIntegrationAsDefaultRequest'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Test SMS integration */ +// @Route("/{version}/notifications/sms/integrations/test", "POST") +// @Api(Description="Test SMS integration") +export class TestSmsIntegration extends CodeMashRequestBase implements IReturn +{ + /** @description The SMS integration id to test. Get it from get_sms_integrations. */ + // @ApiMember(Description="The SMS integration id to test. Get it from get_sms_integrations.") + public integrationId: string; + + /** @description Optional phone number (international format) to send the test SMS to. */ + // @ApiMember(Description="Optional phone number (international format) to send the test SMS to.") + public to?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'TestSmsIntegration'; } + public getMethod() { return 'POST'; } + public createResponse() { return new TestSmsIntegrationResponse(); } +} + +/** @description Create SMS campaign */ +// @Route("/{version}/notifications/sms/campaigns", "POST") +// @Api(Description="Create SMS campaign") +// @DataContract +export class CreateSmsCampaignRequest extends CodeMashRequestBase implements IReturn +{ + /** @description SMS template id to send — pick one with get_sms_templates. Never invent it. */ + // @DataMember + // @ApiMember(Description="SMS template id to send — pick one with get_sms_templates. Never invent it.") + public templateId: string; + + /** @description Optional. Omit to use the project default database integration (resolved per environment). */ + // @DataMember + // @ApiMember(Description="Optional. Omit to use the project default database integration (resolved per environment).") + public databaseIntegrationId?: string; + + /** @description Optional language code forcing one template translation for every recipient. */ + // @DataMember + // @ApiMember(Description="Optional language code forcing one template translation for every recipient.") + public language?: string; + + // @DataMember + public initiatorId?: string; + + /** @description Audience type: 'AllUsers' (every project member subscribed to the SMS channel — role-based delivery can address MILLIONS of contacts), 'SpecifiedUsers' (exact member ids), or 'PhoneNumbers' (raw phone numbers). Fill EXACTLY the settings object matching this value. 'Collection' delivery is not available from chat. */ + // @DataMember + // @ApiMember(Description="Audience type: 'AllUsers' (every project member subscribed to the SMS channel — role-based delivery can address MILLIONS of contacts), 'SpecifiedUsers' (exact member ids), or 'PhoneNumbers' (raw phone numbers). Fill EXACTLY the settings object matching this value. 'Collection' delivery is not available from chat.") + public deliveryType: SmsCampaignRecipientsSourceTypes; + + /** @description For deliveryType 'AllUsers'. JSON object: {"recipientsSourceType":"AllUsers","rolesNames":["authenticated"],"userTags":[],"campaignTime":}. rolesNames/userTags are optional narrowing filters — verify exact role names with get_roles. */ + // @DataMember + // @ApiMember(Description="For deliveryType 'AllUsers'. JSON object: {\"recipientsSourceType\":\"AllUsers\",\"rolesNames\":[\"authenticated\"],\"userTags\":[],\"campaignTime\":}. rolesNames/userTags are optional narrowing filters — verify exact role names with get_roles.") + public allUsers?: SmsToAllUsersDeliverySettingsDto; + + /** @description For deliveryType 'SpecifiedUsers'. JSON object: {"recipientsSourceType":"SpecifiedUsers","recipients":[],"campaignTime":}. */ + // @DataMember + // @ApiMember(Description="For deliveryType 'SpecifiedUsers'. JSON object: {\"recipientsSourceType\":\"SpecifiedUsers\",\"recipients\":[],\"campaignTime\":}.") + public specifiedUsers?: SmsToUsersDeliverySettingsDto; + + // @DataMember + public collection?: SmsToCollectionRecordsDeliverySettingsDto; + + /** @description For deliveryType 'PhoneNumbers'. JSON object: {"recipientsSourceType":"PhoneNumbers","phoneNumbers":["+37060000000"],"campaignTime":}. Numbers in international format. */ + // @DataMember + // @ApiMember(Description="For deliveryType 'PhoneNumbers'. JSON object: {\"recipientsSourceType\":\"PhoneNumbers\",\"phoneNumbers\":[\"+37060000000\"],\"campaignTime\":}. Numbers in international format.") + public phoneNumbers?: SmsToPhoneNumbersDeliverySettingsDto; + + /** @description Optional. true sends the campaign now (or at a campaignTime sooner than the review window). Without it, a campaign created by an AI tool must be scheduled at least 24 hours ahead for role-based / all-users / collection audiences and at least 1 hour ahead for direct recipient lists, or it is rejected with CM-ERRORS-CAMPAIGNS-016. Set it only when the user explicitly asked to send now. */ + // @DataMember + // @ApiMember(Description="Optional. true sends the campaign now (or at a campaignTime sooner than the review window). Without it, a campaign created by an AI tool must be scheduled at least 24 hours ahead for role-based / all-users / collection audiences and at least 1 hour ahead for direct recipient lists, or it is rejected with CM-ERRORS-CAMPAIGNS-016. Set it only when the user explicitly asked to send now.") + public sendNow?: boolean; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'CreateSmsCampaignRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IdResponse(); } +} + +/** @description Deletes sms campaign from queue */ +// @Route("/{version}/notifications/sms/campaigns/{id}", "DELETE") +// @Api(Description="Deletes sms campaign from queue") +export class DeleteSmsCampaign extends CodeMashRequestBase implements IReturn +{ + /** @description The campaign id to delete. Get it from get_sms_campaigns. */ + // @ApiMember(Description="The campaign id to delete. Get it from get_sms_campaigns.", IsRequired=true) + public id: string; + + /** @description Optional. Omit to use the project default database integration (resolved per environment). */ + // @ApiMember(Description="Optional. Omit to use the project default database integration (resolved per environment).") + public databaseIntegrationId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DeleteSmsCampaign'; } + public getMethod() { return 'DELETE'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Get sms campaign by id */ +// @Route("/{version}/notifications/sms/campaigns/{id}", "GET") +// @Api(Description="Get sms campaign by id") +export class GetSmsCampaign extends CodeMashRequestBase implements IReturn +{ + /** @description The campaign id. */ + // @ApiMember(Description="The campaign id.") + public id: string; + + /** @description Optional. Omit to use the project default database integration (resolved per environment). */ + // @ApiMember(Description="Optional. Omit to use the project default database integration (resolved per environment).") + public databaseIntegrationId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetSmsCampaign'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetSmsCampaignResponse(); } +} + +/** @description Gets sms campaigns */ +// @Route("/{version}/notifications/sms/campaigns", "GET") +// @Api(Description="Gets sms campaigns") +export class GetSmsCampaigns extends CodeMashListPaginationRequestBase implements IReturn +{ + /** @description Optional. Omit to use the project default database integration (resolved per environment). */ + // @ApiMember(Description="Optional. Omit to use the project default database integration (resolved per environment).") + public databaseIntegrationId?: string; + + /** @description Optional: only campaigns built on this SMS template id. */ + // @ApiMember(Description="Optional: only campaigns built on this SMS template id.") + public templateId?: string; + + /** @description Optional lower bound for the campaign time, unix timestamp in seconds (UTC). */ + // @ApiMember(Description="Optional lower bound for the campaign time, unix timestamp in seconds (UTC).") + public from?: number; + + /** @description Optional upper bound for the campaign time, unix timestamp in seconds (UTC). */ + // @ApiMember(Description="Optional upper bound for the campaign time, unix timestamp in seconds (UTC).") + public to?: number; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetSmsCampaigns'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetSmsCampaignsResponse(); } +} + +/** @description Gets sms campaign batches */ +// @Route("/{version}/notifications/sms/campaigns/{id}/batches", "GET") +// @Api(Description="Gets sms campaign batches") +export class GetSmsCampaignBatches extends CodeMashListPaginationRequestBase implements IReturn +{ + /** @description The campaign id. Get it from get_sms_campaigns. */ + // @ApiMember(Description="The campaign id. Get it from get_sms_campaigns.") + public id?: string; + + /** @description Optional. Omit to use the project default database integration (resolved per environment). */ + // @ApiMember(Description="Optional. Omit to use the project default database integration (resolved per environment).") + public databaseIntegrationId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetSmsCampaignBatches'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetSmsCampaignBatchesResponse(); } +} + +/** @description Gets sms campaign batch notification */ +// @Route("/{version}/notifications/sms/campaigns/{id}/batches/{batchId}/{notificationId}", "GET") +// @Api(Description="Gets sms campaign batch notification") +export class GetSmsCampaignBatchNotification extends CodeMashListPaginationRequestBase implements IReturn +{ + /** @description The campaign id. Get it from get_sms_campaigns. */ + // @ApiMember(Description="The campaign id. Get it from get_sms_campaigns.", IsRequired=true) + public id: string; + + /** @description The campaign batch id. Get it from get_sms_campaign_batches. */ + // @ApiMember(Description="The campaign batch id. Get it from get_sms_campaign_batches.", IsRequired=true) + public batchId: string; + + /** @description The notification id. Get it from get_sms_campaign_batch_notifications. */ + // @ApiMember(Description="The notification id. Get it from get_sms_campaign_batch_notifications.", IsRequired=true) + public notificationId: string; + + /** @description Optional. Omit to use the project default database integration (resolved per environment). */ + // @ApiMember(Description="Optional. Omit to use the project default database integration (resolved per environment).") + public databaseIntegrationId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetSmsCampaignBatchNotification'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetSmsCampaignBatchNotificationResponse(); } +} + +/** @description Gets sms campaign batch notifications */ +// @Route("/{version}/notifications/sms/campaigns/{id}/batches/{batchId}", "GET") +// @Api(Description="Gets sms campaign batch notifications") +export class GetSmsCampaignBatchNotifications extends CodeMashListPaginationRequestBase implements IReturn +{ + /** @description The campaign id. Get it from get_sms_campaigns. */ + // @ApiMember(Description="The campaign id. Get it from get_sms_campaigns.", IsRequired=true) + public id: string; + + /** @description The campaign batch id. Get it from get_sms_campaign_batches. */ + // @ApiMember(Description="The campaign batch id. Get it from get_sms_campaign_batches.", IsRequired=true) + public batchId: string; + + /** @description Optional. Omit to use the project default database integration (resolved per environment). */ + // @ApiMember(Description="Optional. Omit to use the project default database integration (resolved per environment).") + public databaseIntegrationId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetSmsCampaignBatchNotifications'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetSmsCampaignBatchNotificationsResponse(); } +} + +/** @description Get sms campaign statistics */ +// @Route("/{version}/notifications/sms/campaigns/{id}/stats", "GET") +// @Api(Description="Get sms campaign statistics") +export class GetSmsCampaignStatistics extends CodeMashRequestBase implements IReturn +{ + /** @description The campaign id. Get it from get_sms_campaigns. */ + // @ApiMember(Description="The campaign id. Get it from get_sms_campaigns.", IsRequired=true) + public id: string; + + /** @description Optional. Omit to use the project default database integration (resolved per environment). */ + // @ApiMember(Description="Optional. Omit to use the project default database integration (resolved per environment).") + public databaseIntegrationId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetSmsCampaignStatistics'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetSmsCampaignStatisticsResponse(); } +} + +/** @description Returns SMS preview notification body */ +// @Route("/{version}/notifications/sms/preview", "GET") +// @Api(Description="Returns SMS preview notification body") +export class PreviewSmsNotification extends RequestBase implements IReturn +{ + /** @description The signed preview link hash. With it the preview opens without sign-in: exactly one notification, until the link expires (30 days after sending). */ + // @ApiMember(Description="The signed preview link hash. With it the preview opens without sign-in: exactly one notification, until the link expires (30 days after sending).") + public hash: string; + + /** @description Signed-in preview by id: the project id. With a hash it must match the hash. */ + // @ApiMember(Description="Signed-in preview by id: the project id. With a hash it must match the hash.") + public projectId?: string; + + /** @description Signed-in preview by id: the notification id (needs sms:read). With a hash it must match the hash. */ + // @ApiMember(Description="Signed-in preview by id: the notification id (needs sms:read). With a hash it must match the hash.") + public notificationId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'PreviewSmsNotification'; } + public getMethod() { return 'GET'; } + public createResponse() { return new PreviewSmsNotificationResponse(); } +} + +/** @description Stops a running SMS campaign */ +// @Route("/{version}/notifications/sms/campaigns/{Id}/stop", "POST") +// @Api(Description="Stops a running SMS campaign") +export class StopSmsCampaignRequest extends CodeMashRequestBase implements IReturn +{ + /** @description The campaign id to stop. */ + // @ApiMember(Description="The campaign id to stop.") + public id: string; + + /** @description Optional. Omit to use the project default database integration (resolved per environment). */ + // @ApiMember(Description="Optional. Omit to use the project default database integration (resolved per environment).") + public databaseIntegrationId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'StopSmsCampaignRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Gets campaign sms message details */ +// @Route("/{version}/notifications/sms/campaigns/{campaignId}/messages/{notificationId}", "GET") +// @Api(Description="Gets campaign sms message details") +export class GetSmsCampaignMessage extends CodeMashRequestBase implements IReturn +{ + /** @description The campaign id. Get it from get_sms_campaigns. */ + // @ApiMember(Description="The campaign id. Get it from get_sms_campaigns.", IsRequired=true) + public campaignId: string; + + /** @description The campaign batch id. Get it from get_sms_campaign_batches. */ + // @ApiMember(Description="The campaign batch id. Get it from get_sms_campaign_batches.", IsRequired=true) + public campaignBatchId: string; + + /** @description The notification (message) id. Get it from get_sms_campaign_messages. */ + // @ApiMember(Description="The notification (message) id. Get it from get_sms_campaign_messages.", IsRequired=true) + public notificationId: string; + + /** @description Optional. Omit to use the project default database integration (resolved per environment). */ + // @ApiMember(Description="Optional. Omit to use the project default database integration (resolved per environment).") + public databaseIntegrationId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetSmsCampaignMessage'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetSmsCampaignMessageResponse(); } +} + +/** @description Gets the sms notifications */ +// @Route("/{version}/notifications/sms/campaigns/{campaignId}/messages", "GET") +// @Api(Description="Gets the sms notifications") +export class GetSmsCampaignMessagesRequest extends CodeMashListPaginationRequestBase implements IReturn +{ + /** @description The campaign id. Get it from get_sms_campaigns. */ + // @ApiMember(Description="The campaign id. Get it from get_sms_campaigns.", IsRequired=true) + public campaignId: string; + + /** @description The campaign batch id. Get it from get_sms_campaign_batches. */ + // @ApiMember(Description="The campaign batch id. Get it from get_sms_campaign_batches.", IsRequired=true) + public campaignBatchId: string; + + /** @description Optional. Omit to use the project default database integration (resolved per environment). */ + // @ApiMember(Description="Optional. Omit to use the project default database integration (resolved per environment).") + public databaseIntegrationId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetSmsCampaignMessagesRequest'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetSmsCampaignMessagesResponse(); } +} + +// @Route("/{version}/code/marketplace/integrations/{IntegrationViewId}/secrets", "PUT") +// @DataContract +export class ReplaceMarketplaceIntegrationSecretsRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Integration view id (int_…). */ + // @DataMember + // @ApiMember(Description="Integration view id (int_…).", IsRequired=true) + public integrationViewId: string; + + // @DataMember + public secrets: { [index:string]: string; } = {}; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'ReplaceMarketplaceIntegrationSecretsRequest'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyMarketplaceSecretsResponse(); } +} + +// @Route("/{version}/code/marketplace/integrations/{IntegrationViewId}/secrets/reveal", "POST") +// @DataContract +export class RevealMarketplaceIntegrationSecretsRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Integration view id (int_…). */ + // @DataMember + // @ApiMember(Description="Integration view id (int_…).", IsRequired=true) + public integrationViewId: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'RevealMarketplaceIntegrationSecretsRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new RevealMarketplaceIntegrationSecretsResponse(); } +} + +// @Route("/{version}/code/marketplace/integrations/{IntegrationViewId}/token-mappings", "PUT") +// @DataContract +export class SetMarketplaceIntegrationTokenMappingsRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Integration view id (int_…). */ + // @DataMember + // @ApiMember(Description="Integration view id (int_…).", IsRequired=true) + public integrationViewId: string; + + // @DataMember + public tokenMappings: MarketplaceTokenMappingDto[] = []; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'SetMarketplaceIntegrationTokenMappingsRequest'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new SetMarketplaceIntegrationTokenMappingsResponse(); } +} + +// @Route("/{version}/code/marketplace/integrations/{IntegrationViewId}/catalog", "GET") +export class GetMarketplaceFunctionCatalog extends CodeMashRequestBase implements IReturn +{ + /** @description Integration view id, from get_marketplace_integrations. */ + // @ApiMember(Description="Integration view id, from get_marketplace_integrations.", IsRequired=true) + public integrationViewId: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetMarketplaceFunctionCatalog'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetMarketplaceFunctionCatalogResponse(); } +} + +/** @description Disable push service */ +// @Route("/{version}/notifications/push/disable", "GET") +// @Api(Description="Disable push service") +export class DisablePush extends CodeMashRequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DisablePush'; } + public getMethod() { return 'GET'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Lists push disable dependencies */ +// @Route("/{version}/notifications/push/disable-dependencies", "GET") +// @Api(Description="Lists push disable dependencies") +export class GetPushDisableDependencies extends CodeMashRequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetPushDisableDependencies'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetNotificationModuleDisableDependenciesResponse(); } +} + +/** @description Enable push service */ +// @Route("/{version}/notifications/push/enable", "GET") +// @Api(Description="Enable push service") +export class EnablePush extends CodeMashRequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'EnablePush'; } + public getMethod() { return 'GET'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Archives push template */ +// @Route("/{version}/notifications/push/templates/{Id}/archive", "PUT") +// @Api(Description="Archives push template") +export class ArchivePushTemplateRequest extends CodeMashRequestBase implements IReturn +{ + /** @description The push template id to archive. Get it from get_push_templates. */ + // @ApiMember(Description="The push template id to archive. Get it from get_push_templates.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'ArchivePushTemplateRequest'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Clones push template */ +// @Route("/{version}/notifications/push/templates/{Id}/clone", "POST") +// @Api(Description="Clones push template") +export class ClonePushTemplateRequest extends CodeMashRequestBase implements IReturn +{ + /** @description The push template id to clone. Get it from get_push_templates. */ + // @ApiMember(Description="The push template id to clone. Get it from get_push_templates.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'ClonePushTemplateRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Create push template */ +// @Route("/{version}/notifications/push/templates", "POST") +// @Api(Description="Create push template") +export class CreatePushTemplateRequest extends SavePushTemplate implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'CreatePushTemplateRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IdResponse(); } +} + +/** @description Delete push template */ +// @Route("/{version}/notifications/push/templates/{Id}", "DELETE") +// @Api(Description="Delete push template") +export class DeletePushTemplateRequest extends CodeMashRequestBase implements IReturn +{ + /** @description The push template id to delete. Get it from get_push_templates. */ + // @ApiMember(Description="The push template id to delete. Get it from get_push_templates.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DeletePushTemplateRequest'; } + public getMethod() { return 'DELETE'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Gets a push template */ +// @Route("/{version}/notifications/push/templates/{id}", "GET") +// @Api(Description="Gets a push template") +export class GetPushTemplate extends CodeMashRequestBase implements IReturn +{ + /** @description The push template id to fetch. Get it from get_push_templates. */ + // @ApiMember(Description="The push template id to fetch. Get it from get_push_templates.") + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetPushTemplate'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetPushTemplateResponse(); } +} + +/** @description Gets push templates */ +// @Route("/{version}/notifications/push/templates", "GET") +// @Api(Description="Gets push templates") +export class GetPushTemplates extends CodeMashListPaginationRequestBase implements IReturn +{ + /** @description Set true to include archived templates. */ + // @ApiMember(Description="Set true to include archived templates.") + public showArchived?: boolean; + + /** @description Optional: return only the template with this id. */ + // @ApiMember(Description="Optional: return only the template with this id.") + public templateId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetPushTemplates'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetPushTemplatesResponse(); } +} + +/** @description Gets push template content tokens */ +// @Route("/{version}/notifications/push/templates/{id}/tokens", "GET") +// @Api(Description="Gets push template content tokens") +export class GetPushMessageContentTokens extends CodeMashRequestBase implements IReturn +{ + /** @description The push template id to scan for tokens. Get it from get_push_templates. */ + // @ApiMember(Description="The push template id to scan for tokens. Get it from get_push_templates.") + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetPushMessageContentTokens'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetPushMessageContentTokensResponse(); } +} + +/** @description Renders a push template field */ +// @Route("/{version}/notifications/push/templates/render", "POST") +// @Api(Description="Renders a push template field") +export class RenderPush extends CodeMashRequestBase implements IReturn +{ + /** @description The Razor template source for the field being rendered (Title, Body, or Subtitle). */ + // @ApiMember(Description="The Razor template source for the field being rendered (Title, Body, or Subtitle).", IsRequired=true) + public code: string; + + /** @description Optional token values already bound for this render pass. */ + // @ApiMember(Description="Optional token values already bound for this render pass.") + public tokens?: TokenMappingDto[]; + + /** @description Set true when rendering for a preview (relaxes strict validation). */ + // @ApiMember(Description="Set true when rendering for a preview (relaxes strict validation).") + public isForPreview: boolean; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'RenderPush'; } + public getMethod() { return 'POST'; } + public createResponse() { return new RenderPushResponse(); } +} + +/** @description Un-archives push template */ +// @Route("/{version}/notifications/push/templates/{Id}/unarchive", "PUT") +// @Api(Description="Un-archives push template") +export class UnArchivePushTemplateRequest extends CodeMashRequestBase implements IReturn +{ + /** @description The push template id to unarchive. */ + // @ApiMember(Description="The push template id to unarchive.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'UnArchivePushTemplateRequest'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Edit push template */ +// @Route("/{version}/notifications/push/templates", "PUT") +// @Api(Description="Edit push template") +export class UpdatePushTemplateRequest extends SavePushTemplate implements IReturn +{ + /** @description The push template id to update. Get it from get_push_templates. */ + // @ApiMember(Description="The push template id to update. Get it from get_push_templates.", IsRequired=true) + public viewId: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'UpdatePushTemplateRequest'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Gets push settings */ +// @Route("/{version}/notifications/push/settings", "GET") +// @Api(Description="Gets push settings") +export class GetPushSettings extends CodeMashRequestBase implements IReturn +{ + /** @description The push settings id to fetch. */ + // @ApiMember(Description="The push settings id to fetch.") + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetPushSettings'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetPushSettingsResponse(); } +} + +/** @description Confirm human delivery of a test push */ +// @Route("/{version}/notifications/push/integrations/confirm-human-delivery", "POST") +// @Api(Description="Confirm human delivery of a test push") +// @DataContract +export class ConfirmPushIntegrationHumanDeliveryRequest extends CodeMashRequestBase implements IReturn +{ + /** @description The push integration id being verified. Get it from get_push_integrations. */ + // @DataMember + // @ApiMember(Description="The push integration id being verified. Get it from get_push_integrations.", IsRequired=true) + public integrationId: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'ConfirmPushIntegrationHumanDeliveryRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Delete push integration */ +// @Route("/{version}/notifications/push/integrations/{Id}", "DELETE") +// @Api(Description="Delete push integration") +export class DeletePushIntegrationRequest extends CodeMashRequestBase implements IReturn +{ + /** @description The push integration id to delete. Get it from get_push_integrations. */ + // @ApiMember(Description="The push integration id to delete. Get it from get_push_integrations.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DeletePushIntegrationRequest'; } + public getMethod() { return 'DELETE'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Disable push integration */ +// @Route("/{version}/notifications/push/integrations/{Id}/disable", "PUT") +// @Api(Description="Disable push integration") +export class DisablePushIntegrationRequest extends CodeMashRequestBase implements IReturn +{ + /** @description The push integration id to disable. Get it from get_push_integrations. */ + // @ApiMember(Description="The push integration id to disable. Get it from get_push_integrations.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DisablePushIntegrationRequest'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Enable push integration */ +// @Route("/{version}/notifications/push/integrations/{Id}/enable", "PUT") +// @Api(Description="Enable push integration") +export class EnablePushIntegrationRequest extends CodeMashRequestBase implements IReturn +{ + /** @description The push integration id to enable. Get it from get_push_integrations. */ + // @ApiMember(Description="The push integration id to enable. Get it from get_push_integrations.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'EnablePushIntegrationRequest'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Gets a push integration */ +// @Route("/{version}/notifications/push/integrations/{id}", "GET") +// @Api(Description="Gets a push integration") +export class GetPushIntegration extends CodeMashRequestBase implements IReturn +{ + /** @description The push integration id to fetch. Get it from get_push_integrations. */ + // @ApiMember(Description="The push integration id to fetch. Get it from get_push_integrations.") + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetPushIntegration'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetPushIntegrationResponse(); } +} + +/** @description Gets push integrations */ +// @Route("/{version}/notifications/push/integrations", "GET") +// @Api(Description="Gets push integrations") +export class GetPushIntegrations extends CodeMashListPaginationRequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetPushIntegrations'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetPushIntegrationsResponse(); } +} + +// @Route("/{version}/notifications/push/integrations", "POST") +// @DataContract +export class SavePushIntegration extends CodeMashRequestBase implements IReturn +{ + // @DataMember(Name="integration") + public integration: PushIntegrationRequest; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'SavePushIntegration'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IdResponse(); } +} + +/** @description Sets push integration as default */ +// @Route("/{version}/notifications/push/integrations/{Id}/default", "PUT") +// @Api(Description="Sets push integration as default") +export class SetPushIntegrationAsDefaultRequest extends CodeMashRequestBase implements IReturn +{ + /** @description The push integration id to set as default. Get it from get_push_integrations. */ + // @ApiMember(Description="The push integration id to set as default. Get it from get_push_integrations.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'SetPushIntegrationAsDefaultRequest'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Test push integration */ +// @Route("/{version}/notifications/push/integrations/test", "POST") +// @Api(Description="Test push integration") +export class TestPushIntegration extends CodeMashRequestBase implements IReturn +{ + /** @description The push integration id to test. Get it from get_push_integrations. */ + // @DataMember + // @ApiMember(Description="The push integration id to test. Get it from get_push_integrations.", IsRequired=true) + public integrationId: string; + + /** @description Optional device token to send the test notification to. Requires DeliveryFamily when set. */ + // @DataMember + // @ApiMember(Description="Optional device token to send the test notification to. Requires DeliveryFamily when set.") + public testToken?: string; + + /** @description Optional delivery family for the test token (e.g. Ios, Android, Chrome, Safari, Expo). Requires TestToken when set. */ + // @DataMember + // @ApiMember(Description="Optional delivery family for the test token (e.g. Ios, Android, Chrome, Safari, Expo). Requires TestToken when set.") + public deliveryFamily?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'TestPushIntegration'; } + public getMethod() { return 'POST'; } + public createResponse() { return new TestEmailIntegrationResponse(); } +} + +/** @description Registers a device for push notifications */ +// @Route("/{version}/notifications/push/devices", "POST") +// @Api(Description="Registers a device for push notifications") +// @DataContract +export class RegisterDevice extends RequestBase implements IReturn, IHasProjectId +{ + /** @description The device details: OS, token, model, and delivery family. */ + // @DataMember + // @ApiMember(Description="The device details: OS, token, model, and delivery family.", IsRequired=true) + public pushDeviceDto: PushDeviceDto; + + /** @description The id of the user this device belongs to. */ + // @DataMember + // @ApiMember(Description="The id of the user this device belongs to.", IsRequired=true) + public userId: string; + + // @DataMember + public projectId: string; + + /** @description Optional account id to associate with the device. */ + // @DataMember + // @ApiMember(Description="Optional account id to associate with the device.") + public accountId?: string; + + /** @description Optional database integration id; omit to use the project's default. */ + // @DataMember + // @ApiMember(Description="Optional database integration id; omit to use the project's default.") + public databaseIntegrationId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'RegisterDevice'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IdResponse(); } +} + +/** @description Gets a registered push device */ +// @Route("/{version}/notifications/push/devices/{id}", "GET") +// @Api(Description="Gets a registered push device") +export class GetPushDevice extends CodeMashRequestBase implements IReturn +{ + /** @description The device id to fetch. Get it from get_push_devices. */ + // @ApiMember(Description="The device id to fetch. Get it from get_push_devices.") + public id: string; + + /** @description Optional database integration id; omit to use the project's default. */ + // @ApiMember(Description="Optional database integration id; omit to use the project's default.") + public databaseIntegrationId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetPushDevice'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetPushDeviceResponse(); } +} + +/** @description Gets registered push devices */ +// @Route("/{version}/notifications/push/devices", "GET") +// @Api(Description="Gets registered push devices") +export class GetPushDevices extends CodeMashListPaginationRequestBase implements IReturn +{ + /** @description Optional: only the devices of this user. */ + // @ApiMember(Description="Optional: only the devices of this user.") + public userId?: string; + + /** @description Optional: only the device registered with this provider token. */ + // @ApiMember(Description="Optional: only the device registered with this provider token.") + public deviceKey?: string; + + /** @description Optional: only devices of this platform — ios, android, chrome, safari or expo. */ + // @ApiMember(Description="Optional: only devices of this platform — ios, android, chrome, safari or expo.") + public platform?: string; + + /** @description Optional database integration id; omit to use the project's default. */ + // @ApiMember(Description="Optional database integration id; omit to use the project's default.") + public databaseIntegrationId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetPushDevices'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetPushDevicesResponse(); } +} + +/** @description Create push campaign */ +// @Route("/{version}/notifications/push/campaigns", "POST") +// @Api(Description="Create push campaign") +// @DataContract +export class CreatePushCampaignRequest extends CodeMashRequestBase implements IReturn +{ + // @DataMember + public campaign: PushCampaignRequest; + + // @DataMember + public databaseIntegrationId?: string; + + /** @description Optional. true sends the campaign now (or at a campaignTime sooner than the review window). Without it, a campaign created by an AI tool must be scheduled at least 24 hours ahead for role-based / all-users / collection audiences and at least 1 hour ahead for direct recipient lists, or it is rejected with CM-ERRORS-CAMPAIGNS-016. Set it only when the user explicitly asked to send now. */ + // @DataMember + // @ApiMember(Description="Optional. true sends the campaign now (or at a campaignTime sooner than the review window). Without it, a campaign created by an AI tool must be scheduled at least 24 hours ahead for role-based / all-users / collection audiences and at least 1 hour ahead for direct recipient lists, or it is rejected with CM-ERRORS-CAMPAIGNS-016. Set it only when the user explicitly asked to send now.") + public sendNow?: boolean; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'CreatePushCampaignRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IdResponse(); } +} + +/** @description Deletes push campaign from queue */ +// @Route("/{version}/notifications/push/campaigns/{Id}", "DELETE") +// @Api(Description="Deletes push campaign from queue") +// @DataContract +export class DeletePushCampaignRequest extends CodeMashRequestBase implements IReturn +{ + /** @description The push campaign id to delete. Get it from get_push_campaigns. */ + // @DataMember + // @ApiMember(Description="The push campaign id to delete. Get it from get_push_campaigns.", IsRequired=true) + public id: string; + + /** @description Optional database integration id; omit to use the project's default. */ + // @DataMember + // @ApiMember(Description="Optional database integration id; omit to use the project's default.") + public databaseIntegrationId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DeletePushCampaignRequest'; } + public getMethod() { return 'DELETE'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Gets push campaign by id */ +// @Route("/{version}/notifications/push/campaigns/{id}", "GET") +// @Api(Description="Gets push campaign by id") +export class GetPushCampaign extends CodeMashRequestBase implements IReturn +{ + /** @description The campaign id. */ + // @ApiMember(Description="The campaign id.") + public id: string; + + /** @description Optional database integration id; omit to use the project's default. */ + // @ApiMember(Description="Optional database integration id; omit to use the project's default.") + public databaseIntegrationId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetPushCampaign'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetPushCampaignResponse(); } +} + +/** @description Gets push campaigns */ +// @Route("/{version}/notifications/push/campaigns", "GET") +// @Api(Description="Gets push campaigns") +export class GetPushCampaigns extends CodeMashListPaginationRequestBase implements IReturn +{ + /** @description Optional database integration id; omit to use the project's default. */ + // @ApiMember(Description="Optional database integration id; omit to use the project's default.") + public databaseIntegrationId?: string; + + /** @description Optional: only campaigns built on this push template id. */ + // @ApiMember(Description="Optional: only campaigns built on this push template id.") + public templateId?: string; + + /** @description Optional lower bound for the campaign time, unix timestamp in seconds (UTC). */ + // @ApiMember(Description="Optional lower bound for the campaign time, unix timestamp in seconds (UTC).") + public from?: number; + + /** @description Optional upper bound for the campaign time, unix timestamp in seconds (UTC). */ + // @ApiMember(Description="Optional upper bound for the campaign time, unix timestamp in seconds (UTC).") + public to?: number; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetPushCampaigns'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetPushCampaignsResponse(); } +} + +/** @description Gets push campaign batches */ +// @Route("/{version}/notifications/push/campaigns/{id}/batches", "GET") +// @Api(Description="Gets push campaign batches") +export class GetPushCampaignBatches extends CodeMashListPaginationRequestBase implements IReturn +{ + /** @description The push campaign id to list batches for. Get it from get_push_campaigns. */ + // @ApiMember(Description="The push campaign id to list batches for. Get it from get_push_campaigns.") + public id: string; + + /** @description Optional database integration id; omit to use the project's default. */ + // @ApiMember(Description="Optional database integration id; omit to use the project's default.") + public databaseIntegrationId?: string; + + /** @description Optional: only return the batch with this id. */ + // @ApiMember(Description="Optional: only return the batch with this id.") + public batchId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetPushCampaignBatches'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetPushCampaignBatchesResponse(); } +} + +/** @description Gets a push campaign batch notification */ +// @Route("/{version}/notifications/push/campaigns/{id}/batches/{batchId}/{notificationId}", "GET") +// @Api(Description="Gets a push campaign batch notification") +export class GetPushCampaignBatchNotification extends CodeMashListPaginationRequestBase implements IReturn +{ + /** @description The push campaign id. Get it from get_push_campaigns. */ + // @ApiMember(Description="The push campaign id. Get it from get_push_campaigns.") + public id: string; + + /** @description The batch id. Get it from get_push_campaign_batches. */ + // @ApiMember(Description="The batch id. Get it from get_push_campaign_batches.") + public batchId: string; + + /** @description The notification id within the batch. */ + // @ApiMember(Description="The notification id within the batch.") + public notificationId: string; + + /** @description Optional database integration id; omit to use the project's default. */ + // @ApiMember(Description="Optional database integration id; omit to use the project's default.") + public databaseIntegrationId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetPushCampaignBatchNotification'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetPushCampaignBatchNotificationResponse(); } +} + +/** @description Gets push campaign batch notifications */ +// @Route("/{version}/notifications/push/campaigns/{id}/batches/{batchId}", "GET") +// @Api(Description="Gets push campaign batch notifications") +export class GetPushCampaignBatchNotifications extends CodeMashListPaginationRequestBase implements IReturn +{ + /** @description The push campaign id. Get it from get_push_campaigns. */ + // @ApiMember(Description="The push campaign id. Get it from get_push_campaigns.") + public id: string; + + /** @description The batch id to list notifications for. Get it from get_push_campaign_batches. */ + // @ApiMember(Description="The batch id to list notifications for. Get it from get_push_campaign_batches.") + public batchId: string; + + /** @description Optional database integration id; omit to use the project's default. */ + // @ApiMember(Description="Optional database integration id; omit to use the project's default.") + public databaseIntegrationId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetPushCampaignBatchNotifications'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetPushCampaignBatchNotificationsResponse(); } +} + +/** @description Get push campaign statistics */ +// @Route("/{version}/notifications/push/campaigns/{id}/stats", "GET") +// @Api(Description="Get push campaign statistics") +export class GetPushCampaignStatistics extends CodeMashRequestBase implements IReturn +{ + /** @description The push campaign id to get statistics for. Get it from get_push_campaigns. */ + // @ApiMember(Description="The push campaign id to get statistics for. Get it from get_push_campaigns.") + public id: string; + + /** @description Optional database integration id; omit to use the project's default. */ + // @ApiMember(Description="Optional database integration id; omit to use the project's default.") + public databaseIntegrationId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetPushCampaignStatistics'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetPushCampaignStatisticsResponse(); } +} + +/** @description Returns push preview notification */ +// @Route("/{version}/notifications/push/preview", "GET") +// @Api(Description="Returns push preview notification") +export class PreviewPushNotification extends RequestBase implements IReturn +{ + /** @description The signed preview link hash. With it the preview opens without sign-in: exactly one notification, until the link expires (30 days after sending). */ + // @ApiMember(Description="The signed preview link hash. With it the preview opens without sign-in: exactly one notification, until the link expires (30 days after sending).") + public hash: string; + + /** @description Signed-in preview by id: the project id. With a hash it must match the hash. */ + // @ApiMember(Description="Signed-in preview by id: the project id. With a hash it must match the hash.") + public projectId?: string; + + /** @description Signed-in preview by id: the notification id (needs push:read). With a hash it must match the hash. */ + // @ApiMember(Description="Signed-in preview by id: the notification id (needs push:read). With a hash it must match the hash.") + public notificationId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'PreviewPushNotification'; } + public getMethod() { return 'GET'; } + public createResponse() { return new PreviewPushNotificationResponse(); } +} + +/** @description Stops a running push campaign */ +// @Route("/{version}/notifications/push/campaigns/{Id}/stop", "POST") +// @Api(Description="Stops a running push campaign") +// @DataContract +export class StopPushCampaignRequest extends CodeMashRequestBase implements IReturn +{ + /** @description The campaign id to stop. */ + // @DataMember + // @ApiMember(Description="The campaign id to stop.") + public id: string; + + /** @description Optional database integration id; omit to use the project's default. */ + // @DataMember + // @ApiMember(Description="Optional database integration id; omit to use the project's default.") + public databaseIntegrationId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'StopPushCampaignRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Gets campaign push notification details */ +// @Route("/{version}/notifications/push/campaigns/{campaignId}/messages/{notificationId}", "GET") +// @Api(Description="Gets campaign push notification details") +export class GetPushCampaignMessage extends CodeMashRequestBase implements IReturn +{ + /** @description The push campaign id. Get it from get_push_campaigns. */ + // @ApiMember(Description="The push campaign id. Get it from get_push_campaigns.") + public campaignId: string; + + /** @description The batch id. Get it from get_push_campaign_batches. */ + // @ApiMember(Description="The batch id. Get it from get_push_campaign_batches.") + public campaignBatchId: string; + + /** @description The notification id within the batch. */ + // @ApiMember(Description="The notification id within the batch.") + public notificationId: string; + + /** @description Optional database integration id; omit to use the project's default. */ + // @ApiMember(Description="Optional database integration id; omit to use the project's default.") + public databaseIntegrationId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetPushCampaignMessage'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetPushCampaignMessageResponse(); } +} + +/** @description Gets push campaign messages */ +// @Route("/{version}/notifications/push/campaigns/{campaignId}/messages", "GET") +// @Api(Description="Gets push campaign messages") +export class GetPushCampaignMessagesRequest extends CodeMashListPaginationRequestBase implements IReturn +{ + /** @description The push campaign id. Get it from get_push_campaigns. */ + // @ApiMember(Description="The push campaign id. Get it from get_push_campaigns.") + public campaignId: string; + + /** @description Optional: restrict results to this batch id. Get it from get_push_campaign_batches. */ + // @ApiMember(Description="Optional: restrict results to this batch id. Get it from get_push_campaign_batches.") + public campaignBatchId: string; + + /** @description Optional database integration id; omit to use the project's default. */ + // @ApiMember(Description="Optional database integration id; omit to use the project's default.") + public databaseIntegrationId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetPushCampaignMessagesRequest'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetPushCampaignMessagesResponse(); } +} + +/** @description Disable payments service */ +// @Route("/{version}/payments/disable", "GET") +// @Api(Description="Disable payments service") +export class DisablePayments extends CodeMashRequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DisablePayments'; } + public getMethod() { return 'GET'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Enable payments service */ +// @Route("/{version}/payments/enable", "GET") +// @Api(Description="Enable payments service") +export class EnablePayments extends CodeMashRequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'EnablePayments'; } + public getMethod() { return 'GET'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Gets the received payment webhooks log */ +// @Route("/{version}/payments/webhooks/log", "GET") +// @Api(Description="Gets the received payment webhooks log") +export class GetPaymentsWebhookLog extends CodeMashRequestBase implements IReturn +{ + /** @description Only rows for this payments integration (view id). Omit for the whole project. */ + // @ApiMember(DataType="string", Description="Only rows for this payments integration (view id). Omit for the whole project.") + public integrationId?: string; + + /** @description Max rows to return, newest first. Default 50, ceiling 200. */ + // @ApiMember(DataType="int", Description="Max rows to return, newest first. Default 50, ceiling 200.") + public limit?: number; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetPaymentsWebhookLog'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetPaymentsWebhookLogResponse(); } +} + +/** @description Delete payments trigger */ +// @Route("/{version}/payments/triggers/{triggerId}", "DELETE") +// @Api(Description="Delete payments trigger") +// @DataContract +export class DeletePaymentsTrigger extends DeleteTrigger implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DeletePaymentsTrigger'; } + public getMethod() { return 'DELETE'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Disable payments trigger */ +// @Route("/{version}/payments/triggers/{triggerId}/disable", "PATCH") +// @Api(Description="Disable payments trigger") +// @DataContract +export class DisablePaymentsTrigger extends DisableTrigger implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DisablePaymentsTrigger'; } + public getMethod() { return 'PATCH'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Enable payments trigger */ +// @Route("/{version}/payments/triggers/{triggerId}/enable", "PATCH") +// @Api(Description="Enable payments trigger") +// @DataContract +export class EnablePaymentsTrigger extends EnableTrigger implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'EnablePaymentsTrigger'; } + public getMethod() { return 'PATCH'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Gets payments trigger by specified Id */ +// @Route("/{version}/payments/triggers/{id}", "GET") +// @Api(Description="Gets payments trigger by specified Id") +export class GetPaymentsTrigger extends GetTrigger implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetPaymentsTrigger'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetPaymentsTriggerResponse(); } +} + +/** @description Gets payments triggers */ +// @Route("/{version}/payments/triggers", "GET") +// @Api(Description="Gets payments triggers") +export class GetPaymentsTriggers extends GetTriggers implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetPaymentsTriggers'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetPaymentsTriggersResponse(); } +} + +// @Route("/{version}/payments/triggers", "POST") +// @DataContract +export class SavePaymentsTrigger extends SaveTrigger implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'SavePaymentsTrigger'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IdResponse(); } +} + +/** @description Confirm that you received or verified the test payment integration outcome. */ +// @Route("/{version}/payments/integrations/confirm-human-delivery", "POST") +// @Api(Description="Confirm that you received or verified the test payment integration outcome.") +// @DataContract +export class ConfirmPaymentsIntegrationHumanDeliveryRequest extends CodeMashRequestBase implements IReturn +{ + /** @description The id of the payments integration whose test outcome is being confirmed. */ + // @DataMember + // @ApiMember(Description="The id of the payments integration whose test outcome is being confirmed.", IsRequired=true) + public integrationId: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'ConfirmPaymentsIntegrationHumanDeliveryRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Delete integration for particular project */ +// @Route("/{version}/payments/integrations/{Id}", "DELETE") +// @Api(Description="Delete integration for particular project") +export class DeletePaymentsIntegrationRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Payments integration id to delete, from get_payments_integrations. */ + // @ApiMember(Description="Payments integration id to delete, from get_payments_integrations.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DeletePaymentsIntegrationRequest'; } + public getMethod() { return 'DELETE'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Disable integration for particular project */ +// @Route("/{version}/payments/integrations/{Id}/disable", "PUT") +// @Api(Description="Disable integration for particular project") +export class DisablePaymentsIntegrationRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Payments integration id to disable, from get_payments_integrations. */ + // @ApiMember(Description="Payments integration id to disable, from get_payments_integrations.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DisablePaymentsIntegrationRequest'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Enable integration for particular project */ +// @Route("/{version}/payments/integrations/{Id}/enable", "PUT") +// @Api(Description="Enable integration for particular project") +export class EnablePaymentsIntegrationRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Payments integration id to enable, from get_payments_integrations. */ + // @ApiMember(Description="Payments integration id to enable, from get_payments_integrations.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'EnablePaymentsIntegrationRequest'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Gets integration by specified Id */ +// @Route("/{version}/payments/integrations/{id}", "GET") +// @Api(Description="Gets integration by specified Id") +export class GetPaymentsIntegration extends CodeMashRequestBase implements IReturn +{ + /** @description Payments integration id to fetch, from get_payments_integrations. */ + // @ApiMember(Description="Payments integration id to fetch, from get_payments_integrations.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetPaymentsIntegration'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetPaymentsIntegrationResponse(); } +} + +/** @description Gets integrations */ +// @Route("/{version}/payments/integrations", "GET") +// @Api(Description="Gets integrations") +export class GetPaymentsIntegrations extends CodeMashListPaginationRequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetPaymentsIntegrations'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetPaymentsIntegrationsResponse(); } +} + +/** @description Saves payments integration */ +// @Route("/{version}/payments/integrations", "POST") +// @Api(Description="Saves payments integration") +// @DataContract +export class SavePaymentsIntegration extends CodeMashRequestBase implements IReturn +{ + // @DataMember(Name="integration") + public integration: PaymentIntegrationRequest; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'SavePaymentsIntegration'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IdResponse(); } +} + +/** @description Test payments integration */ +// @Route("/{version}/payments/integrations/test", "POST") +// @Api(Description="Test payments integration") +export class TestPaymentsIntegration extends CodeMashRequestBase implements IReturn +{ + /** @description The id of the payments integration to test. */ + // @ApiMember(Description="The id of the payments integration to test.", IsRequired=true) + public integrationId: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'TestPaymentsIntegration'; } + public getMethod() { return 'POST'; } + public createResponse() { return new TestPaymentsIntegrationResponse(); } +} + +/** @description Disable logging service */ +// @Route("/{version}/logs/disable", "GET") +// @Api(Description="Disable logging service") +export class DisableLogging extends CodeMashRequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DisableLogging'; } + public getMethod() { return 'GET'; } + public createResponse() { return new EmptyResponse(); } +} + +// @Route("/{version}/logs/enable", "GET") +export class EnableLogging extends CodeMashRequestBase implements IReturn +{ + /** @description When true, also create a Norbix Logging integration backed by the project's default database. */ + // @ApiMember(DataType="boolean", Description="When true, also create a Norbix Logging integration backed by the project's default database.", Name="createNorbixLogging", ParameterType="query") + public createNorbixLogging: boolean; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'EnableLogging'; } + public getMethod() { return 'GET'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Delete integration for particular project */ +// @Route("/{version}/logs/integrations/{Id}", "DELETE") +// @Api(Description="Delete integration for particular project") +export class DeleteLoggingIntegrationRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Logging integration id to delete, from get_logging_integrations. */ + // @ApiMember(Description="Logging integration id to delete, from get_logging_integrations.", IsRequired=true) + public id: string; + + /** @description When true and this is a Norbix Logging integration, also permanently wipes the stored log entries in its backing database. Ignored for other providers. */ + // @ApiMember(Description="When true and this is a Norbix Logging integration, also permanently wipes the stored log entries in its backing database. Ignored for other providers.") + public wipeLogs: boolean; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DeleteLoggingIntegrationRequest'; } + public getMethod() { return 'DELETE'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Disable integration for particular project */ +// @Route("/{version}/logs/integrations/{Id}/disable", "PUT") +// @Api(Description="Disable integration for particular project") +export class DisableLoggingIntegrationRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Logging integration id to disable, from get_logging_integrations. */ + // @ApiMember(Description="Logging integration id to disable, from get_logging_integrations.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DisableLoggingIntegrationRequest'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Enable integration for particular project */ +// @Route("/{version}/logs/integrations/{Id}/enable", "PUT") +// @Api(Description="Enable integration for particular project") +export class EnableLoggingIntegrationRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Logging integration id to enable, from get_logging_integrations. */ + // @ApiMember(Description="Logging integration id to enable, from get_logging_integrations.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'EnableLoggingIntegrationRequest'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Gets integration by specified Id */ +// @Route("/{version}/logs/integrations/{id}", "GET") +// @Api(Description="Gets integration by specified Id") +export class GetLoggingIntegration extends CodeMashRequestBase implements IReturn +{ + /** @description Logging integration id to fetch, from get_logging_integrations. */ + // @ApiMember(Description="Logging integration id to fetch, from get_logging_integrations.", IsRequired=true) + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetLoggingIntegration'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetLoggingIntegrationResponse(); } +} + +/** @description Gets integrations */ +// @Route("/{version}/logs/integrations", "GET") +// @Api(Description="Gets integrations") +export class GetLoggingIntegrations extends CodeMashListPaginationRequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetLoggingIntegrations'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetLoggingIntegrationsResponse(); } +} + +/** @description Saves logging integration */ +// @Route("/{version}/logs/integrations", "POST") +// @Api(Description="Saves logging integration") +// @DataContract +export class SaveLoggingIntegration extends CodeMashRequestBase implements IReturn +{ + // @DataMember(Name="integration") + public integration: LoggingIntegrationRequest; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'SaveLoggingIntegration'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IdResponse(); } +} + +/** @description Test logging integration */ +// @Route("/{version}/logs/integrations/test", "POST") +// @Api(Description="Test logging integration") +export class TestLoggingIntegration extends CodeMashRequestBase implements IReturn +{ + /** @description Logging integration id to test, from get_logging_integrations. */ + // @ApiMember(Description="Logging integration id to test, from get_logging_integrations.", IsRequired=true) + public integrationId: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'TestLoggingIntegration'; } + public getMethod() { return 'POST'; } + public createResponse() { return new TestLoggingIntegrationResponse(); } +} + +/** @description Delete every log entry stored in the project's Norbix Logging integration */ +// @Route("/{version}/logs/clean", "POST") +// @Api(Description="Delete every log entry stored in the project's Norbix Logging integration") +export class CleanLogs extends CodeMashRequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'CleanLogs'; } + public getMethod() { return 'POST'; } + public createResponse() { return new CleanLogsResponse(); } +} + +/** @description Fetch the audit trail for a correlation id */ +// @Route("/{version}/logs/audit", "GET") +// @Api(Description="Fetch the audit trail for a correlation id") +export class GetLogsByCorrelationId extends CodeMashRequestBase implements IReturn +{ + /** @description The correlation id whose full request trail you want. */ + // @ApiMember(DataType="string", Description="The correlation id whose full request trail you want.", IsRequired=true, Name="correlationId", ParameterType="query") + public targetCorrelationId: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetLogsByCorrelationId'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetLogsByCorrelationIdResponse(); } +} + +/** @description Fetch a filtered, cursor-paged list of tenant log entries */ +// @Route("/{version}/logs", "GET") +// @Api(Description="Fetch a filtered, cursor-paged list of tenant log entries") +export class GetLogs extends CodeMashListPaginationRequestBase implements IReturn +{ + /** @description Severity filter: Information, Warning or Error. */ + // @ApiMember(DataType="string", Description="Severity filter: Information, Warning or Error.", Name="level", ParameterType="query") + public level?: string; + + /** @description Module filter: Database, Email, Membership, etc. */ + // @ApiMember(DataType="string", Description="Module filter: Database, Email, Membership, etc.", Name="module", ParameterType="query") + public module?: string; + + /** @description Correlation id filter. Empty = no filter (show all). */ + // @ApiMember(DataType="string", Description="Correlation id filter. Empty = no filter (show all).", Name="logCorrelationId", ParameterType="query") + public logCorrelationId?: string; + + /** @description Exact event code filter (e.g. db:record:insert). */ + // @ApiMember(DataType="string", Description="Exact event code filter (e.g. db:record:insert).", Name="eventCode", ParameterType="query") + public eventCode?: string; + + /** @description Free-text search over title and message. */ + // @ApiMember(DataType="string", Description="Free-text search over title and message.", Name="search", ParameterType="query") + public search?: string; + + /** @description Start of the timestamp range (inclusive, UTC). Optional. */ + // @ApiMember(Description="Start of the timestamp range (inclusive, UTC). Optional.") + public fromUtc?: string; + + /** @description End of the timestamp range (inclusive, UTC). Optional. */ + // @ApiMember(Description="End of the timestamp range (inclusive, UTC). Optional.") + public toUtc?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetLogs'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetLogsResponse(); } +} + +/** @description Fetch the per-project log settings (flags) */ +// @Route("/{version}/logs/settings", "GET") +// @Api(Description="Fetch the per-project log settings (flags)") +export class GetLogSettings extends CodeMashRequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetLogSettings'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetLogSettingsResponse(); } +} + +/** @description Update the per-project log settings (flags) */ +// @Route("/{version}/logs/settings", "POST") +// @Api(Description="Update the per-project log settings (flags)") +export class SaveLogSettings extends CodeMashRequestBase implements IReturn +{ + /** @description Drop log entries from requests originating from the Norbix studio (cloud dashboard). */ + // @ApiMember(Description="Drop log entries from requests originating from the Norbix studio (cloud dashboard).") + public skipCloudDashboardLogs: boolean; + + /** @description Strip request/response body meta off http:request / http:response log entries. */ + // @ApiMember(Description="Strip request/response body meta off http:request / http:response log entries.") + public skipHttpBodyMeta: boolean; + + /** @description Turn on tenant-visible log entries for AI chat turns. Default false. */ + // @ApiMember(Description="Turn on tenant-visible log entries for AI chat turns. Default false.") + public aiChatLoggingEnabled: boolean; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'SaveLogSettings'; } + public getMethod() { return 'POST'; } + public createResponse() { return new SaveLogSettingsResponse(); } +} + +/** @description Paste-ready prompt and client snippets to connect an AI tool to this installation. */ +// @Route("/{version}/account/agent/onboarding", "GET") +// @Api(Description="Paste-ready prompt and client snippets to connect an AI tool to this installation.") +export class GetAgentOnboardingRequest extends RequestBase implements IReturn +{ + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetAgentOnboardingRequest'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetAgentOnboardingResponse(); } +} + +/** @description Lists the AI tools this host exposes (external-agent bridge). */ +// @Route("/{version}/account/ai/tools", "GET") +// @Api(Description="Lists the AI tools this host exposes (external-agent bridge).") +export class GetAiToolsRequest extends RequestBase implements IReturn +{ + public toolset?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetAiToolsRequest'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetAiToolsResponse(); } +} + +/** @description Invokes one AI tool directly (external-agent bridge). */ +// @Route("/{version}/account/ai/tools/{ToolName}", "POST") +// @Api(Description="Invokes one AI tool directly (external-agent bridge).") +export class InvokeAiToolRequest extends RequestBase implements IReturn +{ + public toolName: string; + public argumentsJson?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'InvokeAiToolRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new InvokeAiToolResponse(); } +} + +/** @description Uploads a file into an AI chat session. */ +// @Route("/{version}/account/chat/attachments", "POST") +// @Api(Description="Uploads a file into an AI chat session.") +export class UploadChatAttachmentRequest extends RequestBase implements IReturn +{ + public sessionId?: string; + public fileName: string; + public contentType: string; + public base64Content: string; + public profile?: string; + public topic?: string; + public projectId?: string; + public env?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'UploadChatAttachmentRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new UploadChatAttachmentResponse(); } +} + +/** @description Reports AI chat availability and the model-picker menu. */ +// @Route("/{version}/account/chat/availability", "GET") +// @Api(Description="Reports AI chat availability and the model-picker menu.") +export class ChatAvailabilityRequest extends RequestBase implements IReturn +{ + public projectId?: string; + public env?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'ChatAvailabilityRequest'; } + public getMethod() { return 'GET'; } + public createResponse() { return new ChatAvailabilityResponse(); } +} + +/** @description Lists what the AI assistant remembers about this account. */ +// @Route("/{version}/account/chat/memory", "GET") +// @Api(Description="Lists what the AI assistant remembers about this account.") +export class GetChatMemoryRequest extends RequestBase implements IReturn +{ + public projectId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetChatMemoryRequest'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetChatMemoryResponse(); } +} + +/** @description Deletes one AI memory note ('forget this'). */ +// @Route("/{version}/account/chat/memory/{NoteId}", "DELETE") +// @Api(Description="Deletes one AI memory note ('forget this').") +export class ForgetChatMemoryRequest extends RequestBase implements IReturn +{ + public noteId: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'ForgetChatMemoryRequest'; } + public getMethod() { return 'DELETE'; } + public createResponse() { return new EmptyResponse(); } +} + +/** @description Deletes an AI chat session (soft delete). */ +// @Route("/{version}/account/chat/sessions/{SessionId}", "DELETE") +// @Api(Description="Deletes an AI chat session (soft delete).") +export class DeleteChatSessionRequest extends RequestBase implements IReturn +{ + public sessionId: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DeleteChatSessionRequest'; } + public getMethod() { return 'DELETE'; } + public createResponse() { return new IdResponse(); } +} - export class GetMembershipTriggerResponse extends GetTriggerResponse - { +/** @description Archives or unarchives an AI chat session. */ +// @Route("/{version}/account/chat/sessions/{SessionId}/archive", "PATCH") +// @Api(Description="Archives or unarchives an AI chat session.") +export class SetChatSessionArchivedRequest extends RequestBase implements IReturn +{ + public sessionId: string; + public archived: boolean; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'SetChatSessionArchivedRequest'; } + public getMethod() { return 'PATCH'; } + public createResponse() { return new IdResponse(); } +} - // @DataContract - export class GetMembershipTriggersResponse extends GetTriggersResponse - { - // @DataMember - public list?: PaginatedResponse; +/** @description Pins or unpins an AI chat session. */ +// @Route("/{version}/account/chat/sessions/{SessionId}/pin", "PATCH") +// @Api(Description="Pins or unpins an AI chat session.") +export class SetChatSessionPinnedRequest extends RequestBase implements IReturn +{ + public sessionId: string; + public pinned: boolean; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'SetChatSessionPinnedRequest'; } + public getMethod() { return 'PATCH'; } + public createResponse() { return new IdResponse(); } +} - export class GetRoleResponse extends ResponseBase - { - public role?: RoleItemDto; +/** @description Marks or unmarks an AI chat session as "do not share". */ +// @Route("/{version}/account/chat/sessions/{SessionId}/sharing", "PATCH") +// @Api(Description="Marks or unmarks an AI chat session as \"do not share\".") +export class SetChatSessionSharingRequest extends RequestBase implements IReturn +{ + public sessionId: string; + public doNotShare: boolean; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'SetChatSessionSharingRequest'; } + public getMethod() { return 'PATCH'; } + public createResponse() { return new IdResponse(); } +} - export class GetRolesResponse extends ResponseBase - { - public roles: RoleListProjectionDto[] = []; +/** @description Lists the account's recent AI chat sessions. */ +// @Route("/{version}/account/chat/sessions", "GET") +// @Api(Description="Lists the account's recent AI chat sessions.") +export class GetChatSessionsRequest extends RequestBase implements IReturn +{ + public take?: number; + public includeArchived?: boolean; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetChatSessionsRequest'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetChatSessionsResponse(); } +} - export class GetPolicyResponse extends ResponseBase - { - public policy?: PolicyItemDto; +/** @description Returns one AI chat session's conversation entries — the transcript. */ +// @Route("/{version}/account/chat/sessions/{SessionId}/entries", "GET") +// @Api(Description="Returns one AI chat session's conversation entries — the transcript.") +export class GetChatSessionEntriesRequest extends RequestBase implements IReturn +{ + public sessionId: string; + public sinceSeq?: number; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetChatSessionEntriesRequest'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetChatSessionEntriesResponse(); } +} - export class GetPoliciesResponse extends ResponseBase - { - public policies: PolicyItemDto[] = []; +/** @description Records like / dislike feedback on one AI chat entry, or clears it. */ +// @Route("/{version}/account/chat/sessions/{SessionId}/entries/{EntryId}/feedback", "POST") +// @Api(Description="Records like / dislike feedback on one AI chat entry, or clears it.") +export class SetChatEntryFeedbackRequest extends RequestBase implements IReturn +{ + public sessionId: string; + public entryId: string; + public feedback?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'SetChatEntryFeedbackRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IdResponse(); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +/** @description Answers one open AI chat question — or a prepared change's Apply / Skip — and continues the conversation. */ +// @Route("/{version}/account/chat/sessions/{SessionId}/questions/{EntryId}/answer", "POST") +// @Api(Description="Answers one open AI chat question — or a prepared change's Apply / Skip — and continues the conversation.") +export class AnswerChatQuestionRequest extends RequestBase implements IReturn +{ + public sessionId: string; + public entryId: string; + public answers?: { [index:string]: string; }; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'AnswerChatQuestionRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IdResponse(); } +} - export class GetMembershipIntegrationResponse extends ResponseBase - { - public item?: MembershipIntegrationDto; +/** @description Approves or rejects a proposed AI chat plan. */ +// @Route("/{version}/account/chat/sessions/{SessionId}/plans/{EntryId}/decision", "POST") +// @Api(Description="Approves or rejects a proposed AI chat plan.") +export class DecideChatPlanRequest extends RequestBase implements IReturn +{ + public sessionId: string; + public entryId: string; + public decision: string; + public comment?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DecideChatPlanRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IdResponse(); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +/** @description Stops one running step of an AI chat plan run. */ +// @Route("/{version}/account/chat/sessions/{SessionId}/steps/{EntryId}/stop", "POST") +// @Api(Description="Stops one running step of an AI chat plan run.") +export class StopChatRunStepRequest extends RequestBase implements IReturn +{ + public sessionId: string; + public entryId: string; - export class GetMembershipIntegrationsResponse extends ResponseBase - { - public list?: PaginatedResponse; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'StopChatRunStepRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IdResponse(); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +/** @description Runs one AI chat conversation turn. */ +// @Route("/{version}/account/chat/turn", "POST") +// @Api(Description="Runs one AI chat conversation turn.") +export class ChatTurnRequest extends RequestBase implements IReturn +{ + public sessionId?: string; + public message: string; + public profile?: string; + public topic?: string; + public llmIntegrationId?: string; + public model?: string; + public projectId?: string; + public env?: string; + public screenContext?: ChatScreenContextDto; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'ChatTurnRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new ChatTurnResponse(); } +} - export class GetSchemaTriggerResponse extends GetTriggerResponse - { +/** @description MCP server endpoint — JSON-RPC 2.0 over HTTP POST exposing the AI tool catalog. */ +// @Route("/{version}/account/mcp", "POST") +// @Api(Description="MCP server endpoint — JSON-RPC 2.0 over HTTP POST exposing the AI tool catalog.") +export class McpRequest implements IReturn +{ + public version?: string; + public requestStream: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { (Object as any).assign(this, init); } + public getTypeName() { return 'McpRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return ''; } +} - export class GetSchemaTriggersResponse extends GetTriggersResponse - { - public list?: PaginatedResponse; +/** @description Reads a project's AI Brief: the requirements, decisions and assumptions the assistant recorded from conversations, each with the chat turn, user and time it came from. */ +// @Route("/{version}/projects/{projectId}/ai/brief", "GET") +// @Api(Description="Reads a project's AI Brief: the requirements, decisions and assumptions the assistant recorded from conversations, each with the chat turn, user and time it came from.") +export class GetProjectBriefRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Return the Brief events after this sequence number as well (0 = all). Omit for the snapshot only. */ + // @ApiMember(Description="Return the Brief events after this sequence number as well (0 = all). Omit for the snapshot only.") + public sinceSeq?: number; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetProjectBriefRequest'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetProjectBriefResponse(); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +/** @description Lists a project's AI work items: one serious ask each, with its goal, plans, changes, moved-out items, needs-you list and open questions. */ +// @Route("/{version}/projects/{projectId}/ai/work-items", "GET") +// @Api(Description="Lists a project's AI work items: one serious ask each, with its goal, plans, changes, moved-out items, needs-you list and open questions.") +export class GetWorkItemsRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Filter by status: proposed, active, waiting, done, partly-done or dropped. Omit for all. */ + // @ApiMember(Description="Filter by status: proposed, active, waiting, done, partly-done or dropped. Omit for all.") + public status?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetWorkItemsRequest'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetWorkItemsResponse(); } +} - export class GetDatabaseTaxonomyResponse extends ResponseBase - { - public item?: TaxonomyDto; +/** @description Reads one AI work item: the six long-task sections and the definition-of-done verdict. */ +// @Route("/{version}/projects/{projectId}/ai/work-items/{WorkItemId}", "GET") +// @Api(Description="Reads one AI work item: the six long-task sections and the definition-of-done verdict.") +export class GetWorkItemRequest extends CodeMashRequestBase implements IReturn +{ + public workItemId: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetWorkItemRequest'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetWorkItemResponse(); } +} - export class GetDatabaseTaxonomiesResponse extends ResponseBase - { - public list?: PaginatedResponse; +/** @description Exports one AI work item as markdown in the long-task shape: Goal, Plan, Changes, Rejected / moved out, Needs you, Open questions. */ +// @Route("/{version}/projects/{projectId}/ai/work-items/{WorkItemId}/export.md", "GET") +// @Api(Description="Exports one AI work item as markdown in the long-task shape: Goal, Plan, Changes, Rejected / moved out, Needs you, Open questions.") +export class ExportWorkItemRequest extends CodeMashRequestBase implements IReturn +{ + public workItemId: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'ExportWorkItemRequest'; } + public getMethod() { return 'GET'; } + public createResponse() { return new ExportWorkItemResponse(); } +} - export class GetDatabaseTaxonomyTermResponse extends ResponseBase - { - public item?: TermDto; +/** @description Ticks one manual line of a work item's "Needs you" checklist — the one write a human makes to a work item directly. */ +// @Route("/{version}/projects/{projectId}/ai/work-items/{WorkItemId}/needs-you/{Index}/done", "POST") +// @Api(Description="Ticks one manual line of a work item's \"Needs you\" checklist — the one write a human makes to a work item directly.") +export class MarkNeedsYouDoneRequest extends CodeMashRequestBase implements IReturn +{ + public workItemId: string; + public index: number; + /** @description Set false to un-tick the line. Default true. */ + // @ApiMember(Description="Set false to un-tick the line. Default true.") + public done?: boolean; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'MarkNeedsYouDoneRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IdResponse(); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +// @Route("/{version}/ai/integrations/llms/{Id}", "DELETE") +export class DeleteLlmIntegrationRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Id of the LLM integration to delete. */ + // @ApiMember(Description="Id of the LLM integration to delete.") + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DeleteLlmIntegrationRequest'; } + public getMethod() { return 'DELETE'; } + public createResponse() { return new EmptyResponse(); } +} - export class GetDatabaseSchemaResponse extends ResponseBase - { - public item?: SchemaDto; +// @Route("/{version}/ai/integrations/llms/{Id}/disable", "PUT") +export class DisableLlmIntegrationRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Id of the LLM integration to disable. */ + // @ApiMember(Description="Id of the LLM integration to disable.") + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DisableLlmIntegrationRequest'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +// @Route("/{version}/ai/integrations/llms/{Id}/enable", "PUT") +export class EnableLlmIntegrationRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Id of the LLM integration to enable. */ + // @ApiMember(Description="Id of the LLM integration to enable.") + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'EnableLlmIntegrationRequest'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} - export class GetDatabaseSchemasResponse extends ResponseBase - { - public list?: PaginatedResponse; +// @Route("/{version}/ai/integrations/llms/{id}", "GET") +export class GetLlmIntegration extends CodeMashRequestBase implements IReturn +{ + /** @description Id of the LLM integration to fetch. */ + // @ApiMember(Description="Id of the LLM integration to fetch.") + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetLlmIntegration'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetLlmIntegrationResponse(); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +// @Route("/{version}/ai/integrations/llms/integrations", "GET") +export class GetLlmIntegrations extends CodeMashListPaginationRequestBase implements IReturn +{ - export class GetDatabaseSchemaDraftResponse extends ResponseBase - { - public item?: SchemaDraftDto; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetLlmIntegrations'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetLlmIntegrationsResponse(); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +// @Route("/{version}/ai/integrations/llms/", "POST") +// @DataContract +export class SaveLlmIntegration extends CodeMashRequestBase implements IReturn +{ + // @DataMember(Name="integration") + public integration: LlmIntegrationRequest; - export class GetDatabaseSchemaVersionDiffResponse extends ResponseBase - { - public item?: SchemaDiffDto; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'SaveLlmIntegration'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IdResponse(); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +// @Route("/{version}/ai/integrations/llms/test", "POST") +export class TestLlmIntegration extends CodeMashRequestBase implements IReturn +{ + /** @description Id of the LLM integration to test. */ + // @ApiMember(Description="Id of the LLM integration to test.") + public integrationId: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'TestLlmIntegration'; } + public getMethod() { return 'POST'; } + public createResponse() { return new TestLlmIntegrationResponse(); } +} - export class GetDatabaseSchemaVersionsResponse extends ResponseBase - { - public items?: SchemaVersionSummaryDto[]; +// @Route("/{version}/ai/integrations/mcp/{Id}", "DELETE") +export class DeleteMcpIntegrationRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Id of the MCP integration to delete. */ + // @ApiMember(Description="Id of the MCP integration to delete.") + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DeleteMcpIntegrationRequest'; } + public getMethod() { return 'DELETE'; } + public createResponse() { return new EmptyResponse(); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +// @Route("/{version}/ai/integrations/mcp/{Id}/disable", "PUT") +export class DisableMcpIntegrationRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Id of the MCP integration to disable. */ + // @ApiMember(Description="Id of the MCP integration to disable.") + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DisableMcpIntegrationRequest'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} - export class GetDatabaseIntegrationResponse extends ResponseBase - { - public item?: DatabaseIntegrationDto; +// @Route("/{version}/ai/integrations/mcp/{Id}/enable", "PUT") +export class EnableMcpIntegrationRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Id of the MCP integration to enable. */ + // @ApiMember(Description="Id of the MCP integration to enable.") + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'EnableMcpIntegrationRequest'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +// @Route("/{version}/ai/integrations/mcp/{id}", "GET") +export class GetMcpIntegration extends CodeMashRequestBase implements IReturn +{ + /** @description Id of the MCP integration to fetch. */ + // @ApiMember(Description="Id of the MCP integration to fetch.") + public id: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetMcpIntegration'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetMcpIntegrationResponse(); } +} - export class GetDatabaseIntegrationsResponse extends ResponseBase - { - public defaultIntegrationId?: string; - public list?: PaginatedResponse; +// @Route("/{version}/ai/integrations/mcp/integrations", "GET") +export class GetMcpIntegrations extends CodeMashListPaginationRequestBase implements IReturn +{ - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetMcpIntegrations'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetMcpIntegrationsResponse(); } +} - export class GetDatabaseAggregateResponse extends ResponseBase - { - public item?: MongoDbAggregateDto; +// @Route("/{version}/ai/integrations/mcp/", "POST") +// @DataContract +export class SaveMcpIntegration extends CodeMashRequestBase implements IReturn +{ + // @DataMember(Name="integration") + public integration: McpIntegrationRequest; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'SaveMcpIntegration'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IdResponse(); } +} - export class GetDatabaseAggregatesResponse extends ResponseBase - { - public list?: PaginatedResponse; +// @Route("/{version}/ai/integrations/mcp/test", "POST") +export class TestMcpIntegration extends CodeMashRequestBase implements IReturn +{ + /** @description Id of the MCP integration to test. */ + // @ApiMember(Description="Id of the MCP integration to test.") + public integrationId: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'TestMcpIntegration'; } + public getMethod() { return 'POST'; } + public createResponse() { return new TestLlmIntegrationResponse(); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +/** @description Gets the project's webhook integration */ +// @Route("/{version}/webhooks/integration", "GET") +// @Api(Description="Gets the project's webhook integration") +export class GetWebhookIntegration extends CodeMashRequestBase implements IReturn +{ - export class TestDatabaseAggregateResponse extends ResponseBase - { - public result?: Object[]; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetWebhookIntegration'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetWebhookIntegrationResponse(); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +// @Route("/{version}/webhooks/integration/secret", "GET") +export class RevealWebhookIntegrationSecretRequest extends CodeMashRequestBase implements IReturn +{ - export class GetFilesTriggerResponse extends GetTriggerResponse - { + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'RevealWebhookIntegrationSecretRequest'; } + public getMethod() { return 'GET'; } + public createResponse() { return new RevealWebhookIntegrationSecretResponse(); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +// @Route("/{version}/webhooks/integration/secret/rotate", "POST") +export class RotateWebhookIntegrationSecretRequest extends CodeMashRequestBase implements IReturn +{ - export class GetFilesTriggersResponse extends GetTriggersResponse - { - public list?: PaginatedResponse; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'RotateWebhookIntegrationSecretRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new RotateWebhookIntegrationSecretResponse(); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +// @Route("/{version}/webhooks/integration/extra-headers", "PUT") +export class UpdateWebhookIntegrationExtraHeadersRequest extends CodeMashRequestBase implements IReturn +{ + /** @description The integration-wide static headers to send with every delivery. Pass an empty dictionary to clear all extra headers. */ + // @ApiMember(Description="The integration-wide static headers to send with every delivery. Pass an empty dictionary to clear all extra headers.") + public extraHeaders?: { [index:string]: string; }; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'UpdateWebhookIntegrationExtraHeadersRequest'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} - export class GetFilesIntegrationResponse extends ResponseBase - { - public item?: FilesIntegrationDto; +// @Route("/{version}/webhooks/{source}/{integrationInstanceId}", "POST") +export class ReceiveWebhook implements IReturnVoid +{ + public source: string; + public integrationInstanceId: string; + public requestStream: string; + + public constructor(init?: Partial) { (Object as any).assign(this, init); } + public getTypeName() { return 'ReceiveWebhook'; } + public getMethod() { return 'POST'; } + public createResponse() {} +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +// @Route("/{version}/webhooks/destinations/{DestinationId}/disable", "PUT") +export class DisableWebhookDestinationRequest extends CodeMashRequestBase implements IReturn +{ + /** @description The webhook destination id to disable, from get_webhook_integration. */ + // @ApiMember(Description="The webhook destination id to disable, from get_webhook_integration.", IsRequired=true) + public destinationId: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DisableWebhookDestinationRequest'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} - export class GetFilesIntegrationsResponse extends ResponseBase - { - public defaultIntegrationId?: string; - public list?: PaginatedResponse; +// @Route("/{version}/webhooks/destinations/{DestinationId}/enable", "PUT") +export class EnableWebhookDestinationRequest extends CodeMashRequestBase implements IReturn +{ + /** @description The webhook destination id to enable, from get_webhook_integration. */ + // @ApiMember(Description="The webhook destination id to enable, from get_webhook_integration.", IsRequired=true) + public destinationId: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'EnableWebhookDestinationRequest'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +// @Route("/{version}/webhooks/destinations/{DestinationId}", "DELETE") +export class RemoveWebhookDestinationRequest extends CodeMashRequestBase implements IReturn +{ + /** @description The webhook destination id to remove, from get_webhook_integration. */ + // @ApiMember(Description="The webhook destination id to remove, from get_webhook_integration.", IsRequired=true) + public destinationId: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'RemoveWebhookDestinationRequest'; } + public getMethod() { return 'DELETE'; } + public createResponse() { return new EmptyResponse(); } +} - export class GetEmailTemplateResponse extends ResponseBase - { - public item?: EmailTemplateDto; +// @Route("/{version}/webhooks/destinations", "POST") +export class SaveWebhookDestinationRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Existing destination id to overwrite, from get_webhook_integration. Omit to create a new destination. */ + // @ApiMember(Description="Existing destination id to overwrite, from get_webhook_integration. Omit to create a new destination.") + public destinationId?: string; + + /** @description Display name for the destination. */ + // @ApiMember(Description="Display name for the destination.", IsRequired=true) + public destinationName: string; + + /** @description The HTTPS endpoint URL that will receive the webhook deliveries. */ + // @ApiMember(Description="The HTTPS endpoint URL that will receive the webhook deliveries.", IsRequired=true) + public endpointUrl: string; + + /** @description The event names this destination subscribes to. Empty subscribes to none. */ + // @ApiMember(Description="The event names this destination subscribes to. Empty subscribes to none.") + public selectedEvents: string[] = []; + + /** @description Destination-specific static headers sent with every delivery to this destination. These win over the integration-wide extra headers on duplicate keys. */ + // @ApiMember(Description="Destination-specific static headers sent with every delivery to this destination. These win over the integration-wide extra headers on duplicate keys.") + public extraHeaders?: { [index:string]: string; }; + + /** @description Whether this destination is enabled for delivery. Defaults to true. */ + // @ApiMember(Description="Whether this destination is enabled for delivery. Defaults to true.") + public isEnabled: boolean; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'SaveWebhookDestinationRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new SaveWebhookDestinationResponse(); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +// @Route("/{version}/scheduler/disable", "GET") +export class DisableScheduler extends CodeMashRequestBase implements IReturn +{ - export class GetEmailTemplatesResponse extends ResponseBase - { - public list?: PaginatedResponse; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DisableScheduler'; } + public getMethod() { return 'GET'; } + public createResponse() { return new EmptyResponse(); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +// @Route("/{version}/scheduler/enable", "GET") +export class EnableScheduler extends CodeMashRequestBase implements IReturn +{ - export class GetHtmlFromMjmlResponse extends ResponseBase - { - public variables?: string[]; - public htmlFromMjmlResponse?: HtmlFromMjmlResponse; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'EnableScheduler'; } + public getMethod() { return 'GET'; } + public createResponse() { return new EmptyResponse(); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +// @Route("/{version}/scheduler/tasks/{Id}", "DELETE") +export class DeleteSchedulerTask extends CodeMashRequestBase implements IReturn +{ + public id: string; - export class GetSystemEmailTemplateResponse extends ResponseBase - { - public item?: SystemEmailTemplateDto; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DeleteSchedulerTask'; } + public getMethod() { return 'DELETE'; } + public createResponse() { return new EmptyResponse(); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +// @Route("/{version}/scheduler/tasks/{Id}/disable", "PUT") +export class DisableSchedulerTask extends CodeMashRequestBase implements IReturn +{ + public id: string; - export class GetSystemEmailTemplatesResponse extends ResponseBase - { - public list?: PaginatedResponse; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DisableSchedulerTask'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +// @Route("/{version}/scheduler/tasks/{Id}/enable", "PUT") +export class EnableSchedulerTask extends CodeMashRequestBase implements IReturn +{ + public id: string; - export class GetEmailTemplateAvailableTokensResponse extends ResponseBase - { - public tokens?: { [index:string]: string[]; }; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'EnableSchedulerTask'; } + public getMethod() { return 'PUT'; } + public createResponse() { return new EmptyResponse(); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +/** @description Gets a scheduled task by id */ +// @Route("/{version}/scheduler/tasks/{id}", "GET") +// @Api(Description="Gets a scheduled task by id") +export class GetSchedulerTask extends CodeMashRequestBase implements IReturn +{ + public id: string; - export class GetEmailSignatureResponse extends ResponseBase - { - public item?: EmailSignatureDto; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetSchedulerTask'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetSchedulerTaskResponse(); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +/** @description Gets scheduled tasks */ +// @Route("/{version}/scheduler/tasks", "GET") +// @Api(Description="Gets scheduled tasks") +export class GetSchedulerTasks extends CodeMashListPaginationRequestBase implements IReturn +{ + /** @description Optional filter — only return tasks of this type. */ + // @ApiMember(Description="Optional filter — only return tasks of this type.") + public type?: SchedulerTaskType; + + /** @description Optional filter — only return tasks whose enabled state matches this value. */ + // @ApiMember(Description="Optional filter — only return tasks whose enabled state matches this value.") + public enabled?: boolean; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetSchedulerTasks'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetSchedulerTasksResponse(); } +} - export class GetEmailSignaturesResponse extends ResponseBase - { - public list?: PaginatedResponse; +/** @description Save scheduled task */ +// @Route("/{version}/scheduler/tasks", "POST") +// @Api(Description="Save scheduled task") +// @DataContract +export class SaveSchedulerTaskRequest extends CodeMashRequestBase implements IReturn +{ + // @DataMember + public taskId?: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @DataMember + public name: string; - export class GetEmailSettingsResponse extends ResponseBase - { - public settings?: EmailSettings; - public systemTags?: GroupDefinitionDto[]; + // @DataMember + public description?: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @DataMember + public cron: string; - export class GetEmailIntegrationResponse extends ResponseBase - { - public item?: EmailIntegrationDto; + // @DataMember + public initiatorUserId: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @DataMember + public isEnabled: boolean; - export class GetEmailIntegrationsResponse extends ResponseBase - { - public defaultIntegrationId?: string; - public list?: PaginatedResponse; + // @DataMember + public stopOnError: boolean; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @DataMember + public task: SchedulerTaskRequest; - // @DataContract - export class TestEmailIntegrationResponse extends ResponseBase - { - // @DataMember - public items?: IReadOnlyList; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'SaveSchedulerTaskRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IdResponse(); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +// @Route("/{version}/resources/resolve", "POST") +export class ResolveResources extends CodeMashRequestBase implements IReturn +{ + public refs: IReadOnlyList; - export class GetEmailFooterResponse extends ResponseBase - { - public item?: EmailFooterDto; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'ResolveResources'; } + public getMethod() { return 'POST'; } + public createResponse() { return new ResolveResourcesResponse(); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +/** @description Create a contact */ +// @Route("/{version}/membership/users", "POST") +// @Api(Description="Create a contact") +export class CreateContactRequest extends CodeMashRequestBase implements IReturn +{ + /** @description Primary email address of the contact (optional if a phone is given). */ + // @ApiMember(Description="Primary email address of the contact (optional if a phone is given).") + public primaryEmail?: string; + + /** @description Primary phone number in international format, e.g. +14155550123 (optional if an email is given). */ + // @ApiMember(Description="Primary phone number in international format, e.g. +14155550123 (optional if an email is given).") + public primaryPhone?: string; + + /** @description Display name shown in the dashboard (optional). */ + // @ApiMember(Description="Display name shown in the dashboard (optional).") + public displayName?: string; + + /** @description Contact's first name (optional). */ + // @ApiMember(Description="Contact's first name (optional).") + public firstName?: string; + + /** @description Contact's last name (optional). */ + // @ApiMember(Description="Contact's last name (optional).") + public lastName?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'CreateContactRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new EmptyResponse(); } +} - export class GetEmailFootersResponse extends ResponseBase - { - public list?: PaginatedResponse; +/** @description Archive a contact */ +// @Route("/{version}/membership/users/{contactId}", "DELETE") +// @Api(Description="Archive a contact") +export class DeleteContact extends CodeMashRequestBase implements IReturn +{ + /** @description The contact id (ct_…) to archive. Get it from get_all_contacts. */ + // @ApiMember(Description="The contact id (ct_…) to archive. Get it from get_all_contacts.", IsRequired=true) + public contactId: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DeleteContact'; } + public getMethod() { return 'DELETE'; } + public createResponse() { return new EmptyResponse(); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +/** @description Get a contact */ +// @Route("/{version}/membership/users/{contactId}", "GET") +// @Api(Description="Get a contact") +export class GetContact extends CodeMashRequestBase implements IReturn +{ + /** @description The contact id (ct_…) to fetch. Get it from get_all_contacts. */ + // @ApiMember(Description="The contact id (ct_…) to fetch. Get it from get_all_contacts.", IsRequired=true) + public contactId: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetContact'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetContactResponse(); } +} - export class GetEmailCampaignResponse extends ResponseBase - { - public item?: EmailCampaignDto; +/** @description List contacts */ +// @Route("/{version}/membership/users", "GET") +// @Api(Description="List contacts") +export class GetAllContacts extends CodeMashRequestBase implements IReturn +{ + /** @description Cursor for the next page: pass the nextCursor from the previous call. Omit for the first page. */ + // @ApiMember(Description="Cursor for the next page: pass the nextCursor from the previous call. Omit for the first page.") + public startingAfter?: string; + + /** @description How many contacts to return per page (default 50). */ + // @ApiMember(Description="How many contacts to return per page (default 50).") + public pageSize?: number; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetAllContacts'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetAllContactsResponse(); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +/** @description Merge contacts */ +// @Route("/{version}/membership/users/merge", "POST") +// @Api(Description="Merge contacts") +export class MergeContactsRequest extends CodeMashRequestBase implements IReturn +{ + /** @description The contact id (ct_…) that will remain after the merge (the survivor). */ + // @ApiMember(Description="The contact id (ct_…) that will remain after the merge (the survivor).", IsRequired=true) + public survivorId: string; + + /** @description The contact ids (ct_…) to merge into the survivor and archive. At least one. */ + // @ApiMember(Description="The contact ids (ct_…) to merge into the survivor and archive. At least one.", IsRequired=true) + public mergedIds: string[] = []; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'MergeContactsRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new EmptyResponse(); } +} - export class GetEmailCampaignsResponse extends ResponseBase - { - public list?: PaginatedResponse; +/** @description Update a contact */ +// @Route("/{version}/membership/users/{contactId}", "PATCH") +// @Api(Description="Update a contact") +export class UpdateContactRequest extends CodeMashRequestBase implements IReturn +{ + /** @description The contact id (ct_…) to update. Get it from get_all_contacts. */ + // @ApiMember(Description="The contact id (ct_…) to update. Get it from get_all_contacts.", IsRequired=true) + public contactId: string; + + /** @description Display name shown in the dashboard. */ + // @ApiMember(Description="Display name shown in the dashboard.") + public displayName?: string; + + /** @description First name. */ + // @ApiMember(Description="First name.") + public firstName?: string; + + /** @description Last name. */ + // @ApiMember(Description="Last name.") + public lastName?: string; + + /** @description Full name (overrides first/last when set). */ + // @ApiMember(Description="Full name (overrides first/last when set).") + public fullName?: string; + + /** @description Company or organisation name. */ + // @ApiMember(Description="Company or organisation name.") + public company?: string; + + /** @description Free-text internal notes about the contact. */ + // @ApiMember(Description="Free-text internal notes about the contact.") + public notes?: string; + + /** @description Gender: Male, Female or Other. */ + // @ApiMember(Description="Gender: Male, Female or Other.") + public gender?: string; + + /** @description Birth date as a unix timestamp in MILLISECONDS (UTC). */ + // @ApiMember(Description="Birth date as a unix timestamp in MILLISECONDS (UTC).") + public birthDate?: number; + + /** @description IANA time zone id, e.g. Europe/Vilnius. */ + // @ApiMember(Description="IANA time zone id, e.g. Europe/Vilnius.") + public timeZone?: string; + + /** @description Preferred language/locale code, e.g. en or en-US. */ + // @ApiMember(Description="Preferred language/locale code, e.g. en or en-US.") + public language?: string; + + /** @description Address line 1 (street). */ + // @ApiMember(Description="Address line 1 (street).") + public addressLine1?: string; + + /** @description Address line 2 (apartment, suite, etc.). */ + // @ApiMember(Description="Address line 2 (apartment, suite, etc.).") + public addressLine2?: string; + + /** @description Country name or code. */ + // @ApiMember(Description="Country name or code.") + public country?: string; + + /** @description City. */ + // @ApiMember(Description="City.") + public city?: string; + + /** @description State, region or province. */ + // @ApiMember(Description="State, region or province.") + public state?: string; + + /** @description Postal or ZIP code. */ + // @ApiMember(Description="Postal or ZIP code.") + public postalCode?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'UpdateContactRequest'; } + public getMethod() { return 'PATCH'; } + public createResponse() { return new EmptyResponse(); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +/** @description Link a login to a contact */ +// @Route("/{version}/membership/users/{contactId}/identities", "POST") +// @Api(Description="Link a login to a contact") +export class AddContactIdentityRequest extends CodeMashRequestBase implements IReturn +{ + /** @description The contact id (ct_…) to link the login to. */ + // @ApiMember(Description="The contact id (ct_…) to link the login to.", IsRequired=true) + public contactId: string; + + /** @description The login (identity) id (usr_…) to link to the contact. */ + // @ApiMember(Description="The login (identity) id (usr_…) to link to the contact.", IsRequired=true) + public authId: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'AddContactIdentityRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new EmptyResponse(); } +} - export class GetEmailCampaignBatchesResponse extends ResponseBase - { - public list?: PaginatedResponse; +/** @description Make a login the contact's primary */ +// @Route("/{version}/membership/users/{contactId}/identities/{authId}/promote", "POST") +// @Api(Description="Make a login the contact's primary") +export class PromoteContactIdentityRequest extends CodeMashRequestBase implements IReturn +{ + /** @description The contact id (ct_…) whose login is being promoted. */ + // @ApiMember(Description="The contact id (ct_…) whose login is being promoted.", IsRequired=true) + public contactId: string; + + /** @description The linked login (identity) id (usr_…) to make primary. */ + // @ApiMember(Description="The linked login (identity) id (usr_…) to make primary.", IsRequired=true) + public authId: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'PromoteContactIdentityRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new EmptyResponse(); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +/** @description Unlink a login from a contact */ +// @Route("/{version}/membership/users/{contactId}/identities/{authId}", "DELETE") +// @Api(Description="Unlink a login from a contact") +export class RemoveContactIdentityRequest extends CodeMashRequestBase implements IReturn +{ + /** @description The contact id (ct_…) to unlink the login from. */ + // @ApiMember(Description="The contact id (ct_…) to unlink the login from.", IsRequired=true) + public contactId: string; + + /** @description The login (identity) id (usr_…) to unlink from the contact. */ + // @ApiMember(Description="The login (identity) id (usr_…) to unlink from the contact.", IsRequired=true) + public authId: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'RemoveContactIdentityRequest'; } + public getMethod() { return 'DELETE'; } + public createResponse() { return new EmptyResponse(); } +} - export class GetEmailCampaignBatchNotificationResponse extends ResponseBase - { - public campaignNotification?: EmailCampaignBatchNotificationDto; +// @Route("/{version}/compliance/settings", "GET") +export class GetComplianceSettings extends CodeMashRequestBase implements IReturn +{ - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetComplianceSettings'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetComplianceSettingsResponse(); } +} - export class GetEmailCampaignBatchNotificationsResponse extends ResponseBase - { - public batchStatusHistory?: BatchStatusChangeEntryDto[]; - public list?: PaginatedResponse; +// @Route("/{version}/compliance/retention", "DELETE") +export class RemoveRetentionWindowRequest extends CodeMashRequestBase implements IReturn +{ + public dataKind: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'RemoveRetentionWindowRequest'; } + public getMethod() { return 'DELETE'; } + public createResponse() { return new EmptyResponse(); } +} - export class GetEmailCampaignStatisticsResponse extends ResponseBase - { - public stats?: CampaignStatsDto; +// @Route("/{version}/compliance/retention", "POST") +export class SaveRetentionWindowRequest extends CodeMashRequestBase implements IReturn +{ + public dataKind: string; + public days: number; + public action: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'SaveRetentionWindowRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new EmptyResponse(); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +// @Route("/{version}/compliance/regimes", "POST") +export class AssignRegimeRequest extends CodeMashRequestBase implements IReturn +{ + public regime: string; - export class PreviewEmailNotificationResponse extends ResponseBase - { - public subject?: string; - public body?: string; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'AssignRegimeRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new EmptyResponse(); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +// @Route("/{version}/compliance/regimes", "DELETE") +export class ClearRegimeRequest extends CodeMashRequestBase implements IReturn +{ + public regime: string; - export class GetEmailCampaignMessageResponse extends ResponseBase - { - public emailMessageEntity?: EmailCampaignBatchNotificationDto; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'ClearRegimeRequest'; } + public getMethod() { return 'DELETE'; } + public createResponse() { return new EmptyResponse(); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +// @Route("/{version}/compliance/purposes", "POST") +export class DefineConsentPurposeRequest extends CodeMashRequestBase implements IReturn +{ + public key: string; + public name: string; + public channel: string; + public mappedTags: string[] = []; + public regulatoryBasis: string[] = []; + public description?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DefineConsentPurposeRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new EmptyResponse(); } +} - export class GetEmailCampaignMessagesResponse extends ResponseBase - { - public list?: PaginatedResponse; +// @Route("/{version}/compliance/purposes/deprecate", "POST") +export class DeprecateConsentPurposeRequest extends CodeMashRequestBase implements IReturn +{ + public key: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'DeprecateConsentPurposeRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new EmptyResponse(); } +} - export class GetPushTemplateResponse extends ResponseBase - { - public item?: PushTemplateDto; +// @Route("/{version}/compliance/holds", "GET") +export class GetLegalHolds extends CodeMashRequestBase implements IReturn +{ - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetLegalHolds'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetLegalHoldsResponse(); } +} - export class GetPushTemplatesResponse extends ResponseBase - { - public list?: PaginatedResponse; +// @Route("/{version}/compliance/holds", "POST") +export class PlaceLegalHoldRequest extends CodeMashRequestBase implements IReturn +{ + public subjectKind: string; + public subjectId: string; + public reason: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'PlaceLegalHoldRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new EmptyResponse(); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +// @Route("/{version}/compliance/holds/release", "POST") +export class ReleaseLegalHoldRequest extends CodeMashRequestBase implements IReturn +{ + public holdId: string; - export class GetPushMessageContentTokensResponse extends ResponseBase - { - public tokens?: { [index:string]: string[]; }; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'ReleaseLegalHoldRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new EmptyResponse(); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +// @Route("/{version}/compliance/dsar/approve", "POST") +export class ApproveDsarRequestRequest extends CodeMashRequestBase implements IReturn +{ + public requestId: string; - export class GetPushIntegrationResponse extends ResponseBase - { - public item?: PushIntegrationDto; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'ApproveDsarRequestRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new EmptyResponse(); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +// @Route("/{version}/compliance/dsar/reject", "POST") +export class RejectDsarRequestRequest extends CodeMashRequestBase implements IReturn +{ + public requestId: string; + public reason: string; - export class GetPushIntegrationsResponse extends ResponseBase - { - public defaultIntegrationId?: string; - public list?: PaginatedResponse; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'RejectDsarRequestRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new EmptyResponse(); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +// @Route("/{version}/compliance/dsar", "GET") +export class GetDsarRequests extends CodeMashRequestBase implements IReturn +{ - export class GetPaymentsTriggerResponse extends GetTriggerResponse - { + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetDsarRequests'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetDsarRequestsResponse(); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +// @Route("/{version}/compliance/dsar", "POST") +export class OpenDsarRequestRequest extends CodeMashRequestBase implements IReturn +{ + public subjectKind: string; + public subjectId: string; - export class GetPaymentsTriggersResponse extends GetTriggersResponse - { - public list?: PaginatedResponse; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'OpenDsarRequestRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new EmptyResponse(); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +// @Route("/{version}/compliance/audit", "GET") +export class GetComplianceAuditLog extends CodeMashRequestBase implements IReturn +{ + public from?: string; + public to?: string; + public subjectKind?: string; + public subjectId?: string; + public limit: number; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetComplianceAuditLog'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetComplianceAuditLogResponse(); } +} - export class GetPaymentsIntegrationResponse extends ResponseBase - { - public item?: PaymentsIntegrationDto; +// @Route("/{version}/compliance/account", "GET") +export class GetAccountCompliance extends RequestBase implements IReturn +{ - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetAccountCompliance'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetAccountComplianceResponse(); } +} - export class GetPaymentsIntegrationsResponse extends ResponseBase - { - public list?: PaginatedResponse; +// @Route("/{version}/compliance/account/dsar-policy", "POST") +export class SaveDsarPolicyRequest extends RequestBase implements IReturn +{ + public mode: string; + public delayDays: number; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'SaveDsarPolicyRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new EmptyResponse(); } +} - // @DataContract - export class TestPaymentsIntegrationResponse extends ResponseBase - { - // @DataMember - public items?: IReadOnlyList; +// @Route("/{version}/compliance/account/incident-routing", "POST") +export class SaveIncidentRoutingRequest extends RequestBase implements IReturn +{ + public autoForwardAdvisories: boolean; + public securityContact?: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'SaveIncidentRoutingRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new EmptyResponse(); } +} - export class GetLoggingIntegrationResponse extends ResponseBase - { - public item?: LoggingIntegrationDto; +// @Route("/{version}/support/cases/{CaseId}/close", "POST") +export class CloseSupportCaseRequest extends RequestBase implements IReturn +{ + public caseId: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'CloseSupportCaseRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new EmptyResponse(); } +} - export class GetLoggingIntegrationsResponse extends ResponseBase - { - public list?: PaginatedResponse; +// @Route("/{version}/support/cases/{CaseId}/reopen", "POST") +export class ReopenSupportCaseRequest extends RequestBase implements IReturn +{ + public caseId: string; + public reason: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'ReopenSupportCaseRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new EmptyResponse(); } +} - // @DataContract - export class TestLoggingIntegrationResponse extends ResponseBase - { - // @DataMember - public items?: IReadOnlyList; +// @Route("/{version}/support/cases/{CaseId}/resolve", "POST") +export class ResolveSupportCaseRequest extends RequestBase implements IReturn +{ + public caseId: string; + public resolution?: CaseResolutionDto; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'ResolveSupportCaseRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new EmptyResponse(); } +} - export class AskChatResponse extends ResponseBase - { - public result?: string; +// @Route("/{version}/support/cases/{CaseId}/messages", "POST") +export class AppendSupportCaseMessageRequest extends RequestBase implements IReturn +{ + public caseId: string; + public message: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'AppendSupportCaseMessageRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IdResponse(); } +} - export class GetLlmIntegrationResponse extends ResponseBase - { - public item?: LlmIntegrationDto; +// @Route("/{version}/support/cases/{CaseId}", "GET") +export class GetSupportCase extends RequestBase implements IReturn +{ + public caseId: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetSupportCase'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetSupportCaseResponse(); } +} - export class GetLlmIntegrationsResponse extends ResponseBase - { - public defaultIntegrationId?: string; - public list?: PaginatedResponse; +// @Route("/{version}/support/cases", "GET") +export class GetSupportCases extends RequestBase implements IReturn +{ + public pagingArgs?: PagingArgs; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetSupportCases'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetSupportCasesResponse(); } +} - // @DataContract - export class TestLlmIntegrationResponse extends ResponseBase - { - // @DataMember - public items?: IReadOnlyList; +// @Route("/{version}/support/cases", "POST") +export class OpenSupportCaseRequest extends RequestBase implements IReturn +{ + public kind: string; + public severity: string; + public subject: string; + public message: string; + public projectId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'OpenSupportCaseRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new IdResponse(); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +// @Route("/{version}/diagnostics/packs", "GET") +export class GetDiagnosticPacks extends CodeMashRequestBase implements IReturn +{ - export class GetMcpIntegrationResponse extends ResponseBase - { - public item?: McpIntegrationDto; + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetDiagnosticPacks'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetDiagnosticPacksResponse(); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +// @Route("/{version}/diagnostics/packs/{PackName}/run", "POST") +export class RunDiagnosticPackRequest extends CodeMashRequestBase implements IReturn +{ + public packName: string; + public packVersion?: number; + public caseId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'RunDiagnosticPackRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new RunDiagnosticPackResponse(); } +} - export class GetMcpIntegrationsResponse extends ResponseBase - { - public defaultIntegrationId?: string; - public list?: PaginatedResponse; +// @Route("/{version}/diagnostics/echo", "GET") +export class GetDiagnosticEcho extends CodeMashRequestBase implements IReturn +{ + public caseId?: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'GetDiagnosticEcho'; } + public getMethod() { return 'GET'; } + public createResponse() { return new GetDiagnosticEchoResponse(); } +} - export class GetWebhookIntegrationResponse extends ResponseBase - { - public item?: WebhookIntegrationDto; +// @Route("/{version}/diagnostics/events", "GET") +export class ReadDiagnosticEventsRequest extends CodeMashRequestBase implements IReturn +{ + public stream: string; + public from: number; + public count: number; + public caseId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'ReadDiagnosticEventsRequest'; } + public getMethod() { return 'GET'; } + public createResponse() { return new ReadDiagnosticEventsResponse(); } +} - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } +// @Route("/{version}/diagnostics/logs", "GET") +export class QueryDiagnosticLogsRequest extends CodeMashListPaginationRequestBase implements IReturn +{ + public level?: string; + public module?: string; + public logCorrelationId?: string; + public eventCode?: string; + public search?: string; + public fromUtc?: string; + public toUtc?: string; + public caseId?: string; + + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'QueryDiagnosticLogsRequest'; } + public getMethod() { return 'GET'; } + public createResponse() { return new QueryDiagnosticLogsResponse(); } +} - export class RevealWebhookIntegrationSecretResponse extends ResponseBase - { - public signingSecret?: string; +// @Route("/{version}/diagnostics/redis", "GET") +export class InspectDiagnosticRedisRequest extends CodeMashRequestBase implements IReturn +{ + public keyPattern: string; + public caseId?: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'InspectDiagnosticRedisRequest'; } + public getMethod() { return 'GET'; } + public createResponse() { return new InspectDiagnosticRedisResponse(); } +} - export class RotateWebhookIntegrationSecretResponse extends ResponseBase - { - public signingSecret?: string; +// @Route("/{version}/diagnostics/health/{CheckId}", "POST") +export class RunDiagnosticHealthCheckRequest extends CodeMashRequestBase implements IReturn +{ + public checkId: string; + public caseId?: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } + public getTypeName() { return 'RunDiagnosticHealthCheckRequest'; } + public getMethod() { return 'POST'; } + public createResponse() { return new RunDiagnosticHealthCheckResponse(); } +} - export class SaveWebhookDestinationResponse extends ResponseBase - { - public destinationId?: string; +/** @description Sign In */ +// @Route("/auth", "GET,POST") +// @Route("/auth/{provider}", "GET,POST") +// @Route("/v3/auth", "POST,GET,OPTIONS") +// @Route("/v3/auth/{provider}", "POST,GET,OPTIONS") +// @Route("/v3/staff/auth", "POST,GET,OPTIONS") +// @Route("/v3/staff/auth/{provider}", "POST,GET,OPTIONS") +// @Api(Description="Sign In") +// @DataContract +export class Authenticate implements IReturn, IPost +{ + /** @description AuthProvider, e.g. credentials */ + // @DataMember(Order=1) + public provider?: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @DataMember(Order=2) + public userName?: string; - export class GetSchedulerTaskResponse extends ResponseBase - { - public item?: SchedulerTaskDto; + // @DataMember(Order=3) + public password?: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @DataMember(Order=4) + public rememberMe?: boolean; - export class GetSchedulerTasksResponse extends ResponseBase - { - public list?: PaginatedResponse; + // @DataMember(Order=5) + public accessToken?: string; - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - } + // @DataMember(Order=6) + public accessTokenSecret?: string; - // @DataContract - export class AuthenticateResponse implements IHasSessionId, IHasBearerToken - { - // @DataMember(Order=1) - public userId?: string; + // @DataMember(Order=7) + public returnUrl?: string; - // @DataMember(Order=2) - public sessionId?: string; + // @DataMember(Order=8) + public errorView?: string; - // @DataMember(Order=3) - public userName?: string; + // @DataMember(Order=9) + public meta?: { [index:string]: string; }; - // @DataMember(Order=4) - public displayName?: string; + public constructor(init?: Partial) { (Object as any).assign(this, init); } + public getTypeName() { return 'Authenticate'; } + public getMethod() { return 'POST'; } + public createResponse() { return new AuthenticateResponse(); } +} - // @DataMember(Order=5) - public referrerUrl?: string; +// @Route("/access-token") +// @DataContract +export class GetAccessToken implements IReturn, IPost +{ + // @DataMember(Order=1) + public refreshToken?: string; - // @DataMember(Order=6) - public bearerToken?: string; - - // @DataMember(Order=7) - public refreshToken?: string; - - // @DataMember(Order=8) - public refreshTokenExpiry?: string; - - // @DataMember(Order=9) - public profileUrl?: string; - - // @DataMember(Order=10) - public roles?: string[]; - - // @DataMember(Order=11) - public permissions?: string[]; - - // @DataMember(Order=12) - public authProvider?: string; - - // @DataMember(Order=13) - public responseStatus?: ResponseStatus; - - // @DataMember(Order=14) - public meta?: { [index:string]: string; }; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - // @DataContract - export class GetAccessTokenResponse - { - // @DataMember(Order=1) - public accessToken?: string; - - // @DataMember(Order=2) - public meta?: { [index:string]: string; }; - - // @DataMember(Order=3) - public responseStatus?: ResponseStatus; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - // @DataContract - export class GetApiKeysResponse - { - // @DataMember(Order=1) - public results?: UserApiKey[]; - - // @DataMember(Order=2) - public meta?: { [index:string]: string; }; - - // @DataMember(Order=3) - public responseStatus?: ResponseStatus; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - // @DataContract - export class RegenerateApiKeysResponse - { - // @DataMember(Order=1) - public results?: UserApiKey[]; - - // @DataMember(Order=2) - public meta?: { [index:string]: string; }; - - // @DataMember(Order=3) - public responseStatus?: ResponseStatus; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - } - - // @Route("/internal/_typegen", "GET") - export class InternalsTypeGen - { - public typegen_0_SmtpEmailIntegrationRequest?: SmtpEmailIntegrationRequest; - public typegen_1_AwsSesEmailIntegrationRequest?: AwsSesEmailIntegrationRequest; - public typegen_2_SendGridEmailIntegrationRequest?: SendGridEmailIntegrationRequest; - public typegen_3_MailGunEmailIntegrationRequest?: MailGunEmailIntegrationRequest; - public typegen_4_EmailToAllUsersDeliverySettingsRequest?: EmailToAllUsersDeliverySettingsRequest; - public typegen_5_EmailToAccountUsersDeliverySettingsRequest?: EmailToAccountUsersDeliverySettingsRequest; - public typegen_6_EmailToCollectionRecordsDeliverySettingsRequest?: EmailToCollectionRecordsDeliverySettingsRequest; - public typegen_7_EmailToEmailsDeliverySettingsRequest?: EmailToEmailsDeliverySettingsRequest; - public typegen_8_EmailToUsersDeliverySettingsRequest?: EmailToUsersDeliverySettingsRequest; - public typegen_9_MembershipTriggerRequest?: MembershipTriggerRequest; - public typegen_10_SchemaTriggerRequest?: SchemaTriggerRequest; - public typegen_11_FilesTriggerRequest?: FilesTriggerRequest; - public typegen_12_PaymentTriggerRequest?: PaymentTriggerRequest; - public typegen_13_MongoDbAtlasServerlessDatabaseIntegrationRequest?: MongoDbAtlasServerlessDatabaseIntegrationRequest; - public typegen_14_MongoDbAtlasClusterDatabaseIntegrationRequest?: MongoDbAtlasClusterDatabaseIntegrationRequest; - public typegen_15_MongoDbConnectionStringDatabaseIntegrationRequest?: MongoDbConnectionStringDatabaseIntegrationRequest; - public typegen_16_GoogleDriveFilesIntegrationRequest?: GoogleDriveFilesIntegrationRequest; - public typegen_17_FtpFilesIntegrationRequest?: FtpFilesIntegrationRequest; - public typegen_18_DropBoxFilesIntegrationRequest?: DropBoxFilesIntegrationRequest; - public typegen_19_AppleICloudFilesIntegrationRequest?: AppleICloudFilesIntegrationRequest; - public typegen_20_AwsS3FilesIntegrationRequest?: AwsS3FilesIntegrationRequest; - public typegen_21_GoogleCloudFilesIntegrationRequest?: GoogleCloudFilesIntegrationRequest; - public typegen_22_AzureBlobFilesIntegrationRequest?: AzureBlobFilesIntegrationRequest; - public typegen_23_LocalFilesIntegrationRequest?: LocalFilesIntegrationRequest; - public typegen_24_AmqpLoggingIntegrationRequest?: AmqpLoggingIntegrationRequest; - public typegen_25_AwsKinesisLoggingIntegrationRequest?: AwsKinesisLoggingIntegrationRequest; - public typegen_26_AwsS3LoggingIntegrationRequest?: AwsS3LoggingIntegrationRequest; - public typegen_27_TelegramLoggingIntegrationRequest?: TelegramLoggingIntegrationRequest; - public typegen_28_NewRelicLoggingIntegrationRequest?: NewRelicLoggingIntegrationRequest; - public typegen_29_MicrosoftTeamsLoggingIntegrationRequest?: MicrosoftTeamsLoggingIntegrationRequest; - public typegen_30_MongoDbLoggingIntegrationRequest?: MongoDbLoggingIntegrationRequest; - public typegen_31_KafkaLoggingIntegrationRequest?: KafkaLoggingIntegrationRequest; - public typegen_32_PrometheusLoggingIntegrationRequest?: PrometheusLoggingIntegrationRequest; - public typegen_33_DataDogLoggingIntegrationRequest?: DataDogLoggingIntegrationRequest; - public typegen_34_InternalKafkaLoggingIntegrationRequest?: InternalKafkaLoggingIntegrationRequest; - public typegen_35_ElasticSearchLoggingIntegrationRequest?: ElasticSearchLoggingIntegrationRequest; - public typegen_36_ZabbixLoggingIntegrationRequest?: ZabbixLoggingIntegrationRequest; - public typegen_37_SplunkLoggingIntegrationRequest?: SplunkLoggingIntegrationRequest; - public typegen_38_AzureOtelLoggingIntegrationRequest?: AzureOtelLoggingIntegrationRequest; - public typegen_39_KibanaLoggingIntegrationRequest?: KibanaLoggingIntegrationRequest; - public typegen_40_LocalFileLoggingIntegrationRequest?: LocalFileLoggingIntegrationRequest; - public typegen_41_OktaMembershipIntegrationRequest?: OktaMembershipIntegrationRequest; - public typegen_42_XMembershipIntegrationRequest?: XMembershipIntegrationRequest; - public typegen_43_GoogleMembershipIntegrationRequest?: GoogleMembershipIntegrationRequest; - public typegen_44_MicrosoftMembershipIntegrationRequest?: MicrosoftMembershipIntegrationRequest; - public typegen_45_GitHubMembershipIntegrationRequest?: GitHubMembershipIntegrationRequest; - public typegen_46_MetaMembershipIntegrationRequest?: MetaMembershipIntegrationRequest; - public typegen_47_AppleMembershipIntegrationRequest?: AppleMembershipIntegrationRequest; - public typegen_48_LemonSqueezyPaymentIntegrationRequest?: LemonSqueezyPaymentIntegrationRequest; - public typegen_49_AdyenPaymentIntegrationRequest?: AdyenPaymentIntegrationRequest; - public typegen_50_MolliePaymentIntegrationRequest?: MolliePaymentIntegrationRequest; - public typegen_51_PaddlePaymentIntegrationRequest?: PaddlePaymentIntegrationRequest; - public typegen_52_PayPalPaymentIntegrationRequest?: PayPalPaymentIntegrationRequest; - public typegen_53_StripePaymentIntegrationRequest?: StripePaymentIntegrationRequest; - public typegen_54_AppleInAppPaymentIntegrationRequest?: AppleInAppPaymentIntegrationRequest; - public typegen_55_GoogleInAppPaymentIntegrationRequest?: GoogleInAppPaymentIntegrationRequest; - public typegen_56_EdgeWebPushIntegrationRequest?: EdgeWebPushIntegrationRequest; - public typegen_57_ChromePluginPushIntegrationRequest?: ChromePluginPushIntegrationRequest; - public typegen_58_SafariPushIntegrationRequest?: SafariPushIntegrationRequest; - public typegen_59_ChromeWebPushIntegrationRequest?: ChromeWebPushIntegrationRequest; - public typegen_60_FirefoxWebPushIntegrationRequest?: FirefoxWebPushIntegrationRequest; - public typegen_61_AndroidFirebasePushIntegrationRequest?: AndroidFirebasePushIntegrationRequest; - public typegen_62_AppleApnsPushIntegrationRequest?: AppleApnsPushIntegrationRequest; - public typegen_65_AwsLambdaCodeIntegrationRequest?: AwsLambdaCodeIntegrationRequest; - public typegen_66_AzureFunctionsCodeIntegrationRequest?: AzureFunctionsCodeIntegrationRequest; - public typegen_67_GoogleCloudFunctionsCodeIntegrationRequest?: GoogleCloudFunctionsCodeIntegrationRequest; - public typegen_68_OllamaLlmIntegrationRequest?: OllamaLlmIntegrationRequest; - public typegen_69_OpenRouterLlmIntegrationRequest?: OpenRouterLlmIntegrationRequest; - public typegen_70_MistralLlmIntegrationRequest?: MistralLlmIntegrationRequest; - public typegen_71_GrokLlmIntegrationRequest?: GrokLlmIntegrationRequest; - public typegen_72_GroqLlmIntegrationRequest?: GroqLlmIntegrationRequest; - public typegen_73_GoogleLlmIntegrationRequest?: GoogleLlmIntegrationRequest; - public typegen_74_AnthropicLlmIntegrationRequest?: AnthropicLlmIntegrationRequest; - public typegen_75_OpenAiLlmIntegrationRequest?: OpenAiLlmIntegrationRequest; - public typegen_76_PlaywrightMcpIntegrationRequest?: PlaywrightMcpIntegrationRequest; - public typegen_77_MongoDbMcpIntegrationRequest?: MongoDbMcpIntegrationRequest; - public typegen_78_GitHubMcpIntegrationRequest?: GitHubMcpIntegrationRequest; - public typegen_79_StripeMcpIntegrationRequest?: StripeMcpIntegrationRequest; - public typegen_80_BraveSearchMcpIntegrationRequest?: BraveSearchMcpIntegrationRequest; - public typegen_81_ObsidianMcpIntegrationRequest?: ObsidianMcpIntegrationRequest; - public typegen_82_EmailTemplateDto?: EmailTemplateDto; - public typegen_83_PushTemplateDto?: PushTemplateDto; - public typegen_84_SmsTemplateDto?: SmsTemplateDto; - public typegen_85_SystemEmailTemplateDto?: SystemEmailTemplateDto; - public typegen_86_TriggerActionEmailDto?: TriggerActionEmailDto; - public typegen_87_TriggerActionPushDto?: TriggerActionPushDto; - public typegen_88_TriggerActionCodeDto?: TriggerActionCodeDto; - public typegen_89_TriggerActionWebhookDto?: TriggerActionWebhookDto; - public typegen_90_EmailToAllUsersDeliverySettingsDto?: EmailToAllUsersDeliverySettingsDto; - public typegen_91_EmailToAccountUsersDeliverySettingsDto?: EmailToAccountUsersDeliverySettingsDto; - public typegen_92_EmailToUsersDeliverySettingsDto?: EmailToUsersDeliverySettingsDto; - public typegen_93_EmailToEmailAddressesDeliverySettingsDto?: EmailToEmailAddressesDeliverySettingsDto; - public typegen_94_EmailToCollectionRecordsDeliverySettingsDto?: EmailToCollectionRecordsDeliverySettingsDto; - public typegen_95_PushToAllUsersDeliverySettingsDto?: PushToAllUsersDeliverySettingsDto; - public typegen_96_PushToUsersDeliverySettingsDto?: PushToUsersDeliverySettingsDto; - public typegen_97_PushToCollectionRecordsDeliverySettingsDto?: PushToCollectionRecordsDeliverySettingsDto; - public typegen_98_PushToDevicesDeliverySettingsDto?: PushToDevicesDeliverySettingsDto; - public typegen_99_SmsToAllUsersDeliverySettingsDto?: SmsToAllUsersDeliverySettingsDto; - public typegen_100_SmsToUsersDeliverySettingsDto?: SmsToUsersDeliverySettingsDto; - public typegen_101_SmsToCollectionRecordsDeliverySettingsDto?: SmsToCollectionRecordsDeliverySettingsDto; - public typegen_102_SmsToPhoneNumbersDeliverySettingsDto?: SmsToPhoneNumbersDeliverySettingsDto; - public typegen_103_OpenAiLlmIntegrationDto?: OpenAiLlmIntegrationDto; - public typegen_104_AnthropicLlmIntegrationDto?: AnthropicLlmIntegrationDto; - public typegen_105_OllamaLlmIntegrationDto?: OllamaLlmIntegrationDto; - public typegen_106_GroqLlmIntegrationDto?: GroqLlmIntegrationDto; - public typegen_107_GoogleLlmIntegrationDto?: GoogleLlmIntegrationDto; - public typegen_108_MistralLlmIntegrationDto?: MistralLlmIntegrationDto; - public typegen_109_OpenRouterLlmIntegrationDto?: OpenRouterLlmIntegrationDto; - public typegen_110_GrokLlmIntegrationDto?: GrokLlmIntegrationDto; - public typegen_111_DockerMcpIntegrationDto?: DockerMcpIntegrationDto; - public typegen_112_GoogleCalendarMcpIntegrationDto?: GoogleCalendarMcpIntegrationDto; - public typegen_113_ObsidianMcpIntegrationDto?: ObsidianMcpIntegrationDto; - public typegen_114_AwsLambdaCrossAccountRoleCodeIntegrationDto?: AwsLambdaCrossAccountRoleCodeIntegrationDto; - public typegen_115_AwsLambdaIamCodeIntegrationDto?: AwsLambdaIamCodeIntegrationDto; - public typegen_116_AzureFunctionsCodeIntegrationDto?: AzureFunctionsCodeIntegrationDto; - public typegen_118_GoogleCloudFunctionsCodeIntegrationDto?: GoogleCloudFunctionsCodeIntegrationDto; - public typegen_120_AdyenPaymentIntegrationDto?: AdyenPaymentIntegrationDto; - public typegen_121_AppleInAppPaymentIntegrationDto?: AppleInAppPaymentIntegrationDto; - public typegen_122_GoogleInAppPaymentIntegrationDto?: GoogleInAppPaymentIntegrationDto; - public typegen_123_LemonSqueezyPaymentIntegrationDto?: LemonSqueezyPaymentIntegrationDto; - public typegen_124_MolliePaymentIntegrationDto?: MolliePaymentIntegrationDto; - public typegen_125_PaddlePaymentIntegrationDto?: PaddlePaymentIntegrationDto; - public typegen_126_PayPalPaymentIntegrationDto?: PayPalPaymentIntegrationDto; - public typegen_127_StripePaymentIntegrationDto?: StripePaymentIntegrationDto; - public typegen_184_ShopifyPaymentIntegrationDto?: ShopifyPaymentIntegrationDto; - public typegen_185_WooCommercePaymentIntegrationDto?: WooCommercePaymentIntegrationDto; - public typegen_186_MagentoPaymentIntegrationDto?: MagentoPaymentIntegrationDto; - public typegen_187_BraintreePaymentIntegrationDto?: BraintreePaymentIntegrationDto; - public typegen_188_AuthorizeNetPaymentIntegrationDto?: AuthorizeNetPaymentIntegrationDto; - public typegen_189_CheckOutComPaymentIntegrationDto?: CheckOutComPaymentIntegrationDto; - public typegen_190_WorldpayPaymentIntegrationDto?: WorldpayPaymentIntegrationDto; - public typegen_128_AppleSignInMembershipIntegrationDto?: AppleSignInMembershipIntegrationDto; - public typegen_129_GitHubMembershipIntegrationDto?: GitHubMembershipIntegrationDto; - public typegen_130_GoogleMembershipIntegrationDto?: GoogleMembershipIntegrationDto; - public typegen_131_MetaMembershipIntegrationDto?: MetaMembershipIntegrationDto; - public typegen_132_MicrosoftMembershipIntegrationDto?: MicrosoftMembershipIntegrationDto; - public typegen_133_OktaMembershipIntegrationDto?: OktaMembershipIntegrationDto; - public typegen_134_XMembershipIntegrationDto?: XMembershipIntegrationDto; - public typegen_135_AmqpLoggingIntegrationDto?: AmqpLoggingIntegrationDto; - public typegen_136_AwsKinesisLoggingIntegrationDto?: AwsKinesisLoggingIntegrationDto; - public typegen_137_AwsS3CrossAccountRoleLoggingIntegrationDto?: AwsS3CrossAccountRoleLoggingIntegrationDto; - public typegen_138_AwsS3IamLoggingIntegrationDto?: AwsS3IamLoggingIntegrationDto; - public typegen_139_AzureOtelLoggingIntegrationDto?: AzureOtelLoggingIntegrationDto; - public typegen_140_DataDogLoggingIntegrationDto?: DataDogLoggingIntegrationDto; - public typegen_141_ElasticSearchLoggingIntegrationDto?: ElasticSearchLoggingIntegrationDto; - public typegen_142_InternalKafkaLoggingIntegrationDto?: InternalKafkaLoggingIntegrationDto; - public typegen_143_KafkaLoggingIntegrationDto?: KafkaLoggingIntegrationDto; - public typegen_144_KibanaLoggingIntegrationDto?: KibanaLoggingIntegrationDto; - public typegen_145_LocalFileLoggingIntegrationDto?: LocalFileLoggingIntegrationDto; - public typegen_146_MicrosoftTeamsLoggingIntegrationDto?: MicrosoftTeamsLoggingIntegrationDto; - public typegen_147_MongoDbLoggingIntegrationDto?: MongoDbLoggingIntegrationDto; - public typegen_148_NewRelicLoggingIntegrationDto?: NewRelicLoggingIntegrationDto; - public typegen_149_PrometheusLoggingIntegrationDto?: PrometheusLoggingIntegrationDto; - public typegen_150_SplunkLoggingIntegrationDto?: SplunkLoggingIntegrationDto; - public typegen_151_TelegramLoggingIntegrationDto?: TelegramLoggingIntegrationDto; - public typegen_152_ZabbixLoggingIntegrationDto?: ZabbixLoggingIntegrationDto; - public typegen_191_SlackLoggingIntegrationDto?: SlackLoggingIntegrationDto; - public typegen_153_AppleICloudFilesIntegrationDto?: AppleICloudFilesIntegrationDto; - public typegen_154_AwsS3CrossAccountRoleFilesIntegrationDto?: AwsS3CrossAccountRoleFilesIntegrationDto; - public typegen_155_AwsS3IamFilesIntegrationDto?: AwsS3IamFilesIntegrationDto; - public typegen_156_AzureBlobFilesIntegrationDto?: AzureBlobFilesIntegrationDto; - public typegen_157_DropBoxFilesIntegrationDto?: DropBoxFilesIntegrationDto; - public typegen_158_FtpFilesIntegrationDto?: FtpFilesIntegrationDto; - public typegen_159_GoogleCloudFilesIntegrationDto?: GoogleCloudFilesIntegrationDto; - public typegen_160_GoogleDriveFilesIntegrationDto?: GoogleDriveFilesIntegrationDto; - public typegen_161_LocalFilesIntegrationDto?: LocalFilesIntegrationDto; - public typegen_162_MongoDbAtlasClusterIntegrationDto?: MongoDbAtlasClusterIntegrationDto; - public typegen_163_MongoDbAtlasServerlessIntegrationDto?: MongoDbAtlasServerlessIntegrationDto; - public typegen_164_MongoDbConnectionStringIntegrationDto?: MongoDbConnectionStringIntegrationDto; - public typegen_165_BirdSmsIntegrationDto?: BirdSmsIntegrationDto; - public typegen_166_PlivoSmsIntegrationDto?: PlivoSmsIntegrationDto; - public typegen_167_SinchSmsIntegrationDto?: SinchSmsIntegrationDto; - public typegen_168_TelesignSmsIntegrationDto?: TelesignSmsIntegrationDto; - public typegen_169_TelnyxSmsIntegrationDto?: TelnyxSmsIntegrationDto; - public typegen_170_TwilioSmsIntegrationDto?: TwilioSmsIntegrationDto; - public typegen_171_VonageSmsIntegrationDto?: VonageSmsIntegrationDto; - public typegen_172_AndroidFirebasePushIntegrationDto?: AndroidFirebasePushIntegrationDto; - public typegen_173_AppleApnsPushIntegrationDto?: AppleApnsPushIntegrationDto; - public typegen_174_ChromePluginPushIntegrationDto?: ChromePluginPushIntegrationDto; - public typegen_175_ChromeWebPushIntegrationDto?: ChromeWebPushIntegrationDto; - public typegen_176_EdgeWebPushIntegrationDto?: EdgeWebPushIntegrationDto; - public typegen_177_FirefoxWebPushIntegrationDto?: FirefoxWebPushIntegrationDto; - public typegen_178_SafariPushIntegrationDto?: SafariPushIntegrationDto; - public typegen_179_AwsCrossAccountRoleEmailIntegrationDto?: AwsCrossAccountRoleEmailIntegrationDto; - public typegen_180_AwsIamEmailIntegrationDto?: AwsIamEmailIntegrationDto; - public typegen_181_MailGunEmailIntegrationDto?: MailGunEmailIntegrationDto; - public typegen_182_SendGridEmailIntegrationDto?: SendGridEmailIntegrationDto; - public typegen_183_SmtpEmailIntegrationDto?: SmtpEmailIntegrationDto; - public typegen_192_WebhookIntegrationDto?: WebhookIntegrationDto; - public typegen_193_WebhookDestinationDto?: WebhookDestinationDto; - public typegen_194_SchedulerTaskDto?: SchedulerTaskDto; - public typegen_195_MongoDbAggregateDto?: MongoDbAggregateDto; - public typegen_196_MarketplaceIntegrationDto?: MarketplaceIntegrationDto; - public typegen_197_MarketplaceFunctionBindingDto?: MarketplaceFunctionBindingDto; - public typegen_198_MarketplaceListingDto?: MarketplaceListingDto; - public typegen_199_MarketplaceFunctionDefinitionDto?: MarketplaceFunctionDefinitionDto; - public typegen_200_MarketplaceFunctionParameterDto?: MarketplaceFunctionParameterDto; - public typegen_201_MarketplaceMappingDto?: MarketplaceMappingDto; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'InternalsTypeGen'; } - public getMethod() { return 'GET'; } - public createResponse() {} - } - - // @Route("/{version}/echo", "GET") - export class Echo extends RequestBase implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'Echo'; } - public getMethod() { return 'GET'; } - public createResponse() { return new EchoResponse(); } - } - - // @Route("/{version}/account/profile", "GET") - export class GetAccountProfile extends RequestBase implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetAccountProfile'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetAccountProfileResponse(); } - } - - // @Route("/{version}/account/profile", "PUT") - // @DataContract - export class UpdateAccountProfile extends RequestBase implements IReturn - { - // @DataMember - public displayName: string; - - // @DataMember - public billingEmail?: string; - - // @DataMember - public operationsEmail?: string; - - // @DataMember - public securityEmail?: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'UpdateAccountProfile'; } - public getMethod() { return 'PUT'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/account/verify/resend", "GET") - export class ResendAccountVerificationToken extends RequestBase implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'ResendAccountVerificationToken'; } - public getMethod() { return 'GET'; } - public createResponse() { return new EmptyResponse(); } - } - - /** @description Get Account Status. */ - // @Route("/{version}/account/status", "GET") - // @Api(Description="Get Account Status.") - export class GetAccountStatus extends RequestBase implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetAccountStatus'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetAccountStatusResponse(); } - } - - // @Route("/{version}/account/stripe/create-checkout-session", "POST") - // @DataContract - export class CreateStripeCheckoutSession extends RequestBase implements IReturn - { - // @DataMember - public subscriptionType: SubscriptionType; - - // @DataMember - public domain?: string; - - // @DataMember - public projectCap: number; - - // @DataMember - public newProjectSessionId?: string; - - // @DataMember - public returnUrl?: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'CreateStripeCheckoutSession'; } - public getMethod() { return 'POST'; } - public createResponse() { return new CreateStripeCheckoutSessionResponse(); } - } - - // @Route("/{version}/account/stripe/get-portal-url", "POST") - // @DataContract - export class GetStripeBillingPortalUrl extends RequestBase implements IReturn - { - // @DataMember - public subscriptionType: SubscriptionType; - - // @DataMember - public returnUrl?: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetStripeBillingPortalUrl'; } - public getMethod() { return 'POST'; } - public createResponse() { return new GetStripeBillingPortalUrlResponse(); } - } - - // @Route("/{version}/account/team/member", "POST") - export class CreateTeamMemberFromInvitation extends RequestBase implements IReturn - { - /** @description Display name of the account holder */ - // @ApiMember(DataType="string", Description="Display name of the account holder", IsRequired=true, Name="DisplayName", ParameterType="form") - public displayName: string; - - /** @description Token from invitation email */ - // @ApiMember(DataType="string", Description="Token from invitation email", IsRequired=true, Name="Token", ParameterType="form") - public token: string; - - /** @description Set password for a new account */ - // @ApiMember(DataType="string", Description="Set password for a new account", Format="password", IsRequired=true, Name="Password", ParameterType="form") - public password: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'CreateTeamMemberFromInvitation'; } - public getMethod() { return 'POST'; } - public createResponse() { return new CreateTeamMemberFromInvitationResponse(); } - } - - // @Route("/{version}/account/verify", "GET") - export class VerifyAccount extends RequestBase implements IReturn, IHasAccountId - { - public token: string; - public accountId: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'VerifyAccount'; } - public getMethod() { return 'GET'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/account/projects/{projectId}/notifications/settings/group", "DELETE") - export class DeleteNotificationsGroup extends CodeMashRequestBase implements IReturn - { - public groupTag: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'DeleteNotificationsGroup'; } - public getMethod() { return 'DELETE'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/account/projects/{projectId}/notifications/settings/tag", "DELETE") - export class DeleteNotificationsTag extends CodeMashRequestBase implements IReturn - { - public tag: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'DeleteNotificationsTag'; } - public getMethod() { return 'DELETE'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/account/projects/{projectId}/notifications/settings/group/tag", "DELETE") - export class RemoveTagFromNotificationsGroup extends CodeMashRequestBase implements IReturn - { - public groupTag: string; - public tag: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'RemoveTagFromNotificationsGroup'; } - public getMethod() { return 'DELETE'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/account/projects/{projectId}/notifications/settings/group", "POST") - export class SaveNotificationsGroup extends CodeMashRequestBase implements IReturn - { - public groupDefinition: GroupDefinitionDto; - public channel: CommunicationChannel; - public originChannel?: CommunicationChannel; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'SaveNotificationsGroup'; } - public getMethod() { return 'POST'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/account/projects/{projectId}/notifications/settings/tag", "POST") - export class SaveNotificationsTag extends CodeMashRequestBase implements IReturn - { - public tagDefinition: TagDefinitionDto; - public channel?: CommunicationChannel; - public groupTag?: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'SaveNotificationsTag'; } - public getMethod() { return 'POST'; } - public createResponse() { return new EmptyResponse(); } - } - - /** @description Create a new backend project. */ - // @Route("/{version}/account/projects", "POST") - // @Api(Description="Create a new backend project.") - // @DataContract - export class CreateProjectRequest extends RequestBase implements IReturn - { - // @DataMember - public integration: DatabaseIntegrationRequest; - - // @DataMember - public projectName: string; - - // @DataMember - public regions?: string[]; - - // @DataMember - public description?: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'CreateProjectRequest'; } - public getMethod() { return 'POST'; } - public createResponse() { return new IdResponse(); } - } - - // @Route("/{version}/account/projects/{projectId}", "DELETE") - export class DeleteProject extends CodeMashRequestBase implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'DeleteProject'; } - public getMethod() { return 'DELETE'; } - public createResponse() { return new EmptyResponse(); } - } - - /** @description Gets project info. */ - // @Route("/{version}/account/projects/{projectId}", "GET") - // @Api(Description="Gets project info.") - export class GetProject extends CodeMashRequestBase implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetProject'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetProjectResponse(); } - } - - /** @description Retrieve projects list. */ - // @Route("/{version}/account/projects", "GET") - // @Api(Description="Retrieve projects list.") - export class GetProjects extends RequestBase implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetProjects'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetProjectsResponse(); } - } - - /** @description Get available project regions. */ - // @Route("/{version}/account/regions", "GET") - // @Api(Description="Get available project regions.") - export class GetAccountRegions extends RequestBase implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetAccountRegions'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetAccountRegionsResponse(); } - } - - /** @description Gets project tokens. */ - // @Route("/{version}/account/projects/{projectId}/tokens", "GET") - // @Api(Description="Gets project tokens.") - export class GetProjectTokens extends CodeMashRequestBase implements IReturn - { - public initiatorId?: string; - public recipientId?: string; - public targetUserId?: string; - public membershipTriggerOldUserId?: string; - public membershipTriggerNewUserId?: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetProjectTokens'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetProjectTokensResponse(); } - } - - /** @description Updates project accent color */ - // @Route("/{version}/account/projects/{projectId}/settings/accent-color", "PATCH") - // @Api(Description="Updates project accent color") - export class UpdateProjectAccentColor extends CodeMashRequestBase implements IReturn - { - public color: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'UpdateProjectAccentColor'; } - public getMethod() { return 'PATCH'; } - public createResponse() { return new EmptyResponse(); } - } - - /** @description Updates project icon */ - // @Route("/{version}/account/projects/{projectId}/settings/icon", "PATCH") - // @Api(Description="Updates project icon") - export class UpdateProjectIcon extends CodeMashRequestBase implements IReturn - { - public fileResource?: FileResourceDto; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'UpdateProjectIcon'; } - public getMethod() { return 'PATCH'; } - public createResponse() { return new EmptyResponse(); } - } - - /** @description Updates project logo */ - // @Route("/{version}/account/projects/{projectId}/settings/logo", "PATCH") - // @Api(Description="Updates project logo") - export class UpdateProjectLogo extends CodeMashRequestBase implements IReturn - { - public fileResource?: FileResourceDto; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'UpdateProjectLogo'; } - public getMethod() { return 'PATCH'; } - public createResponse() { return new EmptyResponse(); } - } - - /** @description Updates project main color */ - // @Route("/{version}/account/projects/{projectId}/settings/main-color", "PATCH") - // @Api(Description="Updates project main color") - export class UpdateProjectMainColor extends CodeMashRequestBase implements IReturn - { - public color: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'UpdateProjectMainColor'; } - public getMethod() { return 'PATCH'; } - public createResponse() { return new EmptyResponse(); } - } - - /** @description Updates project CORS settings */ - // @Route("/{version}/account/projects/{projectId}/settings/origins", "PATCH") - // @Api(Description="Updates project CORS settings") - export class UpdateProjectAllowedOrigins extends CodeMashRequestBase implements IReturn - { - public origins?: string[]; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'UpdateProjectAllowedOrigins'; } - public getMethod() { return 'PATCH'; } - public createResponse() { return new EmptyResponse(); } - } - - /** @description Update project default language */ - // @Route("/{version}/account/projects/{projectId}/settings/default-language", "PATCH") - // @Api(Description="Update project default language") - export class UpdateProjectDefaultLanguage extends CodeMashRequestBase implements IReturn - { - public defaultLanguage: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'UpdateProjectDefaultLanguage'; } - public getMethod() { return 'PATCH'; } - public createResponse() { return new EmptyResponse(); } - } - - /** @description Updates project description */ - // @Route("/{version}/account/projects/{projectId}/settings/description", "PATCH") - // @Api(Description="Updates project description") - export class UpdateProjectDescription extends CodeMashRequestBase implements IReturn - { - public description?: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'UpdateProjectDescription'; } - public getMethod() { return 'PATCH'; } - public createResponse() { return new EmptyResponse(); } - } - - /** @description Disables project */ - // @Route("/{version}/account/projects/{projectId}/disable", "PATCH") - // @Api(Description="Disables project") - export class DisableProject extends CodeMashRequestBase implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'DisableProject'; } - public getMethod() { return 'PATCH'; } - public createResponse() { return new EmptyResponse(); } - } - - /** @description Enables project */ - // @Route("/{version}/account/projects/{projectId}/enable", "PATCH") - // @Api(Description="Enables project") - export class EnableProject extends CodeMashRequestBase implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'EnableProject'; } - public getMethod() { return 'PATCH'; } - public createResponse() { return new EmptyResponse(); } - } - - /** @description Updates project languages */ - // @Route("/{version}/account/projects/{projectId}/settings/languages", "PATCH") - // @Api(Description="Updates project languages") - export class UpdateProjectLanguages extends CodeMashRequestBase implements IReturn - { - public languages: string[] = []; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'UpdateProjectLanguages'; } - public getMethod() { return 'PATCH'; } - public createResponse() { return new EmptyResponse(); } - } - - /** @description Updates project marketing url */ - // @Route("/{version}/account/projects/{projectId}/settings/url", "PATCH") - // @Api(Description="Updates project marketing url") - export class UpdateProjectUrl extends CodeMashRequestBase implements IReturn - { - public url?: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'UpdateProjectUrl'; } - public getMethod() { return 'PATCH'; } - public createResponse() { return new EmptyResponse(); } - } - - /** @description Updates project name */ - // @Route("/{version}/account/projects/{projectId}/settings/name", "PATCH") - // @Api(Description="Updates project name") - export class UpdateProjectName extends CodeMashRequestBase implements IReturn - { - public name: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'UpdateProjectName'; } - public getMethod() { return 'PATCH'; } - public createResponse() { return new EmptyResponse(); } - } - - /** @description Updates project regions */ - // @Route("/{version}/account/projects/{projectId}/settings/regions", "PATCH") - // @Api(Description="Updates project regions") - export class UpdateProjectRegions extends CodeMashRequestBase implements IReturn - { - public regions?: string[]; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'UpdateProjectRegions'; } - public getMethod() { return 'PATCH'; } - public createResponse() { return new EmptyResponse(); } - } - - /** @description This API endpoint allows users to create a new CodeMash account. */ - // @Route("/{version}/account", "POST") - // @Api(Description="This API endpoint allows users to create a new CodeMash account.") - export class CreateAccount extends RequestBase implements IReturn - { - /** @description Display name of the account holder */ - // @ApiMember(DataType="string", Description="Display name of the account holder", IsRequired=true, Name="DisplayName", ParameterType="form") - public displayName: string; - - /** @description Real email of account holder */ - // @ApiMember(DataType="string", Description="Real email of account holder", IsRequired=true, Name="Email", ParameterType="form") - public email: string; - - /** @description Set password for a new account */ - // @ApiMember(DataType="string", Description="Set password for a new account", Format="password", IsRequired=true, Name="Password", ParameterType="form") - public password: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'CreateAccount'; } - public getMethod() { return 'POST'; } - public createResponse() { return new CreateAccountResponse(); } - } - - // @Route("/{version}/account/collaborators", "GET") - export class GetAccountCollaborators extends RequestBase implements IReturn - { - public includeAccountOwner: boolean; - public userShouldHavePushDevice: boolean; - public projectId?: string; - public userIds?: string[]; - public pagingArgs?: PagingArgs; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetAccountCollaborators'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetAccountCollaboratorsResponse(); } - } - - // @Route("/{version}/account/team/member/invite", "POST") - export class SendInviteToTeamMember extends RequestBase implements IReturn - { - public email: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'SendInviteToTeamMember'; } - public getMethod() { return 'POST'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/account/licenses", "GET") - export class GetLicenses extends RequestBase implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetLicenses'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetLicensesResponse(); } - } - - export class AccountCreated - { - public email: EmailAddress; - public displayName: DisplayName; - public accountId: AccountId; - public createdOn: UtcDateTime; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'AccountCreated'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class AccountProfileUpdated - { - public displayName: DisplayName; - public billingEmail?: EmailAddress; - public operationsEmail?: EmailAddress; - public securityEmail?: EmailAddress; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'AccountProfileUpdated'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class AccountSetAsActive - { - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'AccountSetAsActive'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class AccountValidationTokenIssued - { - public expiration: ExpirationToken; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'AccountValidationTokenIssued'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class AccountVerified - { - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'AccountVerified'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class AccountBlocked - { - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'AccountBlocked'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class AccountSetAsInactive - { - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'AccountSetAsInactive'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class AccountUnregistered - { - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'AccountUnregistered'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class LicenseCreated - { - public license: CodeMashLicense; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'LicenseCreated'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class ProjectCreated - { - public id: ProjectId; - public name: ProjectName; - public databaseIntegrationId: IntegrationId; - public regions?: ProjectRegion[]; - public description?: string; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'ProjectCreated'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class ProjectActivated - { - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'ProjectActivated'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class ProjectDisabled - { - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'ProjectDisabled'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class ProjectDeleted - { - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'ProjectDeleted'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class ProjectNameChanged - { - public projectName: ProjectName; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'ProjectNameChanged'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class ProjectDescriptionChanged - { - public description?: string; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'ProjectDescriptionChanged'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class ProjectMarketingUrlChanged - { - public url?: DomainUrl; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'ProjectMarketingUrlChanged'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class ProjectAllowedOriginsChanged - { - public origins?: DomainUrl[]; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'ProjectAllowedOriginsChanged'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class ProjectDefaultLanguageChanged - { - public language: Language; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'ProjectDefaultLanguageChanged'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class ProjectLanguagesChanged - { - public languages: Language[] = []; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'ProjectLanguagesChanged'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class ProjectLogoChanged - { - public logo?: ProjectLogo; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'ProjectLogoChanged'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class ProjectIconChanged - { - public icon?: ProjectIcon; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'ProjectIconChanged'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class ProjectMainColorChanged - { - public color: BrandColor; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'ProjectMainColorChanged'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class ProjectAccentColorChanged - { - public color: BrandColor; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'ProjectAccentColorChanged'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class ProjectRegionsChanged - { - public regions?: ProjectRegion[]; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'ProjectRegionsChanged'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class ProjectEnabled - { - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'ProjectEnabled'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class ProjectCommunicationSet - { - public projectCommunication: ProjectCommunication; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'ProjectCommunicationSet'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class ProjectTimeZoneChanged - { - public timeZone?: TimeZone; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'ProjectTimeZoneChanged'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class ProjectPaymentZonesChanged - { - public paymentZones?: TimeZone[]; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'ProjectPaymentZonesChanged'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class ProjectCommunicationGroupSaved - { - public group: GroupDefinition; - public channel: CommunicationChannel; - public originChannel?: CommunicationChannel; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'ProjectCommunicationGroupSaved'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class ProjectCommunicationTagFromGroupDeleted - { - public groupTag: Tag; - public removedTag: Tag; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'ProjectCommunicationTagFromGroupDeleted'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class ProjectCommunicationGroupDeleted - { - public groupTag: Tag; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'ProjectCommunicationGroupDeleted'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class ProjectCommunicationTagSaved - { - public tag: TagDefinition; - public groupTag?: Tag; - public channel?: CommunicationChannel; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'ProjectCommunicationTagSaved'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class ProjectCommunicationTagDeleted - { - public tag: Tag; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'ProjectCommunicationTagDeleted'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class CustomerCreated - { - public customerId: ExternalCustomerId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'CustomerCreated'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class SubscriptionChanged - { - public subscription: CodeMashManagedServiceSubscription; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'SubscriptionChanged'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class SubscriptionCanceled - { - public customerId: ExternalCustomerId; - public subscriptionId: string; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'SubscriptionCanceled'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - // @Route("/{version}/membership/disable", "GET") - export class DisableMembership extends CodeMashRequestBase implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'DisableMembership'; } - public getMethod() { return 'GET'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/membership/enable", "GET") - export class EnableMembership extends CodeMashRequestBase implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'EnableMembership'; } - public getMethod() { return 'GET'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/notifications/user/preferences", "GET") - export class GetUserNotificationPreferences extends CodeMashRequestBase implements IReturn - { - public userId: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetUserNotificationPreferences'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetUserEmailPreferencesResponse(); } - } - - // @Route("/{version}/notifications/user/preferences", "PUT") - export class UpdateUserNotificationsPreferences extends CodeMashRequestBase implements IReturn - { - public userId: string; - public blockAllMarketingMessages: boolean; - public subscribedToTags?: { [index:string]: HashSet; }; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'UpdateUserNotificationsPreferences'; } - public getMethod() { return 'PUT'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/membership/triggers/{triggerId}", "DELETE") - // @Route("/{version}/triggers", "DELETE") - // @DataContract - export class DeleteMembershipTrigger extends DeleteTrigger implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'DeleteMembershipTrigger'; } - public getMethod() { return 'DELETE'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/membership/triggers/{triggerId}/disable", "PATCH") - // @Route("/{version}/triggers/disable", "PUT") - // @DataContract - export class DisableMembershipTrigger extends DisableTrigger implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'DisableMembershipTrigger'; } - public getMethod() { return 'POST'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/membership/triggers/{triggerId}/enable", "PATCH") - // @Route("/{version}/triggers/enable", "PUT") - // @DataContract - export class EnableMembershipTrigger extends EnableTrigger implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'EnableMembershipTrigger'; } - public getMethod() { return 'POST'; } - public createResponse() { return new EmptyResponse(); } - } - - /** @description Gets membership trigger by specified Id */ - // @Route("/{version}/membership/triggers/{id}", "GET") - // @Api(Description="Gets membership trigger by specified Id") - export class GetMembershipTrigger extends GetTrigger implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetMembershipTrigger'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetMembershipTriggerResponse(); } - } - - /** @description Gets membership triggers */ - // @Route("/{version}/membership/triggers", "GET") - // @Api(Description="Gets membership triggers") - export class GetMembershipTriggers extends GetTriggers implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetMembershipTriggers'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetMembershipTriggersResponse(); } - } - - // @Route("/{version}/membership/triggers", "POST") - // @Route("/{version}/triggers", "POST") - // @DataContract - export class SaveMembershipTrigger extends SaveTrigger implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'SaveMembershipTrigger'; } - public getMethod() { return 'POST'; } - public createResponse() { return new IdResponse(); } - } - - /** @description Create a new custom role for project. */ - // @Route("/{version}/membership/roles", "POST") - // @Api(Description="Create a new custom role for project.") - export class CreateRole extends CodeMashRequestBase implements IReturn - { - public roleName: string; - public description?: string; - public policies?: string[]; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'CreateRole'; } - public getMethod() { return 'POST'; } - public createResponse() { return new IdResponse(); } - } - - /** @description Deletes custom role from project. */ - // @Route("/{version}/membership/roles", "DELETE") - // @Api(Description="Deletes custom role from project.") - export class DeleteRole extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'DeleteRole'; } - public getMethod() { return 'DELETE'; } - public createResponse() { return new EmptyResponse(); } - } - - /** @description Gets project role details. */ - // @Route("/{version}/membership/roles/{Id}", "GET") - // @Api(Description="Gets project role details.") - export class GetRole extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetRole'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetRoleResponse(); } - } - - /** @description Gets project roles. */ - // @Route("/{version}/membership/roles", "GET") - // @Api(Description="Gets project roles.") - export class GetRoles extends CodeMashRequestBase implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetRoles'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetRolesResponse(); } - } - - /** @description Updates role policies */ - // @Route("/{version}/membership/roles", "PATCH") - // @Api(Description="Updates role policies") - export class UpdateRolePolicies extends CodeMashRequestBase implements IReturn - { - public id: string; - public roleName: string; - public description?: string; - public policies?: string[]; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'UpdateRolePolicies'; } - public getMethod() { return 'PATCH'; } - public createResponse() { return new EmptyResponse(); } - } - - /** @description Create a new custom policy for project. */ - // @Route("/{version}/membership/policies", "POST") - // @Api(Description="Create a new custom policy for project.") - export class CreatePolicy extends CodeMashRequestBase implements IReturn - { - public policyName: string; - public description?: string; - public policyDocumentJson?: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'CreatePolicy'; } - public getMethod() { return 'POST'; } - public createResponse() { return new IdResponse(); } - } - - /** @description Deletes custom policy from project. */ - // @Route("/{version}/membership/policies", "DELETE") - // @Api(Description="Deletes custom policy from project.") - export class DeletePolicy extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'DeletePolicy'; } - public getMethod() { return 'DELETE'; } - public createResponse() { return new EmptyResponse(); } - } - - /** @description Gets project policy details. */ - // @Route("/{version}/membership/policies/{Id}", "GET") - // @Api(Description="Gets project policy details.") - export class GetPolicy extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetPolicy'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetPolicyResponse(); } - } - - /** @description Gets project policies. */ - // @Route("/{version}/membership/policies", "GET") - // @Api(Description="Gets project policies.") - export class GetPolicies extends CodeMashRequestBase implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetPolicies'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetPoliciesResponse(); } - } - - /** @description Updates a custom policy for project. */ - // @Route("/{version}/membership/policies", "PUT") - // @Api(Description="Updates a custom policy for project.") - export class UpdatePolicy extends CodeMashRequestBase implements IReturn - { - public id: string; - public policyName: string; - public description?: string; - public policyDocumentJson?: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'UpdatePolicy'; } - public getMethod() { return 'PUT'; } - public createResponse() { return new IdResponse(); } - } - - // @Route("/{version}/membership/integrations/{Id}", "DELETE") - export class DeleteMembershipIntegrationRequest extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'DeleteMembershipIntegrationRequest'; } - public getMethod() { return 'DELETE'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/membership/integrations/{Id}/disable", "PUT") - export class DisableMembershipIntegrationRequest extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'DisableMembershipIntegrationRequest'; } - public getMethod() { return 'PUT'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/membership/integrations/{Id}/enable", "PUT") - export class EnableMembershipIntegrationRequest extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'EnableMembershipIntegrationRequest'; } - public getMethod() { return 'PUT'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/membership/integrations/{id}", "GET") - export class GetMembershipIntegration extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetMembershipIntegration'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetMembershipIntegrationResponse(); } - } - - // @Route("/{version}/membership/integrations", "GET") - export class GetMembershipIntegrations extends CodeMashListPaginationRequestBase implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetMembershipIntegrations'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetMembershipIntegrationsResponse(); } - } - - // @Route("/{version}/membership/integrations", "POST") - // @DataContract - export class SaveMembershipIntegration extends CodeMashRequestBase implements IReturn - { - // @DataMember - public integration: MembershipIntegrationRequest; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'SaveMembershipIntegration'; } - public getMethod() { return 'POST'; } - public createResponse() { return new IdResponse(); } - } - - // @Route("/{version}/membership/integrations/{Id}/default", "PUT") - export class SetMembershipIntegrationAsDefaultRequest extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'SetMembershipIntegrationAsDefaultRequest'; } - public getMethod() { return 'PUT'; } - public createResponse() { return new EmptyResponse(); } - } - - export class MembershipIntegrationSaved - { - public integration: MembershipIntegration; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'MembershipIntegrationSaved'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class MembershipIntegrationTested - { - public id: IntegrationId; - public succeeded: boolean; - public errorMessages: IReadOnlyList; - public testedAtUtc: string; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'MembershipIntegrationTested'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class MembershipIntegrationRenamed - { - public id: IntegrationId; - public name: DisplayName; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'MembershipIntegrationRenamed'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class MembershipIntegrationDeleted - { - public id: IntegrationId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'MembershipIntegrationDeleted'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class MembershipIntegrationSetAsDefault - { - public id: IntegrationId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'MembershipIntegrationSetAsDefault'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class MembershipIntegrationEnabled - { - public id: IntegrationId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'MembershipIntegrationEnabled'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class MembershipIntegrationDisabled - { - public id: IntegrationId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'MembershipIntegrationDisabled'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class MembershipEstablished - { - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'MembershipEstablished'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class MembershipEnabled - { - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'MembershipEnabled'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class MembershipDisabled - { - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'MembershipDisabled'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class SetUserRegistersAsRole - { - public projectId?: ProjectId; - public role: RoleName; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'SetUserRegistersAsRole'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class PolicyCreated - { - public policy: MembershipPolicy; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'PolicyCreated'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class PolicyUpdated - { - public policy: MembershipPolicy; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'PolicyUpdated'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class PolicyDeleted - { - public policyId: PolicyId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'PolicyDeleted'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class RoleCreated - { - public role: MembershipRole; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'RoleCreated'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class RoleUpdated - { - public role: MembershipRole; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'RoleUpdated'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class RoleDeleted - { - public roleId: RoleId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'RoleDeleted'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class MembershipTriggerSaved - { - public trigger: MembershipTrigger; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'MembershipTriggerSaved'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class MembershipTriggerEnabled extends TriggerByIdEventBase - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'MembershipTriggerEnabled'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class MembershipTriggerDisabled extends TriggerByIdEventBase - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'MembershipTriggerDisabled'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class MembershipTriggerDeleted extends TriggerByIdEventBase - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'MembershipTriggerDeleted'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - // @Route("/{version}/database/disable", "GET") - export class DisableDatabase extends CodeMashRequestBase implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'DisableDatabase'; } - public getMethod() { return 'GET'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/database/enable", "GET") - export class EnableDatabase extends CodeMashRequestBase implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'EnableDatabase'; } - public getMethod() { return 'GET'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/database/schemas/triggers/{triggerId}", "DELETE") - // @Route("/{version}/triggers", "DELETE") - // @DataContract - export class DeleteSchemaTrigger extends DeleteTrigger implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'DeleteSchemaTrigger'; } - public getMethod() { return 'DELETE'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/database/schemas/triggers/{triggerId}/disable", "PATCH") - // @Route("/{version}/triggers/disable", "PUT") - // @DataContract - export class DisableSchemaTrigger extends DisableTrigger implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'DisableSchemaTrigger'; } - public getMethod() { return 'POST'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/database/schemas/triggers/{triggerId}/enable", "PATCH") - // @Route("/{version}/triggers/enable", "PUT") - // @DataContract - export class EnableSchemaTrigger extends EnableTrigger implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'EnableSchemaTrigger'; } - public getMethod() { return 'POST'; } - public createResponse() { return new EmptyResponse(); } - } - - /** @description Gets database trigger by specified Id */ - // @Route("/{version}/database/schemas/triggers/{id}", "GET") - // @Api(Description="Gets database trigger by specified Id") - export class GetSchemaTrigger extends GetTrigger implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetSchemaTrigger'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetSchemaTriggerResponse(); } - } - - /** @description Gets database triggers */ - // @Route("/{version}/database/schemas/triggers", "GET") - // @Api(Description="Gets database triggers") - export class GetSchemaTriggers extends GetTriggers implements IReturn - { - public schemaId: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetSchemaTriggers'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetSchemaTriggersResponse(); } - } - - // @Route("/{version}/database/schemas/triggers", "POST") - // @Route("/{version}/triggers", "POST") - // @DataContract - export class SaveSchemaTrigger extends SaveTrigger implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'SaveSchemaTrigger'; } - public getMethod() { return 'POST'; } - public createResponse() { return new IdResponse(); } - } - - // @Route("/{version}/database/taxonomies/{Id}", "DELETE") - export class DeleteDatabaseTaxonomyRequest extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'DeleteDatabaseTaxonomyRequest'; } - public getMethod() { return 'DELETE'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/database/taxonomies/{id}", "GET") - export class GetDatabaseTaxonomy extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetDatabaseTaxonomy'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetDatabaseTaxonomyResponse(); } - } - - // @Route("/{version}/database/taxonomies", "GET") - export class GetDatabaseTaxonomies extends CodeMashListPaginationRequestBase implements IReturn - { - public pagingArgs?: PagingArgs; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetDatabaseTaxonomies'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetDatabaseTaxonomiesResponse(); } - } - - // @Route("/{version}/database/taxonomies", "POST") - // @DataContract - export class SaveDatabaseTaxonomyRequest extends CodeMashRequestBase implements IReturn - { - // @DataMember - public viewId?: string; - - // @DataMember - public taxonomyName: string; - - // @DataMember - public description?: string; - - // @DataMember - public termsMetaDataSchema?: string; - - // @DataMember - public termsMetaVisualSchema?: string; - - // @DataMember - public parentId?: string; - - // @DataMember - public dependencies?: string[]; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'SaveDatabaseTaxonomyRequest'; } - public getMethod() { return 'POST'; } - public createResponse() { return new IdResponse(); } - } - - // @Route("/{version}/database/taxonomies/{TaxonomyId}/terms/{Id}", "DELETE") - // @DataContract - export class DeleteDatabaseTaxonomyTermRequest extends CodeMashRequestBase implements IReturn - { - // @DataMember - public taxonomyId: string; - - // @DataMember - public id: string; - - // @DataMember - public databaseIntegrationId: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'DeleteDatabaseTaxonomyTermRequest'; } - public getMethod() { return 'DELETE'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/database/taxonomies/{TaxonomyId}/terms/many", "DELETE") - // @DataContract - export class DeleteManyDatabaseTaxonomyTermsRequest extends CodeMashRequestBase implements IReturn - { - // @DataMember - public taxonomyId: string; - - // @DataMember - public databaseIntegrationId: string; - - // @DataMember - public filter: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'DeleteManyDatabaseTaxonomyTermsRequest'; } - public getMethod() { return 'DELETE'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/database/taxonomies/{TaxonomyId}/terms/{Id}", "GET") - // @DataContract - export class GetDatabaseTaxonomyTermRequest extends CodeMashRequestBase implements IReturn - { - // @DataMember - public taxonomyId: string; - - // @DataMember - public id: string; - - // @DataMember - public databaseIntegrationId: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetDatabaseTaxonomyTermRequest'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetDatabaseTaxonomyTermResponse(); } - } - - // @Route("/{version}/database/taxonomies/{TaxonomyId}/terms", "POST") - // @DataContract - export class SaveDatabaseTaxonomyTermRequest extends CodeMashRequestBase implements IReturn - { - // @DataMember - public taxonomyId: string; - - // @DataMember - public databaseIntegrationId: string; - - // @DataMember - public document: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'SaveDatabaseTaxonomyTermRequest'; } - public getMethod() { return 'POST'; } - public createResponse() { return new IdResponse(); } - } - - // @Route("/{version}/database/taxonomies/{TaxonomyId}/terms/{Id}", "PUT") - // @DataContract - export class UpdateDatabaseTaxonomyTermRequest extends CodeMashRequestBase implements IReturn - { - // @DataMember - public taxonomyId: string; - - // @DataMember - public id: string; - - // @DataMember - public databaseIntegrationId: string; - - // @DataMember - public update: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'UpdateDatabaseTaxonomyTermRequest'; } - public getMethod() { return 'PUT'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/database/schemas/{Id}", "DELETE") - export class DeleteDatabaseSchemaRequest extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'DeleteDatabaseSchemaRequest'; } - public getMethod() { return 'DELETE'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/database/schemas/{Id}/draft", "DELETE") - // @DataContract - export class DiscardDatabaseSchemaDraftRequest extends CodeMashRequestBase implements IReturn - { - // @DataMember - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'DiscardDatabaseSchemaDraftRequest'; } - public getMethod() { return 'DELETE'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/database/schemas/{id}", "GET") - // @DataContract - export class GetDatabaseSchema extends CodeMashRequestBase implements IReturn - { - // @DataMember - public id: string; - - // @DataMember(Name="version") - // @ApiMember(DataType="integer", Name="version", ParameterType="query") - public schemaVersion?: number; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetDatabaseSchema'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetDatabaseSchemaResponse(); } - } - - // @Route("/{version}/database/schemas", "GET") - export class GetDatabaseSchemas extends CodeMashListPaginationRequestBase implements IReturn - { - public pagingArgs?: PagingArgs; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetDatabaseSchemas'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetDatabaseSchemasResponse(); } - } - - // @Route("/{version}/database/schemas/{Id}/draft", "GET") - // @DataContract - export class GetDatabaseSchemaDraft extends CodeMashRequestBase implements IReturn - { - // @DataMember - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetDatabaseSchemaDraft'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetDatabaseSchemaDraftResponse(); } - } - - // @Route("/{version}/database/schemas/{Id}/versions/diff", "GET") - // @DataContract - export class GetDatabaseSchemaVersionDiff extends CodeMashRequestBase implements IReturn - { - // @DataMember - public id: string; - - // @DataMember - public fromVersion: number; - - // @DataMember - public toVersion: number; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetDatabaseSchemaVersionDiff'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetDatabaseSchemaVersionDiffResponse(); } - } - - // @Route("/{version}/database/schemas/{Id}/versions", "GET") - // @DataContract - export class GetDatabaseSchemaVersions extends CodeMashRequestBase implements IReturn - { - // @DataMember - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetDatabaseSchemaVersions'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetDatabaseSchemaVersionsResponse(); } - } - - // @Route("/{version}/database/schemas/{Id}/publish", "POST") - // @DataContract - export class PublishDatabaseSchemaRequest extends CodeMashRequestBase implements IReturn - { - // @DataMember - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'PublishDatabaseSchemaRequest'; } - public getMethod() { return 'POST'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/database/schemas/{Id}/rename", "PUT") - // @DataContract - export class RenameDatabaseSchemaRequest extends CodeMashRequestBase implements IReturn - { - // @DataMember - public id: string; - - // @DataMember - public title: string; - - // @DataMember - public renameUniqueName: boolean; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'RenameDatabaseSchemaRequest'; } - public getMethod() { return 'PUT'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/database/schemas", "POST") - // @DataContract - export class SaveDatabaseSchemaRequest extends CodeMashRequestBase implements IReturn - { - // @DataMember - public viewId?: string; - - // @DataMember - public schemaName: string; - - // @DataMember - public dataSchema?: string; - - // @DataMember - public visualSchema?: string; - - // @DataMember - public settings?: SchemaSettingsDto; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'SaveDatabaseSchemaRequest'; } - public getMethod() { return 'POST'; } - public createResponse() { return new IdResponse(); } - } - - // @Route("/{version}/database/schemas/{Id}/draft", "PUT") - // @DataContract - export class UpdateDatabaseSchemaDraftRequest extends CodeMashRequestBase implements IReturn - { - // @DataMember - public id: string; - - // @DataMember - public dataSchema?: string; - - // @DataMember - public visualSchema?: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'UpdateDatabaseSchemaDraftRequest'; } - public getMethod() { return 'PUT'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/database/schemas/{Id}/settings", "PUT") - // @DataContract - export class UpdateDatabaseSchemaSettingsRequest extends CodeMashRequestBase implements IReturn - { - // @DataMember - public settings: SchemaSettingsDto; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'UpdateDatabaseSchemaSettingsRequest'; } - public getMethod() { return 'PUT'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/database/integrations/{Id}", "DELETE") - export class DeleteDatabaseIntegrationRequest extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'DeleteDatabaseIntegrationRequest'; } - public getMethod() { return 'DELETE'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/database/integrations/{Id}/disable", "PUT") - export class DisableDatabaseIntegrationRequest extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'DisableDatabaseIntegrationRequest'; } - public getMethod() { return 'PUT'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/database/integrations/{Id}/enable", "PUT") - export class EnableDatabaseIntegrationRequest extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'EnableDatabaseIntegrationRequest'; } - public getMethod() { return 'PUT'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/database/integrations/{id}", "GET") - export class GetDatabaseIntegration extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetDatabaseIntegration'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetDatabaseIntegrationResponse(); } - } - - // @Route("/{version}/database/integrations", "GET") - export class GetDatabaseIntegrations extends CodeMashListPaginationRequestBase implements IReturn - { - public pagingArgs?: PagingArgs; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetDatabaseIntegrations'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetDatabaseIntegrationsResponse(); } - } - - // @Route("/{version}/database/integrations", "POST") - // @DataContract - export class SaveDatabaseIntegration extends CodeMashRequestBase implements IReturn - { - // @DataMember - public integration: DatabaseIntegrationRequest; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'SaveDatabaseIntegration'; } - public getMethod() { return 'POST'; } - public createResponse() { return new IdResponse(); } - } - - // @Route("/{version}/database/integrations/{Id}/default", "PUT") - export class SetDatabaseIntegrationAsDefaultRequest extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'SetDatabaseIntegrationAsDefaultRequest'; } - public getMethod() { return 'PUT'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/database/aggregates/{Id}", "DELETE") - // @DataContract - export class DeleteDatabaseAggregateRequest extends CodeMashRequestBase implements IReturn - { - // @DataMember - public id: string; - - // @DataMember - public schemaId: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'DeleteDatabaseAggregateRequest'; } - public getMethod() { return 'DELETE'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/database/aggregates/{Id}", "GET") - export class GetDatabaseAggregate extends CodeMashRequestBase implements IReturn - { - public id: string; - public schemaId: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetDatabaseAggregate'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetDatabaseAggregateResponse(); } - } - - // @Route("/{version}/database/aggregates", "GET") - export class GetDatabaseAggregates extends CodeMashListPaginationRequestBase implements IReturn - { - public schemaId: string; - public pagingArgs?: PagingArgs; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetDatabaseAggregates'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetDatabaseAggregatesResponse(); } - } - - // @Route("/{version}/database/aggregates", "POST") - // @DataContract - export class SaveDatabaseAggregateRequest extends CodeMashRequestBase implements IReturn - { - // @DataMember - public viewId?: string; - - // @DataMember - public schemaId: string; - - // @DataMember - public displayName: string; - - // @DataMember - public description?: string; - - // @DataMember - public pipeline: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'SaveDatabaseAggregateRequest'; } - public getMethod() { return 'POST'; } - public createResponse() { return new IdResponse(); } - } - - // @Route("/{version}/database/aggregates/test", "POST") - // @DataContract - export class TestDatabaseAggregateRequest extends CodeMashRequestBase implements IReturn - { - // @DataMember - public databaseIntegrationId: string; - - // @DataMember - public collectionName: string; - - // @DataMember - public pipeline: string; - - // @DataMember - public tokens?: { [index:string]: string; }; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'TestDatabaseAggregateRequest'; } - public getMethod() { return 'POST'; } - public createResponse() { return new TestDatabaseAggregateResponse(); } - } - - export class MongoDbAggregateCreated - { - public aggregate: MongoDbAggregate; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'MongoDbAggregateCreated'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class MongoDbAggregateUpdated - { - public aggregate: MongoDbAggregate; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'MongoDbAggregateUpdated'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class MongoDbAggregateDeleted - { - public schemaId: SchemaId; - public id: MongoDbAggregateId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'MongoDbAggregateDeleted'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class DatabaseEstablished - { - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'DatabaseEstablished'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class DatabaseEnabled - { - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'DatabaseEnabled'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class DatabaseDisabled - { - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'DatabaseDisabled'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class DatabaseIntegrationSaved - { - public integration: DatabaseIntegration; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'DatabaseIntegrationSaved'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class DatabaseIntegrationTested - { - public id: IntegrationId; - public succeeded: boolean; - public errorMessages: IReadOnlyList; - public testedAtUtc: string; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'DatabaseIntegrationTested'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class DatabaseIntegrationRenamed - { - public id: IntegrationId; - public name: DisplayName; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'DatabaseIntegrationRenamed'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class DatabaseIntegrationSetAsDefault - { - public id: IntegrationId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'DatabaseIntegrationSetAsDefault'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class DatabaseIntegrationDeleted - { - public id: IntegrationId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'DatabaseIntegrationDeleted'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class DatabaseIntegrationEnabled - { - public id: IntegrationId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'DatabaseIntegrationEnabled'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class DatabaseIntegrationDisabled - { - public id: IntegrationId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'DatabaseIntegrationDisabled'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class SchemaCreated - { - public schema: Schema; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'SchemaCreated'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class SchemaDraftUpdated - { - public id: SchemaId; - public draft: SchemaDraft; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'SchemaDraftUpdated'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class SchemaDraftDiscarded - { - public id: SchemaId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'SchemaDraftDiscarded'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class SchemaVersionPublished - { - public id: SchemaId; - public version: PublishedSchemaVersion; - public diff: SchemaDiff; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'SchemaVersionPublished'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class SchemaSettingsUpdated - { - public id: SchemaId; - public settings: SchemaSettings; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'SchemaSettingsUpdated'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class SchemaDeleted - { - public id: SchemaId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'SchemaDeleted'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class SchemaRenamed - { - public schemaId: SchemaId; - public newName: SchemaName; - public renameUniqueName: boolean; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'SchemaRenamed'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class SchemaDataCleared - { - public id: SchemaId; - public integrations: IntegrationId[] = []; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'SchemaDataCleared'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class TaxonomyCreated - { - public taxonomy: Taxonomy; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'TaxonomyCreated'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class TaxonomyUpdated - { - public taxonomy: Taxonomy; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'TaxonomyUpdated'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class TaxonomyDeleted - { - public taxonomyId: TaxonomyId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'TaxonomyDeleted'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class TaxonomyDataCleared - { - public taxonomyId: TaxonomyId; - public integrations: IntegrationId[] = []; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'TaxonomyDataCleared'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class SchemaTriggerSaved - { - public trigger: SchemaTrigger; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'SchemaTriggerSaved'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class SchemaTriggerEnabled extends TriggerByIdEventBase - { - public schemaId: SchemaId; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'SchemaTriggerEnabled'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class SchemaTriggerDisabled extends TriggerByIdEventBase - { - public schemaId: SchemaId; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'SchemaTriggerDisabled'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class SchemaTriggerDeleted extends TriggerByIdEventBase - { - public schemaId: SchemaId; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'SchemaTriggerDeleted'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - // @Route("/{version}/files/disable", "GET") - export class DisableFiles extends CodeMashRequestBase implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'DisableFiles'; } - public getMethod() { return 'GET'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/files/enable", "GET") - export class EnableFiles extends CodeMashRequestBase implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'EnableFiles'; } - public getMethod() { return 'GET'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/files/triggers/{triggerId}", "DELETE") - // @Route("/{version}/triggers", "DELETE") - // @DataContract - export class DeleteFilesTrigger extends DeleteTrigger implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'DeleteFilesTrigger'; } - public getMethod() { return 'DELETE'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/files/triggers/{triggerId}/disable", "PATCH") - // @Route("/{version}/triggers/disable", "PUT") - // @DataContract - export class DisableFilesTrigger extends DisableTrigger implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'DisableFilesTrigger'; } - public getMethod() { return 'POST'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/files/triggers/{triggerId}/enable", "PATCH") - // @Route("/{version}/triggers/enable", "PUT") - // @DataContract - export class EnableFilesTrigger extends EnableTrigger implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'EnableFilesTrigger'; } - public getMethod() { return 'POST'; } - public createResponse() { return new EmptyResponse(); } - } - - /** @description Gets files trigger by specified Id */ - // @Route("/{version}/files/triggers/{id}", "GET") - // @Api(Description="Gets files trigger by specified Id") - export class GetFilesTrigger extends GetTrigger implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetFilesTrigger'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetFilesTriggerResponse(); } - } - - /** @description Gets files triggers */ - // @Route("/{version}/files/triggers", "GET") - // @Api(Description="Gets files triggers") - export class GetFilesTriggers extends GetTriggers implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetFilesTriggers'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetFilesTriggersResponse(); } - } - - // @Route("/{version}/files/triggers", "POST") - // @Route("/{version}/triggers", "POST") - // @DataContract - export class SaveFilesTrigger extends SaveTrigger implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'SaveFilesTrigger'; } - public getMethod() { return 'POST'; } - public createResponse() { return new IdResponse(); } - } - - // @Route("/{version}/files/integrations/{Id}", "DELETE") - export class DeleteFilesIntegrationRequest extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'DeleteFilesIntegrationRequest'; } - public getMethod() { return 'DELETE'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/files/integrations/{Id}/disable", "PUT") - export class DisableFilesIntegrationRequest extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'DisableFilesIntegrationRequest'; } - public getMethod() { return 'PUT'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/files/integrations/{Id}/enable", "PUT") - export class EnableFilesIntegrationRequest extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'EnableFilesIntegrationRequest'; } - public getMethod() { return 'PUT'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/files/integrations/{id}", "GET") - export class GetFilesIntegration extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetFilesIntegration'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetFilesIntegrationResponse(); } - } - - // @Route("/{version}/files/integrations", "GET") - export class GetFilesIntegrations extends CodeMashListPaginationRequestBase implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetFilesIntegrations'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetFilesIntegrationsResponse(); } - } - - // @Route("/{version}/files/integrations", "POST") - // @DataContract - export class SaveFilesIntegration extends CodeMashRequestBase implements IReturn - { - // @DataMember - public integration: FilesIntegrationRequest; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'SaveFilesIntegration'; } - public getMethod() { return 'POST'; } - public createResponse() { return new IdResponse(); } - } - - // @Route("/{version}/files/integrations/{Id}/default", "PUT") - export class SetFilesIntegrationAsDefaultRequest extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'SetFilesIntegrationAsDefaultRequest'; } - public getMethod() { return 'PUT'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/notifications/email/disable", "GET") - export class DisableEmail extends CodeMashRequestBase implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'DisableEmail'; } - public getMethod() { return 'GET'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/notifications/email/enable", "GET") - export class EnableEmail extends CodeMashRequestBase implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'EnableEmail'; } - public getMethod() { return 'GET'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/notifications/email/templates/attachments", "POST") - export class AttachFileToTemplateRequest extends CodeMashRequestBase implements IReturn - { - public language?: string; - public templateId: string; - public fileRef: FileResourceRefDto; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'AttachFileToTemplateRequest'; } - public getMethod() { return 'POST'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/notifications/email/templates", "POST") - export class CreateEmailTemplateRequest extends SaveEmailTemplate implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'CreateEmailTemplateRequest'; } - public getMethod() { return 'POST'; } - public createResponse() { return new IdResponse(); } - } - - // @Route("/{version}/notifications/email/templates/{Id}", "DELETE") - export class DeleteEmailTemplateRequest extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'DeleteEmailTemplateRequest'; } - public getMethod() { return 'DELETE'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/notifications/email/templates/{id}", "GET") - export class GetEmailTemplate extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetEmailTemplate'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetEmailTemplateResponse(); } - } - - // @Route("/{version}/notifications/email/templates", "GET") - export class GetEmailTemplates extends CodeMashListPaginationRequestBase implements IReturn - { - public showArchived?: boolean; - public templateId?: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetEmailTemplates'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetEmailTemplatesResponse(); } - } - - // @Route("/{version}/notifications/email/templates/mjml", "POST") - export class GetMjml extends CodeMashRequestBase implements IReturn - { - public code: string; - public tokens?: TokenMappingDto[]; - public isForPreview: boolean; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetMjml'; } - public getMethod() { return 'POST'; } - public createResponse() { return new GetHtmlFromMjmlResponse(); } - } - - // @Route("/{version}/notifications/email/system-templates/{id}", "GET") - export class GetSystemEmailTemplate extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetSystemEmailTemplate'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetSystemEmailTemplateResponse(); } - } - - // @Route("/{version}/notifications/email/system-templates", "GET") - export class GetSystemEmailTemplates extends CodeMashListPaginationRequestBase implements IReturn - { - public groupTags?: string[]; - public themes?: string[]; - public communicationChannel?: CommunicationChannel; - public forTrigger?: TriggerType; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetSystemEmailTemplates'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetSystemEmailTemplatesResponse(); } - } - - // @Route("/{version}/notifications/email/templates/{id}/tokens", "GET") - export class GetEmailTemplateAvailableTokens extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetEmailTemplateAvailableTokens'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetEmailTemplateAvailableTokensResponse(); } - } - - // @Route("/{version}/notifications/email/templates", "PUT") - export class UpdateEmailTemplateRequest extends SaveEmailTemplate implements IReturn - { - public viewId: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'UpdateEmailTemplateRequest'; } - public getMethod() { return 'PUT'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/notifications/email/signatures/{id}", "DELETE") - export class DeleteEmailSignature extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'DeleteEmailSignature'; } - public getMethod() { return 'DELETE'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/notifications/email/signatures/{id}", "GET") - export class GetEmailSignature extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetEmailSignature'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetEmailSignatureResponse(); } - } - - // @Route("/{version}/notifications/email/signatures", "GET") - export class GetEmailSignatures extends CodeMashListPaginationRequestBase implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetEmailSignatures'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetEmailSignaturesResponse(); } - } - - // @Route("/{version}/notifications/email/signatures", "POST") - export class SaveEmailSignatureRequest extends CodeMashRequestBase implements IReturn - { - public viewId?: string; - public displayName: string; - public translations: TranslationDto[] = []; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'SaveEmailSignatureRequest'; } - public getMethod() { return 'POST'; } - public createResponse() { return new IdResponse(); } - } - - // @Route("/{version}/notifications/email/settings", "GET") - export class GetEmailSettings extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetEmailSettings'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetEmailSettingsResponse(); } - } - - // @Route("/{version}/notifications/email/integrations/confirm-human-delivery", "POST") - // @DataContract - export class ConfirmEmailIntegrationHumanDeliveryRequest extends CodeMashRequestBase implements IReturn - { - // @DataMember - public integrationId: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'ConfirmEmailIntegrationHumanDeliveryRequest'; } - public getMethod() { return 'POST'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/notifications/email/integrations/{Id}", "DELETE") - export class DeleteEmailIntegration extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'DeleteEmailIntegration'; } - public getMethod() { return 'DELETE'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/notifications/email/integrations/{Id}/disable", "PUT") - export class DisableEmailIntegration extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'DisableEmailIntegration'; } - public getMethod() { return 'PUT'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/notifications/email/integrations/{Id}/enable", "PUT") - export class EnableEmailIntegration extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'EnableEmailIntegration'; } - public getMethod() { return 'PUT'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/notifications/email/integrations/{id}", "GET") - export class GetEmailIntegration extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetEmailIntegration'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetEmailIntegrationResponse(); } - } - - // @Route("/{version}/notifications/email/integrations", "GET") - export class GetEmailIntegrations extends CodeMashListPaginationRequestBase implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetEmailIntegrations'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetEmailIntegrationsResponse(); } - } - - // @Route("/{version}/notifications/email/integrations", "POST") - // @DataContract - export class SaveEmailIntegration extends CodeMashRequestBase implements IReturn - { - // @DataMember - public integration: EmailIntegrationRequest; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'SaveEmailIntegration'; } - public getMethod() { return 'POST'; } - public createResponse() { return new IdResponse(); } - } - - // @Route("/{version}/notifications/email/integrations/{Id}/default", "PUT") - export class SetEmailsIntegrationAsDefault extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'SetEmailsIntegrationAsDefault'; } - public getMethod() { return 'PUT'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/notifications/email/integrations/test", "POST") - export class TestEmailIntegration extends CodeMashRequestBase implements IReturn - { - public integrationId: string; - public to?: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'TestEmailIntegration'; } - public getMethod() { return 'POST'; } - public createResponse() { return new TestEmailIntegrationResponse(); } - } - - // @Route("/{version}/notifications/email/templates/{Id}/archive", "PUT") - export class ArchiveEmailTemplateRequest extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'ArchiveEmailTemplateRequest'; } - public getMethod() { return 'PUT'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/notifications/email/templates/{Id}/clone", "POST") - export class CloneEmailTemplateRequest extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'CloneEmailTemplateRequest'; } - public getMethod() { return 'POST'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/notifications/email/templates/{Id}/unarchive", "PUT") - export class UnArchiveEmailTemplateRequest extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'UnArchiveEmailTemplateRequest'; } - public getMethod() { return 'PUT'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/notifications/email/footers/{id}", "DELETE") - export class DeleteEmailFooter extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'DeleteEmailFooter'; } - public getMethod() { return 'DELETE'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/notifications/email/footers/{id}", "GET") - export class GetEmailFooter extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetEmailFooter'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetEmailFooterResponse(); } - } - - // @Route("/{version}/notifications/email/footers", "GET") - export class GetEmailFooters extends CodeMashListPaginationRequestBase implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetEmailFooters'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetEmailFootersResponse(); } - } - - // @Route("/{version}/notifications/email/footers", "POST") - export class SaveEmailFooterRequest extends CodeMashRequestBase implements IReturn - { - public viewId?: string; - public displayName: string; - public translations: TranslationDto[] = []; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'SaveEmailFooterRequest'; } - public getMethod() { return 'POST'; } - public createResponse() { return new IdResponse(); } - } - - /** @description This endpoint implements the RFC 8058 one-click unsubscribe flow used by mailbox providers. */ - // @Route("/{version}/email/one-click-unsubscribe", "POST") - // @Api(Description="This endpoint implements the RFC 8058 one-click unsubscribe flow used by mailbox providers.") - // @DataContract - export class OneClickUnsubscribeRequest extends RequestBase implements IReturn - { - /** @description Encrypted unsubscribe token. The campaign batcher embedded this value in the List-Unsubscribe header. */ - // @DataMember - // @ApiMember(Description="Encrypted unsubscribe token. The campaign batcher embedded this value in the List-Unsubscribe header.", IsRequired=true, Name="token", ParameterType="query") - public token: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'OneClickUnsubscribeRequest'; } - public getMethod() { return 'POST'; } - public createResponse() { return new EmptyResponse(); } - } - - /** @description Create email campaign */ - // @Route("/{version}/notifications/email/campaigns", "POST") - // @Api(Description="Create email campaign") - // @DataContract - export class CreateEmailCampaignRequest extends CodeMashRequestBase implements IReturn - { - // @DataMember - public campaign: EmailCampaignRequest; - - // @DataMember - public databaseIntegrationId: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'CreateEmailCampaignRequest'; } - public getMethod() { return 'POST'; } - public createResponse() { return new IdResponse(); } - } - - /** @description Deletes emails campaign from queue */ - // @Route("/{version}/notifications/email/campaigns/{Id}", "DELETE") - // @Api(Description="Deletes emails campaign from queue") - // @DataContract - export class DeleteEmailCampaignRequest extends CodeMashRequestBase implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'DeleteEmailCampaignRequest'; } - public getMethod() { return 'DELETE'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/notifications/email/campaigns/{id}", "GET") - export class GetEmailCampaign extends CodeMashRequestBase implements IReturn - { - public id: string; - public databaseIntegrationId: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetEmailCampaign'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetEmailCampaignResponse(); } - } - - // @Route("/{version}/notifications/email/campaigns", "GET") - export class GetEmailCampaigns extends CodeMashListPaginationRequestBase implements IReturn - { - public databaseIntegrationId: string; - public campaignId?: string; - public emailAddress?: string; - public templateId?: string; - public from?: number; - public to?: number; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetEmailCampaigns'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetEmailCampaignsResponse(); } - } - - // @Route("/{version}/notifications/email/campaigns/{id}/batches", "GET") - export class GetEmailCampaignBatches extends CodeMashListPaginationRequestBase implements IReturn - { - public id: string; - public databaseIntegrationId: string; - public batchId?: string; - public emailAddress?: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetEmailCampaignBatches'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetEmailCampaignBatchesResponse(); } - } - - // @Route("/{version}/notifications/email/campaigns/{id}/batches/{batchId}/{notificationId}", "GET") - export class GetEmailCampaignBatchNotification extends CodeMashListPaginationRequestBase implements IReturn - { - public id: string; - public batchId: string; - public notificationId: string; - public databaseIntegrationId: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetEmailCampaignBatchNotification'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetEmailCampaignBatchNotificationResponse(); } - } - - // @Route("/{version}/notifications/email/campaigns/{id}/batches/{batchId}", "GET") - export class GetEmailCampaignBatchNotifications extends CodeMashListPaginationRequestBase implements IReturn - { - public id: string; - public batchId: string; - public databaseIntegrationId: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetEmailCampaignBatchNotifications'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetEmailCampaignBatchNotificationsResponse(); } - } - - // @Route("/{version}/notifications/email/campaigns/{id}/stats", "GET") - export class GetEmailCampaignStatistics extends CodeMashRequestBase implements IReturn - { - public id: string; - public databaseIntegrationId: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetEmailCampaignStatistics'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetEmailCampaignStatisticsResponse(); } - } - - // @Route("/{version}/notifications/email/preview", "GET") - export class PreviewEmailNotification extends RequestBase implements IReturn - { - public hash: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'PreviewEmailNotification'; } - public getMethod() { return 'GET'; } - public createResponse() { return new PreviewEmailNotificationResponse(); } - } - - // @Route("/{version}/notifications/emails/campaigns/{campaignId}/messages/{id}", "GET") - export class GetEmailCampaignMessage extends CodeMashRequestBase implements IReturn - { - public campaignId: string; - public campaignBatchId: string; - public notificationId: string; - public databaseIntegrationId: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetEmailCampaignMessage'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetEmailCampaignMessageResponse(); } - } - - // @Route("/{version}/notifications/emails/campaigns/{campaignId}/messages", "GET") - export class GetEmailCampaignMessagesRequest extends CodeMashListPaginationRequestBase implements IReturn - { - public campaignId: string; - public campaignBatchId: string; - public databaseIntegrationId: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetEmailCampaignMessagesRequest'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetEmailCampaignMessagesResponse(); } - } - - export class EmailServiceEstablished - { - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'EmailServiceEstablished'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class EmailServiceEnabled - { - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'EmailServiceEnabled'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class EmailServiceDisabled - { - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'EmailServiceDisabled'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class EmailFooterSaved - { - public id: EmailFooterId; - public name: DisplayName; - public translations: MessageTranslation[] = []; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'EmailFooterSaved'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class EmailFooterDeleted - { - public id: EmailFooterId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'EmailFooterDeleted'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class EmailIntegrationSaved - { - public integration: EmailIntegration; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'EmailIntegrationSaved'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class EmailIntegrationTested - { - public id: IntegrationId; - public succeeded: boolean; - public errorMessages: IReadOnlyList; - public testedAtUtc: string; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'EmailIntegrationTested'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class EmailIntegrationHumanDeliveryConfirmed - { - public id: IntegrationId; - public confirmedAtUtc: string; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'EmailIntegrationHumanDeliveryConfirmed'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class EmailIntegrationRenamed - { - public id: IntegrationId; - public name: DisplayName; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'EmailIntegrationRenamed'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class EmailIntegrationSetAsDefault - { - public id: IntegrationId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'EmailIntegrationSetAsDefault'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class EmailIntegrationDeleted - { - public id: IntegrationId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'EmailIntegrationDeleted'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class EmailIntegrationEnabled - { - public id: IntegrationId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'EmailIntegrationEnabled'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class EmailIntegrationDisabled - { - public id: IntegrationId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'EmailIntegrationDisabled'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class EmailSignatureSaved - { - public id: EmailSignatureId; - public name: DisplayName; - public translations: MessageTranslation[] = []; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'EmailSignatureSaved'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class EmailSignatureDeleted - { - public id: EmailSignatureId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'EmailSignatureDeleted'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class EmailTemplateCreated - { - public templateId: TemplateId; - public displayName: DisplayName; - public translations: MessageTranslation[] = []; - public channel: CommunicationChannel; - public description?: string; - public tags?: Tag[]; - public languageAgnosticAttachments?: FileResourceRef[]; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'EmailTemplateCreated'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class EmailTemplateUpdated - { - public templateId: TemplateId; - public displayName: DisplayName; - public translations: MessageTranslation[] = []; - public channel: CommunicationChannel; - public description?: string; - public tags?: Tag[]; - public languageAgnosticAttachments?: FileResourceRef[]; - public attachmentsToBeDeleted?: FileResourceRef[]; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'EmailTemplateUpdated'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class EmailTemplateDeleted - { - public templateId: TemplateId; - public filesToBeDeleted?: FileResourceRef[]; - public fileIntegrationId?: IntegrationId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'EmailTemplateDeleted'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class EmailTemplateArchived - { - public templateId: TemplateId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'EmailTemplateArchived'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class EmailTemplateUnArchived - { - public templateId: TemplateId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'EmailTemplateUnArchived'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class CodeIntegrationSaved - { - public integration: CodeIntegration; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'CodeIntegrationSaved'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class CodeIntegrationTested - { - public id: IntegrationId; - public succeeded: boolean; - public errorMessages: IReadOnlyList; - public testedAtUtc: string; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'CodeIntegrationTested'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class CodeIntegrationHumanDeliveryConfirmed - { - public id: IntegrationId; - public confirmedAtUtc: string; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'CodeIntegrationHumanDeliveryConfirmed'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class CodeIntegrationRenamed - { - public id: IntegrationId; - public name: DisplayName; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'CodeIntegrationRenamed'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class CodeIntegrationSetAsDefault - { - public id: IntegrationId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'CodeIntegrationSetAsDefault'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class CodeIntegrationDeleted - { - public id: IntegrationId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'CodeIntegrationDeleted'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class CodeIntegrationEnabled - { - public id: IntegrationId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'CodeIntegrationEnabled'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class CodeIntegrationDisabled - { - public id: IntegrationId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'CodeIntegrationDisabled'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class MarketplaceIntegrationSaved - { - public integration: MarketplaceIntegration; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'MarketplaceIntegrationSaved'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class MarketplaceIntegrationDeleted - { - public id: IntegrationId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'MarketplaceIntegrationDeleted'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class MarketplaceIntegrationEnabled - { - public id: IntegrationId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'MarketplaceIntegrationEnabled'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class MarketplaceIntegrationDisabled - { - public id: IntegrationId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'MarketplaceIntegrationDisabled'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class MarketplaceIntegrationSecretsConfigured - { - public id: IntegrationId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'MarketplaceIntegrationSecretsConfigured'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class MarketplaceIntegrationSecretsConfigurationFailed - { - public id: IntegrationId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'MarketplaceIntegrationSecretsConfigurationFailed'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class MarketplaceFunctionBindingSaved - { - public binding: MarketplaceFunctionBinding; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'MarketplaceFunctionBindingSaved'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class MarketplaceFunctionBindingDeleted - { - public integrationId: IntegrationId; - public bindingId: string; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'MarketplaceFunctionBindingDeleted'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class MarketplaceFunctionBindingEnabled - { - public integrationId: IntegrationId; - public bindingId: string; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'MarketplaceFunctionBindingEnabled'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class MarketplaceFunctionBindingDisabled - { - public integrationId: IntegrationId; - public bindingId: string; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'MarketplaceFunctionBindingDisabled'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - // @Route("/{version}/notifications/push/disable", "GET") - export class DisablePush extends CodeMashRequestBase implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'DisablePush'; } - public getMethod() { return 'GET'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/notifications/push/enable", "GET") - export class EnablePush extends CodeMashRequestBase implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'EnablePush'; } - public getMethod() { return 'GET'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/notifications/push/templates/{Id}/archive", "PUT") - export class ArchivePushTemplateRequest extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'ArchivePushTemplateRequest'; } - public getMethod() { return 'PUT'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/notifications/push/templates/{Id}/clone", "POST") - export class ClonePushTemplateRequest extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'ClonePushTemplateRequest'; } - public getMethod() { return 'POST'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/notifications/push/templates", "POST") - export class CreatePushTemplateRequest extends SavePushTemplate implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'CreatePushTemplateRequest'; } - public getMethod() { return 'POST'; } - public createResponse() { return new IdResponse(); } - } - - // @Route("/{version}/notifications/push/templates/{Id}", "DELETE") - export class DeletePushTemplateRequest extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'DeletePushTemplateRequest'; } - public getMethod() { return 'DELETE'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/notifications/push/templates/{id}", "GET") - export class GetPushTemplate extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetPushTemplate'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetPushTemplateResponse(); } - } - - // @Route("/{version}/notifications/push/templates", "GET") - export class GetPushTemplates extends CodeMashListPaginationRequestBase implements IReturn - { - public showArchived?: boolean; - public templateId?: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetPushTemplates'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetPushTemplatesResponse(); } - } - - // @Route("/{version}/notifications/push/templates/{id}/tokens", "GET") - export class GetPushMessageContentTokens extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetPushMessageContentTokens'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetPushMessageContentTokensResponse(); } - } - - // @Route("/{version}/notifications/push/templates/{Id}/unarchive", "PUT") - export class UnArchivePushTemplateRequest extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'UnArchivePushTemplateRequest'; } - public getMethod() { return 'PUT'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/notifications/push/templates", "PUT") - export class UpdatePushTemplateRequest extends SavePushTemplate implements IReturn - { - public viewId: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'UpdatePushTemplateRequest'; } - public getMethod() { return 'PUT'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/notifications/push/integrations/confirm-human-delivery", "POST") - // @DataContract - export class ConfirmPushIntegrationHumanDeliveryRequest extends CodeMashRequestBase implements IReturn - { - // @DataMember - public integrationId: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'ConfirmPushIntegrationHumanDeliveryRequest'; } - public getMethod() { return 'POST'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/notifications/push/integrations/{Id}", "DELETE") - export class DeletePushIntegrationRequest extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'DeletePushIntegrationRequest'; } - public getMethod() { return 'DELETE'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/notifications/push/integrations/{Id}/disable", "PUT") - export class DisablePushIntegrationRequest extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'DisablePushIntegrationRequest'; } - public getMethod() { return 'PUT'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/notifications/push/integrations/{Id}/enable", "PUT") - export class EnablePushIntegrationRequest extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'EnablePushIntegrationRequest'; } - public getMethod() { return 'PUT'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/notifications/push/integrations/{id}", "GET") - export class GetPushIntegration extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetPushIntegration'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetPushIntegrationResponse(); } - } - - // @Route("/{version}/notifications/push/integrations", "GET") - export class GetPushIntegrations extends CodeMashListPaginationRequestBase implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetPushIntegrations'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetPushIntegrationsResponse(); } - } - - // @Route("/{version}/notifications/push/integrations", "POST") - // @DataContract - export class SavePushIntegration extends CodeMashRequestBase implements IReturn - { - // @DataMember - public integration: PushIntegrationRequest; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'SavePushIntegration'; } - public getMethod() { return 'POST'; } - public createResponse() { return new IdResponse(); } - } - - // @Route("/{version}/notifications/push/integrations/{Id}/default", "PUT") - export class SetPushIntegrationAsDefaultRequest extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'SetPushIntegrationAsDefaultRequest'; } - public getMethod() { return 'PUT'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/notifications/push/integrations/test", "POST") - export class TestPushIntegration extends CodeMashRequestBase implements IReturn - { - // @DataMember - public integrationId: string; - - // @DataMember - public testToken?: string; - - // @DataMember - public deliveryFamily?: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'TestPushIntegration'; } - public getMethod() { return 'POST'; } - public createResponse() { return new TestEmailIntegrationResponse(); } - } - - // @Route("/{version}/notifications/push/integrations/app/request", "POST") - export class RegisterCodeMashAppPushIntegration extends CodeMashRequestBase implements IReturn, IHasAccountId - { - public accountId: string; - public userId: string; - public requestId: string; - public pin: number; - public validTill: string; - public publicKey: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'RegisterCodeMashAppPushIntegration'; } - public getMethod() { return 'POST'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/notifications/push/devices", "POST") - // @DataContract - export class RegisterDevice extends RequestBase implements IReturn, IHasProjectId - { - // @DataMember - public pushDeviceDto: PushDeviceDto; - - // @DataMember - public userId: string; - - // @DataMember - public projectId: string; - - // @DataMember - public accountId?: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'RegisterDevice'; } - public getMethod() { return 'POST'; } - public createResponse() { return new IdResponse(); } - } - - export class PushIntegrationSaved - { - public integration: PushIntegration; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'PushIntegrationSaved'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class PushIntegrationTested - { - public id: IntegrationId; - public succeeded: boolean; - public errorMessages: IReadOnlyList; - public testedAtUtc: string; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'PushIntegrationTested'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class PushIntegrationHumanDeliveryConfirmed - { - public id: IntegrationId; - public confirmedAtUtc: string; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'PushIntegrationHumanDeliveryConfirmed'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class PushIntegrationRenamed - { - public id: IntegrationId; - public name: DisplayName; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'PushIntegrationRenamed'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class PushIntegrationSetAsDefault - { - public id: IntegrationId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'PushIntegrationSetAsDefault'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class PushIntegrationDeleted - { - public id: IntegrationId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'PushIntegrationDeleted'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class PushIntegrationEnabled - { - public id: IntegrationId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'PushIntegrationEnabled'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class PushIntegrationDisabled - { - public id: IntegrationId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'PushIntegrationDisabled'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class PushServiceEstablished - { - public defaultTemplates?: PushTemplate[]; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'PushServiceEstablished'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class PushServiceEnabled - { - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'PushServiceEnabled'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class PushServiceDisabled - { - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'PushServiceDisabled'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class PushModuleTagSaved - { - public tag: TagDefinition; - public communicationChannel: CommunicationChannel; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'PushModuleTagSaved'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class PushModuleTagDeleted - { - public tag: Tag; - public communicationChannel: CommunicationChannel; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'PushModuleTagDeleted'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class PushTemplateCreated - { - public templateId: TemplateId; - public displayName: DisplayName; - public translations: MessageTranslation[] = []; - public channel: CommunicationChannel; - public description?: string; - public tags?: Tag[]; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'PushTemplateCreated'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class PushTemplateUpdated - { - public templateId: TemplateId; - public displayName: DisplayName; - public translations: MessageTranslation[] = []; - public channel: CommunicationChannel; - public description?: string; - public tags?: Tag[]; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'PushTemplateUpdated'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class PushTemplateDeleted - { - public templateId: TemplateId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'PushTemplateDeleted'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class PushTemplateArchived - { - public templateId: TemplateId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'PushTemplateArchived'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class PushTemplateUnArchived - { - public templateId: TemplateId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'PushTemplateUnArchived'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - // @Route("/{version}/payments/disable", "GET") - export class DisablePayments extends CodeMashRequestBase implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'DisablePayments'; } - public getMethod() { return 'GET'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/payments/enable", "GET") - export class EnablePayments extends CodeMashRequestBase implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'EnablePayments'; } - public getMethod() { return 'GET'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/payments/triggers/{triggerId}", "DELETE") - // @Route("/{version}/triggers", "DELETE") - // @DataContract - export class DeletePaymentsTrigger extends DeleteTrigger implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'DeletePaymentsTrigger'; } - public getMethod() { return 'DELETE'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/payments/triggers/{triggerId}/disable", "PATCH") - // @Route("/{version}/triggers/disable", "PUT") - // @DataContract - export class DisablePaymentsTrigger extends DisableTrigger implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'DisablePaymentsTrigger'; } - public getMethod() { return 'POST'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/payments/triggers/{triggerId}/enable", "PATCH") - // @Route("/{version}/triggers/enable", "PUT") - // @DataContract - export class EnablePaymentsTrigger extends EnableTrigger implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'EnablePaymentsTrigger'; } - public getMethod() { return 'POST'; } - public createResponse() { return new EmptyResponse(); } - } - - /** @description Gets payments trigger by specified Id */ - // @Route("/{version}/payments/triggers/{id}", "GET") - // @Api(Description="Gets payments trigger by specified Id") - export class GetPaymentsTrigger extends GetTrigger implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetPaymentsTrigger'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetPaymentsTriggerResponse(); } - } - - /** @description Gets payments triggers */ - // @Route("/{version}/payments/triggers", "GET") - // @Api(Description="Gets payments triggers") - export class GetPaymentsTriggers extends GetTriggers implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetPaymentsTriggers'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetPaymentsTriggersResponse(); } - } - - // @Route("/{version}/payments/triggers", "POST") - // @Route("/{version}/triggers", "POST") - // @DataContract - export class SavePaymentsTrigger extends SaveTrigger implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'SavePaymentsTrigger'; } - public getMethod() { return 'POST'; } - public createResponse() { return new IdResponse(); } - } - - // @Route("/{version}/payments/integrations/confirm-human-delivery", "POST") - // @DataContract - export class ConfirmPaymentsIntegrationHumanDeliveryRequest extends CodeMashRequestBase implements IReturn - { - // @DataMember - public integrationId: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'ConfirmPaymentsIntegrationHumanDeliveryRequest'; } - public getMethod() { return 'POST'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/payments/integrations/{Id}", "DELETE") - export class DeletePaymentsIntegrationRequest extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'DeletePaymentsIntegrationRequest'; } - public getMethod() { return 'DELETE'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/payments/integrations/{Id}/disable", "PUT") - export class DisablePaymentsIntegrationRequest extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'DisablePaymentsIntegrationRequest'; } - public getMethod() { return 'PUT'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/payments/integrations/{Id}/enable", "PUT") - export class EnablePaymentsIntegrationRequest extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'EnablePaymentsIntegrationRequest'; } - public getMethod() { return 'PUT'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/payments/integrations/{id}", "GET") - export class GetPaymentsIntegration extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetPaymentsIntegration'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetPaymentsIntegrationResponse(); } - } - - // @Route("/{version}/payments/integrations", "GET") - export class GetPaymentsIntegrations extends CodeMashListPaginationRequestBase implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetPaymentsIntegrations'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetPaymentsIntegrationsResponse(); } - } - - // @Route("/{version}/payments/integrations", "POST") - // @DataContract - export class SavePaymentsIntegration extends CodeMashRequestBase implements IReturn - { - // @DataMember - public integration: PaymentIntegrationRequest; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'SavePaymentsIntegration'; } - public getMethod() { return 'POST'; } - public createResponse() { return new IdResponse(); } - } - - // @Route("/{version}/payments/integrations/test", "POST") - export class TestPaymentsIntegration extends CodeMashRequestBase implements IReturn - { - public integrationId: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'TestPaymentsIntegration'; } - public getMethod() { return 'POST'; } - public createResponse() { return new TestPaymentsIntegrationResponse(); } - } - - // @Route("/{version}/logs/disable", "GET") - export class DisableLogging extends CodeMashRequestBase implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'DisableLogging'; } - public getMethod() { return 'GET'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/logs/enable", "GET") - export class EnableLogging extends CodeMashRequestBase implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'EnableLogging'; } - public getMethod() { return 'GET'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/logs/integrations/{Id}", "DELETE") - export class DeleteLoggingIntegrationRequest extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'DeleteLoggingIntegrationRequest'; } - public getMethod() { return 'DELETE'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/logs/integrations/{Id}/disable", "PUT") - export class DisableLoggingIntegrationRequest extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'DisableLoggingIntegrationRequest'; } - public getMethod() { return 'PUT'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/logs/integrations/{Id}/enable", "PUT") - export class EnableLoggingIntegrationRequest extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'EnableLoggingIntegrationRequest'; } - public getMethod() { return 'PUT'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/logs/integrations/{id}", "GET") - export class GetLoggingIntegration extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetLoggingIntegration'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetLoggingIntegrationResponse(); } - } - - // @Route("/{version}/logs/integrations", "GET") - export class GetLoggingIntegrations extends CodeMashListPaginationRequestBase implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetLoggingIntegrations'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetLoggingIntegrationsResponse(); } - } - - // @Route("/{version}/logs/integrations", "POST") - // @DataContract - export class SaveLoggingIntegration extends CodeMashRequestBase implements IReturn - { - // @DataMember - public integration: LoggingIntegrationRequest; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'SaveLoggingIntegration'; } - public getMethod() { return 'POST'; } - public createResponse() { return new IdResponse(); } - } - - // @Route("/{version}/logs/integrations/test", "POST") - export class TestLoggingIntegration extends CodeMashRequestBase implements IReturn - { - public integrationId: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'TestLoggingIntegration'; } - public getMethod() { return 'POST'; } - public createResponse() { return new TestLoggingIntegrationResponse(); } - } - - export class LoggingIntegrationSaved - { - public integration: LoggingIntegration; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'LoggingIntegrationSaved'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class LoggingIntegrationTested - { - public id: IntegrationId; - public succeeded: boolean; - public errorMessages: IReadOnlyList; - public testedAtUtc: string; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'LoggingIntegrationTested'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class LoggingIntegrationRenamed - { - public id: IntegrationId; - public name: DisplayName; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'LoggingIntegrationRenamed'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class LoggingIntegrationDeleted - { - public id: IntegrationId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'LoggingIntegrationDeleted'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class LoggingIntegrationEnabled - { - public id: IntegrationId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'LoggingIntegrationEnabled'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class LoggingIntegrationDisabled - { - public id: IntegrationId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'LoggingIntegrationDisabled'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class LoggingEstablished - { - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'LoggingEstablished'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class LoggingEnabled - { - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'LoggingEnabled'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class LoggingDisabled - { - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'LoggingDisabled'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - /** @description Gets account info. */ - // @Route("/{version}/account/chat/complete", "POST") - // @Api(Description="Gets account info.") - export class AskChatRequest extends RequestBase implements IReturn - { - public prompt: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'AskChatRequest'; } - public getMethod() { return 'POST'; } - public createResponse() { return new AskChatResponse(); } - } - - // @Route("/{version}/ai/integrations/llms/{Id}", "DELETE") - export class DeleteLlmIntegrationRequest extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'DeleteLlmIntegrationRequest'; } - public getMethod() { return 'DELETE'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/ai/integrations/llms/{Id}/disable", "PUT") - export class DisableLlmIntegrationRequest extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'DisableLlmIntegrationRequest'; } - public getMethod() { return 'PUT'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/ai/integrations/llms/{Id}/enable", "PUT") - export class EnableLlmIntegrationRequest extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'EnableLlmIntegrationRequest'; } - public getMethod() { return 'PUT'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/ai/integrations/llms/{id}", "GET") - export class GetLlmIntegration extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetLlmIntegration'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetLlmIntegrationResponse(); } - } - - // @Route("/{version}/ai/integrations/llms/integrations", "GET") - export class GetLlmIntegrations extends CodeMashListPaginationRequestBase implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetLlmIntegrations'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetLlmIntegrationsResponse(); } - } - - // @Route("/{version}/ai/integrations/llms/", "POST") - // @DataContract - export class SaveLlmIntegration extends CodeMashRequestBase implements IReturn - { - // @DataMember - public integration: LlmIntegrationRequest; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'SaveLlmIntegration'; } - public getMethod() { return 'POST'; } - public createResponse() { return new IdResponse(); } - } - - // @Route("/{version}/ai/integrations/llms/test", "POST") - export class TestLlmIntegration extends CodeMashRequestBase implements IReturn - { - public integrationId: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'TestLlmIntegration'; } - public getMethod() { return 'POST'; } - public createResponse() { return new TestLlmIntegrationResponse(); } - } - - // @Route("/{version}/ai/integrations/mcp/{Id}", "DELETE") - export class DeleteMcpIntegrationRequest extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'DeleteMcpIntegrationRequest'; } - public getMethod() { return 'DELETE'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/ai/integrations/mcp/{Id}/disable", "PUT") - export class DisableMcpIntegrationRequest extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'DisableMcpIntegrationRequest'; } - public getMethod() { return 'PUT'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/ai/integrations/mcp/{Id}/enable", "PUT") - export class EnableMcpIntegrationRequest extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'EnableMcpIntegrationRequest'; } - public getMethod() { return 'PUT'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/ai/integrations/mcp/{id}", "GET") - export class GetMcpIntegration extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetMcpIntegration'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetMcpIntegrationResponse(); } - } - - // @Route("/{version}/ai/integrations/mcp/integrations", "GET") - export class GetMcpIntegrations extends CodeMashListPaginationRequestBase implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetMcpIntegrations'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetMcpIntegrationsResponse(); } - } - - // @Route("/{version}/ai/integrations/mcp/", "POST") - // @DataContract - export class SaveMcpIntegration extends CodeMashRequestBase implements IReturn - { - // @DataMember - public integration: McpIntegrationRequest; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'SaveMcpIntegration'; } - public getMethod() { return 'POST'; } - public createResponse() { return new IdResponse(); } - } - - // @Route("/{version}/ai/integrations/mcp/test", "POST") - export class TestMcpIntegration extends CodeMashRequestBase implements IReturn - { - public integrationId: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'TestMcpIntegration'; } - public getMethod() { return 'POST'; } - public createResponse() { return new TestLlmIntegrationResponse(); } - } - - export class WebhookIntegrationSaved - { - public integration: WebhookIntegration; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'WebhookIntegrationSaved'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class WebhookIntegrationExtraHeadersChanged - { - public id: IntegrationId; - public extraHeaders?: IReadOnlyDictionary; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'WebhookIntegrationExtraHeadersChanged'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class WebhookIntegrationSecretsConfigured - { - public id: IntegrationId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'WebhookIntegrationSecretsConfigured'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class WebhookIntegrationSecretsConfigurationFailed - { - public id: IntegrationId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'WebhookIntegrationSecretsConfigurationFailed'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class WebhookIntegrationSecretsCleared - { - public id: IntegrationId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'WebhookIntegrationSecretsCleared'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class WebhookDestinationSaved - { - public integrationId: IntegrationId; - public destination: WebhookDestination; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'WebhookDestinationSaved'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class WebhookDestinationRemoved - { - public integrationId: IntegrationId; - public destinationId: WebhookDestinationId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'WebhookDestinationRemoved'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class WebhookDestinationEnabled - { - public integrationId: IntegrationId; - public destinationId: WebhookDestinationId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'WebhookDestinationEnabled'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class WebhookDestinationDisabled - { - public integrationId: IntegrationId; - public destinationId: WebhookDestinationId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'WebhookDestinationDisabled'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - // @Route("/{version}/webhooks/integration", "GET") - export class GetWebhookIntegration extends CodeMashRequestBase implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetWebhookIntegration'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetWebhookIntegrationResponse(); } - } - - // @Route("/{version}/webhooks/integration/secret", "GET") - export class RevealWebhookIntegrationSecretRequest extends CodeMashRequestBase implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'RevealWebhookIntegrationSecretRequest'; } - public getMethod() { return 'GET'; } - public createResponse() { return new RevealWebhookIntegrationSecretResponse(); } - } - - // @Route("/{version}/webhooks/integration/secret/rotate", "POST") - export class RotateWebhookIntegrationSecretRequest extends CodeMashRequestBase implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'RotateWebhookIntegrationSecretRequest'; } - public getMethod() { return 'POST'; } - public createResponse() { return new RotateWebhookIntegrationSecretResponse(); } - } - - // @Route("/{version}/webhooks/integration/extra-headers", "PUT") - export class UpdateWebhookIntegrationExtraHeadersRequest extends CodeMashRequestBase implements IReturn - { - public extraHeaders?: { [index:string]: string; }; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'UpdateWebhookIntegrationExtraHeadersRequest'; } - public getMethod() { return 'PUT'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/webhooks/destinations/{DestinationId}/disable", "PUT") - export class DisableWebhookDestinationRequest extends CodeMashRequestBase implements IReturn - { - public destinationId: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'DisableWebhookDestinationRequest'; } - public getMethod() { return 'PUT'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/webhooks/destinations/{DestinationId}/enable", "PUT") - export class EnableWebhookDestinationRequest extends CodeMashRequestBase implements IReturn - { - public destinationId: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'EnableWebhookDestinationRequest'; } - public getMethod() { return 'PUT'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/webhooks/destinations/{DestinationId}", "DELETE") - export class RemoveWebhookDestinationRequest extends CodeMashRequestBase implements IReturn - { - public destinationId: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'RemoveWebhookDestinationRequest'; } - public getMethod() { return 'DELETE'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/webhooks/destinations", "POST") - export class SaveWebhookDestinationRequest extends CodeMashRequestBase implements IReturn - { - public destinationId?: string; - public destinationName: string; - public endpointUrl: string; - public selectedEvents: string[] = []; - public extraHeaders?: { [index:string]: string; }; - public isEnabled: boolean; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'SaveWebhookDestinationRequest'; } - public getMethod() { return 'POST'; } - public createResponse() { return new SaveWebhookDestinationResponse(); } - } - - // @Route("/{version}/scheduler/disable", "GET") - export class DisableScheduler extends CodeMashRequestBase implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'DisableScheduler'; } - public getMethod() { return 'GET'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/scheduler/enable", "GET") - export class EnableScheduler extends CodeMashRequestBase implements IReturn - { - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'EnableScheduler'; } - public getMethod() { return 'GET'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/scheduler/tasks/{Id}", "DELETE") - export class DeleteSchedulerTask extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'DeleteSchedulerTask'; } - public getMethod() { return 'DELETE'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/scheduler/tasks/{Id}/disable", "PUT") - export class DisableSchedulerTask extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'DisableSchedulerTask'; } - public getMethod() { return 'PUT'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/scheduler/tasks/{Id}/enable", "PUT") - export class EnableSchedulerTask extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'EnableSchedulerTask'; } - public getMethod() { return 'PUT'; } - public createResponse() { return new EmptyResponse(); } - } - - // @Route("/{version}/scheduler/tasks/{id}", "GET") - export class GetSchedulerTask extends CodeMashRequestBase implements IReturn - { - public id: string; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetSchedulerTask'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetSchedulerTaskResponse(); } - } - - // @Route("/{version}/scheduler/tasks", "GET") - export class GetSchedulerTasks extends CodeMashListPaginationRequestBase implements IReturn - { - public type?: SchedulerTaskType; - public enabled?: boolean; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'GetSchedulerTasks'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetSchedulerTasksResponse(); } - } - - /** @description Save scheduled task */ - // @Route("/{version}/scheduler/tasks", "POST") - // @Api(Description="Save scheduled task") - // @DataContract - export class SaveSchedulerTaskRequest extends CodeMashRequestBase implements IReturn - { - // @DataMember - public taskId?: string; - - // @DataMember - public name: string; - - // @DataMember - public description?: string; - - // @DataMember - public cron: string; - - // @DataMember - public initiatorUserId: string; - - // @DataMember - public isEnabled: boolean; - - // @DataMember - public stopOnError: boolean; - - // @DataMember - public task: SchedulerTaskRequest; - - public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } - public getTypeName() { return 'SaveSchedulerTaskRequest'; } - public getMethod() { return 'POST'; } - public createResponse() { return new IdResponse(); } - } - - export class SchedulerEnabled - { - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'SchedulerEnabled'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class SchedulerDisabled - { - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'SchedulerDisabled'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class SchedulerTaskSaved - { - public task: SchedulerTask; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'SchedulerTaskSaved'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class SchedulerTaskEnabled - { - public taskId: TaskId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'SchedulerTaskEnabled'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class SchedulerTaskDisabled - { - public taskId: TaskId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'SchedulerTaskDisabled'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - export class SchedulerTaskDeleted - { - public taskId: TaskId; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'SchedulerTaskDeleted'; } - public getMethod() { return 'POST'; } - public createResponse() {} - } - - /** @description Sign In */ - // @Route("/auth", "GET,POST") - // @Route("/auth/{provider}", "GET,POST") - // @Route("/v3/auth", "POST,GET,OPTIONS") - // @Route("/v3/auth/{provider}", "POST,GET,OPTIONS") - // @Api(Description="Sign In") - // @DataContract - export class Authenticate implements IReturn, IPost - { - /** @description AuthProvider, e.g. credentials */ - // @DataMember(Order=1) - public provider?: string; - - // @DataMember(Order=2) - public userName?: string; - - // @DataMember(Order=3) - public password?: string; - - // @DataMember(Order=4) - public rememberMe?: boolean; - - // @DataMember(Order=5) - public accessToken?: string; - - // @DataMember(Order=6) - public accessTokenSecret?: string; - - // @DataMember(Order=7) - public returnUrl?: string; - - // @DataMember(Order=8) - public errorView?: string; - - // @DataMember(Order=9) - public meta?: { [index:string]: string; }; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'Authenticate'; } - public getMethod() { return 'POST'; } - public createResponse() { return new AuthenticateResponse(); } - } - - // @Route("/access-token") - // @DataContract - export class GetAccessToken implements IReturn, IPost - { - // @DataMember(Order=1) - public refreshToken?: string; - - // @DataMember(Order=2) - public meta?: { [index:string]: string; }; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'GetAccessToken'; } - public getMethod() { return 'POST'; } - public createResponse() { return new GetAccessTokenResponse(); } - } - - // @Route("/apikeys") - // @Route("/apikeys/{Environment}") - // @DataContract - export class GetApiKeys implements IReturn, IGet - { - // @DataMember(Order=1) - public environment?: string; - - // @DataMember(Order=2) - public meta?: { [index:string]: string; }; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'GetApiKeys'; } - public getMethod() { return 'GET'; } - public createResponse() { return new GetApiKeysResponse(); } - } - - // @Route("/apikeys/regenerate") - // @Route("/apikeys/regenerate/{Environment}") - // @DataContract - export class RegenerateApiKeys implements IReturn, IPost - { - // @DataMember(Order=1) - public environment?: string; - - // @DataMember(Order=2) - public meta?: { [index:string]: string; }; - - public constructor(init?: Partial) { (Object as any).assign(this, init); } - public getTypeName() { return 'RegenerateApiKeys'; } - public getMethod() { return 'POST'; } - public createResponse() { return new RegenerateApiKeysResponse(); } - } + // @DataMember(Order=2) + public meta?: { [index:string]: string; }; + public constructor(init?: Partial) { (Object as any).assign(this, init); } + public getTypeName() { return 'GetAccessToken'; } + public getMethod() { return 'POST'; } + public createResponse() { return new GetAccessTokenResponse(); } } diff --git a/references/hub_dtos.py b/references/hub_dtos.py index 499c3eb..d82a768 100644 --- a/references/hub_dtos.py +++ b/references/hub_dtos.py @@ -1,6 +1,6 @@ """ Options: -Date: 2026-09-04 14:55:41 -Version: 10.08 +Date: 2026-09-28 20:36:25 +Version: 10.20 Tip: To override a DTO option, remove "#" prefix before updating BaseUrl: http://localhost:5001 @@ -280,50 +280,12 @@ class FilesTriggerType(str, Enum): ON_FILE_DELETED = 'OnFileDeleted' -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class FileChecksumDto: - algorithm: Optional[str] = None - hash: Optional[str] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class FileResourceDto: - id: Optional[str] = None - original_file_name: Optional[str] = None - extension: Optional[str] = None - stored_file_name: Optional[str] = None - size_bytes: Optional[int] = None - checksum: Optional[FileChecksumDto] = None - - -class FileProvider(str, Enum): - LOCAL = 'Local' - AWS_S3 = 'AwsS3' - AZURE_BLOB_STORAGE = 'AzureBlobStorage' - GOOGLE_CLOUD_STORAGE = 'GoogleCloudStorage' - FTP = 'Ftp' - APPLE_I_CLOUD = 'AppleICloud' - DROP_BOX = 'DropBox' - GOOGLE_DRIVE = 'GoogleDrive' - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class FileResourceRefDto: - resource: Optional[FileResourceDto] = None - integration_id: Optional[str] = None - provider: Optional[FileProvider] = None - path: Optional[str] = None - - @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class FilesTriggerRequest(SaveTriggerRequest): type: Optional[TriggerType] = None when: Optional[FilesTriggerType] = None - file_ref: Optional[FileResourceRefDto] = None + folder: Optional[str] = None class PaymentTriggerType(str, Enum): @@ -370,6 +332,17 @@ class MongoDbAtlasFlexManagedDatabaseIntegrationRequest(DatabaseIntegrationReque norbix_region_code: Optional[str] = None +class FileProvider(str, Enum): + LOCAL = 'Local' + AWS_S3 = 'AwsS3' + AZURE_BLOB_STORAGE = 'AzureBlobStorage' + GOOGLE_CLOUD_STORAGE = 'GoogleCloudStorage' + FTP = 'Ftp' + APPLE_I_CLOUD = 'AppleICloud' + DROP_BOX = 'DropBox' + GOOGLE_DRIVE = 'GoogleDrive' + + @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class FilesIntegrationRequest: @@ -1250,6 +1223,35 @@ class EmailBodyDto(IHasRazorTemplateCode): template_engine: Optional[EmailTemplateEngine] = None +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class FileChecksumDto: + algorithm: Optional[str] = None + hash: Optional[str] = None + + +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class FileResourceDto: + id: Optional[str] = None + original_file_name: Optional[str] = None + extension: Optional[str] = None + stored_file_name: Optional[str] = None + size_bytes: Optional[int] = None + checksum: Optional[FileChecksumDto] = None + + +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class FileResourceRefDto: + resource: Optional[FileResourceDto] = None + integration_id: Optional[str] = None + provider: Optional[FileProvider] = None + path: Optional[str] = None + public_url: Optional[str] = None + is_public: bool = False + + @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class EmailMessageContentDto(IHasRazorTemplateCode): @@ -1486,29 +1488,6 @@ class RequestBase(ICultureBasedRequest, IVersionBasedRequest, IHasCorrelationIdR """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class Env: - value: Optional[str] = None - is_prod: bool = False - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class CursorArgs(ICursorArgs): - field: Optional[str] = None - order: int = 0 - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PagingArgs: - cursor_args: Optional[CursorArgs] = None - page_size: Optional[int] = None - starting_after: Optional[str] = None - ending_before: Optional[str] = None - - @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class CodeMashListPaginationRequestBase(RequestBase, IHasProjectId, IHasEnv): @@ -1526,7 +1505,6 @@ class CodeMashListPaginationRequestBase(RequestBase, IHasProjectId, IHasEnv): """ - resolved_env: Optional[Env] = None # @ApiMember(DataType="string", Description="Cursor token — fetch the page AFTER this item.", Name="startingAfter", ParameterType="query") starting_after: Optional[str] = None """ @@ -1548,13 +1526,6 @@ class CodeMashListPaginationRequestBase(RequestBase, IHasProjectId, IHasEnv): """ - # @ApiMember(DataType="object", Description="Paging", Name="paging", ParameterType="body") - paging: Optional[PagingArgs] = None - """ - Paging - """ - - @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class GetTriggers(CodeMashListPaginationRequestBase): @@ -1662,10 +1633,19 @@ class PushToCollectionRecordsDeliverySettingsDto(PushCampaignDeliverySettingsDto languages: Optional[List[str]] = None +class PushDeviceDeliveryFamily(str, Enum): + IOS = 'Ios' + ANDROID = 'Android' + CHROME = 'Chrome' + SAFARI = 'Safari' + EXPO = 'Expo' + + @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class PushDeviceDeliveryTokenDto: - pass + push_device_token: Optional[str] = None + delivery_family: Optional[PushDeviceDeliveryFamily] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @@ -2313,6 +2293,12 @@ class VonageSmsIntegrationDto(SmsIntegrationDto): from_sender: Optional[str] = None +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class FakeSmsIntegrationDto(SmsIntegrationDto): + pass + + @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class PushIntegrationDto(IntegrationDto): @@ -2368,6 +2354,12 @@ class SafariPushIntegrationDto(PushIntegrationDto): website_push_id: Optional[str] = None +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class FakePushIntegrationDto(PushIntegrationDto): + pass + + @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class EmailIntegrationDto(IntegrationDto): @@ -2417,6 +2409,12 @@ class SmtpEmailIntegrationDto(EmailIntegrationDto): port: int = 0 +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class FakeEmailIntegrationDto(EmailIntegrationDto): + pass + + @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class WebhookDestinationDto: @@ -2944,815 +2942,869 @@ class TagDefinitionDto(TagDefinitionBaseDto): @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class EmailAddress: - address: Optional[str] = None +class CursorArgs(ICursorArgs): + field: Optional[str] = None + order: int = 0 @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class AggregateId: - value: Optional[str] = None +class PagingArgs: + cursor_args: Optional[CursorArgs] = None + page_size: Optional[int] = None + starting_after: Optional[str] = None + ending_before: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class AccountId(AggregateId, IHasDomainEntityId): - pass +class AiScopeDto: + reach: Optional[str] = None + project_id: Optional[str] = None + rights: Optional[str] = None + envs: List[str] = field(default_factory=list) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class UtcDateTime: - pass - - -class TimeUnit(str, Enum): - TICKS = 'Ticks' - MILLISECONDS = 'Milliseconds' - SECONDS = 'Seconds' - MINUTES = 'Minutes' - HOURS = 'Hours' +class DeleteTrigger(CodeMashRequestBase): + trigger_id: Optional[str] = None + trigger_type: Optional[TriggerType] = None + schema_id: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ExpirationToken: - items: int = 0 - unit: Optional[TimeUnit] = None - value: int = 0 +class DisableTrigger(CodeMashRequestBase): + trigger_id: Optional[str] = None + trigger_type: Optional[TriggerType] = None + schema_id: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class CodeMashSubscriptionId(AggregateId): - pass +class EnableTrigger(CodeMashRequestBase): + trigger_id: Optional[str] = None + trigger_type: Optional[TriggerType] = None + schema_id: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectId(AggregateId, IHasDomainEntityId): - pass +class GetTrigger(CodeMashRequestBase): + id: Optional[str] = None + schema_id: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class IntegrationId(AggregateId, IHasDomainEntityId): - pass - - -class ResourceRefKind(str, Enum): - CONTACT = 'Contact' - DOCUMENT = 'Document' - FILE = 'File' - PAYMENT_CUSTOMER = 'PaymentCustomer' - ORDER = 'Order' - PAYMENT = 'Payment' - PRODUCT = 'Product' - INTEGRATION = 'Integration' +class SaveTrigger(CodeMashRequestBase): + trigger: Optional[SaveTriggerRequest] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ResourceRef: - project_id: Optional[ProjectId] = None - integration_id: Optional[IntegrationId] = None - kind: Optional[ResourceRefKind] = None - - -class ResourceSource(str, Enum): - NORBIX = 'Norbix' - STRIPE = 'Stripe' - SHOPIFY = 'Shopify' - PAY_PAL = 'PayPal' - ADYEN = 'Adyen' - MOLLIE = 'Mollie' - PADDLE = 'Paddle' - LEMON_SQUEEZY = 'LemonSqueezy' - APPLE_IN_APP = 'AppleInApp' - GOOGLE_IN_APP = 'GoogleInApp' - AUTHORIZE_NET = 'AuthorizeNet' - BRAINTREE = 'Braintree' - CHECK_OUT_COM = 'CheckOutCom' - WOO_COMMERCE = 'WooCommerce' - MAGENTO = 'Magento' - WORLDPAY = 'Worldpay' +class CredentialsSettingsModeDto: + name: Optional[str] = None + logout_url: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class PaymentCustomerRef(ResourceRef): - kind: Optional[ResourceRefKind] = None - source: Optional[ResourceSource] = None - external_id: Optional[str] = None +class SchemaSettingsDto: + soft_delete: bool = False + has_record_owner: bool = False + description: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class Quantity: - value: int = 0 +class SchemaListColumnDto: + field: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class CodeMashManagedServiceSubscription: - subscription_id: Optional[CodeMashSubscriptionId] = None - payment_customer_ref: Optional[PaymentCustomerRef] = None - ref_subscription_id: Optional[str] = None - issued_on: Optional[UtcDateTime] = None - will_expire_on: Optional[UtcDateTime] = None - project_cap: Optional[Quantity] = None - is_trial: bool = False +class SchemaListSortDto: + field: Optional[str] = None + order: int = 0 @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class DomainUrl: - value: Optional[str] = None +class SchemaListSettingsDto: + columns: List[SchemaListColumnDto] = field(default_factory=list) + default_sort: Optional[SchemaListSortDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class CodeMashLicense(CodeMashManagedServiceSubscription): - domain: Optional[DomainUrl] = None - account_id: Optional[AccountId] = None - is_enterprise: bool = False +class ImportColumnMappingDto: + csv_column_index: int = 0 + csv_header: Optional[str] = None + property_name: Optional[str] = None + dont_import_on_error: bool = False -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class ProjectName: - name: Optional[str] = None - unique_name: Optional[str] = None +class EmailValidationProvider(IntEnum): + ZERO_BOUNCE = 1 + NEVER_BOUNCE = 2 + BOUNCER = 3 + MAILGUN_VALIDATE = 4 @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class NorbixRegion: - code: Optional[str] = None - - -class Continent(str, Enum): - AFRICA = 'Africa' - ANTARCTICA = 'Antarctica' - ASIA = 'Asia' - EUROPE = 'Europe' - NORTH_AMERICA = 'NorthAmerica' - OCEANIA = 'Oceania' - SOUTH_AMERICA = 'SouthAmerica' +class EmailValidationIntegrationRequest: + integration_id: Optional[str] = None + provider: Optional[EmailValidationProvider] = None + integration_name: Optional[str] = None + is_enabled: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectRegion: - region: Optional[NorbixRegion] = None - name: Optional[str] = None - continent: Optional[Continent] = None +class SaveEmailTemplate(CodeMashRequestBase): + # @ApiMember(Description="The display name of the email template.", IsRequired=true) + template_name: Optional[str] = None + """ + The display name of the email template. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class ProjectLegalDocuments: - terms_markdown: Optional[str] = None - privacy_markdown: Optional[str] = None + # @ApiMember(Description="Optional free-text description of what the template is used for.") + description: Optional[str] = None + """ + Optional free-text description of what the template is used for. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class AuthId(IHasDomainEntityId): - value: Optional[str] = None + # @ApiMember(Description="The communication channel the template is intended for (e.g. Transactional, Marketing).") + communication_channel: Optional[CommunicationChannel] = None + """ + The communication channel the template is intended for (e.g. Transactional, Marketing). + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class Language: - code: Optional[str] = None - name: Optional[str] = None + # @ApiMember(Description="Optional tags to organize/filter the template by.") + tags: Optional[List[str]] = None + """ + Optional tags to organize/filter the template by. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class FileResourceId: - value: Optional[str] = None + # @ApiMember(Description="Optional static file attachments to send with every email using this template.") + static_attachments: Optional[List[FileResourceRefDto]] = None + """ + Optional static file attachments to send with every email using this template. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class FileChecksum: - algorithm: Optional[str] = None - hash: Optional[str] = None + # @ApiMember(Description="The per-language content translations (subject/body) for this template.", IsRequired=true) + translations: List[EmailMessageTranslationDto] = field(default_factory=list) + """ + The per-language content translations (subject/body) for this template. + """ @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class FileResource: - id: Optional[FileResourceId] = None - original_file_name: Optional[str] = None - extension: Optional[str] = None - size_bytes: Optional[int] = None - checksum: Optional[FileChecksum] = None - stored_file_name: Optional[str] = None +class TranslationDto: + language: Optional[str] = None + content: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class FileResourceRef: - resource: Optional[FileResource] = None - integration_id: Optional[IntegrationId] = None - provider: Optional[FileProvider] = None - path: Optional[str] = None +class SaveSmsTemplate(CodeMashRequestBase): + # @ApiMember(Description="Display name for the SMS template.", IsRequired=true) + template_name: Optional[str] = None + """ + Display name for the SMS template. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class ProjectLogo: - file_resource: Optional[FileResourceRef] = None - public_url: Optional[str] = None + # @ApiMember(Description="Optional free-text description of the template's purpose.") + description: Optional[str] = None + """ + Optional free-text description of the template's purpose. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class ProjectIcon: - file_resource: Optional[FileResourceRef] = None - public_url: Optional[str] = None + # @ApiMember(Description="Whether this template is Transactional or Marketing SMS.", IsRequired=true) + communication_channel: Optional[CommunicationChannel] = None + """ + Whether this template is Transactional or Marketing SMS. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class BrandColor: - value: Optional[str] = None + # @ApiMember(Description="Optional tags to organize/filter templates.") + tags: Optional[List[str]] = None + """ + Optional tags to organize/filter templates. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class Tag: - pass + # @ApiMember(Description="The template's per-language translations (each with its own SMS body).", IsRequired=true) + translations: List[SmsMessageTranslationDto] = field(default_factory=list) + """ + The template's per-language translations (each with its own SMS body). + """ @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GroupTags: - group: Optional[Tag] = None - tags: List[Tag] = field(default_factory=list) +class SmsIntegrationRequest: + integration_id: Optional[str] = None + provider: Optional[SmsProvider] = None + integration_name: Optional[str] = None + is_enabled: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectCommunicationChannel: - channel: Optional[CommunicationChannel] = None - groups: List[GroupTags] = field(default_factory=list) +class SavePushTemplate(CodeMashRequestBase): + # @ApiMember(Description="The template's display name.", IsRequired=true) + template_name: Optional[str] = None + """ + The template's display name. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class TagDescription: - display_name: Optional[DisplayName] = None + # @ApiMember(Description="Optional free-text description of the template's purpose.") description: Optional[str] = None + """ + Optional free-text description of the template's purpose. + """ -TContent = TypeVar('TContent') + # @ApiMember(Description="Whether the template is Transactional or Marketing.") + communication_channel: Optional[CommunicationChannel] = None + """ + Whether the template is Transactional or Marketing. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class MessageTranslation(Generic[TContent]): - pass + # @ApiMember(Description="Optional tags for organizing/filtering templates.") + tags: Optional[List[str]] = None + """ + Optional tags for organizing/filtering templates. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class TagTranslation(MessageTranslation[TagDescription]): - pass + # @ApiMember(Description="The per-locale translations (title/body/subtitle) that make up the template content.", IsRequired=true) + translations: List[PushMessageTranslationDto] = field(default_factory=list) + """ + The per-locale translations (title/body/subtitle) that make up the template content. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class BaseTagDefinition: - tag: Optional[Tag] = None - translations: List[TagTranslation] = field(default_factory=list) +class DeviceType(str, Enum): + UNKNOWN = 'Unknown' + PHONE = 'Phone' + TABLET = 'Tablet' + DESKTOP = 'Desktop' + TV = 'Tv' @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GroupDefinition(BaseTagDefinition): - pass +class PushDeviceDto: + device_id: Optional[str] = None + device_os: Optional[str] = None + token: Optional[str] = None + brand: Optional[str] = None + manufacturer: Optional[str] = None + model_name: Optional[str] = None + device_name: Optional[str] = None + device_type: Optional[DeviceType] = None + os_name: Optional[str] = None + os_version: Optional[str] = None + platform_api_level: Optional[int] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class TagDefinition(BaseTagDefinition): - default_delivery: Dict[str, bool] = field(default_factory=dict) +class PushCampaignRequest: + source: Optional[PushCampaignRecipientsSourceTypes] = None + template_id: Optional[str] = None + integration_id: Optional[str] = None + language: Optional[str] = None + initiator_id: Optional[str] = None + notes: Optional[str] = None + mapped_tokens: Optional[List[TokenMappingDto]] = None + campaign_time: Optional[int] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectCommunication: - channels: List[ProjectCommunicationChannel] = field(default_factory=list) - groups: List[GroupDefinition] = field(default_factory=list) - tags: List[TagDefinition] = field(default_factory=list) +class ChatScreenContextDto: + kind: Optional[str] = None + view_id: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class TimeZone: - zone_id: Optional[str] = None +class SchedulerTaskRequest: + type: Optional[SchedulerTaskType] = None -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PolicyId: - template: Optional[str] = None - tenancy_scope_view_id: Optional[str] = None - view_id: Optional[str] = None - is_system: bool = False +class ResourceKindDto(str, Enum): + CONTACT = 'contact' + DOCUMENT = 'document' + FILE = 'file' + PAYMENT_CUSTOMER = 'paymentCustomer' + ORDER = 'order' + PAYMENT = 'payment' + PRODUCT = 'product' + INTEGRATION = 'integration' -class PermissionEffect(str, Enum): - ALLOW = 'Allow' - DENY = 'Deny' +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class ResourceRefDto: + project_id: Optional[str] = None + integration_id: Optional[str] = None + kind: Optional[ResourceKindDto] = None -# @Flags() -class ApplicationModule(IntEnum): - ACCOUNT = 0 - MEMBERSHIP = 1 - DATABASE = 2 - FILES = 4 - CODE = 8 - EMAIL = 16 - PUSH = 32 - PAYMENT = 64 - SCHEDULER = 128 - LOGGING = 256 - SERVER_EVENTS = 512 - AI = 1024 - SMS = 2048 - PROJECT = 4096 - COMPLIANCE = 8192 - CONTACTS = 16384 - MARKETPLACE = 32768 - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PermissionAction: - module: Optional[ApplicationModule] = None - operation: Optional[str] = None - is_module_wildcard: bool = False - is_operation_wildcard: bool = False - is_concrete: bool = False - specificity: int = 0 +class CaseResolutionFixKind(str, Enum): + CODE_FIX = 'CodeFix' + CONFIG_CHANGE = 'ConfigChange' + CUSTOMER_INSTRUCTION = 'CustomerInstruction' + KNOWN_LIMITATION = 'KnownLimitation' + DUPLICATE = 'Duplicate' @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ResourceKind: - name: Optional[str] = None +class CaseResolutionDto: + problem: Optional[str] = None + symptoms: List[str] = field(default_factory=list) + root_cause: Optional[str] = None + fix: Optional[CaseResolutionFixKind] = None + fix_detail: Optional[str] = None + affected_versions: Optional[List[str]] = None -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class ResourceIdentifier: - value: Optional[str] = None +class CodeMashRelease(str, Enum): + NOT_SET = 'NotSet' + COMMUNITY = 'Community' + MANAGED_SERVICE = 'ManagedService' + ENTERPRISE = 'Enterprise' -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class ResourcePattern: - account: Optional[AccountId] = None - project: Optional[ProjectId] = None - module: Optional[ApplicationModule] = None - kind: Optional[ResourceKind] = None - id: Optional[ResourceIdentifier] = None - is_account_wildcard: bool = False - is_project_wildcard: bool = False - is_module_wildcard: bool = False - is_kind_wildcard: bool = False - is_id_wildcard: bool = False - is_concrete: bool = False - is_full_wildcard: bool = False - specificity: int = 0 +class CodeMashRuntime(str, Enum): + DEVELOPMENT = 'Development' + CI = 'CI' + STAGING = 'Staging' + PRODUCTION = 'Production' @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class Permission: - sid: Optional[str] = None - effect: Optional[PermissionEffect] = None - actions: List[PermissionAction] = field(default_factory=list) - resources: List[ResourcePattern] = field(default_factory=list) +class EchoLicenseDto: + domain: Optional[str] = None + account_id: Optional[str] = None + email: Optional[str] = None + release: Optional[str] = None + expire: int = 0 + is_trial: bool = False + projects_cap: int = 0 @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class MembershipPolicy: - id: Optional[PolicyId] = None - name: Optional[DisplayName] = None - description: Optional[str] = None - permissions: List[Permission] = field(default_factory=list) - disabled: bool = False - is_system: bool = False +class EchoRegionDto: + code: Optional[str] = None + display_name: Optional[str] = None + api_url: Optional[str] = None + hub_url: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class RoleId: - template: Optional[str] = None - tenancy_scope_view_id: Optional[str] = None - view_id: Optional[str] = None - is_system: bool = False +class EchoAgentDto: + mcp_url: Optional[str] = None + o_auth_metadata_url: Optional[str] = None + installation_type: Optional[str] = None + onboarding_docs_url: Optional[str] = None + tools_url: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class MembershipRole: - id: Optional[RoleId] = None - name: Optional[DisplayName] = None - description: Optional[str] = None - attached_policies: List[PolicyId] = field(default_factory=list) - disabled: bool = False - is_system: bool = False +class PublicBrandDto: + display_name: Optional[str] = None + main_color: Optional[str] = None + accent_color: Optional[str] = None + logo_url: Optional[str] = None + icon_url: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class BillingPeriod: - year: int = 0 - month: int = 0 - start_utc: datetime.datetime = datetime.datetime(1, 1, 1) - end_exclusive_utc: datetime.datetime = datetime.datetime(1, 1, 1) - last_instant_utc: datetime.datetime = datetime.datetime(1, 1, 1) +class PublicPasswordPolicyDto: + min_length: int = 0 + max_length: Optional[int] = None + min_numbers: Optional[int] = None + min_upper: Optional[int] = None + min_lower: Optional[int] = None + min_special: Optional[int] = None + allowed_special: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class AtlasClusterChargeRecord: - atlas_project_id: Optional[str] = None - atlas_cluster_name: Optional[str] = None - cents: int = 0 +class PublicAuthDto: + social_providers: List[str] = field(default_factory=list) + passkey: bool = False + methods: Optional[List[str]] = None + password_policy: Optional[PublicPasswordPolicyDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class AtlasUsageRecord: - period: Optional[BillingPeriod] = None - total_cents: int = 0 - per_cluster: Optional[IReadOnlyList[AtlasClusterChargeRecord]] = None - recorded_at_utc: Optional[UtcDateTime] = None - +class AccountOwnerDto: + email: Optional[str] = None + display_name: Optional[str] = None + billing_email: Optional[str] = None + operations_email: Optional[str] = None + security_email: Optional[str] = None -class UsageIngestionFailureReason(IntEnum): - UNKNOWN_CUSTOMER = 1 - METER_NOT_FOUND = 2 - VALIDATION_FAILED = 3 - IMPORT_SET_FAILED = 4 + +# @Flags() +class AccountStatus(IntEnum): + REGISTERED = 1 + PENDING_VALIDATION = 2 + ACTIVE = 8 + IN_ACTIVE = 16 + BLOCKED = 32 + UNREGISTERED = 64 @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class UsageIngestionFailure: - reason: Optional[UsageIngestionFailureReason] = None - period: Optional[BillingPeriod] = None - stripe_event_id: Optional[str] = None - message: Optional[str] = None - reported_at_utc: Optional[UtcDateTime] = None +class AccountStatusDto: + account_id: Optional[str] = None + account_id_as_guid: Optional[str] = None + user_id: Optional[str] = None + logged_in_user_id: Optional[str] = None + logged_in_user_email: Optional[str] = None + status: Optional[AccountStatus] = None + project_cap: int = 0 + permissions: List[str] = field(default_factory=list) + roles: List[str] = field(default_factory=list) + allowed_projects: Optional[List[str]] = None + trial_was_issued: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class DeleteTrigger(CodeMashRequestBase): - trigger_id: Optional[str] = None - trigger_type: Optional[TriggerType] = None - schema_id: Optional[str] = None +class UsageBillingClusterChargeDto: + atlas_project_id: Optional[str] = None + atlas_cluster_name: Optional[str] = None + cents: int = 0 @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class DisableTrigger(CodeMashRequestBase): - trigger_id: Optional[str] = None - trigger_type: Optional[TriggerType] = None - schema_id: Optional[str] = None +class UsageBillingPeriodDto: + period: Optional[str] = None + total_cents: int = 0 + per_cluster: List[UsageBillingClusterChargeDto] = field(default_factory=list) + recorded_at_utc: datetime.datetime = datetime.datetime(1, 1, 1) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class EnableTrigger(CodeMashRequestBase): - trigger_id: Optional[str] = None - trigger_type: Optional[TriggerType] = None - schema_id: Optional[str] = None +class UsageBillingIngestionFailureDto: + reason: Optional[str] = None + period: Optional[str] = None + stripe_event_id: Optional[str] = None + message: Optional[str] = None + reported_at_utc: datetime.datetime = datetime.datetime(1, 1, 1) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetTrigger(CodeMashRequestBase): - id: Optional[str] = None - schema_id: Optional[str] = None +class UsageBillingDto: + account_id: Optional[str] = None + atlas: Dict[str, UsageBillingPeriodDto] = field(default_factory=dict) + ingestion_failures: List[UsageBillingIngestionFailureDto] = field(default_factory=list) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SaveTrigger(CodeMashRequestBase): - trigger: Optional[SaveTriggerRequest] = None +class PromotionItemDto: + type: Optional[str] = None + id: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class CredentialsSettingsModeDto: - name: Optional[str] = None - logout_url: Optional[str] = None +class PromotionBlockerDto: + content_type: Optional[str] = None + content_id: Optional[str] = None + ref_kind: Optional[str] = None + unresolved_ref: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class Integration(IIntegrationIdentification, IHasDomainEntityId): - integration_id: Optional[IntegrationId] = None - env: Optional[Env] = None - capability: Optional[str] = None - is_system_owned: bool = False - integration_name: Optional[DisplayName] = None - is_enabled: bool = False - is_configured: bool = False - last_integration_test_at_utc: Optional[datetime.datetime] = None - last_integration_test_succeeded: Optional[bool] = None - last_integration_test_error_messages: Optional[IReadOnlyList[str]] = None - human_delivery_confirmed_at_utc: Optional[datetime.datetime] = None - is_approved_that_it_works: bool = False +class PromotionResultDto: + content_mirrored: List[PromotionItemDto] = field(default_factory=list) + content_deleted: List[PromotionItemDto] = field(default_factory=list) + integrations_seeded: List[PromotionItemDto] = field(default_factory=list) + integrations_skipped: List[PromotionItemDto] = field(default_factory=list) + blockers: List[PromotionBlockerDto] = field(default_factory=list) + from_version: Optional[int] = None + was_dry_run: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class MembershipIntegration(Integration): - provider: Optional[MembershipProvider] = None +class ProjectEnvironmentsDto: + environments: List[str] = field(default_factory=list) -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class TriggerId(AggregateId, IHasDomainEntityId): - pass +class ProjectStatus(str, Enum): + ACTIVE = 'Active' + PROVISIONING = 'Provisioning' + PROVISIONING_FAILED = 'ProvisioningFailed' + NO_DATABASE = 'NoDatabase' + DISABLED = 'Disabled' + SUSPENDED = 'Suspended' + REMOVED = 'Removed' -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class TriggerAction: - type: Optional[TriggerActionType] = None - integration_id: Optional[IntegrationId] = None +class Continent(str, Enum): + AFRICA = 'Africa' + ANTARCTICA = 'Antarctica' + ASIA = 'Asia' + EUROPE = 'Europe' + NORTH_AMERICA = 'NorthAmerica' + OCEANIA = 'Oceania' + SOUTH_AMERICA = 'SouthAmerica' @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class TemplateCode: - pass +class ProjectRegionDto: + id: Optional[str] = None + continent: Optional[Continent] = None + name: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class Trigger(IHasDomainEntityId): - trigger_id: Optional[TriggerId] = None - name: Optional[DisplayName] = None - trigger_action: Optional[TriggerAction] = None - activation_code: Optional[TemplateCode] = None - description: Optional[str] = None - is_enabled: bool = False - env: Optional[Env] = None - integration_id: Optional[IntegrationId] = None +class ProjectBrandDto: + main_color: Optional[str] = None + accent_color: Optional[str] = None + logo: Optional[FileResourceRefDto] = None + icon: Optional[FileResourceRefDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class MembershipTrigger(Trigger): - when: Optional[MembershipTriggerType] = None +class NotificationsSettingsGroupDto: + tag: Optional[str] = None + tags: List[str] = field(default_factory=list) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class TriggerByIdEventBase: - trigger_id: Optional[TriggerId] = None +class NotificationSettingsChannelDto: + channel: Optional[CommunicationChannel] = None + groups: List[NotificationsSettingsGroupDto] = field(default_factory=list) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SchemaSettingsDto: - soft_delete: bool = False - has_record_owner: bool = False - description: Optional[str] = None +class NotificationSettingsDto: + channels: List[NotificationSettingsChannelDto] = field(default_factory=list) + all_groups: List[GroupDefinitionDto] = field(default_factory=list) + all_tags: List[TagDefinitionDto] = field(default_factory=list) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SchemaListColumnDto: - field: Optional[str] = None +class AuthenticationFlowPasswordPolicyDto: + min_length: int = 0 + max_length: Optional[int] = None + min_numbers: Optional[int] = None + min_upper: Optional[int] = None + min_lower: Optional[int] = None + min_special: Optional[int] = None + allowed_special: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SchemaListSortDto: - field: Optional[str] = None - order: int = 0 +class AuthenticationFlowSummaryDto: + type: Optional[str] = None + provider: Optional[str] = None + password_complexity: Optional[AuthenticationFlowPasswordPolicyDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SchemaListSettingsDto: - columns: List[SchemaListColumnDto] = field(default_factory=list) - default_sort: Optional[SchemaListSortDto] = None +class TriggerDto(IHasViewId): + type: Optional[TriggerType] = None + view_id: Optional[str] = None + name: Optional[str] = None + then_action: Optional[TriggerActionDto] = None + description: Optional[str] = None + is_enabled: bool = False + activation_code: Optional[str] = None + saved_by_auth_id: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ImportColumnMappingDto: - csv_column_index: int = 0 - csv_header: Optional[str] = None - property_name: Optional[str] = None - dont_import_on_error: bool = False +class SchemaTriggerDto(TriggerDto): + schema_id: Optional[str] = None + when: Optional[SchemaTriggerType] = None + configuration_code: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class MongoDbAggregateId(AggregateId, IHasDomainEntityId): - pass +class DatabaseDto: + is_enabled: bool = False + triggers: Optional[List[SchemaTriggerDto]] = None + default_integration_view_ids: Dict[str, str] = field(default_factory=dict) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class MongoDbAggregateQuery: - value: Optional[str] = None +class EmailDto: + is_enabled: bool = False + default_integration_view_ids: Dict[str, str] = field(default_factory=dict) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SchemaId(AggregateId, IHasDomainEntityId): - pass +class AiDto: + is_enabled: bool = False + default_integration_view_id: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class MongoDbAggregate: - id: Optional[MongoDbAggregateId] = None - display_name: Optional[DisplayName] = None - description: Optional[str] = None - query: Optional[MongoDbAggregateQuery] = None - schema_id: Optional[SchemaId] = None +class MembershipTriggerDto(TriggerDto): + when: Optional[MembershipTriggerType] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class DatabaseIntegration(Integration): - provider: Optional[DatabaseProvider] = None - status: Optional[IntegrationStatus] = None - atlas_project_id: Optional[str] = None - atlas_cluster_name: Optional[str] = None - failure_reason: Optional[str] = None +class RoleItemDto: + id: Optional[str] = None + name: Optional[str] = None + display_name: Optional[str] = None + description: Optional[str] = None + is_system: bool = False + attached_policies: Optional[List[str]] = None -class ProjectStatus(str, Enum): - ACTIVE = 'Active' - PROVISIONING = 'Provisioning' - PROVISIONING_FAILED = 'ProvisioningFailed' - NO_DATABASE = 'NoDatabase' - DISABLED = 'Disabled' - SUSPENDED = 'Suspended' - REMOVED = 'Removed' +class PermissionEffect(str, Enum): + ALLOW = 'Allow' + DENY = 'Deny' @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SchemaName: - value: Optional[str] = None - title: Optional[str] = None +class PermissionDto: + sid: Optional[str] = None + effect: Optional[PermissionEffect] = None + actions: List[str] = field(default_factory=list) + resources: List[str] = field(default_factory=list) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class JsonSchemaFieldName: - field_name: Optional[str] = None +class PolicyItemDto: + id: Optional[str] = None + name: Optional[str] = None + description: Optional[str] = None + is_system: bool = False + permissions: Optional[List[PermissionDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class JsonSchemaField: - field_name: Optional[JsonSchemaFieldName] = None +class AuthorizationDto: + user_registers_as_role: Optional[str] = None + allowed_register_roles: Optional[List[str]] = None + allowed_provider_register_roles: Optional[List[str]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class DataSchema: - raw_json: Optional[str] = None - fields: List[JsonSchemaField] = field(default_factory=list) +class MembershipDto: + is_enabled: bool = False + triggers: Optional[List[MembershipTriggerDto]] = None + custom_roles: Optional[List[RoleItemDto]] = None + custom_policies: Optional[List[PolicyItemDto]] = None + authorization: Optional[AuthorizationDto] = None + require_email_validation: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class VisualSchema: - raw_json: Optional[str] = None +class LoggingDto: + is_enabled: bool = False + is_established: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SchemaDraft: - data_schema: Optional[DataSchema] = None - visual_schema: Optional[VisualSchema] = None - updated_at: datetime.datetime = datetime.datetime(1, 1, 1) +class ServerEventsDto: + is_enabled: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SchemaVersion: - value: int = 0 +class PushDto: + is_enabled: bool = False + default_integration_view_ids: Dict[str, str] = field(default_factory=dict) + marketing_tags: Optional[List[TagDefinitionDto]] = None + transactional_tags: Optional[List[TagDefinitionDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class MetaSchemaVersion: - value: int = 0 +class SchedulerDto: + is_enabled: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class PublishedSchemaVersion: - version: Optional[SchemaVersion] = None - data_schema: Optional[DataSchema] = None - visual_schema: Optional[VisualSchema] = None - meta_schema_version: Optional[MetaSchemaVersion] = None - published_at: datetime.datetime = datetime.datetime(1, 1, 1) +class CodeDto: + is_enabled: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SchemaSettings: - soft_delete: bool = False - has_record_owner: bool = False - description: Optional[str] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class Schema(IHasDomainEntityId): - schema_name: Optional[SchemaName] = None - id: Optional[SchemaId] = None - env: Optional[Env] = None - draft: Optional[SchemaDraft] = None - published_versions: Optional[IReadOnlyList[PublishedSchemaVersion]] = None - triggers: Optional[List[Trigger]] = None - settings: Optional[SchemaSettings] = None +class FilesTriggerDto(TriggerDto): + when: Optional[FilesTriggerType] = None + folder: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SchemaDiff: - added_fields: Optional[IReadOnlyList[str]] = None - removed_fields: Optional[IReadOnlyList[str]] = None - type_changed_fields: Optional[IReadOnlyList[str]] = None - validator_tightened_fields: Optional[IReadOnlyList[str]] = None - is_empty: bool = False +class FilesDto: + is_enabled: bool = False + triggers: Optional[List[FilesTriggerDto]] = None + default_integration_view_ids: Dict[str, str] = field(default_factory=dict) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class TaxonomyId(AggregateId, IHasDomainEntityId): - pass +class PaymentTriggerDto(TriggerDto): + when: Optional[PaymentTriggerType] = None + integrations: Optional[List[str]] = None + events: Optional[List[str]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class TaxonomyName: - value: Optional[str] = None - title: Optional[str] = None +class PaymentsDto: + is_enabled: bool = False + triggers: Optional[List[PaymentTriggerDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class RecordId: - id: Optional[str] = None +class SmsDto: + is_enabled: bool = False + default_integration_view_ids: Dict[str, str] = field(default_factory=dict) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class Taxonomy(IHasDomainEntityId): - parent_id: Optional[TaxonomyId] = None - id: Optional[TaxonomyId] = None - name: Optional[TaxonomyName] = None +class ProjectDto(IHasViewId, IBindableContract): + account_view_id: Optional[str] = None + project_status: Optional[ProjectStatus] = None + is_active: bool = False + view_id: Optional[str] = None + name: Optional[str] = None + unique_name: Optional[str] = None + host_label: Optional[str] = None + api_host: Optional[str] = None description: Optional[str] = None - terms_meta_visual_schema: Optional[VisualSchema] = None - terms_meta_data_schema: Optional[DataSchema] = None - dependencies: Optional[List[TaxonomyId]] = None - record_id: Optional[RecordId] = None + marketing_url: Optional[str] = None + canonical_admin_url: Optional[str] = None + admin_url: Optional[str] = None + effective_admin_url: Optional[str] = None + default_language: Optional[str] = None + languages: List[str] = field(default_factory=list) + primary_region: Optional[ProjectRegionDto] = None + additional_regions: Optional[List[ProjectRegionDto]] = None + is_multi_region_eligible: bool = False + brand: Optional[ProjectBrandDto] = None + notification_settings: Optional[NotificationSettingsDto] = None + allowed_origins: Optional[List[str]] = None + expose_brand_to_admin_portal: bool = False + expose_auth_to_admin_portal: bool = False + admin_portal_enabled: bool = False + admin_portal_service_user_id: Optional[str] = None + membership_authentication_flows: Optional[List[AuthenticationFlowSummaryDto]] = None + expose_legal_to_admin_portal: bool = False + legal_terms_markdown: Optional[str] = None + legal_privacy_markdown: Optional[str] = None + environments: List[str] = field(default_factory=list) + environment_ranks: Dict[str, int] = field(default_factory=dict) + database: Optional[DatabaseDto] = None + email: Optional[EmailDto] = None + ai: Optional[AiDto] = None + membership: Optional[MembershipDto] = None + logging: Optional[LoggingDto] = None + server_events: Optional[ServerEventsDto] = None + push: Optional[PushDto] = None + scheduler: Optional[SchedulerDto] = None + code: Optional[CodeDto] = None + files: Optional[FilesDto] = None + payments: Optional[PaymentsDto] = None + sms: Optional[SmsDto] = None + database_enabled: bool = False + email_enabled: bool = False + membership_enabled: bool = False + logging_enabled: bool = False + server_events_enabled: bool = False + push_enabled: bool = False + scheduler_enabled: bool = False + code_enabled: bool = False + files_enabled: bool = False + payments_enabled: bool = False + sms_enabled: bool = False + default_llm_integration_view_id: Optional[str] = None + connections: int = 0 @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SchemaTrigger(Trigger): - schema_id: Optional[SchemaId] = None - when: Optional[SchemaTriggerType] = None - configuration: Optional[TemplateCode] = None +class ProjectListItemDto: + view_id: Optional[str] = None + is_active: bool = False + project_status: Optional[ProjectStatus] = None + name: Optional[str] = None + unique_name: Optional[str] = None + primary_region: Optional[ProjectRegionDto] = None + additional_regions: Optional[List[ProjectRegionDto]] = None -class IPasskeyMessage: - pass +TViewModelProjection = TypeVar('TViewModelProjection') @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class AuthUserName: - value: Optional[str] = None +class PaginatedResponse(Generic[TViewModelProjection]): + items: Optional[IList[TViewModelProjection]] = None + has_more: bool = False + has_previous: bool = False + starting_after: Optional[str] = None + ending_before: Optional[str] = None class AuthType(str, Enum): @@ -3766,104 +3818,23 @@ class AuthType(str, Enum): @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class IpAddress: +class AccessInformationDto: ip: Optional[str] = None + date: Optional[datetime.datetime] = None + time_zone: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class AccessInformation: - ip: Optional[IpAddress] = None - date: Optional[UtcDateTime] = None - zone: Optional[TimeZone] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class Registration: - registration_information: Optional[AccessInformation] = None +class RegistrationDto: + registration_information: Optional[AccessInformationDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class Login: +class LoginDto: need_change_password_on_next_login: bool = False - last_access_information: Optional[AccessInformation] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class Phone: - value: Optional[str] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class FirstName: - value: Optional[str] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class LastName: - value: Optional[str] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class MidName: - value: Optional[str] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class FullName: - first_name: Optional[FirstName] = None - mid_name: Optional[MidName] = None - last_name: Optional[LastName] = None - title: Optional[str] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class City: - value: Optional[str] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class Country: - code: Optional[str] = None - name: Optional[str] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class AddressLine: - value: Optional[str] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PostalCode: - value: Optional[str] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class CountryState: - value: Optional[str] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class Address: - city: Optional[City] = None - country: Optional[Country] = None - address_line1: Optional[AddressLine] = None - address_line2: Optional[AddressLine] = None - postal_code: Optional[PostalCode] = None - state: Optional[CountryState] = None + last_access_information: Optional[AccessInformationDto] = None class Gender(str, Enum): @@ -3883,30 +3854,29 @@ class MarketingBlockReason(str, Enum): @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class UserMarketingPreferences: - block_all_marketing_messages: bool = False - blocked_tags: Optional[Dict[str, HashSet[Tag]]] = None - block_reasons: Optional[List[MarketingBlockReason]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class UserGeneralInfo(IBindableContract): - phone: Optional[Phone] = None - primary_email: Optional[EmailAddress] = None - display_name: Optional[DisplayName] = None - first_name: Optional[FirstName] = None - last_name: Optional[LastName] = None - full_name: Optional[FullName] = None - address: Optional[Address] = None +class UserGeneralInfoDto: + phone: Optional[str] = None + primary_email: Optional[str] = None + display_name: Optional[str] = None + first_name: Optional[str] = None + last_name: Optional[str] = None + full_name: Optional[str] = None + address_line1: Optional[str] = None + address_line2: Optional[str] = None + country: Optional[str] = None + city: Optional[str] = None + state: Optional[str] = None + postal_code: Optional[str] = None company: Optional[str] = None gender: Optional[Gender] = None - birth_date: Optional[UtcDateTime] = None - time_zone: Optional[TimeZone] = None - language: Optional[Language] = None - marketing_preferences: Optional[UserMarketingPreferences] = None - notes: Optional[str] = None + birth_date: Optional[int] = None + time_zone: Optional[str] = None + language: Optional[str] = None + block_all_marketing_messages: bool = False + blocked_tags: Optional[Dict[str, HashSet[str]]] = None + block_reasons: Optional[List[MarketingBlockReason]] = None extra_metadata: Optional[str] = None + notes: Optional[str] = None class AuthStatus(IntEnum): @@ -3921,8823 +3891,6822 @@ class AuthStatus(IntEnum): @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class DeviceId: +class AuthDto(IBindableContract): id: Optional[str] = None - - -class DeviceType(str, Enum): - UNKNOWN = 'Unknown' - PHONE = 'Phone' - TABLET = 'Tablet' - DESKTOP = 'Desktop' - TV = 'Tv' + type: Optional[AuthType] = None + email: Optional[str] = None + user_name: Optional[str] = None + registration: Optional[RegistrationDto] = None + login: Optional[LoginDto] = None + general_info: Optional[UserGeneralInfoDto] = None + roles: Optional[List[str]] = None + push_devices: Optional[List[str]] = None + tags: Optional[List[str]] = None + status: Optional[AuthStatus] = None + created_on: datetime.datetime = datetime.datetime(1, 1, 1) + modified_on: datetime.datetime = datetime.datetime(1, 1, 1) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class PushDeviceToken: - token: Optional[str] = None - - -class PushDeviceDeliveryFamily(str, Enum): - IOS = 'Ios' - ANDROID = 'Android' - CHROME = 'Chrome' - SAFARI = 'Safari' - EXPO = 'Expo' +class AccountPasswordPolicyDto: + min_length: int = 0 + max_length: Optional[int] = None + min_numbers: Optional[int] = None + max_numbers: Optional[int] = None + min_upper: Optional[int] = None + max_upper: Optional[int] = None + min_lower: Optional[int] = None + max_lower: Optional[int] = None + min_special: Optional[int] = None + max_special: Optional[int] = None + allowed_special: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class PushDeviceDeliveryToken: - push_device_token: Optional[PushDeviceToken] = None - delivery_family: Optional[PushDeviceDeliveryFamily] = None +class AccountTeamRoleDto: + id: Optional[str] = None + name: Optional[str] = None + description: Optional[str] = None + is_system: bool = False + policies: Optional[List[str]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class PushDevice: - id: Optional[DeviceId] = None - brand: Optional[str] = None - manufacturer: Optional[str] = None - model_name: Optional[str] = None - device_name: Optional[str] = None - device_type: Optional[DeviceType] = None - os_name: Optional[str] = None - os_version: Optional[str] = None - platform_api_level: Optional[int] = None - token: Optional[PushDeviceDeliveryToken] = None +class AccountPasskeyListItemDto: + credential_id: Optional[str] = None + friendly_name: Optional[str] = None + registered_on_utc: datetime.datetime = datetime.datetime(1, 1, 1) + last_used_on_utc: datetime.datetime = datetime.datetime(1, 1, 1) + is_revoked: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class PushDevices(List[PushDevice]): - pass +class LicenseDomainDnsRecordDto: + host: Optional[str] = None + record_type: Optional[str] = None + resolved: bool = False + required: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class UserId(IHasDomainEntityId): - value: Optional[str] = None +class LicenseDomainDnsStatusDto: + domain: Optional[str] = None + all_required_resolved: bool = False + records: List[LicenseDomainDnsRecordDto] = field(default_factory=list) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class UserRef(ResourceRef): - kind: Optional[ResourceRefKind] = None - user_id: Optional[UserId] = None +class LicenseDomainVerificationChallengeDto: + domain: Optional[str] = None + txt_host: Optional[str] = None + txt_value: Optional[str] = None + expires_at_utc: datetime.datetime = datetime.datetime(1, 1, 1) + verified: bool = False + verified_at_utc: Optional[datetime.datetime] = None + skipped: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class Auth(IBindableContract): - id: Optional[AuthId] = None - roles: Optional[List[RoleName]] = None - email: Optional[EmailAddress] = None - user_name: Optional[AuthUserName] = None - type: Optional[AuthType] = None - registration: Optional[Registration] = None - login: Optional[Login] = None - general_info: Optional[UserGeneralInfo] = None - status: Optional[AuthStatus] = None - created_on: Optional[UtcDateTime] = None - modified_on: Optional[UtcDateTime] = None - push_devices: Optional[PushDevices] = None - tags: Optional[List[Tag]] = None - user_ref: Optional[UserRef] = None +class LicenseDomainVerificationStatusDto: + domain: Optional[str] = None + verified: bool = False + skipped: bool = False + txt_host: Optional[str] = None + expected_txt_value: Optional[str] = None + observed_txt_value: Optional[str] = None + expires_at_utc: Optional[datetime.datetime] = None + verified_at_utc: Optional[datetime.datetime] = None + message: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class FileIntegration(Integration): - provider: Optional[FileProvider] = None +class CodeMashSubscriptionDto: + view_id: Optional[str] = None + domain: Optional[str] = None + will_expire_on: datetime.datetime = datetime.datetime(1, 1, 1) + issued_on: datetime.datetime = datetime.datetime(1, 1, 1) + is_trial: bool = False + subscription_ref_id: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class FileTrigger(Trigger): - when: Optional[FilesTriggerType] = None - file_resource_ref: Optional[FileResourceRef] = None - - -class EmailValidationProvider(IntEnum): - ZERO_BOUNCE = 1 - NEVER_BOUNCE = 2 - BOUNCER = 3 - MAILGUN_VALIDATE = 4 +class LicenseDto(CodeMashSubscriptionDto): + is_enterprise: bool = False + project_cap: int = 0 @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class EmailValidationIntegrationRequest: - integration_id: Optional[str] = None - provider: Optional[EmailValidationProvider] = None - integration_name: Optional[str] = None - is_enabled: bool = False +class LicenseHeartbeatVerdictDto: + status: Optional[str] = None + proof_token: Optional[str] = None + server_time_utc: datetime.datetime = datetime.datetime(1, 1, 1) + grace_until_utc: Optional[datetime.datetime] = None + installation_id: Optional[str] = None + license_account_id: Optional[str] = None + domain: Optional[str] = None + signature: Optional[str] = None + message: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SaveEmailTemplate(CodeMashRequestBase): - # @ApiMember(Description="The display name of the email template.", IsRequired=true) - template_name: Optional[str] = None - """ - The display name of the email template. - """ - - - # @ApiMember(Description="Optional free-text description of what the template is used for.") - description: Optional[str] = None - """ - Optional free-text description of what the template is used for. - """ - - - # @ApiMember(Description="The communication channel the template is intended for (e.g. Transactional, Marketing).") - communication_channel: Optional[CommunicationChannel] = None - """ - The communication channel the template is intended for (e.g. Transactional, Marketing). - """ - - - # @ApiMember(Description="Optional tags to organize/filter the template by.") - tags: Optional[List[str]] = None - """ - Optional tags to organize/filter the template by. - """ +class InstallationLicenseStatusDto: + stored_mode: Optional[str] = None + effective_mode: Optional[str] = None + is_production: bool = False + grace_days_left: Optional[int] = None + grace_until_utc: Optional[datetime.datetime] = None + last_proven_at_utc: Optional[datetime.datetime] = None + last_heartbeat_at_utc: Optional[datetime.datetime] = None + installation_domain: Optional[str] = None + licensed_domain: Optional[str] = None + host_kind: Optional[str] = None + is_trial_license: bool = False + license_expire_utc: Optional[datetime.datetime] = None + message: Optional[str] = None - # @ApiMember(Description="Optional static file attachments to send with every email using this template.") - static_attachments: Optional[List[FileResourceRefDto]] = None - """ - Optional static file attachments to send with every email using this template. - """ +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class AiServiceUserKeyDto: + id: Optional[str] = None + hint: Optional[str] = None + issued_at: datetime.datetime = datetime.datetime(1, 1, 1) - # @ApiMember(Description="The per-language content translations (subject/body) for this template.", IsRequired=true) - translations: List[EmailMessageTranslationDto] = field(default_factory=list) - """ - The per-language content translations (subject/body) for this template. - """ +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class AiServiceUserDto: + id: Optional[str] = None + name: Optional[str] = None + scope: Optional[AiScopeDto] = None + created_at: datetime.datetime = datetime.datetime(1, 1, 1) + keys: List[AiServiceUserKeyDto] = field(default_factory=list) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class TranslationDto: - language: Optional[str] = None - content: Optional[str] = None +class ServiceUserApiKeyDto: + id: int = 0 + name: Optional[str] = None + visible_key: Optional[str] = None + scopes: List[str] = field(default_factory=list) + created_date: datetime.datetime = datetime.datetime(1, 1, 1) + expiry_date: Optional[datetime.datetime] = None + cancelled_date: Optional[datetime.datetime] = None + active: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class EmailFooterId: - value: Optional[str] = None +class GetTriggerResponse(ResponseBase): + pass @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class EmailFooter: - id: Optional[EmailFooterId] = None - display_name: Optional[DisplayName] = None - translations: List[MessageTranslation[TemplateCode]] = field(default_factory=list) - env: Optional[Env] = None +class TriggerProjectionList(IHasViewId): + view_id: Optional[str] = None + name: Optional[str] = None + action_type: Optional[TriggerActionType] = None + has_pre_execute_code: bool = False + is_enabled: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class EmailSenderName: - pass +class MembershipTriggerProjectionList(TriggerProjectionList): + type: Optional[MembershipTriggerType] = None + destination_ids: Optional[List[str]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class EmailIntegration(Integration): - provider: Optional[EmailProvider] = None - email_address: Optional[EmailAddress] = None - email_sender_name: Optional[EmailSenderName] = None +class RoleListProjectionDto: + view_id: Optional[str] = None + name: Optional[str] = None + display_name: Optional[str] = None + is_system: bool = False + policy_count: int = 0 @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class EmailSignatureId: - value: Optional[str] = None +class PasskeySettingsDto: + enabled: bool = False + code_ttl_minutes: int = 0 + max_credentials_per_user: int = 0 + recovery_code_count: int = 0 + generate_recovery_codes_at_signup: bool = False + authenticator_attachment: Optional[str] = None + allow_magic_link_recovery: bool = False + refresh_token_ttl_days: int = 0 + rp_id: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class EmailSignature: - id: Optional[EmailSignatureId] = None - display_name: Optional[DisplayName] = None - translations: List[MessageTranslation[TemplateCode]] = field(default_factory=list) - env: Optional[Env] = None +class IntegrationListProjection(IHasViewId): + view_id: Optional[str] = None + integration_name: Optional[str] = None + is_enabled: bool = False + last_integration_test_at_utc: Optional[datetime.datetime] = None + last_integration_test_succeeded: Optional[bool] = None + last_integration_test_errors: Optional[IReadOnlyList[str]] = None + human_delivery_confirmed_at_utc: Optional[datetime.datetime] = None + requires_human_delivery_confirmation: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class TemplateId: - value: Optional[str] = None +class MembershipIntegrationListProjection(IntegrationListProjection): + provider: Optional[MembershipProvider] = None -TMessageContent = TypeVar('TMessageContent') +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class MembershipMessageTemplateDto: + id: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class Template(Generic[TMessageContent], IBindableContract): - template_id: Optional[TemplateId] = None - template_name: Optional[DisplayName] = None - translations: List[MessageTranslation[TMessageContent]] = field(default_factory=list) - communication_channel: Optional[CommunicationChannel] = None - is_active: bool = False - description: Optional[str] = None - tags: Optional[List[Tag]] = None - file_integration_id: Optional[IntegrationId] = None - env: Optional[Env] = None +class MembershipEmailActionSettingsDto: + send_email: bool = False + template: Optional[MembershipMessageTemplateDto] = None + callback: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class EmailSubject: - pass +class MembershipEmailPreferencesDto: + registration_via_email: Optional[MembershipEmailActionSettingsDto] = None + verification_via_email: Optional[MembershipEmailActionSettingsDto] = None + password_reset_via_email: Optional[MembershipEmailActionSettingsDto] = None + invitation_via_email: Optional[MembershipEmailActionSettingsDto] = None + deactivation_via_email: Optional[MembershipEmailActionSettingsDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class EmailBody: - code: Optional[TemplateCode] = None - structure: Optional[str] = None - email_template_engine: Optional[EmailTemplateEngine] = None +class PasswordComplexityDto: + min_length: int = 0 + max_length: Optional[int] = None + min_numbers: Optional[int] = None + max_numbers: Optional[int] = None + min_upper: Optional[int] = None + max_upper: Optional[int] = None + min_lower: Optional[int] = None + max_lower: Optional[int] = None + min_special: Optional[int] = None + max_special: Optional[int] = None + allowed_special: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class EmailMessageContent: - subject: Optional[EmailSubject] = None - body: Optional[EmailBody] = None - static_attachments: Optional[List[FileResourceRef]] = None +class MembershipAuthorizationViewDto: + email_preferences: Optional[MembershipEmailPreferencesDto] = None + user_registers_as_role: Optional[str] = None + guest_registers_as_role: Optional[str] = None + allowed_register_roles: Optional[List[str]] = None + allowed_provider_register_roles: Optional[List[str]] = None + reset_password_token_expiration: Optional[int] = None + invitation_expiration: Optional[int] = None + email_verification_expiration: Optional[int] = None + deactivation_expiration: Optional[int] = None + default_subscribe_to_news: bool = False + password_complexity: Optional[PasswordComplexityDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class EmailTemplate(Template[EmailMessageContent]): - static_attachments: Optional[List[FileResourceRef]] = None +class MembershipCredentialsSettingsModeDto: + name: Optional[str] = None + logout_url: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class EmailValidationIntegration(Integration): - provider: Optional[EmailValidationProvider] = None +class MembershipCredentialsSettingsDto: + logout_url: Optional[str] = None + allow_usernames: bool = False + modes: Optional[List[MembershipCredentialsSettingsModeDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class CampaignId: - id: Optional[str] = None +class MembershipAuthenticationViewDto: + credentials_settings: Optional[MembershipCredentialsSettingsDto] = None + flows: List[str] = field(default_factory=list) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class CampaignBatchId: - id: Optional[str] = None +class SchemaTriggerProjectionList(TriggerProjectionList): + type: Optional[SchemaTriggerType] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class NotificationId(AggregateId, IHasDomainEntityId): - pass +class JsonSchemaFieldDto: + field_name: Optional[str] = None -class CampaignStopReason(str, Enum): - USER_REQUESTED = 'UserRequested' - MODULE_DISABLED = 'ModuleDisabled' +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class DataSchemaDto: + json: Optional[str] = None + fields: List[JsonSchemaFieldDto] = field(default_factory=list) -class EmailDeliveryEventType(str, Enum): - UNKNOWN = 'Unknown' - DELIVERED = 'Delivered' - OPEN = 'Open' - CLICK = 'Click' - SOFT_BOUNCE = 'SoftBounce' - HARD_BOUNCE = 'HardBounce' - COMPLAINT = 'Complaint' - UNSUBSCRIBED = 'Unsubscribed' +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class VisualSchemaDto: + json: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SaveSmsTemplate(CodeMashRequestBase): - # @ApiMember(Description="Display name for the SMS template.", IsRequired=true) - template_name: Optional[str] = None - """ - Display name for the SMS template. - """ - - - # @ApiMember(Description="Optional free-text description of the template's purpose.") +class TaxonomyDto(IHasViewId): + view_id: Optional[str] = None + name: Optional[str] = None + slug: Optional[str] = None + parent_id: Optional[str] = None description: Optional[str] = None - """ - Optional free-text description of the template's purpose. - """ - - - # @ApiMember(Description="Whether this template is Transactional or Marketing SMS.", IsRequired=true) - communication_channel: Optional[CommunicationChannel] = None - """ - Whether this template is Transactional or Marketing SMS. - """ - - - # @ApiMember(Description="Optional tags to organize/filter templates.") - tags: Optional[List[str]] = None - """ - Optional tags to organize/filter templates. - """ - - - # @ApiMember(Description="The template's per-language translations (each with its own SMS body).", IsRequired=true) - translations: List[SmsMessageTranslationDto] = field(default_factory=list) - """ - The template's per-language translations (each with its own SMS body). - """ + terms_meta_data_schema: Optional[DataSchemaDto] = None + terms_meta_visual_schema: Optional[VisualSchemaDto] = None + dependencies: Optional[List[str]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SmsIntegrationRequest: - integration_id: Optional[str] = None - provider: Optional[SmsProvider] = None - integration_name: Optional[str] = None - is_enabled: bool = False +class TaxonomyListProjection(IHasViewId): + view_id: Optional[str] = None + taxonomy_name: Optional[str] = None + taxonomy_slug: Optional[str] = None + parent_id: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SmsIntegration(Integration): - provider: Optional[SmsProvider] = None +class TermMultiParentDto: + taxonomy_id: Optional[str] = None + parent_id: Optional[str] = None + name: Optional[str] = None + names: Optional[Dict[str, str]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SmsTitle: - value: Optional[TemplateCode] = None +class TermTreeDto: + id: Optional[str] = None + taxonomy_id: Optional[str] = None + taxonomy_name: Optional[str] = None + parent_id: Optional[str] = None + order: Optional[int] = None + name: Optional[str] = None + names: Optional[Dict[str, str]] = None + description: Optional[str] = None + descriptions: Optional[Dict[str, str]] = None + multi_parents: Optional[List[TermMultiParentDto]] = None + meta: Optional[Object] = None + children: Optional[List[TermTreeDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SmsBody: - value: Optional[TemplateCode] = None +class TaxonomyTreeDto: + view_id: Optional[str] = None + taxonomy_name: Optional[str] = None + taxonomy_slug: Optional[str] = None + parent_id: Optional[str] = None + children: Optional[List[TaxonomyTreeDto]] = None + terms: Optional[List[TermTreeDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SmsMessageContent: - title: Optional[SmsTitle] = None - body: Optional[SmsBody] = None +class TermDto: + id: Optional[str] = None + taxonomy_id: Optional[str] = None + taxonomy_name: Optional[str] = None + parent_id: Optional[str] = None + order: Optional[int] = None + name: Optional[str] = None + names: Optional[Dict[str, str]] = None + description: Optional[str] = None + descriptions: Optional[Dict[str, str]] = None + multi_parents: Optional[List[TermMultiParentDto]] = None + meta: Optional[Object] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SmsTemplate(Template[SmsMessageContent]): - pass +class AppliedTaxonomyDto: + catalog_id: Optional[str] = None + id: Optional[str] = None + slug: Optional[str] = None + title: Optional[str] = None + action: Optional[str] = None + terms_created: int = 0 @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class CodeIntegration(Integration): - provider: Optional[CodeProvider] = None - - -class MarketplaceIntegrationTransport(str, Enum): - MCP = 'Mcp' - REST = 'Rest' - CODE = 'Code' - INTERNAL = 'Internal' - SDK = 'Sdk' +class AppliedCollectionDto: + entity: Optional[str] = None + id: Optional[str] = None + name: Optional[str] = None + title: Optional[str] = None + action: Optional[str] = None + published: bool = False + linked_fields: List[str] = field(default_factory=list) -class MarketplaceIntegrationCategory(str, Enum): - OTHER = 'Other' - CRM = 'Crm' - ERP = 'Erp' - MARKETING = 'Marketing' - COMMUNICATION = 'Communication' - PRODUCTIVITY = 'Productivity' - STORAGE = 'Storage' - ANALYTICS = 'Analytics' - IDENTITY = 'Identity' - PAYMENTS = 'Payments' - DEV_TOOLS = 'DevTools' - AI = 'Ai' - FILES = 'Files' - DATABASE = 'Database' - CALENDAR = 'Calendar' +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class SchemaDto(IHasViewId): + view_id: Optional[str] = None + schema_name: Optional[str] = None + schema_slug: Optional[str] = None + version: int = 0 + meta_schema_version: int = 0 + data_schema: Optional[DataSchemaDto] = None + visual_schema: Optional[VisualSchemaDto] = None + published_at: datetime.datetime = datetime.datetime(1, 1, 1) + settings: Optional[SchemaSettingsDto] = None + triggers: Optional[List[TriggerDto]] = None -class MarketplaceTokenResolver(str, Enum): - STATIC = 'Static' - REQUEST = 'Request' - PROJECT = 'Project' - INITIATOR = 'Initiator' - CUSTOM = 'Custom' - INTEGRATION_CONFIG = 'IntegrationConfig' - INTEGRATION_SECRET = 'IntegrationSecret' +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class SchemaListProjection(IHasViewId): + view_id: Optional[str] = None + schema_name: Optional[str] = None + schema_title: Optional[str] = None + latest_version: Optional[int] = None + has_draft: bool = False + meta_schema_version: int = 0 + description: Optional[str] = None -class SecretValueFormat(str, Enum): - RAW = 'Raw' - BEARER = 'Bearer' - BASIC = 'Basic' - PREFIXED = 'Prefixed' +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class SchemaDraftDto: + data_schema: Optional[DataSchemaDto] = None + visual_schema: Optional[VisualSchemaDto] = None + updated_at: datetime.datetime = datetime.datetime(1, 1, 1) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class MarketplaceTokenMapping: - token: Optional[str] = None - resolver: Optional[MarketplaceTokenResolver] = None - value: Optional[str] = None - secret_keys: Optional[IReadOnlyList[str]] = None - format: Optional[SecretValueFormat] = None +class SchemaDiffDto: + from_version: int = 0 + to_version: int = 0 + added: List[str] = field(default_factory=list) + removed: List[str] = field(default_factory=list) + type_changed: List[str] = field(default_factory=list) + validator_tightened: List[str] = field(default_factory=list) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class MarketplaceIntegration(Integration): - capability: Optional[str] = None - listing_view_id: Optional[str] = None - transport: Optional[MarketplaceIntegrationTransport] = None - vendor: Optional[str] = None - category: Optional[MarketplaceIntegrationCategory] = None - description: Optional[str] = None - config: Optional[IReadOnlyDictionary[str, str]] = None - token_mappings: Optional[IReadOnlyList[MarketplaceTokenMapping]] = None +class SchemaVersionSummaryDto: + version: int = 0 + meta_schema_version: int = 0 + published_at: datetime.datetime = datetime.datetime(1, 1, 1) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class MarketplaceFunctionId(IHasDomainEntityId): - value: Optional[str] = None +class CollectionIndexKeyDto: + field: Optional[str] = None + order: int = 0 @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class MarketplaceFunction(IHasDomainEntityId): - function_id: Optional[MarketplaceFunctionId] = None - integration_id: Optional[IntegrationId] = None - env: Optional[Env] = None - function_key: Optional[str] = None - display_name: Optional[DisplayName] = None - description: Optional[str] = None - is_enabled: bool = False - request_template: Optional[str] = None - mapped_tokens: Optional[IReadOnlyList[MarketplaceTokenMapping]] = None - view_id: Optional[str] = None +class CollectionIndexDto: + name: Optional[str] = None + keys: List[CollectionIndexKeyDto] = field(default_factory=list) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SavePushTemplate(CodeMashRequestBase): - # @ApiMember(Description="The template's display name.", IsRequired=true) - template_name: Optional[str] = None - """ - The template's display name. - """ +class SeedCollectionReportItemDto: + collection_name: Optional[str] = None + requested: int = 0 + inserted: int = 0 + ids: List[str] = field(default_factory=list) + errors: List[str] = field(default_factory=list) - # @ApiMember(Description="Optional free-text description of the template's purpose.") - description: Optional[str] = None - """ - Optional free-text description of the template's purpose. - """ +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class SeedCollectionRecordsResultDto: + insert_order: List[str] = field(default_factory=list) + report: List[SeedCollectionReportItemDto] = field(default_factory=list) - # @ApiMember(Description="Whether the template is Transactional or Marketing.") - communication_channel: Optional[CommunicationChannel] = None - """ - Whether the template is Transactional or Marketing. - """ +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class DatabaseIntegrationListProjection(IntegrationListProjection): + provider: Optional[DatabaseProvider] = None - # @ApiMember(Description="Optional tags for organizing/filtering templates.") - tags: Optional[List[str]] = None - """ - Optional tags for organizing/filtering templates. - """ +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class FlexTierDto: + code: Optional[str] = None + step: int = 0 + display_name: Optional[str] = None - # @ApiMember(Description="The per-locale translations (title/body/subtitle) that make up the template content.", IsRequired=true) - translations: List[PushMessageTranslationDto] = field(default_factory=list) - """ - The per-locale translations (title/body/subtitle) that make up the template content. - """ +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class IntegrationTestResultItemDto: + operation: Optional[str] = None + result: Optional[str] = None + errors: Optional[IReadOnlyList[str]] = None -class IHasAccountId: - account_id: Optional[str] = None +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class SchemaRefDto: + schema_id: Optional[str] = None + schema_name: Optional[str] = None + database_integration_id: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class PushDeviceDto: - device_id: Optional[str] = None - device_os: Optional[str] = None - token: Optional[str] = None - brand: Optional[str] = None - manufacturer: Optional[str] = None - model_name: Optional[str] = None - device_name: Optional[str] = None - device_type: Optional[DeviceType] = None - os_name: Optional[str] = None - os_version: Optional[str] = None - platform_api_level: Optional[int] = None +class CollectionImportDto: + id: Optional[str] = None + schema: Optional[SchemaRefDto] = None + file: Optional[FileResourceRefDto] = None + error_file: Optional[FileResourceRefDto] = None + delimiter: Optional[str] = None + has_header: bool = False + status: Optional[str] = None + total_rows: int = 0 + total_imported: int = 0 + total_errors: int = 0 + failure_reason: Optional[str] = None + mapping: Optional[List[ImportColumnMappingDto]] = None + created_on: datetime.datetime = datetime.datetime(1, 1, 1) + started_on: Optional[datetime.datetime] = None + completed_on: Optional[datetime.datetime] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class PushCampaignRequest: - source: Optional[PushCampaignRecipientsSourceTypes] = None - template_id: Optional[str] = None - integration_id: Optional[str] = None - language: Optional[str] = None - initiator_id: Optional[str] = None - notes: Optional[str] = None - mapped_tokens: Optional[List[TokenMappingDto]] = None - campaign_time: Optional[int] = None +class ImportUploadTargetDto: + url: Optional[str] = None + content_type: Optional[str] = None + file: Optional[FileResourceRefDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class PushIntegration(Integration): - provider: Optional[PushProvider] = None +class ImportFileColumnDto: + index: int = 0 + header: Optional[str] = None + samples: List[str] = field(default_factory=list) + detected_type: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class PushTitle: - value: Optional[TemplateCode] = None +class ImportFileAnalysisDto: + file: Optional[FileResourceRefDto] = None + columns: List[ImportFileColumnDto] = field(default_factory=list) + sample_row_count: int = 0 @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class PushBody: - value: Optional[TemplateCode] = None +class MongoDbAggregateListProjection(IHasViewId): + view_id: Optional[str] = None + display_name: Optional[str] = None + schema_view_id: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class PushMessageContent: - title: Optional[PushTitle] = None - sub_title: Optional[PushTitle] = None - body: Optional[PushBody] = None +class FilesTriggerProjectionList(TriggerProjectionList): + type: Optional[FilesTriggerType] = None + folder: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class PushTemplate(Template[PushMessageContent]): - pass +class FilesIntegrationListProjection(IntegrationListProjection): + provider: Optional[FileProvider] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class PaymentIntegration(Integration): - provider: Optional[PaymentGatewayPlatform] = None +class PublicFolderDto: + path: Optional[str] = None + public_id: Optional[str] = None + public_url: Optional[str] = None + inherited: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class PaymentTrigger(Trigger): - when: Optional[PaymentTriggerType] = None - integrations: Optional[List[IntegrationId]] = None - events: Optional[List[str]] = None +class NotificationModuleDependencyItemDto: + name: Optional[str] = None + view_id: Optional[str] = None + category: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class LoggingIntegration(Integration): - provider: Optional[LoggingProvider] = None +class NotificationModuleDisableDependenciesDto: + triggers: List[NotificationModuleDependencyItemDto] = field(default_factory=list) + scheduler_tasks: List[NotificationModuleDependencyItemDto] = field(default_factory=list) + in_flight_campaigns: List[NotificationModuleDependencyItemDto] = field(default_factory=list) + membership_settings: List[NotificationModuleDependencyItemDto] = field(default_factory=list) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ChatScreenContextDto: - kind: Optional[str] = None - view_id: Optional[str] = None +class TestEmailValidationItemDto: + address: Optional[str] = None + verdict: Optional[str] = None + reason: Optional[str] = None + score: Optional[Decimal] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class LlmIntegration(Integration): - provider: Optional[LlmProvider] = None - default_model: Optional[str] = None +class TemplateListProjection(IHasViewId, IHasDatabaseId): + id: Optional[str] = None + view_id: Optional[str] = None + template_name: Optional[str] = None + is_active: bool = False + type: Optional[CommunicationChannel] = None + tags: Optional[List[str]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class McpIntegration(Integration): - provider: Optional[McpProvider] = None - transport: Optional[McpTransport] = None - metadata: Optional[McpMetadata] = None +class EmailTemplateListProjection(TemplateListProjection): + has_attachments: bool = False + languages: Optional[IReadOnlyList[str]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class WebhookDestinationId(AggregateId, IHasDomainEntityId): - pass +class MjmlParseError: + line: int = 0 + message: Optional[str] = None + tag_name: Optional[str] = None + formatted_message: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class TriggerEventName: - value: Optional[str] = None +class HtmlFromMjmlResponse: + html: Optional[str] = None + errors: List[MjmlParseError] = field(default_factory=list) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class WebhookDestination: - destination_id: Optional[WebhookDestinationId] = None - destination_name: Optional[DisplayName] = None - endpoint_url: Optional[DomainUrl] = None - selected_events: List[TriggerEventName] = field(default_factory=list) - extra_headers: Optional[IReadOnlyDictionary[str, str]] = None - is_enabled: bool = False +class SystemEmailTemplateListProjection(EmailTemplateListProjection): + pass @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class WebhookIntegration(Integration): - capability: Optional[str] = None - destinations: List[WebhookDestination] = field(default_factory=list) - extra_headers: Optional[IReadOnlyDictionary[str, str]] = None +class EmailSignatureDto(IHasViewId): + view_id: Optional[str] = None + display_name: Optional[str] = None + translations: List[TranslationDto] = field(default_factory=list) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SchedulerTaskRequest: - type: Optional[SchedulerTaskType] = None +class ListItemProjection(IHasViewId): + view_id: Optional[str] = None + display_name: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class TaskId(AggregateId): - pass +class ListItemWithTranslationsProjection(ListItemProjection): + translations: List[str] = field(default_factory=list) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class CronExpression: - pass +class EmailFooterDto(IHasViewId): + view_id: Optional[str] = None + display_name: Optional[str] = None + translations: List[TranslationDto] = field(default_factory=list) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SchedulerTask(IHasDomainEntityId): - id: Optional[TaskId] = None - type: Optional[SchedulerTaskType] = None - name: Optional[DisplayName] = None - description: Optional[str] = None - cron: Optional[CronExpression] = None - payload_json: Optional[str] = None - initiator_id: Optional[AuthId] = None - is_enabled: bool = False - stop_on_error: bool = False +class EmailSettings(IBindableContract): + signatures: Optional[IList[EmailSignatureDto]] = None + footers: Optional[IList[EmailFooterDto]] = None -class ResourceKindDto(str, Enum): - CONTACT = 'contact' - DOCUMENT = 'document' - FILE = 'file' - PAYMENT_CUSTOMER = 'paymentCustomer' - ORDER = 'order' - PAYMENT = 'payment' - PRODUCT = 'product' - INTEGRATION = 'integration' +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class DomainHealthRecordItemDto: + record: Optional[str] = None + value: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ResourceRefDto: - project_id: Optional[str] = None - integration_id: Optional[str] = None - kind: Optional[ResourceKindDto] = None +class EmailIntegrationListProjection(IntegrationListProjection): + email_provider: Optional[EmailProvider] = None + sender_email_address: Optional[str] = None + sender_display_name: Optional[str] = None -class CaseResolutionFixKind(str, Enum): - CODE_FIX = 'CodeFix' - CONFIG_CHANGE = 'ConfigChange' - CUSTOMER_INSTRUCTION = 'CustomerInstruction' - KNOWN_LIMITATION = 'KnownLimitation' - DUPLICATE = 'Duplicate' +class CampaignStatus(str, Enum): + PENDING = 'Pending' + REGISTERED = 'Registered' + SCHEDULED = 'Scheduled' + STARTED = 'Started' + STOPPED = 'Stopped' + PROCESSING = 'Processing' + COMPLETED = 'Completed' + FAILED = 'Failed' @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class CaseResolutionDto: - problem: Optional[str] = None - symptoms: List[str] = field(default_factory=list) - root_cause: Optional[str] = None - fix: Optional[CaseResolutionFixKind] = None - fix_detail: Optional[str] = None - affected_versions: Optional[List[str]] = None +class CampaignStatusChangeEntryDto: + time: datetime.datetime = datetime.datetime(1, 1, 1) + status: Optional[CampaignStatus] = None + errors: Optional[List[ErrorDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SupportCaseId(AggregateId): +class CampaignDto(IHasResponsibleUserId, IHasDatabaseId): view_id: Optional[str] = None + created_on: datetime.datetime = datetime.datetime(1, 1, 1) + language: Optional[str] = None + force_campaign_language: bool = False + campaign_processing_integration_id: Optional[str] = None + status_history: List[CampaignStatusChangeEntryDto] = field(default_factory=list) + status: Optional[CampaignStatusChangeEntryDto] = None + token_mapping_values: Optional[List[TokenMappingDto]] = None + notes: Optional[str] = None + user_id: Optional[str] = None + id: Optional[str] = None -class SupportCaseKind(str, Enum): - QUESTION = 'Question' - BUG = 'Bug' - INCIDENT = 'Incident' - BILLING = 'Billing' - SECURITY = 'Security' - FEATURE_REQUEST = 'FeatureRequest' +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class EmailCampaignDto(CampaignDto): + delivery_settings: Optional[EmailCampaignDeliverySettingsDto] = None + template: Optional[EmailTemplateDto] = None + validation_integration_id: Optional[str] = None + template_is_system: bool = False -class SupportCaseSeverity(IntEnum): - S1 = 1 - S2 = 2 - S3 = 3 - S4 = 4 +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class EmailCampaignListProjection: + view_id: Optional[str] = None + template_name: Optional[str] = None + template_id: Optional[str] = None + integration_id: Optional[str] = None + language: Optional[str] = None + strategy: Optional[str] = None + latest_status: Optional[CampaignStatus] = None + created_on: datetime.datetime = datetime.datetime(1, 1, 1) -class DeploymentMode(str, Enum): - MANAGED = 'Managed' - SELF_HOSTED = 'SelfHosted' - ENTERPRISE = 'Enterprise' +class CampaignBatchStatus(str, Enum): + REGISTERED = 'Registered' + PROCESSING = 'Processing' + COMPLETED = 'Completed' + FAILED = 'Failed' -class SupportMessageAuthorKind(str, Enum): - CUSTOMER = 'Customer' - STAFF = 'Staff' - AI = 'Ai' - SYSTEM = 'System' +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class BatchStatusChangeEntryDto: + time: datetime.datetime = datetime.datetime(1, 1, 1) + status: Optional[CampaignBatchStatus] = None + errors: Optional[List[ErrorDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SupportMessageRef: - message_id: Optional[str] = None - author_kind: Optional[SupportMessageAuthorKind] = None - author_id: Optional[str] = None - sent_on: Optional[UtcDateTime] = None +class CampaignBatchDto(IHasDatabaseId): + campaign_id: Optional[str] = None + batch_id: Optional[str] = None + start_after: Optional[str] = None + status_history: List[BatchStatusChangeEntryDto] = field(default_factory=list) + id: Optional[str] = None -class SupportCaseStatus(str, Enum): - OPEN = 'Open' - TRIAGED = 'Triaged' - IN_PROGRESS = 'InProgress' - WAITING_ON_CUSTOMER = 'WaitingOnCustomer' - RESOLVED = 'Resolved' - CLOSED = 'Closed' +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class EmailRecipientDto: + email_address: Optional[str] = None + language: Optional[str] = None + time_zone_id: Optional[str] = None + user_token_mappings: Optional[List[TokenMappingDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class CaseResolution: - problem: Optional[str] = None - symptoms: Optional[IReadOnlyList[str]] = None - root_cause: Optional[str] = None - fix: Optional[CaseResolutionFixKind] = None - fix_detail: Optional[str] = None - module: Optional[str] = None - kind: Optional[SupportCaseKind] = None - severity: Optional[SupportCaseSeverity] = None - affected_versions: Optional[IReadOnlyList[str]] = None - resolved_by: Optional[str] = None +class EmailRecipientsDto: + to: Optional[List[EmailRecipientDto]] = None + cc: Optional[List[EmailRecipientDto]] = None + bcc: Optional[List[EmailRecipientDto]] = None + starting_after: Optional[str] = None + has_more: bool = False -class SupportCaseCloseReason(str, Enum): - MANUAL = 'Manual' - AUTO_CLOSED_AFTER_RESOLVE = 'AutoClosedAfterResolve' +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class EmailCampaignBatchDto(CampaignBatchDto): + recipients: Optional[EmailRecipientsDto] = None -class CodeMashRelease(str, Enum): - NOT_SET = 'NotSet' - COMMUNITY = 'Community' - MANAGED_SERVICE = 'ManagedService' - ENTERPRISE = 'Enterprise' +class CampaignNotificationStatus(str, Enum): + COMPLETED = 'Completed' + BLOCKED_BY_USER_PREFERENCE_BLOCK_ALL = 'BlockedByUserPreferenceBlockAll' + BLOCKED_BY_USER_PREFERENCE_BLOCK_BY_TAG = 'BlockedByUserPreferenceBlockByTag' + FAILED = 'Failed' + VIEWED = 'Viewed' + CLICKED = 'Clicked' + BLOCKED_BY_VALIDATION = 'BlockedByValidation' -class CodeMashRuntime(str, Enum): - DEVELOPMENT = 'Development' - CI = 'CI' - STAGING = 'Staging' - PRODUCTION = 'Production' +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class NotificationStatusChangeEntryDto: + time: datetime.datetime = datetime.datetime(1, 1, 1) + status: Optional[CampaignNotificationStatus] = None + source_id: Optional[str] = None + errors: Optional[List[ErrorDto]] = None + tags: Optional[List[str]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class EchoLicenseDto: - domain: Optional[str] = None - account_id: Optional[str] = None - email: Optional[str] = None - release: Optional[str] = None - expire: int = 0 - is_trial: bool = False - projects_cap: int = 0 +class CampaignBatchNotificationDto(IHasDatabaseId): + campaign_id: Optional[str] = None + batch_id: Optional[str] = None + notification_id: Optional[str] = None + ref_notification_id: Optional[str] = None + subject: Optional[str] = None + body: Optional[str] = None + model: Optional[Dict[str, str]] = None + status_history: List[NotificationStatusChangeEntryDto] = field(default_factory=list) + id: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class EchoRegionDto: - code: Optional[str] = None - display_name: Optional[str] = None - api_url: Optional[str] = None - hub_url: Optional[str] = None +class EmailCampaignBatchNotificationDto(CampaignBatchNotificationDto): + recipients: Optional[EmailRecipientsDto] = None + content: Optional[EmailMessageContentDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class PublicBrandDto: - display_name: Optional[str] = None - main_color: Optional[str] = None - accent_color: Optional[str] = None - logo_url: Optional[str] = None - icon_url: Optional[str] = None +class CampaignStatsDto: + batches: int = 0 + sent: int = 0 + failed: int = 0 + success_rate: Decimal = decimal.Decimal(0) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class PublicPasswordPolicyDto: - min_length: int = 0 - max_length: Optional[int] = None - min_numbers: Optional[int] = None - min_upper: Optional[int] = None - min_lower: Optional[int] = None - min_special: Optional[int] = None - allowed_special: Optional[str] = None +class SmsTemplateListProjection(TemplateListProjection): + pass @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class PublicAuthDto: - social_providers: List[str] = field(default_factory=list) - passkey: bool = False - methods: Optional[List[str]] = None - password_policy: Optional[PublicPasswordPolicyDto] = None +class SmsSettings(IBindableContract): + pass @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class AccountOwnerDto: - email: Optional[str] = None - display_name: Optional[str] = None - billing_email: Optional[str] = None - operations_email: Optional[str] = None - security_email: Optional[str] = None +class SmsIntegrationListProjection(IntegrationListProjection): + provider: Optional[SmsProvider] = None -# @Flags() -class AccountStatus(IntEnum): - REGISTERED = 1 - PENDING_VALIDATION = 2 - ACTIVE = 8 - IN_ACTIVE = 16 - BLOCKED = 32 - UNREGISTERED = 64 +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class SmsCampaignDto(CampaignDto): + recipients: Optional[SmsCampaignDeliverySettingsDto] = None + template: Optional[SmsTemplateDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class AccountStatusDto: - account_id: Optional[str] = None - account_id_as_guid: Optional[str] = None +class SmsRecipientDto: + phone_number: Optional[str] = None user_id: Optional[str] = None - logged_in_user_id: Optional[str] = None - logged_in_user_email: Optional[str] = None - status: Optional[AccountStatus] = None - project_cap: int = 0 - permissions: List[str] = field(default_factory=list) - roles: List[str] = field(default_factory=list) - allowed_projects: Optional[List[str]] = None - trial_was_issued: bool = False + language: Optional[str] = None + user_token_mappings: Optional[List[TokenMappingDto]] = None + time_zone_id: Optional[str] = None + record: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class UsageBillingClusterChargeDto: - atlas_project_id: Optional[str] = None - atlas_cluster_name: Optional[str] = None - cents: int = 0 +class SmsRecipientsDto: + to: Optional[List[SmsRecipientDto]] = None + starting_after: Optional[str] = None + has_more: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class UsageBillingPeriodDto: - period: Optional[str] = None - total_cents: int = 0 - per_cluster: List[UsageBillingClusterChargeDto] = field(default_factory=list) - recorded_at_utc: datetime.datetime = datetime.datetime(1, 1, 1) +class SmsCampaignBatchDto(CampaignBatchDto): + recipients: Optional[SmsRecipientsDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class UsageBillingIngestionFailureDto: - reason: Optional[str] = None - period: Optional[str] = None - stripe_event_id: Optional[str] = None - message: Optional[str] = None - reported_at_utc: datetime.datetime = datetime.datetime(1, 1, 1) +class SmsCampaignBatchNotificationDto(CampaignBatchNotificationDto): + recipients: Optional[SmsRecipientsDto] = None + content: Optional[SmsMessageContentDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class UsageBillingDto: - account_id: Optional[str] = None - atlas: Dict[str, UsageBillingPeriodDto] = field(default_factory=dict) - ingestion_failures: List[UsageBillingIngestionFailureDto] = field(default_factory=list) +class MarketplaceListingProjection(IHasViewId): + view_id: Optional[str] = None + slug: Optional[str] = None + display_name: Optional[str] = None + vendor: Optional[str] = None + category: Optional[MarketplaceCategory] = None + transport: Optional[MarketplaceTransport] = None + icon_url: Optional[str] = None + is_official: bool = False + tags: Optional[IReadOnlyList[str]] = None + function_count: int = 0 @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class PromotionItemDto: - type: Optional[str] = None - id: Optional[str] = None +class MarketplaceIntegrationListProjection(IHasViewId): + view_id: Optional[str] = None + integration_name: Optional[str] = None + is_enabled: bool = False + listing_view_id: Optional[str] = None + vendor: Optional[str] = None + category: Optional[MarketplaceCategory] = None + transport: Optional[MarketplaceTransport] = None + last_integration_test_at_utc: Optional[datetime.datetime] = None + last_integration_test_succeeded: Optional[bool] = None + last_integration_test_errors: Optional[IReadOnlyList[str]] = None + human_delivery_confirmed_at_utc: Optional[datetime.datetime] = None + requires_human_delivery_confirmation: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class PromotionBlockerDto: - content_type: Optional[str] = None - content_id: Optional[str] = None - ref_kind: Optional[str] = None - unresolved_ref: Optional[str] = None +class MarketplaceFunctionProjection(IHasViewId): + view_id: Optional[str] = None + integration_view_id: Optional[str] = None + function_key: Optional[str] = None + display_name: Optional[str] = None + is_enabled: bool = False + mapping_count: int = 0 @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class PromotionResultDto: - content_mirrored: List[PromotionItemDto] = field(default_factory=list) - content_deleted: List[PromotionItemDto] = field(default_factory=list) - integrations_seeded: List[PromotionItemDto] = field(default_factory=list) - integrations_skipped: List[PromotionItemDto] = field(default_factory=list) - blockers: List[PromotionBlockerDto] = field(default_factory=list) - from_version: Optional[int] = None - was_dry_run: bool = False +class CodeIntegrationListProjection(IntegrationListProjection): + provider: Optional[CodeProvider] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectEnvironmentsDto: - environments: List[str] = field(default_factory=list) +class PushTemplateListProjection(TemplateListProjection): + pass @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectRegionDto: - id: Optional[str] = None - continent: Optional[Continent] = None - name: Optional[str] = None +class PushSettings: + marketing_tags: Optional[List[TagDefinitionDto]] = None + transactional_tags: Optional[List[TagDefinitionDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectBrandDto: - main_color: Optional[str] = None - accent_color: Optional[str] = None - logo: Optional[FileResourceRefDto] = None - icon: Optional[FileResourceRefDto] = None +class PushIntegrationListProjection(IntegrationListProjection): + provider: Optional[PushProvider] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class NotificationsSettingsGroupDto: - tag: Optional[str] = None - tags: List[str] = field(default_factory=list) +class PushDeviceListProjection: + id: Optional[str] = None + user_id: Optional[str] = None + device_os: Optional[str] = None + token: Optional[str] = None + brand: Optional[str] = None + manufacturer: Optional[str] = None + model_name: Optional[str] = None + device_name: Optional[str] = None + device_type: Optional[str] = None + os_name: Optional[str] = None + os_version: Optional[str] = None + platform_api_level: Optional[int] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class NotificationSettingsChannelDto: - channel: Optional[CommunicationChannel] = None - groups: List[NotificationsSettingsGroupDto] = field(default_factory=list) +class PushCampaignDto(CampaignDto): + recipients: Optional[PushCampaignDeliverySettingsDto] = None + template: Optional[PushTemplateDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class NotificationSettingsDto: - channels: List[NotificationSettingsChannelDto] = field(default_factory=list) - all_groups: List[GroupDefinitionDto] = field(default_factory=list) - all_tags: List[TagDefinitionDto] = field(default_factory=list) +class PushRecipientDto: + device_tokens: List[PushDeviceDeliveryTokenDto] = field(default_factory=list) + user_id: Optional[str] = None + language: Optional[str] = None + user_token_mappings: Optional[List[TokenMappingDto]] = None + time_zone_id: Optional[str] = None + record: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class AuthenticationFlowPasswordPolicyDto: - min_length: int = 0 - max_length: Optional[int] = None - min_numbers: Optional[int] = None - min_upper: Optional[int] = None - min_lower: Optional[int] = None - min_special: Optional[int] = None - allowed_special: Optional[str] = None +class PushRecipientsDto: + to: Optional[List[PushRecipientDto]] = None + starting_after: Optional[str] = None + has_more: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class AuthenticationFlowSummaryDto: - type: Optional[str] = None - provider: Optional[str] = None - password_complexity: Optional[AuthenticationFlowPasswordPolicyDto] = None +class PushCampaignBatchDto(CampaignBatchDto): + recipients: Optional[PushRecipientsDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class TriggerDto(IHasViewId): - type: Optional[TriggerType] = None - view_id: Optional[str] = None - name: Optional[str] = None - then_action: Optional[TriggerActionDto] = None - description: Optional[str] = None - is_enabled: bool = False - activation_code: Optional[str] = None +class PushCampaignBatchNotificationDto(CampaignBatchNotificationDto): + recipients: Optional[PushRecipientsDto] = None + content: Optional[PushMessageContentDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SchemaTriggerDto(TriggerDto): - schema_id: Optional[str] = None - when: Optional[SchemaTriggerType] = None - configuration_code: Optional[str] = None +class PaymentsWebhookLogEntry: + integration_id: Optional[str] = None + source: Optional[str] = None + event_name: Optional[str] = None + provider_event_id: Optional[str] = None + status_code: int = 0 + description: Optional[str] = None + received_on: datetime.datetime = datetime.datetime(1, 1, 1) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class DatabaseDto: - is_enabled: bool = False - triggers: Optional[List[SchemaTriggerDto]] = None - default_integration_view_ids: Dict[str, str] = field(default_factory=dict) +class PaymentTriggerProjectionList(TriggerProjectionList): + type: Optional[PaymentTriggerType] = None + integrations: Optional[List[str]] = None + events: Optional[List[str]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class EmailDto: - is_enabled: bool = False - default_integration_view_ids: Dict[str, str] = field(default_factory=dict) +class PaymentsIntegrationListProjection(IntegrationListProjection): + gateway_platform: Optional[PaymentGatewayPlatform] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class AiDto: - is_enabled: bool = False - default_integration_view_id: Optional[str] = None +class LoggingIntegrationListProjection(IntegrationListProjection): + provider: Optional[LoggingProvider] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class MembershipTriggerDto(TriggerDto): - when: Optional[MembershipTriggerType] = None +class TenantLogEntryDto: + id: Optional[str] = None + timestamp: datetime.datetime = datetime.datetime(1, 1, 1) + module: Optional[str] = None + level: Optional[str] = None + event_code: Optional[str] = None + title: Optional[str] = None + message: Optional[str] = None + correlation_id: Optional[str] = None + trace_id: Optional[str] = None + span_id: Optional[str] = None + meta: Optional[IReadOnlyDictionary[str, str]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class RoleItemDto: - id: Optional[str] = None - name: Optional[str] = None - display_name: Optional[str] = None - description: Optional[str] = None - is_system: bool = False - attached_policies: Optional[List[str]] = None +class AgentOnboardingSnippet: + client: Optional[str] = None + config: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class PermissionDto: - sid: Optional[str] = None - effect: Optional[PermissionEffect] = None - actions: List[str] = field(default_factory=list) - resources: List[str] = field(default_factory=list) +class AiToolManifestParameter: + name: Optional[str] = None + type: Optional[str] = None + required: bool = False + description: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class PolicyItemDto: - id: Optional[str] = None +class AiToolManifestItem: name: Optional[str] = None description: Optional[str] = None - is_system: bool = False - permissions: Optional[List[PermissionDto]] = None + toolsets: List[str] = field(default_factory=list) + requires_confirmation: bool = False + parameters: List[AiToolManifestParameter] = field(default_factory=list) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class AuthorizationDto: - user_registers_as_role: Optional[str] = None - allowed_register_roles: Optional[List[str]] = None - allowed_provider_register_roles: Optional[List[str]] = None +class ChatModelOption: + llm_integration_id: Optional[str] = None + kind: Optional[str] = None + provider: Optional[str] = None + model: Optional[str] = None + label: Optional[str] = None + is_default: bool = False + is_auto: bool = False + context_window: int = 0 @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class MembershipDto: - is_enabled: bool = False - triggers: Optional[List[MembershipTriggerDto]] = None - custom_roles: Optional[List[RoleItemDto]] = None - custom_policies: Optional[List[PolicyItemDto]] = None - authorization: Optional[AuthorizationDto] = None - require_email_validation: bool = False +class ChatMemoryNote: + id: Optional[str] = None + kind: Optional[str] = None + text: Optional[str] = None + project_id: Optional[str] = None + created_at_utc: datetime.datetime = datetime.datetime(1, 1, 1) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class LoggingDto: - is_enabled: bool = False - is_established: bool = False +class ChatSessionListItem: + session_id: Optional[str] = None + profile: Optional[str] = None + project_id: Optional[str] = None + env: Optional[str] = None + title: Optional[str] = None + updated_at_utc: datetime.datetime = datetime.datetime(1, 1, 1) + is_archived: bool = False + is_pinned: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ServerEventsDto: - is_enabled: bool = False +class ProjectBriefSourceWireDto: + kind: Optional[str] = None + session_id: Optional[str] = None + entry_id: Optional[str] = None + entry_seq: Optional[int] = None + event_id: Optional[str] = None + user_auth_id: Optional[str] = None + at_utc: datetime.datetime = datetime.datetime(1, 1, 1) + surface: Optional[str] = None + quote: Optional[str] = None + work_item_id: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class PushDto: - is_enabled: bool = False - default_integration_view_ids: Dict[str, str] = field(default_factory=dict) - marketing_tags: Optional[List[TagDefinitionDto]] = None - transactional_tags: Optional[List[TagDefinitionDto]] = None +class ProjectBriefSatisfiedByWireDto: + artifact_id: Optional[str] = None + tool: Optional[str] = None + orphaned: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SchedulerDto: - is_enabled: bool = False +class ProjectBriefRequirementWireDto: + id: Optional[str] = None + text: Optional[str] = None + status: Optional[str] = None + confidence: float = 0.0 + is_assumption: bool = False + sources: List[ProjectBriefSourceWireDto] = field(default_factory=list) + satisfied_by: List[ProjectBriefSatisfiedByWireDto] = field(default_factory=list) + since_event_id: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class CodeDto: - is_enabled: bool = False +class ProjectBriefDecisionWireDto: + event_id: Optional[str] = None + text: Optional[str] = None + confidence: float = 0.0 + at_utc: datetime.datetime = datetime.datetime(1, 1, 1) + sources: List[ProjectBriefSourceWireDto] = field(default_factory=list) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class FilesTriggerDto(TriggerDto): - when: Optional[FilesTriggerType] = None +class ProjectBriefAssumptionWireDto: + requirement_id: Optional[str] = None + event_id: Optional[str] = None + text: Optional[str] = None + confidence: float = 0.0 + at_utc: datetime.datetime = datetime.datetime(1, 1, 1) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class FilesDto: - is_enabled: bool = False - triggers: Optional[List[FilesTriggerDto]] = None - default_integration_view_ids: Dict[str, str] = field(default_factory=dict) +class ProjectBriefSnapshotWireDto: + project_id: Optional[str] = None + up_to_seq: int = 0 + at_utc: datetime.datetime = datetime.datetime(1, 1, 1) + requirements: List[ProjectBriefRequirementWireDto] = field(default_factory=list) + decisions: List[ProjectBriefDecisionWireDto] = field(default_factory=list) + open_assumptions: List[ProjectBriefAssumptionWireDto] = field(default_factory=list) + summary: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class PaymentTriggerDto(TriggerDto): - when: Optional[PaymentTriggerType] = None - integrations: Optional[List[str]] = None - events: Optional[List[str]] = None +class ProjectBriefEventWireDto: + id: Optional[str] = None + project_id: Optional[str] = None + seq: int = 0 + at_utc: datetime.datetime = datetime.datetime(1, 1, 1) + kind: Optional[str] = None + requirement_id: Optional[str] = None + supersedes_event_id: Optional[str] = None + text: Optional[str] = None + confidence: float = 0.0 + sources: List[ProjectBriefSourceWireDto] = field(default_factory=list) + origin: Optional[str] = None + satisfied_by: List[ProjectBriefSatisfiedByWireDto] = field(default_factory=list) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class PaymentsDto: - is_enabled: bool = False - triggers: Optional[List[PaymentTriggerDto]] = None +class WorkItemEntryRefWireDto: + session_id: Optional[str] = None + entry_id: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SmsDto: - is_enabled: bool = False - default_integration_view_ids: Dict[str, str] = field(default_factory=dict) +class WorkItemRunRefWireDto: + session_id: Optional[str] = None + plan_entry_id: Optional[str] = None + run_id: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectDto(IHasViewId, IBindableContract): - account_view_id: Optional[str] = None - project_status: Optional[ProjectStatus] = None - is_active: bool = False - view_id: Optional[str] = None +class WorkItemArtifactWireDto: + artifact_id: Optional[str] = None + what: Optional[str] = None + step: int = 0 + plan_entry_id: Optional[str] = None + kind: Optional[str] = None name: Optional[str] = None - unique_name: Optional[str] = None - host_label: Optional[str] = None - api_host: Optional[str] = None - description: Optional[str] = None - marketing_url: Optional[str] = None - canonical_admin_url: Optional[str] = None - admin_url: Optional[str] = None - effective_admin_url: Optional[str] = None - default_language: Optional[str] = None - languages: List[str] = field(default_factory=list) - primary_region: Optional[ProjectRegionDto] = None - additional_regions: Optional[List[ProjectRegionDto]] = None - is_multi_region_eligible: bool = False - brand: Optional[ProjectBrandDto] = None - notification_settings: Optional[NotificationSettingsDto] = None - allowed_origins: Optional[List[str]] = None - expose_brand_to_admin_portal: bool = False - expose_auth_to_admin_portal: bool = False - admin_portal_enabled: bool = False - admin_portal_service_user_id: Optional[str] = None - membership_authentication_flows: Optional[List[AuthenticationFlowSummaryDto]] = None - expose_legal_to_admin_portal: bool = False - legal_terms_markdown: Optional[str] = None - legal_privacy_markdown: Optional[str] = None - environments: List[str] = field(default_factory=list) - environment_ranks: Dict[str, int] = field(default_factory=dict) - database: Optional[DatabaseDto] = None - email: Optional[EmailDto] = None - ai: Optional[AiDto] = None - membership: Optional[MembershipDto] = None - logging: Optional[LoggingDto] = None - server_events: Optional[ServerEventsDto] = None - push: Optional[PushDto] = None - scheduler: Optional[SchedulerDto] = None - code: Optional[CodeDto] = None - files: Optional[FilesDto] = None - payments: Optional[PaymentsDto] = None - sms: Optional[SmsDto] = None - database_enabled: bool = False - email_enabled: bool = False - membership_enabled: bool = False - logging_enabled: bool = False - server_events_enabled: bool = False - push_enabled: bool = False - scheduler_enabled: bool = False - code_enabled: bool = False - files_enabled: bool = False - payments_enabled: bool = False - sms_enabled: bool = False - default_llm_integration_view_id: Optional[str] = None - connections: int = 0 - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class ProjectListItemDto: - view_id: Optional[str] = None - is_active: bool = False - project_status: Optional[ProjectStatus] = None - name: Optional[str] = None - unique_name: Optional[str] = None - primary_region: Optional[ProjectRegionDto] = None - additional_regions: Optional[List[ProjectRegionDto]] = None - - -TViewModelProjection = TypeVar('TViewModelProjection') - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PaginatedResponse(Generic[TViewModelProjection]): - items: Optional[IList[TViewModelProjection]] = None - has_more: bool = False - has_previous: bool = False - starting_after: Optional[str] = None - ending_before: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class AccessInformationDto: - ip: Optional[str] = None - date: Optional[datetime.datetime] = None - time_zone: Optional[str] = None +class WorkItemMovedOutWireDto: + text: Optional[str] = None + reason: Optional[str] = None + moved_to: Optional[str] = None + source: Optional[str] = None + entry_ref: Optional[WorkItemEntryRefWireDto] = None + at_utc: datetime.datetime = datetime.datetime(1, 1, 1) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class RegistrationDto: - registration_information: Optional[AccessInformationDto] = None +class WorkItemNeedsYouWireDto: + text: Optional[str] = None + kind: Optional[str] = None + entry_ref: Optional[WorkItemEntryRefWireDto] = None + done: bool = False + done_at_utc: Optional[datetime.datetime] = None + done_by_user_auth_id: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class LoginDto: - need_change_password_on_next_login: bool = False - last_access_information: Optional[AccessInformationDto] = None +class WorkItemOpenQuestionWireDto: + entry_ref: Optional[WorkItemEntryRefWireDto] = None + blocking: bool = False + text: Optional[str] = None + at_utc: datetime.datetime = datetime.datetime(1, 1, 1) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class UserGeneralInfoDto: - phone: Optional[str] = None - primary_email: Optional[str] = None - display_name: Optional[str] = None - first_name: Optional[str] = None - last_name: Optional[str] = None - full_name: Optional[str] = None - address_line1: Optional[str] = None - address_line2: Optional[str] = None - country: Optional[str] = None - city: Optional[str] = None - state: Optional[str] = None - postal_code: Optional[str] = None - company: Optional[str] = None - gender: Optional[Gender] = None - birth_date: Optional[int] = None - time_zone: Optional[str] = None - language: Optional[str] = None - block_all_marketing_messages: bool = False - blocked_tags: Optional[Dict[str, HashSet[str]]] = None - block_reasons: Optional[List[MarketingBlockReason]] = None - extra_metadata: Optional[str] = None - notes: Optional[str] = None +class WorkItemDoneConditionWireDto: + condition: int = 0 + holds: bool = False + reason: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class AuthDto(IBindableContract): +class WorkItemWireDto: id: Optional[str] = None - type: Optional[AuthType] = None - email: Optional[str] = None - user_name: Optional[str] = None - registration: Optional[RegistrationDto] = None - login: Optional[LoginDto] = None - general_info: Optional[UserGeneralInfoDto] = None - roles: Optional[List[str]] = None - push_devices: Optional[List[str]] = None - tags: Optional[List[str]] = None - status: Optional[AuthStatus] = None - created_on: datetime.datetime = datetime.datetime(1, 1, 1) - modified_on: datetime.datetime = datetime.datetime(1, 1, 1) + project_id: Optional[str] = None + status: Optional[str] = None + goal: Optional[str] = None + not_in_scope: List[str] = field(default_factory=list) + scope_requirement_ids: List[str] = field(default_factory=list) + difficulty: Optional[int] = None + difficulty_reason: Optional[str] = None + plan_entry_refs: List[WorkItemEntryRefWireDto] = field(default_factory=list) + run_refs: List[WorkItemRunRefWireDto] = field(default_factory=list) + artifacts: List[WorkItemArtifactWireDto] = field(default_factory=list) + moved_out: List[WorkItemMovedOutWireDto] = field(default_factory=list) + needs_you: List[WorkItemNeedsYouWireDto] = field(default_factory=list) + open_questions: List[WorkItemOpenQuestionWireDto] = field(default_factory=list) + session_ids: List[str] = field(default_factory=list) + parent_id: Optional[str] = None + children: List[str] = field(default_factory=list) + summary_entry_ref: Optional[WorkItemEntryRefWireDto] = None + created_by: Optional[str] = None + created_at_utc: datetime.datetime = datetime.datetime(1, 1, 1) + updated_at_utc: datetime.datetime = datetime.datetime(1, 1, 1) + done_verdict: Optional[str] = None + done_conditions: List[WorkItemDoneConditionWireDto] = field(default_factory=list) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class AccountPasswordPolicyDto: - min_length: int = 0 - max_length: Optional[int] = None - min_numbers: Optional[int] = None - max_numbers: Optional[int] = None - min_upper: Optional[int] = None - max_upper: Optional[int] = None - min_lower: Optional[int] = None - max_lower: Optional[int] = None - min_special: Optional[int] = None - max_special: Optional[int] = None - allowed_special: Optional[str] = None +class LlmIntegrationListProjection(IntegrationListProjection): + llm_provider: Optional[LlmProvider] = None + base_url: Optional[str] = None + default_model: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class AccountTeamRoleDto: - id: Optional[str] = None - name: Optional[str] = None +class McpIntegrationListProjection(IntegrationListProjection): + mcp_provider: Optional[McpProvider] = None + transport: Optional[McpTransport] = None + category: Optional[str] = None description: Optional[str] = None - is_system: bool = False - policies: Optional[List[str]] = None - + icon: Optional[str] = None -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class AccountPasskeyListItemDto: - credential_id: Optional[str] = None - friendly_name: Optional[str] = None - registered_on_utc: datetime.datetime = datetime.datetime(1, 1, 1) - last_used_on_utc: datetime.datetime = datetime.datetime(1, 1, 1) - is_revoked: bool = False +class IVirtualDirectory: + pass -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class LicenseDomainDnsRecordDto: - host: Optional[str] = None - record_type: Optional[str] = None - resolved: bool = False - required: bool = False +class IVirtualPathProvider: + root_directory: Optional[IVirtualDirectory] = None + virtual_path_separator: Optional[str] = None + real_path_separator: Optional[str] = None -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class LicenseDomainDnsStatusDto: - domain: Optional[str] = None - all_required_resolved: bool = False - records: List[LicenseDomainDnsRecordDto] = field(default_factory=list) +class IVirtualFile: + virtual_path_provider: Optional[IVirtualPathProvider] = None + extension: Optional[str] = None + length: int = 0 -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class LicenseDomainVerificationChallengeDto: - domain: Optional[str] = None - txt_host: Optional[str] = None - txt_value: Optional[str] = None - expires_at_utc: datetime.datetime = datetime.datetime(1, 1, 1) - verified: bool = False - verified_at_utc: Optional[datetime.datetime] = None - skipped: bool = False +# @Flags() +class CacheControl(IntEnum): + NONE = 0 + PUBLIC = 1 + PRIVATE = 2 + MUST_REVALIDATE = 4 + NO_CACHE = 8 + NO_STORE = 16 + NO_TRANSFORM = 32 + PROXY_REVALIDATE = 64 -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class LicenseDomainVerificationStatusDto: - domain: Optional[str] = None - verified: bool = False - skipped: bool = False - txt_host: Optional[str] = None - expected_txt_value: Optional[str] = None - observed_txt_value: Optional[str] = None - expires_at_utc: Optional[datetime.datetime] = None - verified_at_utc: Optional[datetime.datetime] = None - message: Optional[str] = None +class IContentTypeWriter: + pass -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class CodeMashSubscriptionDto: - view_id: Optional[str] = None - domain: Optional[str] = None - will_expire_on: datetime.datetime = datetime.datetime(1, 1, 1) - issued_on: datetime.datetime = datetime.datetime(1, 1, 1) - is_trial: bool = False - subscription_ref_id: Optional[str] = None +# @Flags() +class RequestAttributes(IntEnum): + NONE = 0 + LOCALHOST = 1 + LOCAL_SUBNET = 2 + EXTERNAL = 4 + SECURE = 8 + IN_SECURE = 16 + ANY_SECURITY_MODE = 24 + HTTP_HEAD = 32 + HTTP_GET = 64 + HTTP_POST = 128 + HTTP_PUT = 256 + HTTP_DELETE = 512 + HTTP_PATCH = 1024 + HTTP_OPTIONS = 2048 + HTTP_OTHER = 4096 + ANY_HTTP_METHOD = 8160 + ONE_WAY = 8192 + REPLY = 16384 + ANY_CALL_STYLE = 24576 + SOAP11 = 32768 + SOAP12 = 65536 + XML = 131072 + JSON = 262144 + JSV = 524288 + PROTO_BUF = 1048576 + CSV = 2097152 + HTML = 4194304 + JSONL = 8388608 + MSG_PACK = 16777216 + FORMAT_OTHER = 33554432 + ANY_FORMAT = 67076096 + HTTP = 67108864 + MESSAGE_QUEUE = 134217728 + TCP = 268435456 + GRPC = 536870912 + ENDPOINT_OTHER = 1073741824 + ANY_ENDPOINT = 2080374784 + IN_PROCESS = -2147483648 + INTERNAL_NETWORK_ACCESS = -2147483645 + ANY_NETWORK_ACCESS_TYPE = -2147483641 + ANY = -1 -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class LicenseDto(CodeMashSubscriptionDto): - is_enterprise: bool = False - project_cap: int = 0 +class IRequestPreferences: + accepts_brotli: bool = False + accepts_deflate: bool = False + accepts_gzip: bool = False -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class LicenseHeartbeatVerdictDto: - status: Optional[str] = None - proof_token: Optional[str] = None - server_time_utc: datetime.datetime = datetime.datetime(1, 1, 1) - grace_until_utc: Optional[datetime.datetime] = None - installation_id: Optional[str] = None - license_account_id: Optional[str] = None - domain: Optional[str] = None - signature: Optional[str] = None - message: Optional[str] = None +class IHttpFile: + name: Optional[str] = None + file_name: Optional[str] = None + content_length: int = 0 + content_type: Optional[str] = None + input_stream: Optional[bytes] = None -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class InstallationLicenseStatusDto: - stored_mode: Optional[str] = None - effective_mode: Optional[str] = None - is_production: bool = False - grace_days_left: Optional[int] = None - grace_until_utc: Optional[datetime.datetime] = None - last_proven_at_utc: Optional[datetime.datetime] = None - last_heartbeat_at_utc: Optional[datetime.datetime] = None - installation_domain: Optional[str] = None - licensed_domain: Optional[str] = None - host_kind: Optional[str] = None - is_trial_license: bool = False - license_expire_utc: Optional[datetime.datetime] = None - message: Optional[str] = None + +class IRequest: + original_request: Optional[Object] = None + response: Optional[IResponse] = None + operation_name: Optional[str] = None + verb: Optional[str] = None + request_attributes: Optional[RequestAttributes] = None + request_preferences: Optional[IRequestPreferences] = None + dto: Optional[Object] = None + content_type: Optional[str] = None + is_local: bool = False + user_agent: Optional[str] = None + cookies: Optional[Dict[str, Cookie]] = None + response_content_type: Optional[str] = None + has_explicit_response_content_type: bool = False + items: Optional[Dict[str, Object]] = None + headers: Optional[NameValueCollection] = None + query_string: Optional[NameValueCollection] = None + form_data: Optional[NameValueCollection] = None + use_buffered_stream: bool = False + raw_url: Optional[str] = None + absolute_uri: Optional[str] = None + user_host_address: Optional[str] = None + remote_ip: Optional[str] = None + authorization: Optional[str] = None + is_secure_connection: bool = False + accept_types: Optional[List[str]] = None + path_info: Optional[str] = None + original_path_info: Optional[str] = None + input_stream: Optional[bytes] = None + content_length: int = 0 + files: Optional[List[IHttpFile]] = None + url_referrer: Optional[str] = None + request_aborted: Optional[CancellationToken] = None + + +class IResponse: + original_response: Optional[Object] = None + request: Optional[IRequest] = None + status_code: int = 0 + status_description: Optional[str] = None + content_type: Optional[str] = None + output_stream: Optional[bytes] = None + dto: Optional[Object] = None + use_buffered_stream: bool = False + is_closed: bool = False + keep_alive: bool = False + has_started: bool = False + items: Optional[Dict[str, Object]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ServiceUserApiKeyDto: - id: int = 0 +class SchedulerTaskListProjection(IHasViewId): + task_id: Optional[str] = None name: Optional[str] = None - visible_key: Optional[str] = None - scopes: List[str] = field(default_factory=list) - created_date: datetime.datetime = datetime.datetime(1, 1, 1) - expiry_date: Optional[datetime.datetime] = None - cancelled_date: Optional[datetime.datetime] = None - active: bool = False + cron: Optional[str] = None + type: Optional[SchedulerTaskType] = None + is_enabled: bool = False + view_id: Optional[str] = None + + +class ResolvedRefStatus(str, Enum): + OK = 'ok' + NOT_FOUND = 'notFound' + UNAUTHORIZED = 'unauthorized' + SOURCE_ERROR = 'sourceError' + ERASED = 'erased' @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetTriggerResponse(ResponseBase): - pass +class ResolvedResourceEntry: + ref: Optional[ResourceRefDto] = None + status: Optional[ResolvedRefStatus] = None + resolved: Optional[Object] = None + diagnostic: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class TriggerProjectionList(IHasViewId): - view_id: Optional[str] = None - name: Optional[str] = None - action_type: Optional[TriggerActionType] = None - has_pre_execute_code: bool = False - is_enabled: bool = False +class ChannelSubscriptionStateDto: + unsubscribed: bool = False + blocked_tags: Dict[str, List[str]] = field(default_factory=dict) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class MembershipTriggerProjectionList(TriggerProjectionList): - type: Optional[MembershipTriggerType] = None - destination_ids: Optional[List[str]] = None +class UserDto: + id: Optional[str] = None + project_id: Optional[str] = None + primary_email: Optional[str] = None + primary_phone: Optional[str] = None + display_name: Optional[str] = None + first_name: Optional[str] = None + last_name: Optional[str] = None + full_name: Optional[str] = None + company: Optional[str] = None + locale: Optional[str] = None + time_zone: Optional[str] = None + gender: Optional[str] = None + birth_date: Optional[int] = None + address_line1: Optional[str] = None + address_line2: Optional[str] = None + country: Optional[str] = None + city: Optional[str] = None + state: Optional[str] = None + postal_code: Optional[str] = None + tags: Optional[List[str]] = None + roles: Optional[List[str]] = None + lifecycle: Optional[str] = None + source_of_creation: Optional[str] = None + merged_into_contact_id: Optional[str] = None + created_on: datetime.datetime = datetime.datetime(1, 1, 1) + modified_on: datetime.datetime = datetime.datetime(1, 1, 1) + auths: Optional[List[AuthDto]] = None + marketing_preferences: Optional[Dict[str, ChannelSubscriptionStateDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class RoleListProjectionDto: - view_id: Optional[str] = None +class ConsentPurposeDto: + key: Optional[str] = None name: Optional[str] = None - display_name: Optional[str] = None - is_system: bool = False - policy_count: int = 0 + channel: Optional[str] = None + mapped_tags: List[str] = field(default_factory=list) + regulatory_basis: List[str] = field(default_factory=list) + description: Optional[str] = None + is_deprecated: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class PasskeySettingsDto: - enabled: bool = False - code_ttl_minutes: int = 0 - max_credentials_per_user: int = 0 - recovery_code_count: int = 0 - generate_recovery_codes_at_signup: bool = False - authenticator_attachment: Optional[str] = None - allow_magic_link_recovery: bool = False - refresh_token_ttl_days: int = 0 - rp_id: Optional[str] = None +class RetentionWindowDto: + data_kind: Optional[str] = None + days: int = 0 + action: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class IntegrationListProjection(IHasViewId): - view_id: Optional[str] = None - integration_name: Optional[str] = None - is_enabled: bool = False - last_integration_test_at_utc: Optional[datetime.datetime] = None - last_integration_test_succeeded: Optional[bool] = None - last_integration_test_errors: Optional[IReadOnlyList[str]] = None - human_delivery_confirmed_at_utc: Optional[datetime.datetime] = None - requires_human_delivery_confirmation: bool = False +class ProjectComplianceDto: + regimes: List[str] = field(default_factory=list) + consent_purposes: List[ConsentPurposeDto] = field(default_factory=list) + retention_windows: List[RetentionWindowDto] = field(default_factory=list) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class MembershipIntegrationListProjection(IntegrationListProjection): - provider: Optional[MembershipProvider] = None +class LegalHoldDto: + id: Optional[str] = None + subject_kind: Optional[str] = None + subject_id: Optional[str] = None + reason: Optional[str] = None + placed_at: datetime.datetime = datetime.datetime(1, 1, 1) + placed_by: Optional[str] = None + released_at: Optional[datetime.datetime] = None + released_by: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class MembershipMessageTemplateDto: +class DsarRequestDto: id: Optional[str] = None + subject_kind: Optional[str] = None + subject_id: Optional[str] = None + status: Optional[str] = None + received_at: datetime.datetime = datetime.datetime(1, 1, 1) + sla_deadline: datetime.datetime = datetime.datetime(1, 1, 1) + auto_approve_at: Optional[datetime.datetime] = None + decided_at: Optional[datetime.datetime] = None + decided_by: Optional[str] = None + rejection_reason: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class MembershipEmailActionSettingsDto: - send_email: bool = False - template: Optional[MembershipMessageTemplateDto] = None - callback: Optional[str] = None +class ComplianceAuditEntryDto: + id: Optional[str] = None + timestamp: datetime.datetime = datetime.datetime(1, 1, 1) + action: Optional[str] = None + subject_kind: Optional[str] = None + subject_id: Optional[str] = None + reason: Optional[str] = None + metadata: Optional[Dict[str, str]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class MembershipEmailPreferencesDto: - registration_via_email: Optional[MembershipEmailActionSettingsDto] = None - verification_via_email: Optional[MembershipEmailActionSettingsDto] = None - password_reset_via_email: Optional[MembershipEmailActionSettingsDto] = None - invitation_via_email: Optional[MembershipEmailActionSettingsDto] = None - deactivation_via_email: Optional[MembershipEmailActionSettingsDto] = None +class AccountComplianceDto: + dsar_mode: Optional[str] = None + dsar_delay_days: int = 0 + auto_forward_advisories: bool = False + security_contact: Optional[str] = None + + +class SupportCaseKind(str, Enum): + QUESTION = 'Question' + BUG = 'Bug' + INCIDENT = 'Incident' + BILLING = 'Billing' + SECURITY = 'Security' + FEATURE_REQUEST = 'FeatureRequest' + + +class SupportCaseSeverity(IntEnum): + S1 = 1 + S2 = 2 + S3 = 3 + S4 = 4 + + +class SupportCaseStatus(str, Enum): + OPEN = 'Open' + TRIAGED = 'Triaged' + IN_PROGRESS = 'InProgress' + WAITING_ON_CUSTOMER = 'WaitingOnCustomer' + RESOLVED = 'Resolved' + CLOSED = 'Closed' + + +class SupportCustomerStatus(str, Enum): + PENDING = 'Pending' + OPEN = 'Open' + SOLVED = 'Solved' + CLOSED = 'Closed' + + +class DeploymentMode(str, Enum): + MANAGED = 'Managed' + SELF_HOSTED = 'SelfHosted' + ENTERPRISE = 'Enterprise' @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class PasswordComplexityDto: - min_length: int = 0 - max_length: Optional[int] = None - min_numbers: Optional[int] = None - max_numbers: Optional[int] = None - min_upper: Optional[int] = None - max_upper: Optional[int] = None - min_lower: Optional[int] = None - max_lower: Optional[int] = None - min_special: Optional[int] = None - max_special: Optional[int] = None - allowed_special: Optional[str] = None +class SupportCaseDto(IHasViewId): + view_id: Optional[str] = None + account_id: Optional[str] = None + project_id: Optional[str] = None + reporter_id: Optional[str] = None + kind: Optional[SupportCaseKind] = None + severity: Optional[SupportCaseSeverity] = None + status: Optional[SupportCaseStatus] = None + customer_status: Optional[SupportCustomerStatus] = None + subject: Optional[str] = None + affected_module: Optional[str] = None + deployment_mode: Optional[DeploymentMode] = None + gateway_version: Optional[str] = None + region: Optional[str] = None + plan_tier: Optional[str] = None + opened_on: int = 0 + first_response_on: Optional[int] = None + resolved_on: Optional[int] = None + closed_on: Optional[int] = None + resolution: Optional[str] = None + message_count: int = 0 + last_message_on: Optional[int] = None + + +class SupportMessageAuthorKind(str, Enum): + CUSTOMER = 'Customer' + STAFF = 'Staff' + AI = 'Ai' + SYSTEM = 'System' @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class MembershipAuthorizationViewDto: - email_preferences: Optional[MembershipEmailPreferencesDto] = None - user_registers_as_role: Optional[str] = None - guest_registers_as_role: Optional[str] = None - allowed_register_roles: Optional[List[str]] = None - allowed_provider_register_roles: Optional[List[str]] = None - reset_password_token_expiration: Optional[int] = None - invitation_expiration: Optional[int] = None - email_verification_expiration: Optional[int] = None - deactivation_expiration: Optional[int] = None - default_subscribe_to_news: bool = False - password_complexity: Optional[PasswordComplexityDto] = None +class SupportCaseMessageDto: + id: Optional[str] = None + case_id: Optional[str] = None + author_kind: Optional[SupportMessageAuthorKind] = None + author_id: Optional[str] = None + author_display_name: Optional[str] = None + body: Optional[str] = None + sent_on: int = 0 @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class MembershipCredentialsSettingsModeDto: - name: Optional[str] = None - logout_url: Optional[str] = None +class SupportCaseDetailDto: + case: Optional[SupportCaseDto] = None + messages: List[SupportCaseMessageDto] = field(default_factory=list) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class MembershipCredentialsSettingsDto: - logout_url: Optional[str] = None - allow_usernames: bool = False - modes: Optional[List[MembershipCredentialsSettingsModeDto]] = None +class SupportCaseListProjection(IHasViewId): + view_id: Optional[str] = None + project_id: Optional[str] = None + kind: Optional[SupportCaseKind] = None + severity: Optional[SupportCaseSeverity] = None + status: Optional[SupportCaseStatus] = None + customer_status: Optional[SupportCustomerStatus] = None + subject: Optional[str] = None + opened_on: int = 0 + message_count: int = 0 + last_message_on: Optional[int] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class MembershipAuthenticationViewDto: - credentials_settings: Optional[MembershipCredentialsSettingsDto] = None - flows: List[str] = field(default_factory=list) +class DiagnosticPackStepDescriptorDto: + step_id: Optional[str] = None + kind: Optional[str] = None + description: Optional[str] = None + parameters: Dict[str, str] = field(default_factory=dict) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SchemaTriggerProjectionList(TriggerProjectionList): - type: Optional[SchemaTriggerType] = None +class DiagnosticPackDescriptorDto: + name: Optional[str] = None + version: int = 0 + summary: Optional[str] = None + steps: List[DiagnosticPackStepDescriptorDto] = field(default_factory=list) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class JsonSchemaFieldDto: - field_name: Optional[str] = None +class DiagnosticPackStepResultDto: + step_id: Optional[str] = None + kind: Optional[str] = None + is_success: bool = False + result: Optional[Object] = None + error_message: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class DataSchemaDto: - json: Optional[str] = None - fields: List[JsonSchemaFieldDto] = field(default_factory=list) +class DiagnosticPackRunResultDto: + pack_name: Optional[str] = None + pack_version: int = 0 + case_id: Optional[str] = None + steps: List[DiagnosticPackStepResultDto] = field(default_factory=list) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class VisualSchemaDto: - json: Optional[str] = None +class DiagnosticEchoRegionDto: + pass @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class TaxonomyDto(IHasViewId): - view_id: Optional[str] = None - name: Optional[str] = None - slug: Optional[str] = None - parent_id: Optional[str] = None - description: Optional[str] = None - terms_meta_data_schema: Optional[DataSchemaDto] = None - terms_meta_visual_schema: Optional[VisualSchemaDto] = None - dependencies: Optional[List[str]] = None +class DiagnosticEchoDto: + container_name: Optional[str] = None + is_managed_service: bool = False + api_version: Optional[str] = None + hub_version: Optional[str] = None + release: Optional[str] = None + runtime: Optional[str] = None + hub_url: Optional[str] = None + api_url: Optional[str] = None + license_present: bool = False + regions: Optional[List[DiagnosticEchoRegionDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class TaxonomyListProjection(IHasViewId): - view_id: Optional[str] = None - taxonomy_name: Optional[str] = None - taxonomy_slug: Optional[str] = None - parent_id: Optional[str] = None +class DiagnosticEventItemDto: + position: int = 0 + event_type: Optional[str] = None + payload: Optional[Dict[str, str]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class TermMultiParentDto: - taxonomy_id: Optional[str] = None - parent_id: Optional[str] = None - name: Optional[str] = None - names: Optional[Dict[str, str]] = None +class DiagnosticEventsPageDto: + stream: Optional[str] = None + from_: int = field(metadata=config(field_name='from'), default=0) + count: int = 0 + has_more: bool = False + next_from: int = 0 + items: List[DiagnosticEventItemDto] = field(default_factory=list) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class TermTreeDto: - id: Optional[str] = None - taxonomy_id: Optional[str] = None - taxonomy_name: Optional[str] = None - parent_id: Optional[str] = None - order: Optional[int] = None - name: Optional[str] = None - names: Optional[Dict[str, str]] = None - description: Optional[str] = None - descriptions: Optional[Dict[str, str]] = None - multi_parents: Optional[List[TermMultiParentDto]] = None - meta: Optional[Object] = None - children: Optional[List[TermTreeDto]] = None +class DiagnosticLogsResponse: + list: Optional[PaginatedResponse[TenantLogEntryDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class TaxonomyTreeDto: +class DiagnosticRedisListItemDto: view_id: Optional[str] = None - taxonomy_name: Optional[str] = None - taxonomy_slug: Optional[str] = None - parent_id: Optional[str] = None - children: Optional[List[TaxonomyTreeDto]] = None - terms: Optional[List[TermTreeDto]] = None + name: Optional[str] = None + status: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class TermDto: - id: Optional[str] = None - taxonomy_id: Optional[str] = None - taxonomy_name: Optional[str] = None - parent_id: Optional[str] = None - order: Optional[int] = None - name: Optional[str] = None - names: Optional[Dict[str, str]] = None - description: Optional[str] = None - descriptions: Optional[Dict[str, str]] = None - multi_parents: Optional[List[TermMultiParentDto]] = None - meta: Optional[Object] = None +class DiagnosticRedisInspectDto: + key_pattern: Optional[str] = None + cache_key: Optional[str] = None + is_list: bool = False + item: Optional[Dict[str, Object]] = None + list_items: Optional[List[DiagnosticRedisListItemDto]] = None + has_more: bool = False + starting_after: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class AppliedTaxonomyDto: - catalog_id: Optional[str] = None +class DiagnosticHealthCheckDto: + check_id: Optional[str] = None + is_healthy: bool = False + status_code: int = 0 + detail: Optional[str] = None + + +class ILlmApiKeyRequest: + api_key: Optional[str] = None + + +class IHasViewId: + view_id: Optional[str] = None + + +class IHasDatabaseId: id: Optional[str] = None - slug: Optional[str] = None - title: Optional[str] = None - action: Optional[str] = None - terms_created: int = 0 + + +class IBindableContract: + pass + + +class IHasRazorTemplateCode: + pass + + +class IHasResponsibleUserId: + user_id: Optional[str] = None + + +class ICursorArgs: + field: Optional[str] = None + order: int = 0 @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class AppliedCollectionDto: - entity: Optional[str] = None - id: Optional[str] = None - name: Optional[str] = None - title: Optional[str] = None - action: Optional[str] = None - published: bool = False - linked_fields: List[str] = field(default_factory=list) +class StringFieldDto(JsonSchemaFieldDto): + format: Optional[str] = None + pattern: Optional[str] = None + min_length: Optional[int] = None + max_length: Optional[int] = None + translate_options: Optional[IReadOnlyDictionary[str, str]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SchemaDto(IHasViewId): - view_id: Optional[str] = None - schema_name: Optional[str] = None - schema_slug: Optional[str] = None - version: int = 0 - meta_schema_version: int = 0 - data_schema: Optional[DataSchemaDto] = None - visual_schema: Optional[VisualSchemaDto] = None - published_at: datetime.datetime = datetime.datetime(1, 1, 1) - settings: Optional[SchemaSettingsDto] = None - triggers: Optional[List[TriggerDto]] = None +class DecimalFieldDto(JsonSchemaFieldDto): + minimum: Optional[Decimal] = None + maximum: Optional[Decimal] = None + multiple_of: Optional[Decimal] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SchemaListProjection(IHasViewId): - view_id: Optional[str] = None - schema_name: Optional[str] = None - schema_title: Optional[str] = None - latest_version: Optional[int] = None - has_draft: bool = False - meta_schema_version: int = 0 - description: Optional[str] = None +class CurrencyFieldDto(JsonSchemaFieldDto): + allowed_currencies: Optional[IReadOnlyList[str]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SchemaDraftDto: - data_schema: Optional[DataSchemaDto] = None - visual_schema: Optional[VisualSchemaDto] = None - updated_at: datetime.datetime = datetime.datetime(1, 1, 1) +class BooleanFieldDto(JsonSchemaFieldDto): + pass @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SchemaDiffDto: - from_version: int = 0 - to_version: int = 0 - added: List[str] = field(default_factory=list) - removed: List[str] = field(default_factory=list) - type_changed: List[str] = field(default_factory=list) - validator_tightened: List[str] = field(default_factory=list) +class DateFieldDto(JsonSchemaFieldDto): + minimum: Optional[int] = None + maximum: Optional[int] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SchemaVersionSummaryDto: - version: int = 0 - meta_schema_version: int = 0 - published_at: datetime.datetime = datetime.datetime(1, 1, 1) +class IntegerFieldDto(JsonSchemaFieldDto): + minimum: Optional[int] = None + maximum: Optional[int] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class CollectionIndexKeyDto: - field: Optional[str] = None - order: int = 0 +class GeolocationFieldDto(JsonSchemaFieldDto): + allowed_types: Optional[IReadOnlyList[str]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class CollectionIndexDto: - name: Optional[str] = None - keys: List[CollectionIndexKeyDto] = field(default_factory=list) +class TagsFieldDto(JsonSchemaFieldDto): + pass @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SeedCollectionReportItemDto: - collection_name: Optional[str] = None - requested: int = 0 - inserted: int = 0 - ids: List[str] = field(default_factory=list) - errors: List[str] = field(default_factory=list) +class FileFieldDto(JsonSchemaFieldDto): + storages: Optional[IReadOnlyList[str]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SeedCollectionRecordsResultDto: - insert_order: List[str] = field(default_factory=list) - report: List[SeedCollectionReportItemDto] = field(default_factory=list) +class TaxonomySelectionFieldDto(JsonSchemaFieldDto): + taxonomy_id: Optional[str] = None + multiple: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class DatabaseIntegrationListProjection(IntegrationListProjection): - provider: Optional[DatabaseProvider] = None +class CollectionSelectionFieldDto(JsonSchemaFieldDto): + collection_id: Optional[str] = None + display_field: Optional[str] = None + multiple: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class FlexTierDto: - code: Optional[str] = None - step: int = 0 - display_name: Optional[str] = None +class UserSelectionFieldDto(JsonSchemaFieldDto): + multiple: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class IntegrationTestResultItemDto: - operation: Optional[str] = None - result: Optional[str] = None - errors: Optional[IReadOnlyList[str]] = None +class RoleSelectionFieldDto(JsonSchemaFieldDto): + multiple: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SchemaRefDto: - schema_id: Optional[str] = None - schema_name: Optional[str] = None - database_integration_id: Optional[str] = None +class EnumSelectionFieldDto(JsonSchemaFieldDto): + values: Optional[IReadOnlyList[str]] = None + multiple: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class CollectionImportDto: - id: Optional[str] = None - schema: Optional[SchemaRefDto] = None - file: Optional[FileResourceRefDto] = None - error_file: Optional[FileResourceRefDto] = None - delimiter: Optional[str] = None - has_header: bool = False - status: Optional[str] = None - total_rows: int = 0 - total_imported: int = 0 - total_errors: int = 0 - failure_reason: Optional[str] = None - mapping: Optional[List[ImportColumnMappingDto]] = None - created_on: datetime.datetime = datetime.datetime(1, 1, 1) - started_on: Optional[datetime.datetime] = None - completed_on: Optional[datetime.datetime] = None +class EchoResponse: + container_name: Optional[str] = None + ip: Optional[str] = None + release: Optional[CodeMashRelease] = None + runtime: Optional[CodeMashRuntime] = None + managed_service_hub_url: Optional[str] = None + managed_service_api_url: Optional[str] = None + hub_url: Optional[str] = None + api_url: Optional[str] = None + api_version: Optional[str] = None + hub_version: Optional[str] = None + mjml_url: Optional[str] = None + admin_url_template: Optional[str] = None + license: Optional[EchoLicenseDto] = None + ask_for_enterprise_license_email: Optional[str] = None + email_service_configured: bool = False + root_bootstrap_password_source: Optional[str] = None + regions: Optional[List[EchoRegionDto]] = None + is_production_installation: bool = False + licensing_mode: Optional[str] = None + grace_days_left: Optional[int] = None + installation_domain: Optional[str] = None + licensing_docs_url: Optional[str] = None + agent: Optional[EchoAgentDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ImportUploadTargetDto: - url: Optional[str] = None - content_type: Optional[str] = None - file: Optional[FileResourceRefDto] = None +class PublicProjectConfigDto: + display_name: Optional[str] = None + admin_portal_enabled: bool = False + branding: Optional[PublicBrandDto] = None + auth: Optional[PublicAuthDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ImportFileColumnDto: - index: int = 0 - header: Optional[str] = None - samples: List[str] = field(default_factory=list) - detected_type: Optional[str] = None +class PublicLegalDocumentDto: + kind: Optional[str] = None + title: Optional[str] = None + body: Optional[str] = None + available: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ImportFileAnalysisDto: - file: Optional[FileResourceRefDto] = None - columns: List[ImportFileColumnDto] = field(default_factory=list) - sample_row_count: int = 0 +class GetAccountProfileResponse(ResponseBase): + item: Optional[AccountOwnerDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class MongoDbAggregateListProjection(IHasViewId): - view_id: Optional[str] = None - display_name: Optional[str] = None - schema_view_id: Optional[str] = None +class GetAccountStatusResponse(ResponseBase): + item: Optional[AccountStatusDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class FilesTriggerProjectionList(TriggerProjectionList): - type: Optional[FilesTriggerType] = None +class CreateStripeCheckoutSessionResponse(IdResponse): + pass @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class FilesIntegrationListProjection(IntegrationListProjection): - provider: Optional[FileProvider] = None +class GetStripeBillingPortalUrlResponse(IdResponse): + pass @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class NotificationModuleDependencyItemDto: - name: Optional[str] = None - view_id: Optional[str] = None - category: Optional[str] = None +class CreateTeamMemberFromInvitationResponse(IdResponse): + token: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class NotificationModuleDisableDependenciesDto: - triggers: List[NotificationModuleDependencyItemDto] = field(default_factory=list) - scheduler_tasks: List[NotificationModuleDependencyItemDto] = field(default_factory=list) - in_flight_campaigns: List[NotificationModuleDependencyItemDto] = field(default_factory=list) - membership_settings: List[NotificationModuleDependencyItemDto] = field(default_factory=list) +class GetAccountUsageBillingResponse(ResponseBase): + item: Optional[UsageBillingDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class TestEmailValidationItemDto: - address: Optional[str] = None - verdict: Optional[str] = None - reason: Optional[str] = None - score: Optional[Decimal] = None +class PromoteEnvironmentResponse(ResponseBase): + item: Optional[PromotionResultDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class TemplateListProjection(IHasViewId, IHasDatabaseId): - id: Optional[str] = None - view_id: Optional[str] = None - template_name: Optional[str] = None - is_active: bool = False - type: Optional[CommunicationChannel] = None - tags: Optional[List[str]] = None +class GetProjectEnvironmentsResponse(ResponseBase): + item: Optional[ProjectEnvironmentsDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class EmailTemplateListProjection(TemplateListProjection): - has_attachments: bool = False - languages: Optional[IReadOnlyList[str]] = None +class GetProjectResponse(ResponseBase): + item: Optional[ProjectDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class MjmlParseError: - line: int = 0 - message: Optional[str] = None - tag_name: Optional[str] = None - formatted_message: Optional[str] = None +class GetProjectsResponse(ResponseBase): + list: Optional[List[ProjectListItemDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class HtmlFromMjmlResponse: - html: Optional[str] = None - errors: List[MjmlParseError] = field(default_factory=list) +class GetAccountRegionsResponse(ResponseBase): + items: Optional[List[ProjectRegionDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SystemEmailTemplateListProjection(EmailTemplateListProjection): - pass +class WaitForProjectActiveResponse(ResponseBase): + status: Optional[str] = None + is_active: bool = False + waited_seconds: int = 0 + message: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class EmailSignatureDto(IHasViewId): - view_id: Optional[str] = None - display_name: Optional[str] = None - translations: List[TranslationDto] = field(default_factory=list) +class GetProjectTokensResponse(ResponseBase): + tokens: Optional[List[TokenMappingDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ListItemProjection(IHasViewId): - view_id: Optional[str] = None +class AdminPortalStructureDto: + project_id: Optional[str] = None + admin_portal_enabled: bool = False display_name: Optional[str] = None + modules: List[AdminPortalModuleDto] = field(default_factory=list) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ListItemWithTranslationsProjection(ListItemProjection): - translations: List[str] = field(default_factory=list) +class CreateAccountResponse(IdResponse): + token: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class EmailFooterDto(IHasViewId): - view_id: Optional[str] = None - display_name: Optional[str] = None - translations: List[TranslationDto] = field(default_factory=list) +class GetAccountCollaboratorsResponse(ResponseBase): + list: Optional[PaginatedResponse[AuthDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class EmailSettings(IBindableContract): - signatures: Optional[IList[EmailSignatureDto]] = None - footers: Optional[IList[EmailFooterDto]] = None +class GetAccountPasswordPolicyResponse(ResponseBase): + policy: Optional[AccountPasswordPolicyDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class DomainHealthRecordItemDto: - record: Optional[str] = None - value: Optional[str] = None +class GetAccountTeamPoliciesResponse(ResponseBase): + policies: Optional[List[PolicyItemDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class EmailIntegrationListProjection(IntegrationListProjection): - email_provider: Optional[EmailProvider] = None - sender_email_address: Optional[str] = None - sender_display_name: Optional[str] = None - - -class CampaignStatus(str, Enum): - PENDING = 'Pending' - REGISTERED = 'Registered' - SCHEDULED = 'Scheduled' - STARTED = 'Started' - STOPPED = 'Stopped' - PROCESSING = 'Processing' - COMPLETED = 'Completed' - FAILED = 'Failed' +class GetAccountTeamRolesResponse(ResponseBase): + roles: Optional[List[AccountTeamRoleDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class CampaignStatusChangeEntryDto: - time: datetime.datetime = datetime.datetime(1, 1, 1) - status: Optional[CampaignStatus] = None - errors: Optional[List[ErrorDto]] = None +class AccountPasskeyOkResponse(ResponseBase): + pass @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class CampaignDto(IHasResponsibleUserId, IHasDatabaseId): - view_id: Optional[str] = None - created_on: datetime.datetime = datetime.datetime(1, 1, 1) - language: Optional[str] = None - force_campaign_language: bool = False - campaign_processing_integration_id: Optional[str] = None - status_history: List[CampaignStatusChangeEntryDto] = field(default_factory=list) - status: Optional[CampaignStatusChangeEntryDto] = None - token_mapping_values: Optional[List[TokenMappingDto]] = None - notes: Optional[str] = None - user_id: Optional[str] = None - id: Optional[str] = None +class AccountPasskeyVerificationTokenResponse(ResponseBase): + verification_token: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class EmailCampaignDto(CampaignDto): - delivery_settings: Optional[EmailCampaignDeliverySettingsDto] = None - template: Optional[EmailTemplateDto] = None - validation_integration_id: Optional[str] = None - template_is_system: bool = False +class AccountPasskeyCeremonyOptionsResponse(ResponseBase): + ceremony_id: Optional[str] = None + options_json: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class EmailCampaignListProjection: - view_id: Optional[str] = None - template_name: Optional[str] = None - template_id: Optional[str] = None - integration_id: Optional[str] = None - language: Optional[str] = None - strategy: Optional[str] = None - latest_status: Optional[CampaignStatus] = None - created_on: datetime.datetime = datetime.datetime(1, 1, 1) +class AccountPasskeyAuthTokensResponse(ResponseBase): + access_token: Optional[str] = None + refresh_token: Optional[str] = None + expires_in_seconds: int = 0 + recovery_codes: Optional[List[str]] = None -class CampaignBatchStatus(str, Enum): - REGISTERED = 'Registered' - PROCESSING = 'Processing' - COMPLETED = 'Completed' - FAILED = 'Failed' +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class AccountPasskeyListResponse(ResponseBase): + passkeys: List[AccountPasskeyListItemDto] = field(default_factory=list) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class BatchStatusChangeEntryDto: - time: datetime.datetime = datetime.datetime(1, 1, 1) - status: Optional[CampaignBatchStatus] = None - errors: Optional[List[ErrorDto]] = None +class AccountPasskeyEnrollmentResponse(ResponseBase): + recovery_codes: Optional[List[str]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class CampaignBatchDto(IHasDatabaseId): - campaign_id: Optional[str] = None - batch_id: Optional[str] = None - start_after: Optional[str] = None - status_history: List[BatchStatusChangeEntryDto] = field(default_factory=list) - id: Optional[str] = None +class GetLicenseDomainDnsStatusResponse(ResponseBase): + status: Optional[LicenseDomainDnsStatusDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class EmailRecipientDto: - email_address: Optional[str] = None - language: Optional[str] = None - time_zone_id: Optional[str] = None - user_token_mappings: Optional[List[TokenMappingDto]] = None +class StartLicenseDomainVerificationResponse(ResponseBase): + challenge: Optional[LicenseDomainVerificationChallengeDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class EmailRecipientsDto: - to: Optional[List[EmailRecipientDto]] = None - cc: Optional[List[EmailRecipientDto]] = None - bcc: Optional[List[EmailRecipientDto]] = None - starting_after: Optional[str] = None - has_more: bool = False +class GetLicenseDomainVerificationStatusResponse(ResponseBase): + status: Optional[LicenseDomainVerificationStatusDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class EmailCampaignBatchDto(CampaignBatchDto): - recipients: Optional[EmailRecipientsDto] = None +class GetLicensesResponse(ResponseBase): + list: Optional[List[LicenseDto]] = None -class CampaignNotificationStatus(str, Enum): - COMPLETED = 'Completed' - BLOCKED_BY_USER_PREFERENCE_BLOCK_ALL = 'BlockedByUserPreferenceBlockAll' - BLOCKED_BY_USER_PREFERENCE_BLOCK_BY_TAG = 'BlockedByUserPreferenceBlockByTag' - FAILED = 'Failed' - VIEWED = 'Viewed' - CLICKED = 'Clicked' - BLOCKED_BY_VALIDATION = 'BlockedByValidation' +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class PostLicenseHeartbeatResponse(ResponseBase): + verdict: Optional[LicenseHeartbeatVerdictDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class NotificationStatusChangeEntryDto: - time: datetime.datetime = datetime.datetime(1, 1, 1) - status: Optional[CampaignNotificationStatus] = None - source_id: Optional[str] = None - errors: Optional[List[ErrorDto]] = None - tags: Optional[List[str]] = None +class GetInstallationLicenseStatusResponse(ResponseBase): + status: Optional[InstallationLicenseStatusDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class CampaignBatchNotificationDto(IHasDatabaseId): - campaign_id: Optional[str] = None - batch_id: Optional[str] = None - notification_id: Optional[str] = None - ref_notification_id: Optional[str] = None - subject: Optional[str] = None - body: Optional[str] = None - model: Optional[Dict[str, str]] = None - status_history: List[NotificationStatusChangeEntryDto] = field(default_factory=list) +class CreateAiServiceUserResponse(ResponseBase): id: Optional[str] = None + key_id: Optional[str] = None + key: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class EmailCampaignBatchNotificationDto(CampaignBatchNotificationDto): - recipients: Optional[EmailRecipientsDto] = None - content: Optional[EmailMessageContentDto] = None +class ListAiServiceUsersResponse(ResponseBase): + items: List[AiServiceUserDto] = field(default_factory=list) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class CampaignStatsDto: - batches: int = 0 - sent: int = 0 - failed: int = 0 - success_rate: Decimal = decimal.Decimal(0) +class RotateAiServiceUserKeyResponse(ResponseBase): + key_id: Optional[str] = None + key: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SmsTemplateListProjection(TemplateListProjection): - pass +class IssueServiceUserApiKeyResponse: + id: int = 0 + name: Optional[str] = None + key: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SmsSettings(IBindableContract): - pass +class ListServiceUserApiKeysResponse: + keys: List[ServiceUserApiKeyDto] = field(default_factory=list) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SmsIntegrationListProjection(IntegrationListProjection): - provider: Optional[SmsProvider] = None +class GetMembershipTriggerResponse(GetTriggerResponse): + trigger: Optional[MembershipTriggerDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SmsCampaignDto(CampaignDto): - recipients: Optional[SmsCampaignDeliverySettingsDto] = None - template: Optional[SmsTemplateDto] = None +class GetMembershipTriggersResponse(GetTriggersResponse): + list: Optional[PaginatedResponse[MembershipTriggerProjectionList]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SmsRecipientDto: - phone_number: Optional[str] = None - user_id: Optional[str] = None - language: Optional[str] = None - user_token_mappings: Optional[List[TokenMappingDto]] = None - time_zone_id: Optional[str] = None - record: Optional[str] = None +class GetRoleResponse(ResponseBase): + role: Optional[RoleItemDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SmsRecipientsDto: - to: Optional[List[SmsRecipientDto]] = None - starting_after: Optional[str] = None - has_more: bool = False +class GetRolesResponse(ResponseBase): + roles: List[RoleListProjectionDto] = field(default_factory=list) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SmsCampaignBatchDto(CampaignBatchDto): - recipients: Optional[SmsRecipientsDto] = None +class GetPolicyResponse(ResponseBase): + policy: Optional[PolicyItemDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SmsCampaignBatchNotificationDto(CampaignBatchNotificationDto): - recipients: Optional[SmsRecipientsDto] = None - content: Optional[SmsMessageContentDto] = None +class GetPoliciesResponse(ResponseBase): + policies: List[PolicyItemDto] = field(default_factory=list) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class MarketplaceListingProjection(IHasViewId): - view_id: Optional[str] = None - slug: Optional[str] = None - display_name: Optional[str] = None - vendor: Optional[str] = None - category: Optional[MarketplaceCategory] = None - transport: Optional[MarketplaceTransport] = None - icon_url: Optional[str] = None - is_official: bool = False - tags: Optional[IReadOnlyList[str]] = None - function_count: int = 0 +class GetPasskeySettingsResponse(ResponseBase): + result: Optional[PasskeySettingsDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class MarketplaceIntegrationListProjection(IHasViewId): - view_id: Optional[str] = None - integration_name: Optional[str] = None - is_enabled: bool = False - listing_view_id: Optional[str] = None - vendor: Optional[str] = None - category: Optional[MarketplaceCategory] = None - transport: Optional[MarketplaceTransport] = None - last_integration_test_at_utc: Optional[datetime.datetime] = None - last_integration_test_succeeded: Optional[bool] = None - last_integration_test_errors: Optional[IReadOnlyList[str]] = None - human_delivery_confirmed_at_utc: Optional[datetime.datetime] = None - requires_human_delivery_confirmation: bool = False +class GetMembershipIntegrationResponse(ResponseBase): + item: Optional[MembershipIntegrationDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class MarketplaceFunctionProjection(IHasViewId): - view_id: Optional[str] = None - integration_view_id: Optional[str] = None - function_key: Optional[str] = None - display_name: Optional[str] = None - is_enabled: bool = False - mapping_count: int = 0 +class GetMembershipIntegrationsResponse(ResponseBase): + list: Optional[PaginatedResponse[MembershipIntegrationListProjection]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class CodeIntegrationListProjection(IntegrationListProjection): - provider: Optional[CodeProvider] = None +class GetAuthorizationSettingsResponse(ResponseBase): + result: Optional[MembershipAuthorizationViewDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class PushTemplateListProjection(TemplateListProjection): - pass +class UpdatePasswordComplexityResponse(ResponseBase): + result: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class PushSettings: - marketing_tags: Optional[List[TagDefinitionDto]] = None - transactional_tags: Optional[List[TagDefinitionDto]] = None +class GetAuthenticationSettingsResponse(ResponseBase): + result: Optional[MembershipAuthenticationViewDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class PushIntegrationListProjection(IntegrationListProjection): - provider: Optional[PushProvider] = None +class GetSchemaTriggerResponse(GetTriggerResponse): + trigger: Optional[SchemaTriggerDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class PushCampaignDto(CampaignDto): - recipients: Optional[PushCampaignDeliverySettingsDto] = None - template: Optional[PushTemplateDto] = None +class GetSchemaTriggersResponse(GetTriggersResponse): + list: Optional[PaginatedResponse[SchemaTriggerProjectionList]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class PushRecipientDto: - device_tokens: List[PushDeviceDeliveryTokenDto] = field(default_factory=list) - user_id: Optional[str] = None - language: Optional[str] = None - user_token_mappings: Optional[List[TokenMappingDto]] = None - time_zone_id: Optional[str] = None - record: Optional[str] = None +class GetDatabaseTaxonomyResponse(ResponseBase): + item: Optional[TaxonomyDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class PushRecipientsDto: - to: Optional[List[PushRecipientDto]] = None - starting_after: Optional[str] = None - has_more: bool = False +class GetDatabaseTaxonomiesResponse(ResponseBase): + list: Optional[PaginatedResponse[TaxonomyListProjection]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class PushCampaignBatchDto(CampaignBatchDto): - recipients: Optional[PushRecipientsDto] = None +class GetDatabaseTaxonomyTreeResponse(ResponseBase): + tree: Optional[List[TaxonomyTreeDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class PushCampaignBatchNotificationDto(CampaignBatchNotificationDto): - recipients: Optional[PushRecipientsDto] = None - content: Optional[PushMessageContentDto] = None +class GetDatabaseTaxonomyTermResponse(ResponseBase): + item: Optional[TermDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class PaymentsWebhookLogEntry: - integration_id: Optional[str] = None - source: Optional[str] = None - event_name: Optional[str] = None - provider_event_id: Optional[str] = None - status_code: int = 0 - description: Optional[str] = None - received_on: datetime.datetime = datetime.datetime(1, 1, 1) +class GetDatabaseMergedTermTreeResponse(ResponseBase): + tree: Optional[List[TermTreeDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class PaymentTriggerProjectionList(TriggerProjectionList): - type: Optional[PaymentTriggerType] = None - integrations: Optional[List[str]] = None - events: Optional[List[str]] = None +class GetDatabaseTaxonomyTermTreeResponse(ResponseBase): + tree: Optional[List[TermTreeDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class PaymentsIntegrationListProjection(IntegrationListProjection): - gateway_platform: Optional[PaymentGatewayPlatform] = None +class ApplyDatabaseSchemaBundleResponse(ResponseBase): + tier: Optional[str] = None + taxonomies: List[AppliedTaxonomyDto] = field(default_factory=list) + collections: List[AppliedCollectionDto] = field(default_factory=list) + decisions: List[str] = field(default_factory=list) + errors: List[str] = field(default_factory=list) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class LoggingIntegrationListProjection(IntegrationListProjection): - provider: Optional[LoggingProvider] = None +class GetDatabaseSchemaResponse(ResponseBase): + item: Optional[SchemaDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class TenantLogEntryDto: - id: Optional[str] = None - timestamp: datetime.datetime = datetime.datetime(1, 1, 1) - module: Optional[str] = None - level: Optional[str] = None - event_code: Optional[str] = None - title: Optional[str] = None - message: Optional[str] = None - correlation_id: Optional[str] = None - trace_id: Optional[str] = None - span_id: Optional[str] = None - meta: Optional[IReadOnlyDictionary[str, str]] = None +class GetDatabaseSchemasResponse(ResponseBase): + list: Optional[PaginatedResponse[SchemaListProjection]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class AiToolManifestParameter: - name: Optional[str] = None - type: Optional[str] = None - required: bool = False - description: Optional[str] = None +class GetDatabaseSchemaDraftResponse(ResponseBase): + item: Optional[SchemaDraftDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class AiToolManifestItem: - name: Optional[str] = None - description: Optional[str] = None - toolsets: List[str] = field(default_factory=list) - requires_confirmation: bool = False - parameters: List[AiToolManifestParameter] = field(default_factory=list) +class GetDatabaseSchemaListSettingsResponse(ResponseBase): + settings: Optional[SchemaListSettingsDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ChatModelOption: - llm_integration_id: Optional[str] = None - kind: Optional[str] = None - provider: Optional[str] = None - model: Optional[str] = None - label: Optional[str] = None - is_default: bool = False - is_auto: bool = False - context_window: int = 0 +class GetDatabaseSchemaVersionDiffResponse(ResponseBase): + item: Optional[SchemaDiffDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ChatMemoryNote: - id: Optional[str] = None - kind: Optional[str] = None - text: Optional[str] = None - project_id: Optional[str] = None - created_at_utc: datetime.datetime = datetime.datetime(1, 1, 1) +class GetDatabaseSchemaVersionsResponse(ResponseBase): + items: Optional[List[SchemaVersionSummaryDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ChatSessionListItem: - session_id: Optional[str] = None - profile: Optional[str] = None - project_id: Optional[str] = None - env: Optional[str] = None - title: Optional[str] = None - updated_at_utc: datetime.datetime = datetime.datetime(1, 1, 1) - is_archived: bool = False - is_pinned: bool = False +class AggregateRecordsResponse(ResponseBase): + result: Optional[List[Object]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectBriefSourceWireDto: - kind: Optional[str] = None - session_id: Optional[str] = None - entry_id: Optional[str] = None - entry_seq: Optional[int] = None - event_id: Optional[str] = None - user_auth_id: Optional[str] = None - at_utc: datetime.datetime = datetime.datetime(1, 1, 1) - surface: Optional[str] = None - quote: Optional[str] = None - work_item_id: Optional[str] = None +class CountRecordsResponse(ResponseBase): + count: int = 0 @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectBriefSatisfiedByWireDto: - artifact_id: Optional[str] = None - tool: Optional[str] = None - orphaned: bool = False +class DistinctRecordValuesResponse(ResponseBase): + values: Optional[List[Object]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectBriefRequirementWireDto: - id: Optional[str] = None - text: Optional[str] = None - status: Optional[str] = None - confidence: float = 0.0 - is_assumption: bool = False - sources: List[ProjectBriefSourceWireDto] = field(default_factory=list) - satisfied_by: List[ProjectBriefSatisfiedByWireDto] = field(default_factory=list) - since_event_id: Optional[str] = None +class ExecuteRecordsAggregateResponse(ResponseBase): + result: Optional[List[Object]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectBriefDecisionWireDto: - event_id: Optional[str] = None - text: Optional[str] = None - confidence: float = 0.0 - at_utc: datetime.datetime = datetime.datetime(1, 1, 1) - sources: List[ProjectBriefSourceWireDto] = field(default_factory=list) +class FindRecordsResponse(ResponseBase): + list: Optional[PaginatedResponse[Object]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectBriefAssumptionWireDto: - requirement_id: Optional[str] = None - event_id: Optional[str] = None - text: Optional[str] = None - confidence: float = 0.0 - at_utc: datetime.datetime = datetime.datetime(1, 1, 1) +class FindOneRecordResponse(ResponseBase): + result: Optional[Object] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectBriefSnapshotWireDto: - project_id: Optional[str] = None - up_to_seq: int = 0 - at_utc: datetime.datetime = datetime.datetime(1, 1, 1) - requirements: List[ProjectBriefRequirementWireDto] = field(default_factory=list) - decisions: List[ProjectBriefDecisionWireDto] = field(default_factory=list) - open_assumptions: List[ProjectBriefAssumptionWireDto] = field(default_factory=list) - summary: Optional[str] = None +class GetCollectionIndexesResponse(ResponseBase): + indexes: Optional[List[CollectionIndexDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectBriefEventWireDto: - id: Optional[str] = None - project_id: Optional[str] = None - seq: int = 0 - at_utc: datetime.datetime = datetime.datetime(1, 1, 1) - kind: Optional[str] = None - requirement_id: Optional[str] = None - supersedes_event_id: Optional[str] = None - text: Optional[str] = None - confidence: float = 0.0 - sources: List[ProjectBriefSourceWireDto] = field(default_factory=list) - origin: Optional[str] = None - satisfied_by: List[ProjectBriefSatisfiedByWireDto] = field(default_factory=list) +class SeedCollectionRecordsResponse(ResponseBase): + result: Optional[SeedCollectionRecordsResultDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class WorkItemEntryRefWireDto: - session_id: Optional[str] = None - entry_id: Optional[str] = None +class GetDatabaseIntegrationResponse(ResponseBase): + item: Optional[DatabaseIntegrationDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class WorkItemRunRefWireDto: - session_id: Optional[str] = None - plan_entry_id: Optional[str] = None - run_id: Optional[str] = None +class GetDatabaseIntegrationsResponse(ResponseBase): + default_integration_id: Optional[str] = None + list: Optional[PaginatedResponse[DatabaseIntegrationListProjection]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class WorkItemArtifactWireDto: - artifact_id: Optional[str] = None - what: Optional[str] = None - step: int = 0 - plan_entry_id: Optional[str] = None - kind: Optional[str] = None - name: Optional[str] = None +class GetAllowedFlexTiersResponse(ResponseBase): + tiers: Optional[List[FlexTierDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class WorkItemMovedOutWireDto: - text: Optional[str] = None - reason: Optional[str] = None - moved_to: Optional[str] = None - source: Optional[str] = None - entry_ref: Optional[WorkItemEntryRefWireDto] = None - at_utc: datetime.datetime = datetime.datetime(1, 1, 1) +class RevealManagedFlexConnectionStringResponse(ResponseBase): + connection_string: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class WorkItemNeedsYouWireDto: - text: Optional[str] = None - kind: Optional[str] = None - entry_ref: Optional[WorkItemEntryRefWireDto] = None - done: bool = False - done_at_utc: Optional[datetime.datetime] = None - done_by_user_auth_id: Optional[str] = None +class TestDatabaseIntegrationResponse(ResponseBase): + items: Optional[IReadOnlyList[IntegrationTestResultItemDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class WorkItemOpenQuestionWireDto: - entry_ref: Optional[WorkItemEntryRefWireDto] = None - blocking: bool = False - text: Optional[str] = None - at_utc: datetime.datetime = datetime.datetime(1, 1, 1) +class GetCollectionImportResponse(ResponseBase): + result: Optional[CollectionImportDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class WorkItemDoneConditionWireDto: - condition: int = 0 - holds: bool = False - reason: Optional[str] = None +class GetCollectionImportsResponse(ResponseBase): + result: Optional[PaginatedResponse[CollectionImportDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class WorkItemWireDto: - id: Optional[str] = None - project_id: Optional[str] = None - status: Optional[str] = None - goal: Optional[str] = None - not_in_scope: List[str] = field(default_factory=list) - scope_requirement_ids: List[str] = field(default_factory=list) - difficulty: Optional[int] = None - difficulty_reason: Optional[str] = None - plan_entry_refs: List[WorkItemEntryRefWireDto] = field(default_factory=list) - run_refs: List[WorkItemRunRefWireDto] = field(default_factory=list) - artifacts: List[WorkItemArtifactWireDto] = field(default_factory=list) - moved_out: List[WorkItemMovedOutWireDto] = field(default_factory=list) - needs_you: List[WorkItemNeedsYouWireDto] = field(default_factory=list) - open_questions: List[WorkItemOpenQuestionWireDto] = field(default_factory=list) - session_ids: List[str] = field(default_factory=list) - parent_id: Optional[str] = None - children: List[str] = field(default_factory=list) - summary_entry_ref: Optional[WorkItemEntryRefWireDto] = None - created_by: Optional[str] = None - created_at_utc: datetime.datetime = datetime.datetime(1, 1, 1) - updated_at_utc: datetime.datetime = datetime.datetime(1, 1, 1) - done_verdict: Optional[str] = None - done_conditions: List[WorkItemDoneConditionWireDto] = field(default_factory=list) +class RequestImportUploadUrlResponse(ResponseBase): + result: Optional[ImportUploadTargetDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class LlmIntegrationListProjection(IntegrationListProjection): - llm_provider: Optional[LlmProvider] = None - base_url: Optional[str] = None - default_model: Optional[str] = None +class AnalyzeImportFileResponse(ResponseBase): + result: Optional[ImportFileAnalysisDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class McpIntegrationListProjection(IntegrationListProjection): - mcp_provider: Optional[McpProvider] = None - transport: Optional[McpTransport] = None - category: Optional[str] = None - description: Optional[str] = None - icon: Optional[str] = None +class GetDatabaseAggregateResponse(ResponseBase): + item: Optional[MongoDbAggregateDto] = None -class IVirtualDirectory: - pass +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class GetDatabaseAggregatesResponse(ResponseBase): + list: Optional[PaginatedResponse[MongoDbAggregateListProjection]] = None -class IVirtualPathProvider: - root_directory: Optional[IVirtualDirectory] = None - virtual_path_separator: Optional[str] = None - real_path_separator: Optional[str] = None +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class TestDatabaseAggregateResponse(ResponseBase): + result: Optional[List[Object]] = None -class IVirtualFile: - virtual_path_provider: Optional[IVirtualPathProvider] = None - extension: Optional[str] = None - length: int = 0 +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class GetFilesTriggerResponse(GetTriggerResponse): + trigger: Optional[FilesTriggerDto] = None -# @Flags() -class CacheControl(IntEnum): - NONE = 0 - PUBLIC = 1 - PRIVATE = 2 - MUST_REVALIDATE = 4 - NO_CACHE = 8 - NO_STORE = 16 - NO_TRANSFORM = 32 - PROXY_REVALIDATE = 64 +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class GetFilesTriggersResponse(GetTriggersResponse): + list: Optional[PaginatedResponse[FilesTriggerProjectionList]] = None -class IContentTypeWriter: - pass +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class GetFilesIntegrationResponse(ResponseBase): + item: Optional[FilesIntegrationDto] = None -# @Flags() -class RequestAttributes(IntEnum): - NONE = 0 - LOCALHOST = 1 - LOCAL_SUBNET = 2 - EXTERNAL = 4 - SECURE = 8 - IN_SECURE = 16 - ANY_SECURITY_MODE = 24 - HTTP_HEAD = 32 - HTTP_GET = 64 - HTTP_POST = 128 - HTTP_PUT = 256 - HTTP_DELETE = 512 - HTTP_PATCH = 1024 - HTTP_OPTIONS = 2048 - HTTP_OTHER = 4096 - ANY_HTTP_METHOD = 8160 - ONE_WAY = 8192 - REPLY = 16384 - ANY_CALL_STYLE = 24576 - SOAP11 = 32768 - SOAP12 = 65536 - XML = 131072 - JSON = 262144 - JSV = 524288 - PROTO_BUF = 1048576 - CSV = 2097152 - HTML = 4194304 - JSONL = 8388608 - MSG_PACK = 16777216 - FORMAT_OTHER = 33554432 - ANY_FORMAT = 67076096 - HTTP = 67108864 - MESSAGE_QUEUE = 134217728 - TCP = 268435456 - GRPC = 536870912 - ENDPOINT_OTHER = 1073741824 - ANY_ENDPOINT = 2080374784 - IN_PROCESS = -2147483648 - INTERNAL_NETWORK_ACCESS = -2147483645 - ANY_NETWORK_ACCESS_TYPE = -2147483641 - ANY = -1 +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class GetFilesIntegrationsResponse(ResponseBase): + default_integration_id: Optional[str] = None + list: Optional[PaginatedResponse[FilesIntegrationListProjection]] = None + available_providers: List[FileProvider] = field(default_factory=list) -class IRequestPreferences: - accepts_brotli: bool = False - accepts_deflate: bool = False - accepts_gzip: bool = False +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class TestFilesIntegrationResponse(ResponseBase): + items: Optional[IReadOnlyList[IntegrationTestResultItemDto]] = None -class IHttpFile: - name: Optional[str] = None - file_name: Optional[str] = None - content_length: int = 0 - content_type: Optional[str] = None - input_stream: Optional[bytes] = None +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class GetFolderFilesResponse(ResponseBase): + list: Optional[PaginatedResponse[FileResourceRefDto]] = None + folders: Optional[IList[str]] = None + public_folders: Optional[IList[PublicFolderDto]] = None -class IRequest: - original_request: Optional[Object] = None - response: Optional[IResponse] = None - operation_name: Optional[str] = None - verb: Optional[str] = None - request_attributes: Optional[RequestAttributes] = None - request_preferences: Optional[IRequestPreferences] = None - dto: Optional[Object] = None - content_type: Optional[str] = None - is_local: bool = False - user_agent: Optional[str] = None - cookies: Optional[Dict[str, Cookie]] = None - response_content_type: Optional[str] = None - has_explicit_response_content_type: bool = False - items: Optional[Dict[str, Object]] = None - headers: Optional[NameValueCollection] = None - query_string: Optional[NameValueCollection] = None - form_data: Optional[NameValueCollection] = None - use_buffered_stream: bool = False - raw_url: Optional[str] = None - absolute_uri: Optional[str] = None - user_host_address: Optional[str] = None - remote_ip: Optional[str] = None - authorization: Optional[str] = None - is_secure_connection: bool = False - accept_types: Optional[List[str]] = None - path_info: Optional[str] = None - original_path_info: Optional[str] = None - input_stream: Optional[bytes] = None - content_length: int = 0 - files: Optional[List[IHttpFile]] = None - url_referrer: Optional[str] = None - request_aborted: Optional[CancellationToken] = None +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class GetNotificationModuleDisableDependenciesResponse(ResponseBase): + dependencies: Optional[NotificationModuleDisableDependenciesDto] = None -class IResponse: - original_response: Optional[Object] = None - request: Optional[IRequest] = None - status_code: int = 0 - status_description: Optional[str] = None - content_type: Optional[str] = None - output_stream: Optional[bytes] = None - dto: Optional[Object] = None - use_buffered_stream: bool = False - is_closed: bool = False - keep_alive: bool = False - has_started: bool = False - items: Optional[Dict[str, Object]] = None +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class TestEmailValidationIntegrationResponse(ResponseBase): + items: List[TestEmailValidationItemDto] = field(default_factory=list) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SchedulerTaskListProjection(IHasViewId): - task_id: Optional[str] = None - name: Optional[str] = None - cron: Optional[str] = None - type: Optional[SchedulerTaskType] = None - is_enabled: bool = False - view_id: Optional[str] = None +class GetEmailTemplateResponse(ResponseBase): + item: Optional[EmailTemplateDto] = None -class ResolvedRefStatus(str, Enum): - OK = 'ok' - NOT_FOUND = 'notFound' - UNAUTHORIZED = 'unauthorized' - SOURCE_ERROR = 'sourceError' - ERASED = 'erased' +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class GetEmailTemplatesResponse(ResponseBase): + list: Optional[PaginatedResponse[EmailTemplateListProjection]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ResolvedResourceEntry: - ref: Optional[ResourceRefDto] = None - status: Optional[ResolvedRefStatus] = None - resolved: Optional[Object] = None - diagnostic: Optional[str] = None +class GetHtmlFromMjmlResponse(ResponseBase): + variables: Optional[List[str]] = None + html_from_mjml_response: Optional[HtmlFromMjmlResponse] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ChannelSubscriptionStateDto: - unsubscribed: bool = False - blocked_tags: Dict[str, List[str]] = field(default_factory=dict) +class GetSystemEmailTemplateResponse(ResponseBase): + item: Optional[SystemEmailTemplateDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class UserDto: - id: Optional[str] = None - project_id: Optional[str] = None - primary_email: Optional[str] = None - primary_phone: Optional[str] = None - display_name: Optional[str] = None - first_name: Optional[str] = None - last_name: Optional[str] = None - full_name: Optional[str] = None - company: Optional[str] = None - locale: Optional[str] = None - time_zone: Optional[str] = None - gender: Optional[str] = None - birth_date: Optional[int] = None - address_line1: Optional[str] = None - address_line2: Optional[str] = None - country: Optional[str] = None - city: Optional[str] = None - state: Optional[str] = None - postal_code: Optional[str] = None - tags: Optional[List[str]] = None - roles: Optional[List[str]] = None - lifecycle: Optional[str] = None - source_of_creation: Optional[str] = None - merged_into_contact_id: Optional[str] = None - created_on: datetime.datetime = datetime.datetime(1, 1, 1) - modified_on: datetime.datetime = datetime.datetime(1, 1, 1) - auths: Optional[List[AuthDto]] = None - marketing_preferences: Optional[Dict[str, ChannelSubscriptionStateDto]] = None +class GetSystemEmailTemplatesResponse(ResponseBase): + list: Optional[PaginatedResponse[SystemEmailTemplateListProjection]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ConsentPurposeDto: - key: Optional[str] = None - name: Optional[str] = None - channel: Optional[str] = None - mapped_tags: List[str] = field(default_factory=list) - regulatory_basis: List[str] = field(default_factory=list) - description: Optional[str] = None - is_deprecated: bool = False +class GetEmailTemplateAvailableTokensResponse(ResponseBase): + tokens: Optional[Dict[str, List[str]]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class RetentionWindowDto: - data_kind: Optional[str] = None - days: int = 0 - action: Optional[str] = None +class GetEmailSignatureResponse(ResponseBase): + item: Optional[EmailSignatureDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectComplianceDto: - regimes: List[str] = field(default_factory=list) - consent_purposes: List[ConsentPurposeDto] = field(default_factory=list) - retention_windows: List[RetentionWindowDto] = field(default_factory=list) +class GetEmailSignaturesResponse(ResponseBase): + list: Optional[PaginatedResponse[ListItemWithTranslationsProjection]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class LegalHoldDto: - id: Optional[str] = None - subject_kind: Optional[str] = None - subject_id: Optional[str] = None - reason: Optional[str] = None - placed_at: datetime.datetime = datetime.datetime(1, 1, 1) - placed_by: Optional[str] = None - released_at: Optional[datetime.datetime] = None - released_by: Optional[str] = None +class GetEmailSettingsResponse(ResponseBase): + settings: Optional[EmailSettings] = None + system_tags: Optional[List[GroupDefinitionDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class DsarRequestDto: - id: Optional[str] = None - subject_kind: Optional[str] = None - subject_id: Optional[str] = None - status: Optional[str] = None - received_at: datetime.datetime = datetime.datetime(1, 1, 1) - sla_deadline: datetime.datetime = datetime.datetime(1, 1, 1) - auto_approve_at: Optional[datetime.datetime] = None - decided_at: Optional[datetime.datetime] = None - decided_by: Optional[str] = None - rejection_reason: Optional[str] = None +class CheckEmailIntegrationDomainHealthResponse(ResponseBase): + domain: Optional[str] = None + items: Optional[IReadOnlyList[DomainHealthRecordItemDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ComplianceAuditEntryDto: - id: Optional[str] = None - timestamp: datetime.datetime = datetime.datetime(1, 1, 1) - action: Optional[str] = None - subject_kind: Optional[str] = None - subject_id: Optional[str] = None - reason: Optional[str] = None - metadata: Optional[Dict[str, str]] = None +class GetEmailIntegrationResponse(ResponseBase): + item: Optional[EmailIntegrationDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class AccountComplianceDto: - dsar_mode: Optional[str] = None - dsar_delay_days: int = 0 - auto_forward_advisories: bool = False - security_contact: Optional[str] = None +class GetEmailIntegrationsResponse(ResponseBase): + default_integration_id: Optional[str] = None + list: Optional[PaginatedResponse[EmailIntegrationListProjection]] = None -class SupportCustomerStatus(str, Enum): - PENDING = 'Pending' - OPEN = 'Open' - SOLVED = 'Solved' - CLOSED = 'Closed' +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class TestEmailIntegrationResponse(ResponseBase): + items: Optional[IReadOnlyList[IntegrationTestResultItemDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SupportCaseDto(IHasViewId): - view_id: Optional[str] = None - account_id: Optional[str] = None - project_id: Optional[str] = None - reporter_id: Optional[str] = None - kind: Optional[SupportCaseKind] = None - severity: Optional[SupportCaseSeverity] = None - status: Optional[SupportCaseStatus] = None - customer_status: Optional[SupportCustomerStatus] = None - subject: Optional[str] = None - affected_module: Optional[str] = None - deployment_mode: Optional[DeploymentMode] = None - gateway_version: Optional[str] = None - region: Optional[str] = None - plan_tier: Optional[str] = None - opened_on: int = 0 - first_response_on: Optional[int] = None - resolved_on: Optional[int] = None - closed_on: Optional[int] = None - resolution: Optional[str] = None - message_count: int = 0 - last_message_on: Optional[int] = None +class GetEmailFooterResponse(ResponseBase): + item: Optional[EmailFooterDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SupportCaseMessageDto: - id: Optional[str] = None - case_id: Optional[str] = None - author_kind: Optional[SupportMessageAuthorKind] = None - author_id: Optional[str] = None - author_display_name: Optional[str] = None - body: Optional[str] = None - sent_on: int = 0 +class GetEmailFootersResponse(ResponseBase): + list: Optional[PaginatedResponse[ListItemWithTranslationsProjection]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SupportCaseDetailDto: - case: Optional[SupportCaseDto] = None - messages: List[SupportCaseMessageDto] = field(default_factory=list) +class GetEmailCampaignResponse(ResponseBase): + item: Optional[EmailCampaignDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SupportCaseListProjection(IHasViewId): - view_id: Optional[str] = None - project_id: Optional[str] = None - kind: Optional[SupportCaseKind] = None - severity: Optional[SupportCaseSeverity] = None - status: Optional[SupportCaseStatus] = None - customer_status: Optional[SupportCustomerStatus] = None - subject: Optional[str] = None - opened_on: int = 0 - message_count: int = 0 - last_message_on: Optional[int] = None +class GetEmailCampaignsResponse(ResponseBase): + list: Optional[PaginatedResponse[EmailCampaignListProjection]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class DiagnosticPackStepDescriptorDto: - step_id: Optional[str] = None - kind: Optional[str] = None - description: Optional[str] = None - parameters: Dict[str, str] = field(default_factory=dict) +class GetEmailCampaignBatchesResponse(ResponseBase): + list: Optional[PaginatedResponse[EmailCampaignBatchDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class DiagnosticPackDescriptorDto: - name: Optional[str] = None - version: int = 0 - summary: Optional[str] = None - steps: List[DiagnosticPackStepDescriptorDto] = field(default_factory=list) +class GetEmailCampaignBatchNotificationResponse(ResponseBase): + campaign_notification: Optional[EmailCampaignBatchNotificationDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class DiagnosticPackStepResultDto: - step_id: Optional[str] = None - kind: Optional[str] = None - is_success: bool = False - result: Optional[Object] = None - error_message: Optional[str] = None +class GetEmailCampaignBatchNotificationsResponse(ResponseBase): + batch_status_history: Optional[List[BatchStatusChangeEntryDto]] = None + list: Optional[PaginatedResponse[EmailCampaignBatchNotificationDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class DiagnosticPackRunResultDto: - pack_name: Optional[str] = None - pack_version: int = 0 - case_id: Optional[str] = None - steps: List[DiagnosticPackStepResultDto] = field(default_factory=list) +class GetEmailCampaignStatisticsResponse(ResponseBase): + stats: Optional[CampaignStatsDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class DiagnosticEchoRegionDto: - pass +class PreviewEmailNotificationResponse(ResponseBase): + subject: Optional[str] = None + body: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class DiagnosticEchoDto: - container_name: Optional[str] = None - is_managed_service: bool = False - api_version: Optional[str] = None - hub_version: Optional[str] = None - release: Optional[str] = None - runtime: Optional[str] = None - hub_url: Optional[str] = None - api_url: Optional[str] = None - license_present: bool = False - regions: Optional[List[DiagnosticEchoRegionDto]] = None +class GetEmailCampaignMessageResponse(ResponseBase): + email_message_entity: Optional[EmailCampaignBatchNotificationDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class DiagnosticEventItemDto: - position: int = 0 - event_type: Optional[str] = None - payload: Optional[Dict[str, str]] = None +class GetEmailCampaignMessagesResponse(ResponseBase): + list: Optional[PaginatedResponse[EmailCampaignBatchNotificationDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class DiagnosticEventsPageDto: - stream: Optional[str] = None - from_: int = field(metadata=config(field_name='from'), default=0) - count: int = 0 - has_more: bool = False - next_from: int = 0 - items: List[DiagnosticEventItemDto] = field(default_factory=list) +class GetSmsTemplateResponse(ResponseBase): + item: Optional[SmsTemplateDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class DiagnosticLogsResponse: - list: Optional[PaginatedResponse[TenantLogEntryDto]] = None +class GetSmsTemplatesResponse(ResponseBase): + list: Optional[PaginatedResponse[SmsTemplateListProjection]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class DiagnosticRedisListItemDto: - view_id: Optional[str] = None - name: Optional[str] = None - status: Optional[str] = None +class GetSmsMessageContentTokensResponse(ResponseBase): + tokens: Optional[Dict[str, List[str]]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class DiagnosticRedisInspectDto: - key_pattern: Optional[str] = None - cache_key: Optional[str] = None - is_list: bool = False - item: Optional[Dict[str, Object]] = None - list_items: Optional[List[DiagnosticRedisListItemDto]] = None - has_more: bool = False - starting_after: Optional[str] = None +class RenderSmsTextResponse(ResponseBase): + variables: Optional[List[str]] = None + text: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class DiagnosticHealthCheckDto: - check_id: Optional[str] = None - is_healthy: bool = False - status_code: int = 0 - detail: Optional[str] = None - - -class ILlmApiKeyRequest: - api_key: Optional[str] = None - - -class IHasViewId: - view_id: Optional[str] = None - - -class IHasDatabaseId: - id: Optional[str] = None - - -class IBindableContract: - pass - - -class IHasRazorTemplateCode: - pass - - -class IHasDomainEntityId: - view_id: Optional[str] = None - - -class IIntegrationIdentification: - integration_id: Optional[IntegrationId] = None - capability: Optional[str] = None - is_system_owned: bool = False +class GetSmsSettingsResponse(ResponseBase): + settings: Optional[SmsSettings] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class CronExpression: - value: Optional[str] = None - parsed: Optional[CronExpression] = None - - -class IHasResponsibleUserId: - user_id: Optional[str] = None - - -class ICursorArgs: - field: Optional[str] = None - order: int = 0 +class GetSmsIntegrationResponse(ResponseBase): + item: Optional[SmsIntegrationDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class StringField(JsonSchemaField): - format: Optional[str] = None - pattern: Optional[str] = None - min_length: Optional[int] = None - max_length: Optional[int] = None - translate_options: Optional[IReadOnlyDictionary[str, str]] = None +class GetSmsIntegrationsResponse(ResponseBase): + default_integration_id: Optional[str] = None + list: Optional[PaginatedResponse[SmsIntegrationListProjection]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class DecimalField(JsonSchemaField): - minimum: Optional[Decimal] = None - maximum: Optional[Decimal] = None - multiple_of: Optional[Decimal] = None +class TestSmsIntegrationResponse(ResponseBase): + items: Optional[IReadOnlyList[IntegrationTestResultItemDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class CurrencyField(JsonSchemaField): - allowed_currencies: Optional[IReadOnlyList[str]] = None +class GetSmsCampaignResponse(ResponseBase): + sms_campaign: Optional[SmsCampaignDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class BooleanField(JsonSchemaField): - pass +class GetSmsCampaignsResponse(ResponseBase): + list: Optional[PaginatedResponse[SmsCampaignDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class DateField(JsonSchemaField): - minimum: Optional[int] = None - maximum: Optional[int] = None +class GetSmsCampaignBatchesResponse(ResponseBase): + list: Optional[PaginatedResponse[SmsCampaignBatchDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class IntegerField(JsonSchemaField): - minimum: Optional[int] = None - maximum: Optional[int] = None +class GetSmsCampaignBatchNotificationResponse(ResponseBase): + campaign_notification: Optional[SmsCampaignBatchNotificationDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GeolocationField(JsonSchemaField): - allowed_types: Optional[IReadOnlyList[str]] = None +class GetSmsCampaignBatchNotificationsResponse(ResponseBase): + batch_status_history: Optional[List[BatchStatusChangeEntryDto]] = None + list: Optional[PaginatedResponse[SmsCampaignBatchNotificationDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class TagsField(JsonSchemaField): - pass +class GetSmsCampaignStatisticsResponse(ResponseBase): + stats: Optional[CampaignStatsDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class FileField(JsonSchemaField): - storages: Optional[IReadOnlyList[str]] = None +class PreviewSmsNotificationResponse(ResponseBase): + body: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class TaxonomySelectionField(JsonSchemaField): - taxonomy_id: Optional[str] = None - multiple: bool = False +class GetSmsCampaignMessageResponse(ResponseBase): + sms_message_entity: Optional[SmsCampaignBatchNotificationDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class CollectionSelectionField(JsonSchemaField): - collection_id: Optional[str] = None - display_field: Optional[str] = None - multiple: bool = False +class GetSmsCampaignMessagesResponse(ResponseBase): + list: Optional[PaginatedResponse[SmsCampaignBatchNotificationDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class UserSelectionField(JsonSchemaField): - multiple: bool = False +class GetMarketplaceListingResponse(ResponseBase): + listing: Optional[MarketplaceListingDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class RoleSelectionField(JsonSchemaField): - multiple: bool = False +class GetMarketplaceTokensResponse(ResponseBase): + tokens: Optional[List[str]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class EnumSelectionField(JsonSchemaField): - values: Optional[IReadOnlyList[str]] = None - multiple: bool = False +class GetMarketplaceListingsResponse(ResponseBase): + list: Optional[PaginatedResponse[MarketplaceListingProjection]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class StringFieldDto(JsonSchemaFieldDto): - format: Optional[str] = None - pattern: Optional[str] = None - min_length: Optional[int] = None - max_length: Optional[int] = None - translate_options: Optional[IReadOnlyDictionary[str, str]] = None +class GetMarketplaceIntegrationResponse(ResponseBase): + integration: Optional[MarketplaceIntegrationDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class DecimalFieldDto(JsonSchemaFieldDto): - minimum: Optional[Decimal] = None - maximum: Optional[Decimal] = None - multiple_of: Optional[Decimal] = None +class GetMarketplaceIntegrationsResponse(ResponseBase): + list: Optional[PaginatedResponse[MarketplaceIntegrationListProjection]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class CurrencyFieldDto(JsonSchemaFieldDto): - allowed_currencies: Optional[IReadOnlyList[str]] = None +class EmptyMarketplaceSecretsResponse(ResponseBase): + pass @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class BooleanFieldDto(JsonSchemaFieldDto): - pass +class RevealMarketplaceIntegrationSecretsResponse(ResponseBase): + secrets: Optional[IReadOnlyDictionary[str, str]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class DateFieldDto(JsonSchemaFieldDto): - minimum: Optional[int] = None - maximum: Optional[int] = None +class TestMarketplaceIntegrationResponse(ResponseBase): + items: Optional[IReadOnlyList[IntegrationTestResultItemDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class IntegerFieldDto(JsonSchemaFieldDto): - minimum: Optional[int] = None - maximum: Optional[int] = None +class SetMarketplaceIntegrationTokenMappingsResponse(ResponseBase): + pass @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GeolocationFieldDto(JsonSchemaFieldDto): - allowed_types: Optional[IReadOnlyList[str]] = None +class GetMarketplaceFunctionResponse(ResponseBase): + function: Optional[MarketplaceFunctionDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class TagsFieldDto(JsonSchemaFieldDto): - pass +class GetMarketplaceFunctionsResponse(ResponseBase): + list: Optional[PaginatedResponse[MarketplaceFunctionProjection]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class FileFieldDto(JsonSchemaFieldDto): - storages: Optional[IReadOnlyList[str]] = None +class GetMarketplaceFunctionCatalogResponse(ResponseBase): + functions: Optional[IReadOnlyList[MarketplaceFunctionDefinitionDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class TaxonomySelectionFieldDto(JsonSchemaFieldDto): - taxonomy_id: Optional[str] = None - multiple: bool = False +class InvokeMarketplaceFunctionResponse(ResponseBase): + is_success: bool = False + output: Optional[Object] = None + vendor_request_id: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class CollectionSelectionFieldDto(JsonSchemaFieldDto): - collection_id: Optional[str] = None - display_field: Optional[str] = None - multiple: bool = False +class GetCodeIntegrationResponse(ResponseBase): + item: Optional[CodeIntegrationDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class UserSelectionFieldDto(JsonSchemaFieldDto): - multiple: bool = False +class GetCodeIntegrationsResponse(ResponseBase): + list: Optional[PaginatedResponse[CodeIntegrationListProjection]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class RoleSelectionFieldDto(JsonSchemaFieldDto): - multiple: bool = False +class TestCodeIntegrationResponse(ResponseBase): + items: Optional[IReadOnlyList[IntegrationTestResultItemDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class EnumSelectionFieldDto(JsonSchemaFieldDto): - values: Optional[IReadOnlyList[str]] = None - multiple: bool = False +class GetPushTemplateResponse(ResponseBase): + item: Optional[PushTemplateDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class EchoResponse: - container_name: Optional[str] = None - ip: Optional[str] = None - release: Optional[CodeMashRelease] = None - runtime: Optional[CodeMashRuntime] = None - managed_service_hub_url: Optional[str] = None - managed_service_api_url: Optional[str] = None - hub_url: Optional[str] = None - api_url: Optional[str] = None - api_version: Optional[str] = None - hub_version: Optional[str] = None - mjml_url: Optional[str] = None - admin_url_template: Optional[str] = None - license: Optional[EchoLicenseDto] = None - ask_for_enterprise_license_email: Optional[str] = None - email_service_configured: bool = False - root_bootstrap_password_source: Optional[str] = None - regions: Optional[List[EchoRegionDto]] = None - is_production_installation: bool = False - licensing_mode: Optional[str] = None - grace_days_left: Optional[int] = None - installation_domain: Optional[str] = None - licensing_docs_url: Optional[str] = None +class GetPushTemplatesResponse(ResponseBase): + list: Optional[PaginatedResponse[PushTemplateListProjection]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class PublicProjectConfigDto: - display_name: Optional[str] = None - admin_portal_enabled: bool = False - branding: Optional[PublicBrandDto] = None - auth: Optional[PublicAuthDto] = None +class GetPushMessageContentTokensResponse(ResponseBase): + tokens: Optional[Dict[str, List[str]]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class PublicLegalDocumentDto: - kind: Optional[str] = None +class RenderPushResponse(ResponseBase): + variables: Optional[List[str]] = None title: Optional[str] = None body: Optional[str] = None - available: bool = False + subtitle: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetAccountProfileResponse(ResponseBase): - item: Optional[AccountOwnerDto] = None +class GetPushSettingsResponse(ResponseBase): + settings: Optional[PushSettings] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetAccountStatusResponse(ResponseBase): - item: Optional[AccountStatusDto] = None +class GetPushIntegrationResponse(ResponseBase): + item: Optional[PushIntegrationDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class CreateStripeCheckoutSessionResponse(IdResponse): - pass +class GetPushIntegrationsResponse(ResponseBase): + default_integration_id: Optional[str] = None + list: Optional[PaginatedResponse[PushIntegrationListProjection]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetStripeBillingPortalUrlResponse(IdResponse): - pass +class GetPushDeviceResponse(ResponseBase): + item: Optional[PushDeviceDto] = None + user_id: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class CreateTeamMemberFromInvitationResponse(IdResponse): - token: Optional[str] = None +class GetPushDevicesResponse(ResponseBase): + list: Optional[PaginatedResponse[PushDeviceListProjection]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetAccountUsageBillingResponse(ResponseBase): - item: Optional[UsageBillingDto] = None +class GetPushCampaignResponse(ResponseBase): + item: Optional[PushCampaignDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class PromoteEnvironmentResponse(ResponseBase): - item: Optional[PromotionResultDto] = None +class GetPushCampaignsResponse(ResponseBase): + list: Optional[PaginatedResponse[PushCampaignDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetProjectEnvironmentsResponse(ResponseBase): - item: Optional[ProjectEnvironmentsDto] = None +class GetPushCampaignBatchesResponse(ResponseBase): + list: Optional[PaginatedResponse[PushCampaignBatchDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetProjectResponse(ResponseBase): - item: Optional[ProjectDto] = None +class GetPushCampaignBatchNotificationResponse(ResponseBase): + campaign_notification: Optional[PushCampaignBatchNotificationDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetProjectsResponse(ResponseBase): - list: Optional[List[ProjectListItemDto]] = None +class GetPushCampaignBatchNotificationsResponse(ResponseBase): + batch_status_history: Optional[List[BatchStatusChangeEntryDto]] = None + list: Optional[PaginatedResponse[PushCampaignBatchNotificationDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetAccountRegionsResponse(ResponseBase): - items: Optional[List[ProjectRegionDto]] = None +class GetPushCampaignStatisticsResponse(ResponseBase): + stats: Optional[CampaignStatsDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class WaitForProjectActiveResponse(ResponseBase): - status: Optional[str] = None - is_active: bool = False - waited_seconds: int = 0 - message: Optional[str] = None +class PreviewPushNotificationResponse(ResponseBase): + title: Optional[str] = None + body: Optional[str] = None + subtitle: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetProjectTokensResponse(ResponseBase): - tokens: Optional[List[TokenMappingDto]] = None +class GetPushCampaignMessageResponse(ResponseBase): + push_message_entity: Optional[PushCampaignBatchNotificationDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class AdminPortalStructureDto: - project_id: Optional[str] = None - admin_portal_enabled: bool = False - display_name: Optional[str] = None - modules: List[AdminPortalModuleDto] = field(default_factory=list) +class GetPushCampaignMessagesResponse(ResponseBase): + list: Optional[PaginatedResponse[PushCampaignBatchNotificationDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class CreateAccountResponse(IdResponse): - token: Optional[str] = None +class GetPaymentsWebhookLogResponse(ResponseBase): + list: Optional[IReadOnlyList[PaymentsWebhookLogEntry]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetAccountCollaboratorsResponse(ResponseBase): - list: Optional[PaginatedResponse[AuthDto]] = None +class GetPaymentsTriggerResponse(GetTriggerResponse): + trigger: Optional[PaymentTriggerDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetAccountPasswordPolicyResponse(ResponseBase): - policy: Optional[AccountPasswordPolicyDto] = None +class GetPaymentsTriggersResponse(GetTriggersResponse): + list: Optional[PaginatedResponse[PaymentTriggerProjectionList]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetAccountTeamPoliciesResponse(ResponseBase): - policies: Optional[List[PolicyItemDto]] = None +class GetPaymentsIntegrationResponse(ResponseBase): + item: Optional[PaymentsIntegrationDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetAccountTeamRolesResponse(ResponseBase): - roles: Optional[List[AccountTeamRoleDto]] = None +class GetPaymentsIntegrationsResponse(ResponseBase): + list: Optional[PaginatedResponse[PaymentsIntegrationListProjection]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class AccountPasskeyOkResponse(ResponseBase): - pass +class TestPaymentsIntegrationResponse(ResponseBase): + items: Optional[IReadOnlyList[IntegrationTestResultItemDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class AccountPasskeyVerificationTokenResponse(ResponseBase): - verification_token: Optional[str] = None +class GetLoggingIntegrationResponse(ResponseBase): + item: Optional[LoggingIntegrationDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class AccountPasskeyCeremonyOptionsResponse(ResponseBase): - ceremony_id: Optional[str] = None - options_json: Optional[str] = None +class GetLoggingIntegrationsResponse(ResponseBase): + list: Optional[PaginatedResponse[LoggingIntegrationListProjection]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class AccountPasskeyAuthTokensResponse(ResponseBase): - access_token: Optional[str] = None - refresh_token: Optional[str] = None - expires_in_seconds: int = 0 - recovery_codes: Optional[List[str]] = None +class TestLoggingIntegrationResponse(ResponseBase): + items: Optional[IReadOnlyList[IntegrationTestResultItemDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class AccountPasskeyListResponse(ResponseBase): - passkeys: List[AccountPasskeyListItemDto] = field(default_factory=list) +class CleanLogsResponse(ResponseBase): + pass @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class AccountPasskeyEnrollmentResponse(ResponseBase): - recovery_codes: Optional[List[str]] = None +class GetLogsByCorrelationIdResponse(ResponseBase): + items: Optional[IReadOnlyList[TenantLogEntryDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetLicenseDomainDnsStatusResponse(ResponseBase): - status: Optional[LicenseDomainDnsStatusDto] = None +class GetLogsResponse(ResponseBase): + list: Optional[PaginatedResponse[TenantLogEntryDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class StartLicenseDomainVerificationResponse(ResponseBase): - challenge: Optional[LicenseDomainVerificationChallengeDto] = None +class GetLogSettingsResponse(ResponseBase): + skip_cloud_dashboard_logs: bool = False + skip_http_body_meta: bool = False + ai_chat_logging_enabled: bool = False + has_norbix_logging: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetLicenseDomainVerificationStatusResponse(ResponseBase): - status: Optional[LicenseDomainVerificationStatusDto] = None +class SaveLogSettingsResponse(ResponseBase): + pass @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetLicensesResponse(ResponseBase): - list: Optional[List[LicenseDto]] = None +class GetAgentOnboardingResponse(ResponseBase): + prompt: Optional[str] = None + hub_url: Optional[str] = None + api_url: Optional[str] = None + mcp_url: Optional[str] = None + docs_url: Optional[str] = None + installation_type: Optional[str] = None + snippets: Optional[List[AgentOnboardingSnippet]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class PostLicenseHeartbeatResponse(ResponseBase): - verdict: Optional[LicenseHeartbeatVerdictDto] = None +class GetAiToolsResponse(ResponseBase): + tools: Optional[List[AiToolManifestItem]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetInstallationLicenseStatusResponse(ResponseBase): - status: Optional[InstallationLicenseStatusDto] = None +class InvokeAiToolResponse(ResponseBase): + result: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class IssueServiceUserApiKeyResponse: - id: int = 0 - name: Optional[str] = None - key: Optional[str] = None +class UploadChatAttachmentResponse(ResponseBase): + id: Optional[str] = None + session_id: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ListServiceUserApiKeysResponse: - keys: List[ServiceUserApiKeyDto] = field(default_factory=list) +class ChatAvailabilityResponse(ResponseBase): + available: bool = False + reason: Optional[str] = None + profiles: Optional[List[str]] = None + models: Optional[List[ChatModelOption]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetMembershipTriggerResponse(GetTriggerResponse): - trigger: Optional[MembershipTriggerDto] = None +class GetChatMemoryResponse(ResponseBase): + notes: Optional[List[ChatMemoryNote]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetMembershipTriggersResponse(GetTriggersResponse): - list: Optional[PaginatedResponse[MembershipTriggerProjectionList]] = None +class GetChatSessionsResponse(ResponseBase): + sessions: Optional[List[ChatSessionListItem]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetRoleResponse(ResponseBase): - role: Optional[RoleItemDto] = None +class GetChatSessionEntriesResponse(ResponseBase): + session_id: Optional[str] = None + profile: Optional[str] = None + project_id: Optional[str] = None + env: Optional[str] = None + entries: Optional[List[AiChatEntryWireDto]] = None + last_seq: int = 0 + active_work_item_ids: Optional[List[str]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetRolesResponse(ResponseBase): - roles: List[RoleListProjectionDto] = field(default_factory=list) +class ChatTurnResponse(ResponseBase): + session_id: Optional[str] = None + reply: Optional[str] = None + screen_patch: Optional[ChatScreenContextDto] = None + tool_trace: Optional[List[str]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetPolicyResponse(ResponseBase): - policy: Optional[PolicyItemDto] = None +class GetProjectBriefResponse(ResponseBase): + project_id: Optional[str] = None + snapshot: Optional[ProjectBriefSnapshotWireDto] = None + events: Optional[List[ProjectBriefEventWireDto]] = None + last_seq: int = 0 @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetPoliciesResponse(ResponseBase): - policies: List[PolicyItemDto] = field(default_factory=list) +class GetWorkItemsResponse(ResponseBase): + project_id: Optional[str] = None + work_items: Optional[List[WorkItemWireDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetPasskeySettingsResponse(ResponseBase): - result: Optional[PasskeySettingsDto] = None +class GetWorkItemResponse(ResponseBase): + work_item: Optional[WorkItemWireDto] = None + plans: Optional[List[AiChatEntryWireDto]] = None + steps: Optional[List[AiChatEntryWireDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetMembershipIntegrationResponse(ResponseBase): - item: Optional[MembershipIntegrationDto] = None +class ExportWorkItemResponse(ResponseBase): + work_item_id: Optional[str] = None + markdown: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetMembershipIntegrationsResponse(ResponseBase): - list: Optional[PaginatedResponse[MembershipIntegrationListProjection]] = None +class GetLlmIntegrationResponse(ResponseBase): + item: Optional[LlmIntegrationDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetAuthorizationSettingsResponse(ResponseBase): - result: Optional[MembershipAuthorizationViewDto] = None +class GetLlmIntegrationsResponse(ResponseBase): + default_integration_id: Optional[str] = None + list: Optional[PaginatedResponse[LlmIntegrationListProjection]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class UpdatePasswordComplexityResponse(ResponseBase): - result: bool = False +class TestLlmIntegrationResponse(ResponseBase): + items: Optional[IReadOnlyList[IntegrationTestResultItemDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetAuthenticationSettingsResponse(ResponseBase): - result: Optional[MembershipAuthenticationViewDto] = None +class GetMcpIntegrationResponse(ResponseBase): + item: Optional[McpIntegrationDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetSchemaTriggerResponse(GetTriggerResponse): - trigger: Optional[SchemaTriggerDto] = None +class GetMcpIntegrationsResponse(ResponseBase): + default_integration_id: Optional[str] = None + list: Optional[PaginatedResponse[McpIntegrationListProjection]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetSchemaTriggersResponse(GetTriggersResponse): - list: Optional[PaginatedResponse[SchemaTriggerProjectionList]] = None +class GetWebhookIntegrationResponse(ResponseBase): + item: Optional[WebhookIntegrationDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetDatabaseTaxonomyResponse(ResponseBase): - item: Optional[TaxonomyDto] = None +class RevealWebhookIntegrationSecretResponse(ResponseBase): + signing_secret: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetDatabaseTaxonomiesResponse(ResponseBase): - list: Optional[PaginatedResponse[TaxonomyListProjection]] = None +class RotateWebhookIntegrationSecretResponse(ResponseBase): + signing_secret: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetDatabaseTaxonomyTreeResponse(ResponseBase): - tree: Optional[List[TaxonomyTreeDto]] = None +class HttpResult: + response_text: Optional[str] = None + response_stream: Optional[bytes] = None + file_info: Optional[FileInfo] = None + virtual_file: Optional[IVirtualFile] = None + content_type: Optional[str] = None + headers: Optional[Dict[str, str]] = None + cookies: Optional[List[Cookie]] = None + e_tag: Optional[str] = None + age: Optional[datetime.timedelta] = None + max_age: Optional[datetime.timedelta] = None + expires: Optional[datetime.datetime] = None + last_modified: Optional[datetime.datetime] = None + cache_control: Optional[CacheControl] = None + result_scope: Optional[Func[IDisposable]] = None + allows_partial_response: bool = False + options: Optional[Dict[str, str]] = None + status: int = 0 + status_code: Optional[HttpStatusCode] = None + status_description: Optional[str] = None + response: Optional[Object] = None + response_filter: Optional[IContentTypeWriter] = None + request_context: Optional[IRequest] = None + view: Optional[str] = None + template: Optional[str] = None + padding_length: int = 0 + is_partial_request: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetDatabaseTaxonomyTermResponse(ResponseBase): - item: Optional[TermDto] = None +class SaveWebhookDestinationResponse(ResponseBase): + destination_id: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetDatabaseMergedTermTreeResponse(ResponseBase): - tree: Optional[List[TermTreeDto]] = None +class GetSchedulerTaskResponse(ResponseBase): + item: Optional[SchedulerTaskDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetDatabaseTaxonomyTermTreeResponse(ResponseBase): - tree: Optional[List[TermTreeDto]] = None +class GetSchedulerTasksResponse(ResponseBase): + list: Optional[PaginatedResponse[SchedulerTaskListProjection]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ApplyDatabaseSchemaBundleResponse(ResponseBase): - tier: Optional[str] = None - taxonomies: List[AppliedTaxonomyDto] = field(default_factory=list) - collections: List[AppliedCollectionDto] = field(default_factory=list) - decisions: List[str] = field(default_factory=list) - errors: List[str] = field(default_factory=list) +class ResolveResourcesResponse(ResponseBase): + resolved: Optional[IReadOnlyList[ResolvedResourceEntry]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetDatabaseSchemaResponse(ResponseBase): - item: Optional[SchemaDto] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetDatabaseSchemasResponse(ResponseBase): - list: Optional[PaginatedResponse[SchemaListProjection]] = None +class GetContactResponse(ResponseBase): + item: Optional[UserDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetDatabaseSchemaDraftResponse(ResponseBase): - item: Optional[SchemaDraftDto] = None +class GetAllContactsResponse(ResponseBase): + items: Optional[IReadOnlyList[UserDto]] = None + next_cursor: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetDatabaseSchemaListSettingsResponse(ResponseBase): - settings: Optional[SchemaListSettingsDto] = None +class GetComplianceSettingsResponse(ResponseBase): + settings: Optional[ProjectComplianceDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetDatabaseSchemaVersionDiffResponse(ResponseBase): - item: Optional[SchemaDiffDto] = None +class GetLegalHoldsResponse(ResponseBase): + holds: List[LegalHoldDto] = field(default_factory=list) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetDatabaseSchemaVersionsResponse(ResponseBase): - items: Optional[List[SchemaVersionSummaryDto]] = None +class GetDsarRequestsResponse(ResponseBase): + requests: List[DsarRequestDto] = field(default_factory=list) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class AggregateRecordsResponse(ResponseBase): - result: Optional[List[Object]] = None +class GetComplianceAuditLogResponse(ResponseBase): + entries: List[ComplianceAuditEntryDto] = field(default_factory=list) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class CountRecordsResponse(ResponseBase): - count: int = 0 +class GetAccountComplianceResponse(ResponseBase): + settings: Optional[AccountComplianceDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class DistinctRecordValuesResponse(ResponseBase): - values: Optional[List[Object]] = None +class GetSupportCaseResponse(ResponseBase): + result: Optional[SupportCaseDetailDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ExecuteRecordsAggregateResponse(ResponseBase): - result: Optional[List[Object]] = None +class GetSupportCasesResponse(ResponseBase): + list: Optional[PaginatedResponse[SupportCaseListProjection]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class FindRecordsResponse(ResponseBase): - list: Optional[PaginatedResponse[Object]] = None +class GetDiagnosticPacksResponse(ResponseBase): + packs: Optional[List[DiagnosticPackDescriptorDto]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class FindOneRecordResponse(ResponseBase): - result: Optional[Object] = None +class RunDiagnosticPackResponse(ResponseBase): + result: Optional[DiagnosticPackRunResultDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetCollectionIndexesResponse(ResponseBase): - indexes: Optional[List[CollectionIndexDto]] = None +class GetDiagnosticEchoResponse(ResponseBase): + result: Optional[DiagnosticEchoDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SeedCollectionRecordsResponse(ResponseBase): - result: Optional[SeedCollectionRecordsResultDto] = None +class ReadDiagnosticEventsResponse(ResponseBase): + result: Optional[DiagnosticEventsPageDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetDatabaseIntegrationResponse(ResponseBase): - item: Optional[DatabaseIntegrationDto] = None +class QueryDiagnosticLogsResponse(ResponseBase): + result: Optional[DiagnosticLogsResponse] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetDatabaseIntegrationsResponse(ResponseBase): - default_integration_id: Optional[str] = None - list: Optional[PaginatedResponse[DatabaseIntegrationListProjection]] = None +class InspectDiagnosticRedisResponse(ResponseBase): + result: Optional[DiagnosticRedisInspectDto] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetAllowedFlexTiersResponse(ResponseBase): - tiers: Optional[List[FlexTierDto]] = None +class RunDiagnosticHealthCheckResponse(ResponseBase): + result: Optional[DiagnosticHealthCheckDto] = None +# @Route("/{version}/code/enable", "GET") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class RevealManagedFlexConnectionStringResponse(ResponseBase): - connection_string: Optional[str] = None +class EnableCode(CodeMashRequestBase, IReturn[EmptyResponse]): + pass +# @Route("/{version}/code/disable", "GET") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class TestDatabaseIntegrationResponse(ResponseBase): - items: Optional[IReadOnlyList[IntegrationTestResultItemDto]] = None +class DisableCode(CodeMashRequestBase, IReturn[EmptyResponse]): + pass +# @Route("/{version}/code/integrations", "GET") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetCollectionImportResponse(ResponseBase): - result: Optional[CollectionImportDto] = None +class GetCodeIntegrations(CodeMashListPaginationRequestBase, IReturn[GetCodeIntegrationsResponse]): + pass +# @Route("/{version}/code/integrations/{id}", "GET") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetCollectionImportsResponse(ResponseBase): - result: Optional[PaginatedResponse[CollectionImportDto]] = None +class GetCodeIntegration(CodeMashRequestBase, IReturn[GetCodeIntegrationResponse]): + # @ApiMember(Description="Integration id, from get_code_integrations.", IsRequired=true) + id: Optional[str] = None + """ + Integration id, from get_code_integrations. + """ +# @Route("/{version}/code/integrations", "POST") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class RequestImportUploadUrlResponse(ResponseBase): - result: Optional[ImportUploadTargetDto] = None +class SaveCodeIntegration(CodeMashRequestBase, IReturn[IdResponse]): + integration: Optional[CodeIntegrationRequest] = None +# @Route("/{version}/code/integrations/test", "POST") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class AnalyzeImportFileResponse(ResponseBase): - result: Optional[ImportFileAnalysisDto] = None +class TestCodeIntegration(CodeMashRequestBase, IReturn[TestCodeIntegrationResponse]): + # @ApiMember(Description="Integration id, from get_code_integrations.", IsRequired=true) + integration_id: Optional[str] = None + """ + Integration id, from get_code_integrations. + """ +# @Route("/{version}/code/integrations/confirm-human-delivery", "POST") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetDatabaseAggregateResponse(ResponseBase): - item: Optional[MongoDbAggregateDto] = None +class ConfirmCodeIntegrationHumanDeliveryRequest(CodeMashRequestBase, IReturn[EmptyResponse]): + # @ApiMember(Description="Integration id, from get_code_integrations.", IsRequired=true) + integration_id: Optional[str] = None + """ + Integration id, from get_code_integrations. + """ +# @Route("/{version}/code/integrations/{Id}/default", "PUT") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetDatabaseAggregatesResponse(ResponseBase): - list: Optional[PaginatedResponse[MongoDbAggregateListProjection]] = None +class SetCodeIntegrationAsDefault(CodeMashRequestBase, IReturn[EmptyResponse]): + # @ApiMember(Description="Integration id, from get_code_integrations.", IsRequired=true) + id: Optional[str] = None + """ + Integration id, from get_code_integrations. + """ +# @Route("/{version}/code/integrations/{Id}", "DELETE") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class TestDatabaseAggregateResponse(ResponseBase): - result: Optional[List[Object]] = None +class DeleteCodeIntegrationRequest(CodeMashRequestBase, IReturn[EmptyResponse]): + # @ApiMember(Description="Integration id, from get_code_integrations.", IsRequired=true) + id: Optional[str] = None + """ + Integration id, from get_code_integrations. + """ +# @Route("/{version}/code/integrations/{Id}/enable", "PUT") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetFilesTriggerResponse(GetTriggerResponse): - trigger: Optional[FilesTriggerDto] = None +class EnableCodeIntegrationRequest(CodeMashRequestBase, IReturn[EmptyResponse]): + # @ApiMember(Description="Integration id, from get_code_integrations.", IsRequired=true) + id: Optional[str] = None + """ + Integration id, from get_code_integrations. + """ +# @Route("/{version}/code/integrations/{Id}/disable", "PUT") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetFilesTriggersResponse(GetTriggersResponse): - list: Optional[PaginatedResponse[FilesTriggerProjectionList]] = None +class DisableCodeIntegrationRequest(CodeMashRequestBase, IReturn[EmptyResponse]): + # @ApiMember(Description="Integration id, from get_code_integrations.", IsRequired=true) + id: Optional[str] = None + """ + Integration id, from get_code_integrations. + """ +# @Route("/{version}/code/marketplace/listings", "GET") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetFilesIntegrationResponse(ResponseBase): - item: Optional[FilesIntegrationDto] = None +class GetMarketplaceListings(CodeMashListPaginationRequestBase, IReturn[GetMarketplaceListingsResponse]): + # @ApiMember(Description="Filter by one or more categories (Crm, Erp, Communication, etc.).") + categories: Optional[List[MarketplaceCategory]] = None + """ + Filter by one or more categories (Crm, Erp, Communication, etc.). + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetFilesIntegrationsResponse(ResponseBase): - default_integration_id: Optional[str] = None - list: Optional[PaginatedResponse[FilesIntegrationListProjection]] = None + # @ApiMember(Description="Filter by transport (Mcp, Rest, Code).") + transports: Optional[List[MarketplaceTransport]] = None + """ + Filter by transport (Mcp, Rest, Code). + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class TestFilesIntegrationResponse(ResponseBase): - items: Optional[IReadOnlyList[IntegrationTestResultItemDto]] = None + # @ApiMember(Description="Free-text search over the listing's display name, vendor, and description.") + search: Optional[str] = None + """ + Free-text search over the listing's display name, vendor, and description. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetFolderFilesResponse(ResponseBase): - list: Optional[PaginatedResponse[FileResourceRefDto]] = None - folders: Optional[IList[str]] = None + # @ApiMember(Description="If true, return only listings curated and verified by Norbix.") + official_only: Optional[bool] = None + """ + If true, return only listings curated and verified by Norbix. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetNotificationModuleDisableDependenciesResponse(ResponseBase): - dependencies: Optional[NotificationModuleDisableDependenciesDto] = None + # @ApiMember(Description="Filter by curated tag slugs (e.g. ai-llm, messaging, crm). Matches listings carrying any of the given tags.") + tags: Optional[List[str]] = None + """ + Filter by curated tag slugs (e.g. ai-llm, messaging, crm). Matches listings carrying any of the given tags. + """ +# @Route("/{version}/code/marketplace/listings/{ListingViewId}/functions/{FunctionKey}/tokens", "GET") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class TestEmailValidationIntegrationResponse(ResponseBase): - items: List[TestEmailValidationItemDto] = field(default_factory=list) +class GetMarketplaceListingFunctionTokens(CodeMashRequestBase, IReturn[GetMarketplaceTokensResponse]): + # @ApiMember(Description="Marketplace listing view id, from get_marketplace_listings.", IsRequired=true) + listing_view_id: Optional[str] = None + """ + Marketplace listing view id, from get_marketplace_listings. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetEmailTemplateResponse(ResponseBase): - item: Optional[EmailTemplateDto] = None + # @ApiMember(Description="Function key on the listing, from get_marketplace_listings.", IsRequired=true) + function_key: Optional[str] = None + """ + Function key on the listing, from get_marketplace_listings. + """ +# @Route("/{version}/code/marketplace/integrations", "GET") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetEmailTemplatesResponse(ResponseBase): - list: Optional[PaginatedResponse[EmailTemplateListProjection]] = None +class GetMarketplaceIntegrations(CodeMashListPaginationRequestBase, IReturn[GetMarketplaceIntegrationsResponse]): + pass +# @Route("/{version}/code/marketplace/integrations/{IntegrationViewId}", "GET") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetHtmlFromMjmlResponse(ResponseBase): - variables: Optional[List[str]] = None - html_from_mjml_response: Optional[HtmlFromMjmlResponse] = None +class GetMarketplaceIntegration(CodeMashRequestBase, IReturn[GetMarketplaceIntegrationResponse]): + # @ApiMember(Description="Integration view id, from get_marketplace_integrations.", IsRequired=true) + integration_view_id: Optional[str] = None + """ + Integration view id, from get_marketplace_integrations. + """ +# @Route("/{version}/code/marketplace/integrations", "POST") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetSystemEmailTemplateResponse(ResponseBase): - item: Optional[SystemEmailTemplateDto] = None +class SaveMarketplaceIntegration(CodeMashRequestBase, IReturn[IdResponse]): + # @ApiMember(Description="The marketplace integration to install, from a get_marketplace_listings entry.", IsRequired=true) + integration: Optional[MarketplaceIntegrationDto] = None + """ + The marketplace integration to install, from a get_marketplace_listings entry. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetSystemEmailTemplatesResponse(ResponseBase): - list: Optional[PaginatedResponse[SystemEmailTemplateListProjection]] = None + secrets: Dict[str, str] = field(default_factory=dict) +# @Route("/{version}/code/marketplace/integrations/{IntegrationViewId}", "DELETE") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetEmailTemplateAvailableTokensResponse(ResponseBase): - tokens: Optional[Dict[str, List[str]]] = None +class DeleteMarketplaceIntegration(CodeMashRequestBase, IReturn[IdResponse]): + # @ApiMember(Description="Integration view id, from get_marketplace_integrations.", IsRequired=true) + integration_view_id: Optional[str] = None + """ + Integration view id, from get_marketplace_integrations. + """ +# @Route("/{version}/code/marketplace/integrations/{IntegrationViewId}/enable", "POST") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetEmailSignatureResponse(ResponseBase): - item: Optional[EmailSignatureDto] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetEmailSignaturesResponse(ResponseBase): - list: Optional[PaginatedResponse[ListItemWithTranslationsProjection]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetEmailSettingsResponse(ResponseBase): - settings: Optional[EmailSettings] = None - system_tags: Optional[List[GroupDefinitionDto]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class CheckEmailIntegrationDomainHealthResponse(ResponseBase): - domain: Optional[str] = None - items: Optional[IReadOnlyList[DomainHealthRecordItemDto]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetEmailIntegrationResponse(ResponseBase): - item: Optional[EmailIntegrationDto] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetEmailIntegrationsResponse(ResponseBase): - default_integration_id: Optional[str] = None - list: Optional[PaginatedResponse[EmailIntegrationListProjection]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class TestEmailIntegrationResponse(ResponseBase): - items: Optional[IReadOnlyList[IntegrationTestResultItemDto]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetEmailFooterResponse(ResponseBase): - item: Optional[EmailFooterDto] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetEmailFootersResponse(ResponseBase): - list: Optional[PaginatedResponse[ListItemWithTranslationsProjection]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetEmailCampaignResponse(ResponseBase): - item: Optional[EmailCampaignDto] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetEmailCampaignsResponse(ResponseBase): - list: Optional[PaginatedResponse[EmailCampaignListProjection]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetEmailCampaignBatchesResponse(ResponseBase): - list: Optional[PaginatedResponse[EmailCampaignBatchDto]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetEmailCampaignBatchNotificationResponse(ResponseBase): - campaign_notification: Optional[EmailCampaignBatchNotificationDto] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetEmailCampaignBatchNotificationsResponse(ResponseBase): - batch_status_history: Optional[List[BatchStatusChangeEntryDto]] = None - list: Optional[PaginatedResponse[EmailCampaignBatchNotificationDto]] = None +class EnableMarketplaceIntegration(CodeMashRequestBase): + # @ApiMember(Description="Integration view id, from get_marketplace_integrations.", IsRequired=true) + integration_view_id: Optional[str] = None + """ + Integration view id, from get_marketplace_integrations. + """ +# @Route("/{version}/code/marketplace/integrations/{IntegrationViewId}/disable", "POST") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetEmailCampaignStatisticsResponse(ResponseBase): - stats: Optional[CampaignStatsDto] = None +class DisableMarketplaceIntegration(CodeMashRequestBase): + # @ApiMember(Description="Integration view id, from get_marketplace_integrations.", IsRequired=true) + integration_view_id: Optional[str] = None + """ + Integration view id, from get_marketplace_integrations. + """ +# @Route("/{version}/code/marketplace/integrations/{IntegrationViewId}/functions", "GET") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class PreviewEmailNotificationResponse(ResponseBase): - subject: Optional[str] = None - body: Optional[str] = None +class GetMarketplaceFunctions(CodeMashListPaginationRequestBase, IReturn[GetMarketplaceFunctionsResponse]): + # @ApiMember(Description="Integration view id, from get_marketplace_integrations.", IsRequired=true) + integration_view_id: Optional[str] = None + """ + Integration view id, from get_marketplace_integrations. + """ +# @Route("/{version}/code/marketplace/integrations/{IntegrationViewId}/functions/{FunctionViewId}", "GET") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetEmailCampaignMessageResponse(ResponseBase): - email_message_entity: Optional[EmailCampaignBatchNotificationDto] = None +class GetMarketplaceFunction(CodeMashRequestBase, IReturn[GetMarketplaceFunctionResponse]): + # @ApiMember(Description="Integration view id, from get_marketplace_integrations.", IsRequired=true) + integration_view_id: Optional[str] = None + """ + Integration view id, from get_marketplace_integrations. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetEmailCampaignMessagesResponse(ResponseBase): - list: Optional[PaginatedResponse[EmailCampaignBatchNotificationDto]] = None + # @ApiMember(Description="Function view id, from get_marketplace_functions.", IsRequired=true) + function_view_id: Optional[str] = None + """ + Function view id, from get_marketplace_functions. + """ +# @Route("/{version}/code/marketplace/integrations/{IntegrationViewId}/functions", "POST") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetSmsTemplateResponse(ResponseBase): - item: Optional[SmsTemplateDto] = None +class SaveMarketplaceFunction(CodeMashRequestBase): + # @ApiMember(Description="Integration view id, from get_marketplace_integrations.", IsRequired=true) + integration_view_id: Optional[str] = None + """ + Integration view id, from get_marketplace_integrations. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetSmsTemplatesResponse(ResponseBase): - list: Optional[PaginatedResponse[SmsTemplateListProjection]] = None + # @ApiMember(Description="The function to create: functionKey, displayName, description, and one mapping per vendor function parameter.", IsRequired=true) + function: Optional[MarketplaceFunctionDto] = None + """ + The function to create: functionKey, displayName, description, and one mapping per vendor function parameter. + """ +# @Route("/{version}/code/marketplace/integrations/{IntegrationViewId}/functions/{FunctionViewId}", "DELETE") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetSmsMessageContentTokensResponse(ResponseBase): - tokens: Optional[Dict[str, List[str]]] = None +class DeleteMarketplaceFunction(CodeMashRequestBase): + # @ApiMember(Description="Integration view id, from get_marketplace_integrations.", IsRequired=true) + integration_view_id: Optional[str] = None + """ + Integration view id, from get_marketplace_integrations. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class RenderSmsTextResponse(ResponseBase): - variables: Optional[List[str]] = None - text: Optional[str] = None + # @ApiMember(Description="Function view id, from get_marketplace_functions.", IsRequired=true) + function_view_id: Optional[str] = None + """ + Function view id, from get_marketplace_functions. + """ +# @Route("/{version}/code/marketplace/integrations/{IntegrationViewId}/functions/{FunctionViewId}/enable", "POST") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetSmsSettingsResponse(ResponseBase): - settings: Optional[SmsSettings] = None +class EnableMarketplaceFunction(CodeMashRequestBase): + # @ApiMember(Description="Integration view id, from get_marketplace_integrations.", IsRequired=true) + integration_view_id: Optional[str] = None + """ + Integration view id, from get_marketplace_integrations. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetSmsIntegrationResponse(ResponseBase): - item: Optional[SmsIntegrationDto] = None + # @ApiMember(Description="Function view id, from get_marketplace_functions.", IsRequired=true) + function_view_id: Optional[str] = None + """ + Function view id, from get_marketplace_functions. + """ +# @Route("/{version}/code/marketplace/integrations/{IntegrationViewId}/functions/{FunctionViewId}/disable", "POST") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetSmsIntegrationsResponse(ResponseBase): - default_integration_id: Optional[str] = None - list: Optional[PaginatedResponse[SmsIntegrationListProjection]] = None +class DisableMarketplaceFunction(CodeMashRequestBase): + # @ApiMember(Description="Integration view id, from get_marketplace_integrations.", IsRequired=true) + integration_view_id: Optional[str] = None + """ + Integration view id, from get_marketplace_integrations. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class TestSmsIntegrationResponse(ResponseBase): - items: Optional[IReadOnlyList[IntegrationTestResultItemDto]] = None + # @ApiMember(Description="Function view id, from get_marketplace_functions.", IsRequired=true) + function_view_id: Optional[str] = None + """ + Function view id, from get_marketplace_functions. + """ +# @Route("/{version}/code/marketplace/integrations/{IntegrationViewId}/functions/{FunctionViewId}/tokens", "GET") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetSmsCampaignResponse(ResponseBase): - sms_campaign: Optional[SmsCampaignDto] = None +class GetMarketplaceFunctionTokens(CodeMashRequestBase, IReturn[GetMarketplaceTokensResponse]): + # @ApiMember(Description="Integration view id, from get_marketplace_integrations.", IsRequired=true) + integration_view_id: Optional[str] = None + """ + Integration view id, from get_marketplace_integrations. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetSmsCampaignsResponse(ResponseBase): - list: Optional[PaginatedResponse[SmsCampaignDto]] = None + # @ApiMember(Description="Function view id, from get_marketplace_functions.", IsRequired=true) + function_view_id: Optional[str] = None + """ + Function view id, from get_marketplace_functions. + """ +# @Route("/{version}/code/marketplace/functions/{FunctionViewId}/invoke", "POST") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetSmsCampaignBatchesResponse(ResponseBase): - list: Optional[PaginatedResponse[SmsCampaignBatchDto]] = None +class InvokeMarketplaceFunction(CodeMashRequestBase, IReturn[InvokeMarketplaceFunctionResponse]): + # @ApiMember(Description="Function view id (func_…), from get_marketplace_functions.", IsRequired=true) + function_view_id: Optional[str] = None + """ + Function view id (func_…), from get_marketplace_functions. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetSmsCampaignBatchNotificationResponse(ResponseBase): - campaign_notification: Optional[SmsCampaignBatchNotificationDto] = None + payload: Dict[str, Object] = field(default_factory=dict) +# @Route("/{version}/code/marketplace/listings/{ListingViewId}", "GET") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetSmsCampaignBatchNotificationsResponse(ResponseBase): - batch_status_history: Optional[List[BatchStatusChangeEntryDto]] = None - list: Optional[PaginatedResponse[SmsCampaignBatchNotificationDto]] = None +class GetMarketplaceListing(CodeMashRequestBase, IReturn[GetMarketplaceListingResponse]): + # @ApiMember(Description="Listing view id (ml_…), from get_marketplace_listings.", IsRequired=true) + listing_view_id: Optional[str] = None + """ + Listing view id (ml_…), from get_marketplace_listings. + """ +# @Route("/{version}/code/marketplace/integrations/{IntegrationViewId}/test", "POST") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetSmsCampaignStatisticsResponse(ResponseBase): - stats: Optional[CampaignStatsDto] = None +class TestMarketplaceIntegration(CodeMashRequestBase, IReturn[TestMarketplaceIntegrationResponse]): + # @ApiMember(Description="Integration view id, from get_marketplace_integrations.", IsRequired=true) + integration_view_id: Optional[str] = None + """ + Integration view id, from get_marketplace_integrations. + """ +# @Route("/internal/_typegen", "GET") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class PreviewSmsNotificationResponse(ResponseBase): - body: Optional[str] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetSmsCampaignMessageResponse(ResponseBase): - sms_message_entity: Optional[SmsCampaignBatchNotificationDto] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetSmsCampaignMessagesResponse(ResponseBase): - list: Optional[PaginatedResponse[SmsCampaignBatchNotificationDto]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetMarketplaceListingResponse(ResponseBase): - listing: Optional[MarketplaceListingDto] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetMarketplaceTokensResponse(ResponseBase): - tokens: Optional[List[str]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetMarketplaceListingsResponse(ResponseBase): - list: Optional[PaginatedResponse[MarketplaceListingProjection]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetMarketplaceIntegrationResponse(ResponseBase): - integration: Optional[MarketplaceIntegrationDto] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetMarketplaceIntegrationsResponse(ResponseBase): - list: Optional[PaginatedResponse[MarketplaceIntegrationListProjection]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class EmptyMarketplaceSecretsResponse(ResponseBase): - pass - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class RevealMarketplaceIntegrationSecretsResponse(ResponseBase): - secrets: Optional[IReadOnlyDictionary[str, str]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class TestMarketplaceIntegrationResponse(ResponseBase): - items: Optional[IReadOnlyList[IntegrationTestResultItemDto]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SetMarketplaceIntegrationTokenMappingsResponse(ResponseBase): - pass - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetMarketplaceFunctionResponse(ResponseBase): - function: Optional[MarketplaceFunctionDto] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetMarketplaceFunctionsResponse(ResponseBase): - list: Optional[PaginatedResponse[MarketplaceFunctionProjection]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetMarketplaceFunctionCatalogResponse(ResponseBase): - functions: Optional[IReadOnlyList[MarketplaceFunctionDefinitionDto]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class InvokeMarketplaceFunctionResponse(ResponseBase): - is_success: bool = False - output: Optional[Object] = None - vendor_request_id: Optional[str] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetCodeIntegrationResponse(ResponseBase): - item: Optional[CodeIntegrationDto] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetCodeIntegrationsResponse(ResponseBase): - list: Optional[PaginatedResponse[CodeIntegrationListProjection]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class TestCodeIntegrationResponse(ResponseBase): - items: Optional[IReadOnlyList[IntegrationTestResultItemDto]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetPushTemplateResponse(ResponseBase): - item: Optional[PushTemplateDto] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetPushTemplatesResponse(ResponseBase): - list: Optional[PaginatedResponse[PushTemplateListProjection]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetPushMessageContentTokensResponse(ResponseBase): - tokens: Optional[Dict[str, List[str]]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class RenderPushResponse(ResponseBase): - variables: Optional[List[str]] = None - title: Optional[str] = None - body: Optional[str] = None - subtitle: Optional[str] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetPushSettingsResponse(ResponseBase): - settings: Optional[PushSettings] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetPushIntegrationResponse(ResponseBase): - item: Optional[PushIntegrationDto] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetPushIntegrationsResponse(ResponseBase): - default_integration_id: Optional[str] = None - list: Optional[PaginatedResponse[PushIntegrationListProjection]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetPushCampaignResponse(ResponseBase): - item: Optional[PushCampaignDto] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetPushCampaignsResponse(ResponseBase): - list: Optional[PaginatedResponse[PushCampaignDto]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetPushCampaignBatchesResponse(ResponseBase): - list: Optional[PaginatedResponse[PushCampaignBatchDto]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetPushCampaignBatchNotificationResponse(ResponseBase): - campaign_notification: Optional[PushCampaignBatchNotificationDto] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetPushCampaignBatchNotificationsResponse(ResponseBase): - batch_status_history: Optional[List[BatchStatusChangeEntryDto]] = None - list: Optional[PaginatedResponse[PushCampaignBatchNotificationDto]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetPushCampaignStatisticsResponse(ResponseBase): - stats: Optional[CampaignStatsDto] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PreviewPushNotificationResponse(ResponseBase): - title: Optional[str] = None - body: Optional[str] = None - subtitle: Optional[str] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetPushCampaignMessageResponse(ResponseBase): - push_message_entity: Optional[PushCampaignBatchNotificationDto] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetPushCampaignMessagesResponse(ResponseBase): - list: Optional[PaginatedResponse[PushCampaignBatchNotificationDto]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetPaymentsWebhookLogResponse(ResponseBase): - list: Optional[IReadOnlyList[PaymentsWebhookLogEntry]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetPaymentsTriggerResponse(GetTriggerResponse): - trigger: Optional[PaymentTriggerDto] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetPaymentsTriggersResponse(GetTriggersResponse): - list: Optional[PaginatedResponse[PaymentTriggerProjectionList]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetPaymentsIntegrationResponse(ResponseBase): - item: Optional[PaymentsIntegrationDto] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetPaymentsIntegrationsResponse(ResponseBase): - list: Optional[PaginatedResponse[PaymentsIntegrationListProjection]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class TestPaymentsIntegrationResponse(ResponseBase): - items: Optional[IReadOnlyList[IntegrationTestResultItemDto]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetLoggingIntegrationResponse(ResponseBase): - item: Optional[LoggingIntegrationDto] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetLoggingIntegrationsResponse(ResponseBase): - list: Optional[PaginatedResponse[LoggingIntegrationListProjection]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class TestLoggingIntegrationResponse(ResponseBase): - items: Optional[IReadOnlyList[IntegrationTestResultItemDto]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class CleanLogsResponse(ResponseBase): - pass - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetLogsByCorrelationIdResponse(ResponseBase): - items: Optional[IReadOnlyList[TenantLogEntryDto]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetLogsResponse(ResponseBase): - list: Optional[PaginatedResponse[TenantLogEntryDto]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetLogSettingsResponse(ResponseBase): - skip_cloud_dashboard_logs: bool = False - skip_http_body_meta: bool = False - ai_chat_logging_enabled: bool = False - has_norbix_logging: bool = False - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SaveLogSettingsResponse(ResponseBase): - pass - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetAiToolsResponse(ResponseBase): - tools: Optional[List[AiToolManifestItem]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class InvokeAiToolResponse(ResponseBase): - result: Optional[str] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class AskChatResponse(ResponseBase): - result: Optional[str] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class UploadChatAttachmentResponse(ResponseBase): - id: Optional[str] = None - session_id: Optional[str] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class ChatAvailabilityResponse(ResponseBase): - available: bool = False - reason: Optional[str] = None - profiles: Optional[List[str]] = None - models: Optional[List[ChatModelOption]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetChatMemoryResponse(ResponseBase): - notes: Optional[List[ChatMemoryNote]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetChatSessionsResponse(ResponseBase): - sessions: Optional[List[ChatSessionListItem]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetChatSessionEntriesResponse(ResponseBase): - session_id: Optional[str] = None - profile: Optional[str] = None - project_id: Optional[str] = None - env: Optional[str] = None - entries: Optional[List[AiChatEntryWireDto]] = None - last_seq: int = 0 - active_work_item_ids: Optional[List[str]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class ChatTurnResponse(ResponseBase): - session_id: Optional[str] = None - reply: Optional[str] = None - screen_patch: Optional[ChatScreenContextDto] = None - tool_trace: Optional[List[str]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetProjectBriefResponse(ResponseBase): - project_id: Optional[str] = None - snapshot: Optional[ProjectBriefSnapshotWireDto] = None - events: Optional[List[ProjectBriefEventWireDto]] = None - last_seq: int = 0 - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetWorkItemsResponse(ResponseBase): - project_id: Optional[str] = None - work_items: Optional[List[WorkItemWireDto]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetWorkItemResponse(ResponseBase): - work_item: Optional[WorkItemWireDto] = None - plans: Optional[List[AiChatEntryWireDto]] = None - steps: Optional[List[AiChatEntryWireDto]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class ExportWorkItemResponse(ResponseBase): - work_item_id: Optional[str] = None - markdown: Optional[str] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetLlmIntegrationResponse(ResponseBase): - item: Optional[LlmIntegrationDto] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetLlmIntegrationsResponse(ResponseBase): - default_integration_id: Optional[str] = None - list: Optional[PaginatedResponse[LlmIntegrationListProjection]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class TestLlmIntegrationResponse(ResponseBase): - items: Optional[IReadOnlyList[IntegrationTestResultItemDto]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetMcpIntegrationResponse(ResponseBase): - item: Optional[McpIntegrationDto] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetMcpIntegrationsResponse(ResponseBase): - default_integration_id: Optional[str] = None - list: Optional[PaginatedResponse[McpIntegrationListProjection]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetWebhookIntegrationResponse(ResponseBase): - item: Optional[WebhookIntegrationDto] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class RevealWebhookIntegrationSecretResponse(ResponseBase): - signing_secret: Optional[str] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class RotateWebhookIntegrationSecretResponse(ResponseBase): - signing_secret: Optional[str] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class HttpResult: - response_text: Optional[str] = None - response_stream: Optional[bytes] = None - file_info: Optional[FileInfo] = None - virtual_file: Optional[IVirtualFile] = None - content_type: Optional[str] = None - headers: Optional[Dict[str, str]] = None - cookies: Optional[List[Cookie]] = None - e_tag: Optional[str] = None - age: Optional[datetime.timedelta] = None - max_age: Optional[datetime.timedelta] = None - expires: Optional[datetime.datetime] = None - last_modified: Optional[datetime.datetime] = None - cache_control: Optional[CacheControl] = None - result_scope: Optional[Func[IDisposable]] = None - allows_partial_response: bool = False - options: Optional[Dict[str, str]] = None - status: int = 0 - status_code: Optional[HttpStatusCode] = None - status_description: Optional[str] = None - response: Optional[Object] = None - response_filter: Optional[IContentTypeWriter] = None - request_context: Optional[IRequest] = None - view: Optional[str] = None - template: Optional[str] = None - padding_length: int = 0 - is_partial_request: bool = False - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SaveWebhookDestinationResponse(ResponseBase): - destination_id: Optional[str] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetSchedulerTaskResponse(ResponseBase): - item: Optional[SchedulerTaskDto] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetSchedulerTasksResponse(ResponseBase): - list: Optional[PaginatedResponse[SchedulerTaskListProjection]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class ResolveResourcesResponse(ResponseBase): - resolved: Optional[IReadOnlyList[ResolvedResourceEntry]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetContactResponse(ResponseBase): - item: Optional[UserDto] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetAllContactsResponse(ResponseBase): - items: Optional[IReadOnlyList[UserDto]] = None - next_cursor: Optional[str] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetComplianceSettingsResponse(ResponseBase): - settings: Optional[ProjectComplianceDto] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetLegalHoldsResponse(ResponseBase): - holds: List[LegalHoldDto] = field(default_factory=list) - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetDsarRequestsResponse(ResponseBase): - requests: List[DsarRequestDto] = field(default_factory=list) - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetComplianceAuditLogResponse(ResponseBase): - entries: List[ComplianceAuditEntryDto] = field(default_factory=list) - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetAccountComplianceResponse(ResponseBase): - settings: Optional[AccountComplianceDto] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetSupportCaseResponse(ResponseBase): - result: Optional[SupportCaseDetailDto] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetSupportCasesResponse(ResponseBase): - list: Optional[PaginatedResponse[SupportCaseListProjection]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetDiagnosticPacksResponse(ResponseBase): - packs: Optional[List[DiagnosticPackDescriptorDto]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class RunDiagnosticPackResponse(ResponseBase): - result: Optional[DiagnosticPackRunResultDto] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetDiagnosticEchoResponse(ResponseBase): - result: Optional[DiagnosticEchoDto] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class ReadDiagnosticEventsResponse(ResponseBase): - result: Optional[DiagnosticEventsPageDto] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class QueryDiagnosticLogsResponse(ResponseBase): - result: Optional[DiagnosticLogsResponse] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class InspectDiagnosticRedisResponse(ResponseBase): - result: Optional[DiagnosticRedisInspectDto] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class RunDiagnosticHealthCheckResponse(ResponseBase): - result: Optional[DiagnosticHealthCheckDto] = None - - -# @Route("/{version}/code/enable", "GET") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class EnableCode(CodeMashRequestBase, IReturn[EmptyResponse]): - pass - - -# @Route("/{version}/code/disable", "GET") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class DisableCode(CodeMashRequestBase, IReturn[EmptyResponse]): - pass - - -# @Route("/{version}/code/integrations", "GET") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetCodeIntegrations(CodeMashListPaginationRequestBase, IReturn[GetCodeIntegrationsResponse]): - pass - - -# @Route("/{version}/code/integrations/{id}", "GET") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetCodeIntegration(CodeMashRequestBase, IReturn[GetCodeIntegrationResponse]): - # @ApiMember(Description="Integration id, from get_code_integrations.", IsRequired=true) - id: Optional[str] = None - """ - Integration id, from get_code_integrations. - """ - - -# @Route("/{version}/code/integrations", "POST") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SaveCodeIntegration(CodeMashRequestBase, IReturn[IdResponse]): - integration: Optional[CodeIntegrationRequest] = None - - -# @Route("/{version}/code/integrations/test", "POST") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class TestCodeIntegration(CodeMashRequestBase, IReturn[TestCodeIntegrationResponse]): - # @ApiMember(Description="Integration id, from get_code_integrations.", IsRequired=true) - integration_id: Optional[str] = None - """ - Integration id, from get_code_integrations. - """ - - -# @Route("/{version}/code/integrations/confirm-human-delivery", "POST") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class ConfirmCodeIntegrationHumanDeliveryRequest(CodeMashRequestBase, IReturn[EmptyResponse]): - # @ApiMember(Description="Integration id, from get_code_integrations.", IsRequired=true) - integration_id: Optional[str] = None - """ - Integration id, from get_code_integrations. - """ - - -# @Route("/{version}/code/integrations/{Id}/default", "PUT") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SetCodeIntegrationAsDefault(CodeMashRequestBase, IReturn[EmptyResponse]): - # @ApiMember(Description="Integration id, from get_code_integrations.", IsRequired=true) - id: Optional[str] = None - """ - Integration id, from get_code_integrations. - """ - - -# @Route("/{version}/code/integrations/{Id}", "DELETE") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class DeleteCodeIntegrationRequest(CodeMashRequestBase, IReturn[EmptyResponse]): - # @ApiMember(Description="Integration id, from get_code_integrations.", IsRequired=true) - id: Optional[str] = None - """ - Integration id, from get_code_integrations. - """ - - -# @Route("/{version}/code/integrations/{Id}/enable", "PUT") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class EnableCodeIntegrationRequest(CodeMashRequestBase, IReturn[EmptyResponse]): - # @ApiMember(Description="Integration id, from get_code_integrations.", IsRequired=true) - id: Optional[str] = None - """ - Integration id, from get_code_integrations. - """ - - -# @Route("/{version}/code/integrations/{Id}/disable", "PUT") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class DisableCodeIntegrationRequest(CodeMashRequestBase, IReturn[EmptyResponse]): - # @ApiMember(Description="Integration id, from get_code_integrations.", IsRequired=true) - id: Optional[str] = None - """ - Integration id, from get_code_integrations. - """ - - -# @Route("/{version}/code/marketplace/listings", "GET") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetMarketplaceListings(CodeMashListPaginationRequestBase, IReturn[GetMarketplaceListingsResponse]): - # @ApiMember(Description="Filter by one or more categories (Crm, Erp, Communication, etc.).") - categories: Optional[List[MarketplaceCategory]] = None - """ - Filter by one or more categories (Crm, Erp, Communication, etc.). - """ - - - # @ApiMember(Description="Filter by transport (Mcp, Rest, Code).") - transports: Optional[List[MarketplaceTransport]] = None - """ - Filter by transport (Mcp, Rest, Code). - """ - - - # @ApiMember(Description="Free-text search over the listing's display name, vendor, and description.") - search: Optional[str] = None - """ - Free-text search over the listing's display name, vendor, and description. - """ - - - # @ApiMember(Description="If true, return only listings curated and verified by Norbix.") - official_only: Optional[bool] = None - """ - If true, return only listings curated and verified by Norbix. - """ - - - # @ApiMember(Description="Filter by curated tag slugs (e.g. ai-llm, messaging, crm). Matches listings carrying any of the given tags.") - tags: Optional[List[str]] = None - """ - Filter by curated tag slugs (e.g. ai-llm, messaging, crm). Matches listings carrying any of the given tags. - """ - - -# @Route("/{version}/code/marketplace/listings/{ListingViewId}/functions/{FunctionKey}/tokens", "GET") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetMarketplaceListingFunctionTokens(CodeMashRequestBase, IReturn[GetMarketplaceTokensResponse]): - # @ApiMember(Description="Marketplace listing view id, from get_marketplace_listings.", IsRequired=true) - listing_view_id: Optional[str] = None - """ - Marketplace listing view id, from get_marketplace_listings. - """ - - - # @ApiMember(Description="Function key on the listing, from get_marketplace_listings.", IsRequired=true) - function_key: Optional[str] = None - """ - Function key on the listing, from get_marketplace_listings. - """ - - -# @Route("/{version}/code/marketplace/integrations", "GET") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetMarketplaceIntegrations(CodeMashListPaginationRequestBase, IReturn[GetMarketplaceIntegrationsResponse]): - pass - - -# @Route("/{version}/code/marketplace/integrations/{IntegrationViewId}", "GET") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetMarketplaceIntegration(CodeMashRequestBase, IReturn[GetMarketplaceIntegrationResponse]): - # @ApiMember(Description="Integration view id, from get_marketplace_integrations.", IsRequired=true) - integration_view_id: Optional[str] = None - """ - Integration view id, from get_marketplace_integrations. - """ - - -# @Route("/{version}/code/marketplace/integrations", "POST") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SaveMarketplaceIntegration(CodeMashRequestBase, IReturn[IdResponse]): - # @ApiMember(Description="The marketplace integration to install, from a get_marketplace_listings entry.", IsRequired=true) - integration: Optional[MarketplaceIntegrationDto] = None - """ - The marketplace integration to install, from a get_marketplace_listings entry. - """ - - - secrets: Dict[str, str] = field(default_factory=dict) - - -# @Route("/{version}/code/marketplace/integrations/{IntegrationViewId}", "DELETE") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class DeleteMarketplaceIntegration(CodeMashRequestBase, IReturn[IdResponse]): - # @ApiMember(Description="Integration view id, from get_marketplace_integrations.", IsRequired=true) - integration_view_id: Optional[str] = None - """ - Integration view id, from get_marketplace_integrations. - """ - - -# @Route("/{version}/code/marketplace/integrations/{IntegrationViewId}/enable", "POST") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class EnableMarketplaceIntegration(CodeMashRequestBase): - # @ApiMember(Description="Integration view id, from get_marketplace_integrations.", IsRequired=true) - integration_view_id: Optional[str] = None - """ - Integration view id, from get_marketplace_integrations. - """ - - -# @Route("/{version}/code/marketplace/integrations/{IntegrationViewId}/disable", "POST") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class DisableMarketplaceIntegration(CodeMashRequestBase): - # @ApiMember(Description="Integration view id, from get_marketplace_integrations.", IsRequired=true) - integration_view_id: Optional[str] = None - """ - Integration view id, from get_marketplace_integrations. - """ - - -# @Route("/{version}/code/marketplace/integrations/{IntegrationViewId}/functions", "GET") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetMarketplaceFunctions(CodeMashListPaginationRequestBase, IReturn[GetMarketplaceFunctionsResponse]): - # @ApiMember(Description="Integration view id, from get_marketplace_integrations.", IsRequired=true) - integration_view_id: Optional[str] = None - """ - Integration view id, from get_marketplace_integrations. - """ - - -# @Route("/{version}/code/marketplace/integrations/{IntegrationViewId}/functions/{FunctionViewId}", "GET") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetMarketplaceFunction(CodeMashRequestBase, IReturn[GetMarketplaceFunctionResponse]): - # @ApiMember(Description="Integration view id, from get_marketplace_integrations.", IsRequired=true) - integration_view_id: Optional[str] = None - """ - Integration view id, from get_marketplace_integrations. - """ - - - # @ApiMember(Description="Function view id, from get_marketplace_functions.", IsRequired=true) - function_view_id: Optional[str] = None - """ - Function view id, from get_marketplace_functions. - """ - - -# @Route("/{version}/code/marketplace/integrations/{IntegrationViewId}/functions", "POST") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SaveMarketplaceFunction(CodeMashRequestBase): - # @ApiMember(Description="Integration view id, from get_marketplace_integrations.", IsRequired=true) - integration_view_id: Optional[str] = None - """ - Integration view id, from get_marketplace_integrations. - """ - - - # @ApiMember(Description="The function to create: functionKey, displayName, description, and one mapping per vendor function parameter.", IsRequired=true) - function: Optional[MarketplaceFunctionDto] = None - """ - The function to create: functionKey, displayName, description, and one mapping per vendor function parameter. - """ - - -# @Route("/{version}/code/marketplace/integrations/{IntegrationViewId}/functions/{FunctionViewId}", "DELETE") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class DeleteMarketplaceFunction(CodeMashRequestBase): - # @ApiMember(Description="Integration view id, from get_marketplace_integrations.", IsRequired=true) - integration_view_id: Optional[str] = None - """ - Integration view id, from get_marketplace_integrations. - """ - - - # @ApiMember(Description="Function view id, from get_marketplace_functions.", IsRequired=true) - function_view_id: Optional[str] = None - """ - Function view id, from get_marketplace_functions. - """ - - -# @Route("/{version}/code/marketplace/integrations/{IntegrationViewId}/functions/{FunctionViewId}/enable", "POST") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class EnableMarketplaceFunction(CodeMashRequestBase): - # @ApiMember(Description="Integration view id, from get_marketplace_integrations.", IsRequired=true) - integration_view_id: Optional[str] = None - """ - Integration view id, from get_marketplace_integrations. - """ - - - # @ApiMember(Description="Function view id, from get_marketplace_functions.", IsRequired=true) - function_view_id: Optional[str] = None - """ - Function view id, from get_marketplace_functions. - """ - - -# @Route("/{version}/code/marketplace/integrations/{IntegrationViewId}/functions/{FunctionViewId}/disable", "POST") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class DisableMarketplaceFunction(CodeMashRequestBase): - # @ApiMember(Description="Integration view id, from get_marketplace_integrations.", IsRequired=true) - integration_view_id: Optional[str] = None - """ - Integration view id, from get_marketplace_integrations. - """ - - - # @ApiMember(Description="Function view id, from get_marketplace_functions.", IsRequired=true) - function_view_id: Optional[str] = None - """ - Function view id, from get_marketplace_functions. - """ - - -# @Route("/{version}/code/marketplace/integrations/{IntegrationViewId}/functions/{FunctionViewId}/tokens", "GET") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetMarketplaceFunctionTokens(CodeMashRequestBase, IReturn[GetMarketplaceTokensResponse]): - # @ApiMember(Description="Integration view id, from get_marketplace_integrations.", IsRequired=true) - integration_view_id: Optional[str] = None - """ - Integration view id, from get_marketplace_integrations. - """ - - - # @ApiMember(Description="Function view id, from get_marketplace_functions.", IsRequired=true) - function_view_id: Optional[str] = None - """ - Function view id, from get_marketplace_functions. - """ - - -# @Route("/{version}/code/marketplace/functions/{FunctionViewId}/invoke", "POST") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class InvokeMarketplaceFunction(CodeMashRequestBase, IReturn[InvokeMarketplaceFunctionResponse]): - # @ApiMember(Description="Function view id (func_…), from get_marketplace_functions.", IsRequired=true) - function_view_id: Optional[str] = None - """ - Function view id (func_…), from get_marketplace_functions. - """ - - - payload: Dict[str, Object] = field(default_factory=dict) - - -# @Route("/{version}/code/marketplace/listings/{ListingViewId}", "GET") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetMarketplaceListing(CodeMashRequestBase, IReturn[GetMarketplaceListingResponse]): - # @ApiMember(Description="Listing view id (ml_…), from get_marketplace_listings.", IsRequired=true) - listing_view_id: Optional[str] = None - """ - Listing view id (ml_…), from get_marketplace_listings. - """ - - -# @Route("/{version}/code/marketplace/integrations/{IntegrationViewId}/test", "POST") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class TestMarketplaceIntegration(CodeMashRequestBase, IReturn[TestMarketplaceIntegrationResponse]): - # @ApiMember(Description="Integration view id, from get_marketplace_integrations.", IsRequired=true) - integration_view_id: Optional[str] = None - """ - Integration view id, from get_marketplace_integrations. - """ - - -# @Route("/internal/_typegen", "GET") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class InternalsTypeGen: - typegen_0__smtp_email_integration_request: Optional[SmtpEmailIntegrationRequest] = None - typegen_1__aws_ses_email_integration_request: Optional[AwsSesEmailIntegrationRequest] = None - typegen_2__send_grid_email_integration_request: Optional[SendGridEmailIntegrationRequest] = None - typegen_3__mail_gun_email_integration_request: Optional[MailGunEmailIntegrationRequest] = None - typegen_4__email_to_all_users_delivery_settings_request: Optional[EmailToAllUsersDeliverySettingsRequest] = None - typegen_5__email_to_account_users_delivery_settings_request: Optional[EmailToAccountUsersDeliverySettingsRequest] = None - typegen_6__email_to_collection_records_delivery_settings_request: Optional[EmailToCollectionRecordsDeliverySettingsRequest] = None - typegen_7__email_to_emails_delivery_settings_request: Optional[EmailToEmailsDeliverySettingsRequest] = None - typegen_8__email_to_users_delivery_settings_request: Optional[EmailToUsersDeliverySettingsRequest] = None - typegen_9__membership_trigger_request: Optional[MembershipTriggerRequest] = None - typegen_10__schema_trigger_request: Optional[SchemaTriggerRequest] = None - typegen_11__files_trigger_request: Optional[FilesTriggerRequest] = None - typegen_12__payment_trigger_request: Optional[PaymentTriggerRequest] = None - typegen_15__mongo_db_connection_string_database_integration_request: Optional[MongoDbConnectionStringDatabaseIntegrationRequest] = None - typegen_16__mongo_db_atlas_flex_managed_database_integration_request: Optional[MongoDbAtlasFlexManagedDatabaseIntegrationRequest] = None - typegen_16__google_drive_files_integration_request: Optional[GoogleDriveFilesIntegrationRequest] = None - typegen_17__ftp_files_integration_request: Optional[FtpFilesIntegrationRequest] = None - typegen_18__drop_box_files_integration_request: Optional[DropBoxFilesIntegrationRequest] = None - typegen_19__apple_i_cloud_files_integration_request: Optional[AppleICloudFilesIntegrationRequest] = None - typegen_20__aws_s3_files_integration_request: Optional[AwsS3FilesIntegrationRequest] = None - typegen_21__google_cloud_files_integration_request: Optional[GoogleCloudFilesIntegrationRequest] = None - typegen_22__azure_blob_files_integration_request: Optional[AzureBlobFilesIntegrationRequest] = None - typegen_23__local_files_integration_request: Optional[LocalFilesIntegrationRequest] = None - typegen_24__amqp_logging_integration_request: Optional[AmqpLoggingIntegrationRequest] = None - typegen_25__aws_kinesis_logging_integration_request: Optional[AwsKinesisLoggingIntegrationRequest] = None - typegen_26__aws_s3_logging_integration_request: Optional[AwsS3LoggingIntegrationRequest] = None - typegen_28__new_relic_logging_integration_request: Optional[NewRelicLoggingIntegrationRequest] = None - typegen_30__mongo_db_logging_integration_request: Optional[MongoDbLoggingIntegrationRequest] = None - typegen_31__kafka_logging_integration_request: Optional[KafkaLoggingIntegrationRequest] = None - typegen_32__prometheus_logging_integration_request: Optional[PrometheusLoggingIntegrationRequest] = None - typegen_33__data_dog_logging_integration_request: Optional[DataDogLoggingIntegrationRequest] = None - typegen_34__internal_kafka_logging_integration_request: Optional[InternalKafkaLoggingIntegrationRequest] = None - typegen_35__elastic_search_logging_integration_request: Optional[ElasticSearchLoggingIntegrationRequest] = None - typegen_37__splunk_logging_integration_request: Optional[SplunkLoggingIntegrationRequest] = None - typegen_38__azure_otel_logging_integration_request: Optional[AzureOtelLoggingIntegrationRequest] = None - typegen_39__kibana_logging_integration_request: Optional[KibanaLoggingIntegrationRequest] = None - typegen_40__local_file_logging_integration_request: Optional[LocalFileLoggingIntegrationRequest] = None - typegen_41__okta_membership_integration_request: Optional[OktaMembershipIntegrationRequest] = None - typegen_42__x_membership_integration_request: Optional[XMembershipIntegrationRequest] = None - typegen_43__google_membership_integration_request: Optional[GoogleMembershipIntegrationRequest] = None - typegen_44__microsoft_membership_integration_request: Optional[MicrosoftMembershipIntegrationRequest] = None - typegen_45__git_hub_membership_integration_request: Optional[GitHubMembershipIntegrationRequest] = None - typegen_46__meta_membership_integration_request: Optional[MetaMembershipIntegrationRequest] = None - typegen_47__apple_membership_integration_request: Optional[AppleMembershipIntegrationRequest] = None - typegen_48__lemon_squeezy_payment_integration_request: Optional[LemonSqueezyPaymentIntegrationRequest] = None - typegen_49__adyen_payment_integration_request: Optional[AdyenPaymentIntegrationRequest] = None - typegen_50__mollie_payment_integration_request: Optional[MolliePaymentIntegrationRequest] = None - typegen_51__paddle_payment_integration_request: Optional[PaddlePaymentIntegrationRequest] = None - typegen_52__pay_pal_payment_integration_request: Optional[PayPalPaymentIntegrationRequest] = None - typegen_53__stripe_payment_integration_request: Optional[StripePaymentIntegrationRequest] = None - typegen_54__apple_in_app_payment_integration_request: Optional[AppleInAppPaymentIntegrationRequest] = None - typegen_55__google_in_app_payment_integration_request: Optional[GoogleInAppPaymentIntegrationRequest] = None - typegen_56__edge_web_push_integration_request: Optional[EdgeWebPushIntegrationRequest] = None - typegen_57__chrome_plugin_push_integration_request: Optional[ChromePluginPushIntegrationRequest] = None - typegen_58__safari_push_integration_request: Optional[SafariPushIntegrationRequest] = None - typegen_59__chrome_web_push_integration_request: Optional[ChromeWebPushIntegrationRequest] = None - typegen_60__firefox_web_push_integration_request: Optional[FirefoxWebPushIntegrationRequest] = None - typegen_61__android_firebase_push_integration_request: Optional[AndroidFirebasePushIntegrationRequest] = None - typegen_62__apple_apns_push_integration_request: Optional[AppleApnsPushIntegrationRequest] = None - typegen_65__aws_lambda_code_integration_request: Optional[AwsLambdaCodeIntegrationRequest] = None - typegen_66__azure_functions_code_integration_request: Optional[AzureFunctionsCodeIntegrationRequest] = None - typegen_67__google_cloud_functions_code_integration_request: Optional[GoogleCloudFunctionsCodeIntegrationRequest] = None - typegen_68__ollama_llm_integration_request: Optional[OllamaLlmIntegrationRequest] = None - typegen_69__open_router_llm_integration_request: Optional[OpenRouterLlmIntegrationRequest] = None - typegen_70__mistral_llm_integration_request: Optional[MistralLlmIntegrationRequest] = None - typegen_71__grok_llm_integration_request: Optional[GrokLlmIntegrationRequest] = None - typegen_72__groq_llm_integration_request: Optional[GroqLlmIntegrationRequest] = None - typegen_73__google_llm_integration_request: Optional[GoogleLlmIntegrationRequest] = None - typegen_74__anthropic_llm_integration_request: Optional[AnthropicLlmIntegrationRequest] = None - typegen_75__open_ai_llm_integration_request: Optional[OpenAiLlmIntegrationRequest] = None - typegen_76__playwright_mcp_integration_request: Optional[PlaywrightMcpIntegrationRequest] = None - typegen_77__mongo_db_mcp_integration_request: Optional[MongoDbMcpIntegrationRequest] = None - typegen_78__git_hub_mcp_integration_request: Optional[GitHubMcpIntegrationRequest] = None - typegen_79__stripe_mcp_integration_request: Optional[StripeMcpIntegrationRequest] = None - typegen_80__brave_search_mcp_integration_request: Optional[BraveSearchMcpIntegrationRequest] = None - typegen_81__obsidian_mcp_integration_request: Optional[ObsidianMcpIntegrationRequest] = None - typegen_82__email_template_dto: Optional[EmailTemplateDto] = None - typegen_83__push_template_dto: Optional[PushTemplateDto] = None - typegen_84__sms_template_dto: Optional[SmsTemplateDto] = None - typegen_85__system_email_template_dto: Optional[SystemEmailTemplateDto] = None - typegen_86__trigger_action_email_dto: Optional[TriggerActionEmailDto] = None - typegen_87__trigger_action_push_dto: Optional[TriggerActionPushDto] = None - typegen_88__trigger_action_code_dto: Optional[TriggerActionCodeDto] = None - typegen_89__trigger_action_webhook_dto: Optional[TriggerActionWebhookDto] = None - typegen_236__trigger_action_sms_dto: Optional[TriggerActionSmsDto] = None - typegen_237__trigger_action_sse_dto: Optional[TriggerActionSseDto] = None - typegen_238__trigger_action_marketplace_dto: Optional[TriggerActionMarketplaceDto] = None - typegen_239__sse_delivery_settings_dto: Optional[SseDeliverySettingsDto] = None - typegen_240__get_triggers: Optional[GetTriggers] = None - typegen_241__get_triggers_response: Optional[GetTriggersResponse] = None - typegen_90__email_to_all_users_delivery_settings_dto: Optional[EmailToAllUsersDeliverySettingsDto] = None - typegen_91__email_to_account_users_delivery_settings_dto: Optional[EmailToAccountUsersDeliverySettingsDto] = None - typegen_92__email_to_users_delivery_settings_dto: Optional[EmailToUsersDeliverySettingsDto] = None - typegen_93__email_to_email_addresses_delivery_settings_dto: Optional[EmailToEmailAddressesDeliverySettingsDto] = None - typegen_94__email_to_collection_records_delivery_settings_dto: Optional[EmailToCollectionRecordsDeliverySettingsDto] = None - typegen_95__push_to_all_users_delivery_settings_dto: Optional[PushToAllUsersDeliverySettingsDto] = None - typegen_96__push_to_users_delivery_settings_dto: Optional[PushToUsersDeliverySettingsDto] = None - typegen_229__push_to_account_users_delivery_settings_dto: Optional[PushToAccountUsersDeliverySettingsDto] = None - typegen_97__push_to_collection_records_delivery_settings_dto: Optional[PushToCollectionRecordsDeliverySettingsDto] = None - typegen_98__push_to_devices_delivery_settings_dto: Optional[PushToDevicesDeliverySettingsDto] = None - typegen_99__sms_to_all_users_delivery_settings_dto: Optional[SmsToAllUsersDeliverySettingsDto] = None - typegen_100__sms_to_users_delivery_settings_dto: Optional[SmsToUsersDeliverySettingsDto] = None - typegen_101__sms_to_collection_records_delivery_settings_dto: Optional[SmsToCollectionRecordsDeliverySettingsDto] = None - typegen_102__sms_to_phone_numbers_delivery_settings_dto: Optional[SmsToPhoneNumbersDeliverySettingsDto] = None - typegen_103__open_ai_llm_integration_dto: Optional[OpenAiLlmIntegrationDto] = None - typegen_104__anthropic_llm_integration_dto: Optional[AnthropicLlmIntegrationDto] = None - typegen_105__ollama_llm_integration_dto: Optional[OllamaLlmIntegrationDto] = None - typegen_106__groq_llm_integration_dto: Optional[GroqLlmIntegrationDto] = None - typegen_107__google_llm_integration_dto: Optional[GoogleLlmIntegrationDto] = None - typegen_108__mistral_llm_integration_dto: Optional[MistralLlmIntegrationDto] = None - typegen_109__open_router_llm_integration_dto: Optional[OpenRouterLlmIntegrationDto] = None - typegen_110__grok_llm_integration_dto: Optional[GrokLlmIntegrationDto] = None - typegen_111__docker_mcp_integration_dto: Optional[DockerMcpIntegrationDto] = None - typegen_112__google_calendar_mcp_integration_dto: Optional[GoogleCalendarMcpIntegrationDto] = None - typegen_113__obsidian_mcp_integration_dto: Optional[ObsidianMcpIntegrationDto] = None - typegen_114__aws_lambda_cross_account_role_code_integration_dto: Optional[AwsLambdaCrossAccountRoleCodeIntegrationDto] = None - typegen_115__aws_lambda_iam_code_integration_dto: Optional[AwsLambdaIamCodeIntegrationDto] = None - typegen_116__azure_functions_code_integration_dto: Optional[AzureFunctionsCodeIntegrationDto] = None - typegen_118__google_cloud_functions_code_integration_dto: Optional[GoogleCloudFunctionsCodeIntegrationDto] = None - typegen_120__adyen_payment_integration_dto: Optional[AdyenPaymentIntegrationDto] = None - typegen_121__apple_in_app_payment_integration_dto: Optional[AppleInAppPaymentIntegrationDto] = None - typegen_122__google_in_app_payment_integration_dto: Optional[GoogleInAppPaymentIntegrationDto] = None - typegen_123__lemon_squeezy_payment_integration_dto: Optional[LemonSqueezyPaymentIntegrationDto] = None - typegen_124__mollie_payment_integration_dto: Optional[MolliePaymentIntegrationDto] = None - typegen_125__paddle_payment_integration_dto: Optional[PaddlePaymentIntegrationDto] = None - typegen_126__pay_pal_payment_integration_dto: Optional[PayPalPaymentIntegrationDto] = None - typegen_127__stripe_payment_integration_dto: Optional[StripePaymentIntegrationDto] = None - typegen_184__shopify_payment_integration_dto: Optional[ShopifyPaymentIntegrationDto] = None - typegen_185__woo_commerce_payment_integration_dto: Optional[WooCommercePaymentIntegrationDto] = None - typegen_186__magento_payment_integration_dto: Optional[MagentoPaymentIntegrationDto] = None - typegen_187__braintree_payment_integration_dto: Optional[BraintreePaymentIntegrationDto] = None - typegen_188__authorize_net_payment_integration_dto: Optional[AuthorizeNetPaymentIntegrationDto] = None - typegen_189__check_out_com_payment_integration_dto: Optional[CheckOutComPaymentIntegrationDto] = None - typegen_190__worldpay_payment_integration_dto: Optional[WorldpayPaymentIntegrationDto] = None - typegen_128__apple_sign_in_membership_integration_dto: Optional[AppleSignInMembershipIntegrationDto] = None - typegen_129__git_hub_membership_integration_dto: Optional[GitHubMembershipIntegrationDto] = None - typegen_130__google_membership_integration_dto: Optional[GoogleMembershipIntegrationDto] = None - typegen_131__meta_membership_integration_dto: Optional[MetaMembershipIntegrationDto] = None - typegen_132__microsoft_membership_integration_dto: Optional[MicrosoftMembershipIntegrationDto] = None - typegen_133__okta_membership_integration_dto: Optional[OktaMembershipIntegrationDto] = None - typegen_134__x_membership_integration_dto: Optional[XMembershipIntegrationDto] = None - typegen_135__amqp_logging_integration_dto: Optional[AmqpLoggingIntegrationDto] = None - typegen_136__aws_kinesis_logging_integration_dto: Optional[AwsKinesisLoggingIntegrationDto] = None - typegen_137__aws_s3_cross_account_role_logging_integration_dto: Optional[AwsS3CrossAccountRoleLoggingIntegrationDto] = None - typegen_138__aws_s3_iam_logging_integration_dto: Optional[AwsS3IamLoggingIntegrationDto] = None - typegen_139__azure_otel_logging_integration_dto: Optional[AzureOtelLoggingIntegrationDto] = None - typegen_140__data_dog_logging_integration_dto: Optional[DataDogLoggingIntegrationDto] = None - typegen_141__elastic_search_logging_integration_dto: Optional[ElasticSearchLoggingIntegrationDto] = None - typegen_142__internal_kafka_logging_integration_dto: Optional[InternalKafkaLoggingIntegrationDto] = None - typegen_143__kafka_logging_integration_dto: Optional[KafkaLoggingIntegrationDto] = None - typegen_144__kibana_logging_integration_dto: Optional[KibanaLoggingIntegrationDto] = None - typegen_145__local_file_logging_integration_dto: Optional[LocalFileLoggingIntegrationDto] = None - typegen_147__mongo_db_logging_integration_dto: Optional[MongoDbLoggingIntegrationDto] = None - typegen_148__new_relic_logging_integration_dto: Optional[NewRelicLoggingIntegrationDto] = None - typegen_149__prometheus_logging_integration_dto: Optional[PrometheusLoggingIntegrationDto] = None - typegen_150__splunk_logging_integration_dto: Optional[SplunkLoggingIntegrationDto] = None - typegen_153__apple_i_cloud_files_integration_dto: Optional[AppleICloudFilesIntegrationDto] = None - typegen_154__aws_s3_cross_account_role_files_integration_dto: Optional[AwsS3CrossAccountRoleFilesIntegrationDto] = None - typegen_155__aws_s3_iam_files_integration_dto: Optional[AwsS3IamFilesIntegrationDto] = None - typegen_156__azure_blob_files_integration_dto: Optional[AzureBlobFilesIntegrationDto] = None - typegen_157__drop_box_files_integration_dto: Optional[DropBoxFilesIntegrationDto] = None - typegen_158__ftp_files_integration_dto: Optional[FtpFilesIntegrationDto] = None - typegen_159__google_cloud_files_integration_dto: Optional[GoogleCloudFilesIntegrationDto] = None - typegen_160__google_drive_files_integration_dto: Optional[GoogleDriveFilesIntegrationDto] = None - typegen_161__local_files_integration_dto: Optional[LocalFilesIntegrationDto] = None - typegen_164__mongo_db_connection_string_integration_dto: Optional[MongoDbConnectionStringIntegrationDto] = None - typegen_165__mongo_db_atlas_flex_managed_integration_dto: Optional[MongoDbAtlasFlexManagedIntegrationDto] = None - typegen_165__bird_sms_integration_dto: Optional[BirdSmsIntegrationDto] = None - typegen_166__plivo_sms_integration_dto: Optional[PlivoSmsIntegrationDto] = None - typegen_167__sinch_sms_integration_dto: Optional[SinchSmsIntegrationDto] = None - typegen_168__telesign_sms_integration_dto: Optional[TelesignSmsIntegrationDto] = None - typegen_169__telnyx_sms_integration_dto: Optional[TelnyxSmsIntegrationDto] = None - typegen_170__twilio_sms_integration_dto: Optional[TwilioSmsIntegrationDto] = None - typegen_171__vonage_sms_integration_dto: Optional[VonageSmsIntegrationDto] = None - typegen_172__android_firebase_push_integration_dto: Optional[AndroidFirebasePushIntegrationDto] = None - typegen_173__apple_apns_push_integration_dto: Optional[AppleApnsPushIntegrationDto] = None - typegen_174__chrome_plugin_push_integration_dto: Optional[ChromePluginPushIntegrationDto] = None - typegen_175__chrome_web_push_integration_dto: Optional[ChromeWebPushIntegrationDto] = None - typegen_176__edge_web_push_integration_dto: Optional[EdgeWebPushIntegrationDto] = None - typegen_177__firefox_web_push_integration_dto: Optional[FirefoxWebPushIntegrationDto] = None - typegen_178__safari_push_integration_dto: Optional[SafariPushIntegrationDto] = None - typegen_179__aws_cross_account_role_email_integration_dto: Optional[AwsCrossAccountRoleEmailIntegrationDto] = None - typegen_180__aws_iam_email_integration_dto: Optional[AwsIamEmailIntegrationDto] = None - typegen_181__mail_gun_email_integration_dto: Optional[MailGunEmailIntegrationDto] = None - typegen_182__send_grid_email_integration_dto: Optional[SendGridEmailIntegrationDto] = None - typegen_183__smtp_email_integration_dto: Optional[SmtpEmailIntegrationDto] = None - typegen_192__webhook_integration_dto: Optional[WebhookIntegrationDto] = None - typegen_193__webhook_destination_dto: Optional[WebhookDestinationDto] = None - typegen_194__scheduler_task_dto: Optional[SchedulerTaskDto] = None - typegen_195__mongo_db_aggregate_dto: Optional[MongoDbAggregateDto] = None - typegen_196__marketplace_integration_dto: Optional[MarketplaceIntegrationDto] = None - typegen_197__marketplace_function_dto: Optional[MarketplaceFunctionDto] = None - typegen_198__marketplace_listing_dto: Optional[MarketplaceListingDto] = None - typegen_199__marketplace_function_definition_dto: Optional[MarketplaceFunctionDefinitionDto] = None - typegen_200__marketplace_function_parameter_dto: Optional[MarketplaceFunctionParameterDto] = None - typegen_201__enable_code: Optional[EnableCode] = None - typegen_202__disable_code: Optional[DisableCode] = None - typegen_203__get_code_integrations: Optional[GetCodeIntegrations] = None - typegen_204__get_code_integration: Optional[GetCodeIntegration] = None - typegen_205__save_code_integration: Optional[SaveCodeIntegration] = None - typegen_206__test_code_integration: Optional[TestCodeIntegration] = None - typegen_207__confirm_code_integration_human_delivery_request: Optional[ConfirmCodeIntegrationHumanDeliveryRequest] = None - typegen_208__set_code_integration_as_default: Optional[SetCodeIntegrationAsDefault] = None - typegen_209__delete_code_integration_request: Optional[DeleteCodeIntegrationRequest] = None - typegen_210__enable_code_integration_request: Optional[EnableCodeIntegrationRequest] = None - typegen_211__disable_code_integration_request: Optional[DisableCodeIntegrationRequest] = None - typegen_212__get_marketplace_listings: Optional[GetMarketplaceListings] = None - typegen_213__get_marketplace_listing_function_tokens: Optional[GetMarketplaceListingFunctionTokens] = None - typegen_214__get_marketplace_integrations: Optional[GetMarketplaceIntegrations] = None - typegen_215__get_marketplace_integration: Optional[GetMarketplaceIntegration] = None - typegen_216__save_marketplace_integration: Optional[SaveMarketplaceIntegration] = None - typegen_217__delete_marketplace_integration: Optional[DeleteMarketplaceIntegration] = None - typegen_218__enable_marketplace_integration: Optional[EnableMarketplaceIntegration] = None - typegen_219__disable_marketplace_integration: Optional[DisableMarketplaceIntegration] = None - typegen_221__get_marketplace_functions: Optional[GetMarketplaceFunctions] = None - typegen_222__get_marketplace_function: Optional[GetMarketplaceFunction] = None - typegen_223__save_marketplace_function: Optional[SaveMarketplaceFunction] = None - typegen_224__delete_marketplace_function: Optional[DeleteMarketplaceFunction] = None - typegen_225__enable_marketplace_function: Optional[EnableMarketplaceFunction] = None - typegen_226__disable_marketplace_function: Optional[DisableMarketplaceFunction] = None - typegen_227__get_marketplace_function_tokens: Optional[GetMarketplaceFunctionTokens] = None - typegen_228__invoke_marketplace_function: Optional[InvokeMarketplaceFunction] = None - typegen_232__get_marketplace_listing: Optional[GetMarketplaceListing] = None - typegen_233__test_marketplace_integration: Optional[TestMarketplaceIntegration] = None - typegen_234__test_marketplace_integration_response: Optional[TestMarketplaceIntegrationResponse] = None - typegen_235__get_marketplace_listing_response: Optional[GetMarketplaceListingResponse] = None - typegen_230__admin_portal_structure_dto: Optional[AdminPortalStructureDto] = None - typegen_231__admin_portal_module_dto: Optional[AdminPortalModuleDto] = None - typegen_236__user_message_entry_wire_dto: Optional[UserMessageEntryWireDto] = None - typegen_237__assistant_text_entry_wire_dto: Optional[AssistantTextEntryWireDto] = None - typegen_238__assistant_question_entry_wire_dto: Optional[AssistantQuestionEntryWireDto] = None - typegen_239__user_answer_entry_wire_dto: Optional[UserAnswerEntryWireDto] = None - typegen_240__plan_entry_wire_dto: Optional[PlanEntryWireDto] = None - typegen_241__user_decision_entry_wire_dto: Optional[UserDecisionEntryWireDto] = None - typegen_242__run_step_entry_wire_dto: Optional[RunStepEntryWireDto] = None - typegen_243__action_pending_entry_wire_dto: Optional[ActionPendingEntryWireDto] = None - typegen_244__notice_entry_wire_dto: Optional[NoticeEntryWireDto] = None - typegen_245__conversation_snapshot_entry_wire_dto: Optional[ConversationSnapshotEntryWireDto] = None - - -# @Route("/{version}/echo", "GET") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class Echo(RequestBase, IReturn[EchoResponse]): - pass - - -# @Route("/{version}/public/projects/{ProjectId}/config", "GET") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetPublicProjectConfig(RequestBase, IReturn[PublicProjectConfigDto]): - project_id: Optional[str] = None - - -# @Route("/{version}/public/projects/{ProjectId}/legal/{Kind}", "GET") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetPublicProjectLegal(RequestBase, IReturn[PublicLegalDocumentDto]): - project_id: Optional[str] = None - kind: Optional[str] = None - - -# @Route("/{version}/account/profile", "GET") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetAccountProfile(RequestBase, IReturn[GetAccountProfileResponse]): - pass - - -# @Route("/{version}/account/profile", "PUT") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class UpdateAccountProfile(RequestBase, IReturn[EmptyResponse]): - # @ApiMember(Description="Account owner's display name.", IsRequired=true) - display_name: Optional[str] = None - """ - Account owner's display name. - """ - - - # @ApiMember(Description="Email address used for billing communications.") - billing_email: Optional[str] = None - """ - Email address used for billing communications. - """ - - - # @ApiMember(Description="Email address used for operations communications.") - operations_email: Optional[str] = None - """ - Email address used for operations communications. - """ - - - # @ApiMember(Description="Email address used for security-related communications.") - security_email: Optional[str] = None - """ - Email address used for security-related communications. - """ - - -# @Route("/{version}/account/verify/resend", "GET") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class ResendAccountVerificationToken(RequestBase, IReturn[EmptyResponse]): - pass - - -# @Route("/{version}/account/status", "GET") -# @Api(Description="Get Account Status.") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetAccountStatus(RequestBase, IReturn[GetAccountStatusResponse]): - """ - Get Account Status. - """ - - pass - - -# @Route("/{version}/account/stripe/create-checkout-session", "POST") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class CreateStripeCheckoutSession(RequestBase, IReturn[CreateStripeCheckoutSessionResponse]): - subscription_type: Optional[SubscriptionType] = None - domain: Optional[str] = None - project_cap: int = 0 - new_project_session_id: Optional[str] = None - return_url: Optional[str] = None - - -# @Route("/{version}/account/stripe/get-portal-url", "POST") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetStripeBillingPortalUrl(RequestBase, IReturn[GetStripeBillingPortalUrlResponse]): - # @ApiMember(Description="Which subscription (e.g. main account plan) to open the billing portal for.") - subscription_type: Optional[SubscriptionType] = None - """ - Which subscription (e.g. main account plan) to open the billing portal for. - """ - - - # @ApiMember(Description="URL to return to after the customer leaves the billing portal.") - return_url: Optional[str] = None - """ - URL to return to after the customer leaves the billing portal. - """ - - -# @Route("/{version}/account/team/member", "POST") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class CreateTeamMemberFromInvitation(RequestBase, IReturn[CreateTeamMemberFromInvitationResponse]): - # @ApiMember(DataType="string", Description="Display name of the account holder", IsRequired=true, Name="DisplayName", ParameterType="form") - display_name: Optional[str] = None - """ - Display name of the account holder - """ - - - # @ApiMember(DataType="string", Description="Token from invitation email", IsRequired=true, Name="Token", ParameterType="form") - token: Optional[str] = None - """ - Token from invitation email - """ - - - # @ApiMember(DataType="string", Description="Set password for a new account", Format="password", IsRequired=true, Name="Password", ParameterType="form") - password: Optional[str] = None - """ - Set password for a new account - """ - - -# @Route("/{version}/account/usage-billing", "GET") -# @Api(Description="Get Account Usage Billing.") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetAccountUsageBilling(RequestBase, IReturn[GetAccountUsageBillingResponse]): - """ - Get Account Usage Billing. - """ - - pass - - -# @Route("/{version}/account/verify", "GET") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class VerifyAccount(RequestBase, IReturn[EmptyResponse], IHasAccountId): - token: Optional[str] = None - account_id: Optional[str] = None - - -# @Route("/{version}/account/projects/{projectId}/notifications/settings/group", "DELETE") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class DeleteNotificationsGroup(CodeMashRequestBase, IReturn[EmptyResponse]): - # @ApiMember(Description="Tag identifying the notification group to remove.", IsRequired=true) - group_tag: Optional[str] = None - """ - Tag identifying the notification group to remove. - """ - - -# @Route("/{version}/account/projects/{projectId}/notifications/settings/tag", "DELETE") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class DeleteNotificationsTag(CodeMashRequestBase, IReturn[EmptyResponse]): - # @ApiMember(Description="Tag identifying the notification tag to delete.", IsRequired=true) - tag: Optional[str] = None - """ - Tag identifying the notification tag to delete. - """ - - -# @Route("/{version}/account/projects/{projectId}/notifications/settings/group/tag", "DELETE") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class RemoveTagFromNotificationsGroup(CodeMashRequestBase, IReturn[EmptyResponse]): - # @ApiMember(Description="Tag identifying the notification group.", IsRequired=true) - group_tag: Optional[str] = None - """ - Tag identifying the notification group. - """ - - - # @ApiMember(Description="Tag identifying the notification tag to remove from the group.", IsRequired=true) - tag: Optional[str] = None - """ - Tag identifying the notification tag to remove from the group. - """ - - -# @Route("/{version}/account/projects/{projectId}/notifications/settings/group", "POST") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SaveNotificationsGroup(CodeMashRequestBase, IReturn[EmptyResponse]): - # @ApiMember(Description="The group's tag and translations to save. The tag identifies the group; translations provide its display name per locale.", IsRequired=true) - group_definition: Optional[GroupDefinitionDto] = None - """ - The group's tag and translations to save. The tag identifies the group; translations provide its display name per locale. - """ - - - # @ApiMember(Description="Communication channel (e.g. Email, Push) this group belongs to.") - channel: Optional[CommunicationChannel] = None - """ - Communication channel (e.g. Email, Push) this group belongs to. - """ - - - # @ApiMember(Description="If moving the group to a different channel, the channel it currently belongs to.") - origin_channel: Optional[CommunicationChannel] = None - """ - If moving the group to a different channel, the channel it currently belongs to. - """ - - -# @Route("/{version}/account/projects/{projectId}/notifications/settings/tag", "POST") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SaveNotificationsTag(CodeMashRequestBase, IReturn[EmptyResponse]): - # @ApiMember(Description="The tag's identifier, translations, and default per-delivery-channel enabled/disabled settings.", IsRequired=true) - tag_definition: Optional[TagDefinitionDto] = None - """ - The tag's identifier, translations, and default per-delivery-channel enabled/disabled settings. - """ - - - # @ApiMember(Description="Communication channel (e.g. Email, Push) this tag belongs to.") - channel: Optional[CommunicationChannel] = None - """ - Communication channel (e.g. Email, Push) this tag belongs to. - """ - - - # @ApiMember(Description="Tag of the group this notification tag should be placed under, if any.") - group_tag: Optional[str] = None - """ - Tag of the group this notification tag should be placed under, if any. - """ - - -# @Route("/{version}/account/projects", "POST") -# @Api(Description="Create a new backend project.") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class CreateProjectRequest(RequestBase, IReturn[IdResponse]): - """ - Create a new backend project. - """ - - integration: Optional[DatabaseIntegrationRequest] = None - # @ApiMember(Description="Project name, unique per account.") - project_name: Optional[str] = None - """ - Project name, unique per account. - """ - - - # @ApiMember(Description="Region code for the primary region, e.g. 'nb-eu-germany'. Use a code from get_account_regions.") - primary_region: Optional[str] = None - """ - Region code for the primary region, e.g. 'nb-eu-germany'. Use a code from get_account_regions. - """ - - - additional_regions: Optional[List[str]] = None - description: Optional[str] = None - - -# @Route("/{version}/account/projects/{projectId}", "DELETE") -# @Api(Description="Deletes project") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class DeleteProject(CodeMashRequestBase, IReturn[EmptyResponse]): - """ - Deletes project - """ - - pass - - -# @Route("/{version}/account/projects/environments", "POST") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class CreateProjectEnvironmentRequest(CodeMashRequestBase, IReturn[EmptyResponse]): - # @ApiMember(Description="Name for the new environment (e.g. 'TEST', 'STAGING'). A-Z/0-9/space, up to 15 chars, cannot be PROD.", IsRequired=true) - environment_name: Optional[str] = None - """ - Name for the new environment (e.g. 'TEST', 'STAGING'). A-Z/0-9/space, up to 15 chars, cannot be PROD. - """ - - - integration: Optional[DatabaseIntegrationRequest] = None - - -# @Route("/{version}/account/projects/environments/{environmentName}", "DELETE") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class DeleteProjectEnvironmentRequest(CodeMashRequestBase, IReturn[EmptyResponse]): - # @ApiMember(Description="Name of the environment to delete (from get_project_environments), e.g. 'TEST'. PROD is rejected.", IsRequired=true) - environment_name: Optional[str] = None - """ - Name of the environment to delete (from get_project_environments), e.g. 'TEST'. PROD is rejected. - """ - - -# @Route("/{version}/account/projects/environments/{environmentName}/rank", "PATCH") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SetEnvironmentRankRequest(CodeMashRequestBase, IReturn[EmptyResponse]): - # @ApiMember(Description="Name of the environment to re-rank (from get_project_environments).", IsRequired=true) - environment_name: Optional[str] = None - """ - Name of the environment to re-rank (from get_project_environments). - """ - - - # @ApiMember(Description="New promotion-ladder rank. Out-of-range values are clamped and ranks re-normalized.") - rank: int = 0 - """ - New promotion-ladder rank. Out-of-range values are clamped and ranks re-normalized. - """ - - -# @Route("/{version}/account/projects/environments/promote", "POST") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PromoteEnvironmentRequest(CodeMashRequestBase, IReturn[PromoteEnvironmentResponse]): - # @ApiMember(Description="Environment to promote FROM (source of truth for this promotion).", IsRequired=true) - source_env: Optional[str] = None - """ - Environment to promote FROM (source of truth for this promotion). - """ - - - # @ApiMember(Description="Environment to promote INTO. Must be higher on the promotion ladder than SourceEnv.", IsRequired=true) - target_env: Optional[str] = None - """ - Environment to promote INTO. Must be higher on the promotion ladder than SourceEnv. - """ - - - # @ApiMember(Description="When true, only returns the promotion plan (including deletions) without applying it or copying secrets. Use this to preview before a real run.") - dry_run: bool = False - """ - When true, only returns the promotion plan (including deletions) without applying it or copying secrets. Use this to preview before a real run. - """ - - -# @Route("/{version}/account/projects/environments/promote/rollback", "POST") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class RollbackPromotionRequest(CodeMashRequestBase, IReturn[PromoteEnvironmentResponse]): - # @ApiMember(Description="Environment whose content should be rolled back.", IsRequired=true) - target_env: Optional[str] = None - """ - Environment whose content should be rolled back. - """ - - - # @ApiMember(Description="The fromVersion anchor returned by the promote_environment call being rolled back.", IsRequired=true) - from_version: int = 0 - """ - The fromVersion anchor returned by the promote_environment call being rolled back. - """ - - -# @Route("/{version}/account/projects/environments", "GET") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetProjectEnvironments(CodeMashRequestBase, IReturn[GetProjectEnvironmentsResponse]): - pass - - -# @Route("/{version}/account/projects/{projectId}", "GET") -# @Api(Description="Gets project info.") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetProject(CodeMashRequestBase, IReturn[GetProjectResponse]): - """ - Gets project info. - """ - - pass - - -# @Route("/{version}/account/projects", "GET") -# @Api(Description="Retrieve projects list.") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetProjects(RequestBase, IReturn[GetProjectsResponse]): - """ - Retrieve projects list. - """ - - pass - - -# @Route("/{version}/account/regions", "GET") -# @Api(Description="Get available project regions.") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetAccountRegions(RequestBase, IReturn[GetAccountRegionsResponse]): - """ - Get available project regions. - """ - - pass - - -# @Route("/{version}/account/projects/{projectId}/wait-active", "GET") -# @Api(Description="Waits (bounded, server-side) for a project to finish provisioning and become active.") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class WaitForProjectActiveRequest(CodeMashRequestBase, IReturn[WaitForProjectActiveResponse]): - """ - Waits (bounded, server-side) for a project to finish provisioning and become active. - """ - - # @ApiMember(Description="Max seconds to wait before returning 'not active yet' (default 30, capped at 90).") - timeout_seconds: Optional[int] = None - """ - Max seconds to wait before returning 'not active yet' (default 30, capped at 90). - """ - - -# @Route("/{version}/account/projects/{projectId}/tokens", "GET") -# @Api(Description="Gets project tokens.") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetProjectTokens(CodeMashRequestBase, IReturn[GetProjectTokensResponse]): - """ - Gets project tokens. - """ - - initiator_id: Optional[str] = None - recipient_id: Optional[str] = None - target_user_id: Optional[str] = None - membership_trigger_old_user_id: Optional[str] = None - membership_trigger_new_user_id: Optional[str] = None - - -# @Route("/{version}/account/projects/{projectId}/settings/admin-portal/service-user", "PUT") -# @Api(Description="Assigns the project's Admin Portal service user") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class AssignAdminPortalServiceUserRequest(CodeMashRequestBase, IReturn[EmptyResponse]): - """ - Assigns the project's Admin Portal service user - """ - - # @ApiMember(Description="Id of the existing AuthType.Service user to assign as the project's Admin Portal service user.", IsRequired=true) - service_user_id: Optional[str] = None - """ - Id of the existing AuthType.Service user to assign as the project's Admin Portal service user. - """ - - -# @Route("/{version}/account/projects/{projectId}/admin-portal/structure", "GET") -# @Api(Description="Reads the Admin Portal layout/structure (service user only)") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetAdminPortalStructure(CodeMashRequestBase, IReturn[AdminPortalStructureDto]): - """ - Reads the Admin Portal layout/structure (service user only) - """ - - pass - - -# @Route("/{version}/account/projects/{projectId}/settings/admin-url", "PATCH") -# @Api(Description="Updates the project's admin-portal URL override") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class UpdateProjectAdminUrl(CodeMashRequestBase, IReturn[EmptyResponse]): - """ - Updates the project's admin-portal URL override - """ - - # @ApiMember(Description="Custom admin-portal URL to use instead of the canonical address. Null/empty restores the canonical pr_{id}.admin.{host} address.") - url: Optional[str] = None - """ - Custom admin-portal URL to use instead of the canonical address. Null/empty restores the canonical pr_{id}.admin.{host} address. - """ - - -# @Route("/{version}/account/projects/{projectId}/settings/accent-color", "PATCH") -# @Api(Description="Updates project accent color") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class UpdateProjectAccentColor(CodeMashRequestBase, IReturn[EmptyResponse]): - """ - Updates project accent color - """ - - # @ApiMember(Description="Hex color code, e.g. '#FF6D00'.", IsRequired=true) - color: Optional[str] = None - """ - Hex color code, e.g. '#FF6D00'. - """ - - -# @Route("/{version}/account/projects/{projectId}/settings/icon", "PATCH") -# @Api(Description="Updates project icon") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class UpdateProjectIcon(CodeMashRequestBase, IReturn[EmptyResponse]): - """ - Updates project icon - """ - - file_resource: Optional[FileResourceRefDto] = None - - -# @Route("/{version}/account/projects/{projectId}/settings/logo", "PATCH") -# @Api(Description="Updates project logo") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class UpdateProjectLogo(CodeMashRequestBase, IReturn[EmptyResponse]): - """ - Updates project logo - """ - - file_resource: Optional[FileResourceRefDto] = None - - -# @Route("/{version}/account/projects/{projectId}/settings/main-color", "PATCH") -# @Api(Description="Updates project main color") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class UpdateProjectMainColor(CodeMashRequestBase, IReturn[EmptyResponse]): - """ - Updates project main color - """ - - # @ApiMember(Description="Hex color code, e.g. '#1A73E8'.", IsRequired=true) - color: Optional[str] = None - """ - Hex color code, e.g. '#1A73E8'. - """ - - -# @Route("/{version}/account/projects/{projectId}/settings/origins", "PATCH") -# @Api(Description="Updates project CORS settings") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class UpdateProjectAllowedOrigins(CodeMashRequestBase, IReturn[EmptyResponse]): - """ - Updates project CORS settings - """ - - # @ApiMember(Description="The complete new list of allowed origin URLs, e.g. [\"https://app.example.com\", \"https://example.com\"]. An entry with no scheme (e.g. \"example.com\") defaults to https. Whatever is not in this list stops being allowed.") - origins: Optional[List[str]] = None - """ - The complete new list of allowed origin URLs, e.g. ["https://app.example.com", "https://example.com"]. An entry with no scheme (e.g. "example.com") defaults to https. Whatever is not in this list stops being allowed. - """ - - -# @Route("/{version}/account/projects/{projectId}/settings/default-language", "PATCH") -# @Api(Description="Update project default language") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class UpdateProjectDefaultLanguage(CodeMashRequestBase, IReturn[EmptyResponse]): - """ - Update project default language - """ - - # @ApiMember(Description="Language code, e.g. 'en' or 'de'.", IsRequired=true) - default_language: Optional[str] = None - """ - Language code, e.g. 'en' or 'de'. - """ - - -# @Route("/{version}/account/projects/{projectId}/settings/description", "PATCH") -# @Api(Description="Updates project description") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class UpdateProjectDescription(CodeMashRequestBase, IReturn[EmptyResponse]): - """ - Updates project description - """ - - # @ApiMember(Description="The new description text. Omit (null) to clear the description.") - description: Optional[str] = None - """ - The new description text. Omit (null) to clear the description. - """ - - -# @Route("/{version}/account/projects/{projectId}/disable", "PATCH") -# @Api(Description="Disables project") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class DisableProject(CodeMashRequestBase, IReturn[EmptyResponse]): - """ - Disables project - """ - - pass - - -# @Route("/{version}/account/projects/{projectId}/enable", "PATCH") -# @Api(Description="Enables project") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class EnableProject(CodeMashRequestBase, IReturn[EmptyResponse]): - """ - Enables project - """ - - pass - - -# @Route("/{version}/account/projects/{projectId}/settings/languages", "PATCH") -# @Api(Description="Updates project languages") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class UpdateProjectLanguages(CodeMashRequestBase, IReturn[EmptyResponse]): - """ - Updates project languages - """ - - # @ApiMember(Description="The complete new list of language codes, e.g. [\"en\", \"de\", \"lt\"].", IsRequired=true) - languages: List[str] = field(default_factory=list) - """ - The complete new list of language codes, e.g. ["en", "de", "lt"]. - """ - - -# @Route("/{version}/account/projects/{projectId}/settings/legal", "PATCH") -# @Api(Description="Updates the project's public legal documents (Terms & Conditions, Privacy Policy)") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class UpdateProjectLegalDocuments(CodeMashRequestBase, IReturn[EmptyResponse]): - """ - Updates the project's public legal documents (Terms & Conditions, Privacy Policy) - """ - - # @ApiMember(Description="Terms & Conditions document, Markdown. Null/empty clears it.") - terms_markdown: Optional[str] = None - """ - Terms & Conditions document, Markdown. Null/empty clears it. - """ - - - # @ApiMember(Description="Privacy Policy document, Markdown. Null/empty clears it.") - privacy_markdown: Optional[str] = None - """ - Privacy Policy document, Markdown. Null/empty clears it. - """ - - -# @Route("/{version}/account/projects/{projectId}/settings/legal/expose", "PATCH") -# @Api(Description="Sets whether the project's legal documents are publicly readable via the Admin Portal") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class UpdateProjectExposeLegal(CodeMashRequestBase, IReturn[EmptyResponse]): - """ - Sets whether the project's legal documents are publicly readable via the Admin Portal - """ - - # @ApiMember(Description="True to make the legal documents publicly readable via the Admin Portal, false to hide them.") - exposed: bool = False - """ - True to make the legal documents publicly readable via the Admin Portal, false to hide them. - """ - - -# @Route("/{version}/account/projects/{projectId}/settings/url", "PATCH") -# @Api(Description="Updates project marketing url") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class UpdateProjectUrl(CodeMashRequestBase, IReturn[EmptyResponse]): - """ - Updates project marketing url - """ - - # @ApiMember(Description="The marketing site URL, e.g. 'https://example.com'. Omit (null) to clear.") - url: Optional[str] = None - """ - The marketing site URL, e.g. 'https://example.com'. Omit (null) to clear. - """ - - -# @Route("/{version}/account/projects/{projectId}/settings/name", "PATCH") -# @Api(Description="Updates project name") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class UpdateProjectName(CodeMashRequestBase, IReturn[EmptyResponse]): - """ - Updates project name - """ - - # @ApiMember(Description="The new project name, unique per account.", IsRequired=true) - name: Optional[str] = None - """ - The new project name, unique per account. - """ - - -# @Route("/{version}/account/projects/{projectId}/settings/regions", "PATCH") -# @Api(Description="Updates project regions") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class UpdateProjectRegions(CodeMashRequestBase, IReturn[EmptyResponse]): - """ - Updates project regions - """ - - # @ApiMember(Description="Primary region code, e.g. 'nb-eu-germany'. Immutable once set — omit to keep the current one; only set it on a project that has none.") - primary_region: Optional[str] = None - """ - Primary region code, e.g. 'nb-eu-germany'. Immutable once set — omit to keep the current one; only set it on a project that has none. - """ - - - # @ApiMember(Description="The complete new list of additional region codes (full replacement). A region that still hosts a provisioned database cluster cannot be removed.") - additional_regions: Optional[List[str]] = None - """ - The complete new list of additional region codes (full replacement). A region that still hosts a provisioned database cluster cannot be removed. - """ - - -# @Route("/{version}/account", "POST") -# @Api(Description="This API endpoint allows users to create a new CodeMash account.") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class CreateAccount(RequestBase, IReturn[CreateAccountResponse]): - """ - This API endpoint allows users to create a new CodeMash account. - """ - - # @ApiMember(DataType="string", Description="Display name of the account holder", IsRequired=true, Name="DisplayName", ParameterType="form") - display_name: Optional[str] = None - """ - Display name of the account holder - """ - - - # @ApiMember(DataType="string", Description="Real email of account holder", IsRequired=true, Name="Email", ParameterType="form") - email: Optional[str] = None - """ - Real email of account holder - """ - - - # @ApiMember(DataType="string", Description="Set password for a new account", Format="password", IsRequired=true, Name="Password", ParameterType="form") - password: Optional[str] = None - """ - Set password for a new account - """ - - -# @Route("/{version}/account/team/member/password", "POST") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class ChangeTeamMemberPassword(RequestBase, IReturn[IdResponse]): - email: Optional[str] = None - current_password: Optional[str] = None - new_password: Optional[str] = None - - -# @Route("/{version}/account/team/member/create", "POST") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class CreateTeamMember(RequestBase, IReturn[IdResponse]): - email: Optional[str] = None - display_name: Optional[str] = None - password: Optional[str] = None - roles: Optional[List[str]] = None - send_invitation: bool = False - - -# @Route("/{version}/account/team/policies", "POST") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class CreateAccountPolicy(RequestBase, IReturn[IdResponse]): - # @ApiMember(Description="Name for the new custom account policy.", IsRequired=true) - policy_name: Optional[str] = None - """ - Name for the new custom account policy. - """ - - - # @ApiMember(Description="Optional human-readable description of the policy's purpose.") - description: Optional[str] = None - """ - Optional human-readable description of the policy's purpose. - """ - - - # @ApiMember(Description="Raw JSON policy document, AWS-IAM style (Statement array of Effect/Action/Resource entries), matching PolicyDocument.schema.json. This defines which permissions the policy grants.") - policy_document_json: Optional[str] = None - """ - Raw JSON policy document, AWS-IAM style (Statement array of Effect/Action/Resource entries), matching PolicyDocument.schema.json. This defines which permissions the policy grants. - """ - - -# @Route("/{version}/account/team/roles", "POST") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class CreateAccountRole(RequestBase, IReturn[IdResponse]): - # @ApiMember(Description="Name for the new custom account team role.", IsRequired=true) - role_name: Optional[str] = None - """ - Name for the new custom account team role. - """ - - - # @ApiMember(Description="Optional human-readable description of the role's purpose.") - description: Optional[str] = None - """ - Optional human-readable description of the role's purpose. - """ - - - # @ApiMember(Description="Public policy ids (from get_account_team_policies) to attach to this role.") - policies: Optional[List[str]] = None - """ - Public policy ids (from get_account_team_policies) to attach to this role. - """ - - -# @Route("/{version}/account/team/policies/{Id}", "DELETE") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class DeleteAccountPolicy(RequestBase, IReturn[IdResponse]): - # @ApiMember(Description="Public policy id (from get_account_team_policies) to delete.", IsRequired=true) - id: Optional[str] = None - """ - Public policy id (from get_account_team_policies) to delete. - """ - - -# @Route("/{version}/account/team/roles/{Id}", "DELETE") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class DeleteAccountRole(RequestBase, IReturn[IdResponse]): - # @ApiMember(Description="Role template id (from get_account_team_roles) to delete.", IsRequired=true) - id: Optional[str] = None - """ - Role template id (from get_account_team_roles) to delete. - """ - - -# @Route("/{version}/account/collaborators", "GET") -# @Api(Description="Gets account team members (collaborators)") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetAccountCollaborators(RequestBase, IReturn[GetAccountCollaboratorsResponse]): - """ - Gets account team members (collaborators) - """ - - # @ApiMember(Description="Set true to also include the account owner in the list.") - include_account_owner: bool = False - """ - Set true to also include the account owner in the list. - """ - - - # @ApiMember(Description="Set true to only return members that have a registered push device.") - user_should_have_push_device: bool = False - """ - Set true to only return members that have a registered push device. - """ - - - # @ApiMember(Description="Optional project id — only members with access to that project.") - project_id: Optional[str] = None - """ - Optional project id — only members with access to that project. - """ - - - # @ApiMember(Description="Optional filter: only these user ids.") - user_ids: Optional[List[str]] = None - """ - Optional filter: only these user ids. - """ - - - # @ApiMember(Description="Optional filter: only members having one of these role names.") - role_names: Optional[List[str]] = None - """ - Optional filter: only members having one of these role names. - """ - - - paging_args: Optional[PagingArgs] = None - - -# @Route("/{version}/account/team/password-policy", "GET") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetAccountPasswordPolicy(RequestBase, IReturn[GetAccountPasswordPolicyResponse]): - pass - - -# @Route("/{version}/account/team/policies", "GET") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetAccountTeamPolicies(RequestBase, IReturn[GetAccountTeamPoliciesResponse]): - pass - - -# @Route("/{version}/account/team/roles", "GET") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetAccountTeamRoles(RequestBase, IReturn[GetAccountTeamRolesResponse]): - pass - - -# @Route("/{version}/account/team/member/invite", "POST") -# @Api(Description="Send invite to team member") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SendInviteToTeamMember(RequestBase, IReturn[EmptyResponse]): - """ - Send invite to team member - """ - - # @ApiMember(Description="Email address the invitation is sent to.", IsRequired=true) - email: Optional[str] = None - """ - Email address the invitation is sent to. - """ - - - # @ApiMember(Description="Account role ids (GUIDs from get_account_team_roles) the member gets on accepting. Omit for the default member role.") - roles: Optional[List[str]] = None - """ - Account role ids (GUIDs from get_account_team_roles) the member gets on accepting. Omit for the default member role. - """ - - -# @Route("/{version}/account/team/policies", "PUT") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class UpdateAccountPolicy(RequestBase, IReturn[IdResponse]): - # @ApiMember(Description="Public policy id (from get_account_team_policies) to update.", IsRequired=true) - id: Optional[str] = None - """ - Public policy id (from get_account_team_policies) to update. - """ - - - # @ApiMember(Description="New name for the policy.", IsRequired=true) - policy_name: Optional[str] = None - """ - New name for the policy. - """ - - - # @ApiMember(Description="Optional human-readable description of the policy's purpose.") - description: Optional[str] = None - """ - Optional human-readable description of the policy's purpose. - """ - - - # @ApiMember(Description="Raw JSON policy document, AWS-IAM style (Statement array of Effect/Action/Resource entries) — replaces the policy's current statement set.") - policy_document_json: Optional[str] = None - """ - Raw JSON policy document, AWS-IAM style (Statement array of Effect/Action/Resource entries) — replaces the policy's current statement set. - """ - - -# @Route("/{version}/account/team/roles", "PUT") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class UpdateAccountRole(RequestBase, IReturn[IdResponse]): - # @ApiMember(Description="Role template id (from get_account_team_roles) to update.", IsRequired=true) - id: Optional[str] = None - """ - Role template id (from get_account_team_roles) to update. - """ - - - # @ApiMember(Description="New name for the role.", IsRequired=true) - role_name: Optional[str] = None - """ - New name for the role. - """ - - - # @ApiMember(Description="Optional human-readable description of the role's purpose.") - description: Optional[str] = None - """ - Optional human-readable description of the role's purpose. - """ - - - # @ApiMember(Description="Public policy ids (from get_account_team_policies) to attach — replaces the current set.") - policies: Optional[List[str]] = None - """ - Public policy ids (from get_account_team_policies) to attach — replaces the current set. - """ - - -# @Route("/{version}/account/userauth/has-passkey", "POST") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class AccountHasPasskeyRequest(RequestBase, IReturn[AccountPasskeyOkResponse]): - email: Optional[str] = None - - -# @Route("/{version}/account/userauth/email/start-verification", "POST") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class AccountStartEmailVerificationRequest(RequestBase, IReturn[AccountPasskeyOkResponse]): - email: Optional[str] = None - - -# @Route("/{version}/account/userauth/email/confirm-verification", "POST") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class AccountConfirmEmailVerificationRequest(RequestBase, IReturn[AccountPasskeyVerificationTokenResponse]): - email: Optional[str] = None - code: Optional[str] = None - - -# @Route("/{version}/account/userauth/passkey/registration-options", "POST") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class AccountPasskeyRegistrationOptionsRequest(RequestBase, IReturn[AccountPasskeyCeremonyOptionsResponse]): - verification_token: Optional[str] = None +class InternalsTypeGen: + typegen_0__smtp_email_integration_request: Optional[SmtpEmailIntegrationRequest] = None + typegen_1__aws_ses_email_integration_request: Optional[AwsSesEmailIntegrationRequest] = None + typegen_2__send_grid_email_integration_request: Optional[SendGridEmailIntegrationRequest] = None + typegen_3__mail_gun_email_integration_request: Optional[MailGunEmailIntegrationRequest] = None + typegen_4__email_to_all_users_delivery_settings_request: Optional[EmailToAllUsersDeliverySettingsRequest] = None + typegen_5__email_to_account_users_delivery_settings_request: Optional[EmailToAccountUsersDeliverySettingsRequest] = None + typegen_6__email_to_collection_records_delivery_settings_request: Optional[EmailToCollectionRecordsDeliverySettingsRequest] = None + typegen_7__email_to_emails_delivery_settings_request: Optional[EmailToEmailsDeliverySettingsRequest] = None + typegen_8__email_to_users_delivery_settings_request: Optional[EmailToUsersDeliverySettingsRequest] = None + typegen_9__membership_trigger_request: Optional[MembershipTriggerRequest] = None + typegen_10__schema_trigger_request: Optional[SchemaTriggerRequest] = None + typegen_11__files_trigger_request: Optional[FilesTriggerRequest] = None + typegen_12__payment_trigger_request: Optional[PaymentTriggerRequest] = None + typegen_15__mongo_db_connection_string_database_integration_request: Optional[MongoDbConnectionStringDatabaseIntegrationRequest] = None + typegen_16__mongo_db_atlas_flex_managed_database_integration_request: Optional[MongoDbAtlasFlexManagedDatabaseIntegrationRequest] = None + typegen_16__google_drive_files_integration_request: Optional[GoogleDriveFilesIntegrationRequest] = None + typegen_17__ftp_files_integration_request: Optional[FtpFilesIntegrationRequest] = None + typegen_18__drop_box_files_integration_request: Optional[DropBoxFilesIntegrationRequest] = None + typegen_19__apple_i_cloud_files_integration_request: Optional[AppleICloudFilesIntegrationRequest] = None + typegen_20__aws_s3_files_integration_request: Optional[AwsS3FilesIntegrationRequest] = None + typegen_21__google_cloud_files_integration_request: Optional[GoogleCloudFilesIntegrationRequest] = None + typegen_22__azure_blob_files_integration_request: Optional[AzureBlobFilesIntegrationRequest] = None + typegen_23__local_files_integration_request: Optional[LocalFilesIntegrationRequest] = None + typegen_24__amqp_logging_integration_request: Optional[AmqpLoggingIntegrationRequest] = None + typegen_25__aws_kinesis_logging_integration_request: Optional[AwsKinesisLoggingIntegrationRequest] = None + typegen_26__aws_s3_logging_integration_request: Optional[AwsS3LoggingIntegrationRequest] = None + typegen_28__new_relic_logging_integration_request: Optional[NewRelicLoggingIntegrationRequest] = None + typegen_30__mongo_db_logging_integration_request: Optional[MongoDbLoggingIntegrationRequest] = None + typegen_31__kafka_logging_integration_request: Optional[KafkaLoggingIntegrationRequest] = None + typegen_32__prometheus_logging_integration_request: Optional[PrometheusLoggingIntegrationRequest] = None + typegen_33__data_dog_logging_integration_request: Optional[DataDogLoggingIntegrationRequest] = None + typegen_34__internal_kafka_logging_integration_request: Optional[InternalKafkaLoggingIntegrationRequest] = None + typegen_35__elastic_search_logging_integration_request: Optional[ElasticSearchLoggingIntegrationRequest] = None + typegen_37__splunk_logging_integration_request: Optional[SplunkLoggingIntegrationRequest] = None + typegen_38__azure_otel_logging_integration_request: Optional[AzureOtelLoggingIntegrationRequest] = None + typegen_39__kibana_logging_integration_request: Optional[KibanaLoggingIntegrationRequest] = None + typegen_40__local_file_logging_integration_request: Optional[LocalFileLoggingIntegrationRequest] = None + typegen_41__okta_membership_integration_request: Optional[OktaMembershipIntegrationRequest] = None + typegen_42__x_membership_integration_request: Optional[XMembershipIntegrationRequest] = None + typegen_43__google_membership_integration_request: Optional[GoogleMembershipIntegrationRequest] = None + typegen_44__microsoft_membership_integration_request: Optional[MicrosoftMembershipIntegrationRequest] = None + typegen_45__git_hub_membership_integration_request: Optional[GitHubMembershipIntegrationRequest] = None + typegen_46__meta_membership_integration_request: Optional[MetaMembershipIntegrationRequest] = None + typegen_47__apple_membership_integration_request: Optional[AppleMembershipIntegrationRequest] = None + typegen_48__lemon_squeezy_payment_integration_request: Optional[LemonSqueezyPaymentIntegrationRequest] = None + typegen_49__adyen_payment_integration_request: Optional[AdyenPaymentIntegrationRequest] = None + typegen_50__mollie_payment_integration_request: Optional[MolliePaymentIntegrationRequest] = None + typegen_51__paddle_payment_integration_request: Optional[PaddlePaymentIntegrationRequest] = None + typegen_52__pay_pal_payment_integration_request: Optional[PayPalPaymentIntegrationRequest] = None + typegen_53__stripe_payment_integration_request: Optional[StripePaymentIntegrationRequest] = None + typegen_54__apple_in_app_payment_integration_request: Optional[AppleInAppPaymentIntegrationRequest] = None + typegen_55__google_in_app_payment_integration_request: Optional[GoogleInAppPaymentIntegrationRequest] = None + typegen_56__edge_web_push_integration_request: Optional[EdgeWebPushIntegrationRequest] = None + typegen_57__chrome_plugin_push_integration_request: Optional[ChromePluginPushIntegrationRequest] = None + typegen_58__safari_push_integration_request: Optional[SafariPushIntegrationRequest] = None + typegen_59__chrome_web_push_integration_request: Optional[ChromeWebPushIntegrationRequest] = None + typegen_60__firefox_web_push_integration_request: Optional[FirefoxWebPushIntegrationRequest] = None + typegen_61__android_firebase_push_integration_request: Optional[AndroidFirebasePushIntegrationRequest] = None + typegen_62__apple_apns_push_integration_request: Optional[AppleApnsPushIntegrationRequest] = None + typegen_65__aws_lambda_code_integration_request: Optional[AwsLambdaCodeIntegrationRequest] = None + typegen_66__azure_functions_code_integration_request: Optional[AzureFunctionsCodeIntegrationRequest] = None + typegen_67__google_cloud_functions_code_integration_request: Optional[GoogleCloudFunctionsCodeIntegrationRequest] = None + typegen_68__ollama_llm_integration_request: Optional[OllamaLlmIntegrationRequest] = None + typegen_69__open_router_llm_integration_request: Optional[OpenRouterLlmIntegrationRequest] = None + typegen_70__mistral_llm_integration_request: Optional[MistralLlmIntegrationRequest] = None + typegen_71__grok_llm_integration_request: Optional[GrokLlmIntegrationRequest] = None + typegen_72__groq_llm_integration_request: Optional[GroqLlmIntegrationRequest] = None + typegen_73__google_llm_integration_request: Optional[GoogleLlmIntegrationRequest] = None + typegen_74__anthropic_llm_integration_request: Optional[AnthropicLlmIntegrationRequest] = None + typegen_75__open_ai_llm_integration_request: Optional[OpenAiLlmIntegrationRequest] = None + typegen_76__playwright_mcp_integration_request: Optional[PlaywrightMcpIntegrationRequest] = None + typegen_77__mongo_db_mcp_integration_request: Optional[MongoDbMcpIntegrationRequest] = None + typegen_78__git_hub_mcp_integration_request: Optional[GitHubMcpIntegrationRequest] = None + typegen_79__stripe_mcp_integration_request: Optional[StripeMcpIntegrationRequest] = None + typegen_80__brave_search_mcp_integration_request: Optional[BraveSearchMcpIntegrationRequest] = None + typegen_81__obsidian_mcp_integration_request: Optional[ObsidianMcpIntegrationRequest] = None + typegen_82__email_template_dto: Optional[EmailTemplateDto] = None + typegen_83__push_template_dto: Optional[PushTemplateDto] = None + typegen_84__sms_template_dto: Optional[SmsTemplateDto] = None + typegen_85__system_email_template_dto: Optional[SystemEmailTemplateDto] = None + typegen_86__trigger_action_email_dto: Optional[TriggerActionEmailDto] = None + typegen_87__trigger_action_push_dto: Optional[TriggerActionPushDto] = None + typegen_88__trigger_action_code_dto: Optional[TriggerActionCodeDto] = None + typegen_89__trigger_action_webhook_dto: Optional[TriggerActionWebhookDto] = None + typegen_236__trigger_action_sms_dto: Optional[TriggerActionSmsDto] = None + typegen_237__trigger_action_sse_dto: Optional[TriggerActionSseDto] = None + typegen_238__trigger_action_marketplace_dto: Optional[TriggerActionMarketplaceDto] = None + typegen_239__sse_delivery_settings_dto: Optional[SseDeliverySettingsDto] = None + typegen_240__get_triggers: Optional[GetTriggers] = None + typegen_241__get_triggers_response: Optional[GetTriggersResponse] = None + typegen_90__email_to_all_users_delivery_settings_dto: Optional[EmailToAllUsersDeliverySettingsDto] = None + typegen_91__email_to_account_users_delivery_settings_dto: Optional[EmailToAccountUsersDeliverySettingsDto] = None + typegen_92__email_to_users_delivery_settings_dto: Optional[EmailToUsersDeliverySettingsDto] = None + typegen_93__email_to_email_addresses_delivery_settings_dto: Optional[EmailToEmailAddressesDeliverySettingsDto] = None + typegen_94__email_to_collection_records_delivery_settings_dto: Optional[EmailToCollectionRecordsDeliverySettingsDto] = None + typegen_95__push_to_all_users_delivery_settings_dto: Optional[PushToAllUsersDeliverySettingsDto] = None + typegen_96__push_to_users_delivery_settings_dto: Optional[PushToUsersDeliverySettingsDto] = None + typegen_229__push_to_account_users_delivery_settings_dto: Optional[PushToAccountUsersDeliverySettingsDto] = None + typegen_97__push_to_collection_records_delivery_settings_dto: Optional[PushToCollectionRecordsDeliverySettingsDto] = None + typegen_98__push_to_devices_delivery_settings_dto: Optional[PushToDevicesDeliverySettingsDto] = None + typegen_99__sms_to_all_users_delivery_settings_dto: Optional[SmsToAllUsersDeliverySettingsDto] = None + typegen_100__sms_to_users_delivery_settings_dto: Optional[SmsToUsersDeliverySettingsDto] = None + typegen_101__sms_to_collection_records_delivery_settings_dto: Optional[SmsToCollectionRecordsDeliverySettingsDto] = None + typegen_102__sms_to_phone_numbers_delivery_settings_dto: Optional[SmsToPhoneNumbersDeliverySettingsDto] = None + typegen_103__open_ai_llm_integration_dto: Optional[OpenAiLlmIntegrationDto] = None + typegen_104__anthropic_llm_integration_dto: Optional[AnthropicLlmIntegrationDto] = None + typegen_105__ollama_llm_integration_dto: Optional[OllamaLlmIntegrationDto] = None + typegen_106__groq_llm_integration_dto: Optional[GroqLlmIntegrationDto] = None + typegen_107__google_llm_integration_dto: Optional[GoogleLlmIntegrationDto] = None + typegen_108__mistral_llm_integration_dto: Optional[MistralLlmIntegrationDto] = None + typegen_109__open_router_llm_integration_dto: Optional[OpenRouterLlmIntegrationDto] = None + typegen_110__grok_llm_integration_dto: Optional[GrokLlmIntegrationDto] = None + typegen_111__docker_mcp_integration_dto: Optional[DockerMcpIntegrationDto] = None + typegen_112__google_calendar_mcp_integration_dto: Optional[GoogleCalendarMcpIntegrationDto] = None + typegen_113__obsidian_mcp_integration_dto: Optional[ObsidianMcpIntegrationDto] = None + typegen_114__aws_lambda_cross_account_role_code_integration_dto: Optional[AwsLambdaCrossAccountRoleCodeIntegrationDto] = None + typegen_115__aws_lambda_iam_code_integration_dto: Optional[AwsLambdaIamCodeIntegrationDto] = None + typegen_116__azure_functions_code_integration_dto: Optional[AzureFunctionsCodeIntegrationDto] = None + typegen_118__google_cloud_functions_code_integration_dto: Optional[GoogleCloudFunctionsCodeIntegrationDto] = None + typegen_120__adyen_payment_integration_dto: Optional[AdyenPaymentIntegrationDto] = None + typegen_121__apple_in_app_payment_integration_dto: Optional[AppleInAppPaymentIntegrationDto] = None + typegen_122__google_in_app_payment_integration_dto: Optional[GoogleInAppPaymentIntegrationDto] = None + typegen_123__lemon_squeezy_payment_integration_dto: Optional[LemonSqueezyPaymentIntegrationDto] = None + typegen_124__mollie_payment_integration_dto: Optional[MolliePaymentIntegrationDto] = None + typegen_125__paddle_payment_integration_dto: Optional[PaddlePaymentIntegrationDto] = None + typegen_126__pay_pal_payment_integration_dto: Optional[PayPalPaymentIntegrationDto] = None + typegen_127__stripe_payment_integration_dto: Optional[StripePaymentIntegrationDto] = None + typegen_184__shopify_payment_integration_dto: Optional[ShopifyPaymentIntegrationDto] = None + typegen_185__woo_commerce_payment_integration_dto: Optional[WooCommercePaymentIntegrationDto] = None + typegen_186__magento_payment_integration_dto: Optional[MagentoPaymentIntegrationDto] = None + typegen_187__braintree_payment_integration_dto: Optional[BraintreePaymentIntegrationDto] = None + typegen_188__authorize_net_payment_integration_dto: Optional[AuthorizeNetPaymentIntegrationDto] = None + typegen_189__check_out_com_payment_integration_dto: Optional[CheckOutComPaymentIntegrationDto] = None + typegen_190__worldpay_payment_integration_dto: Optional[WorldpayPaymentIntegrationDto] = None + typegen_128__apple_sign_in_membership_integration_dto: Optional[AppleSignInMembershipIntegrationDto] = None + typegen_129__git_hub_membership_integration_dto: Optional[GitHubMembershipIntegrationDto] = None + typegen_130__google_membership_integration_dto: Optional[GoogleMembershipIntegrationDto] = None + typegen_131__meta_membership_integration_dto: Optional[MetaMembershipIntegrationDto] = None + typegen_132__microsoft_membership_integration_dto: Optional[MicrosoftMembershipIntegrationDto] = None + typegen_133__okta_membership_integration_dto: Optional[OktaMembershipIntegrationDto] = None + typegen_134__x_membership_integration_dto: Optional[XMembershipIntegrationDto] = None + typegen_135__amqp_logging_integration_dto: Optional[AmqpLoggingIntegrationDto] = None + typegen_136__aws_kinesis_logging_integration_dto: Optional[AwsKinesisLoggingIntegrationDto] = None + typegen_137__aws_s3_cross_account_role_logging_integration_dto: Optional[AwsS3CrossAccountRoleLoggingIntegrationDto] = None + typegen_138__aws_s3_iam_logging_integration_dto: Optional[AwsS3IamLoggingIntegrationDto] = None + typegen_139__azure_otel_logging_integration_dto: Optional[AzureOtelLoggingIntegrationDto] = None + typegen_140__data_dog_logging_integration_dto: Optional[DataDogLoggingIntegrationDto] = None + typegen_141__elastic_search_logging_integration_dto: Optional[ElasticSearchLoggingIntegrationDto] = None + typegen_142__internal_kafka_logging_integration_dto: Optional[InternalKafkaLoggingIntegrationDto] = None + typegen_143__kafka_logging_integration_dto: Optional[KafkaLoggingIntegrationDto] = None + typegen_144__kibana_logging_integration_dto: Optional[KibanaLoggingIntegrationDto] = None + typegen_145__local_file_logging_integration_dto: Optional[LocalFileLoggingIntegrationDto] = None + typegen_147__mongo_db_logging_integration_dto: Optional[MongoDbLoggingIntegrationDto] = None + typegen_148__new_relic_logging_integration_dto: Optional[NewRelicLoggingIntegrationDto] = None + typegen_149__prometheus_logging_integration_dto: Optional[PrometheusLoggingIntegrationDto] = None + typegen_150__splunk_logging_integration_dto: Optional[SplunkLoggingIntegrationDto] = None + typegen_153__apple_i_cloud_files_integration_dto: Optional[AppleICloudFilesIntegrationDto] = None + typegen_154__aws_s3_cross_account_role_files_integration_dto: Optional[AwsS3CrossAccountRoleFilesIntegrationDto] = None + typegen_155__aws_s3_iam_files_integration_dto: Optional[AwsS3IamFilesIntegrationDto] = None + typegen_156__azure_blob_files_integration_dto: Optional[AzureBlobFilesIntegrationDto] = None + typegen_157__drop_box_files_integration_dto: Optional[DropBoxFilesIntegrationDto] = None + typegen_158__ftp_files_integration_dto: Optional[FtpFilesIntegrationDto] = None + typegen_159__google_cloud_files_integration_dto: Optional[GoogleCloudFilesIntegrationDto] = None + typegen_160__google_drive_files_integration_dto: Optional[GoogleDriveFilesIntegrationDto] = None + typegen_161__local_files_integration_dto: Optional[LocalFilesIntegrationDto] = None + typegen_164__mongo_db_connection_string_integration_dto: Optional[MongoDbConnectionStringIntegrationDto] = None + typegen_165__mongo_db_atlas_flex_managed_integration_dto: Optional[MongoDbAtlasFlexManagedIntegrationDto] = None + typegen_165__bird_sms_integration_dto: Optional[BirdSmsIntegrationDto] = None + typegen_166__plivo_sms_integration_dto: Optional[PlivoSmsIntegrationDto] = None + typegen_167__sinch_sms_integration_dto: Optional[SinchSmsIntegrationDto] = None + typegen_168__telesign_sms_integration_dto: Optional[TelesignSmsIntegrationDto] = None + typegen_169__telnyx_sms_integration_dto: Optional[TelnyxSmsIntegrationDto] = None + typegen_170__twilio_sms_integration_dto: Optional[TwilioSmsIntegrationDto] = None + typegen_171__vonage_sms_integration_dto: Optional[VonageSmsIntegrationDto] = None + typegen_246__fake_sms_integration_dto: Optional[FakeSmsIntegrationDto] = None + typegen_172__android_firebase_push_integration_dto: Optional[AndroidFirebasePushIntegrationDto] = None + typegen_173__apple_apns_push_integration_dto: Optional[AppleApnsPushIntegrationDto] = None + typegen_174__chrome_plugin_push_integration_dto: Optional[ChromePluginPushIntegrationDto] = None + typegen_175__chrome_web_push_integration_dto: Optional[ChromeWebPushIntegrationDto] = None + typegen_176__edge_web_push_integration_dto: Optional[EdgeWebPushIntegrationDto] = None + typegen_177__firefox_web_push_integration_dto: Optional[FirefoxWebPushIntegrationDto] = None + typegen_178__safari_push_integration_dto: Optional[SafariPushIntegrationDto] = None + typegen_247__fake_push_integration_dto: Optional[FakePushIntegrationDto] = None + typegen_179__aws_cross_account_role_email_integration_dto: Optional[AwsCrossAccountRoleEmailIntegrationDto] = None + typegen_180__aws_iam_email_integration_dto: Optional[AwsIamEmailIntegrationDto] = None + typegen_181__mail_gun_email_integration_dto: Optional[MailGunEmailIntegrationDto] = None + typegen_182__send_grid_email_integration_dto: Optional[SendGridEmailIntegrationDto] = None + typegen_183__smtp_email_integration_dto: Optional[SmtpEmailIntegrationDto] = None + typegen_248__fake_email_integration_dto: Optional[FakeEmailIntegrationDto] = None + typegen_192__webhook_integration_dto: Optional[WebhookIntegrationDto] = None + typegen_193__webhook_destination_dto: Optional[WebhookDestinationDto] = None + typegen_194__scheduler_task_dto: Optional[SchedulerTaskDto] = None + typegen_195__mongo_db_aggregate_dto: Optional[MongoDbAggregateDto] = None + typegen_196__marketplace_integration_dto: Optional[MarketplaceIntegrationDto] = None + typegen_197__marketplace_function_dto: Optional[MarketplaceFunctionDto] = None + typegen_198__marketplace_listing_dto: Optional[MarketplaceListingDto] = None + typegen_199__marketplace_function_definition_dto: Optional[MarketplaceFunctionDefinitionDto] = None + typegen_200__marketplace_function_parameter_dto: Optional[MarketplaceFunctionParameterDto] = None + typegen_201__enable_code: Optional[EnableCode] = None + typegen_202__disable_code: Optional[DisableCode] = None + typegen_203__get_code_integrations: Optional[GetCodeIntegrations] = None + typegen_204__get_code_integration: Optional[GetCodeIntegration] = None + typegen_205__save_code_integration: Optional[SaveCodeIntegration] = None + typegen_206__test_code_integration: Optional[TestCodeIntegration] = None + typegen_207__confirm_code_integration_human_delivery_request: Optional[ConfirmCodeIntegrationHumanDeliveryRequest] = None + typegen_208__set_code_integration_as_default: Optional[SetCodeIntegrationAsDefault] = None + typegen_209__delete_code_integration_request: Optional[DeleteCodeIntegrationRequest] = None + typegen_210__enable_code_integration_request: Optional[EnableCodeIntegrationRequest] = None + typegen_211__disable_code_integration_request: Optional[DisableCodeIntegrationRequest] = None + typegen_212__get_marketplace_listings: Optional[GetMarketplaceListings] = None + typegen_213__get_marketplace_listing_function_tokens: Optional[GetMarketplaceListingFunctionTokens] = None + typegen_214__get_marketplace_integrations: Optional[GetMarketplaceIntegrations] = None + typegen_215__get_marketplace_integration: Optional[GetMarketplaceIntegration] = None + typegen_216__save_marketplace_integration: Optional[SaveMarketplaceIntegration] = None + typegen_217__delete_marketplace_integration: Optional[DeleteMarketplaceIntegration] = None + typegen_218__enable_marketplace_integration: Optional[EnableMarketplaceIntegration] = None + typegen_219__disable_marketplace_integration: Optional[DisableMarketplaceIntegration] = None + typegen_221__get_marketplace_functions: Optional[GetMarketplaceFunctions] = None + typegen_222__get_marketplace_function: Optional[GetMarketplaceFunction] = None + typegen_223__save_marketplace_function: Optional[SaveMarketplaceFunction] = None + typegen_224__delete_marketplace_function: Optional[DeleteMarketplaceFunction] = None + typegen_225__enable_marketplace_function: Optional[EnableMarketplaceFunction] = None + typegen_226__disable_marketplace_function: Optional[DisableMarketplaceFunction] = None + typegen_227__get_marketplace_function_tokens: Optional[GetMarketplaceFunctionTokens] = None + typegen_228__invoke_marketplace_function: Optional[InvokeMarketplaceFunction] = None + typegen_232__get_marketplace_listing: Optional[GetMarketplaceListing] = None + typegen_233__test_marketplace_integration: Optional[TestMarketplaceIntegration] = None + typegen_234__test_marketplace_integration_response: Optional[TestMarketplaceIntegrationResponse] = None + typegen_235__get_marketplace_listing_response: Optional[GetMarketplaceListingResponse] = None + typegen_230__admin_portal_structure_dto: Optional[AdminPortalStructureDto] = None + typegen_231__admin_portal_module_dto: Optional[AdminPortalModuleDto] = None + typegen_236__user_message_entry_wire_dto: Optional[UserMessageEntryWireDto] = None + typegen_237__assistant_text_entry_wire_dto: Optional[AssistantTextEntryWireDto] = None + typegen_238__assistant_question_entry_wire_dto: Optional[AssistantQuestionEntryWireDto] = None + typegen_239__user_answer_entry_wire_dto: Optional[UserAnswerEntryWireDto] = None + typegen_240__plan_entry_wire_dto: Optional[PlanEntryWireDto] = None + typegen_241__user_decision_entry_wire_dto: Optional[UserDecisionEntryWireDto] = None + typegen_242__run_step_entry_wire_dto: Optional[RunStepEntryWireDto] = None + typegen_243__action_pending_entry_wire_dto: Optional[ActionPendingEntryWireDto] = None + typegen_244__notice_entry_wire_dto: Optional[NoticeEntryWireDto] = None + typegen_245__conversation_snapshot_entry_wire_dto: Optional[ConversationSnapshotEntryWireDto] = None -# @Route("/{version}/account/userauth/passkey/verify-registration", "POST") +# @Route("/{version}/echo", "GET") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class AccountVerifyPasskeyRegistrationRequest(RequestBase, IReturn[AccountPasskeyAuthTokensResponse]): - verification_token: Optional[str] = None - ceremony_id: Optional[str] = None - attestation_response: Optional[str] = None - friendly_name: Optional[str] = None +class Echo(RequestBase, IReturn[EchoResponse]): + pass -# @Route("/{version}/account/userauth/passkey/authentication-options", "POST") +# @Route("/{version}/public/projects/{ProjectId}/config", "GET") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class AccountPasskeyAuthenticationOptionsRequest(RequestBase, IReturn[AccountPasskeyCeremonyOptionsResponse]): - email: Optional[str] = None +class GetPublicProjectConfig(RequestBase, IReturn[PublicProjectConfigDto]): + project_id: Optional[str] = None -# @Route("/{version}/account/userauth/passkey/verify-authentication", "POST") +# @Route("/{version}/public/projects/{ProjectId}/legal/{Kind}", "GET") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class AccountVerifyPasskeyAuthenticationRequest(RequestBase, IReturn[AccountPasskeyAuthTokensResponse]): - ceremony_id: Optional[str] = None - assertion_response: Optional[str] = None +class GetPublicProjectLegal(RequestBase, IReturn[PublicLegalDocumentDto]): + project_id: Optional[str] = None + kind: Optional[str] = None -# @Route("/{version}/account/userauth/passkeys", "GET") +# @Route("/{version}/account/profile", "GET") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ListAccountPasskeysRequest(RequestBase, IReturn[AccountPasskeyListResponse]): +class GetAccountProfile(RequestBase, IReturn[GetAccountProfileResponse]): pass -# @Route("/{version}/account/userauth/passkeys/{CredentialId}/rename", "POST") +# @Route("/{version}/account/profile", "PUT") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class RenameAccountPasskeyRequest(RequestBase, IReturn[AccountPasskeyOkResponse]): - credential_id: Optional[str] = None - friendly_name: Optional[str] = None +class UpdateAccountProfile(RequestBase, IReturn[EmptyResponse]): + # @ApiMember(Description="Account owner's display name.", IsRequired=true) + display_name: Optional[str] = None + """ + Account owner's display name. + """ -# @Route("/{version}/account/userauth/passkeys/{CredentialId}/revoke", "POST") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class RevokeAccountPasskeyRequest(RequestBase, IReturn[AccountPasskeyOkResponse]): - credential_id: Optional[str] = None + # @ApiMember(Description="Email address used for billing communications.") + billing_email: Optional[str] = None + """ + Email address used for billing communications. + """ -# @Route("/{version}/account/userauth/passkey/enrollment-options", "POST") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class AccountPasskeyEnrollmentOptionsRequest(RequestBase, IReturn[AccountPasskeyCeremonyOptionsResponse]): - pass + # @ApiMember(Description="Email address used for operations communications.") + operations_email: Optional[str] = None + """ + Email address used for operations communications. + """ -# @Route("/{version}/account/userauth/passkey/verify-enrollment", "POST") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class AccountVerifyPasskeyEnrollmentRequest(RequestBase, IReturn[AccountPasskeyEnrollmentResponse]): - ceremony_id: Optional[str] = None - attestation_response: Optional[str] = None - friendly_name: Optional[str] = None + # @ApiMember(Description="Email address used for security-related communications.") + security_email: Optional[str] = None + """ + Email address used for security-related communications. + """ -# @Route("/{version}/account/licensing/dns-status", "GET") +# @Route("/{version}/account/verify/resend", "GET") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetLicenseDomainDnsStatus(RequestBase, IReturn[GetLicenseDomainDnsStatusResponse]): - domain: Optional[str] = None +class ResendAccountVerificationToken(RequestBase, IReturn[EmptyResponse]): + pass -# @Route("/{version}/licensing/domain-verification/start", "POST") +# @Route("/{version}/account/status", "GET") +# @Api(Description="Get Account Status.") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class StartLicenseDomainVerificationRequest(RequestBase, IReturn[StartLicenseDomainVerificationResponse]): - domain: Optional[str] = None +class GetAccountStatus(RequestBase, IReturn[GetAccountStatusResponse]): + """ + Get Account Status. + """ + pass -# @Route("/{version}/licensing/domain-verification/status", "GET") + +# @Route("/{version}/account/stripe/create-checkout-session", "POST") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetLicenseDomainVerificationStatus(RequestBase, IReturn[GetLicenseDomainVerificationStatusResponse]): +class CreateStripeCheckoutSession(RequestBase, IReturn[CreateStripeCheckoutSessionResponse]): + subscription_type: Optional[SubscriptionType] = None domain: Optional[str] = None + project_cap: int = 0 + new_project_session_id: Optional[str] = None + return_url: Optional[str] = None -# @Route("/{version}/account/licenses", "GET") +# @Route("/{version}/account/stripe/get-portal-url", "POST") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetLicenses(RequestBase, IReturn[GetLicensesResponse]): - pass +class GetStripeBillingPortalUrl(RequestBase, IReturn[GetStripeBillingPortalUrlResponse]): + # @ApiMember(Description="Which subscription (e.g. main account plan) to open the billing portal for.") + subscription_type: Optional[SubscriptionType] = None + """ + Which subscription (e.g. main account plan) to open the billing portal for. + """ -# @Route("/{version}/licensing/heartbeat", "POST") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PostLicenseHeartbeat(RequestBase, IReturn[PostLicenseHeartbeatResponse]): - license: Optional[str] = None - license_account_id: Optional[str] = None - installation_id: Optional[str] = None - domain: Optional[str] = None - host_kind: Optional[str] = None - release: Optional[str] = None - instance_version: Optional[str] = None + # @ApiMember(Description="URL to return to after the customer leaves the billing portal.") + return_url: Optional[str] = None + """ + URL to return to after the customer leaves the billing portal. + """ -# @Route("/{version}/account/licensing/status", "GET") +# @Route("/{version}/account/team/member", "POST") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetInstallationLicenseStatus(RequestBase, IReturn[GetInstallationLicenseStatusResponse]): - pass +class CreateTeamMemberFromInvitation(RequestBase, IReturn[CreateTeamMemberFromInvitationResponse]): + # @ApiMember(DataType="string", Description="Display name of the account holder", IsRequired=true, Name="DisplayName", ParameterType="form") + display_name: Optional[str] = None + """ + Display name of the account holder + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class AccountCreated: - email: Optional[EmailAddress] = None - display_name: Optional[DisplayName] = None - account_id: Optional[AccountId] = None - created_on: Optional[UtcDateTime] = None + # @ApiMember(DataType="string", Description="Token from invitation email", IsRequired=true, Name="Token", ParameterType="form") + token: Optional[str] = None + """ + Token from invitation email + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class AccountProfileUpdated: - display_name: Optional[DisplayName] = None - billing_email: Optional[EmailAddress] = None - operations_email: Optional[EmailAddress] = None - security_email: Optional[EmailAddress] = None + # @ApiMember(DataType="string", Description="Set password for a new account", Format="password", IsRequired=true, Name="Password", ParameterType="form") + password: Optional[str] = None + """ + Set password for a new account + """ +# @Route("/{version}/account/usage-billing", "GET") +# @Api(Description="Get Account Usage Billing.") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class AccountSetAsActive: +class GetAccountUsageBilling(RequestBase, IReturn[GetAccountUsageBillingResponse]): + """ + Get Account Usage Billing. + """ + pass +# @Route("/{version}/account/verify", "GET") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class AccountValidationTokenIssued: - expiration: Optional[ExpirationToken] = None +class VerifyAccount(RequestBase, IReturn[EmptyResponse], IHasAccountId): + token: Optional[str] = None + account_id: Optional[str] = None +# @Route("/{version}/account/projects/{projectId}/notifications/settings/group", "DELETE") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class AccountVerified: - pass +class DeleteNotificationsGroup(CodeMashRequestBase, IReturn[EmptyResponse]): + # @ApiMember(Description="Tag identifying the notification group to remove.", IsRequired=true) + group_tag: Optional[str] = None + """ + Tag identifying the notification group to remove. + """ +# @Route("/{version}/account/projects/{projectId}/notifications/settings/tag", "DELETE") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class AccountBlocked: - pass +class DeleteNotificationsTag(CodeMashRequestBase, IReturn[EmptyResponse]): + # @ApiMember(Description="Tag identifying the notification tag to delete.", IsRequired=true) + tag: Optional[str] = None + """ + Tag identifying the notification tag to delete. + """ +# @Route("/{version}/account/projects/{projectId}/notifications/settings/group/tag", "DELETE") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class AccountSetAsInactive: - pass +class RemoveTagFromNotificationsGroup(CodeMashRequestBase, IReturn[EmptyResponse]): + # @ApiMember(Description="Tag identifying the notification group.", IsRequired=true) + group_tag: Optional[str] = None + """ + Tag identifying the notification group. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class AccountUnregistered: - pass + # @ApiMember(Description="Tag identifying the notification tag to remove from the group.", IsRequired=true) + tag: Optional[str] = None + """ + Tag identifying the notification tag to remove from the group. + """ +# @Route("/{version}/account/projects/{projectId}/notifications/settings/group", "POST") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class LicenseCreated: - license: Optional[CodeMashLicense] = None +class SaveNotificationsGroup(CodeMashRequestBase, IReturn[EmptyResponse]): + # @ApiMember(Description="The group's tag and translations to save. The tag identifies the group; translations provide its display name per locale.", IsRequired=true) + group_definition: Optional[GroupDefinitionDto] = None + """ + The group's tag and translations to save. The tag identifies the group; translations provide its display name per locale. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class ProjectCreated: - id: Optional[ProjectId] = None - name: Optional[ProjectName] = None - database_integration_id: Optional[IntegrationId] = None - primary_region: Optional[ProjectRegion] = None - additional_regions: Optional[List[ProjectRegion]] = None - description: Optional[str] = None - is_provisioning: bool = False + # @ApiMember(Description="Communication channel (e.g. Email, Push) this group belongs to.") + channel: Optional[CommunicationChannel] = None + """ + Communication channel (e.g. Email, Push) this group belongs to. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class ProjectActivated: - pass + # @ApiMember(Description="If moving the group to a different channel, the channel it currently belongs to.") + origin_channel: Optional[CommunicationChannel] = None + """ + If moving the group to a different channel, the channel it currently belongs to. + """ +# @Route("/{version}/account/projects/{projectId}/notifications/settings/tag", "POST") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectSuspendedByLicense: - pass +class SaveNotificationsTag(CodeMashRequestBase, IReturn[EmptyResponse]): + # @ApiMember(Description="The tag's identifier, translations, and default per-delivery-channel enabled/disabled settings.", IsRequired=true) + tag_definition: Optional[TagDefinitionDto] = None + """ + The tag's identifier, translations, and default per-delivery-channel enabled/disabled settings. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class ProjectResumedFromLicenseSuspension: - pass + # @ApiMember(Description="Communication channel (e.g. Email, Push) this tag belongs to.") + channel: Optional[CommunicationChannel] = None + """ + Communication channel (e.g. Email, Push) this tag belongs to. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class ProjectDisabled: - pass + # @ApiMember(Description="Tag of the group this notification tag should be placed under, if any.") + group_tag: Optional[str] = None + """ + Tag of the group this notification tag should be placed under, if any. + """ +# @Route("/{version}/account/projects", "POST") +# @Api(Description="Create a new backend project.") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectDeleted: - pass +class CreateProjectRequest(RequestBase, IReturn[IdResponse]): + """ + Create a new backend project. + """ + + integration: Optional[DatabaseIntegrationRequest] = None + # @ApiMember(Description="Project name, unique per account.") + project_name: Optional[str] = None + """ + Project name, unique per account. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class ProjectNameChanged: - project_name: Optional[ProjectName] = None + # @ApiMember(Description="Region code for the primary region, e.g. 'nb-eu-germany'. Use a code from get_account_regions.") + primary_region: Optional[str] = None + """ + Region code for the primary region, e.g. 'nb-eu-germany'. Use a code from get_account_regions. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class ProjectDescriptionChanged: + additional_regions: Optional[List[str]] = None description: Optional[str] = None +# @Route("/{version}/account/projects/{projectId}", "DELETE") +# @Api(Description="Deletes project") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectMarketingUrlChanged: - url: Optional[DomainUrl] = None - +class DeleteProject(CodeMashRequestBase, IReturn[EmptyResponse]): + """ + Deletes project + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class ProjectAdminUrlChanged: - url: Optional[DomainUrl] = None + pass +# @Route("/{version}/account/projects/environments", "POST") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectLegalDocumentsChanged: - documents: Optional[ProjectLegalDocuments] = None +class CreateProjectEnvironmentRequest(CodeMashRequestBase, IReturn[EmptyResponse]): + # @ApiMember(Description="Name for the new environment (e.g. 'TEST', 'STAGING'). A-Z/0-9/space, up to 15 chars, cannot be PROD.", IsRequired=true) + environment_name: Optional[str] = None + """ + Name for the new environment (e.g. 'TEST', 'STAGING'). A-Z/0-9/space, up to 15 chars, cannot be PROD. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class ProjectExposeLegalToAdminPortalChanged: - exposed: bool = False + integration: Optional[DatabaseIntegrationRequest] = None +# @Route("/{version}/account/projects/environments/{environmentName}", "DELETE") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectAdminPortalServiceUserAssigned: - service_user_id: Optional[AuthId] = None +class DeleteProjectEnvironmentRequest(CodeMashRequestBase, IReturn[EmptyResponse]): + # @ApiMember(Description="Name of the environment to delete (from get_project_environments), e.g. 'TEST'. PROD is rejected.", IsRequired=true) + environment_name: Optional[str] = None + """ + Name of the environment to delete (from get_project_environments), e.g. 'TEST'. PROD is rejected. + """ +# @Route("/{version}/account/projects/environments/{environmentName}/rank", "PATCH") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectAllowedOriginsChanged: - origins: Optional[List[DomainUrl]] = None +class SetEnvironmentRankRequest(CodeMashRequestBase, IReturn[EmptyResponse]): + # @ApiMember(Description="Name of the environment to re-rank (from get_project_environments).", IsRequired=true) + environment_name: Optional[str] = None + """ + Name of the environment to re-rank (from get_project_environments). + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class ProjectEnvironmentCreated: - env: Optional[Env] = None - ranks: Dict[str, int] = field(default_factory=dict) + # @ApiMember(Description="New promotion-ladder rank. Out-of-range values are clamped and ranks re-normalized.") + rank: int = 0 + """ + New promotion-ladder rank. Out-of-range values are clamped and ranks re-normalized. + """ +# @Route("/{version}/account/projects/environments/promote", "POST") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectEnvironmentDeleted: - env: Optional[Env] = None - ranks: Dict[str, int] = field(default_factory=dict) +class PromoteEnvironmentRequest(CodeMashRequestBase, IReturn[PromoteEnvironmentResponse]): + # @ApiMember(Description="Environment to promote FROM (source of truth for this promotion).", IsRequired=true) + source_env: Optional[str] = None + """ + Environment to promote FROM (source of truth for this promotion). + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class ProjectEnvironmentRanksChanged: - ranks: Dict[str, int] = field(default_factory=dict) + # @ApiMember(Description="Environment to promote INTO. Must be higher on the promotion ladder than SourceEnv.", IsRequired=true) + target_env: Optional[str] = None + """ + Environment to promote INTO. Must be higher on the promotion ladder than SourceEnv. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class ProjectDefaultLanguageChanged: - language: Optional[Language] = None + # @ApiMember(Description="When true, only returns the promotion plan (including deletions) without applying it or copying secrets. Use this to preview before a real run.") + dry_run: bool = False + """ + When true, only returns the promotion plan (including deletions) without applying it or copying secrets. Use this to preview before a real run. + """ +# @Route("/{version}/account/projects/environments/promote/rollback", "POST") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectLanguagesChanged: - languages: List[Language] = field(default_factory=list) +class RollbackPromotionRequest(CodeMashRequestBase, IReturn[PromoteEnvironmentResponse]): + # @ApiMember(Description="Environment whose content should be rolled back.", IsRequired=true) + target_env: Optional[str] = None + """ + Environment whose content should be rolled back. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class ProjectLogoChanged: - logo: Optional[ProjectLogo] = None + # @ApiMember(Description="The fromVersion anchor returned by the promote_environment call being rolled back.", IsRequired=true) + from_version: int = 0 + """ + The fromVersion anchor returned by the promote_environment call being rolled back. + """ +# @Route("/{version}/account/projects/environments", "GET") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectIconChanged: - icon: Optional[ProjectIcon] = None +class GetProjectEnvironments(CodeMashRequestBase, IReturn[GetProjectEnvironmentsResponse]): + pass +# @Route("/{version}/account/projects/{projectId}", "GET") +# @Api(Description="Gets project info.") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectMainColorChanged: - color: Optional[BrandColor] = None - +class GetProject(CodeMashRequestBase, IReturn[GetProjectResponse]): + """ + Gets project info. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class ProjectAccentColorChanged: - color: Optional[BrandColor] = None + pass +# @Route("/{version}/account/projects", "GET") +# @Api(Description="Retrieve projects list.") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectRegionsChanged: - primary_region: Optional[ProjectRegion] = None - additional_regions: Optional[List[ProjectRegion]] = None - +class GetProjects(RequestBase, IReturn[GetProjectsResponse]): + """ + Retrieve projects list. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class ProjectCommunicationSet: - project_communication: Optional[ProjectCommunication] = None + pass +# @Route("/{version}/account/regions", "GET") +# @Api(Description="Get available project regions.") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectTimeZoneChanged: - time_zone: Optional[TimeZone] = None +class GetAccountRegions(RequestBase, IReturn[GetAccountRegionsResponse]): + """ + Get available project regions. + """ + + pass +# @Route("/{version}/account/projects/{projectId}/wait-active", "GET") +# @Api(Description="Waits (bounded, server-side) for a project to finish provisioning and become active.") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectPaymentZonesChanged: - payment_zones: Optional[List[TimeZone]] = None +class WaitForProjectActiveRequest(CodeMashRequestBase, IReturn[WaitForProjectActiveResponse]): + """ + Waits (bounded, server-side) for a project to finish provisioning and become active. + """ + + # @ApiMember(Description="Max seconds to wait before returning 'not active yet' (default 30, capped at 90).") + timeout_seconds: Optional[int] = None + """ + Max seconds to wait before returning 'not active yet' (default 30, capped at 90). + """ +# @Route("/{version}/account/projects/{projectId}/tokens", "GET") +# @Api(Description="Gets project tokens.") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectCommunicationGroupSaved: - group: Optional[GroupDefinition] = None - channel: Optional[CommunicationChannel] = None - origin_channel: Optional[CommunicationChannel] = None +class GetProjectTokens(CodeMashRequestBase, IReturn[GetProjectTokensResponse]): + """ + Gets project tokens. + """ + + initiator_id: Optional[str] = None + recipient_id: Optional[str] = None + target_user_id: Optional[str] = None + membership_trigger_old_user_id: Optional[str] = None + membership_trigger_new_user_id: Optional[str] = None +# @Route("/{version}/account/projects/{projectId}/settings/admin-portal/service-user", "PUT") +# @Api(Description="Assigns the project's Admin Portal service user") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectCommunicationTagFromGroupDeleted: - group_tag: Optional[Tag] = None - removed_tag: Optional[Tag] = None +class AssignAdminPortalServiceUserRequest(CodeMashRequestBase, IReturn[EmptyResponse]): + """ + Assigns the project's Admin Portal service user + """ + + # @ApiMember(Description="Id of the existing AuthType.Service user to assign as the project's Admin Portal service user.", IsRequired=true) + service_user_id: Optional[str] = None + """ + Id of the existing AuthType.Service user to assign as the project's Admin Portal service user. + """ +# @Route("/{version}/account/projects/{projectId}/admin-portal/structure", "GET") +# @Api(Description="Reads the Admin Portal layout/structure (service user only)") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectCommunicationGroupDeleted: - group_tag: Optional[Tag] = None +class GetAdminPortalStructure(CodeMashRequestBase, IReturn[AdminPortalStructureDto]): + """ + Reads the Admin Portal layout/structure (service user only) + """ + + pass +# @Route("/{version}/account/projects/{projectId}/settings/admin-url", "PATCH") +# @Api(Description="Updates the project's admin-portal URL override") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectCommunicationTagSaved: - tag: Optional[TagDefinition] = None - group_tag: Optional[Tag] = None - channel: Optional[CommunicationChannel] = None +class UpdateProjectAdminUrl(CodeMashRequestBase, IReturn[EmptyResponse]): + """ + Updates the project's admin-portal URL override + """ + + # @ApiMember(Description="Custom admin-portal URL to use instead of the canonical address. Null/empty restores the canonical pr_{id}.admin.{host} address.") + url: Optional[str] = None + """ + Custom admin-portal URL to use instead of the canonical address. Null/empty restores the canonical pr_{id}.admin.{host} address. + """ +# @Route("/{version}/account/projects/{projectId}/settings/accent-color", "PATCH") +# @Api(Description="Updates project accent color") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectCommunicationTagDeleted: - tag: Optional[Tag] = None +class UpdateProjectAccentColor(CodeMashRequestBase, IReturn[EmptyResponse]): + """ + Updates project accent color + """ + + # @ApiMember(Description="Hex color code, e.g. '#FF6D00'.", IsRequired=true) + color: Optional[str] = None + """ + Hex color code, e.g. '#FF6D00'. + """ +# @Route("/{version}/account/projects/{projectId}/settings/icon", "PATCH") +# @Api(Description="Updates project icon") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class CustomerCreated: - payment_customer_ref: Optional[PaymentCustomerRef] = None +class UpdateProjectIcon(CodeMashRequestBase, IReturn[EmptyResponse]): + """ + Updates project icon + """ + + file_resource: Optional[FileResourceRefDto] = None +# @Route("/{version}/account/projects/{projectId}/settings/logo", "PATCH") +# @Api(Description="Updates project logo") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SubscriptionChanged: - subscription: Optional[CodeMashManagedServiceSubscription] = None +class UpdateProjectLogo(CodeMashRequestBase, IReturn[EmptyResponse]): + """ + Updates project logo + """ + + file_resource: Optional[FileResourceRefDto] = None +# @Route("/{version}/account/projects/{projectId}/settings/main-color", "PATCH") +# @Api(Description="Updates project main color") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SubscriptionCanceled: - payment_customer_ref: Optional[PaymentCustomerRef] = None - subscription_id: Optional[str] = None +class UpdateProjectMainColor(CodeMashRequestBase, IReturn[EmptyResponse]): + """ + Updates project main color + """ + + # @ApiMember(Description="Hex color code, e.g. '#1A73E8'.", IsRequired=true) + color: Optional[str] = None + """ + Hex color code, e.g. '#1A73E8'. + """ +# @Route("/{version}/account/projects/{projectId}/settings/origins", "PATCH") +# @Api(Description="Updates project CORS settings") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class AccountTeamPolicyCreated: - policy: Optional[MembershipPolicy] = None +class UpdateProjectAllowedOrigins(CodeMashRequestBase, IReturn[EmptyResponse]): + """ + Updates project CORS settings + """ + + # @ApiMember(Description="The complete new list of allowed origin URLs, e.g. [\"https://app.example.com\", \"https://example.com\"]. An entry with no scheme (e.g. \"example.com\") defaults to https. Whatever is not in this list stops being allowed.") + origins: Optional[List[str]] = None + """ + The complete new list of allowed origin URLs, e.g. ["https://app.example.com", "https://example.com"]. An entry with no scheme (e.g. "example.com") defaults to https. Whatever is not in this list stops being allowed. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class AccountTeamPolicyUpdated: - policy: Optional[MembershipPolicy] = None + # @ApiMember(Description="Optional. true removes the project's own Admin Portal origin (pr_{projectId}.{admin host}) on purpose. Without it, a list that drops that origin is rejected with CM-ERRORS-PROJECTS-037, because the Norbix-generated end-user portal could no longer call the project's API.") + remove_admin_portal_origin: Optional[bool] = None + """ + Optional. true removes the project's own Admin Portal origin (pr_{projectId}.{admin host}) on purpose. Without it, a list that drops that origin is rejected with CM-ERRORS-PROJECTS-037, because the Norbix-generated end-user portal could no longer call the project's API. + """ +# @Route("/{version}/account/projects/{projectId}/settings/default-language", "PATCH") +# @Api(Description="Update project default language") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class AccountTeamPolicyDeleted: - policy_id: Optional[PolicyId] = None +class UpdateProjectDefaultLanguage(CodeMashRequestBase, IReturn[EmptyResponse]): + """ + Update project default language + """ + + # @ApiMember(Description="Language code, e.g. 'en' or 'de'.", IsRequired=true) + default_language: Optional[str] = None + """ + Language code, e.g. 'en' or 'de'. + """ +# @Route("/{version}/account/projects/{projectId}/settings/description", "PATCH") +# @Api(Description="Updates project description") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class AccountTeamRoleCreated: - role: Optional[MembershipRole] = None +class UpdateProjectDescription(CodeMashRequestBase, IReturn[EmptyResponse]): + """ + Updates project description + """ + + # @ApiMember(Description="The new description text. Omit (null) to clear the description.") + description: Optional[str] = None + """ + The new description text. Omit (null) to clear the description. + """ +# @Route("/{version}/account/projects/{projectId}/disable", "PATCH") +# @Api(Description="Disables project") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class AccountTeamRoleUpdated: - role: Optional[MembershipRole] = None +class DisableProject(CodeMashRequestBase, IReturn[EmptyResponse]): + """ + Disables project + """ + + pass +# @Route("/{version}/account/projects/{projectId}/enable", "PATCH") +# @Api(Description="Enables project") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class AccountTeamRoleDeleted: - role_id: Optional[RoleId] = None +class EnableProject(CodeMashRequestBase, IReturn[EmptyResponse]): + """ + Enables project + """ + + pass +# @Route("/{version}/account/projects/{projectId}/settings/languages", "PATCH") +# @Api(Description="Updates project languages") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class AtlasUsageRecorded: - record: Optional[AtlasUsageRecord] = None +class UpdateProjectLanguages(CodeMashRequestBase, IReturn[EmptyResponse]): + """ + Updates project languages + """ + + # @ApiMember(Description="The complete new list of language codes, e.g. [\"en\", \"de\", \"lt\"].", IsRequired=true) + languages: List[str] = field(default_factory=list) + """ + The complete new list of language codes, e.g. ["en", "de", "lt"]. + """ +# @Route("/{version}/account/projects/{projectId}/settings/legal", "PATCH") +# @Api(Description="Updates the project's public legal documents (Terms & Conditions, Privacy Policy)") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class UsageBillingIngestionFailed: - failure: Optional[UsageIngestionFailure] = None +class UpdateProjectLegalDocuments(CodeMashRequestBase, IReturn[EmptyResponse]): + """ + Updates the project's public legal documents (Terms & Conditions, Privacy Policy) + """ + + # @ApiMember(Description="Terms & Conditions document, Markdown. Null/empty clears it.") + terms_markdown: Optional[str] = None + """ + Terms & Conditions document, Markdown. Null/empty clears it. + """ -# @Route("/{version}/membership/disable", "GET") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class DisableMembership(CodeMashRequestBase, IReturn[EmptyResponse]): - pass + # @ApiMember(Description="Privacy Policy document, Markdown. Null/empty clears it.") + privacy_markdown: Optional[str] = None + """ + Privacy Policy document, Markdown. Null/empty clears it. + """ -# @Route("/{version}/membership/enable", "GET") +# @Route("/{version}/account/projects/{projectId}/settings/legal/expose", "PATCH") +# @Api(Description="Sets whether the project's legal documents are publicly readable via the Admin Portal") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class EnableMembership(CodeMashRequestBase, IReturn[EmptyResponse]): - pass +class UpdateProjectExposeLegal(CodeMashRequestBase, IReturn[EmptyResponse]): + """ + Sets whether the project's legal documents are publicly readable via the Admin Portal + """ + + # @ApiMember(Description="True to make the legal documents publicly readable via the Admin Portal, false to hide them.") + exposed: bool = False + """ + True to make the legal documents publicly readable via the Admin Portal, false to hide them. + """ -# @Route("/{version}/membership/users/{Id}/api-keys", "POST") -# @Api(Description="Membership") +# @Route("/{version}/account/projects/{projectId}/settings/url", "PATCH") +# @Api(Description="Updates project marketing url") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class IssueServiceUserApiKeyRequest(CodeMashRequestBase, IReturn[IssueServiceUserApiKeyResponse]): +class UpdateProjectUrl(CodeMashRequestBase, IReturn[EmptyResponse]): """ - Membership + Updates project marketing url """ - id: Optional[str] = None - database_integration_id: Optional[str] = None - name: Optional[str] = None - scopes: Optional[List[str]] = None - expires_in_days: Optional[int] = None - notes: Optional[str] = None + # @ApiMember(Description="The marketing site URL, e.g. 'https://example.com'. Omit (null) to clear.") + url: Optional[str] = None + """ + The marketing site URL, e.g. 'https://example.com'. Omit (null) to clear. + """ -# @Route("/{version}/membership/users/{Id}/api-keys", "GET") -# @Api(Description="Membership") +# @Route("/{version}/account/projects/{projectId}/settings/name", "PATCH") +# @Api(Description="Updates project name") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ListServiceUserApiKeysRequest(CodeMashRequestBase, IReturn[ListServiceUserApiKeysResponse]): +class UpdateProjectName(CodeMashRequestBase, IReturn[EmptyResponse]): """ - Membership + Updates project name """ - # @ApiMember(Description="The service user's auth id.", IsRequired=true) - id: Optional[str] = None + # @ApiMember(Description="The new project name, unique per account.", IsRequired=true) + name: Optional[str] = None """ - The service user's auth id. + The new project name, unique per account. """ -# @Route("/{version}/membership/users/{Id}/api-keys/{KeyId}", "DELETE") -# @Api(Description="Membership") +# @Route("/{version}/account/projects/{projectId}/settings/regions", "PATCH") +# @Api(Description="Updates project regions") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class DeleteServiceUserApiKeyRequest(CodeMashRequestBase, IReturn[EmptyResponse]): +class UpdateProjectRegions(CodeMashRequestBase, IReturn[EmptyResponse]): """ - Membership + Updates project regions """ - # @ApiMember(Description="The service user's auth id.", IsRequired=true) - id: Optional[str] = None + # @ApiMember(Description="Primary region code, e.g. 'nb-eu-germany'. Immutable once set — omit to keep the current one; only set it on a project that has none.") + primary_region: Optional[str] = None """ - The service user's auth id. + Primary region code, e.g. 'nb-eu-germany'. Immutable once set — omit to keep the current one; only set it on a project that has none. """ - # @ApiMember(Description="The key id to delete, from list_service_user_api_keys.", IsRequired=true) - key_id: int = 0 + # @ApiMember(Description="The complete new list of additional region codes (full replacement). A region that still hosts a provisioned database cluster cannot be removed.") + additional_regions: Optional[List[str]] = None """ - The key id to delete, from list_service_user_api_keys. + The complete new list of additional region codes (full replacement). A region that still hosts a provisioned database cluster cannot be removed. """ -# @Route("/{version}/membership/triggers/{triggerId}", "DELETE") +# @Route("/{version}/account", "POST") +# @Api(Description="This API endpoint allows users to create a new CodeMash account.") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class DeleteMembershipTrigger(DeleteTrigger, IReturn[EmptyResponse]): - pass - +class CreateAccount(RequestBase, IReturn[CreateAccountResponse]): + """ + This API endpoint allows users to create a new CodeMash account. + """ -# @Route("/{version}/membership/triggers/{triggerId}/disable", "PATCH") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class DisableMembershipTrigger(DisableTrigger, IReturn[EmptyResponse]): - pass + # @ApiMember(DataType="string", Description="Display name of the account holder", IsRequired=true, Name="DisplayName", ParameterType="form") + display_name: Optional[str] = None + """ + Display name of the account holder + """ -# @Route("/{version}/membership/triggers/{triggerId}/enable", "PATCH") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class EnableMembershipTrigger(EnableTrigger, IReturn[EmptyResponse]): - pass + # @ApiMember(DataType="string", Description="Real email of account holder", IsRequired=true, Name="Email", ParameterType="form") + email: Optional[str] = None + """ + Real email of account holder + """ -# @Route("/{version}/membership/triggers/{id}", "GET") -# @Api(Description="Gets membership trigger by specified Id") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetMembershipTrigger(GetTrigger, IReturn[GetMembershipTriggerResponse]): + # @ApiMember(DataType="string", Description="Set password for a new account", Format="password", IsRequired=true, Name="Password", ParameterType="form") + password: Optional[str] = None """ - Gets membership trigger by specified Id + Set password for a new account """ - pass - -# @Route("/{version}/membership/triggers", "GET") -# @Api(Description="Gets membership triggers") +# @Route("/{version}/account/team/member/password", "POST") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetMembershipTriggers(GetTriggers, IReturn[GetMembershipTriggersResponse]): - """ - Gets membership triggers - """ - - pass +class ChangeTeamMemberPassword(RequestBase, IReturn[IdResponse]): + email: Optional[str] = None + current_password: Optional[str] = None + new_password: Optional[str] = None -# @Route("/{version}/membership/triggers", "POST") +# @Route("/{version}/account/team/member/create", "POST") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SaveMembershipTrigger(SaveTrigger, IReturn[IdResponse]): - pass +class CreateTeamMember(RequestBase, IReturn[IdResponse]): + email: Optional[str] = None + display_name: Optional[str] = None + password: Optional[str] = None + roles: Optional[List[str]] = None + send_invitation: bool = False -# @Route("/{version}/membership/roles", "POST") -# @Api(Description="Create a new custom role for project.") +# @Route("/{version}/account/team/policies", "POST") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class CreateRole(CodeMashRequestBase, IReturn[IdResponse]): +class CreateAccountPolicy(RequestBase, IReturn[IdResponse]): + # @ApiMember(Description="Name for the new custom account policy.", IsRequired=true) + policy_name: Optional[str] = None """ - Create a new custom role for project. + Name for the new custom account policy. """ - # @ApiMember(Description="Display name of the new role, unique within the project.", IsRequired=true) - role_name: Optional[str] = None + + # @ApiMember(Description="Optional human-readable description of the policy's purpose.") + description: Optional[str] = None """ - Display name of the new role, unique within the project. + Optional human-readable description of the policy's purpose. """ - description: Optional[str] = None - # @ApiMember(Description="Policy ids to attach. These are OPAQUE ids from get_policies (e.g. 'pol_3kJ9xJ2mQ0aBcDeFgHiJk') — NEVER invent them or guess from a policy name. Omit this to create a role with no policies and attach them later.") - policies: Optional[List[str]] = None + # @ApiMember(Description="Raw JSON policy document, AWS-IAM style (Statement array of Effect/Action/Resource entries), matching PolicyDocument.schema.json. This defines which permissions the policy grants.") + policy_document_json: Optional[str] = None """ - Policy ids to attach. These are OPAQUE ids from get_policies (e.g. 'pol_3kJ9xJ2mQ0aBcDeFgHiJk') — NEVER invent them or guess from a policy name. Omit this to create a role with no policies and attach them later. + Raw JSON policy document, AWS-IAM style (Statement array of Effect/Action/Resource entries), matching PolicyDocument.schema.json. This defines which permissions the policy grants. """ -# @Route("/{version}/membership/roles", "DELETE") -# @Api(Description="Deletes custom role from project.") +# @Route("/{version}/account/team/roles", "POST") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class DeleteRole(CodeMashRequestBase, IReturn[EmptyResponse]): +class CreateAccountRole(RequestBase, IReturn[IdResponse]): + # @ApiMember(Description="Name for the new custom account team role.", IsRequired=true) + role_name: Optional[str] = None """ - Deletes custom role from project. + Name for the new custom account team role. """ - # @ApiMember(Description="Id of the role to delete, from get_roles.", IsRequired=true) - id: Optional[str] = None + + # @ApiMember(Description="Optional human-readable description of the role's purpose.") + description: Optional[str] = None """ - Id of the role to delete, from get_roles. + Optional human-readable description of the role's purpose. """ -# @Route("/{version}/membership/roles/{Id}", "GET") -# @Api(Description="Gets project role details.") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetRole(CodeMashRequestBase, IReturn[GetRoleResponse]): + # @ApiMember(Description="Public policy ids (from get_account_team_policies) to attach to this role.") + policies: Optional[List[str]] = None """ - Gets project role details. + Public policy ids (from get_account_team_policies) to attach to this role. """ - # @ApiMember(Description="Role id from get_roles.", IsRequired=true) + +# @Route("/{version}/account/team/policies/{Id}", "DELETE") +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class DeleteAccountPolicy(RequestBase, IReturn[IdResponse]): + # @ApiMember(Description="Public policy id (from get_account_team_policies) to delete.", IsRequired=true) id: Optional[str] = None """ - Role id from get_roles. + Public policy id (from get_account_team_policies) to delete. """ -# @Route("/{version}/membership/roles", "GET") -# @Api(Description="Gets project roles.") +# @Route("/{version}/account/team/roles/{Id}", "DELETE") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetRoles(CodeMashRequestBase, IReturn[GetRolesResponse]): +class DeleteAccountRole(RequestBase, IReturn[IdResponse]): + # @ApiMember(Description="Role template id (from get_account_team_roles) to delete.", IsRequired=true) + id: Optional[str] = None """ - Gets project roles. + Role template id (from get_account_team_roles) to delete. """ - pass - -# @Route("/{version}/membership/roles", "PATCH") -# @Api(Description="Updates role policies") +# @Route("/{version}/account/collaborators", "GET") +# @Api(Description="Gets account team members (collaborators)") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class UpdateRolePolicies(CodeMashRequestBase, IReturn[EmptyResponse]): +class GetAccountCollaborators(RequestBase, IReturn[GetAccountCollaboratorsResponse]): """ - Updates role policies + Gets account team members (collaborators) """ - # @ApiMember(Description="Id of the role to update, from get_roles.", IsRequired=true) - id: Optional[str] = None + # @ApiMember(Description="Set true to also include the account owner in the list.") + include_account_owner: bool = False """ - Id of the role to update, from get_roles. + Set true to also include the account owner in the list. """ - # @ApiMember(Description="The role's name — required; resend the current name to keep it.", IsRequired=true) - role_name: Optional[str] = None + # @ApiMember(Description="Set true to only return members that have a registered push device.") + user_should_have_push_device: bool = False """ - The role's name — required; resend the current name to keep it. + Set true to only return members that have a registered push device. """ - description: Optional[str] = None - # @ApiMember(Description="The complete new list of attached policy ids (full replacement), opaque ids from get_policies (e.g. 'pol_3kJ9xJ2mQ0aBcDeFgHiJk') — never invent or guess them.") - policies: Optional[List[str]] = None + # @ApiMember(Description="Optional project id — only members with access to that project.") + project_id: Optional[str] = None """ - The complete new list of attached policy ids (full replacement), opaque ids from get_policies (e.g. 'pol_3kJ9xJ2mQ0aBcDeFgHiJk') — never invent or guess them. + Optional project id — only members with access to that project. """ -# @Route("/{version}/membership/policies", "POST") -# @Api(Description="Create a new custom policy for project.") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class CreatePolicy(CodeMashRequestBase, IReturn[IdResponse]): + # @ApiMember(Description="Optional filter: only these user ids.") + user_ids: Optional[List[str]] = None """ - Create a new custom policy for project. + Optional filter: only these user ids. """ - # @ApiMember(Description="Display name of the new policy, unique within the project.", IsRequired=true) - policy_name: Optional[str] = None + + # @ApiMember(Description="Optional filter: only members having one of these role names.") + role_names: Optional[List[str]] = None """ - Display name of the new policy, unique within the project. + Optional filter: only members having one of these role names. """ - # @ApiMember(Description="Optional human-readable description of what the policy grants.") - description: Optional[str] = None - """ - Optional human-readable description of what the policy grants. - """ + paging_args: Optional[PagingArgs] = None - # @ApiMember(Description="AWS-IAM-style policy document as a raw JSON string (an object with a permission statement list) matching PolicyDocument.schema.json. Malformed or invalid documents are rejected before any change is made.") - policy_document_json: Optional[str] = None - """ - AWS-IAM-style policy document as a raw JSON string (an object with a permission statement list) matching PolicyDocument.schema.json. Malformed or invalid documents are rejected before any change is made. - """ +# @Route("/{version}/account/team/password-policy", "GET") +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class GetAccountPasswordPolicy(RequestBase, IReturn[GetAccountPasswordPolicyResponse]): + pass -# @Route("/{version}/membership/policies", "DELETE") -# @Api(Description="Deletes custom policy from project.") +# @Route("/{version}/account/team/policies", "GET") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class DeletePolicy(CodeMashRequestBase, IReturn[EmptyResponse]): - """ - Deletes custom policy from project. - """ +class GetAccountTeamPolicies(RequestBase, IReturn[GetAccountTeamPoliciesResponse]): + pass - # @ApiMember(Description="Public policy id, e.g. 'pol_database-read', from get_policies.", IsRequired=true) - id: Optional[str] = None - """ - Public policy id, e.g. 'pol_database-read', from get_policies. - """ + +# @Route("/{version}/account/team/roles", "GET") +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class GetAccountTeamRoles(RequestBase, IReturn[GetAccountTeamRolesResponse]): + pass -# @Route("/{version}/membership/policies/{Id}", "GET") -# @Api(Description="Gets project policy details.") +# @Route("/{version}/account/team/member/invite", "POST") +# @Api(Description="Send invite to team member") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetPolicy(CodeMashRequestBase, IReturn[GetPolicyResponse]): +class SendInviteToTeamMember(RequestBase, IReturn[EmptyResponse]): """ - Gets project policy details. + Send invite to team member """ - # @ApiMember(Description="Public policy id, e.g. 'pol_database-read', from get_policies.", IsRequired=true) - id: Optional[str] = None + # @ApiMember(Description="Email address the invitation is sent to.", IsRequired=true) + email: Optional[str] = None """ - Public policy id, e.g. 'pol_database-read', from get_policies. + Email address the invitation is sent to. """ -# @Route("/{version}/membership/policies", "GET") -# @Api(Description="Gets project policies.") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetPolicies(CodeMashRequestBase, IReturn[GetPoliciesResponse]): + # @ApiMember(Description="Account role ids (GUIDs from get_account_team_roles) the member gets on accepting. Omit for the default member role.") + roles: Optional[List[str]] = None """ - Gets project policies. + Account role ids (GUIDs from get_account_team_roles) the member gets on accepting. Omit for the default member role. """ - pass - -# @Route("/{version}/membership/policies", "PUT") -# @Api(Description="Updates a custom policy for project.") +# @Route("/{version}/account/team/policies", "PUT") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class UpdatePolicy(CodeMashRequestBase, IReturn[IdResponse]): - """ - Updates a custom policy for project. - """ - - # @ApiMember(Description="Public policy id, e.g. 'pol_database-read', from get_policies.", IsRequired=true) +class UpdateAccountPolicy(RequestBase, IReturn[IdResponse]): + # @ApiMember(Description="Public policy id (from get_account_team_policies) to update.", IsRequired=true) id: Optional[str] = None """ - Public policy id, e.g. 'pol_database-read', from get_policies. + Public policy id (from get_account_team_policies) to update. """ - # @ApiMember(Description="The policy's name — required; resend the current name to keep it.", IsRequired=true) + # @ApiMember(Description="New name for the policy.", IsRequired=true) policy_name: Optional[str] = None """ - The policy's name — required; resend the current name to keep it. + New name for the policy. """ - # @ApiMember(Description="Optional human-readable description of what the policy grants.") + # @ApiMember(Description="Optional human-readable description of the policy's purpose.") description: Optional[str] = None """ - Optional human-readable description of what the policy grants. + Optional human-readable description of the policy's purpose. """ - # @ApiMember(Description="AWS-IAM-style policy document as a raw JSON string (an object with a permission statement list) matching PolicyDocument.schema.json — this is a FULL replacement of the policy's current permissions.") + # @ApiMember(Description="Raw JSON policy document, AWS-IAM style (Statement array of Effect/Action/Resource entries) — replaces the policy's current statement set.") policy_document_json: Optional[str] = None """ - AWS-IAM-style policy document as a raw JSON string (an object with a permission statement list) matching PolicyDocument.schema.json — this is a FULL replacement of the policy's current permissions. + Raw JSON policy document, AWS-IAM style (Statement array of Effect/Action/Resource entries) — replaces the policy's current statement set. """ -# @Route("/{version}/membership/passkey/settings", "GET") -# @Api(Description="Gets the project's passkey authentication settings.") +# @Route("/{version}/account/team/roles", "PUT") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetPasskeySettings(CodeMashRequestBase, IReturn[GetPasskeySettingsResponse]): +class UpdateAccountRole(RequestBase, IReturn[IdResponse]): + # @ApiMember(Description="Role template id (from get_account_team_roles) to update.", IsRequired=true) + id: Optional[str] = None """ - Gets the project's passkey authentication settings. + Role template id (from get_account_team_roles) to update. """ - pass - -# @Route("/{version}/membership/passkey/settings", "POST") -# @Api(Description="Saves the project's passkey authentication settings.") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SavePasskeySettings(CodeMashRequestBase, IReturn[EmptyResponse]): + # @ApiMember(Description="New name for the role.", IsRequired=true) + role_name: Optional[str] = None """ - Saves the project's passkey authentication settings. + New name for the role. """ - # @ApiMember(Description="Whether the email + passkey sign-in flow is enabled for the project.") - enabled: bool = False + + # @ApiMember(Description="Optional human-readable description of the role's purpose.") + description: Optional[str] = None """ - Whether the email + passkey sign-in flow is enabled for the project. + Optional human-readable description of the role's purpose. """ - # @ApiMember(Description="Email verification code lifetime, in minutes. Allowed range: 3-15.") - code_ttl_minutes: int = 0 + # @ApiMember(Description="Public policy ids (from get_account_team_policies) to attach — replaces the current set.") + policies: Optional[List[str]] = None """ - Email verification code lifetime, in minutes. Allowed range: 3-15. + Public policy ids (from get_account_team_policies) to attach — replaces the current set. """ - # @ApiMember(Description="Maximum passkeys a single user may register. Allowed range: 1-20.") - max_credentials_per_user: int = 0 - """ - Maximum passkeys a single user may register. Allowed range: 1-20. - """ +# @Route("/{version}/account/userauth/has-passkey", "POST") +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class AccountHasPasskeyRequest(RequestBase, IReturn[AccountPasskeyOkResponse]): + email: Optional[str] = None - # @ApiMember(Description="Number of recovery codes generated at signup. Allowed range: 5-20.") - recovery_code_count: int = 0 - """ - Number of recovery codes generated at signup. Allowed range: 5-20. - """ +# @Route("/{version}/account/userauth/email/start-verification", "POST") +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class AccountStartEmailVerificationRequest(RequestBase, IReturn[AccountPasskeyOkResponse]): + email: Optional[str] = None - # @ApiMember(Description="Whether recovery codes are generated automatically at signup.") - generate_recovery_codes_at_signup: bool = False - """ - Whether recovery codes are generated automatically at signup. - """ +# @Route("/{version}/account/userauth/email/confirm-verification", "POST") +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class AccountConfirmEmailVerificationRequest(RequestBase, IReturn[AccountPasskeyVerificationTokenResponse]): + email: Optional[str] = None + code: Optional[str] = None - # @ApiMember(Description="Accepted authenticator types: 'Any', 'Platform', or 'CrossPlatform'.") - authenticator_attachment: Optional[str] = None - """ - Accepted authenticator types: 'Any', 'Platform', or 'CrossPlatform'. - """ +# @Route("/{version}/account/userauth/passkey/registration-options", "POST") +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class AccountPasskeyRegistrationOptionsRequest(RequestBase, IReturn[AccountPasskeyCeremonyOptionsResponse]): + verification_token: Optional[str] = None - # @ApiMember(Description="Per-project opt-in for magic-link account recovery (off by default).") - allow_magic_link_recovery: bool = False - """ - Per-project opt-in for magic-link account recovery (off by default). - """ +# @Route("/{version}/account/userauth/passkey/verify-registration", "POST") +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class AccountVerifyPasskeyRegistrationRequest(RequestBase, IReturn[AccountPasskeyAuthTokensResponse]): + verification_token: Optional[str] = None + ceremony_id: Optional[str] = None + attestation_response: Optional[str] = None + friendly_name: Optional[str] = None - # @ApiMember(Description="Absolute refresh-token lifetime, in days. Allowed range: 7-90.") - refresh_token_ttl_days: int = 0 - """ - Absolute refresh-token lifetime, in days. Allowed range: 7-90. - """ +# @Route("/{version}/account/userauth/passkey/authentication-options", "POST") +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class AccountPasskeyAuthenticationOptionsRequest(RequestBase, IReturn[AccountPasskeyCeremonyOptionsResponse]): + email: Optional[str] = None - # @ApiMember(Description="Optional explicit WebAuthn RP-ID — a bare DNS host (e.g. 'app.example.com', no scheme/port/path). Leave null/empty to derive it from the project's CORS origins. WARNING: changing this value invalidates every existing passkey on the project — set it once before going live and avoid changing it afterward.") - rp_id: Optional[str] = None - """ - Optional explicit WebAuthn RP-ID — a bare DNS host (e.g. 'app.example.com', no scheme/port/path). Leave null/empty to derive it from the project's CORS origins. WARNING: changing this value invalidates every existing passkey on the project — set it once before going live and avoid changing it afterward. - """ +# @Route("/{version}/account/userauth/passkey/verify-authentication", "POST") +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class AccountVerifyPasskeyAuthenticationRequest(RequestBase, IReturn[AccountPasskeyAuthTokensResponse]): + ceremony_id: Optional[str] = None + assertion_response: Optional[str] = None -# @Route("/{version}/membership/integrations/{Id}", "DELETE") +# @Route("/{version}/account/userauth/passkeys", "GET") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class DeleteMembershipIntegrationRequest(CodeMashRequestBase, IReturn[EmptyResponse]): - # @ApiMember(Description="Integration id, from get_membership_integrations.", IsRequired=true) - id: Optional[str] = None - """ - Integration id, from get_membership_integrations. - """ +class ListAccountPasskeysRequest(RequestBase, IReturn[AccountPasskeyListResponse]): + pass -# @Route("/{version}/membership/integrations/{Id}/disable", "PUT") +# @Route("/{version}/account/userauth/passkeys/{CredentialId}/rename", "POST") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class DisableMembershipIntegrationRequest(CodeMashRequestBase, IReturn[EmptyResponse]): - # @ApiMember(Description="Integration id, from get_membership_integrations.", IsRequired=true) - id: Optional[str] = None - """ - Integration id, from get_membership_integrations. - """ +class RenameAccountPasskeyRequest(RequestBase, IReturn[AccountPasskeyOkResponse]): + credential_id: Optional[str] = None + friendly_name: Optional[str] = None + + +# @Route("/{version}/account/userauth/passkeys/{CredentialId}/revoke", "POST") +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class RevokeAccountPasskeyRequest(RequestBase, IReturn[AccountPasskeyOkResponse]): + credential_id: Optional[str] = None -# @Route("/{version}/membership/integrations/{Id}/enable", "PUT") +# @Route("/{version}/account/userauth/passkey/enrollment-options", "POST") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class EnableMembershipIntegrationRequest(CodeMashRequestBase, IReturn[EmptyResponse]): - # @ApiMember(Description="Integration id, from get_membership_integrations.", IsRequired=true) - id: Optional[str] = None - """ - Integration id, from get_membership_integrations. - """ +class AccountPasskeyEnrollmentOptionsRequest(RequestBase, IReturn[AccountPasskeyCeremonyOptionsResponse]): + pass -# @Route("/{version}/membership/integrations/{id}", "GET") +# @Route("/{version}/account/userauth/passkey/verify-enrollment", "POST") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetMembershipIntegration(CodeMashRequestBase, IReturn[GetMembershipIntegrationResponse]): - # @ApiMember(Description="Integration id, from get_membership_integrations.", IsRequired=true) - id: Optional[str] = None - """ - Integration id, from get_membership_integrations. - """ +class AccountVerifyPasskeyEnrollmentRequest(RequestBase, IReturn[AccountPasskeyEnrollmentResponse]): + ceremony_id: Optional[str] = None + attestation_response: Optional[str] = None + friendly_name: Optional[str] = None -# @Route("/{version}/membership/integrations", "GET") +# @Route("/{version}/account/licensing/dns-status", "GET") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetMembershipIntegrations(CodeMashListPaginationRequestBase, IReturn[GetMembershipIntegrationsResponse]): - pass +class GetLicenseDomainDnsStatus(RequestBase, IReturn[GetLicenseDomainDnsStatusResponse]): + domain: Optional[str] = None -# @Route("/{version}/membership/integrations", "POST") +# @Route("/{version}/licensing/domain-verification/start", "POST") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SaveMembershipIntegration(CodeMashRequestBase, IReturn[IdResponse]): - integration: Optional[MembershipIntegrationRequest] = None +class StartLicenseDomainVerificationRequest(RequestBase, IReturn[StartLicenseDomainVerificationResponse]): + domain: Optional[str] = None -# @Route("/{version}/membership/integrations/{Id}/default", "PUT") +# @Route("/{version}/licensing/domain-verification/status", "GET") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SetMembershipIntegrationAsDefaultRequest(CodeMashRequestBase, IReturn[EmptyResponse]): - # @ApiMember(Description="Integration id, from get_membership_integrations.", IsRequired=true) - id: Optional[str] = None - """ - Integration id, from get_membership_integrations. - """ +class GetLicenseDomainVerificationStatus(RequestBase, IReturn[GetLicenseDomainVerificationStatusResponse]): + domain: Optional[str] = None -# @Route("/{version}/membership/authorization", "GET") -# @Api(Description="Gets the project's membership authorization (role-assignment) settings.") +# @Route("/{version}/account/licenses", "GET") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetAuthorizationSettings(CodeMashRequestBase, IReturn[GetAuthorizationSettingsResponse]): - """ - Gets the project's membership authorization (role-assignment) settings. - """ - +class GetLicenses(RequestBase, IReturn[GetLicensesResponse]): pass -# @Route("/{version}/membership/authorization", "PUT") -# @Api(Description="Updates the project's membership authorization settings.") +# @Route("/{version}/licensing/heartbeat", "POST") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class UpdateAuthorizationSettings(CodeMashRequestBase, IReturn[EmptyResponse]): - """ - Updates the project's membership authorization settings. - """ - - setting: Optional[str] = None - default_roles: Optional[List[str]] = None - allowed_registration_roles: Optional[List[str]] = None - allow_guest_users: bool = False - guest_cleanup_period_days: Optional[int] = None - user_registers_as_role: Optional[str] = None - guest_registers_as_role: Optional[str] = None - allowed_register_roles: Optional[List[str]] = None - need_verification: bool = False - verification_email_template: Optional[str] = None - deactivation_email_template: Optional[str] = None - allow_invite_users: bool = False - allow_deactivate_users: bool = False - invite_user_email_template: Optional[str] = None - invitation_expiration: Optional[int] = None - email_verification_expiration: Optional[int] = None - deactivation_expiration: Optional[int] = None - default_subscribe_to_news: bool = False - min_length: int = 0 - max_length: Optional[int] = None - min_numbers: Optional[int] = None - max_numbers: Optional[int] = None - min_upper: Optional[int] = None - max_upper: Optional[int] = None - min_lower: Optional[int] = None - max_lower: Optional[int] = None - min_special: Optional[int] = None - max_special: Optional[int] = None - allowed_special: Optional[str] = None +class PostLicenseHeartbeat(RequestBase, IReturn[PostLicenseHeartbeatResponse]): + license: Optional[str] = None + license_account_id: Optional[str] = None + installation_id: Optional[str] = None + domain: Optional[str] = None + host_kind: Optional[str] = None + release: Optional[str] = None + instance_version: Optional[str] = None -# @Route("/{version}/membership/authorization/password-complexity", "PUT") -# @Api(Description="Updates the project's membership password complexity policy.") +# @Route("/{version}/account/licensing/status", "GET") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class UpdatePasswordComplexity(CodeMashRequestBase, IReturn[UpdatePasswordComplexityResponse]): - """ - Updates the project's membership password complexity policy. - """ - - # @ApiMember(Description="Minimum password length.") - min_length: int = 0 - """ - Minimum password length. - """ +class GetInstallationLicenseStatus(RequestBase, IReturn[GetInstallationLicenseStatusResponse]): + pass - # @ApiMember(Description="Maximum password length, if capped.") - max_length: Optional[int] = None +# @Route("/{version}/account/ai/service-users", "POST") +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class CreateAiServiceUserRequest(RequestBase, IReturn[CreateAiServiceUserResponse]): + # @ApiMember(Description="A name people recognise, e.g. \"Claude Code on my laptop\".", IsRequired=true) + name: Optional[str] = None """ - Maximum password length, if capped. + A name people recognise, e.g. "Claude Code on my laptop". """ - # @ApiMember(Description="Minimum number of numeric characters required.") - min_numbers: Optional[int] = None + # @ApiMember(Description="Reach (account | project + projectId), rights (read | admin), envs ([\"TEST\"] or [\"TEST\",\"PROD\"]).", IsRequired=true) + scope: Optional[AiScopeDto] = None """ - Minimum number of numeric characters required. + Reach (account | project + projectId), rights (read | admin), envs (["TEST"] or ["TEST","PROD"]). """ - # @ApiMember(Description="Maximum number of numeric characters allowed.") - max_numbers: Optional[int] = None - """ - Maximum number of numeric characters allowed. - """ +# @Route("/{version}/account/ai/service-users", "GET") +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class ListAiServiceUsersRequest(RequestBase, IReturn[ListAiServiceUsersResponse]): + pass - # @ApiMember(Description="Minimum number of uppercase characters required.") - min_upper: Optional[int] = None +# @Route("/{version}/account/ai/service-users/{Id}/keys", "POST") +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class RotateAiServiceUserKeyRequest(RequestBase, IReturn[RotateAiServiceUserKeyResponse]): + # @ApiMember(Description="The service user id (aisu_…).", IsRequired=true) + id: Optional[str] = None """ - Minimum number of uppercase characters required. + The service user id (aisu_…). """ - # @ApiMember(Description="Maximum number of uppercase characters allowed.") - max_upper: Optional[int] = None + # @ApiMember(Description="Optional key id (aisk_…) to revoke in the same change — a rotation.") + revoke_key_id: Optional[str] = None """ - Maximum number of uppercase characters allowed. + Optional key id (aisk_…) to revoke in the same change — a rotation. """ - # @ApiMember(Description="Minimum number of lowercase characters required.") - min_lower: Optional[int] = None +# @Route("/{version}/account/ai/service-users/{Id}/keys/{KeyId}", "DELETE") +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class RevokeAiServiceUserKeyRequest(RequestBase, IReturn[EmptyResponse]): + # @ApiMember(Description="The service user id (aisu_…).", IsRequired=true) + id: Optional[str] = None """ - Minimum number of lowercase characters required. + The service user id (aisu_…). """ - # @ApiMember(Description="Maximum number of lowercase characters allowed.") - max_lower: Optional[int] = None + # @ApiMember(Description="The key id (aisk_…) to revoke.", IsRequired=true) + key_id: Optional[str] = None """ - Maximum number of lowercase characters allowed. + The key id (aisk_…) to revoke. """ - # @ApiMember(Description="Minimum number of special characters required.") - min_special: Optional[int] = None +# @Route("/{version}/account/ai/service-users/{Id}", "DELETE") +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class DeleteAiServiceUserRequest(RequestBase, IReturn[EmptyResponse]): + # @ApiMember(Description="The service user id (aisu_…).", IsRequired=true) + id: Optional[str] = None """ - Minimum number of special characters required. + The service user id (aisu_…). """ - # @ApiMember(Description="Maximum number of special characters allowed.") - max_special: Optional[int] = None - """ - Maximum number of special characters allowed. - """ +# @Route("/{version}/membership/disable", "GET") +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class DisableMembership(CodeMashRequestBase, IReturn[EmptyResponse]): + pass - # @ApiMember(Description="The set of characters counted as 'special', if restricted.") - allowed_special: Optional[str] = None - """ - The set of characters counted as 'special', if restricted. - """ +# @Route("/{version}/membership/enable", "GET") +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class EnableMembership(CodeMashRequestBase, IReturn[EmptyResponse]): + pass -# @Route("/{version}/membership/authentication", "GET") -# @Api(Description="Gets the project's configured membership authentication sign-in flows.") +# @Route("/{version}/membership/users/{Id}/api-keys", "POST") +# @Api(Description="Membership") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetAuthenticationSettings(CodeMashRequestBase, IReturn[GetAuthenticationSettingsResponse]): +class IssueServiceUserApiKeyRequest(CodeMashRequestBase, IReturn[IssueServiceUserApiKeyResponse]): """ - Gets the project's configured membership authentication sign-in flows. + Membership """ - pass + id: Optional[str] = None + database_integration_id: Optional[str] = None + name: Optional[str] = None + scopes: Optional[List[str]] = None + expires_in_days: Optional[int] = None + notes: Optional[str] = None -# @Route("/{version}/membership/authentication", "PUT") -# @Api(Description="Updates the project's membership authentication preferences.") +# @Route("/{version}/membership/users/{Id}/api-keys", "GET") +# @Api(Description="Membership") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class UpdateAuthenticationSettings(CodeMashRequestBase, IReturn[EmptyResponse]): +class ListServiceUserApiKeysRequest(CodeMashRequestBase, IReturn[ListServiceUserApiKeysResponse]): """ - Updates the project's membership authentication preferences. + Membership """ - # @ApiMember(Description="Default URL to redirect end users to after logout.") - logout_url: Optional[str] = None + # @ApiMember(Description="The service user's auth id.", IsRequired=true) + id: Optional[str] = None """ - Default URL to redirect end users to after logout. + The service user's auth id. """ - # @ApiMember(Description="Whether end users may sign in with a username in addition to email.") - allow_usernames: bool = False +# @Route("/{version}/membership/users/{Id}/api-keys/{KeyId}", "DELETE") +# @Api(Description="Membership") +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class DeleteServiceUserApiKeyRequest(CodeMashRequestBase, IReturn[EmptyResponse]): """ - Whether end users may sign in with a username in addition to email. + Membership """ - - # @ApiMember(Description="Per-authentication-mode logout URL overrides.") - modes: Optional[List[CredentialsSettingsModeDto]] = None + # @ApiMember(Description="The service user's auth id.", IsRequired=true) + id: Optional[str] = None """ - Per-authentication-mode logout URL overrides. + The service user's auth id. """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class MembershipIntegrationSaved: - integration: Optional[MembershipIntegration] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class MembershipIntegrationTested: - id: Optional[IntegrationId] = None - succeeded: bool = False - error_messages: Optional[IReadOnlyList[str]] = None - tested_at_utc: datetime.datetime = datetime.datetime(1, 1, 1) - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class MembershipIntegrationRenamed: - id: Optional[IntegrationId] = None - name: Optional[DisplayName] = None - env: Optional[Env] = None + # @ApiMember(Description="The key id to delete, from list_service_user_api_keys.", IsRequired=true) + key_id: int = 0 + """ + The key id to delete, from list_service_user_api_keys. + """ +# @Route("/{version}/membership/triggers/{triggerId}", "DELETE") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class MembershipIntegrationDeleted: - id: Optional[IntegrationId] = None - env: Optional[Env] = None +class DeleteMembershipTrigger(DeleteTrigger, IReturn[EmptyResponse]): + pass +# @Route("/{version}/membership/triggers/{triggerId}/disable", "PATCH") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class MembershipIntegrationSetAsDefault: - id: Optional[IntegrationId] = None +class DisableMembershipTrigger(DisableTrigger, IReturn[EmptyResponse]): + pass +# @Route("/{version}/membership/triggers/{triggerId}/enable", "PATCH") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class MembershipIntegrationEnabled: - id: Optional[IntegrationId] = None - env: Optional[Env] = None +class EnableMembershipTrigger(EnableTrigger, IReturn[EmptyResponse]): + pass +# @Route("/{version}/membership/triggers/{id}", "GET") +# @Api(Description="Gets membership trigger by specified Id") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class MembershipIntegrationDisabled: - id: Optional[IntegrationId] = None - env: Optional[Env] = None - +class GetMembershipTrigger(GetTrigger, IReturn[GetMembershipTriggerResponse]): + """ + Gets membership trigger by specified Id + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class MembershipEstablished: pass +# @Route("/{version}/membership/triggers", "GET") +# @Api(Description="Gets membership triggers") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class MembershipEnabled: +class GetMembershipTriggers(GetTriggers, IReturn[GetMembershipTriggersResponse]): + """ + Gets membership triggers + """ + pass +# @Route("/{version}/membership/triggers", "POST") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class MembershipDisabled: +class SaveMembershipTrigger(SaveTrigger, IReturn[IdResponse]): pass +# @Route("/{version}/membership/roles", "POST") +# @Api(Description="Create a new custom role for project.") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SetUserRegistersAsRole: - project_id: Optional[ProjectId] = None - role: Optional[RoleName] = None - +class CreateRole(CodeMashRequestBase, IReturn[IdResponse]): + """ + Create a new custom role for project. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PolicyCreated: - policy: Optional[MembershipPolicy] = None + # @ApiMember(Description="Display name of the new role, unique within the project.", IsRequired=true) + role_name: Optional[str] = None + """ + Display name of the new role, unique within the project. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PolicyUpdated: - policy: Optional[MembershipPolicy] = None + description: Optional[str] = None + # @ApiMember(Description="Policy ids to attach. These are OPAQUE ids from get_policies (e.g. 'pol_3kJ9xJ2mQ0aBcDeFgHiJk') — NEVER invent them or guess from a policy name. Omit this to create a role with no policies and attach them later.") + policies: Optional[List[str]] = None + """ + Policy ids to attach. These are OPAQUE ids from get_policies (e.g. 'pol_3kJ9xJ2mQ0aBcDeFgHiJk') — NEVER invent them or guess from a policy name. Omit this to create a role with no policies and attach them later. + """ +# @Route("/{version}/membership/roles", "DELETE") +# @Api(Description="Deletes custom role from project.") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class PolicyDeleted: - policy_id: Optional[PolicyId] = None +class DeleteRole(CodeMashRequestBase, IReturn[EmptyResponse]): + """ + Deletes custom role from project. + """ + + # @ApiMember(Description="Id of the role to delete, from get_roles.", IsRequired=true) + id: Optional[str] = None + """ + Id of the role to delete, from get_roles. + """ +# @Route("/{version}/membership/roles/{Id}", "GET") +# @Api(Description="Gets project role details.") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class RoleCreated: - role: Optional[MembershipRole] = None +class GetRole(CodeMashRequestBase, IReturn[GetRoleResponse]): + """ + Gets project role details. + """ + + # @ApiMember(Description="Role id from get_roles.", IsRequired=true) + id: Optional[str] = None + """ + Role id from get_roles. + """ +# @Route("/{version}/membership/roles", "GET") +# @Api(Description="Gets project roles.") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class RoleUpdated: - role: Optional[MembershipRole] = None +class GetRoles(CodeMashRequestBase, IReturn[GetRolesResponse]): + """ + Gets project roles. + """ + + pass +# @Route("/{version}/membership/roles", "PATCH") +# @Api(Description="Updates role policies") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class RoleDeleted: - role_id: Optional[RoleId] = None +class UpdateRolePolicies(CodeMashRequestBase, IReturn[EmptyResponse]): + """ + Updates role policies + """ + + # @ApiMember(Description="Id of the role to update, from get_roles.", IsRequired=true) + id: Optional[str] = None + """ + Id of the role to update, from get_roles. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class MembershipTriggerSaved: - trigger: Optional[MembershipTrigger] = None + # @ApiMember(Description="The role's name — required; resend the current name to keep it.", IsRequired=true) + role_name: Optional[str] = None + """ + The role's name — required; resend the current name to keep it. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class MembershipTriggerMirrored: - trigger: Optional[Trigger] = None + description: Optional[str] = None + # @ApiMember(Description="The complete new list of attached policy ids (full replacement), opaque ids from get_policies (e.g. 'pol_3kJ9xJ2mQ0aBcDeFgHiJk') — never invent or guess them.") + policies: Optional[List[str]] = None + """ + The complete new list of attached policy ids (full replacement), opaque ids from get_policies (e.g. 'pol_3kJ9xJ2mQ0aBcDeFgHiJk') — never invent or guess them. + """ +# @Route("/{version}/membership/policies", "POST") +# @Api(Description="Create a new custom policy for project.") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class MembershipTriggerEnabled(TriggerByIdEventBase): - env: Optional[Env] = None +class CreatePolicy(CodeMashRequestBase, IReturn[IdResponse]): + """ + Create a new custom policy for project. + """ + # @ApiMember(Description="Display name of the new policy, unique within the project.", IsRequired=true) + policy_name: Optional[str] = None + """ + Display name of the new policy, unique within the project. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class MembershipTriggerDisabled(TriggerByIdEventBase): - env: Optional[Env] = None + # @ApiMember(Description="Optional human-readable description of what the policy grants.") + description: Optional[str] = None + """ + Optional human-readable description of what the policy grants. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class MembershipTriggerDeleted(TriggerByIdEventBase): - env: Optional[Env] = None + # @ApiMember(Description="AWS-IAM-style policy document as a raw JSON string (an object with a permission statement list) matching PolicyDocument.schema.json. Malformed or invalid documents are rejected before any change is made.") + policy_document_json: Optional[str] = None + """ + AWS-IAM-style policy document as a raw JSON string (an object with a permission statement list) matching PolicyDocument.schema.json. Malformed or invalid documents are rejected before any change is made. + """ -# @Route("/{version}/database/disable", "GET") -# @Api(Description="Disable database service") + +# @Route("/{version}/membership/policies", "DELETE") +# @Api(Description="Deletes custom policy from project.") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class DisableDatabase(CodeMashRequestBase, IReturn[EmptyResponse]): +class DeletePolicy(CodeMashRequestBase, IReturn[EmptyResponse]): """ - Disable database service + Deletes custom policy from project. """ - pass + # @ApiMember(Description="Public policy id, e.g. 'pol_database-read', from get_policies.", IsRequired=true) + id: Optional[str] = None + """ + Public policy id, e.g. 'pol_database-read', from get_policies. + """ -# @Route("/{version}/database/enable", "GET") +# @Route("/{version}/membership/policies/{Id}", "GET") +# @Api(Description="Gets project policy details.") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class EnableDatabase(CodeMashRequestBase, IReturn[EmptyResponse]): - pass +class GetPolicy(CodeMashRequestBase, IReturn[GetPolicyResponse]): + """ + Gets project policy details. + """ + + # @ApiMember(Description="Public policy id, e.g. 'pol_database-read', from get_policies.", IsRequired=true) + id: Optional[str] = None + """ + Public policy id, e.g. 'pol_database-read', from get_policies. + """ -# @Route("/{version}/database/schemas/triggers/{triggerId}", "DELETE") -# @Api(Description="Delete database trigger") +# @Route("/{version}/membership/policies", "GET") +# @Api(Description="Gets project policies.") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class DeleteSchemaTrigger(DeleteTrigger, IReturn[EmptyResponse]): +class GetPolicies(CodeMashRequestBase, IReturn[GetPoliciesResponse]): """ - Delete database trigger + Gets project policies. """ pass -# @Route("/{version}/database/schemas/triggers/{triggerId}/disable", "PATCH") -# @Api(Description="Disable database trigger") +# @Route("/{version}/membership/policies", "PUT") +# @Api(Description="Updates a custom policy for project.") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class DisableSchemaTrigger(DisableTrigger, IReturn[EmptyResponse]): +class UpdatePolicy(CodeMashRequestBase, IReturn[IdResponse]): """ - Disable database trigger + Updates a custom policy for project. """ - pass + # @ApiMember(Description="Public policy id, e.g. 'pol_database-read', from get_policies.", IsRequired=true) + id: Optional[str] = None + """ + Public policy id, e.g. 'pol_database-read', from get_policies. + """ -# @Route("/{version}/database/schemas/triggers/{triggerId}/enable", "PATCH") -# @Api(Description="Enable database trigger") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class EnableSchemaTrigger(EnableTrigger, IReturn[EmptyResponse]): + # @ApiMember(Description="The policy's name — required; resend the current name to keep it.", IsRequired=true) + policy_name: Optional[str] = None """ - Enable database trigger + The policy's name — required; resend the current name to keep it. """ - pass + + # @ApiMember(Description="Optional human-readable description of what the policy grants.") + description: Optional[str] = None + """ + Optional human-readable description of what the policy grants. + """ -# @Route("/{version}/database/schemas/triggers/{id}", "GET") -# @Api(Description="Gets database trigger by specified Id") + # @ApiMember(Description="AWS-IAM-style policy document as a raw JSON string (an object with a permission statement list) matching PolicyDocument.schema.json — this is a FULL replacement of the policy's current permissions.") + policy_document_json: Optional[str] = None + """ + AWS-IAM-style policy document as a raw JSON string (an object with a permission statement list) matching PolicyDocument.schema.json — this is a FULL replacement of the policy's current permissions. + """ + + +# @Route("/{version}/membership/passkey/settings", "GET") +# @Api(Description="Gets the project's passkey authentication settings.") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetSchemaTrigger(GetTrigger, IReturn[GetSchemaTriggerResponse]): +class GetPasskeySettings(CodeMashRequestBase, IReturn[GetPasskeySettingsResponse]): """ - Gets database trigger by specified Id + Gets the project's passkey authentication settings. """ pass -# @Route("/{version}/database/schemas/triggers", "GET") -# @Api(Description="Gets database triggers") +# @Route("/{version}/membership/passkey/settings", "POST") +# @Api(Description="Saves the project's passkey authentication settings.") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetSchemaTriggers(GetTriggers, IReturn[GetSchemaTriggersResponse]): +class SavePasskeySettings(CodeMashRequestBase, IReturn[EmptyResponse]): """ - Gets database triggers + Saves the project's passkey authentication settings. """ - pass + # @ApiMember(Description="Whether the email + passkey sign-in flow is enabled for the project.") + enabled: bool = False + """ + Whether the email + passkey sign-in flow is enabled for the project. + """ -# @Route("/{version}/database/schemas/triggers", "POST") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SaveSchemaTrigger(SaveTrigger, IReturn[IdResponse]): - pass + # @ApiMember(Description="Email verification code lifetime, in minutes. Allowed range: 3-15.") + code_ttl_minutes: int = 0 + """ + Email verification code lifetime, in minutes. Allowed range: 3-15. + """ -# @Route("/{version}/database/taxonomies/{Id}", "DELETE") -# @Api(Description="Delete database taxonomy") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class DeleteDatabaseTaxonomyRequest(CodeMashRequestBase, IReturn[EmptyResponse]): + # @ApiMember(Description="Maximum passkeys a single user may register. Allowed range: 1-20.") + max_credentials_per_user: int = 0 """ - Delete database taxonomy + Maximum passkeys a single user may register. Allowed range: 1-20. """ - # @ApiMember(Description="Taxonomy id to delete, from get_database_taxonomies.", IsRequired=true) - id: Optional[str] = None + + # @ApiMember(Description="Number of recovery codes generated at signup. Allowed range: 5-20.") + recovery_code_count: int = 0 """ - Taxonomy id to delete, from get_database_taxonomies. + Number of recovery codes generated at signup. Allowed range: 5-20. """ -# @Route("/{version}/database/taxonomies/{id}", "GET") -# @Api(Description="Gets database taxonomy by id") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetDatabaseTaxonomy(CodeMashRequestBase, IReturn[GetDatabaseTaxonomyResponse]): + # @ApiMember(Description="Whether recovery codes are generated automatically at signup.") + generate_recovery_codes_at_signup: bool = False """ - Gets database taxonomy by id + Whether recovery codes are generated automatically at signup. """ - # @ApiMember(Description="Taxonomy id from get_database_taxonomies.", IsRequired=true) - id: Optional[str] = None + + # @ApiMember(Description="Accepted authenticator types: 'Any', 'Platform', or 'CrossPlatform'.") + authenticator_attachment: Optional[str] = None """ - Taxonomy id from get_database_taxonomies. + Accepted authenticator types: 'Any', 'Platform', or 'CrossPlatform'. """ -# @Route("/{version}/database/taxonomies", "GET") -# @Api(Description="Gets database taxonomies") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetDatabaseTaxonomies(CodeMashListPaginationRequestBase, IReturn[GetDatabaseTaxonomiesResponse]): + # @ApiMember(Description="Per-project opt-in for magic-link account recovery (off by default).") + allow_magic_link_recovery: bool = False """ - Gets database taxonomies + Per-project opt-in for magic-link account recovery (off by default). """ - paging_args: Optional[PagingArgs] = None - -# @Route("/{version}/database/taxonomies/tree", "GET") -# @Api(Description="Returns the single-parent taxonomy structure tree") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetDatabaseTaxonomyTreeRequest(CodeMashRequestBase, IReturn[GetDatabaseTaxonomyTreeResponse]): + # @ApiMember(Description="Absolute refresh-token lifetime, in days. Allowed range: 7-90.") + refresh_token_ttl_days: int = 0 """ - Returns the single-parent taxonomy structure tree + Absolute refresh-token lifetime, in days. Allowed range: 7-90. """ - # @ApiMember(Description="When true, each taxonomy node also carries its own term tree (heavier response).") - include_terms: bool = False + + # @ApiMember(Description="Optional explicit WebAuthn RP-ID — a bare DNS host (e.g. 'app.example.com', no scheme/port/path). Leave null/empty to derive it from the project's CORS origins. WARNING: changing this value invalidates every existing passkey on the project — set it once before going live and avoid changing it afterward.") + rp_id: Optional[str] = None """ - When true, each taxonomy node also carries its own term tree (heavier response). + Optional explicit WebAuthn RP-ID — a bare DNS host (e.g. 'app.example.com', no scheme/port/path). Leave null/empty to derive it from the project's CORS origins. WARNING: changing this value invalidates every existing passkey on the project — set it once before going live and avoid changing it afterward. """ - # @ApiMember(Description="Optional database integration id. When omitted, the project's default database integration is used.") - database_integration_id: Optional[str] = None +# @Route("/{version}/membership/integrations/{Id}", "DELETE") +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class DeleteMembershipIntegrationRequest(CodeMashRequestBase, IReturn[EmptyResponse]): + # @ApiMember(Description="Integration id, from get_membership_integrations.", IsRequired=true) + id: Optional[str] = None """ - Optional database integration id. When omitted, the project's default database integration is used. + Integration id, from get_membership_integrations. """ -# @Route("/{version}/database/taxonomies", "POST") -# @Api(Description="Creates or updates a database taxonomy") +# @Route("/{version}/membership/integrations/{Id}/disable", "PUT") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SaveDatabaseTaxonomyRequest(CodeMashRequestBase, IReturn[IdResponse]): +class DisableMembershipIntegrationRequest(CodeMashRequestBase, IReturn[EmptyResponse]): + # @ApiMember(Description="Integration id, from get_membership_integrations.", IsRequired=true) + id: Optional[str] = None """ - Creates or updates a database taxonomy + Integration id, from get_membership_integrations. """ - # @ApiMember(Description="Empty to create a new taxonomy; set to an existing taxonomy id (from get_database_taxonomies) to update it.") - view_id: Optional[str] = None + +# @Route("/{version}/membership/integrations/{Id}/enable", "PUT") +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class EnableMembershipIntegrationRequest(CodeMashRequestBase, IReturn[EmptyResponse]): + # @ApiMember(Description="Integration id, from get_membership_integrations.", IsRequired=true) + id: Optional[str] = None """ - Empty to create a new taxonomy; set to an existing taxonomy id (from get_database_taxonomies) to update it. + Integration id, from get_membership_integrations. """ - # @ApiMember(Description="Human-entered taxonomy title (e.g. \"Countries\"); a slug is derived server-side.", IsRequired=true) - taxonomy_name: Optional[str] = None +# @Route("/{version}/membership/integrations/{id}", "GET") +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class GetMembershipIntegration(CodeMashRequestBase, IReturn[GetMembershipIntegrationResponse]): + # @ApiMember(Description="Integration id, from get_membership_integrations.", IsRequired=true) + id: Optional[str] = None """ - Human-entered taxonomy title (e.g. "Countries"); a slug is derived server-side. + Integration id, from get_membership_integrations. """ - # @ApiMember(Description="Optional free-text description of the taxonomy.") - description: Optional[str] = None - """ - Optional free-text description of the taxonomy. - """ +# @Route("/{version}/membership/integrations", "GET") +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class GetMembershipIntegrations(CodeMashListPaginationRequestBase, IReturn[GetMembershipIntegrationsResponse]): + pass - # @ApiMember(Description="Optional raw JSON string (Norbix data meta-schema) describing custom meta fields for terms in this taxonomy. Omit to leave the taxonomy structural-only.") - terms_meta_data_schema: Optional[str] = None - """ - Optional raw JSON string (Norbix data meta-schema) describing custom meta fields for terms in this taxonomy. Omit to leave the taxonomy structural-only. - """ +# @Route("/{version}/membership/integrations", "POST") +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class SaveMembershipIntegration(CodeMashRequestBase, IReturn[IdResponse]): + integration: Optional[MembershipIntegrationRequest] = None - # @ApiMember(Description="Optional raw JSON string (Norbix UI/visual meta-schema) describing the term meta edit form.") - terms_meta_visual_schema: Optional[str] = None +# @Route("/{version}/membership/integrations/{Id}/default", "PUT") +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class SetMembershipIntegrationAsDefaultRequest(CodeMashRequestBase, IReturn[EmptyResponse]): + # @ApiMember(Description="Integration id, from get_membership_integrations.", IsRequired=true) + id: Optional[str] = None """ - Optional raw JSON string (Norbix UI/visual meta-schema) describing the term meta edit form. + Integration id, from get_membership_integrations. """ - # @ApiMember(Description="Optional parent taxonomy id. The child taxonomy points to its parent — e.g. set the Countries taxonomy's parentId to the Regions taxonomy id so each country term can be parented by a region term. Omit for a root taxonomy.") - parent_id: Optional[str] = None +# @Route("/{version}/membership/authorization", "GET") +# @Api(Description="Gets the project's membership authorization (role-assignment) settings.") +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class GetAuthorizationSettings(CodeMashRequestBase, IReturn[GetAuthorizationSettingsResponse]): """ - Optional parent taxonomy id. The child taxonomy points to its parent — e.g. set the Countries taxonomy's parentId to the Regions taxonomy id so each country term can be parented by a region term. Omit for a root taxonomy. + Gets the project's membership authorization (role-assignment) settings. """ + pass - # @ApiMember(Description="Optional list of other taxonomy ids this taxonomy depends on for multi-parent terms. Omit for a self-contained taxonomy.") - dependencies: Optional[List[str]] = None + +# @Route("/{version}/membership/authorization", "PUT") +# @Api(Description="Updates the project's membership authorization settings.") +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class UpdateAuthorizationSettings(CodeMashRequestBase, IReturn[EmptyResponse]): """ - Optional list of other taxonomy ids this taxonomy depends on for multi-parent terms. Omit for a self-contained taxonomy. + Updates the project's membership authorization settings. """ + setting: Optional[str] = None + default_roles: Optional[List[str]] = None + allowed_registration_roles: Optional[List[str]] = None + allow_guest_users: bool = False + guest_cleanup_period_days: Optional[int] = None + user_registers_as_role: Optional[str] = None + guest_registers_as_role: Optional[str] = None + allowed_register_roles: Optional[List[str]] = None + need_verification: bool = False + verification_email_template: Optional[str] = None + deactivation_email_template: Optional[str] = None + allow_invite_users: bool = False + allow_deactivate_users: bool = False + invite_user_email_template: Optional[str] = None + invitation_expiration: Optional[int] = None + email_verification_expiration: Optional[int] = None + deactivation_expiration: Optional[int] = None + default_subscribe_to_news: bool = False + min_length: int = 0 + max_length: Optional[int] = None + min_numbers: Optional[int] = None + max_numbers: Optional[int] = None + min_upper: Optional[int] = None + max_upper: Optional[int] = None + min_lower: Optional[int] = None + max_lower: Optional[int] = None + min_special: Optional[int] = None + max_special: Optional[int] = None + allowed_special: Optional[str] = None + -# @Route("/{version}/database/taxonomies/{TaxonomyId}/terms/{Id}", "DELETE") -# @Api(Description="Delete a single term from a taxonomy by id") +# @Route("/{version}/membership/authorization/password-complexity", "PUT") +# @Api(Description="Updates the project's membership password complexity policy.") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class DeleteDatabaseTaxonomyTermRequest(CodeMashRequestBase, IReturn[EmptyResponse]): +class UpdatePasswordComplexity(CodeMashRequestBase, IReturn[UpdatePasswordComplexityResponse]): """ - Delete a single term from a taxonomy by id + Updates the project's membership password complexity policy. """ - # @ApiMember(Description="Taxonomy id that owns the term, from get_database_taxonomies.", IsRequired=true) - taxonomy_id: Optional[str] = None + # @ApiMember(Description="Minimum password length.") + min_length: int = 0 """ - Taxonomy id that owns the term, from get_database_taxonomies. + Minimum password length. """ - # @ApiMember(Description="Term id to delete, from get_database_taxonomy_term_tree.", IsRequired=true) - id: Optional[str] = None + # @ApiMember(Description="Maximum password length, if capped.") + max_length: Optional[int] = None """ - Term id to delete, from get_database_taxonomy_term_tree. + Maximum password length, if capped. """ - # @ApiMember(Description="Optional database integration id. When omitted, the project's default database integration is used.") - database_integration_id: Optional[str] = None + # @ApiMember(Description="Minimum number of numeric characters required.") + min_numbers: Optional[int] = None """ - Optional database integration id. When omitted, the project's default database integration is used. + Minimum number of numeric characters required. """ -# @Route("/{version}/database/taxonomies/{TaxonomyId}/terms/many", "DELETE") -# @Api(Description="Delete many terms in a taxonomy matching the given filter") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class DeleteManyDatabaseTaxonomyTermsRequest(CodeMashRequestBase, IReturn[EmptyResponse]): + # @ApiMember(Description="Maximum number of numeric characters allowed.") + max_numbers: Optional[int] = None """ - Delete many terms in a taxonomy matching the given filter + Maximum number of numeric characters allowed. """ - # @ApiMember(Description="Taxonomy id whose terms to delete, from get_database_taxonomies.", IsRequired=true) - taxonomy_id: Optional[str] = None + + # @ApiMember(Description="Minimum number of uppercase characters required.") + min_upper: Optional[int] = None """ - Taxonomy id whose terms to delete, from get_database_taxonomies. + Minimum number of uppercase characters required. """ - # @ApiMember(Description="Optional database integration id. When omitted, the project's default database integration is used.") - database_integration_id: Optional[str] = None + # @ApiMember(Description="Maximum number of uppercase characters allowed.") + max_upper: Optional[int] = None """ - Optional database integration id. When omitted, the project's default database integration is used. + Maximum number of uppercase characters allowed. """ - # @ApiMember(Description="MongoDB extended-JSON match filter (a raw JSON object, e.g. {\"active\":false}) selecting which terms to delete. Automatically ANDed server-side with the taxonomyId, so it cannot affect other taxonomies.", IsRequired=true) - filter: Optional[str] = None + # @ApiMember(Description="Minimum number of lowercase characters required.") + min_lower: Optional[int] = None """ - MongoDB extended-JSON match filter (a raw JSON object, e.g. {"active":false}) selecting which terms to delete. Automatically ANDed server-side with the taxonomyId, so it cannot affect other taxonomies. + Minimum number of lowercase characters required. """ -# @Route("/{version}/database/taxonomies/{TaxonomyId}/terms/{Id}", "GET") -# @Api(Description="Get a single term from a taxonomy by id") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetDatabaseTaxonomyTermRequest(CodeMashRequestBase, IReturn[GetDatabaseTaxonomyTermResponse]): + # @ApiMember(Description="Maximum number of lowercase characters allowed.") + max_lower: Optional[int] = None """ - Get a single term from a taxonomy by id + Maximum number of lowercase characters allowed. """ - # @ApiMember(Description="Taxonomy id from get_database_taxonomies.", IsRequired=true) - taxonomy_id: Optional[str] = None + + # @ApiMember(Description="Minimum number of special characters required.") + min_special: Optional[int] = None """ - Taxonomy id from get_database_taxonomies. + Minimum number of special characters required. """ - # @ApiMember(Description="Term id from get_database_taxonomy_term_tree.", IsRequired=true) - id: Optional[str] = None + # @ApiMember(Description="Maximum number of special characters allowed.") + max_special: Optional[int] = None """ - Term id from get_database_taxonomy_term_tree. + Maximum number of special characters allowed. """ - # @ApiMember(Description="Optional database integration id. When omitted, the project's default database integration is used.") - database_integration_id: Optional[str] = None + # @ApiMember(Description="The set of characters counted as 'special', if restricted.") + allowed_special: Optional[str] = None """ - Optional database integration id. When omitted, the project's default database integration is used. + The set of characters counted as 'special', if restricted. """ -# @Route("/{version}/database/taxonomies/{TaxonomyName}/merged-tree", "GET") -# @Api(Description="Returns a merged term tree across a taxonomy and its child taxonomies") +# @Route("/{version}/membership/authentication", "GET") +# @Api(Description="Gets the project's configured membership authentication sign-in flows.") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetDatabaseMergedTermTreeRequest(CodeMashRequestBase, IReturn[GetDatabaseMergedTermTreeResponse]): - """ - Returns a merged term tree across a taxonomy and its child taxonomies - """ - - # @ApiMember(Description="Root taxonomy slug/name (from get_database_taxonomies). Its terms are the roots; child-taxonomy terms nest under them.", IsRequired=true) - taxonomy_name: Optional[str] = None +class GetAuthenticationSettings(CodeMashRequestBase, IReturn[GetAuthenticationSettingsResponse]): """ - Root taxonomy slug/name (from get_database_taxonomies). Its terms are the roots; child-taxonomy terms nest under them. + Gets the project's configured membership authentication sign-in flows. """ - - # @ApiMember(Description="Optional database integration id. When omitted, the project's default database integration is used.") - database_integration_id: Optional[str] = None - """ - Optional database integration id. When omitted, the project's default database integration is used. - """ + pass -# @Route("/{version}/database/taxonomies/{TaxonomyName}/terms/tree", "GET") -# @Api(Description="Returns the whole term tree of a taxonomy (or a sub-tree) in one call") +# @Route("/{version}/membership/authentication", "PUT") +# @Api(Description="Updates the project's membership authentication preferences.") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetDatabaseTaxonomyTermTreeRequest(CodeMashRequestBase, IReturn[GetDatabaseTaxonomyTermTreeResponse]): +class UpdateAuthenticationSettings(CodeMashRequestBase, IReturn[EmptyResponse]): """ - Returns the whole term tree of a taxonomy (or a sub-tree) in one call + Updates the project's membership authentication preferences. """ - # @ApiMember(Description="Taxonomy slug/name to fetch the term tree for, from get_database_taxonomies.", IsRequired=true) - taxonomy_name: Optional[str] = None + # @ApiMember(Description="Default URL to redirect end users to after logout.") + logout_url: Optional[str] = None """ - Taxonomy slug/name to fetch the term tree for, from get_database_taxonomies. + Default URL to redirect end users to after logout. """ - # @ApiMember(Description="Optional term id to root the returned tree at a sub-tree instead of the whole taxonomy.") - root_term_id: Optional[str] = None + # @ApiMember(Description="Whether end users may sign in with a username in addition to email.") + allow_usernames: bool = False """ - Optional term id to root the returned tree at a sub-tree instead of the whole taxonomy. + Whether end users may sign in with a username in addition to email. """ - # @ApiMember(DataType="integer", Description="Optional maximum depth to return below the root.") - depth: Optional[int] = None + # @ApiMember(Description="Per-authentication-mode logout URL overrides.") + modes: Optional[List[CredentialsSettingsModeDto]] = None """ - Optional maximum depth to return below the root. + Per-authentication-mode logout URL overrides. """ - # @ApiMember(Description="Optional database integration id. When omitted, the project's default database integration is used.") - database_integration_id: Optional[str] = None +# @Route("/{version}/database/disable", "GET") +# @Api(Description="Disable database service") +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class DisableDatabase(CodeMashRequestBase, IReturn[EmptyResponse]): """ - Optional database integration id. When omitted, the project's default database integration is used. + Disable database service """ + pass -# @Route("/{version}/database/taxonomies/{TaxonomyId}/terms", "POST") -# @Api(Description="Insert a single term into a taxonomy") + +# @Route("/{version}/database/enable", "GET") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SaveDatabaseTaxonomyTermRequest(CodeMashRequestBase, IReturn[IdResponse]): - """ - Insert a single term into a taxonomy - """ +class EnableDatabase(CodeMashRequestBase, IReturn[EmptyResponse]): + pass - # @ApiMember(Description="Taxonomy id to insert the term into, from get_database_taxonomies.", IsRequired=true) - taxonomy_id: Optional[str] = None + +# @Route("/{version}/database/schemas/triggers/{triggerId}", "DELETE") +# @Api(Description="Delete database trigger") +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class DeleteSchemaTrigger(DeleteTrigger, IReturn[EmptyResponse]): """ - Taxonomy id to insert the term into, from get_database_taxonomies. + Delete database trigger """ + pass - # @ApiMember(Description="Optional database integration id. When omitted, the project's default database integration is used.") - database_integration_id: Optional[str] = None + +# @Route("/{version}/database/schemas/triggers/{triggerId}/disable", "PATCH") +# @Api(Description="Disable database trigger") +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class DisableSchemaTrigger(DisableTrigger, IReturn[EmptyResponse]): """ - Optional database integration id. When omitted, the project's default database integration is used. + Disable database trigger """ + pass - # @ApiMember(Description="The term to insert, as a MongoDB extended-JSON document string (a raw JSON object). Supported term fields: name (string, or a {lang:value} map — required); description; order (integer sort position, lower shows first — omit for unordered); parentId (id of the single parent term); multiParents (\"additional categories\": array of {taxonomyId, parentId}). The server stamps taxonomyId/taxonomyName automatically — do not include them. Example: {\"name\":\"France\",\"order\":1}.", IsRequired=true) - document: Optional[str] = None + +# @Route("/{version}/database/schemas/triggers/{triggerId}/enable", "PATCH") +# @Api(Description="Enable database trigger") +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class EnableSchemaTrigger(EnableTrigger, IReturn[EmptyResponse]): """ - The term to insert, as a MongoDB extended-JSON document string (a raw JSON object). Supported term fields: name (string, or a {lang:value} map — required); description; order (integer sort position, lower shows first — omit for unordered); parentId (id of the single parent term); multiParents ("additional categories": array of {taxonomyId, parentId}). The server stamps taxonomyId/taxonomyName automatically — do not include them. Example: {"name":"France","order":1}. + Enable database trigger """ + pass -# @Route("/{version}/database/taxonomies/{TaxonomyId}/terms/{Id}", "PUT") -# @Api(Description="Update a single term in a taxonomy by id") + +# @Route("/{version}/database/schemas/triggers/{id}", "GET") +# @Api(Description="Gets database trigger by specified Id") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class UpdateDatabaseTaxonomyTermRequest(CodeMashRequestBase, IReturn[EmptyResponse]): +class GetSchemaTrigger(GetTrigger, IReturn[GetSchemaTriggerResponse]): """ - Update a single term in a taxonomy by id + Gets database trigger by specified Id """ - # @ApiMember(Description="Taxonomy id that owns the term, from get_database_taxonomies.", IsRequired=true) - taxonomy_id: Optional[str] = None - """ - Taxonomy id that owns the term, from get_database_taxonomies. - """ + pass - # @ApiMember(Description="Term id to update, from get_database_taxonomy_term_tree.", IsRequired=true) - id: Optional[str] = None +# @Route("/{version}/database/schemas/triggers", "GET") +# @Api(Description="Gets database triggers") +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class GetSchemaTriggers(GetTriggers, IReturn[GetSchemaTriggersResponse]): """ - Term id to update, from get_database_taxonomy_term_tree. + Gets database triggers """ + pass - # @ApiMember(Description="Optional database integration id. When omitted, the project's default database integration is used.") - database_integration_id: Optional[str] = None + +# @Route("/{version}/database/schemas/triggers", "POST") +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class SaveSchemaTrigger(SaveTrigger, IReturn[IdResponse]): + pass + + +# @Route("/{version}/database/taxonomies/{Id}", "DELETE") +# @Api(Description="Delete database taxonomy") +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class DeleteDatabaseTaxonomyRequest(CodeMashRequestBase, IReturn[EmptyResponse]): """ - Optional database integration id. When omitted, the project's default database integration is used. + Delete database taxonomy """ - - # @ApiMember(Description="Partial update document as MongoDB extended-JSON (a raw JSON object of fields to change), applied with $set — only the given fields change. Updatable term fields: name (string or {lang:value} map); description; order (integer sort position, lower shows first — use this to numerate/rank terms; set null to clear); parentId (single parent term id — a term from THIS taxonomy's parent taxonomy; e.g. link a country to its region by setting the country term's parentId to the region term id); multiParents (\"additional categories\": array of {taxonomyId, parentId}). Example to rank a term: {\"order\":1}.", IsRequired=true) - update: Optional[str] = None + # @ApiMember(Description="Taxonomy id to delete, from get_database_taxonomies.", IsRequired=true) + id: Optional[str] = None """ - Partial update document as MongoDB extended-JSON (a raw JSON object of fields to change), applied with $set — only the given fields change. Updatable term fields: name (string or {lang:value} map); description; order (integer sort position, lower shows first — use this to numerate/rank terms; set null to clear); parentId (single parent term id — a term from THIS taxonomy's parent taxonomy; e.g. link a country to its region by setting the country term's parentId to the region term id); multiParents ("additional categories": array of {taxonomyId, parentId}). Example to rank a term: {"order":1}. + Taxonomy id to delete, from get_database_taxonomies. """ -# @Route("/{version}/database/schemas/apply-bundle", "POST") -# @Api(Description="Creates every collection and taxonomy of a compiled IF bundle, linked and published") +# @Route("/{version}/database/taxonomies/{id}", "GET") +# @Api(Description="Gets database taxonomy by id") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ApplyDatabaseSchemaBundleRequest(CodeMashRequestBase, IReturn[ApplyDatabaseSchemaBundleResponse]): +class GetDatabaseTaxonomy(CodeMashRequestBase, IReturn[GetDatabaseTaxonomyResponse]): """ - Creates every collection and taxonomy of a compiled IF bundle, linked and published + Gets database taxonomy by id """ - # @ApiMember(Description="Comma-separated catalog entity ids to create from the reviewed catalog (e.g. \"blog_posts,comments\"). The usual input.") - entities: Optional[str] = None + # @ApiMember(Description="Taxonomy id from get_database_taxonomies.", IsRequired=true) + id: Optional[str] = None """ - Comma-separated catalog entity ids to create from the reviewed catalog (e.g. "blog_posts,comments"). The usual input. + Taxonomy id from get_database_taxonomies. """ - # @ApiMember(Description="Only for entities the catalog lacks: one IF entity object or an array of IF objects (JSON string). May also hold catalog refs with add_fields / remove_fields.") - bundle_json: Optional[str] = None +# @Route("/{version}/database/taxonomies", "GET") +# @Api(Description="Gets database taxonomies") +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class GetDatabaseTaxonomies(CodeMashListPaginationRequestBase, IReturn[GetDatabaseTaxonomiesResponse]): """ - Only for entities the catalog lacks: one IF entity object or an array of IF objects (JSON string). May also hold catalog refs with add_fields / remove_fields. + Gets database taxonomies """ + paging_args: Optional[PagingArgs] = None - # @ApiMember(Description="Field tier to compile: minimal | standard (default) | extended.") - tier: Optional[str] = None + +# @Route("/{version}/database/taxonomies/tree", "GET") +# @Api(Description="Returns the single-parent taxonomy structure tree") +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class GetDatabaseTaxonomyTreeRequest(CodeMashRequestBase, IReturn[GetDatabaseTaxonomyTreeResponse]): """ - Field tier to compile: minimal | standard (default) | extended. + Returns the single-parent taxonomy structure tree """ - - # @ApiMember(Description="true = mark free-text fields (title, body, excerpt …) translatable for multilingual content. Default false.") - translatable: bool = False + # @ApiMember(Description="When true, each taxonomy node also carries its own term tree (heavier response).") + include_terms: bool = False """ - true = mark free-text fields (title, body, excerpt …) translatable for multilingual content. Default false. + When true, each taxonomy node also carries its own term tree (heavier response). """ - # @ApiMember(Description="false = leave every collection as a draft instead of publishing v1. Default true.") - publish: bool = False + # @ApiMember(Description="Optional database integration id. When omitted, the project's default database integration is used.") + database_integration_id: Optional[str] = None """ - false = leave every collection as a draft instead of publishing v1. Default true. + Optional database integration id. When omitted, the project's default database integration is used. """ -# @Route("/{version}/database/schemas/{Id}", "DELETE") -# @Api(Description="Delete database schema (collection)") +# @Route("/{version}/database/taxonomies", "POST") +# @Api(Description="Creates or updates a database taxonomy") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class DeleteDatabaseSchemaRequest(CodeMashRequestBase, IReturn[EmptyResponse]): +class SaveDatabaseTaxonomyRequest(CodeMashRequestBase, IReturn[IdResponse]): """ - Delete database schema (collection) + Creates or updates a database taxonomy """ - # @ApiMember(Description="Schema id to delete, from get_database_schemas.", IsRequired=true) - id: Optional[str] = None + # @ApiMember(Description="Empty to create a new taxonomy; set to an existing taxonomy id (from get_database_taxonomies) to update it.") + view_id: Optional[str] = None """ - Schema id to delete, from get_database_schemas. + Empty to create a new taxonomy; set to an existing taxonomy id (from get_database_taxonomies) to update it. """ -# @Route("/{version}/database/schemas/{Id}/draft", "DELETE") -# @Api(Description="Discards the working-copy draft of a database schema without publishing") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class DiscardDatabaseSchemaDraftRequest(CodeMashRequestBase, IReturn[EmptyResponse]): + # @ApiMember(Description="Human-entered taxonomy title (e.g. \"Countries\"); a slug is derived server-side.", IsRequired=true) + taxonomy_name: Optional[str] = None """ - Discards the working-copy draft of a database schema without publishing + Human-entered taxonomy title (e.g. "Countries"); a slug is derived server-side. """ - # @ApiMember(Description="Schema id whose draft to discard, from get_database_schemas.", IsRequired=true) - id: Optional[str] = None + + # @ApiMember(Description="Optional free-text description of the taxonomy.") + description: Optional[str] = None """ - Schema id whose draft to discard, from get_database_schemas. + Optional free-text description of the taxonomy. """ -# @Route("/{version}/database/schemas/{id}", "GET") -# @Api(Description="Gets database schema by id") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetDatabaseSchema(CodeMashRequestBase, IReturn[GetDatabaseSchemaResponse]): + # @ApiMember(Description="Optional raw JSON string (Norbix data meta-schema) describing custom meta fields for terms in this taxonomy. Omit to leave the taxonomy structural-only.") + terms_meta_data_schema: Optional[str] = None """ - Gets database schema by id + Optional raw JSON string (Norbix data meta-schema) describing custom meta fields for terms in this taxonomy. Omit to leave the taxonomy structural-only. """ - # @ApiMember(Description="Schema id from get_database_schemas.", IsRequired=true) - id: Optional[str] = None + + # @ApiMember(Description="Optional raw JSON string (Norbix UI/visual meta-schema) describing the term meta edit form.") + terms_meta_visual_schema: Optional[str] = None """ - Schema id from get_database_schemas. + Optional raw JSON string (Norbix UI/visual meta-schema) describing the term meta edit form. """ - # @ApiMember(DataType="integer", Description="Optional published version number to pin; omit for the latest published version.", Name="version", ParameterType="query") - schema_version: Optional[int] = None + # @ApiMember(Description="Optional parent taxonomy id. The child taxonomy points to its parent — e.g. set the Countries taxonomy's parentId to the Regions taxonomy id so each country term can be parented by a region term. Omit for a root taxonomy.") + parent_id: Optional[str] = None """ - Optional published version number to pin; omit for the latest published version. + Optional parent taxonomy id. The child taxonomy points to its parent — e.g. set the Countries taxonomy's parentId to the Regions taxonomy id so each country term can be parented by a region term. Omit for a root taxonomy. """ -# @Route("/{version}/database/schemas", "GET") -# @Api(Description="Gets database schemas (collections)") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetDatabaseSchemas(CodeMashListPaginationRequestBase, IReturn[GetDatabaseSchemasResponse]): + # @ApiMember(Description="Optional list of other taxonomy ids this taxonomy depends on for multi-parent terms. Omit for a self-contained taxonomy.") + dependencies: Optional[List[str]] = None """ - Gets database schemas (collections) + Optional list of other taxonomy ids this taxonomy depends on for multi-parent terms. Omit for a self-contained taxonomy. """ - paging_args: Optional[PagingArgs] = None - -# @Route("/{version}/database/schemas/{Id}/draft", "GET") -# @Api(Description="Gets the current draft of a database schema") +# @Route("/{version}/database/taxonomies/{TaxonomyId}/terms/{Id}", "DELETE") +# @Api(Description="Delete a single term from a taxonomy by id") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetDatabaseSchemaDraft(CodeMashRequestBase, IReturn[GetDatabaseSchemaDraftResponse]): - """ - Gets the current draft of a database schema - """ - - # @ApiMember(Description="Schema id from get_database_schemas.", IsRequired=true) - id: Optional[str] = None +class DeleteDatabaseTaxonomyTermRequest(CodeMashRequestBase, IReturn[EmptyResponse]): """ - Schema id from get_database_schemas. + Delete a single term from a taxonomy by id """ - -# @Route("/{version}/database/schemas/{Id}/list-settings", "GET") -# @Api(Description="Gets database schema records-list display settings") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetDatabaseSchemaListSettings(CodeMashRequestBase, IReturn[GetDatabaseSchemaListSettingsResponse]): + # @ApiMember(Description="Taxonomy id that owns the term, from get_database_taxonomies.", IsRequired=true) + taxonomy_id: Optional[str] = None """ - Gets database schema records-list display settings + Taxonomy id that owns the term, from get_database_taxonomies. """ - # @ApiMember(Description="Schema id from get_database_schemas.", IsRequired=true) + + # @ApiMember(Description="Term id to delete, from get_database_taxonomy_term_tree.", IsRequired=true) id: Optional[str] = None """ - Schema id from get_database_schemas. + Term id to delete, from get_database_taxonomy_term_tree. """ -# @Route("/{version}/database/schemas/{Id}/versions/diff", "GET") -# @Api(Description="Structural diff between two published versions of a database schema") + # @ApiMember(Description="Optional database integration id. When omitted, the project's default database integration is used.") + database_integration_id: Optional[str] = None + """ + Optional database integration id. When omitted, the project's default database integration is used. + """ + + +# @Route("/{version}/database/taxonomies/{TaxonomyId}/terms/many", "DELETE") +# @Api(Description="Delete many terms in a taxonomy matching the given filter") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetDatabaseSchemaVersionDiff(CodeMashRequestBase, IReturn[GetDatabaseSchemaVersionDiffResponse]): +class DeleteManyDatabaseTaxonomyTermsRequest(CodeMashRequestBase, IReturn[EmptyResponse]): """ - Structural diff between two published versions of a database schema + Delete many terms in a taxonomy matching the given filter """ - # @ApiMember(Description="Schema id from get_database_schemas.", IsRequired=true) - id: Optional[str] = None + # @ApiMember(Description="Taxonomy id whose terms to delete, from get_database_taxonomies.", IsRequired=true) + taxonomy_id: Optional[str] = None """ - Schema id from get_database_schemas. + Taxonomy id whose terms to delete, from get_database_taxonomies. """ - # @ApiMember(DataType="integer", Description="Earlier published version number to diff from. Get valid values from get_database_schema_versions.", IsRequired=true) - from_version: int = 0 + # @ApiMember(Description="Optional database integration id. When omitted, the project's default database integration is used.") + database_integration_id: Optional[str] = None """ - Earlier published version number to diff from. Get valid values from get_database_schema_versions. + Optional database integration id. When omitted, the project's default database integration is used. """ - # @ApiMember(DataType="integer", Description="Later published version number to diff to. Get valid values from get_database_schema_versions.", IsRequired=true) - to_version: int = 0 + # @ApiMember(Description="MongoDB extended-JSON match filter (a raw JSON object, e.g. {\"active\":false}) selecting which terms to delete. Automatically ANDed server-side with the taxonomyId, so it cannot affect other taxonomies.", IsRequired=true) + filter: Optional[str] = None """ - Later published version number to diff to. Get valid values from get_database_schema_versions. + MongoDB extended-JSON match filter (a raw JSON object, e.g. {"active":false}) selecting which terms to delete. Automatically ANDed server-side with the taxonomyId, so it cannot affect other taxonomies. """ -# @Route("/{version}/database/schemas/{Id}/versions", "GET") -# @Api(Description="Lists published version summaries for a database schema") +# @Route("/{version}/database/taxonomies/{TaxonomyId}/terms/{Id}", "GET") +# @Api(Description="Get a single term from a taxonomy by id") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetDatabaseSchemaVersions(CodeMashRequestBase, IReturn[GetDatabaseSchemaVersionsResponse]): +class GetDatabaseTaxonomyTermRequest(CodeMashRequestBase, IReturn[GetDatabaseTaxonomyTermResponse]): """ - Lists published version summaries for a database schema + Get a single term from a taxonomy by id """ - # @ApiMember(Description="Schema id from get_database_schemas.", IsRequired=true) - id: Optional[str] = None + # @ApiMember(Description="Taxonomy id from get_database_taxonomies.", IsRequired=true) + taxonomy_id: Optional[str] = None """ - Schema id from get_database_schemas. + Taxonomy id from get_database_taxonomies. """ -# @Route("/{version}/database/schemas/{Id}/publish", "POST") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PublishDatabaseSchemaRequest(CodeMashRequestBase, IReturn[EmptyResponse]): + # @ApiMember(Description="Term id from get_database_taxonomy_term_tree.", IsRequired=true) id: Optional[str] = None - confirmed: bool = False + """ + Term id from get_database_taxonomy_term_tree. + """ -# @Route("/{version}/database/schemas/{Id}/rename", "PUT") -# @Api(Description="Renames a database schema (collection)") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class RenameDatabaseSchemaRequest(CodeMashRequestBase, IReturn[EmptyResponse]): + # @ApiMember(Description="Optional database integration id. When omitted, the project's default database integration is used.") + database_integration_id: Optional[str] = None """ - Renames a database schema (collection) + Optional database integration id. When omitted, the project's default database integration is used. """ - # @ApiMember(Description="Schema id to rename, from get_database_schemas.", IsRequired=true) - id: Optional[str] = None + +# @Route("/{version}/database/taxonomies/{TaxonomyName}/merged-tree", "GET") +# @Api(Description="Returns a merged term tree across a taxonomy and its child taxonomies") +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class GetDatabaseMergedTermTreeRequest(CodeMashRequestBase, IReturn[GetDatabaseMergedTermTreeResponse]): """ - Schema id to rename, from get_database_schemas. + Returns a merged term tree across a taxonomy and its child taxonomies """ - - # @ApiMember(Description="New human-entered title (e.g. \"Company Employees\"); the slug is derived server-side.", IsRequired=true) - title: Optional[str] = None + # @ApiMember(Description="Root taxonomy slug/name (from get_database_taxonomies). Its terms are the roots; child-taxonomy terms nest under them.", IsRequired=true) + taxonomy_name: Optional[str] = None """ - New human-entered title (e.g. "Company Employees"); the slug is derived server-side. + Root taxonomy slug/name (from get_database_taxonomies). Its terms are the roots; child-taxonomy terms nest under them. """ - # @ApiMember(Description="When true (default), rejects the rename if another schema already owns the derived slug. Leave true unless explicitly asked to bypass the uniqueness check.") - rename_unique_name: bool = False + # @ApiMember(Description="Optional database integration id. When omitted, the project's default database integration is used.") + database_integration_id: Optional[str] = None """ - When true (default), rejects the rename if another schema already owns the derived slug. Leave true unless explicitly asked to bypass the uniqueness check. + Optional database integration id. When omitted, the project's default database integration is used. """ -# @Route("/{version}/database/schemas", "POST") +# @Route("/{version}/database/taxonomies/{TaxonomyName}/terms/tree", "GET") +# @Api(Description="Returns the whole term tree of a taxonomy (or a sub-tree) in one call") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SaveDatabaseSchemaRequest(CodeMashRequestBase, IReturn[IdResponse]): - # @ApiMember(Description="Empty to create a new schema; set to an existing schema id (from get_database_schemas) to update its draft.") - view_id: Optional[str] = None +class GetDatabaseTaxonomyTermTreeRequest(CodeMashRequestBase, IReturn[GetDatabaseTaxonomyTermTreeResponse]): """ - Empty to create a new schema; set to an existing schema id (from get_database_schemas) to update its draft. + Returns the whole term tree of a taxonomy (or a sub-tree) in one call """ - - # @ApiMember(Description="Human-entered schema title (e.g. \"Company Employees\"); a slug is derived server-side.", IsRequired=true) - schema_name: Optional[str] = None + # @ApiMember(Description="Taxonomy slug/name to fetch the term tree for, from get_database_taxonomies.", IsRequired=true) + taxonomy_name: Optional[str] = None """ - Human-entered schema title (e.g. "Company Employees"); a slug is derived server-side. + Taxonomy slug/name to fetch the term tree for, from get_database_taxonomies. """ - # @ApiMember(Description="Raw JSON string matching the Norbix data meta-schema (https://norbix.ai/schemas/meta/v1.json). When unsure of the shape, read an existing schema with get_database_schema first.") - data_schema: Optional[str] = None + # @ApiMember(Description="Optional term id to root the returned tree at a sub-tree instead of the whole taxonomy.") + root_term_id: Optional[str] = None """ - Raw JSON string matching the Norbix data meta-schema (https://norbix.ai/schemas/meta/v1.json). When unsure of the shape, read an existing schema with get_database_schema first. + Optional term id to root the returned tree at a sub-tree instead of the whole taxonomy. """ - # @ApiMember(Description="OPTIONAL raw JSON string matching the Norbix UI/visual meta-schema (https://norbix.ai/schemas/ui/v1.json), describing the record form layout. If omitted or invalid, the backend auto-generates a flat-list form from the data schema; provide it to control the layout.") - visual_schema: Optional[str] = None + # @ApiMember(DataType="integer", Description="Optional maximum depth to return below the root.") + depth: Optional[int] = None """ - OPTIONAL raw JSON string matching the Norbix UI/visual meta-schema (https://norbix.ai/schemas/ui/v1.json), describing the record form layout. If omitted or invalid, the backend auto-generates a flat-list form from the data schema; provide it to control the layout. + Optional maximum depth to return below the root. """ - # @ApiMember(Description="Optional schema-level settings (e.g. record validation behavior).") - settings: Optional[SchemaSettingsDto] = None + # @ApiMember(Description="Optional database integration id. When omitted, the project's default database integration is used.") + database_integration_id: Optional[str] = None """ - Optional schema-level settings (e.g. record validation behavior). + Optional database integration id. When omitted, the project's default database integration is used. """ -# @Route("/{version}/database/schemas/{Id}/draft", "PUT") -# @Api(Description="Saves the working-copy draft of a database schema") +# @Route("/{version}/database/taxonomies/{TaxonomyId}/terms", "POST") +# @Api(Description="Insert a single term into a taxonomy") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class UpdateDatabaseSchemaDraftRequest(CodeMashRequestBase, IReturn[EmptyResponse]): +class SaveDatabaseTaxonomyTermRequest(CodeMashRequestBase, IReturn[IdResponse]): """ - Saves the working-copy draft of a database schema + Insert a single term into a taxonomy """ - # @ApiMember(Description="Schema id whose draft to replace, from get_database_schemas.", IsRequired=true) - id: Optional[str] = None + # @ApiMember(Description="Taxonomy id to insert the term into, from get_database_taxonomies.", IsRequired=true) + taxonomy_id: Optional[str] = None """ - Schema id whose draft to replace, from get_database_schemas. + Taxonomy id to insert the term into, from get_database_taxonomies. """ - # @ApiMember(Description="Raw JSON string matching the Norbix data meta-schema (https://norbix.ai/schemas/meta/v1.json) for the draft's data schema.") - data_schema: Optional[str] = None + # @ApiMember(Description="Optional database integration id. When omitted, the project's default database integration is used.") + database_integration_id: Optional[str] = None """ - Raw JSON string matching the Norbix data meta-schema (https://norbix.ai/schemas/meta/v1.json) for the draft's data schema. + Optional database integration id. When omitted, the project's default database integration is used. """ - # @ApiMember(Description="Raw JSON string matching the Norbix UI/visual meta-schema (https://norbix.ai/schemas/ui/v1.json) for the draft's record form.") - visual_schema: Optional[str] = None + # @ApiMember(Description="The term to insert, as a MongoDB extended-JSON document string (a raw JSON object). Supported term fields: name (string, or a {lang:value} map — required); description; order (integer sort position, lower shows first — omit for unordered); parentId (id of the single parent term); multiParents (\"additional categories\": array of {taxonomyId, parentId}). The server stamps taxonomyId/taxonomyName automatically — do not include them. Example: {\"name\":\"France\",\"order\":1}.", IsRequired=true) + document: Optional[str] = None """ - Raw JSON string matching the Norbix UI/visual meta-schema (https://norbix.ai/schemas/ui/v1.json) for the draft's record form. + The term to insert, as a MongoDB extended-JSON document string (a raw JSON object). Supported term fields: name (string, or a {lang:value} map — required); description; order (integer sort position, lower shows first — omit for unordered); parentId (id of the single parent term); multiParents ("additional categories": array of {taxonomyId, parentId}). The server stamps taxonomyId/taxonomyName automatically — do not include them. Example: {"name":"France","order":1}. """ -# @Route("/{version}/database/schemas/{Id}/list-settings", "PUT") -# @Api(Description="Updates database schema records-list display settings") +# @Route("/{version}/database/taxonomies/{TaxonomyId}/terms/{Id}", "PUT") +# @Api(Description="Update a single term in a taxonomy by id") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class UpdateDatabaseSchemaListSettingsRequest(CodeMashRequestBase, IReturn[EmptyResponse]): +class UpdateDatabaseTaxonomyTermRequest(CodeMashRequestBase, IReturn[EmptyResponse]): """ - Updates database schema records-list display settings + Update a single term in a taxonomy by id """ - # @ApiMember(Description="Schema id whose list settings to update, from get_database_schemas.", IsRequired=true) + # @ApiMember(Description="Taxonomy id that owns the term, from get_database_taxonomies.", IsRequired=true) + taxonomy_id: Optional[str] = None + """ + Taxonomy id that owns the term, from get_database_taxonomies. + """ + + + # @ApiMember(Description="Term id to update, from get_database_taxonomy_term_tree.", IsRequired=true) id: Optional[str] = None """ - Schema id whose list settings to update, from get_database_schemas. + Term id to update, from get_database_taxonomy_term_tree. """ - # @ApiMember(Description="The complete new list settings object (full replace).", IsRequired=true) - settings: Optional[SchemaListSettingsDto] = None + # @ApiMember(Description="Optional database integration id. When omitted, the project's default database integration is used.") + database_integration_id: Optional[str] = None """ - The complete new list settings object (full replace). + Optional database integration id. When omitted, the project's default database integration is used. """ -# @Route("/{version}/database/schemas/{Id}/settings", "PUT") -# @Api(Description="Updates database schema settings") + # @ApiMember(Description="Partial update document as MongoDB extended-JSON (a raw JSON object of fields to change), applied with $set — only the given fields change. Updatable term fields: name (string or {lang:value} map); description; order (integer sort position, lower shows first — use this to numerate/rank terms; set null to clear); parentId (single parent term id — a term from THIS taxonomy's parent taxonomy; e.g. link a country to its region by setting the country term's parentId to the region term id); multiParents (\"additional categories\": array of {taxonomyId, parentId}). Example to rank a term: {\"order\":1}.", IsRequired=true) + update: Optional[str] = None + """ + Partial update document as MongoDB extended-JSON (a raw JSON object of fields to change), applied with $set — only the given fields change. Updatable term fields: name (string or {lang:value} map); description; order (integer sort position, lower shows first — use this to numerate/rank terms; set null to clear); parentId (single parent term id — a term from THIS taxonomy's parent taxonomy; e.g. link a country to its region by setting the country term's parentId to the region term id); multiParents ("additional categories": array of {taxonomyId, parentId}). Example to rank a term: {"order":1}. + """ + + +# @Route("/{version}/database/schemas/apply-bundle", "POST") +# @Api(Description="Creates every collection and taxonomy of a compiled IF bundle, linked and published") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class UpdateDatabaseSchemaSettingsRequest(CodeMashRequestBase, IReturn[EmptyResponse]): +class ApplyDatabaseSchemaBundleRequest(CodeMashRequestBase, IReturn[ApplyDatabaseSchemaBundleResponse]): """ - Updates database schema settings + Creates every collection and taxonomy of a compiled IF bundle, linked and published """ - # @ApiMember(Description="Schema id whose settings to update, from get_database_schemas.", IsRequired=true) - id: Optional[str] = None + # @ApiMember(Description="Comma-separated catalog entity ids to create from the reviewed catalog (e.g. \"blog_posts,comments\"). The usual input.") + entities: Optional[str] = None """ - Schema id whose settings to update, from get_database_schemas. + Comma-separated catalog entity ids to create from the reviewed catalog (e.g. "blog_posts,comments"). The usual input. """ - # @ApiMember(Description="The new schema settings object.", IsRequired=true) - settings: Optional[SchemaSettingsDto] = None + # @ApiMember(Description="Only for entities the catalog lacks: one IF entity object or an array of IF objects (JSON string). May also hold catalog refs with add_fields / remove_fields.") + bundle_json: Optional[str] = None """ - The new schema settings object. + Only for entities the catalog lacks: one IF entity object or an array of IF objects (JSON string). May also hold catalog refs with add_fields / remove_fields. """ -# @Route("/{version}/database/collections/{collectionName}/aggregate", "POST") -# @Api(Description="Database") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class AggregateRecords(CodeMashRequestBase, IReturn[AggregateRecordsResponse]): + # @ApiMember(Description="Field tier to compile: minimal | standard (default) | extended.") + tier: Optional[str] = None """ - Database + Field tier to compile: minimal | standard (default) | extended. """ - # @ApiMember(Description="The collection (schema) name to run the aggregation against.", IsRequired=true) - collection_name: Optional[str] = None + + # @ApiMember(Description="true = mark free-text fields (title, body, excerpt …) translatable for multilingual content. Default false.") + translatable: bool = False """ - The collection (schema) name to run the aggregation against. + true = mark free-text fields (title, body, excerpt …) translatable for multilingual content. Default false. """ - database_integration_id: Optional[str] = None - # @ApiMember(Description="The aggregation pipeline as a MongoDB extended-JSON array of stages.", IsRequired=true) - pipeline: Optional[str] = None + # @ApiMember(Description="false = leave every collection as a draft instead of publishing v1. Default true.") + publish: bool = False """ - The aggregation pipeline as a MongoDB extended-JSON array of stages. + false = leave every collection as a draft instead of publishing v1. Default true. """ -# @Route("/{version}/database/collections/{collectionName}/{id}/responsibility", "PUT") -# @Api(Description="Database") +# @Route("/{version}/database/schemas/{Id}", "DELETE") +# @Api(Description="Delete database schema (collection)") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ChangeRecordResponsibility(CodeMashRequestBase, IReturn[EmptyResponse]): +class DeleteDatabaseSchemaRequest(CodeMashRequestBase, IReturn[EmptyResponse]): """ - Database + Delete database schema (collection) """ - # @ApiMember(Description="The collection (schema) name the record lives in.", IsRequired=true) - collection_name: Optional[str] = None + # @ApiMember(Description="Schema id to delete, from get_database_schemas.", IsRequired=true) + id: Optional[str] = None """ - The collection (schema) name the record lives in. + Schema id to delete, from get_database_schemas. """ - # @ApiMember(Description="The id of the record whose responsibility changes.", IsRequired=true) - id: Optional[str] = None +# @Route("/{version}/database/schemas/{Id}/draft", "DELETE") +# @Api(Description="Discards the working-copy draft of a database schema without publishing") +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class DiscardDatabaseSchemaDraftRequest(CodeMashRequestBase, IReturn[EmptyResponse]): """ - The id of the record whose responsibility changes. + Discards the working-copy draft of a database schema without publishing """ - - - database_integration_id: Optional[str] = None - # @ApiMember(Description="The new responsible user (owner) id.", IsRequired=true) - new_responsible_user_id: Optional[str] = None + + # @ApiMember(Description="Schema id whose draft to discard, from get_database_schemas.", IsRequired=true) + id: Optional[str] = None """ - The new responsible user (owner) id. + Schema id whose draft to discard, from get_database_schemas. """ -# @Route("/{version}/database/collections/{collectionName}/count", "GET") -# @Api(Description="Database") +# @Route("/{version}/database/schemas/{id}", "GET") +# @Api(Description="Gets database schema by id") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class CountRecords(CodeMashRequestBase, IReturn[CountRecordsResponse]): +class GetDatabaseSchema(CodeMashRequestBase, IReturn[GetDatabaseSchemaResponse]): """ - Database + Gets database schema by id """ - # @ApiMember(Description="The collection (schema) name to count records in.", IsRequired=true) - collection_name: Optional[str] = None + # @ApiMember(Description="Schema id from get_database_schemas.", IsRequired=true) + id: Optional[str] = None """ - The collection (schema) name to count records in. + Schema id from get_database_schemas. """ - database_integration_id: Optional[str] = None - # @ApiMember(Description="Optional MongoDB extended-JSON filter. Empty means count all records.") - filter: Optional[str] = None + # @ApiMember(DataType="integer", Description="Optional published version number to pin; omit for the latest published version.", Name="version", ParameterType="query") + schema_version: Optional[int] = None """ - Optional MongoDB extended-JSON filter. Empty means count all records. + Optional published version number to pin; omit for the latest published version. """ - schema_version: Optional[int] = None - - -# @Route("/{version}/database/collections/{collectionName}/many", "DELETE") -# @Api(Description="Database") +# @Route("/{version}/database/schemas", "GET") +# @Api(Description="Gets database schemas (collections)") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class DeleteManyRecords(CodeMashRequestBase, IReturn[EmptyResponse]): +class GetDatabaseSchemas(CodeMashListPaginationRequestBase, IReturn[GetDatabaseSchemasResponse]): """ - Database + Gets database schemas (collections) """ - # @ApiMember(Description="The collection (schema) name the records live in.", IsRequired=true) - collection_name: Optional[str] = None + paging_args: Optional[PagingArgs] = None + + +# @Route("/{version}/database/schemas/{Id}/draft", "GET") +# @Api(Description="Gets the current draft of a database schema") +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class GetDatabaseSchemaDraft(CodeMashRequestBase, IReturn[GetDatabaseSchemaDraftResponse]): """ - The collection (schema) name the records live in. + Gets the current draft of a database schema """ - - database_integration_id: Optional[str] = None - # @ApiMember(Description="The match filter as a MongoDB extended-JSON document. Required.", IsRequired=true) - filter: Optional[str] = None + # @ApiMember(Description="Schema id from get_database_schemas.", IsRequired=true) + id: Optional[str] = None """ - The match filter as a MongoDB extended-JSON document. Required. + Schema id from get_database_schemas. """ -# @Route("/{version}/database/collections/{collectionName}/{id}", "DELETE") -# @Api(Description="Database") +# @Route("/{version}/database/schemas/{Id}/list-settings", "GET") +# @Api(Description="Gets database schema records-list display settings") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class DeleteRecord(CodeMashRequestBase, IReturn[EmptyResponse]): +class GetDatabaseSchemaListSettings(CodeMashRequestBase, IReturn[GetDatabaseSchemaListSettingsResponse]): """ - Database + Gets database schema records-list display settings """ - # @ApiMember(Description="The collection (schema) name the record lives in.", IsRequired=true) - collection_name: Optional[str] = None + # @ApiMember(Description="Schema id from get_database_schemas.", IsRequired=true) + id: Optional[str] = None """ - The collection (schema) name the record lives in. + Schema id from get_database_schemas. """ - # @ApiMember(Description="The id of the record to delete.", IsRequired=true) - id: Optional[str] = None +# @Route("/{version}/database/schemas/{Id}/versions/diff", "GET") +# @Api(Description="Structural diff between two published versions of a database schema") +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class GetDatabaseSchemaVersionDiff(CodeMashRequestBase, IReturn[GetDatabaseSchemaVersionDiffResponse]): """ - The id of the record to delete. + Structural diff between two published versions of a database schema """ - - database_integration_id: Optional[str] = None + # @ApiMember(Description="Schema id from get_database_schemas.", IsRequired=true) + id: Optional[str] = None + """ + Schema id from get_database_schemas. + """ -# @Route("/{version}/database/collections/{collectionName}/distinct", "GET") -# @Api(Description="Database") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class DistinctRecordValues(CodeMashRequestBase, IReturn[DistinctRecordValuesResponse]): + # @ApiMember(DataType="integer", Description="Earlier published version number to diff from. Get valid values from get_database_schema_versions.", IsRequired=true) + from_version: int = 0 """ - Database + Earlier published version number to diff from. Get valid values from get_database_schema_versions. """ - # @ApiMember(Description="The collection (schema) name to read from.", IsRequired=true) - collection_name: Optional[str] = None + + # @ApiMember(DataType="integer", Description="Later published version number to diff to. Get valid values from get_database_schema_versions.", IsRequired=true) + to_version: int = 0 """ - The collection (schema) name to read from. + Later published version number to diff to. Get valid values from get_database_schema_versions. """ - database_integration_id: Optional[str] = None - # @ApiMember(Description="The document field (dotted path allowed) to get distinct values for, e.g. 'status'.", IsRequired=true) - field: Optional[str] = None +# @Route("/{version}/database/schemas/{Id}/versions", "GET") +# @Api(Description="Lists published version summaries for a database schema") +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class GetDatabaseSchemaVersions(CodeMashRequestBase, IReturn[GetDatabaseSchemaVersionsResponse]): """ - The document field (dotted path allowed) to get distinct values for, e.g. 'status'. + Lists published version summaries for a database schema """ - - # @ApiMember(Description="Optional MongoDB extended-JSON filter. Empty means consider all records.") - filter: Optional[str] = None + # @ApiMember(Description="Schema id from get_database_schemas.", IsRequired=true) + id: Optional[str] = None """ - Optional MongoDB extended-JSON filter. Empty means consider all records. + Schema id from get_database_schemas. """ - schema_version: Optional[int] = None +# @Route("/{version}/database/schemas/{Id}/publish", "POST") +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class PublishDatabaseSchemaRequest(CodeMashRequestBase, IReturn[EmptyResponse]): + id: Optional[str] = None + confirmed: bool = False -# @Route("/{version}/database/collections/{collectionName}/aggregates/{aggregateId}/execute", "POST") -# @Api(Description="Database") +# @Route("/{version}/database/schemas/{Id}/rename", "PUT") +# @Api(Description="Renames a database schema (collection)") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ExecuteRecordsAggregate(CodeMashRequestBase, IReturn[ExecuteRecordsAggregateResponse]): +class RenameDatabaseSchemaRequest(CodeMashRequestBase, IReturn[EmptyResponse]): """ - Database + Renames a database schema (collection) """ - # @ApiMember(Description="The collection (schema) name to run the saved aggregation against.", IsRequired=true) - collection_name: Optional[str] = None + # @ApiMember(Description="Schema id to rename, from get_database_schemas.", IsRequired=true) + id: Optional[str] = None """ - The collection (schema) name to run the saved aggregation against. + Schema id to rename, from get_database_schemas. """ - # @ApiMember(Description="The saved aggregate id (maggr_…) to execute.", IsRequired=true) - aggregate_id: Optional[str] = None + # @ApiMember(Description="New human-entered title (e.g. \"Company Employees\"); the slug is derived server-side.", IsRequired=true) + title: Optional[str] = None """ - The saved aggregate id (maggr_…) to execute. + New human-entered title (e.g. "Company Employees"); the slug is derived server-side. """ - database_integration_id: Optional[str] = None - # @ApiMember(Description="Optional key/value substitutions for {TokenKey} placeholders in the saved pipeline.") - tokens: Optional[Dict[str, str]] = None + # @ApiMember(Description="When true (default), rejects the rename if another schema already owns the derived slug. Leave true unless explicitly asked to bypass the uniqueness check.") + rename_unique_name: bool = False """ - Optional key/value substitutions for {TokenKey} placeholders in the saved pipeline. + When true (default), rejects the rename if another schema already owns the derived slug. Leave true unless explicitly asked to bypass the uniqueness check. """ -# @Route("/{version}/database/collections/{collectionName}", "GET") -# @Api(Description="Database") +# @Route("/{version}/database/schemas", "POST") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class FindRecords(CodeMashListPaginationRequestBase, IReturn[FindRecordsResponse]): +class SaveDatabaseSchemaRequest(CodeMashRequestBase, IReturn[IdResponse]): + # @ApiMember(Description="Empty to create a new schema; set to an existing schema id (from get_database_schemas) to update its draft.") + view_id: Optional[str] = None """ - Database + Empty to create a new schema; set to an existing schema id (from get_database_schemas) to update its draft. """ - # @ApiMember(Description="The collection (schema) name to read from.", IsRequired=true) - collection_name: Optional[str] = None + + # @ApiMember(Description="Human-entered schema title (e.g. \"Company Employees\"); a slug is derived server-side.", IsRequired=true) + schema_name: Optional[str] = None """ - The collection (schema) name to read from. + Human-entered schema title (e.g. "Company Employees"); a slug is derived server-side. """ - database_integration_id: Optional[str] = None - # @ApiMember(Description="Optional MongoDB extended-JSON filter. Empty means match all records.") - filter: Optional[str] = None + # @ApiMember(Description="Raw JSON string matching the Norbix data meta-schema (https://norbix.ai/schemas/meta/v1.json). When unsure of the shape, read an existing schema with get_database_schema first.") + data_schema: Optional[str] = None """ - Optional MongoDB extended-JSON filter. Empty means match all records. + Raw JSON string matching the Norbix data meta-schema (https://norbix.ai/schemas/meta/v1.json). When unsure of the shape, read an existing schema with get_database_schema first. """ - # @ApiMember(Description="Optional contact id (ct_…) — only that contact's records are returned.") - contact_id: Optional[str] = None + # @ApiMember(Description="OPTIONAL raw JSON string matching the Norbix UI/visual meta-schema (https://norbix.ai/schemas/ui/v1.json), describing the record form layout. If omitted or invalid, the backend auto-generates a flat-list form from the data schema; provide it to control the layout.") + visual_schema: Optional[str] = None """ - Optional contact id (ct_…) — only that contact's records are returned. + OPTIONAL raw JSON string matching the Norbix UI/visual meta-schema (https://norbix.ai/schemas/ui/v1.json), describing the record form layout. If omitted or invalid, the backend auto-generates a flat-list form from the data schema; provide it to control the layout. """ - schema_version: Optional[int] = None - paging_args: Optional[PagingArgs] = None - sort_by: Optional[str] = None - sort_order: Optional[int] = None + # @ApiMember(Description="Optional schema-level settings (e.g. record validation behavior).") + settings: Optional[SchemaSettingsDto] = None + """ + Optional schema-level settings (e.g. record validation behavior). + """ -# @Route("/{version}/database/collections/{collectionName}/{id}", "GET") -# @Api(Description="Database") +# @Route("/{version}/database/schemas/{Id}/draft", "PUT") +# @Api(Description="Saves the working-copy draft of a database schema") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class FindOneRecord(CodeMashRequestBase, IReturn[FindOneRecordResponse]): +class UpdateDatabaseSchemaDraftRequest(CodeMashRequestBase, IReturn[EmptyResponse]): """ - Database + Saves the working-copy draft of a database schema """ - # @ApiMember(Description="The collection (schema) name to read from.", IsRequired=true) - collection_name: Optional[str] = None + # @ApiMember(Description="Schema id whose draft to replace, from get_database_schemas.", IsRequired=true) + id: Optional[str] = None """ - The collection (schema) name to read from. + Schema id whose draft to replace, from get_database_schemas. """ - # @ApiMember(Description="The id of the record to fetch.", IsRequired=true) - id: Optional[str] = None + # @ApiMember(Description="Raw JSON string matching the Norbix data meta-schema (https://norbix.ai/schemas/meta/v1.json) for the draft's data schema.") + data_schema: Optional[str] = None """ - The id of the record to fetch. + Raw JSON string matching the Norbix data meta-schema (https://norbix.ai/schemas/meta/v1.json) for the draft's data schema. """ - database_integration_id: Optional[str] = None + # @ApiMember(Description="Raw JSON string matching the Norbix UI/visual meta-schema (https://norbix.ai/schemas/ui/v1.json) for the draft's record form.") + visual_schema: Optional[str] = None + """ + Raw JSON string matching the Norbix UI/visual meta-schema (https://norbix.ai/schemas/ui/v1.json) for the draft's record form. + """ -# @Route("/{version}/database/collections/{collectionName}/indexes", "GET") -# @Api(Description="Database") +# @Route("/{version}/database/schemas/{Id}/list-settings", "PUT") +# @Api(Description="Updates database schema records-list display settings") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetCollectionIndexes(CodeMashRequestBase, IReturn[GetCollectionIndexesResponse]): +class UpdateDatabaseSchemaListSettingsRequest(CodeMashRequestBase, IReturn[EmptyResponse]): """ - Database + Updates database schema records-list display settings """ - # @ApiMember(Description="The collection (schema) name to inspect.", IsRequired=true) - collection_name: Optional[str] = None + # @ApiMember(Description="Schema id whose list settings to update, from get_database_schemas.", IsRequired=true) + id: Optional[str] = None """ - The collection (schema) name to inspect. + Schema id whose list settings to update, from get_database_schemas. """ - database_integration_id: Optional[str] = None + # @ApiMember(Description="The complete new list settings object (full replace).", IsRequired=true) + settings: Optional[SchemaListSettingsDto] = None + """ + The complete new list settings object (full replace). + """ -# @Route("/{version}/database/collections/{collectionName}/many", "POST") -# @Api(Description="Database") +# @Route("/{version}/database/schemas/{Id}/settings", "PUT") +# @Api(Description="Updates database schema settings") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class InsertManyRecords(CodeMashRequestBase, IReturn[EmptyResponse]): +class UpdateDatabaseSchemaSettingsRequest(CodeMashRequestBase, IReturn[EmptyResponse]): """ - Database + Updates database schema settings """ - # @ApiMember(Description="The collection (schema) name to insert into.", IsRequired=true) - collection_name: Optional[str] = None + # @ApiMember(Description="Schema id whose settings to update, from get_database_schemas.", IsRequired=true) + id: Optional[str] = None """ - The collection (schema) name to insert into. + Schema id whose settings to update, from get_database_schemas. """ - - database_integration_id: Optional[str] = None - # @ApiMember(Description="The records to insert as a MongoDB extended-JSON array of documents.", IsRequired=true) - documents: Optional[str] = None + + # @ApiMember(Description="The new schema settings object.", IsRequired=true) + settings: Optional[SchemaSettingsDto] = None """ - The records to insert as a MongoDB extended-JSON array of documents. + The new schema settings object. """ -# @Route("/{version}/database/collections/{collectionName}", "POST") +# @Route("/{version}/database/collections/{collectionName}/aggregate", "POST") # @Api(Description="Database") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class InsertRecord(CodeMashRequestBase, IReturn[IdResponse]): +class AggregateRecords(CodeMashRequestBase, IReturn[AggregateRecordsResponse]): """ Database """ - # @ApiMember(Description="The collection (schema) name to insert into.", IsRequired=true) + # @ApiMember(Description="The collection (schema) name to run the aggregation against.", IsRequired=true) collection_name: Optional[str] = None """ - The collection (schema) name to insert into. + The collection (schema) name to run the aggregation against. """ database_integration_id: Optional[str] = None - # @ApiMember(Description="The record to insert, as a MongoDB extended-JSON document string.", IsRequired=true) - document: Optional[str] = None + # @ApiMember(Description="The aggregation pipeline as a MongoDB extended-JSON array of stages.", IsRequired=true) + pipeline: Optional[str] = None """ - The record to insert, as a MongoDB extended-JSON document string. + The aggregation pipeline as a MongoDB extended-JSON array of stages. """ -# @Route("/{version}/database/collections/{collectionName}/{id}/replace", "PUT") +# @Route("/{version}/database/collections/{collectionName}/{id}/responsibility", "PUT") # @Api(Description="Database") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ReplaceRecord(CodeMashRequestBase, IReturn[EmptyResponse]): +class ChangeRecordResponsibility(CodeMashRequestBase, IReturn[EmptyResponse]): """ Database """ @@ -12749,50 +10718,53 @@ class ReplaceRecord(CodeMashRequestBase, IReturn[EmptyResponse]): """ - # @ApiMember(Description="The id of the record to replace.", IsRequired=true) + # @ApiMember(Description="The id of the record whose responsibility changes.", IsRequired=true) id: Optional[str] = None """ - The id of the record to replace. + The id of the record whose responsibility changes. """ database_integration_id: Optional[str] = None - # @ApiMember(Description="The replacement document as MongoDB extended-JSON.", IsRequired=true) - replacement: Optional[str] = None + # @ApiMember(Description="The new responsible user (owner) id.", IsRequired=true) + new_responsible_user_id: Optional[str] = None """ - The replacement document as MongoDB extended-JSON. + The new responsible user (owner) id. """ -# @Route("/{version}/database/collections/seed", "POST") +# @Route("/{version}/database/collections/{collectionName}/count", "GET") # @Api(Description="Database") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SeedCollectionRecords(CodeMashRequestBase, IReturn[SeedCollectionRecordsResponse]): +class CountRecords(CodeMashRequestBase, IReturn[CountRecordsResponse]): """ Database """ - # @ApiMember(Description="Seeding mode: 'dummy' (server-generated sample data, default) or 'realistic' (caller-supplied documents).") - mode: Optional[str] = None + # @ApiMember(Description="The collection (schema) name to count records in.", IsRequired=true) + collection_name: Optional[str] = None """ - Seeding mode: 'dummy' (server-generated sample data, default) or 'realistic' (caller-supplied documents). + The collection (schema) name to count records in. """ database_integration_id: Optional[str] = None - # @ApiMember(Description="JSON array of {collectionName, count?, documents?}. count applies to dummy mode (max 100 per collection); documents (extended-JSON objects, may contain $seedRef placeholders) apply to realistic mode.", IsRequired=true) - collections: Optional[str] = None + # @ApiMember(Description="Optional MongoDB extended-JSON filter. Empty means count all records.") + filter: Optional[str] = None """ - JSON array of {collectionName, count?, documents?}. count applies to dummy mode (max 100 per collection); documents (extended-JSON objects, may contain $seedRef placeholders) apply to realistic mode. + Optional MongoDB extended-JSON filter. Empty means count all records. """ -# @Route("/{version}/database/collections/{collectionName}/many", "PUT") + schema_version: Optional[int] = None + + +# @Route("/{version}/database/collections/{collectionName}/many", "DELETE") # @Api(Description="Database") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class UpdateManyRecords(CodeMashRequestBase, IReturn[EmptyResponse]): +class DeleteManyRecords(CodeMashRequestBase, IReturn[EmptyResponse]): """ Database """ @@ -12805,25 +10777,18 @@ class UpdateManyRecords(CodeMashRequestBase, IReturn[EmptyResponse]): database_integration_id: Optional[str] = None - # @ApiMember(Description="The match filter as a MongoDB extended-JSON document. Empty object means match all.", IsRequired=true) + # @ApiMember(Description="The match filter as a MongoDB extended-JSON document. Required.", IsRequired=true) filter: Optional[str] = None """ - The match filter as a MongoDB extended-JSON document. Empty object means match all. - """ - - - # @ApiMember(Description="The partial update document (applied with $set), as MongoDB extended-JSON.", IsRequired=true) - update: Optional[str] = None - """ - The partial update document (applied with $set), as MongoDB extended-JSON. + The match filter as a MongoDB extended-JSON document. Required. """ -# @Route("/{version}/database/collections/{collectionName}/{id}", "PUT") +# @Route("/{version}/database/collections/{collectionName}/{id}", "DELETE") # @Api(Description="Database") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class UpdateOneRecord(CodeMashRequestBase, IReturn[EmptyResponse]): +class DeleteRecord(CodeMashRequestBase, IReturn[EmptyResponse]): """ Database """ @@ -12835,898 +10800,764 @@ class UpdateOneRecord(CodeMashRequestBase, IReturn[EmptyResponse]): """ - # @ApiMember(Description="The id of the record to update.", IsRequired=true) + # @ApiMember(Description="The id of the record to delete.", IsRequired=true) id: Optional[str] = None """ - The id of the record to update. + The id of the record to delete. """ database_integration_id: Optional[str] = None - # @ApiMember(Description="The partial update document (applied with $set), as MongoDB extended-JSON.", IsRequired=true) - update: Optional[str] = None - """ - The partial update document (applied with $set), as MongoDB extended-JSON. - """ - - -# @Route("/{version}/database/integrations/{Id}", "DELETE") -# @Api(Description="Delete integration for particular project") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class DeleteDatabaseIntegrationRequest(CodeMashRequestBase, IReturn[EmptyResponse]): - """ - Delete integration for particular project - """ - - # @ApiMember(Description="Database integration id to delete, from get_database_integrations.", IsRequired=true) - id: Optional[str] = None - """ - Database integration id to delete, from get_database_integrations. - """ -# @Route("/{version}/database/integrations/{Id}/disable", "PUT") -# @Api(Description="Disable integration for particular project") +# @Route("/{version}/database/collections/{collectionName}/distinct", "GET") +# @Api(Description="Database") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class DisableDatabaseIntegrationRequest(CodeMashRequestBase, IReturn[EmptyResponse]): +class DistinctRecordValues(CodeMashRequestBase, IReturn[DistinctRecordValuesResponse]): """ - Disable integration for particular project + Database """ - # @ApiMember(Description="Database integration id to disable, from get_database_integrations.", IsRequired=true) - id: Optional[str] = None + # @ApiMember(Description="The collection (schema) name to read from.", IsRequired=true) + collection_name: Optional[str] = None """ - Database integration id to disable, from get_database_integrations. + The collection (schema) name to read from. """ -# @Route("/{version}/database/integrations/{Id}/enable", "PUT") -# @Api(Description="Enable integration for particular project") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class EnableDatabaseIntegrationRequest(CodeMashRequestBase, IReturn[EmptyResponse]): - """ - Enable integration for particular project - """ - - # @ApiMember(Description="Database integration id to enable, from get_database_integrations.", IsRequired=true) - id: Optional[str] = None + database_integration_id: Optional[str] = None + # @ApiMember(Description="The document field (dotted path allowed) to get distinct values for, e.g. 'status'.", IsRequired=true) + field: Optional[str] = None """ - Database integration id to enable, from get_database_integrations. + The document field (dotted path allowed) to get distinct values for, e.g. 'status'. """ -# @Route("/{version}/database/integrations/{id}", "GET") -# @Api(Description="Gets integration by specified Id") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetDatabaseIntegration(CodeMashRequestBase, IReturn[GetDatabaseIntegrationResponse]): - """ - Gets integration by specified Id - """ - - # @ApiMember(Description="Database integration id from get_database_integrations.", IsRequired=true) - id: Optional[str] = None + # @ApiMember(Description="Optional MongoDB extended-JSON filter. Empty means consider all records.") + filter: Optional[str] = None """ - Database integration id from get_database_integrations. + Optional MongoDB extended-JSON filter. Empty means consider all records. """ -# @Route("/{version}/database/integrations", "GET") -# @Api(Description="Gets database integrations") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetDatabaseIntegrations(CodeMashListPaginationRequestBase, IReturn[GetDatabaseIntegrationsResponse]): - """ - Gets database integrations - """ - - paging_args: Optional[PagingArgs] = None + schema_version: Optional[int] = None -# @Route("/{version}/database/integrations/flex-tiers", "GET") -# @Api(Description="Returns the Flex tiers this account is entitled to pick") +# @Route("/{version}/database/collections/{collectionName}/aggregates/{aggregateId}/execute", "POST") +# @Api(Description="Database") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetAllowedFlexTiers(CodeMashRequestBase, IReturn[GetAllowedFlexTiersResponse]): +class ExecuteRecordsAggregate(CodeMashRequestBase, IReturn[ExecuteRecordsAggregateResponse]): """ - Returns the Flex tiers this account is entitled to pick + Database """ - pass - - -# @Route("/{version}/database/integrations/{Id}/connection-string", "GET") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class RevealManagedFlexConnectionString(CodeMashRequestBase, IReturn[RevealManagedFlexConnectionStringResponse]): - id: Optional[str] = None - - -# @Route("/{version}/database/integrations", "POST") -# @Api(Description="Saves database integration") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SaveDatabaseIntegration(CodeMashRequestBase, IReturn[IdResponse]): + # @ApiMember(Description="The collection (schema) name to run the saved aggregation against.", IsRequired=true) + collection_name: Optional[str] = None """ - Saves database integration + The collection (schema) name to run the saved aggregation against. """ - integration: Optional[DatabaseIntegrationRequest] = None - - -# @Route("/{version}/database/integrations/{Id}/default", "PUT") -# @Api(Description="Sets integration as default") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SetDatabaseIntegrationAsDefaultRequest(CodeMashRequestBase, IReturn[EmptyResponse]): - """ - Sets integration as default - """ - # @ApiMember(Description="Database integration id to set as default, from get_database_integrations.", IsRequired=true) - id: Optional[str] = None + # @ApiMember(Description="The saved aggregate id (maggr_…) to execute.", IsRequired=true) + aggregate_id: Optional[str] = None """ - Database integration id to set as default, from get_database_integrations. + The saved aggregate id (maggr_…) to execute. """ -# @Route("/{version}/database/integrations/test", "POST") -# @Api(Description="Test database integration") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class TestDatabaseIntegration(CodeMashRequestBase, IReturn[TestDatabaseIntegrationResponse]): - """ - Test database integration - """ - - # @ApiMember(Description="Database integration id to test, from get_database_integrations.", IsRequired=true) - integration_id: Optional[str] = None + database_integration_id: Optional[str] = None + # @ApiMember(Description="Optional key/value substitutions for {TokenKey} placeholders in the saved pipeline.") + tokens: Optional[Dict[str, str]] = None """ - Database integration id to test, from get_database_integrations. + Optional key/value substitutions for {TokenKey} placeholders in the saved pipeline. """ -# @Route("/{version}/database/imports", "POST") +# @Route("/{version}/database/collections/{collectionName}", "GET") # @Api(Description="Database") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class CreateCollectionImport(CodeMashRequestBase, IReturn[IdResponse]): +class FindRecords(CodeMashListPaginationRequestBase, IReturn[FindRecordsResponse]): """ Database """ - # @ApiMember(Description="The uploaded CSV's file ref, from the upload call.", IsRequired=true) - file: Optional[FileResourceRefDto] = None - """ - The uploaded CSV's file ref, from the upload call. - """ - - - # @ApiMember(Description="The target schema id.", IsRequired=true) - schema_id: Optional[str] = None - """ - The target schema id. - """ - - - # @ApiMember(Description="The target collection (schema) name.", IsRequired=true) + # @ApiMember(Description="The collection (schema) name to read from.", IsRequired=true) collection_name: Optional[str] = None """ - The target collection (schema) name. + The collection (schema) name to read from. """ database_integration_id: Optional[str] = None - # @ApiMember(Description="The CSV delimiter used at upload time.", IsRequired=true) - delimiter: Optional[str] = None - """ - The CSV delimiter used at upload time. - """ - - - has_header: bool = False - # @ApiMember(Description="Column → property mapping, frozen for this import.", IsRequired=true) - mapping: List[ImportColumnMappingDto] = field(default_factory=list) - """ - Column → property mapping, frozen for this import. - """ - - -# @Route("/{version}/database/imports/{Id}", "DELETE") -# @Api(Description="Database") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class DeleteCollectionImportRequest(CodeMashRequestBase, IReturn[EmptyResponse]): + # @ApiMember(Description="Optional MongoDB extended-JSON filter. Empty means match all records.") + filter: Optional[str] = None """ - Database + Optional MongoDB extended-JSON filter. Empty means match all records. """ - # @ApiMember(Description="The import id (imp_…).", IsRequired=true) - id: Optional[str] = None + + # @ApiMember(Description="Optional contact id (ct_…) — only that contact's records are returned.") + contact_id: Optional[str] = None """ - The import id (imp_…). + Optional contact id (ct_…) — only that contact's records are returned. """ - database_integration_id: Optional[str] = None + schema_version: Optional[int] = None + paging_args: Optional[PagingArgs] = None + sort_by: Optional[str] = None + sort_order: Optional[int] = None -# @Route("/{version}/database/imports/{Id}", "GET") +# @Route("/{version}/database/collections/{collectionName}/{id}", "GET") # @Api(Description="Database") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetCollectionImport(CodeMashRequestBase, IReturn[GetCollectionImportResponse]): +class FindOneRecord(CodeMashRequestBase, IReturn[FindOneRecordResponse]): """ Database """ - # @ApiMember(Description="The import id (imp_…).", IsRequired=true) - id: Optional[str] = None + # @ApiMember(Description="The collection (schema) name to read from.", IsRequired=true) + collection_name: Optional[str] = None """ - The import id (imp_…). + The collection (schema) name to read from. """ - database_integration_id: Optional[str] = None - - -# @Route("/{version}/database/imports", "GET") -# @Api(Description="Database") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetCollectionImports(CodeMashListPaginationRequestBase, IReturn[GetCollectionImportsResponse]): + # @ApiMember(Description="The id of the record to fetch.", IsRequired=true) + id: Optional[str] = None """ - Database + The id of the record to fetch. """ + database_integration_id: Optional[str] = None -# @Route("/{version}/database/imports/upload-url", "POST") +# @Route("/{version}/database/collections/{collectionName}/indexes", "GET") # @Api(Description="Database") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class RequestImportUploadUrlRequest(CodeMashRequestBase, IReturn[RequestImportUploadUrlResponse]): +class GetCollectionIndexes(CodeMashRequestBase, IReturn[GetCollectionIndexesResponse]): """ Database """ - file_account_id: Optional[str] = None - # @ApiMember(Description="The original CSV file name, e.g. people.csv.", IsRequired=true) - file_name: Optional[str] = None + # @ApiMember(Description="The collection (schema) name to inspect.", IsRequired=true) + collection_name: Optional[str] = None """ - The original CSV file name, e.g. people.csv. + The collection (schema) name to inspect. """ -# @Route("/{version}/database/imports/analyze", "POST") + database_integration_id: Optional[str] = None + + +# @Route("/{version}/database/collections/{collectionName}/many", "POST") # @Api(Description="Database") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class AnalyzeImportFileRequest(CodeMashRequestBase, IReturn[AnalyzeImportFileResponse]): +class InsertManyRecords(CodeMashRequestBase, IReturn[EmptyResponse]): """ Database """ - # @ApiMember(Description="The uploaded CSV's file ref, from the upload-url call.", IsRequired=true) - file: Optional[FileResourceRefDto] = None - """ - The uploaded CSV's file ref, from the upload-url call. - """ - - - # @ApiMember(Description="The CSV delimiter, e.g. \",\" or \";\".", IsRequired=true) - delimiter: Optional[str] = None + # @ApiMember(Description="The collection (schema) name to insert into.", IsRequired=true) + collection_name: Optional[str] = None """ - The CSV delimiter, e.g. "," or ";". + The collection (schema) name to insert into. """ - # @ApiMember(Description="Whether the first row is a header row.") - has_header: bool = False + database_integration_id: Optional[str] = None + # @ApiMember(Description="The records to insert as a MongoDB extended-JSON array of documents.", IsRequired=true) + documents: Optional[str] = None """ - Whether the first row is a header row. + The records to insert as a MongoDB extended-JSON array of documents. """ -# @Route("/{version}/database/aggregates/{Id}", "DELETE") -# @Api(Description="Delete saved Mongo aggregation") +# @Route("/{version}/database/collections/{collectionName}", "POST") +# @Api(Description="Database") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class DeleteDatabaseAggregateRequest(CodeMashRequestBase, IReturn[EmptyResponse]): +class InsertRecord(CodeMashRequestBase, IReturn[IdResponse]): """ - Delete saved Mongo aggregation + Database """ - # @ApiMember(Description="Aggregate id to delete, from get_database_aggregates.", IsRequired=true) - id: Optional[str] = None + # @ApiMember(Description="The collection (schema) name to insert into.", IsRequired=true) + collection_name: Optional[str] = None """ - Aggregate id to delete, from get_database_aggregates. + The collection (schema) name to insert into. """ - # @ApiMember(Description="Schema id that owns this aggregate, from get_database_schemas.", IsRequired=true) - schema_id: Optional[str] = None + database_integration_id: Optional[str] = None + # @ApiMember(Description="The record to insert, as a MongoDB extended-JSON document string.", IsRequired=true) + document: Optional[str] = None """ - Schema id that owns this aggregate, from get_database_schemas. + The record to insert, as a MongoDB extended-JSON document string. """ -# @Route("/{version}/database/aggregates/{Id}", "GET") -# @Api(Description="Get saved Mongo aggregation by id") +# @Route("/{version}/database/collections/{collectionName}/{id}/replace", "PUT") +# @Api(Description="Database") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetDatabaseAggregate(CodeMashRequestBase, IReturn[GetDatabaseAggregateResponse]): +class ReplaceRecord(CodeMashRequestBase, IReturn[EmptyResponse]): """ - Get saved Mongo aggregation by id + Database """ - # @ApiMember(Description="Aggregate id from get_database_aggregates.", IsRequired=true) - id: Optional[str] = None + # @ApiMember(Description="The collection (schema) name the record lives in.", IsRequired=true) + collection_name: Optional[str] = None """ - Aggregate id from get_database_aggregates. + The collection (schema) name the record lives in. """ - # @ApiMember(Description="Schema id that owns this aggregate, from get_database_schemas.", IsRequired=true) - schema_id: Optional[str] = None + # @ApiMember(Description="The id of the record to replace.", IsRequired=true) + id: Optional[str] = None """ - Schema id that owns this aggregate, from get_database_schemas. + The id of the record to replace. """ -# @Route("/{version}/database/aggregates", "GET") -# @Api(Description="Lists saved Mongo aggregations for a schema") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetDatabaseAggregates(CodeMashListPaginationRequestBase, IReturn[GetDatabaseAggregatesResponse]): - """ - Lists saved Mongo aggregations for a schema - """ - - # @ApiMember(Description="Schema id whose saved aggregates to list, from get_database_schemas.", IsRequired=true) - schema_id: Optional[str] = None + database_integration_id: Optional[str] = None + # @ApiMember(Description="The replacement document as MongoDB extended-JSON.", IsRequired=true) + replacement: Optional[str] = None """ - Schema id whose saved aggregates to list, from get_database_schemas. + The replacement document as MongoDB extended-JSON. """ - paging_args: Optional[PagingArgs] = None - - -# @Route("/{version}/database/aggregates", "POST") -# @Api(Description="Creates or updates a saved Mongo aggregation") +# @Route("/{version}/database/collections/seed", "POST") +# @Api(Description="Database") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SaveDatabaseAggregateRequest(CodeMashRequestBase, IReturn[IdResponse]): +class SeedCollectionRecords(CodeMashRequestBase, IReturn[SeedCollectionRecordsResponse]): """ - Creates or updates a saved Mongo aggregation + Database """ - # @ApiMember(Description="Empty to create a new saved aggregate; set to an existing aggregate id (from get_database_aggregates) to update it.") - view_id: Optional[str] = None + # @ApiMember(Description="Seeding mode: 'dummy' (server-generated sample data, default) or 'realistic' (caller-supplied documents).") + mode: Optional[str] = None """ - Empty to create a new saved aggregate; set to an existing aggregate id (from get_database_aggregates) to update it. + Seeding mode: 'dummy' (server-generated sample data, default) or 'realistic' (caller-supplied documents). """ - # @ApiMember(Description="Schema id that owns this aggregate, from get_database_schemas.", IsRequired=true) - schema_id: Optional[str] = None + database_integration_id: Optional[str] = None + # @ApiMember(Description="JSON array of {collectionName, count?, documents?}. count applies to dummy mode (max 100 per collection); documents (extended-JSON objects, may contain $seedRef placeholders) apply to realistic mode.", IsRequired=true) + collections: Optional[str] = None """ - Schema id that owns this aggregate, from get_database_schemas. + JSON array of {collectionName, count?, documents?}. count applies to dummy mode (max 100 per collection); documents (extended-JSON objects, may contain $seedRef placeholders) apply to realistic mode. """ - # @ApiMember(Description="Human-readable display name for the saved aggregate.", IsRequired=true) - display_name: Optional[str] = None +# @Route("/{version}/database/collections/{collectionName}/many", "PUT") +# @Api(Description="Database") +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class UpdateManyRecords(CodeMashRequestBase, IReturn[EmptyResponse]): """ - Human-readable display name for the saved aggregate. + Database """ - - # @ApiMember(Description="Optional free-text description of what the aggregate does.") - description: Optional[str] = None + # @ApiMember(Description="The collection (schema) name the records live in.", IsRequired=true) + collection_name: Optional[str] = None """ - Optional free-text description of what the aggregate does. + The collection (schema) name the records live in. """ - # @ApiMember(Description="MongoDB aggregation pipeline JSON, optionally containing {TokenKey} placeholders substituted at execute time.", IsRequired=true) - pipeline: Optional[str] = None + database_integration_id: Optional[str] = None + # @ApiMember(Description="The match filter as a MongoDB extended-JSON document. Empty object means match all.", IsRequired=true) + filter: Optional[str] = None """ - MongoDB aggregation pipeline JSON, optionally containing {TokenKey} placeholders substituted at execute time. + The match filter as a MongoDB extended-JSON document. Empty object means match all. """ -# @Route("/{version}/database/aggregates/test", "POST") -# @Api(Description="Test-run an aggregation pipeline with caller-supplied tokens") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class TestDatabaseAggregateRequest(CodeMashRequestBase, IReturn[TestDatabaseAggregateResponse]): + # @ApiMember(Description="The partial update document (applied with $set), as MongoDB extended-JSON.", IsRequired=true) + update: Optional[str] = None """ - Test-run an aggregation pipeline with caller-supplied tokens + The partial update document (applied with $set), as MongoDB extended-JSON. """ - # @ApiMember(Description="Optional database integration id. When omitted, the project's default database integration is used.") - database_integration_id: Optional[str] = None + +# @Route("/{version}/database/collections/{collectionName}/{id}", "PUT") +# @Api(Description="Database") +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class UpdateOneRecord(CodeMashRequestBase, IReturn[EmptyResponse]): """ - Optional database integration id. When omitted, the project's default database integration is used. + Database """ - - # @ApiMember(Description="Name of the collection (schema) to run the aggregation against.", IsRequired=true) + # @ApiMember(Description="The collection (schema) name the record lives in.", IsRequired=true) collection_name: Optional[str] = None """ - Name of the collection (schema) to run the aggregation against. + The collection (schema) name the record lives in. """ - # @ApiMember(Description="MongoDB aggregation pipeline JSON, optionally containing {TokenKey} placeholders to be substituted from tokens.", IsRequired=true) - pipeline: Optional[str] = None + # @ApiMember(Description="The id of the record to update.", IsRequired=true) + id: Optional[str] = None """ - MongoDB aggregation pipeline JSON, optionally containing {TokenKey} placeholders to be substituted from tokens. + The id of the record to update. """ - # @ApiMember(Description="Optional key/value substitutions for {TokenKey} placeholders in the pipeline.") - tokens: Optional[Dict[str, str]] = None + database_integration_id: Optional[str] = None + # @ApiMember(Description="The partial update document (applied with $set), as MongoDB extended-JSON.", IsRequired=true) + update: Optional[str] = None """ - Optional key/value substitutions for {TokenKey} placeholders in the pipeline. + The partial update document (applied with $set), as MongoDB extended-JSON. """ +# @Route("/{version}/database/integrations/{Id}", "DELETE") +# @Api(Description="Delete integration for particular project") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class MongoDbAggregateCreated: - aggregate: Optional[MongoDbAggregate] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class MongoDbAggregateUpdated: - aggregate: Optional[MongoDbAggregate] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class MongoDbAggregateDeleted: - schema_id: Optional[SchemaId] = None - id: Optional[MongoDbAggregateId] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class DatabaseEstablished: - pass - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class DatabaseEnabled: - pass - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class DatabaseDisabled: - pass - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class DatabaseIntegrationSaved: - integration: Optional[DatabaseIntegration] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class DatabaseIntegrationTested: - id: Optional[IntegrationId] = None - succeeded: bool = False - error_messages: Optional[IReadOnlyList[str]] = None - tested_at_utc: datetime.datetime = datetime.datetime(1, 1, 1) - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class DatabaseIntegrationRenamed: - id: Optional[IntegrationId] = None - name: Optional[DisplayName] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class DatabaseIntegrationSetAsDefault: - env: Optional[Env] = None - id: Optional[IntegrationId] = None - +class DeleteDatabaseIntegrationRequest(CodeMashRequestBase, IReturn[EmptyResponse]): + """ + Delete integration for particular project + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class DatabaseIntegrationDeleted: - id: Optional[IntegrationId] = None - env: Optional[Env] = None + # @ApiMember(Description="Database integration id to delete, from get_database_integrations.", IsRequired=true) + id: Optional[str] = None + """ + Database integration id to delete, from get_database_integrations. + """ +# @Route("/{version}/database/integrations/{Id}/disable", "PUT") +# @Api(Description="Disable integration for particular project") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class DatabaseIntegrationEnabled: - id: Optional[IntegrationId] = None - env: Optional[Env] = None - +class DisableDatabaseIntegrationRequest(CodeMashRequestBase, IReturn[EmptyResponse]): + """ + Disable integration for particular project + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class DatabaseIntegrationDisabled: - id: Optional[IntegrationId] = None - env: Optional[Env] = None + # @ApiMember(Description="Database integration id to disable, from get_database_integrations.", IsRequired=true) + id: Optional[str] = None + """ + Database integration id to disable, from get_database_integrations. + """ +# @Route("/{version}/database/integrations/{Id}/enable", "PUT") +# @Api(Description="Enable integration for particular project") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class DatabaseIntegrationProvisioningStarted: - integration_id: Optional[IntegrationId] = None - atlas_project_id: Optional[str] = None - atlas_cluster_name: Optional[str] = None - +class EnableDatabaseIntegrationRequest(CodeMashRequestBase, IReturn[EmptyResponse]): + """ + Enable integration for particular project + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class DatabaseIntegrationProvisioningCompleted: - integration_id: Optional[IntegrationId] = None - connection_string_template: Optional[str] = None + # @ApiMember(Description="Database integration id to enable, from get_database_integrations.", IsRequired=true) + id: Optional[str] = None + """ + Database integration id to enable, from get_database_integrations. + """ +# @Route("/{version}/database/integrations/{id}", "GET") +# @Api(Description="Gets integration by specified Id") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class DatabaseIntegrationProvisioningFailed: - integration_id: Optional[IntegrationId] = None - reason: Optional[str] = None - retryable: bool = False - +class GetDatabaseIntegration(CodeMashRequestBase, IReturn[GetDatabaseIntegrationResponse]): + """ + Gets integration by specified Id + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class DatabaseIntegrationDeprovisioned: - integration_id: Optional[IntegrationId] = None - atlas_project_id: Optional[str] = None - atlas_cluster_name: Optional[str] = None + # @ApiMember(Description="Database integration id from get_database_integrations.", IsRequired=true) + id: Optional[str] = None + """ + Database integration id from get_database_integrations. + """ +# @Route("/{version}/database/integrations", "GET") +# @Api(Description="Gets database integrations") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProjectStatusChanged: - status: Optional[ProjectStatus] = None - +class GetDatabaseIntegrations(CodeMashListPaginationRequestBase, IReturn[GetDatabaseIntegrationsResponse]): + """ + Gets database integrations + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SchemaCreated: - schema: Optional[Schema] = None + paging_args: Optional[PagingArgs] = None +# @Route("/{version}/database/integrations/flex-tiers", "GET") +# @Api(Description="Returns the Flex tiers this account is entitled to pick") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SchemaMirrored: - schema: Optional[Schema] = None - +class GetAllowedFlexTiers(CodeMashRequestBase, IReturn[GetAllowedFlexTiersResponse]): + """ + Returns the Flex tiers this account is entitled to pick + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SchemaDraftUpdated: - id: Optional[SchemaId] = None - draft: Optional[SchemaDraft] = None - env: Optional[Env] = None + pass +# @Route("/{version}/database/integrations/{Id}/connection-string", "GET") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SchemaDraftDiscarded: - id: Optional[SchemaId] = None - env: Optional[Env] = None +class RevealManagedFlexConnectionString(CodeMashRequestBase, IReturn[RevealManagedFlexConnectionStringResponse]): + id: Optional[str] = None +# @Route("/{version}/database/integrations", "POST") +# @Api(Description="Saves database integration") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SchemaVersionPublished: - id: Optional[SchemaId] = None - version: Optional[PublishedSchemaVersion] = None - diff: Optional[SchemaDiff] = None - env: Optional[Env] = None - +class SaveDatabaseIntegration(CodeMashRequestBase, IReturn[IdResponse]): + """ + Saves database integration + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SchemaSettingsUpdated: - id: Optional[SchemaId] = None - settings: Optional[SchemaSettings] = None - env: Optional[Env] = None + integration: Optional[DatabaseIntegrationRequest] = None +# @Route("/{version}/database/integrations/{Id}/default", "PUT") +# @Api(Description="Sets integration as default") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SchemaDeleted: - id: Optional[SchemaId] = None - env: Optional[Env] = None - +class SetDatabaseIntegrationAsDefaultRequest(CodeMashRequestBase, IReturn[EmptyResponse]): + """ + Sets integration as default + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SchemaRenamed: - schema_id: Optional[SchemaId] = None - new_name: Optional[SchemaName] = None - rename_unique_name: bool = False - env: Optional[Env] = None + # @ApiMember(Description="Database integration id to set as default, from get_database_integrations.", IsRequired=true) + id: Optional[str] = None + """ + Database integration id to set as default, from get_database_integrations. + """ +# @Route("/{version}/database/integrations/test", "POST") +# @Api(Description="Test database integration") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SchemaDataCleared: - id: Optional[SchemaId] = None - integrations: List[IntegrationId] = field(default_factory=list) - env: Optional[Env] = None +class TestDatabaseIntegration(CodeMashRequestBase, IReturn[TestDatabaseIntegrationResponse]): + """ + Test database integration + """ + + # @ApiMember(Description="Database integration id to test, from get_database_integrations.", IsRequired=true) + integration_id: Optional[str] = None + """ + Database integration id to test, from get_database_integrations. + """ +# @Route("/{version}/database/imports", "POST") +# @Api(Description="Database") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class TaxonomyCreated: - taxonomy: Optional[Taxonomy] = None +class CreateCollectionImport(CodeMashRequestBase, IReturn[IdResponse]): + """ + Database + """ + + # @ApiMember(Description="The uploaded CSV's file ref, from the upload call.", IsRequired=true) + file: Optional[FileResourceRefDto] = None + """ + The uploaded CSV's file ref, from the upload call. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class TaxonomyUpdated: - taxonomy: Optional[Taxonomy] = None + # @ApiMember(Description="The target schema id.", IsRequired=true) + schema_id: Optional[str] = None + """ + The target schema id. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class TaxonomyDeleted: - taxonomy_id: Optional[TaxonomyId] = None + # @ApiMember(Description="The target collection (schema) name.", IsRequired=true) + collection_name: Optional[str] = None + """ + The target collection (schema) name. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class TaxonomyDataCleared: - taxonomy_id: Optional[TaxonomyId] = None - integrations: List[IntegrationId] = field(default_factory=list) + database_integration_id: Optional[str] = None + # @ApiMember(Description="The CSV delimiter used at upload time.", IsRequired=true) + delimiter: Optional[str] = None + """ + The CSV delimiter used at upload time. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SchemaTriggerSaved: - trigger: Optional[SchemaTrigger] = None + has_header: bool = False + # @ApiMember(Description="Column → property mapping, frozen for this import.", IsRequired=true) + mapping: List[ImportColumnMappingDto] = field(default_factory=list) + """ + Column → property mapping, frozen for this import. + """ +# @Route("/{version}/database/imports/{Id}", "DELETE") +# @Api(Description="Database") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class DatabaseTriggerMirrored: - trigger: Optional[Trigger] = None +class DeleteCollectionImportRequest(CodeMashRequestBase, IReturn[EmptyResponse]): + """ + Database + """ + # @ApiMember(Description="The import id (imp_…).", IsRequired=true) + id: Optional[str] = None + """ + The import id (imp_…). + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SchemaTriggerEnabled(TriggerByIdEventBase): - schema_id: Optional[SchemaId] = None - env: Optional[Env] = None + + database_integration_id: Optional[str] = None +# @Route("/{version}/database/imports/{Id}", "GET") +# @Api(Description="Database") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SchemaTriggerDisabled(TriggerByIdEventBase): - schema_id: Optional[SchemaId] = None - env: Optional[Env] = None +class GetCollectionImport(CodeMashRequestBase, IReturn[GetCollectionImportResponse]): + """ + Database + """ + # @ApiMember(Description="The import id (imp_…).", IsRequired=true) + id: Optional[str] = None + """ + The import id (imp_…). + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SchemaTriggerDeleted(TriggerByIdEventBase): - schema_id: Optional[SchemaId] = None - env: Optional[Env] = None + + database_integration_id: Optional[str] = None +# @Route("/{version}/database/imports", "GET") +# @Api(Description="Database") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ProcessCollectionImport: - import_id: Optional[str] = None - project_id: Optional[str] = None - account_id: Optional[str] = None +class GetCollectionImports(CodeMashListPaginationRequestBase, IReturn[GetCollectionImportsResponse]): + """ + Database + """ + database_integration_id: Optional[str] = None - env: Optional[str] = None +# @Route("/{version}/database/imports/upload-url", "POST") +# @Api(Description="Database") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class RecordInserted: - project_id: Optional[ProjectId] = None - database_integration_id: Optional[IntegrationId] = None - schema_name: Optional[SchemaName] = None - id: Optional[str] = None - document: Optional[Object] = None +class RequestImportUploadUrlRequest(CodeMashRequestBase, IReturn[RequestImportUploadUrlResponse]): + """ + Database + """ + + file_account_id: Optional[str] = None + # @ApiMember(Description="The original CSV file name, e.g. people.csv.", IsRequired=true) + file_name: Optional[str] = None + """ + The original CSV file name, e.g. people.csv. + """ +# @Route("/{version}/database/imports/analyze", "POST") +# @Api(Description="Database") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class RecordUpdated: - project_id: Optional[ProjectId] = None - database_integration_id: Optional[IntegrationId] = None - schema_name: Optional[SchemaName] = None - id: Optional[str] = None - from_: Optional[Object] = field(metadata=config(field_name='from'), default=None) - to: Optional[Object] = None +class AnalyzeImportFileRequest(CodeMashRequestBase, IReturn[AnalyzeImportFileResponse]): + """ + Database + """ + # @ApiMember(Description="The uploaded CSV's file ref, from the upload-url call.", IsRequired=true) + file: Optional[FileResourceRefDto] = None + """ + The uploaded CSV's file ref, from the upload-url call. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class RecordDeleted: - project_id: Optional[ProjectId] = None - database_integration_id: Optional[IntegrationId] = None - schema_name: Optional[SchemaName] = None - id: Optional[str] = None - document: Optional[Object] = None + # @ApiMember(Description="The CSV delimiter, e.g. \",\" or \";\".", IsRequired=true) + delimiter: Optional[str] = None + """ + The CSV delimiter, e.g. "," or ";". + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class RecordReplaced: - project_id: Optional[ProjectId] = None - database_integration_id: Optional[IntegrationId] = None - schema_name: Optional[SchemaName] = None - id: Optional[str] = None - from_: Optional[Object] = field(metadata=config(field_name='from'), default=None) - to: Optional[Object] = None + + # @ApiMember(Description="Whether the first row is a header row.") + has_header: bool = False + """ + Whether the first row is a header row. + """ +# @Route("/{version}/database/aggregates/{Id}", "DELETE") +# @Api(Description="Delete saved Mongo aggregation") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class RecordResponsibilityChanged: - project_id: Optional[ProjectId] = None - database_integration_id: Optional[IntegrationId] = None - schema_name: Optional[SchemaName] = None +class DeleteDatabaseAggregateRequest(CodeMashRequestBase, IReturn[EmptyResponse]): + """ + Delete saved Mongo aggregation + """ + + # @ApiMember(Description="Aggregate id to delete, from get_database_aggregates.", IsRequired=true) id: Optional[str] = None - from_owner: Optional[AuthId] = None - to_owner: Optional[AuthId] = None + """ + Aggregate id to delete, from get_database_aggregates. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class RecordsInserted: - project_id: Optional[ProjectId] = None - database_integration_id: Optional[IntegrationId] = None - schema_name: Optional[SchemaName] = None - ids: Optional[IReadOnlyList[str]] = None - documents: Optional[IReadOnlyList[Object]] = None + # @ApiMember(Description="Schema id that owns this aggregate, from get_database_schemas.", IsRequired=true) + schema_id: Optional[str] = None + """ + Schema id that owns this aggregate, from get_database_schemas. + """ +# @Route("/{version}/database/aggregates/{Id}", "GET") +# @Api(Description="Get saved Mongo aggregation by id") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class RecordsUpdated: - project_id: Optional[ProjectId] = None - database_integration_id: Optional[IntegrationId] = None - schema_name: Optional[SchemaName] = None - matched_count: int = 0 - modified_count: int = 0 - update: Optional[Object] = None - +class GetDatabaseAggregate(CodeMashRequestBase, IReturn[GetDatabaseAggregateResponse]): + """ + Get saved Mongo aggregation by id + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class RecordsDeleted: - project_id: Optional[ProjectId] = None - database_integration_id: Optional[IntegrationId] = None - schema_name: Optional[SchemaName] = None - deleted_count: int = 0 - filter: Optional[Object] = None + # @ApiMember(Description="Aggregate id from get_database_aggregates.", IsRequired=true) + id: Optional[str] = None + """ + Aggregate id from get_database_aggregates. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class EmailVerificationCodeRequested(IPasskeyMessage): - email: Optional[str] = None - project_id: Optional[str] = None - code: Optional[str] = None - expires_at_utc: datetime.datetime = datetime.datetime(1, 1, 1) + # @ApiMember(Description="Schema id that owns this aggregate, from get_database_schemas.", IsRequired=true) + schema_id: Optional[str] = None + """ + Schema id that owns this aggregate, from get_database_schemas. + """ +# @Route("/{version}/database/aggregates", "GET") +# @Api(Description="Lists saved Mongo aggregations for a schema") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class MagicLinkRequested(IPasskeyMessage): - email: Optional[str] = None - project_id: Optional[str] = None - token: Optional[str] = None - expires_at_utc: datetime.datetime = datetime.datetime(1, 1, 1) +class GetDatabaseAggregates(CodeMashListPaginationRequestBase, IReturn[GetDatabaseAggregatesResponse]): + """ + Lists saved Mongo aggregations for a schema + """ + + # @ApiMember(Description="Schema id whose saved aggregates to list, from get_database_schemas.", IsRequired=true) + schema_id: Optional[str] = None + """ + Schema id whose saved aggregates to list, from get_database_schemas. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PasswordResetRequested(IPasskeyMessage): - email: Optional[str] = None - project_id: Optional[str] = None - token: Optional[str] = None - expires_at_utc: datetime.datetime = datetime.datetime(1, 1, 1) + paging_args: Optional[PagingArgs] = None +# @Route("/{version}/database/aggregates", "POST") +# @Api(Description="Creates or updates a saved Mongo aggregation") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class PasswordChanged(IPasskeyMessage): - email: Optional[str] = None - project_id: Optional[str] = None +class SaveDatabaseAggregateRequest(CodeMashRequestBase, IReturn[IdResponse]): + """ + Creates or updates a saved Mongo aggregation + """ + # @ApiMember(Description="Empty to create a new saved aggregate; set to an existing aggregate id (from get_database_aggregates) to update it.") + view_id: Optional[str] = None + """ + Empty to create a new saved aggregate; set to an existing aggregate id (from get_database_aggregates) to update it. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SseCallTriggered: - project_id: Optional[ProjectId] = None - account_id: Optional[AccountId] = None - trigger_id: Optional[TriggerId] = None - trigger_type: Optional[TriggerType] = None - source_event: Optional[str] = None - target_user_auth_id: Optional[str] = None + + # @ApiMember(Description="Schema id that owns this aggregate, from get_database_schemas.", IsRequired=true) schema_id: Optional[str] = None - token_mappings: Optional[IReadOnlyDictionary[str, str]] = None - correlation_id: Optional[str] = None + """ + Schema id that owns this aggregate, from get_database_schemas. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class UserRegistered: - auth: Optional[Auth] = None - link_to_user: Optional[UserId] = None + # @ApiMember(Description="Human-readable display name for the saved aggregate.", IsRequired=true) + display_name: Optional[str] = None + """ + Human-readable display name for the saved aggregate. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class UserCreated: - user_id: Optional[UserId] = None - project_id: Optional[ProjectId] = None - auth_id: Optional[AuthId] = None + # @ApiMember(Description="Optional free-text description of what the aggregate does.") + description: Optional[str] = None + """ + Optional free-text description of what the aggregate does. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class UserUpdated: - auth_id: Optional[AuthId] = None - from_: Optional[UserGeneralInfo] = field(metadata=config(field_name='from'), default=None) - to: Optional[UserGeneralInfo] = None + # @ApiMember(Description="MongoDB aggregation pipeline JSON, optionally containing {TokenKey} placeholders substituted at execute time.", IsRequired=true) + pipeline: Optional[str] = None + """ + MongoDB aggregation pipeline JSON, optionally containing {TokenKey} placeholders substituted at execute time. + """ +# @Route("/{version}/database/aggregates/test", "POST") +# @Api(Description="Test-run an aggregation pipeline with caller-supplied tokens") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class UserBlocked: - user: Optional[UserGeneralInfo] = None - auth_id: Optional[AuthId] = None +class TestDatabaseAggregateRequest(CodeMashRequestBase, IReturn[TestDatabaseAggregateResponse]): + """ + Test-run an aggregation pipeline with caller-supplied tokens + """ + # @ApiMember(Description="Optional database integration id. When omitted, the project's default database integration is used.") + database_integration_id: Optional[str] = None + """ + Optional database integration id. When omitted, the project's default database integration is used. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class UserUnblocked: - user: Optional[UserGeneralInfo] = None - auth_id: Optional[AuthId] = None + # @ApiMember(Description="Name of the collection (schema) to run the aggregation against.", IsRequired=true) + collection_name: Optional[str] = None + """ + Name of the collection (schema) to run the aggregation against. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class UserInvited: - email_address: Optional[EmailAddress] = None + # @ApiMember(Description="MongoDB aggregation pipeline JSON, optionally containing {TokenKey} placeholders to be substituted from tokens.", IsRequired=true) + pipeline: Optional[str] = None + """ + MongoDB aggregation pipeline JSON, optionally containing {TokenKey} placeholders to be substituted from tokens. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class UserVerified: - auth_id: Optional[AuthId] = None - user: Optional[UserGeneralInfo] = None + + # @ApiMember(Description="Optional key/value substitutions for {TokenKey} placeholders in the pipeline.") + tokens: Optional[Dict[str, str]] = None + """ + Optional key/value substitutions for {TokenKey} placeholders in the pipeline. + """ @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class UserDeleted: - user: Optional[UserGeneralInfo] = None - auth_id: Optional[AuthId] = None +class ProcessCollectionImport: + import_id: Optional[str] = None + project_id: Optional[str] = None + account_id: Optional[str] = None + database_integration_id: Optional[str] = None + env: Optional[str] = None # @Route("/{version}/files/disable", "GET") @@ -13795,228 +11626,184 @@ class SaveFilesTrigger(SaveTrigger, IReturn[IdResponse]): pass -# @Route("/{version}/files/integrations/{Id}", "DELETE") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class DeleteFilesIntegrationRequest(CodeMashRequestBase, IReturn[EmptyResponse]): - # @ApiMember(Description="Files integration id to delete, from get_files_integrations.", IsRequired=true) - id: Optional[str] = None - """ - Files integration id to delete, from get_files_integrations. - """ - - -# @Route("/{version}/files/integrations/{Id}/disable", "PUT") +# @Route("/{version}/files/item/private", "POST") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class DisableFilesIntegrationRequest(CodeMashRequestBase, IReturn[EmptyResponse]): - # @ApiMember(Description="Files integration id to disable, from get_files_integrations.", IsRequired=true) - id: Optional[str] = None +class MakeFilePrivateRequest(CodeMashRequestBase, IReturn[EmptyResponse]): + # @ApiMember(Description="The files integration the file lives on.", IsRequired=true) + files_integration_id: Optional[str] = None """ - Files integration id to disable, from get_files_integrations. + The files integration the file lives on. """ -# @Route("/{version}/files/integrations/{Id}/enable", "PUT") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class EnableFilesIntegrationRequest(CodeMashRequestBase, IReturn[EmptyResponse]): - # @ApiMember(Description="Files integration id to enable, from get_files_integrations.", IsRequired=true) - id: Optional[str] = None + # @ApiMember(Description="Path of the file, relative to the integration.", IsRequired=true) + path: Optional[str] = None """ - Files integration id to enable, from get_files_integrations. + Path of the file, relative to the integration. """ -# @Route("/{version}/files/integrations/{id}", "GET") -# @Api(Description="Gets integration by specified Id") +# @Route("/{version}/files/item/public", "POST") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetFilesIntegration(CodeMashRequestBase, IReturn[GetFilesIntegrationResponse]): - """ - Gets integration by specified Id - """ - - # @ApiMember(Description="Files integration id to fetch, from get_files_integrations.", IsRequired=true) - id: Optional[str] = None +class MakeFilePublicRequest(CodeMashRequestBase, IReturn[IdResponse]): + # @ApiMember(Description="The files integration the file lives on.", IsRequired=true) + files_integration_id: Optional[str] = None """ - Files integration id to fetch, from get_files_integrations. + The files integration the file lives on. """ -# @Route("/{version}/files/integrations", "GET") -# @Api(Description="Gets integrations") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetFilesIntegrations(CodeMashListPaginationRequestBase, IReturn[GetFilesIntegrationsResponse]): + # @ApiMember(Description="Path of the file to publish, relative to the integration.", IsRequired=true) + path: Optional[str] = None """ - Gets integrations + Path of the file to publish, relative to the integration. """ - pass - - -# @Route("/{version}/files/integrations", "POST") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SaveFilesIntegration(CodeMashRequestBase, IReturn[IdResponse]): - integration: Optional[FilesIntegrationRequest] = None - -# @Route("/{version}/files/integrations/{Id}/default", "PUT") +# @Route("/{version}/files/folder/private", "POST") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class SetFilesIntegrationAsDefaultRequest(CodeMashRequestBase, IReturn[EmptyResponse]): - # @ApiMember(Description="Files integration id to set as default, from get_files_integrations.", IsRequired=true) - id: Optional[str] = None +class MakeFolderPrivateRequest(CodeMashRequestBase, IReturn[EmptyResponse]): + # @ApiMember(Description="The files integration the folder lives on.", IsRequired=true) + files_integration_id: Optional[str] = None """ - Files integration id to set as default, from get_files_integrations. + The files integration the folder lives on. """ -# @Route("/{version}/files/integrations/test", "POST") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class TestFilesIntegration(CodeMashRequestBase, IReturn[TestFilesIntegrationResponse]): - # @ApiMember(Description="Integration id, from get_files_integrations.", IsRequired=true) - integration_id: Optional[str] = None + # @ApiMember(Description="Folder prefix, relative to the integration.", IsRequired=true) + path: Optional[str] = None """ - Integration id, from get_files_integrations. + Folder prefix, relative to the integration. """ -# @Route("/{version}/files/folder", "GET") +# @Route("/{version}/files/folder/public", "POST") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class GetFolderFiles(CodeMashListPaginationRequestBase, IReturn[GetFolderFilesResponse]): - # @ApiMember(Description="The files integration id to list from, from get_files_integrations.", IsRequired=true) +class MakeFolderPublicRequest(CodeMashRequestBase, IReturn[IdResponse]): + # @ApiMember(Description="The files integration the folder lives on.", IsRequired=true) files_integration_id: Optional[str] = None """ - The files integration id to list from, from get_files_integrations. + The files integration the folder lives on. """ - # @ApiMember(Description="Path prefix to list. Empty / null lists the root.") + # @ApiMember(Description="Folder prefix to publish, relative to the integration.", IsRequired=true) path: Optional[str] = None """ - Path prefix to list. Empty / null lists the root. + Folder prefix to publish, relative to the integration. """ +# @Route("/{version}/files/integrations/{Id}", "DELETE") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class FilesEstablished: - pass - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class FilesEnabled: - pass - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class FilesDisabled: - pass - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class FilesIntegrationSaved: - integration: Optional[FileIntegration] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class FilesIntegrationTested: - id: Optional[IntegrationId] = None - succeeded: bool = False - error_messages: Optional[IReadOnlyList[str]] = None - tested_at_utc: datetime.datetime = datetime.datetime(1, 1, 1) - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class FilesIntegrationRenamed: - id: Optional[IntegrationId] = None - name: Optional[DisplayName] = None - env: Optional[Env] = None +class DeleteFilesIntegrationRequest(CodeMashRequestBase, IReturn[EmptyResponse]): + # @ApiMember(Description="Files integration id to delete, from get_files_integrations.", IsRequired=true) + id: Optional[str] = None + """ + Files integration id to delete, from get_files_integrations. + """ +# @Route("/{version}/files/integrations/{Id}/disable", "PUT") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class FilesIntegrationDeleted: - id: Optional[IntegrationId] = None - env: Optional[Env] = None +class DisableFilesIntegrationRequest(CodeMashRequestBase, IReturn[EmptyResponse]): + # @ApiMember(Description="Files integration id to disable, from get_files_integrations.", IsRequired=true) + id: Optional[str] = None + """ + Files integration id to disable, from get_files_integrations. + """ +# @Route("/{version}/files/integrations/{Id}/enable", "PUT") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class FilesIntegrationEnabled: - id: Optional[IntegrationId] = None - env: Optional[Env] = None +class EnableFilesIntegrationRequest(CodeMashRequestBase, IReturn[EmptyResponse]): + # @ApiMember(Description="Files integration id to enable, from get_files_integrations.", IsRequired=true) + id: Optional[str] = None + """ + Files integration id to enable, from get_files_integrations. + """ +# @Route("/{version}/files/integrations/{id}", "GET") +# @Api(Description="Gets integration by specified Id") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class FilesIntegrationDisabled: - id: Optional[IntegrationId] = None - env: Optional[Env] = None - +class GetFilesIntegration(CodeMashRequestBase, IReturn[GetFilesIntegrationResponse]): + """ + Gets integration by specified Id + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class FilesIntegrationSetAsDefault: - env: Optional[Env] = None - id: Optional[IntegrationId] = None + # @ApiMember(Description="Files integration id to fetch, from get_files_integrations.", IsRequired=true) + id: Optional[str] = None + """ + Files integration id to fetch, from get_files_integrations. + """ +# @Route("/{version}/files/integrations", "GET") +# @Api(Description="Gets integrations") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class FilesTriggerSaved: - trigger: Optional[FileTrigger] = None - +class GetFilesIntegrations(CodeMashListPaginationRequestBase, IReturn[GetFilesIntegrationsResponse]): + """ + Gets integrations + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class FilesTriggerMirrored: - trigger: Optional[Trigger] = None + pass +# @Route("/{version}/files/integrations", "POST") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class FilesTriggerEnabled(TriggerByIdEventBase): - env: Optional[Env] = None +class SaveFilesIntegration(CodeMashRequestBase, IReturn[IdResponse]): + integration: Optional[FilesIntegrationRequest] = None +# @Route("/{version}/files/integrations/{Id}/default", "PUT") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class FilesTriggerDisabled(TriggerByIdEventBase): - env: Optional[Env] = None +class SetFilesIntegrationAsDefaultRequest(CodeMashRequestBase, IReturn[EmptyResponse]): + # @ApiMember(Description="Files integration id to set as default, from get_files_integrations.", IsRequired=true) + id: Optional[str] = None + """ + Files integration id to set as default, from get_files_integrations. + """ +# @Route("/{version}/files/integrations/test", "POST") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class FilesTriggerDeleted(TriggerByIdEventBase): - env: Optional[Env] = None +class TestFilesIntegration(CodeMashRequestBase, IReturn[TestFilesIntegrationResponse]): + # @ApiMember(Description="Integration id, from get_files_integrations.", IsRequired=true) + integration_id: Optional[str] = None + """ + Integration id, from get_files_integrations. + """ +# @Route("/{version}/files/folder", "GET") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class FileUploaded: - project_id: Optional[ProjectId] = None - integration_id: Optional[IntegrationId] = None - file_ref: Optional[FileResourceRef] = None +class GetFolderFiles(CodeMashListPaginationRequestBase, IReturn[GetFolderFilesResponse]): + # @ApiMember(Description="The files integration id to list from, from get_files_integrations.", IsRequired=true) + files_integration_id: Optional[str] = None + """ + The files integration id to list from, from get_files_integrations. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class FileDeleted: - project_id: Optional[ProjectId] = None - integration_id: Optional[IntegrationId] = None + # @ApiMember(Description="Path prefix to list. Empty / null lists the root.") path: Optional[str] = None + """ + Path prefix to list. Empty / null lists the root. + """ # @Route("/{version}/notifications/email/disable", "GET") @@ -14674,6 +12461,11 @@ class CreateEmailCampaignRequest(CodeMashRequestBase, IReturn[IdResponse]): campaign: Optional[EmailCampaignRequest] = None database_integration_id: Optional[str] = None + # @ApiMember(Description="Optional. true sends the campaign now (or at a campaignTime sooner than the review window). Without it, a campaign created by an AI tool must be scheduled at least 24 hours ahead for role-based / all-users / collection audiences and at least 1 hour ahead for direct recipient lists, or it is rejected with CM-ERRORS-CAMPAIGNS-016. Set it only when the user explicitly asked to send now.") + send_now: Optional[bool] = None + """ + Optional. true sends the campaign now (or at a campaignTime sooner than the review window). Without it, a campaign created by an AI tool must be scheduled at least 24 hours ahead for role-based / all-users / collection audiences and at least 1 hour ahead for direct recipient lists, or it is rejected with CM-ERRORS-CAMPAIGNS-016. Set it only when the user explicitly asked to send now. + """ # @Route("/{version}/notifications/email/campaigns/{Id}", "DELETE") @@ -14685,7 +12477,8 @@ class DeleteEmailCampaignRequest(CodeMashRequestBase, IReturn[EmptyResponse]): Deletes emails campaign from queue """ - pass + id: Optional[str] = None + database_integration_id: Optional[str] = None # @Route("/{version}/notifications/email/campaigns/{id}", "GET") @@ -14898,10 +12691,24 @@ class PreviewEmailNotification(RequestBase, IReturn[PreviewEmailNotificationResp Preview an email notification """ - # @ApiMember(Description="The opaque, pre-signed preview hash identifying the project and notification to preview.", IsRequired=true) + # @ApiMember(Description="The signed preview link hash. With it the preview opens without sign-in: exactly one notification, until the link expires (30 days after sending).") hash: Optional[str] = None """ - The opaque, pre-signed preview hash identifying the project and notification to preview. + The signed preview link hash. With it the preview opens without sign-in: exactly one notification, until the link expires (30 days after sending). + """ + + + # @ApiMember(Description="Signed-in preview by id: the project id. With a hash it must match the hash.") + project_id: Optional[str] = None + """ + Signed-in preview by id: the project id. With a hash it must match the hash. + """ + + + # @ApiMember(Description="Signed-in preview by id: the notification id (needs email:read). With a hash it must match the hash.") + notification_id: Optional[str] = None + """ + Signed-in preview by id: the notification id (needs email:read). With a hash it must match the hash. """ @@ -14928,7 +12735,7 @@ class StopEmailCampaignRequest(CodeMashRequestBase, IReturn[EmptyResponse]): """ -# @Route("/{version}/notifications/emails/campaigns/{campaignId}/messages/{id}", "GET") +# @Route("/{version}/notifications/emails/campaigns/{campaignId}/messages/{notificationId}", "GET") # @Api(Description="Get an email campaign message") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass @@ -14955,352 +12762,44 @@ class GetEmailCampaignMessage(CodeMashRequestBase, IReturn[GetEmailCampaignMessa notification_id: Optional[str] = None """ The notification (message) id to fetch. Get it from get_email_campaign_messages. - """ - - - # @ApiMember(Description="Optional. Omit to use the project default database integration (resolved per environment).") - database_integration_id: Optional[str] = None - """ - Optional. Omit to use the project default database integration (resolved per environment). - """ - - -# @Route("/{version}/notifications/emails/campaigns/{campaignId}/messages", "GET") -# @Api(Description="Get email campaign messages") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class GetEmailCampaignMessagesRequest(CodeMashListPaginationRequestBase, IReturn[GetEmailCampaignMessagesResponse]): - """ - Get email campaign messages - """ - - # @ApiMember(Description="The email campaign id. Get it from get_all_email_campaigns.", IsRequired=true) - campaign_id: Optional[str] = None - """ - The email campaign id. Get it from get_all_email_campaigns. - """ - - - # @ApiMember(Description="The campaign batch id to list messages for. Get it from get_email_campaign_batches.", IsRequired=true) - campaign_batch_id: Optional[str] = None - """ - The campaign batch id to list messages for. Get it from get_email_campaign_batches. - """ - - - # @ApiMember(Description="Optional. Omit to use the project default database integration (resolved per environment).") - database_integration_id: Optional[str] = None - """ - Optional. Omit to use the project default database integration (resolved per environment). - """ - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class EmailServiceEstablished: - pass - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class ProjectDatabaseConnected: - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class EmailServiceEnabled: - pass - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class EmailServiceDisabled: - pass - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class EmailFooterSaved: - id: Optional[EmailFooterId] = None - name: Optional[DisplayName] = None - translations: List[MessageTranslation[TemplateCode]] = field(default_factory=list) - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class EmailFooterMirrored: - footer: Optional[EmailFooter] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class EmailFooterDeleted: - id: Optional[EmailFooterId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class EmailIntegrationSaved: - integration: Optional[EmailIntegration] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class EmailIntegrationTested: - id: Optional[IntegrationId] = None - succeeded: bool = False - error_messages: Optional[IReadOnlyList[str]] = None - tested_at_utc: datetime.datetime = datetime.datetime(1, 1, 1) - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class EmailIntegrationHumanDeliveryConfirmed: - id: Optional[IntegrationId] = None - confirmed_at_utc: datetime.datetime = datetime.datetime(1, 1, 1) - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class EmailIntegrationRenamed: - id: Optional[IntegrationId] = None - name: Optional[DisplayName] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class EmailIntegrationSetAsDefault: - env: Optional[Env] = None - id: Optional[IntegrationId] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class EmailIntegrationDeleted: - id: Optional[IntegrationId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class EmailIntegrationEnabled: - id: Optional[IntegrationId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class EmailIntegrationDisabled: - id: Optional[IntegrationId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class EmailSignatureSaved: - id: Optional[EmailSignatureId] = None - name: Optional[DisplayName] = None - translations: List[MessageTranslation[TemplateCode]] = field(default_factory=list) - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class EmailSignatureMirrored: - signature: Optional[EmailSignature] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class EmailSignatureDeleted: - id: Optional[EmailSignatureId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class EmailTemplateCreated: - template_id: Optional[TemplateId] = None - display_name: Optional[DisplayName] = None - translations: List[MessageTranslation[EmailMessageContent]] = field(default_factory=list) - channel: Optional[CommunicationChannel] = None - description: Optional[str] = None - tags: Optional[List[Tag]] = None - language_agnostic_attachments: Optional[List[FileResourceRef]] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class EmailTemplateUpdated: - template_id: Optional[TemplateId] = None - display_name: Optional[DisplayName] = None - translations: List[MessageTranslation[EmailMessageContent]] = field(default_factory=list) - channel: Optional[CommunicationChannel] = None - description: Optional[str] = None - tags: Optional[List[Tag]] = None - language_agnostic_attachments: Optional[List[FileResourceRef]] = None - attachments_to_be_deleted: Optional[List[FileResourceRef]] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class EmailTemplateMirrored: - template: Optional[EmailTemplate] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class EmailTemplateBackfilled: - template: Optional[EmailTemplate] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class EmailTemplateDeleted: - template_id: Optional[TemplateId] = None - files_to_be_deleted: Optional[List[FileResourceRef]] = None - file_integration_id: Optional[IntegrationId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class EmailTemplateArchived: - template_id: Optional[TemplateId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class EmailTemplateUnArchived: - template_id: Optional[TemplateId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class EmailValidationIntegrationSaved: - integration: Optional[EmailValidationIntegration] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class EmailValidationIntegrationDeleted: - id: Optional[IntegrationId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class EmailValidationIntegrationSecretsConfigured: - id: Optional[IntegrationId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class EmailValidationIntegrationSecretsConfigurationFailed: - id: Optional[IntegrationId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class EmailValidationIntegrationTested: - id: Optional[IntegrationId] = None - succeeded: bool = False - error_messages: Optional[IReadOnlyList[str]] = None - tested_at_utc: datetime.datetime = datetime.datetime(1, 1, 1) - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class EmailBatchRegistered: - project_id: Optional[ProjectId] = None - campaign_id: Optional[CampaignId] = None - campaign_batch_id: Optional[CampaignBatchId] = None - starting_after: Optional[str] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class EmailNotificationRead: - project_id: Optional[ProjectId] = None - campaign_id: Optional[CampaignId] = None - campaign_batch_id: Optional[CampaignBatchId] = None - notification_id: Optional[NotificationId] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class EmailNotificationClicked: - project_id: Optional[ProjectId] = None - campaign_id: Optional[CampaignId] = None - campaign_batch_id: Optional[CampaignBatchId] = None - notification_id: Optional[NotificationId] = None - source_id: Optional[str] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class EmailCampaignStarted: - project_id: Optional[ProjectId] = None - campaign_id: Optional[CampaignId] = None + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class EmailCampaignStopped: - project_id: Optional[ProjectId] = None - campaign_id: Optional[CampaignId] = None - reason: Optional[CampaignStopReason] = None + # @ApiMember(Description="Optional. Omit to use the project default database integration (resolved per environment).") + database_integration_id: Optional[str] = None + """ + Optional. Omit to use the project default database integration (resolved per environment). + """ +# @Route("/{version}/notifications/emails/campaigns/{campaignId}/messages", "GET") +# @Api(Description="Get email campaign messages") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class EmailCampaignCompleted: - project_id: Optional[ProjectId] = None - campaign_id: Optional[CampaignId] = None - errors: Optional[List[ErrorDto]] = None - +class GetEmailCampaignMessagesRequest(CodeMashListPaginationRequestBase, IReturn[GetEmailCampaignMessagesResponse]): + """ + Get email campaign messages + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class EmailCampaignFailed: - project_id: Optional[ProjectId] = None - campaign_id: Optional[CampaignId] = None - errors: List[ErrorDto] = field(default_factory=list) + # @ApiMember(Description="The email campaign id. Get it from get_all_email_campaigns.", IsRequired=true) + campaign_id: Optional[str] = None + """ + The email campaign id. Get it from get_all_email_campaigns. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class EmailCampaignTriggered: - project_id: Optional[ProjectId] = None - trigger_id: Optional[TriggerId] = None - trigger_type: Optional[TriggerType] = None - source_event: Optional[str] = None - schema_id: Optional[str] = None - token_mappings: Optional[IReadOnlyDictionary[str, str]] = None + # @ApiMember(Description="The campaign batch id to list messages for. Get it from get_email_campaign_batches.", IsRequired=true) + campaign_batch_id: Optional[str] = None + """ + The campaign batch id to list messages for. Get it from get_email_campaign_batches. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class EmailDeliveryEventReceived: - project_id: Optional[ProjectId] = None - integration_id: Optional[IntegrationId] = None - recipient: Optional[EmailAddress] = None - type: Optional[EmailDeliveryEventType] = None - occurred_at: datetime.datetime = datetime.datetime(1, 1, 1) - provider_message_id: Optional[str] = None - reason: Optional[str] = None + # @ApiMember(Description="Optional. Omit to use the project default database integration (resolved per environment).") + database_integration_id: Optional[str] = None + """ + Optional. Omit to use the project default database integration (resolved per environment). + """ # @Route("/{version}/notifications/sms/disable", "GET") @@ -15730,6 +13229,13 @@ class CreateSmsCampaignRequest(CodeMashRequestBase, IReturn[IdResponse]): """ + # @ApiMember(Description="Optional. true sends the campaign now (or at a campaignTime sooner than the review window). Without it, a campaign created by an AI tool must be scheduled at least 24 hours ahead for role-based / all-users / collection audiences and at least 1 hour ahead for direct recipient lists, or it is rejected with CM-ERRORS-CAMPAIGNS-016. Set it only when the user explicitly asked to send now.") + send_now: Optional[bool] = None + """ + Optional. true sends the campaign now (or at a campaignTime sooner than the review window). Without it, a campaign created by an AI tool must be scheduled at least 24 hours ahead for role-based / all-users / collection audiences and at least 1 hour ahead for direct recipient lists, or it is rejected with CM-ERRORS-CAMPAIGNS-016. Set it only when the user explicitly asked to send now. + """ + + # @Route("/{version}/notifications/sms/campaigns/{id}", "DELETE") # @Api(Description="Deletes sms campaign from queue") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @@ -15935,10 +13441,24 @@ class PreviewSmsNotification(RequestBase, IReturn[PreviewSmsNotificationResponse Returns SMS preview notification body """ - # @ApiMember(Description="Signed preview hash identifying the notification to render.") + # @ApiMember(Description="The signed preview link hash. With it the preview opens without sign-in: exactly one notification, until the link expires (30 days after sending).") hash: Optional[str] = None """ - Signed preview hash identifying the notification to render. + The signed preview link hash. With it the preview opens without sign-in: exactly one notification, until the link expires (30 days after sending). + """ + + + # @ApiMember(Description="Signed-in preview by id: the project id. With a hash it must match the hash.") + project_id: Optional[str] = None + """ + Signed-in preview by id: the project id. With a hash it must match the hash. + """ + + + # @ApiMember(Description="Signed-in preview by id: the notification id (needs sms:read). With a hash it must match the hash.") + notification_id: Optional[str] = None + """ + Signed-in preview by id: the notification id (needs sms:read). With a hash it must match the hash. """ @@ -15965,7 +13485,7 @@ class StopSmsCampaignRequest(CodeMashRequestBase, IReturn[EmptyResponse]): """ -# @Route("/{version}/notifications/sms/campaigns/{campaignId}/messages/{id}", "GET") +# @Route("/{version}/notifications/sms/campaigns/{campaignId}/messages/{notificationId}", "GET") # @Api(Description="Gets campaign sms message details") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass @@ -16032,197 +13552,6 @@ class GetSmsCampaignMessagesRequest(CodeMashListPaginationRequestBase, IReturn[G """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SmsIntegrationSaved: - integration: Optional[SmsIntegration] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SmsIntegrationTested: - id: Optional[IntegrationId] = None - succeeded: bool = False - error_messages: Optional[IReadOnlyList[str]] = None - tested_at_utc: datetime.datetime = datetime.datetime(1, 1, 1) - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SmsIntegrationHumanDeliveryConfirmed: - id: Optional[IntegrationId] = None - confirmed_at_utc: datetime.datetime = datetime.datetime(1, 1, 1) - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SmsIntegrationRenamed: - id: Optional[IntegrationId] = None - name: Optional[DisplayName] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SmsIntegrationSetAsDefault: - env: Optional[Env] = None - id: Optional[IntegrationId] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SmsIntegrationDeleted: - id: Optional[IntegrationId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SmsIntegrationEnabled: - id: Optional[IntegrationId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SmsIntegrationDisabled: - id: Optional[IntegrationId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SmsServiceEstablished: - default_templates: Optional[List[SmsTemplate]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SmsServiceEnabled: - pass - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SmsServiceDisabled: - pass - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SmsTemplateCreated: - template_id: Optional[TemplateId] = None - display_name: Optional[DisplayName] = None - translations: List[MessageTranslation[SmsMessageContent]] = field(default_factory=list) - channel: Optional[CommunicationChannel] = None - description: Optional[str] = None - tags: Optional[List[Tag]] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SmsTemplateUpdated: - template_id: Optional[TemplateId] = None - display_name: Optional[DisplayName] = None - translations: List[MessageTranslation[SmsMessageContent]] = field(default_factory=list) - channel: Optional[CommunicationChannel] = None - description: Optional[str] = None - tags: Optional[List[Tag]] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SmsTemplateMirrored: - template: Optional[SmsTemplate] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SmsTemplateDeleted: - template_id: Optional[TemplateId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SmsTemplateArchived: - template_id: Optional[TemplateId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SmsTemplateUnArchived: - template_id: Optional[TemplateId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SmsBatchRegistered: - campaign_id: Optional[CampaignId] = None - campaign_batch_id: Optional[CampaignBatchId] = None - starting_after: Optional[str] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SmsNotificationRead: - campaign_id: Optional[CampaignId] = None - campaign_batch_id: Optional[CampaignBatchId] = None - notification_id: Optional[NotificationId] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SmsNotificationClicked: - campaign_id: Optional[CampaignId] = None - campaign_batch_id: Optional[CampaignBatchId] = None - notification_id: Optional[NotificationId] = None - source_id: Optional[str] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SmsCampaignStarted: - campaign_id: Optional[CampaignId] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SmsCampaignStopped: - campaign_id: Optional[CampaignId] = None - reason: Optional[CampaignStopReason] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SmsCampaignCompleted: - campaign_id: Optional[CampaignId] = None - errors: Optional[List[ErrorDto]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SmsCampaignFailed: - campaign_id: Optional[CampaignId] = None - errors: List[ErrorDto] = field(default_factory=list) - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SmsCampaignTriggered: - project_id: Optional[ProjectId] = None - trigger_id: Optional[TriggerId] = None - trigger_type: Optional[TriggerType] = None - source_event: Optional[str] = None - schema_id: Optional[str] = None - token_mappings: Optional[IReadOnlyDictionary[str, str]] = None - - # @Route("/{version}/code/marketplace/integrations/{IntegrationViewId}/secrets", "PUT") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass @@ -16268,157 +13597,9 @@ class SetMarketplaceIntegrationTokenMappingsRequest(CodeMashRequestBase, IReturn class GetMarketplaceFunctionCatalog(CodeMashRequestBase, IReturn[GetMarketplaceFunctionCatalogResponse]): # @ApiMember(Description="Integration view id, from get_marketplace_integrations.", IsRequired=true) integration_view_id: Optional[str] = None - """ - Integration view id, from get_marketplace_integrations. - """ - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class CodeIntegrationSaved: - integration: Optional[CodeIntegration] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class CodeIntegrationTested: - id: Optional[IntegrationId] = None - succeeded: bool = False - error_messages: Optional[IReadOnlyList[str]] = None - tested_at_utc: datetime.datetime = datetime.datetime(1, 1, 1) - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class CodeIntegrationHumanDeliveryConfirmed: - id: Optional[IntegrationId] = None - confirmed_at_utc: datetime.datetime = datetime.datetime(1, 1, 1) - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class CodeIntegrationRenamed: - id: Optional[IntegrationId] = None - name: Optional[DisplayName] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class CodeIntegrationSetAsDefault: - id: Optional[IntegrationId] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class CodeIntegrationDeleted: - id: Optional[IntegrationId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class CodeIntegrationEnabled: - id: Optional[IntegrationId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class CodeIntegrationDisabled: - id: Optional[IntegrationId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class MarketplaceIntegrationSaved: - integration: Optional[MarketplaceIntegration] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class MarketplaceIntegrationDeleted: - id: Optional[IntegrationId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class MarketplaceIntegrationEnabled: - id: Optional[IntegrationId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class MarketplaceIntegrationDisabled: - id: Optional[IntegrationId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class MarketplaceIntegrationTested: - id: Optional[IntegrationId] = None - succeeded: bool = False - error_messages: Optional[IReadOnlyList[str]] = None - tested_at_utc: datetime.datetime = datetime.datetime(1, 1, 1) - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class MarketplaceIntegrationSecretsConfigured: - id: Optional[IntegrationId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class MarketplaceIntegrationSecretsConfigurationFailed: - id: Optional[IntegrationId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class MarketplaceFunctionSaved: - function: Optional[MarketplaceFunction] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class MarketplaceFunctionDeleted: - integration_id: Optional[IntegrationId] = None - function_id: Optional[MarketplaceFunctionId] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class MarketplaceFunctionEnabled: - integration_id: Optional[IntegrationId] = None - function_id: Optional[MarketplaceFunctionId] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class MarketplaceFunctionDisabled: - integration_id: Optional[IntegrationId] = None - function_id: Optional[MarketplaceFunctionId] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class ServerlessEnabled: - pass - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class ServerlessDisabled: - pass + """ + Integration view id, from get_marketplace_integrations. + """ # @Route("/{version}/notifications/push/disable", "GET") @@ -16795,18 +13976,6 @@ class TestPushIntegration(CodeMashRequestBase, IReturn[TestEmailIntegrationRespo """ -# @Route("/{version}/notifications/push/integrations/app/request", "POST") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class RegisterCodeMashAppPushIntegration(CodeMashRequestBase, IReturn[EmptyResponse], IHasAccountId): - account_id: Optional[str] = None - user_id: Optional[str] = None - request_id: Optional[str] = None - pin: int = 0 - valid_till: datetime.datetime = datetime.datetime(1, 1, 1) - public_key: Optional[str] = None - - # @Route("/{version}/notifications/push/devices", "POST") # @Api(Description="Registers a device for push notifications") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @@ -16845,6 +14014,66 @@ class RegisterDevice(RequestBase, IReturn[IdResponse], IHasProjectId): """ +# @Route("/{version}/notifications/push/devices/{id}", "GET") +# @Api(Description="Gets a registered push device") +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class GetPushDevice(CodeMashRequestBase, IReturn[GetPushDeviceResponse]): + """ + Gets a registered push device + """ + + # @ApiMember(Description="The device id to fetch. Get it from get_push_devices.") + id: Optional[str] = None + """ + The device id to fetch. Get it from get_push_devices. + """ + + + # @ApiMember(Description="Optional database integration id; omit to use the project's default.") + database_integration_id: Optional[str] = None + """ + Optional database integration id; omit to use the project's default. + """ + + +# @Route("/{version}/notifications/push/devices", "GET") +# @Api(Description="Gets registered push devices") +@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) +@dataclass +class GetPushDevices(CodeMashListPaginationRequestBase, IReturn[GetPushDevicesResponse]): + """ + Gets registered push devices + """ + + # @ApiMember(Description="Optional: only the devices of this user.") + user_id: Optional[str] = None + """ + Optional: only the devices of this user. + """ + + + # @ApiMember(Description="Optional: only the device registered with this provider token.") + device_key: Optional[str] = None + """ + Optional: only the device registered with this provider token. + """ + + + # @ApiMember(Description="Optional: only devices of this platform — ios, android, chrome, safari or expo.") + platform: Optional[str] = None + """ + Optional: only devices of this platform — ios, android, chrome, safari or expo. + """ + + + # @ApiMember(Description="Optional database integration id; omit to use the project's default.") + database_integration_id: Optional[str] = None + """ + Optional database integration id; omit to use the project's default. + """ + + # @Route("/{version}/notifications/push/campaigns", "POST") # @Api(Description="Create push campaign") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @@ -16856,6 +14085,11 @@ class CreatePushCampaignRequest(CodeMashRequestBase, IReturn[IdResponse]): campaign: Optional[PushCampaignRequest] = None database_integration_id: Optional[str] = None + # @ApiMember(Description="Optional. true sends the campaign now (or at a campaignTime sooner than the review window). Without it, a campaign created by an AI tool must be scheduled at least 24 hours ahead for role-based / all-users / collection audiences and at least 1 hour ahead for direct recipient lists, or it is rejected with CM-ERRORS-CAMPAIGNS-016. Set it only when the user explicitly asked to send now.") + send_now: Optional[bool] = None + """ + Optional. true sends the campaign now (or at a campaignTime sooner than the review window). Without it, a campaign created by an AI tool must be scheduled at least 24 hours ahead for role-based / all-users / collection audiences and at least 1 hour ahead for direct recipient lists, or it is rejected with CM-ERRORS-CAMPAIGNS-016. Set it only when the user explicitly asked to send now. + """ # @Route("/{version}/notifications/push/campaigns/{Id}", "DELETE") @@ -16867,7 +14101,18 @@ class DeletePushCampaignRequest(CodeMashRequestBase, IReturn[EmptyResponse]): Deletes push campaign from queue """ - pass + # @ApiMember(Description="The push campaign id to delete. Get it from get_push_campaigns.", IsRequired=true) + id: Optional[str] = None + """ + The push campaign id to delete. Get it from get_push_campaigns. + """ + + + # @ApiMember(Description="Optional database integration id; omit to use the project's default.") + database_integration_id: Optional[str] = None + """ + Optional database integration id; omit to use the project's default. + """ # @Route("/{version}/notifications/push/campaigns/{id}", "GET") @@ -17059,10 +14304,24 @@ class PreviewPushNotification(RequestBase, IReturn[PreviewPushNotificationRespon Returns push preview notification """ - # @ApiMember(Description="The encrypted preview hash identifying the project and notification.") + # @ApiMember(Description="The signed preview link hash. With it the preview opens without sign-in: exactly one notification, until the link expires (30 days after sending).") hash: Optional[str] = None """ - The encrypted preview hash identifying the project and notification. + The signed preview link hash. With it the preview opens without sign-in: exactly one notification, until the link expires (30 days after sending). + """ + + + # @ApiMember(Description="Signed-in preview by id: the project id. With a hash it must match the hash.") + project_id: Optional[str] = None + """ + Signed-in preview by id: the project id. With a hash it must match the hash. + """ + + + # @ApiMember(Description="Signed-in preview by id: the notification id (needs push:read). With a hash it must match the hash.") + notification_id: Optional[str] = None + """ + Signed-in preview by id: the notification id (needs push:read). With a hash it must match the hash. """ @@ -17075,10 +14334,21 @@ class StopPushCampaignRequest(CodeMashRequestBase, IReturn[EmptyResponse]): Stops a running push campaign """ - pass + # @ApiMember(Description="The campaign id to stop.") + id: Optional[str] = None + """ + The campaign id to stop. + """ + + + # @ApiMember(Description="Optional database integration id; omit to use the project's default.") + database_integration_id: Optional[str] = None + """ + Optional database integration id; omit to use the project's default. + """ -# @Route("/{version}/notifications/push/campaigns/{campaignId}/messages/{id}", "GET") +# @Route("/{version}/notifications/push/campaigns/{campaignId}/messages/{notificationId}", "GET") # @Api(Description="Gets campaign push notification details") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass @@ -17145,148 +14415,6 @@ class GetPushCampaignMessagesRequest(CodeMashListPaginationRequestBase, IReturn[ """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PushIntegrationSaved: - integration: Optional[PushIntegration] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PushIntegrationTested: - id: Optional[IntegrationId] = None - succeeded: bool = False - error_messages: Optional[IReadOnlyList[str]] = None - tested_at_utc: datetime.datetime = datetime.datetime(1, 1, 1) - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PushIntegrationHumanDeliveryConfirmed: - id: Optional[IntegrationId] = None - confirmed_at_utc: datetime.datetime = datetime.datetime(1, 1, 1) - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PushIntegrationRenamed: - id: Optional[IntegrationId] = None - name: Optional[DisplayName] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PushIntegrationSetAsDefault: - env: Optional[Env] = None - id: Optional[IntegrationId] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PushIntegrationDeleted: - id: Optional[IntegrationId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PushIntegrationEnabled: - id: Optional[IntegrationId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PushIntegrationDisabled: - id: Optional[IntegrationId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PushServiceEstablished: - default_templates: Optional[List[PushTemplate]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PushServiceEnabled: - pass - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PushServiceDisabled: - pass - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PushModuleTagSaved: - tag: Optional[TagDefinition] = None - communication_channel: Optional[CommunicationChannel] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PushModuleTagDeleted: - tag: Optional[Tag] = None - communication_channel: Optional[CommunicationChannel] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PushTemplateCreated: - template_id: Optional[TemplateId] = None - display_name: Optional[DisplayName] = None - translations: List[MessageTranslation[PushMessageContent]] = field(default_factory=list) - channel: Optional[CommunicationChannel] = None - description: Optional[str] = None - tags: Optional[List[Tag]] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PushTemplateUpdated: - template_id: Optional[TemplateId] = None - display_name: Optional[DisplayName] = None - translations: List[MessageTranslation[PushMessageContent]] = field(default_factory=list) - channel: Optional[CommunicationChannel] = None - description: Optional[str] = None - tags: Optional[List[Tag]] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PushTemplateMirrored: - template: Optional[PushTemplate] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PushTemplateDeleted: - template_id: Optional[TemplateId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PushTemplateArchived: - template_id: Optional[TemplateId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PushTemplateUnArchived: - template_id: Optional[TemplateId] = None - env: Optional[Env] = None - - # @Route("/{version}/payments/disable", "GET") # @Api(Description="Disable payments service") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @@ -17494,131 +14622,31 @@ class GetPaymentsIntegrations(CodeMashListPaginationRequestBase, IReturn[GetPaym # @Route("/{version}/payments/integrations", "POST") -# @Api(Description="Saves payments integration") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SavePaymentsIntegration(CodeMashRequestBase, IReturn[IdResponse]): - """ - Saves payments integration - """ - - integration: Optional[PaymentIntegrationRequest] = None - - -# @Route("/{version}/payments/integrations/test", "POST") -# @Api(Description="Test payments integration") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class TestPaymentsIntegration(CodeMashRequestBase, IReturn[TestPaymentsIntegrationResponse]): - """ - Test payments integration - """ - - # @ApiMember(Description="The id of the payments integration to test.", IsRequired=true) - integration_id: Optional[str] = None - """ - The id of the payments integration to test. - """ - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PaymentsIntegrationSaved: - integration: Optional[PaymentIntegration] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PaymentsIntegrationTested: - id: Optional[IntegrationId] = None - succeeded: bool = False - error_messages: Optional[IReadOnlyList[str]] = None - tested_at_utc: datetime.datetime = datetime.datetime(1, 1, 1) - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PaymentsIntegrationHumanDeliveryConfirmed: - id: Optional[IntegrationId] = None - confirmed_at_utc: datetime.datetime = datetime.datetime(1, 1, 1) - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PaymentsIntegrationRenamed: - id: Optional[IntegrationId] = None - name: Optional[DisplayName] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PaymentsIntegrationDeleted: - id: Optional[IntegrationId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PaymentsIntegrationEnabled: - id: Optional[IntegrationId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PaymentsIntegrationDisabled: - id: Optional[IntegrationId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PaymentsEstablished: - pass - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PaymentsEnabled: - pass - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PaymentsDisabled: - pass - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PaymentsTriggerSaved: - trigger: Optional[PaymentTrigger] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PaymentTriggerMirrored: - trigger: Optional[Trigger] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class PaymentsTriggerEnabled(TriggerByIdEventBase): - env: Optional[Env] = None - - +# @Api(Description="Saves payments integration") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class PaymentsTriggerDisabled(TriggerByIdEventBase): - env: Optional[Env] = None +class SavePaymentsIntegration(CodeMashRequestBase, IReturn[IdResponse]): + """ + Saves payments integration + """ + + integration: Optional[PaymentIntegrationRequest] = None +# @Route("/{version}/payments/integrations/test", "POST") +# @Api(Description="Test payments integration") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class PaymentsTriggerDeleted(TriggerByIdEventBase): - env: Optional[Env] = None +class TestPaymentsIntegration(CodeMashRequestBase, IReturn[TestPaymentsIntegrationResponse]): + """ + Test payments integration + """ + + # @ApiMember(Description="The id of the payments integration to test.", IsRequired=true) + integration_id: Optional[str] = None + """ + The id of the payments integration to test. + """ # @Route("/{version}/logs/disable", "GET") @@ -17883,107 +14911,15 @@ class SaveLogSettings(CodeMashRequestBase, IReturn[SaveLogSettingsResponse]): """ +# @Route("/{version}/account/agent/onboarding", "GET") +# @Api(Description="Paste-ready prompt and client snippets to connect an AI tool to this installation.") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class LoggingIntegrationSaved: - integration: Optional[LoggingIntegration] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class LoggingIntegrationTested: - id: Optional[IntegrationId] = None - succeeded: bool = False - error_messages: Optional[IReadOnlyList[str]] = None - tested_at_utc: datetime.datetime = datetime.datetime(1, 1, 1) - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class LoggingIntegrationRenamed: - id: Optional[IntegrationId] = None - name: Optional[DisplayName] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class LoggingIntegrationDeleted: - id: Optional[IntegrationId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class LoggingIntegrationEnabled: - id: Optional[IntegrationId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class LoggingIntegrationDisabled: - id: Optional[IntegrationId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class LoggingIntegrationSecretsConfigured: - id: Optional[IntegrationId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class LoggingIntegrationSecretsConfigurationFailed: - id: Optional[IntegrationId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class LoggingIntegrationSecretsCleared: - id: Optional[IntegrationId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class LoggingIntegrationSecretsClearingFailed: - id: Optional[IntegrationId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class LoggingIntegrationSetAsDefault: - id: Optional[IntegrationId] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class NorbixLoggingLogsWipeRequested: - deleted_integration_id: Optional[IntegrationId] = None - database_integration_id: Optional[IntegrationId] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class LoggingEstablished: - pass - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class LoggingEnabled: - pass - +class GetAgentOnboardingRequest(RequestBase, IReturn[GetAgentOnboardingResponse]): + """ + Paste-ready prompt and client snippets to connect an AI tool to this installation. + """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class LoggingDisabled: pass @@ -18012,19 +14948,6 @@ class InvokeAiToolRequest(RequestBase, IReturn[InvokeAiToolResponse]): arguments_json: Optional[str] = None -# @Route("/{version}/account/chat/complete", "POST") -# @Api(Description="Gets account info.") -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class AskChatRequest(RequestBase, IReturn[AskChatResponse]): - """ - Gets account info. - """ - - prompt: Optional[str] = None - profile: Optional[str] = None - - # @Route("/{version}/account/chat/attachments", "POST") # @Api(Description="Uploads a file into an AI chat session.") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @@ -18459,170 +15382,6 @@ class TestMcpIntegration(CodeMashRequestBase, IReturn[TestLlmIntegrationResponse """ -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class LlmIntegrationSaved: - llm_integration: Optional[LlmIntegration] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class LlmIntegrationDeleted: - id: Optional[IntegrationId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class LlmIntegrationEnabled: - id: Optional[IntegrationId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class LlmIntegrationDisabled: - id: Optional[IntegrationId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class LlmIntegrationSecretsConfigured: - id: Optional[IntegrationId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class LlmIntegrationSecretsConfigurationFailed: - id: Optional[IntegrationId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class LlmIntegrationTested: - id: Optional[IntegrationId] = None - succeeded: bool = False - error_messages: Optional[IReadOnlyList[str]] = None - tested_at_utc: datetime.datetime = datetime.datetime(1, 1, 1) - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class McpIntegrationSaved: - mcp_integration: Optional[McpIntegration] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class McpIntegrationDeleted: - id: Optional[IntegrationId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class McpIntegrationEnabled: - id: Optional[IntegrationId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class McpIntegrationDisabled: - id: Optional[IntegrationId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class McpIntegrationSecretsConfigured: - id: Optional[IntegrationId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class McpIntegrationSecretsConfigurationFailed: - id: Optional[IntegrationId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class McpIntegrationTested: - id: Optional[IntegrationId] = None - succeeded: bool = False - error_messages: Optional[IReadOnlyList[str]] = None - tested_at_utc: datetime.datetime = datetime.datetime(1, 1, 1) - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class WebhookIntegrationSaved: - integration: Optional[WebhookIntegration] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class WebhookIntegrationExtraHeadersChanged: - id: Optional[IntegrationId] = None - extra_headers: Optional[IReadOnlyDictionary[str, str]] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class WebhookIntegrationSecretsConfigured: - id: Optional[IntegrationId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class WebhookIntegrationSecretsConfigurationFailed: - id: Optional[IntegrationId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class WebhookIntegrationSecretsCleared: - id: Optional[IntegrationId] = None - env: Optional[Env] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class WebhookDestinationSaved: - integration_id: Optional[IntegrationId] = None - destination: Optional[WebhookDestination] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class WebhookDestinationRemoved: - integration_id: Optional[IntegrationId] = None - destination_id: Optional[WebhookDestinationId] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class WebhookDestinationEnabled: - integration_id: Optional[IntegrationId] = None - destination_id: Optional[WebhookDestinationId] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class WebhookDestinationDisabled: - integration_id: Optional[IntegrationId] = None - destination_id: Optional[WebhookDestinationId] = None - - # @Route("/{version}/webhooks/integration", "GET") # @Api(Description="Gets the project's webhook integration") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @@ -18663,7 +15422,7 @@ class UpdateWebhookIntegrationExtraHeadersRequest(CodeMashRequestBase, IReturn[E # @Route("/{version}/webhooks/{source}/{integrationInstanceId}", "POST") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass -class ReceiveWebhook(IReturn[HttpResult]): +class ReceiveWebhook(IReturnVoid): source: Optional[str] = None integration_instance_id: Optional[str] = None request_stream: Optional[bytes] = None @@ -18837,42 +15596,6 @@ class SaveSchedulerTaskRequest(CodeMashRequestBase, IReturn[IdResponse]): task: Optional[SchedulerTaskRequest] = None -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SchedulerEnabled: - pass - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SchedulerDisabled: - pass - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SchedulerTaskSaved: - task: Optional[SchedulerTask] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SchedulerTaskEnabled: - task_id: Optional[TaskId] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SchedulerTaskDisabled: - task_id: Optional[TaskId] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SchedulerTaskDeleted: - task_id: Optional[TaskId] = None - - # @Route("/{version}/resources/resolve", "POST") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass @@ -19398,92 +16121,6 @@ class OpenSupportCaseRequest(RequestBase, IReturn[IdResponse]): project_id: Optional[str] = None -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SupportCaseOpened: - case_id: Optional[SupportCaseId] = None - account_id: Optional[AccountId] = None - project_id: Optional[ProjectId] = None - reporter_id: Optional[str] = None - kind: Optional[SupportCaseKind] = None - severity: Optional[SupportCaseSeverity] = None - subject: Optional[str] = None - deployment_mode: Optional[DeploymentMode] = None - gateway_version: Optional[str] = None - region: Optional[str] = None - plan_tier: Optional[str] = None - opened_on: Optional[UtcDateTime] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SupportCaseTriaged: - case_id: Optional[SupportCaseId] = None - kind: Optional[SupportCaseKind] = None - severity: Optional[SupportCaseSeverity] = None - affected_module: Optional[str] = None - triaged_by: Optional[str] = None - triaged_on: Optional[UtcDateTime] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SupportCaseMessageAppended: - case_id: Optional[SupportCaseId] = None - message: Optional[SupportMessageRef] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SupportCaseStatusChanged: - case_id: Optional[SupportCaseId] = None - from_: Optional[SupportCaseStatus] = field(metadata=config(field_name='from'), default=None) - to: Optional[SupportCaseStatus] = None - changed_on: Optional[UtcDateTime] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SupportCaseResolved: - case_id: Optional[SupportCaseId] = None - resolution: Optional[CaseResolution] = None - resolved_on: Optional[UtcDateTime] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SupportCaseClosed: - case_id: Optional[SupportCaseId] = None - closed_by: Optional[str] = None - closed_on: Optional[UtcDateTime] = None - reason: Optional[SupportCaseCloseReason] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SupportCaseReopened: - case_id: Optional[SupportCaseId] = None - reason: Optional[str] = None - reopened_on: Optional[UtcDateTime] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SupportCaseWaitingReminderSent: - case_id: Optional[SupportCaseId] = None - tier_days: int = 0 - sent_on: Optional[UtcDateTime] = None - - -@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) -@dataclass -class SupportCaseAttachmentLinked: - case_id: Optional[SupportCaseId] = None - attachment_ref: Optional[str] = None - file_name: Optional[str] = None - linked_on: Optional[UtcDateTime] = None - - # @Route("/{version}/diagnostics/packs", "GET") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass