@stackframe/stack-shared 2.8.25 → 2.8.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -0
- package/dist/config/format.d.mts +20 -5
- package/dist/config/format.d.ts +20 -5
- package/dist/config/format.js +39 -14
- package/dist/config/format.js.map +1 -1
- package/dist/config/schema.d.mts +795 -317
- package/dist/config/schema.d.ts +795 -317
- package/dist/config/schema.js +471 -84
- package/dist/config/schema.js.map +1 -1
- package/dist/crud.d.mts +1 -0
- package/dist/crud.d.ts +1 -0
- package/dist/esm/config/format.js +37 -14
- package/dist/esm/config/format.js.map +1 -1
- package/dist/esm/config/schema.js +460 -80
- package/dist/esm/config/schema.js.map +1 -1
- package/dist/esm/helpers/emails.js +164 -34
- package/dist/esm/helpers/emails.js.map +1 -1
- package/dist/esm/interface/admin-interface.js +41 -38
- package/dist/esm/interface/admin-interface.js.map +1 -1
- package/dist/esm/interface/crud/config.js +40 -0
- package/dist/esm/interface/crud/config.js.map +1 -0
- package/dist/esm/interface/server-interface.js +26 -0
- package/dist/esm/interface/server-interface.js.map +1 -1
- package/dist/esm/known-errors.js +24 -1
- package/dist/esm/known-errors.js.map +1 -1
- package/dist/esm/schema-fields.js +92 -27
- package/dist/esm/schema-fields.js.map +1 -1
- package/dist/esm/utils/currencies.js +52 -0
- package/dist/esm/utils/currencies.js.map +1 -0
- package/dist/esm/utils/dates.js +55 -1
- package/dist/esm/utils/dates.js.map +1 -1
- package/dist/esm/utils/errors.js.map +1 -1
- package/dist/esm/utils/esbuild.js +15 -11
- package/dist/esm/utils/esbuild.js.map +1 -1
- package/dist/esm/utils/objects.js +2 -0
- package/dist/esm/utils/objects.js.map +1 -1
- package/dist/esm/utils/promises.js +24 -13
- package/dist/esm/utils/promises.js.map +1 -1
- package/dist/esm/utils/strings.js +4 -0
- package/dist/esm/utils/strings.js.map +1 -1
- package/dist/esm/utils/telemetry.js +39 -0
- package/dist/esm/utils/telemetry.js.map +1 -0
- package/dist/esm/utils/types.js +45 -0
- package/dist/esm/utils/types.js.map +1 -1
- package/dist/helpers/emails.d.mts +32 -6
- package/dist/helpers/emails.d.ts +32 -6
- package/dist/helpers/emails.js +166 -34
- package/dist/helpers/emails.js.map +1 -1
- package/dist/helpers/password.d.mts +1 -0
- package/dist/helpers/password.d.ts +1 -0
- package/dist/helpers/production-mode.d.mts +1 -0
- package/dist/helpers/production-mode.d.ts +1 -0
- package/dist/index.d.mts +2 -1
- package/dist/index.d.ts +2 -1
- package/dist/interface/admin-interface.d.mts +13 -14
- package/dist/interface/admin-interface.d.ts +13 -14
- package/dist/interface/admin-interface.js +41 -38
- package/dist/interface/admin-interface.js.map +1 -1
- package/dist/interface/client-interface.d.mts +1 -0
- package/dist/interface/client-interface.d.ts +1 -0
- package/dist/interface/crud/config.d.mts +49 -0
- package/dist/interface/crud/config.d.ts +49 -0
- package/dist/interface/crud/config.js +79 -0
- package/dist/interface/crud/config.js.map +1 -0
- package/dist/interface/crud/connected-accounts.d.mts +1 -0
- package/dist/interface/crud/connected-accounts.d.ts +1 -0
- package/dist/interface/crud/contact-channels.d.mts +1 -0
- package/dist/interface/crud/contact-channels.d.ts +1 -0
- package/dist/interface/crud/current-user.d.mts +1 -0
- package/dist/interface/crud/current-user.d.ts +1 -0
- package/dist/interface/crud/email-templates.d.mts +1 -0
- package/dist/interface/crud/email-templates.d.ts +1 -0
- package/dist/interface/crud/emails.d.mts +1 -0
- package/dist/interface/crud/emails.d.ts +1 -0
- package/dist/interface/crud/internal-api-keys.d.mts +1 -0
- package/dist/interface/crud/internal-api-keys.d.ts +1 -0
- package/dist/interface/crud/notification-preferences.d.mts +1 -0
- package/dist/interface/crud/notification-preferences.d.ts +1 -0
- package/dist/interface/crud/oauth-providers.d.mts +5 -4
- package/dist/interface/crud/oauth-providers.d.ts +5 -4
- package/dist/interface/crud/project-api-keys.d.mts +3 -2
- package/dist/interface/crud/project-api-keys.d.ts +3 -2
- package/dist/interface/crud/project-permissions.d.mts +1 -0
- package/dist/interface/crud/project-permissions.d.ts +1 -0
- package/dist/interface/crud/projects.d.mts +8 -7
- package/dist/interface/crud/projects.d.ts +8 -7
- package/dist/interface/crud/sessions.d.mts +1 -0
- package/dist/interface/crud/sessions.d.ts +1 -0
- package/dist/interface/crud/svix-token.d.mts +1 -0
- package/dist/interface/crud/svix-token.d.ts +1 -0
- package/dist/interface/crud/team-invitation-details.d.mts +1 -0
- package/dist/interface/crud/team-invitation-details.d.ts +1 -0
- package/dist/interface/crud/team-invitation.d.mts +1 -0
- package/dist/interface/crud/team-invitation.d.ts +1 -0
- package/dist/interface/crud/team-member-profiles.d.mts +1 -0
- package/dist/interface/crud/team-member-profiles.d.ts +1 -0
- package/dist/interface/crud/team-memberships.d.mts +1 -0
- package/dist/interface/crud/team-memberships.d.ts +1 -0
- package/dist/interface/crud/team-permissions.d.mts +1 -0
- package/dist/interface/crud/team-permissions.d.ts +1 -0
- package/dist/interface/crud/teams.d.mts +1 -0
- package/dist/interface/crud/teams.d.ts +1 -0
- package/dist/interface/crud/users.d.mts +1 -0
- package/dist/interface/crud/users.d.ts +1 -0
- package/dist/interface/server-interface.d.mts +10 -0
- package/dist/interface/server-interface.d.ts +10 -0
- package/dist/interface/server-interface.js +26 -0
- package/dist/interface/server-interface.js.map +1 -1
- package/dist/known-errors.d.mts +6 -0
- package/dist/known-errors.d.ts +6 -0
- package/dist/known-errors.js +24 -1
- package/dist/known-errors.js.map +1 -1
- package/dist/schema-fields.d.mts +39 -8
- package/dist/schema-fields.d.ts +39 -8
- package/dist/schema-fields.js +101 -27
- package/dist/schema-fields.js.map +1 -1
- package/dist/utils/currencies.d.mts +39 -0
- package/dist/utils/currencies.d.ts +39 -0
- package/dist/utils/currencies.js +78 -0
- package/dist/utils/currencies.js.map +1 -0
- package/dist/utils/dates.d.mts +5 -1
- package/dist/utils/dates.d.ts +5 -1
- package/dist/utils/dates.js +58 -2
- package/dist/utils/dates.js.map +1 -1
- package/dist/utils/errors.d.mts +12 -1
- package/dist/utils/errors.d.ts +12 -1
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/esbuild.js +15 -11
- package/dist/utils/esbuild.js.map +1 -1
- package/dist/utils/objects.d.mts +23 -8
- package/dist/utils/objects.d.ts +23 -8
- package/dist/utils/objects.js +2 -0
- package/dist/utils/objects.js.map +1 -1
- package/dist/utils/promises.d.mts +5 -1
- package/dist/utils/promises.d.ts +5 -1
- package/dist/utils/promises.js +24 -12
- package/dist/utils/promises.js.map +1 -1
- package/dist/utils/strings.d.mts +3 -1
- package/dist/utils/strings.d.ts +3 -1
- package/dist/utils/strings.js +5 -0
- package/dist/utils/strings.js.map +1 -1
- package/dist/utils/telemetry.d.mts +13 -0
- package/dist/utils/telemetry.d.ts +13 -0
- package/dist/utils/telemetry.js +66 -0
- package/dist/utils/telemetry.js.map +1 -0
- package/dist/utils/types.d.mts +73 -2
- package/dist/utils/types.d.ts +73 -2
- package/dist/utils/types.js +54 -0
- package/dist/utils/types.js.map +1 -1
- package/package.json +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/interface/admin-interface.ts"],"sourcesContent":["import { InternalSession } from \"../sessions\";\nimport { EmailTemplateCrud, EmailTemplateType } from \"./crud/email-templates\";\nimport { InternalEmailsCrud } from \"./crud/emails\";\nimport { InternalApiKeysCrud } from \"./crud/internal-api-keys\";\nimport { ProjectPermissionDefinitionsCrud } from \"./crud/project-permissions\";\nimport { ProjectsCrud } from \"./crud/projects\";\nimport { SvixTokenCrud } from \"./crud/svix-token\";\nimport { TeamPermissionDefinitionsCrud } from \"./crud/team-permissions\";\nimport { ServerAuthApplicationOptions, StackServerInterface } from \"./server-interface\";\n\nexport type ChatContent = Array<\n | { type: \"text\", text: string }\n | { type: \"tool-call\", toolName: string, toolCallId: string, args: any, argsText: string, result: any }\n>;\n\nexport type AdminAuthApplicationOptions = ServerAuthApplicationOptions &(\n | {\n superSecretAdminKey: string,\n }\n | {\n projectOwnerSession: InternalSession,\n }\n);\n\nexport type InternalApiKeyCreateCrudRequest = {\n has_publishable_client_key: boolean,\n has_secret_server_key: boolean,\n has_super_secret_admin_key: boolean,\n expires_at_millis: number,\n description: string,\n};\n\nexport type InternalApiKeyCreateCrudResponse = InternalApiKeysCrud[\"Admin\"][\"Read\"] & {\n publishable_client_key?: string,\n secret_server_key?: string,\n super_secret_admin_key?: string,\n};\n\nexport class StackAdminInterface extends StackServerInterface {\n constructor(public readonly options: AdminAuthApplicationOptions) {\n super(options);\n }\n\n public async sendAdminRequest(path: string, options: RequestInit, session: InternalSession | null, requestType: \"admin\" = \"admin\") {\n return await this.sendServerRequest(\n path,\n {\n ...options,\n headers: {\n \"x-stack-super-secret-admin-key\": \"superSecretAdminKey\" in this.options ? this.options.superSecretAdminKey : \"\",\n ...options.headers,\n },\n },\n session,\n requestType,\n );\n }\n\n async getProject(): Promise<ProjectsCrud[\"Admin\"][\"Read\"]> {\n const response = await this.sendAdminRequest(\n \"/internal/projects/current\",\n {\n method: \"GET\",\n },\n null,\n );\n return await response.json();\n }\n\n async updateProject(update: ProjectsCrud[\"Admin\"][\"Update\"]): Promise<ProjectsCrud[\"Admin\"][\"Read\"]> {\n const response = await this.sendAdminRequest(\n \"/internal/projects/current\",\n {\n method: \"PATCH\",\n headers: {\n \"content-type\": \"application/json\",\n },\n body: JSON.stringify(update),\n },\n null,\n );\n return await response.json();\n }\n\n async createInternalApiKey(\n options: InternalApiKeyCreateCrudRequest,\n ): Promise<InternalApiKeyCreateCrudResponse> {\n const response = await this.sendAdminRequest(\n \"/internal/api-keys\",\n {\n method: \"POST\",\n headers: {\n \"content-type\": \"application/json\",\n },\n body: JSON.stringify(options),\n },\n null,\n );\n return await response.json();\n }\n\n async listInternalApiKeys(): Promise<InternalApiKeysCrud[\"Admin\"][\"Read\"][]> {\n const response = await this.sendAdminRequest(\"/internal/api-keys\", {}, null);\n const result = await response.json() as InternalApiKeysCrud[\"Admin\"][\"List\"];\n return result.items;\n }\n\n async revokeInternalApiKeyById(id: string) {\n await this.sendAdminRequest(\n `/internal/api-keys/${id}`, {\n method: \"PATCH\",\n headers: {\n \"content-type\": \"application/json\",\n },\n body: JSON.stringify({\n revoked: true,\n }),\n },\n null,\n );\n }\n\n async getInternalApiKey(id: string, session: InternalSession): Promise<InternalApiKeysCrud[\"Admin\"][\"Read\"]> {\n const response = await this.sendAdminRequest(`/internal/api-keys/${id}`, {}, session);\n return await response.json();\n }\n\n async listEmailTemplates(): Promise<EmailTemplateCrud['Admin']['Read'][]> {\n const response = await this.sendAdminRequest(`/email-templates`, {}, null);\n const result = await response.json() as EmailTemplateCrud['Admin']['List'];\n return result.items;\n }\n\n async listInternalEmailTemplatesNew(): Promise<{ id: string, subject: string, display_name: string, tsx_source: string }[]> {\n const response = await this.sendAdminRequest(`/internal/email-templates`, {}, null);\n const result = await response.json() as { templates: { id: string, subject: string, display_name: string, tsx_source: string }[] };\n return result.templates;\n }\n\n async listEmailThemes(): Promise<{ id: string, display_name: string }[]> {\n const response = await this.sendAdminRequest(`/internal/email-themes`, {}, null);\n const result = await response.json() as { themes: { id: string, display_name: string }[] };\n return result.themes;\n }\n\n async updateEmailTemplate(type: EmailTemplateType, data: EmailTemplateCrud['Admin']['Update']): Promise<EmailTemplateCrud['Admin']['Read']> {\n const result = await this.sendAdminRequest(\n `/email-templates/${type}`,\n {\n method: \"PATCH\",\n headers: {\n \"content-type\": \"application/json\",\n },\n body: JSON.stringify(data),\n },\n null,\n );\n return await result.json();\n }\n\n async resetEmailTemplate(type: EmailTemplateType): Promise<void> {\n await this.sendAdminRequest(\n `/email-templates/${type}`,\n { method: \"DELETE\" },\n null\n );\n }\n\n // Team permission definitions methods\n async listTeamPermissionDefinitions(): Promise<TeamPermissionDefinitionsCrud['Admin']['Read'][]> {\n const response = await this.sendAdminRequest(`/team-permission-definitions`, {}, null);\n const result = await response.json() as TeamPermissionDefinitionsCrud['Admin']['List'];\n return result.items;\n }\n\n async createTeamPermissionDefinition(data: TeamPermissionDefinitionsCrud['Admin']['Create']): Promise<TeamPermissionDefinitionsCrud['Admin']['Read']> {\n const response = await this.sendAdminRequest(\n \"/team-permission-definitions\",\n {\n method: \"POST\",\n headers: {\n \"content-type\": \"application/json\",\n },\n body: JSON.stringify(data),\n },\n null,\n );\n return await response.json();\n }\n\n async updateTeamPermissionDefinition(permissionId: string, data: TeamPermissionDefinitionsCrud['Admin']['Update']): Promise<TeamPermissionDefinitionsCrud['Admin']['Read']> {\n const response = await this.sendAdminRequest(\n `/team-permission-definitions/${permissionId}`,\n {\n method: \"PATCH\",\n headers: {\n \"content-type\": \"application/json\",\n },\n body: JSON.stringify(data),\n },\n null,\n );\n return await response.json();\n }\n\n async deleteTeamPermissionDefinition(permissionId: string): Promise<void> {\n await this.sendAdminRequest(\n `/team-permission-definitions/${permissionId}`,\n { method: \"DELETE\" },\n null,\n );\n }\n\n async listProjectPermissionDefinitions(): Promise<ProjectPermissionDefinitionsCrud['Admin']['Read'][]> {\n const response = await this.sendAdminRequest(`/project-permission-definitions`, {}, null);\n const result = await response.json() as ProjectPermissionDefinitionsCrud['Admin']['List'];\n return result.items;\n }\n\n async createProjectPermissionDefinition(data: ProjectPermissionDefinitionsCrud['Admin']['Create']): Promise<ProjectPermissionDefinitionsCrud['Admin']['Read']> {\n const response = await this.sendAdminRequest(\n \"/project-permission-definitions\",\n {\n method: \"POST\",\n headers: {\n \"content-type\": \"application/json\",\n },\n body: JSON.stringify(data),\n },\n null,\n );\n return await response.json();\n }\n\n async updateProjectPermissionDefinition(permissionId: string, data: ProjectPermissionDefinitionsCrud['Admin']['Update']): Promise<ProjectPermissionDefinitionsCrud['Admin']['Read']> {\n const response = await this.sendAdminRequest(\n `/project-permission-definitions/${permissionId}`,\n {\n method: \"PATCH\",\n headers: {\n \"content-type\": \"application/json\",\n },\n body: JSON.stringify(data),\n },\n null,\n );\n return await response.json();\n }\n\n async deleteProjectPermissionDefinition(permissionId: string): Promise<void> {\n await this.sendAdminRequest(\n `/project-permission-definitions/${permissionId}`,\n { method: \"DELETE\" },\n null,\n );\n }\n\n async getSvixToken(): Promise<SvixTokenCrud[\"Admin\"][\"Read\"]> {\n const response = await this.sendAdminRequest(\n \"/webhooks/svix-token\",\n {\n method: \"POST\",\n headers: {\n \"content-type\": \"application/json\",\n },\n body: JSON.stringify({}),\n },\n null,\n );\n return await response.json();\n }\n\n async deleteProject(): Promise<void> {\n await this.sendAdminRequest(\n \"/internal/projects/current\",\n {\n method: \"DELETE\",\n },\n null,\n );\n }\n\n async getMetrics(): Promise<any> {\n const response = await this.sendAdminRequest(\n \"/internal/metrics\",\n {\n method: \"GET\",\n },\n null,\n );\n return await response.json();\n }\n\n async sendTestEmail(data: {\n recipient_email: string,\n email_config: {\n host: string,\n port: number,\n username: string,\n password: string,\n sender_email: string,\n sender_name: string,\n },\n }): Promise<{ success: boolean, error_message?: string }> {\n const response = await this.sendAdminRequest(`/internal/send-test-email`, {\n method: \"POST\",\n headers: {\n \"content-type\": \"application/json\",\n },\n body: JSON.stringify(data),\n }, null);\n return await response.json();\n }\n\n async listSentEmails(): Promise<InternalEmailsCrud[\"Admin\"][\"List\"]> {\n const response = await this.sendAdminRequest(\"/internal/emails\", {\n method: \"GET\",\n }, null);\n return await response.json();\n }\n\n async sendEmail(options: {\n user_ids: string[],\n subject: string,\n html: string,\n notification_category_name: string,\n }): Promise<void> {\n await this.sendAdminRequest(\"/emails/send-email\", {\n method: \"POST\",\n headers: {\n \"content-type\": \"application/json\",\n },\n body: JSON.stringify(options),\n }, null);\n }\n\n async sendSignInInvitationEmail(\n email: string,\n callbackUrl: string,\n ): Promise<void> {\n await this.sendAdminRequest(\n \"/internal/send-sign-in-invitation\",\n {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n email,\n callback_url: callbackUrl,\n }),\n },\n null,\n );\n }\n\n\n async sendChatMessage(\n threadId: string,\n contextType: \"email-theme\" | \"email-template\",\n messages: Array<{ role: string, content: any }>,\n abortSignal?: AbortSignal,\n ): Promise<{ content: ChatContent }> {\n const response = await this.sendAdminRequest(\n `/internal/ai-chat/${threadId}`,\n {\n method: \"POST\",\n headers: {\n \"content-type\": \"application/json\",\n },\n body: JSON.stringify({ context_type: contextType, messages }),\n signal: abortSignal,\n },\n null,\n );\n return await response.json();\n }\n\n async saveChatMessage(threadId: string, message: any): Promise<void> {\n await this.sendAdminRequest(\n `/internal/ai-chat/${threadId}`,\n {\n method: \"PATCH\",\n headers: {\n \"content-type\": \"application/json\",\n },\n body: JSON.stringify({ message }),\n },\n null,\n );\n }\n\n async listChatMessages(threadId: string): Promise<{ messages: Array<any> }> {\n const response = await this.sendAdminRequest(\n `/internal/ai-chat/${threadId}`,\n { method: \"GET\" },\n null,\n );\n return await response.json();\n }\n\n async renderEmailPreview(options: { themeId?: string, themeTsxSource?: string, templateId?: string, templateTsxSource?: string }): Promise<{ html: string }> {\n const response = await this.sendAdminRequest(`/emails/render-email`, {\n method: \"POST\",\n headers: {\n \"content-type\": \"application/json\",\n },\n body: JSON.stringify({\n theme_id: options.themeId,\n theme_tsx_source: options.themeTsxSource,\n template_id: options.templateId,\n template_tsx_source: options.templateTsxSource,\n }),\n }, null);\n return await response.json();\n }\n\n async createEmailTheme(displayName: string): Promise<{ id: string }> {\n const response = await this.sendAdminRequest(\n `/internal/email-themes`,\n {\n method: \"POST\",\n headers: {\n \"content-type\": \"application/json\",\n },\n body: JSON.stringify({\n display_name: displayName,\n }),\n },\n null,\n );\n return await response.json();\n }\n\n async getEmailTheme(id: string): Promise<{ display_name: string, tsx_source: string }> {\n const response = await this.sendAdminRequest(\n `/internal/email-themes/${id}`,\n { method: \"GET\" },\n null,\n );\n return await response.json();\n }\n\n async updateEmailTheme(id: string, tsxSource: string): Promise<void> {\n await this.sendAdminRequest(\n `/internal/email-themes/${id}`,\n {\n method: \"PATCH\",\n headers: {\n \"content-type\": \"application/json\",\n },\n body: JSON.stringify({\n tsx_source: tsxSource,\n }),\n },\n null,\n );\n }\n\n async updateNewEmailTemplate(id: string, tsxSource: string): Promise<{ rendered_html: string }> {\n const response = await this.sendAdminRequest(\n `/internal/email-templates/${id}`,\n {\n method: \"PATCH\",\n headers: {\n \"content-type\": \"application/json\",\n },\n body: JSON.stringify({ tsx_source: tsxSource }),\n },\n null,\n );\n return await response.json();\n }\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/interface/admin-interface.ts"],"sourcesContent":["import { InternalSession } from \"../sessions\";\nimport { ConfigCrud, ConfigOverrideCrud } from \"./crud/config\";\nimport { InternalEmailsCrud } from \"./crud/emails\";\nimport { InternalApiKeysCrud } from \"./crud/internal-api-keys\";\nimport { ProjectPermissionDefinitionsCrud } from \"./crud/project-permissions\";\nimport { ProjectsCrud } from \"./crud/projects\";\nimport { SvixTokenCrud } from \"./crud/svix-token\";\nimport { TeamPermissionDefinitionsCrud } from \"./crud/team-permissions\";\nimport { ServerAuthApplicationOptions, StackServerInterface } from \"./server-interface\";\n\nexport type ChatContent = Array<\n | { type: \"text\", text: string }\n | { type: \"tool-call\", toolName: string, toolCallId: string, args: any, argsText: string, result: any }\n>;\n\nexport type AdminAuthApplicationOptions = ServerAuthApplicationOptions &(\n | {\n superSecretAdminKey: string,\n }\n | {\n projectOwnerSession: InternalSession,\n }\n);\n\nexport type InternalApiKeyCreateCrudRequest = {\n has_publishable_client_key: boolean,\n has_secret_server_key: boolean,\n has_super_secret_admin_key: boolean,\n expires_at_millis: number,\n description: string,\n};\n\nexport type InternalApiKeyCreateCrudResponse = InternalApiKeysCrud[\"Admin\"][\"Read\"] & {\n publishable_client_key?: string,\n secret_server_key?: string,\n super_secret_admin_key?: string,\n};\n\nexport class StackAdminInterface extends StackServerInterface {\n constructor(public readonly options: AdminAuthApplicationOptions) {\n super(options);\n }\n\n public async sendAdminRequest(path: string, options: RequestInit, session: InternalSession | null, requestType: \"admin\" = \"admin\") {\n return await this.sendServerRequest(\n path,\n {\n ...options,\n headers: {\n \"x-stack-super-secret-admin-key\": \"superSecretAdminKey\" in this.options ? this.options.superSecretAdminKey : \"\",\n ...options.headers,\n },\n },\n session,\n requestType,\n );\n }\n\n async getProject(): Promise<ProjectsCrud[\"Admin\"][\"Read\"]> {\n const response = await this.sendAdminRequest(\n \"/internal/projects/current\",\n {\n method: \"GET\",\n },\n null,\n );\n return await response.json();\n }\n\n async updateProject(update: ProjectsCrud[\"Admin\"][\"Update\"]): Promise<ProjectsCrud[\"Admin\"][\"Read\"]> {\n const response = await this.sendAdminRequest(\n \"/internal/projects/current\",\n {\n method: \"PATCH\",\n headers: {\n \"content-type\": \"application/json\",\n },\n body: JSON.stringify(update),\n },\n null,\n );\n return await response.json();\n }\n\n async createInternalApiKey(\n options: InternalApiKeyCreateCrudRequest,\n ): Promise<InternalApiKeyCreateCrudResponse> {\n const response = await this.sendAdminRequest(\n \"/internal/api-keys\",\n {\n method: \"POST\",\n headers: {\n \"content-type\": \"application/json\",\n },\n body: JSON.stringify(options),\n },\n null,\n );\n return await response.json();\n }\n\n async listInternalApiKeys(): Promise<InternalApiKeysCrud[\"Admin\"][\"Read\"][]> {\n const response = await this.sendAdminRequest(\"/internal/api-keys\", {}, null);\n const result = await response.json() as InternalApiKeysCrud[\"Admin\"][\"List\"];\n return result.items;\n }\n\n async revokeInternalApiKeyById(id: string) {\n await this.sendAdminRequest(\n `/internal/api-keys/${id}`, {\n method: \"PATCH\",\n headers: {\n \"content-type\": \"application/json\",\n },\n body: JSON.stringify({\n revoked: true,\n }),\n },\n null,\n );\n }\n\n async getInternalApiKey(id: string, session: InternalSession): Promise<InternalApiKeysCrud[\"Admin\"][\"Read\"]> {\n const response = await this.sendAdminRequest(`/internal/api-keys/${id}`, {}, session);\n return await response.json();\n }\n\n async listInternalEmailTemplates(): Promise<{ id: string, display_name: string, theme_id?: string, tsx_source: string }[]> {\n const response = await this.sendAdminRequest(`/internal/email-templates`, {}, null);\n const result = await response.json() as { templates: { id: string, display_name: string, theme_id?: string, tsx_source: string }[] };\n return result.templates;\n }\n\n async listEmailThemes(): Promise<{ id: string, display_name: string }[]> {\n const response = await this.sendAdminRequest(`/internal/email-themes`, {}, null);\n const result = await response.json() as { themes: { id: string, display_name: string }[] };\n return result.themes;\n }\n\n\n // Team permission definitions methods\n async listTeamPermissionDefinitions(): Promise<TeamPermissionDefinitionsCrud['Admin']['Read'][]> {\n const response = await this.sendAdminRequest(`/team-permission-definitions`, {}, null);\n const result = await response.json() as TeamPermissionDefinitionsCrud['Admin']['List'];\n return result.items;\n }\n\n async createTeamPermissionDefinition(data: TeamPermissionDefinitionsCrud['Admin']['Create']): Promise<TeamPermissionDefinitionsCrud['Admin']['Read']> {\n const response = await this.sendAdminRequest(\n \"/team-permission-definitions\",\n {\n method: \"POST\",\n headers: {\n \"content-type\": \"application/json\",\n },\n body: JSON.stringify(data),\n },\n null,\n );\n return await response.json();\n }\n\n async updateTeamPermissionDefinition(permissionId: string, data: TeamPermissionDefinitionsCrud['Admin']['Update']): Promise<TeamPermissionDefinitionsCrud['Admin']['Read']> {\n const response = await this.sendAdminRequest(\n `/team-permission-definitions/${permissionId}`,\n {\n method: \"PATCH\",\n headers: {\n \"content-type\": \"application/json\",\n },\n body: JSON.stringify(data),\n },\n null,\n );\n return await response.json();\n }\n\n async deleteTeamPermissionDefinition(permissionId: string): Promise<void> {\n await this.sendAdminRequest(\n `/team-permission-definitions/${permissionId}`,\n { method: \"DELETE\" },\n null,\n );\n }\n\n async listProjectPermissionDefinitions(): Promise<ProjectPermissionDefinitionsCrud['Admin']['Read'][]> {\n const response = await this.sendAdminRequest(`/project-permission-definitions`, {}, null);\n const result = await response.json() as ProjectPermissionDefinitionsCrud['Admin']['List'];\n return result.items;\n }\n\n async createProjectPermissionDefinition(data: ProjectPermissionDefinitionsCrud['Admin']['Create']): Promise<ProjectPermissionDefinitionsCrud['Admin']['Read']> {\n const response = await this.sendAdminRequest(\n \"/project-permission-definitions\",\n {\n method: \"POST\",\n headers: {\n \"content-type\": \"application/json\",\n },\n body: JSON.stringify(data),\n },\n null,\n );\n return await response.json();\n }\n\n async updateProjectPermissionDefinition(permissionId: string, data: ProjectPermissionDefinitionsCrud['Admin']['Update']): Promise<ProjectPermissionDefinitionsCrud['Admin']['Read']> {\n const response = await this.sendAdminRequest(\n `/project-permission-definitions/${permissionId}`,\n {\n method: \"PATCH\",\n headers: {\n \"content-type\": \"application/json\",\n },\n body: JSON.stringify(data),\n },\n null,\n );\n return await response.json();\n }\n\n async deleteProjectPermissionDefinition(permissionId: string): Promise<void> {\n await this.sendAdminRequest(\n `/project-permission-definitions/${permissionId}`,\n { method: \"DELETE\" },\n null,\n );\n }\n\n async getSvixToken(): Promise<SvixTokenCrud[\"Admin\"][\"Read\"]> {\n const response = await this.sendAdminRequest(\n \"/webhooks/svix-token\",\n {\n method: \"POST\",\n headers: {\n \"content-type\": \"application/json\",\n },\n body: JSON.stringify({}),\n },\n null,\n );\n return await response.json();\n }\n\n async deleteProject(): Promise<void> {\n await this.sendAdminRequest(\n \"/internal/projects/current\",\n {\n method: \"DELETE\",\n },\n null,\n );\n }\n\n async getMetrics(): Promise<any> {\n const response = await this.sendAdminRequest(\n \"/internal/metrics\",\n {\n method: \"GET\",\n },\n null,\n );\n return await response.json();\n }\n\n async sendTestEmail(data: {\n recipient_email: string,\n email_config: {\n host: string,\n port: number,\n username: string,\n password: string,\n sender_email: string,\n sender_name: string,\n },\n }): Promise<{ success: boolean, error_message?: string }> {\n const response = await this.sendAdminRequest(`/internal/send-test-email`, {\n method: \"POST\",\n headers: {\n \"content-type\": \"application/json\",\n },\n body: JSON.stringify(data),\n }, null);\n return await response.json();\n }\n\n async listSentEmails(): Promise<InternalEmailsCrud[\"Admin\"][\"List\"]> {\n const response = await this.sendAdminRequest(\"/internal/emails\", {\n method: \"GET\",\n }, null);\n return await response.json();\n }\n\n async sendSignInInvitationEmail(\n email: string,\n callbackUrl: string,\n ): Promise<void> {\n await this.sendAdminRequest(\n \"/internal/send-sign-in-invitation\",\n {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n email,\n callback_url: callbackUrl,\n }),\n },\n null,\n );\n }\n\n\n async sendChatMessage(\n threadId: string,\n contextType: \"email-theme\" | \"email-template\",\n messages: Array<{ role: string, content: any }>,\n abortSignal?: AbortSignal,\n ): Promise<{ content: ChatContent }> {\n const response = await this.sendAdminRequest(\n `/internal/ai-chat/${threadId}`,\n {\n method: \"POST\",\n headers: {\n \"content-type\": \"application/json\",\n },\n body: JSON.stringify({ context_type: contextType, messages }),\n signal: abortSignal,\n },\n null,\n );\n return await response.json();\n }\n\n async saveChatMessage(threadId: string, message: any): Promise<void> {\n await this.sendAdminRequest(\n `/internal/ai-chat/${threadId}`,\n {\n method: \"PATCH\",\n headers: {\n \"content-type\": \"application/json\",\n },\n body: JSON.stringify({ message }),\n },\n null,\n );\n }\n\n async listChatMessages(threadId: string): Promise<{ messages: Array<any> }> {\n const response = await this.sendAdminRequest(\n `/internal/ai-chat/${threadId}`,\n { method: \"GET\" },\n null,\n );\n return await response.json();\n }\n\n async renderEmailPreview(options: { themeId?: string | null | false, themeTsxSource?: string, templateId?: string, templateTsxSource?: string }): Promise<{ html: string }> {\n const response = await this.sendAdminRequest(`/emails/render-email`, {\n method: \"POST\",\n headers: {\n \"content-type\": \"application/json\",\n },\n body: JSON.stringify({\n theme_id: options.themeId,\n theme_tsx_source: options.themeTsxSource,\n template_id: options.templateId,\n template_tsx_source: options.templateTsxSource,\n }),\n }, null);\n return await response.json();\n }\n\n async createEmailTheme(displayName: string): Promise<{ id: string }> {\n const response = await this.sendAdminRequest(\n `/internal/email-themes`,\n {\n method: \"POST\",\n headers: {\n \"content-type\": \"application/json\",\n },\n body: JSON.stringify({\n display_name: displayName,\n }),\n },\n null,\n );\n return await response.json();\n }\n\n async getEmailTheme(id: string): Promise<{ display_name: string, tsx_source: string }> {\n const response = await this.sendAdminRequest(\n `/internal/email-themes/${id}`,\n { method: \"GET\" },\n null,\n );\n return await response.json();\n }\n\n async updateEmailTheme(id: string, tsxSource: string): Promise<void> {\n await this.sendAdminRequest(\n `/internal/email-themes/${id}`,\n {\n method: \"PATCH\",\n headers: {\n \"content-type\": \"application/json\",\n },\n body: JSON.stringify({\n tsx_source: tsxSource,\n }),\n },\n null,\n );\n }\n\n async updateEmailTemplate(id: string, tsxSource: string, themeId: string | null | false): Promise<{ rendered_html: string }> {\n const response = await this.sendAdminRequest(\n `/internal/email-templates/${id}`,\n {\n method: \"PATCH\",\n headers: {\n \"content-type\": \"application/json\",\n },\n body: JSON.stringify({ tsx_source: tsxSource, theme_id: themeId }),\n },\n null,\n );\n return await response.json();\n }\n\n async getConfig(): Promise<ConfigCrud[\"Admin\"][\"Read\"]> {\n const response = await this.sendAdminRequest(\n `/internal/config`,\n { method: \"GET\" },\n null,\n );\n return await response.json();\n }\n\n async updateConfig(data: { configOverride: any }): Promise<ConfigOverrideCrud[\"Admin\"][\"Read\"]> {\n const response = await this.sendAdminRequest(\n `/internal/config/override`,\n {\n method: \"PATCH\",\n headers: {\n \"content-type\": \"application/json\",\n },\n body: JSON.stringify({ config_override_string: JSON.stringify(data.configOverride) }),\n },\n null,\n );\n return await response.json();\n }\n async createEmailTemplate(displayName: string): Promise<{ id: string }> {\n const response = await this.sendAdminRequest(\n `/internal/email-templates`,\n {\n method: \"POST\",\n headers: {\n \"content-type\": \"application/json\",\n },\n body: JSON.stringify({\n display_name: displayName,\n }),\n },\n null,\n );\n return await response.json();\n }\n}\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { CrudSchemaFromOptions, CrudTypeOf } from '../../crud.mjs';
|
|
2
|
+
import * as yup from 'yup';
|
|
3
|
+
import '../../utils/types.mjs';
|
|
4
|
+
import '../../utils/strings.mjs';
|
|
5
|
+
|
|
6
|
+
declare const configOverrideCrudAdminReadSchema: yup.ObjectSchema<{}, yup.AnyObject, {}, "">;
|
|
7
|
+
declare const configOverrideCrudAdminUpdateSchema: yup.ObjectSchema<{
|
|
8
|
+
config_override_string: string | undefined;
|
|
9
|
+
}, yup.AnyObject, {
|
|
10
|
+
config_override_string: undefined;
|
|
11
|
+
}, "">;
|
|
12
|
+
declare const configOverrideCrud: CrudSchemaFromOptions<{
|
|
13
|
+
adminReadSchema: yup.ObjectSchema<{}, yup.AnyObject, {}, "">;
|
|
14
|
+
adminUpdateSchema: yup.ObjectSchema<{
|
|
15
|
+
config_override_string: string | undefined;
|
|
16
|
+
}, yup.AnyObject, {
|
|
17
|
+
config_override_string: undefined;
|
|
18
|
+
}, "">;
|
|
19
|
+
docs: {
|
|
20
|
+
adminUpdate: {
|
|
21
|
+
summary: string;
|
|
22
|
+
description: string;
|
|
23
|
+
tags: string[];
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
}>;
|
|
27
|
+
type ConfigOverrideCrud = CrudTypeOf<typeof configOverrideCrud>;
|
|
28
|
+
declare const configCrudAdminReadSchema: yup.ObjectSchema<{
|
|
29
|
+
config_string: string;
|
|
30
|
+
}, yup.AnyObject, {
|
|
31
|
+
config_string: undefined;
|
|
32
|
+
}, "">;
|
|
33
|
+
declare const configCrud: CrudSchemaFromOptions<{
|
|
34
|
+
adminReadSchema: yup.ObjectSchema<{
|
|
35
|
+
config_string: string;
|
|
36
|
+
}, yup.AnyObject, {
|
|
37
|
+
config_string: undefined;
|
|
38
|
+
}, "">;
|
|
39
|
+
docs: {
|
|
40
|
+
adminRead: {
|
|
41
|
+
summary: string;
|
|
42
|
+
description: string;
|
|
43
|
+
tags: string[];
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
}>;
|
|
47
|
+
type ConfigCrud = CrudTypeOf<typeof configCrud>;
|
|
48
|
+
|
|
49
|
+
export { type ConfigCrud, type ConfigOverrideCrud, configCrud, configCrudAdminReadSchema, configOverrideCrud, configOverrideCrudAdminReadSchema, configOverrideCrudAdminUpdateSchema };
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { CrudSchemaFromOptions, CrudTypeOf } from '../../crud.js';
|
|
2
|
+
import * as yup from 'yup';
|
|
3
|
+
import '../../utils/types.js';
|
|
4
|
+
import '../../utils/strings.js';
|
|
5
|
+
|
|
6
|
+
declare const configOverrideCrudAdminReadSchema: yup.ObjectSchema<{}, yup.AnyObject, {}, "">;
|
|
7
|
+
declare const configOverrideCrudAdminUpdateSchema: yup.ObjectSchema<{
|
|
8
|
+
config_override_string: string | undefined;
|
|
9
|
+
}, yup.AnyObject, {
|
|
10
|
+
config_override_string: undefined;
|
|
11
|
+
}, "">;
|
|
12
|
+
declare const configOverrideCrud: CrudSchemaFromOptions<{
|
|
13
|
+
adminReadSchema: yup.ObjectSchema<{}, yup.AnyObject, {}, "">;
|
|
14
|
+
adminUpdateSchema: yup.ObjectSchema<{
|
|
15
|
+
config_override_string: string | undefined;
|
|
16
|
+
}, yup.AnyObject, {
|
|
17
|
+
config_override_string: undefined;
|
|
18
|
+
}, "">;
|
|
19
|
+
docs: {
|
|
20
|
+
adminUpdate: {
|
|
21
|
+
summary: string;
|
|
22
|
+
description: string;
|
|
23
|
+
tags: string[];
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
}>;
|
|
27
|
+
type ConfigOverrideCrud = CrudTypeOf<typeof configOverrideCrud>;
|
|
28
|
+
declare const configCrudAdminReadSchema: yup.ObjectSchema<{
|
|
29
|
+
config_string: string;
|
|
30
|
+
}, yup.AnyObject, {
|
|
31
|
+
config_string: undefined;
|
|
32
|
+
}, "">;
|
|
33
|
+
declare const configCrud: CrudSchemaFromOptions<{
|
|
34
|
+
adminReadSchema: yup.ObjectSchema<{
|
|
35
|
+
config_string: string;
|
|
36
|
+
}, yup.AnyObject, {
|
|
37
|
+
config_string: undefined;
|
|
38
|
+
}, "">;
|
|
39
|
+
docs: {
|
|
40
|
+
adminRead: {
|
|
41
|
+
summary: string;
|
|
42
|
+
description: string;
|
|
43
|
+
tags: string[];
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
}>;
|
|
47
|
+
type ConfigCrud = CrudTypeOf<typeof configCrud>;
|
|
48
|
+
|
|
49
|
+
export { type ConfigCrud, type ConfigOverrideCrud, configCrud, configCrudAdminReadSchema, configOverrideCrud, configOverrideCrudAdminReadSchema, configOverrideCrudAdminUpdateSchema };
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
|
|
30
|
+
// src/interface/crud/config.ts
|
|
31
|
+
var config_exports = {};
|
|
32
|
+
__export(config_exports, {
|
|
33
|
+
configCrud: () => configCrud,
|
|
34
|
+
configCrudAdminReadSchema: () => configCrudAdminReadSchema,
|
|
35
|
+
configOverrideCrud: () => configOverrideCrud,
|
|
36
|
+
configOverrideCrudAdminReadSchema: () => configOverrideCrudAdminReadSchema,
|
|
37
|
+
configOverrideCrudAdminUpdateSchema: () => configOverrideCrudAdminUpdateSchema
|
|
38
|
+
});
|
|
39
|
+
module.exports = __toCommonJS(config_exports);
|
|
40
|
+
var import_crud = require("../../crud.js");
|
|
41
|
+
var schemaFields = __toESM(require("../../schema-fields.js"));
|
|
42
|
+
var import_schema_fields = require("../../schema-fields.js");
|
|
43
|
+
var configOverrideCrudAdminReadSchema = (0, import_schema_fields.yupObject)({}).defined();
|
|
44
|
+
var configOverrideCrudAdminUpdateSchema = (0, import_schema_fields.yupObject)({
|
|
45
|
+
config_override_string: schemaFields.yupString().optional()
|
|
46
|
+
}).defined();
|
|
47
|
+
var configOverrideCrud = (0, import_crud.createCrud)({
|
|
48
|
+
adminReadSchema: configOverrideCrudAdminReadSchema,
|
|
49
|
+
adminUpdateSchema: configOverrideCrudAdminUpdateSchema,
|
|
50
|
+
docs: {
|
|
51
|
+
adminUpdate: {
|
|
52
|
+
summary: "Update the config",
|
|
53
|
+
description: "Update the config for a project and branch with an override",
|
|
54
|
+
tags: ["Config"]
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
var configCrudAdminReadSchema = (0, import_schema_fields.yupObject)({
|
|
59
|
+
config_string: schemaFields.yupString().defined()
|
|
60
|
+
}).defined();
|
|
61
|
+
var configCrud = (0, import_crud.createCrud)({
|
|
62
|
+
adminReadSchema: configCrudAdminReadSchema,
|
|
63
|
+
docs: {
|
|
64
|
+
adminRead: {
|
|
65
|
+
summary: "Get the config",
|
|
66
|
+
description: "Get the config for a project and branch",
|
|
67
|
+
tags: ["Config"]
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
72
|
+
0 && (module.exports = {
|
|
73
|
+
configCrud,
|
|
74
|
+
configCrudAdminReadSchema,
|
|
75
|
+
configOverrideCrud,
|
|
76
|
+
configOverrideCrudAdminReadSchema,
|
|
77
|
+
configOverrideCrudAdminUpdateSchema
|
|
78
|
+
});
|
|
79
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/interface/crud/config.ts"],"sourcesContent":["import { CrudTypeOf, createCrud } from \"../../crud\";\nimport * as schemaFields from \"../../schema-fields\";\nimport { yupObject } from \"../../schema-fields\";\n\nexport const configOverrideCrudAdminReadSchema = yupObject({}).defined();\n\nexport const configOverrideCrudAdminUpdateSchema = yupObject({\n config_override_string: schemaFields.yupString().optional(),\n}).defined();\n\nexport const configOverrideCrud = createCrud({\n adminReadSchema: configOverrideCrudAdminReadSchema,\n adminUpdateSchema: configOverrideCrudAdminUpdateSchema,\n docs: {\n adminUpdate: {\n summary: 'Update the config',\n description: 'Update the config for a project and branch with an override',\n tags: ['Config'],\n },\n },\n});\nexport type ConfigOverrideCrud = CrudTypeOf<typeof configOverrideCrud>;\n\nexport const configCrudAdminReadSchema = yupObject({\n config_string: schemaFields.yupString().defined(),\n}).defined();\n\nexport const configCrud = createCrud({\n adminReadSchema: configCrudAdminReadSchema,\n docs: {\n adminRead: {\n summary: 'Get the config',\n description: 'Get the config for a project and branch',\n tags: ['Config'],\n },\n },\n});\nexport type ConfigCrud = CrudTypeOf<typeof configCrud>;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAuC;AACvC,mBAA8B;AAC9B,2BAA0B;AAEnB,IAAM,wCAAoC,gCAAU,CAAC,CAAC,EAAE,QAAQ;AAEhE,IAAM,0CAAsC,gCAAU;AAAA,EAC3D,wBAAqC,uBAAU,EAAE,SAAS;AAC5D,CAAC,EAAE,QAAQ;AAEJ,IAAM,yBAAqB,wBAAW;AAAA,EAC3C,iBAAiB;AAAA,EACjB,mBAAmB;AAAA,EACnB,MAAM;AAAA,IACJ,aAAa;AAAA,MACX,SAAS;AAAA,MACT,aAAa;AAAA,MACb,MAAM,CAAC,QAAQ;AAAA,IACjB;AAAA,EACF;AACF,CAAC;AAGM,IAAM,gCAA4B,gCAAU;AAAA,EACjD,eAA4B,uBAAU,EAAE,QAAQ;AAClD,CAAC,EAAE,QAAQ;AAEJ,IAAM,iBAAa,wBAAW;AAAA,EACnC,iBAAiB;AAAA,EACjB,MAAM;AAAA,IACJ,WAAW;AAAA,MACT,SAAS;AAAA,MACT,aAAa;AAAA,MACb,MAAM,CAAC,QAAQ;AAAA,IACjB;AAAA,EACF;AACF,CAAC;","names":[]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { CrudSchemaFromOptions, CrudTypeOf } from '../../crud.mjs';
|
|
2
2
|
import * as yup from 'yup';
|
|
3
3
|
import '../../utils/types.mjs';
|
|
4
|
+
import '../../utils/strings.mjs';
|
|
4
5
|
|
|
5
6
|
type EmailTemplateType = typeof emailTemplateTypes[number];
|
|
6
7
|
declare const emailTemplateTypes: readonly ["email_verification", "password_reset", "magic_link", "team_invitation", "sign_in_invitation"];
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { CrudSchemaFromOptions, CrudTypeOf } from '../../crud.js';
|
|
2
2
|
import * as yup from 'yup';
|
|
3
3
|
import '../../utils/types.js';
|
|
4
|
+
import '../../utils/strings.js';
|
|
4
5
|
|
|
5
6
|
type EmailTemplateType = typeof emailTemplateTypes[number];
|
|
6
7
|
declare const emailTemplateTypes: readonly ["email_verification", "password_reset", "magic_link", "team_invitation", "sign_in_invitation"];
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { CrudSchemaFromOptions, CrudTypeOf } from '../../crud.mjs';
|
|
2
2
|
import * as yup from 'yup';
|
|
3
3
|
import '../../utils/types.mjs';
|
|
4
|
+
import '../../utils/strings.mjs';
|
|
4
5
|
|
|
5
6
|
declare const notificationPreferenceCrud: CrudSchemaFromOptions<{
|
|
6
7
|
clientReadSchema: yup.ObjectSchema<{
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { CrudSchemaFromOptions, CrudTypeOf } from '../../crud.js';
|
|
2
2
|
import * as yup from 'yup';
|
|
3
3
|
import '../../utils/types.js';
|
|
4
|
+
import '../../utils/strings.js';
|
|
4
5
|
|
|
5
6
|
declare const notificationPreferenceCrud: CrudSchemaFromOptions<{
|
|
6
7
|
clientReadSchema: yup.ObjectSchema<{
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { CrudSchemaFromOptions, CrudTypeOf } from '../../crud.mjs';
|
|
2
2
|
import * as yup from 'yup';
|
|
3
3
|
import '../../utils/types.mjs';
|
|
4
|
+
import '../../utils/strings.mjs';
|
|
4
5
|
|
|
5
6
|
declare const oauthProviderClientReadSchema: yup.ObjectSchema<{
|
|
6
7
|
user_id: string;
|
|
7
8
|
id: string;
|
|
8
9
|
email: string | undefined;
|
|
9
|
-
type: "
|
|
10
|
+
type: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "twitch";
|
|
10
11
|
allow_sign_in: boolean;
|
|
11
12
|
allow_connected_accounts: boolean;
|
|
12
13
|
}, yup.AnyObject, {
|
|
@@ -21,7 +22,7 @@ declare const oauthProviderServerReadSchema: yup.ObjectSchema<{
|
|
|
21
22
|
user_id: string;
|
|
22
23
|
id: string;
|
|
23
24
|
email: string | undefined;
|
|
24
|
-
type: "
|
|
25
|
+
type: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "twitch";
|
|
25
26
|
allow_sign_in: boolean;
|
|
26
27
|
allow_connected_accounts: boolean;
|
|
27
28
|
} & {
|
|
@@ -75,7 +76,7 @@ declare const oauthProviderCrud: CrudSchemaFromOptions<{
|
|
|
75
76
|
user_id: string;
|
|
76
77
|
id: string;
|
|
77
78
|
email: string | undefined;
|
|
78
|
-
type: "
|
|
79
|
+
type: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "twitch";
|
|
79
80
|
allow_sign_in: boolean;
|
|
80
81
|
allow_connected_accounts: boolean;
|
|
81
82
|
}, yup.AnyObject, {
|
|
@@ -98,7 +99,7 @@ declare const oauthProviderCrud: CrudSchemaFromOptions<{
|
|
|
98
99
|
user_id: string;
|
|
99
100
|
id: string;
|
|
100
101
|
email: string | undefined;
|
|
101
|
-
type: "
|
|
102
|
+
type: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "twitch";
|
|
102
103
|
allow_sign_in: boolean;
|
|
103
104
|
allow_connected_accounts: boolean;
|
|
104
105
|
} & {
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { CrudSchemaFromOptions, CrudTypeOf } from '../../crud.js';
|
|
2
2
|
import * as yup from 'yup';
|
|
3
3
|
import '../../utils/types.js';
|
|
4
|
+
import '../../utils/strings.js';
|
|
4
5
|
|
|
5
6
|
declare const oauthProviderClientReadSchema: yup.ObjectSchema<{
|
|
6
7
|
user_id: string;
|
|
7
8
|
id: string;
|
|
8
9
|
email: string | undefined;
|
|
9
|
-
type: "
|
|
10
|
+
type: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "twitch";
|
|
10
11
|
allow_sign_in: boolean;
|
|
11
12
|
allow_connected_accounts: boolean;
|
|
12
13
|
}, yup.AnyObject, {
|
|
@@ -21,7 +22,7 @@ declare const oauthProviderServerReadSchema: yup.ObjectSchema<{
|
|
|
21
22
|
user_id: string;
|
|
22
23
|
id: string;
|
|
23
24
|
email: string | undefined;
|
|
24
|
-
type: "
|
|
25
|
+
type: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "twitch";
|
|
25
26
|
allow_sign_in: boolean;
|
|
26
27
|
allow_connected_accounts: boolean;
|
|
27
28
|
} & {
|
|
@@ -75,7 +76,7 @@ declare const oauthProviderCrud: CrudSchemaFromOptions<{
|
|
|
75
76
|
user_id: string;
|
|
76
77
|
id: string;
|
|
77
78
|
email: string | undefined;
|
|
78
|
-
type: "
|
|
79
|
+
type: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "twitch";
|
|
79
80
|
allow_sign_in: boolean;
|
|
80
81
|
allow_connected_accounts: boolean;
|
|
81
82
|
}, yup.AnyObject, {
|
|
@@ -98,7 +99,7 @@ declare const oauthProviderCrud: CrudSchemaFromOptions<{
|
|
|
98
99
|
user_id: string;
|
|
99
100
|
id: string;
|
|
100
101
|
email: string | undefined;
|
|
101
|
-
type: "
|
|
102
|
+
type: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "twitch";
|
|
102
103
|
allow_sign_in: boolean;
|
|
103
104
|
allow_connected_accounts: boolean;
|
|
104
105
|
} & {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { CrudSchemaFromOptions, CrudTypeOf } from '../../crud.mjs';
|
|
2
2
|
import * as yup from 'yup';
|
|
3
3
|
import '../../utils/types.mjs';
|
|
4
|
+
import '../../utils/strings.mjs';
|
|
4
5
|
|
|
5
6
|
declare const userApiKeysCrud: CrudSchemaFromOptions<{
|
|
6
7
|
clientReadSchema: yup.ObjectSchema<{
|
|
@@ -80,9 +81,9 @@ declare const userApiKeysCreateInputSchema: yup.ObjectSchema<{
|
|
|
80
81
|
user_id: undefined;
|
|
81
82
|
}, "">;
|
|
82
83
|
declare const userApiKeysCreateOutputSchema: yup.ObjectSchema<{
|
|
83
|
-
id: string;
|
|
84
84
|
type: "user";
|
|
85
85
|
description: string;
|
|
86
|
+
id: string;
|
|
86
87
|
created_at_millis: number;
|
|
87
88
|
expires_at_millis: number | undefined;
|
|
88
89
|
manually_revoked_at_millis: number | undefined;
|
|
@@ -180,9 +181,9 @@ declare const teamApiKeysCreateInputSchema: yup.ObjectSchema<{
|
|
|
180
181
|
team_id: undefined;
|
|
181
182
|
}, "">;
|
|
182
183
|
declare const teamApiKeysCreateOutputSchema: yup.ObjectSchema<{
|
|
183
|
-
id: string;
|
|
184
184
|
type: "team";
|
|
185
185
|
description: string;
|
|
186
|
+
id: string;
|
|
186
187
|
created_at_millis: number;
|
|
187
188
|
expires_at_millis: number | undefined;
|
|
188
189
|
manually_revoked_at_millis: number | undefined;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { CrudSchemaFromOptions, CrudTypeOf } from '../../crud.js';
|
|
2
2
|
import * as yup from 'yup';
|
|
3
3
|
import '../../utils/types.js';
|
|
4
|
+
import '../../utils/strings.js';
|
|
4
5
|
|
|
5
6
|
declare const userApiKeysCrud: CrudSchemaFromOptions<{
|
|
6
7
|
clientReadSchema: yup.ObjectSchema<{
|
|
@@ -80,9 +81,9 @@ declare const userApiKeysCreateInputSchema: yup.ObjectSchema<{
|
|
|
80
81
|
user_id: undefined;
|
|
81
82
|
}, "">;
|
|
82
83
|
declare const userApiKeysCreateOutputSchema: yup.ObjectSchema<{
|
|
83
|
-
id: string;
|
|
84
84
|
type: "user";
|
|
85
85
|
description: string;
|
|
86
|
+
id: string;
|
|
86
87
|
created_at_millis: number;
|
|
87
88
|
expires_at_millis: number | undefined;
|
|
88
89
|
manually_revoked_at_millis: number | undefined;
|
|
@@ -180,9 +181,9 @@ declare const teamApiKeysCreateInputSchema: yup.ObjectSchema<{
|
|
|
180
181
|
team_id: undefined;
|
|
181
182
|
}, "">;
|
|
182
183
|
declare const teamApiKeysCreateOutputSchema: yup.ObjectSchema<{
|
|
183
|
-
id: string;
|
|
184
184
|
type: "team";
|
|
185
185
|
description: string;
|
|
186
|
+
id: string;
|
|
186
187
|
created_at_millis: number;
|
|
187
188
|
expires_at_millis: number | undefined;
|
|
188
189
|
manually_revoked_at_millis: number | undefined;
|