@stackframe/stack-shared 2.8.52 → 2.8.55
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/apps/apps-ui.d.mts +9 -1
- package/dist/apps/apps-ui.d.ts +9 -1
- package/dist/apps/apps-ui.js +48 -54
- package/dist/apps/apps-ui.js.map +1 -1
- package/dist/config/schema.d.mts +189 -189
- package/dist/config/schema.d.ts +189 -189
- package/dist/config/schema.js +2 -1
- package/dist/config/schema.js.map +1 -1
- package/dist/esm/apps/apps-ui.js +48 -54
- package/dist/esm/apps/apps-ui.js.map +1 -1
- package/dist/esm/config/schema.js +2 -1
- package/dist/esm/config/schema.js.map +1 -1
- package/dist/esm/helpers/emails.js +9 -7
- package/dist/esm/helpers/emails.js.map +1 -1
- package/dist/esm/interface/admin-interface.js +14 -0
- package/dist/esm/interface/admin-interface.js.map +1 -1
- package/dist/esm/interface/crud/projects.js +6 -2
- package/dist/esm/interface/crud/projects.js.map +1 -1
- package/dist/esm/interface/crud/transactions.js +107 -13
- package/dist/esm/interface/crud/transactions.js.map +1 -1
- package/dist/esm/known-errors.js +62 -0
- package/dist/esm/known-errors.js.map +1 -1
- package/dist/esm/schema-fields.js +22 -2
- package/dist/esm/schema-fields.js.map +1 -1
- package/dist/helpers/emails.d.mts +1 -1
- package/dist/helpers/emails.d.ts +1 -1
- package/dist/helpers/emails.js +9 -7
- package/dist/helpers/emails.js.map +1 -1
- package/dist/interface/admin-interface.d.mts +9 -3
- package/dist/interface/admin-interface.d.ts +9 -3
- package/dist/interface/admin-interface.js +14 -0
- package/dist/interface/admin-interface.js.map +1 -1
- package/dist/interface/crud/products.d.mts +2 -2
- package/dist/interface/crud/products.d.ts +2 -2
- package/dist/interface/crud/projects.d.mts +42 -14
- package/dist/interface/crud/projects.d.ts +42 -14
- package/dist/interface/crud/projects.js +6 -2
- package/dist/interface/crud/projects.js.map +1 -1
- package/dist/interface/crud/transactions.d.mts +160 -39
- package/dist/interface/crud/transactions.d.ts +160 -39
- package/dist/interface/crud/transactions.js +99 -13
- package/dist/interface/crud/transactions.js.map +1 -1
- package/dist/known-errors.d.mts +15 -0
- package/dist/known-errors.d.ts +15 -0
- package/dist/known-errors.js +62 -0
- package/dist/known-errors.js.map +1 -1
- package/dist/schema-fields.d.mts +6 -3
- package/dist/schema-fields.d.ts +6 -3
- package/dist/schema-fields.js +26 -3
- package/dist/schema-fields.js.map +1 -1
- package/dist/sessions.d.mts +1 -1
- package/dist/sessions.d.ts +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/interface/crud/projects.ts"],"sourcesContent":["import { CrudTypeOf, createCrud } from \"../../crud\";\nimport * as schemaFields from \"../../schema-fields\";\nimport { yupArray, yupObject, yupString } from \"../../schema-fields\";\n\nconst teamPermissionSchema = yupObject({\n id: yupString().defined(),\n}).defined();\n\nconst oauthProviderReadSchema = yupObject({\n provider_config_id: schemaFields.yupString().defined(),\n id: schemaFields.oauthIdSchema.defined(),\n type: schemaFields.oauthTypeSchema.defined(),\n client_id: schemaFields.yupDefinedAndNonEmptyWhen(\n schemaFields.oauthClientIdSchema,\n { type: 'standard' },\n ),\n client_secret: schemaFields.yupDefinedAndNonEmptyWhen(\n schemaFields.oauthClientSecretSchema,\n { type: 'standard' },\n ),\n\n // extra params\n facebook_config_id: schemaFields.oauthFacebookConfigIdSchema.optional(),\n microsoft_tenant_id: schemaFields.oauthMicrosoftTenantIdSchema.optional(),\n});\n\nconst oauthProviderWriteSchema = oauthProviderReadSchema.omit(['provider_config_id']);\n\nconst enabledOAuthProviderSchema = yupObject({\n id: schemaFields.oauthIdSchema.defined(),\n});\n\nexport const emailConfigSchema = yupObject({\n type: schemaFields.emailTypeSchema.defined(),\n host: schemaFields.yupDefinedAndNonEmptyWhen(schemaFields.emailHostSchema, {\n type: 'standard',\n }),\n port: schemaFields.yupDefinedWhen(schemaFields.emailPortSchema, {\n type: 'standard',\n }),\n username: schemaFields.yupDefinedAndNonEmptyWhen(schemaFields.emailUsernameSchema, {\n type: 'standard',\n }),\n password: schemaFields.yupDefinedAndNonEmptyWhen(schemaFields.emailPasswordSchema, {\n type: 'standard',\n }),\n sender_name: schemaFields.yupDefinedAndNonEmptyWhen(schemaFields.emailSenderNameSchema, {\n type: 'standard',\n }),\n sender_email: schemaFields.yupDefinedAndNonEmptyWhen(schemaFields.emailSenderEmailSchema, {\n type: 'standard',\n }),\n});\n\nexport const emailConfigWithoutPasswordSchema = emailConfigSchema.pick(['type', 'host', 'port', 'username', 'sender_name', 'sender_email']);\n\nconst domainSchema = yupObject({\n domain: schemaFields.urlSchema.defined()\n .matches(/^https?:\\/\\//, 'URL must start with http:// or https://')\n .meta({ openapiField: { description: 'URL. Must start with http:// or https://', exampleValue: 'https://example.com' } }),\n handler_path: schemaFields.handlerPathSchema.defined(),\n});\n\nexport const projectsCrudAdminReadSchema = yupObject({\n id: schemaFields.projectIdSchema.defined(),\n display_name: schemaFields.projectDisplayNameSchema.defined(),\n description: schemaFields.projectDescriptionSchema.nonNullable().defined(),\n logo_url: schemaFields.projectLogoUrlSchema.nullable().optional(),\n full_logo_url: schemaFields.projectFullLogoUrlSchema.nullable().optional(),\n created_at_millis: schemaFields.projectCreatedAtMillisSchema.defined(),\n is_production_mode: schemaFields.projectIsProductionModeSchema.defined(),\n owner_team_id: schemaFields.yupString().nullable().defined(),\n /** @deprecated */\n config: yupObject({\n allow_localhost: schemaFields.projectAllowLocalhostSchema.defined(),\n sign_up_enabled: schemaFields.projectSignUpEnabledSchema.defined(),\n credential_enabled: schemaFields.projectCredentialEnabledSchema.defined(),\n magic_link_enabled: schemaFields.projectMagicLinkEnabledSchema.defined(),\n passkey_enabled: schemaFields.projectPasskeyEnabledSchema.defined(),\n // TODO: remove this\n client_team_creation_enabled: schemaFields.projectClientTeamCreationEnabledSchema.defined(),\n client_user_deletion_enabled: schemaFields.projectClientUserDeletionEnabledSchema.defined(),\n allow_user_api_keys: schemaFields.yupBoolean().defined(),\n allow_team_api_keys: schemaFields.yupBoolean().defined(),\n oauth_providers: yupArray(oauthProviderReadSchema.defined()).defined(),\n enabled_oauth_providers: yupArray(enabledOAuthProviderSchema.defined()).defined().meta({ openapiField: { hidden: true } }),\n domains: yupArray(domainSchema.defined()).defined(),\n email_config: emailConfigSchema.defined(),\n email_theme: schemaFields.emailThemeSchema.defined(),\n create_team_on_sign_up: schemaFields.projectCreateTeamOnSignUpSchema.defined(),\n team_creator_default_permissions: yupArray(teamPermissionSchema.defined()).defined(),\n team_member_default_permissions: yupArray(teamPermissionSchema.defined()).defined(),\n user_default_permissions: yupArray(teamPermissionSchema.defined()).defined(),\n oauth_account_merge_strategy: schemaFields.oauthAccountMergeStrategySchema.defined(),\n }).defined().meta({ openapiField: { hidden: true } }),\n}).defined();\n\nexport const projectsCrudClientReadSchema = yupObject({\n id: schemaFields.projectIdSchema.defined(),\n display_name: schemaFields.projectDisplayNameSchema.defined(),\n config: yupObject({\n sign_up_enabled: schemaFields.projectSignUpEnabledSchema.defined(),\n credential_enabled: schemaFields.projectCredentialEnabledSchema.defined(),\n magic_link_enabled: schemaFields.projectMagicLinkEnabledSchema.defined(),\n passkey_enabled: schemaFields.projectPasskeyEnabledSchema.defined(),\n client_team_creation_enabled: schemaFields.projectClientTeamCreationEnabledSchema.defined(),\n client_user_deletion_enabled: schemaFields.projectClientUserDeletionEnabledSchema.defined(),\n allow_user_api_keys: schemaFields.yupBoolean().defined(),\n allow_team_api_keys: schemaFields.yupBoolean().defined(),\n enabled_oauth_providers: yupArray(enabledOAuthProviderSchema.defined()).defined().meta({ openapiField: { hidden: true } }),\n domains: yupArray(domainSchema.defined()).defined(),\n }).defined().meta({ openapiField: { hidden: true } }),\n}).defined();\n\n\nexport const projectsCrudAdminUpdateSchema = yupObject({\n display_name: schemaFields.projectDisplayNameSchema.optional(),\n description: schemaFields.projectDescriptionSchema.optional(),\n logo_url: schemaFields.projectLogoUrlSchema.nullable().optional(),\n full_logo_url: schemaFields.projectFullLogoUrlSchema.nullable().optional(),\n is_production_mode: schemaFields.projectIsProductionModeSchema.optional(),\n config: yupObject({\n sign_up_enabled: schemaFields.projectSignUpEnabledSchema.optional(),\n credential_enabled: schemaFields.projectCredentialEnabledSchema.optional(),\n magic_link_enabled: schemaFields.projectMagicLinkEnabledSchema.optional(),\n passkey_enabled: schemaFields.projectPasskeyEnabledSchema.optional(),\n client_team_creation_enabled: schemaFields.projectClientTeamCreationEnabledSchema.optional(),\n client_user_deletion_enabled: schemaFields.projectClientUserDeletionEnabledSchema.optional(),\n allow_localhost: schemaFields.projectAllowLocalhostSchema.optional(),\n allow_user_api_keys: schemaFields.yupBoolean().optional(),\n allow_team_api_keys: schemaFields.yupBoolean().optional(),\n email_config: emailConfigSchema.optional().default(undefined),\n email_theme: schemaFields.emailThemeSchema.optional(),\n domains: yupArray(domainSchema.defined()).optional().default(undefined),\n oauth_providers: yupArray(oauthProviderWriteSchema.defined()).optional().default(undefined),\n create_team_on_sign_up: schemaFields.projectCreateTeamOnSignUpSchema.optional(),\n team_creator_default_permissions: yupArray(teamPermissionSchema.defined()).optional(),\n team_member_default_permissions: yupArray(teamPermissionSchema.defined()).optional(),\n user_default_permissions: yupArray(teamPermissionSchema.defined()).optional(),\n oauth_account_merge_strategy: schemaFields.oauthAccountMergeStrategySchema.optional(),\n }).optional().default(undefined),\n}).defined();\n\nexport const projectsCrudAdminCreateSchema = projectsCrudAdminUpdateSchema.concat(yupObject({\n display_name: schemaFields.projectDisplayNameSchema.defined(),\n owner_team_id: schemaFields.yupString().uuid().defined(),\n}).defined());\n\nexport const projectsCrudAdminDeleteSchema = schemaFields.yupMixed();\n\nexport const clientProjectsCrud = createCrud({\n clientReadSchema: projectsCrudClientReadSchema,\n docs: {\n clientRead: {\n summary: 'Get the current project',\n description: 'Get the current project information including display name, OAuth providers and authentication methods. Useful for displaying the available login options to the user.',\n tags: ['Projects'],\n },\n },\n});\nexport type ClientProjectsCrud = CrudTypeOf<typeof clientProjectsCrud>;\n\nexport const projectsCrud = createCrud({\n adminReadSchema: projectsCrudAdminReadSchema,\n adminUpdateSchema: projectsCrudAdminUpdateSchema,\n adminDeleteSchema: projectsCrudAdminDeleteSchema,\n docs: {\n adminRead: {\n summary: 'Get the current project',\n description: 'Get the current project information and configuration including display name, OAuth providers, email configuration, etc.',\n tags: ['Projects'],\n },\n adminUpdate: {\n summary: 'Update the current project',\n description: 'Update the current project information and configuration including display name, OAuth providers, email configuration, etc.',\n tags: ['Projects'],\n },\n adminDelete: {\n summary: 'Delete the current project',\n description: 'Delete the current project and all associated data (including users, teams, API keys, project configs, etc.). Be careful, this action is irreversible.',\n tags: ['Projects'],\n },\n },\n});\nexport type ProjectsCrud = CrudTypeOf<typeof projectsCrud>;\n\nexport const adminUserProjectsCrud = createCrud({\n clientReadSchema: projectsCrudAdminReadSchema,\n clientCreateSchema: projectsCrudAdminCreateSchema,\n docs: {\n clientList: {\n hidden: true,\n },\n clientCreate: {\n hidden: true,\n },\n },\n});\nexport type AdminUserProjectsCrud = CrudTypeOf<typeof adminUserProjectsCrud>;\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/interface/crud/projects.ts"],"sourcesContent":["import { CrudTypeOf, createCrud } from \"../../crud\";\nimport * as schemaFields from \"../../schema-fields\";\nimport { yupArray, yupObject, yupString } from \"../../schema-fields\";\n\nconst teamPermissionSchema = yupObject({\n id: yupString().defined(),\n}).defined();\n\nconst oauthProviderReadSchema = yupObject({\n provider_config_id: schemaFields.yupString().defined(),\n id: schemaFields.oauthIdSchema.defined(),\n type: schemaFields.oauthTypeSchema.defined(),\n client_id: schemaFields.yupDefinedAndNonEmptyWhen(\n schemaFields.oauthClientIdSchema,\n { type: 'standard' },\n ),\n client_secret: schemaFields.yupDefinedAndNonEmptyWhen(\n schemaFields.oauthClientSecretSchema,\n { type: 'standard' },\n ),\n\n // extra params\n facebook_config_id: schemaFields.oauthFacebookConfigIdSchema.optional(),\n microsoft_tenant_id: schemaFields.oauthMicrosoftTenantIdSchema.optional(),\n});\n\nconst oauthProviderWriteSchema = oauthProviderReadSchema.omit(['provider_config_id']);\n\nconst enabledOAuthProviderSchema = yupObject({\n id: schemaFields.oauthIdSchema.defined(),\n});\n\nexport const emailConfigSchema = yupObject({\n type: schemaFields.emailTypeSchema.defined(),\n host: schemaFields.yupDefinedAndNonEmptyWhen(schemaFields.emailHostSchema, {\n type: 'standard',\n }),\n port: schemaFields.yupDefinedWhen(schemaFields.emailPortSchema, {\n type: 'standard',\n }),\n username: schemaFields.yupDefinedAndNonEmptyWhen(schemaFields.emailUsernameSchema, {\n type: 'standard',\n }),\n password: schemaFields.yupDefinedAndNonEmptyWhen(schemaFields.emailPasswordSchema, {\n type: 'standard',\n }),\n sender_name: schemaFields.yupDefinedAndNonEmptyWhen(schemaFields.emailSenderNameSchema, {\n type: 'standard',\n }),\n sender_email: schemaFields.yupDefinedAndNonEmptyWhen(schemaFields.emailSenderEmailSchema, {\n type: 'standard',\n }),\n});\n\nexport const emailConfigWithoutPasswordSchema = emailConfigSchema.pick(['type', 'host', 'port', 'username', 'sender_name', 'sender_email']);\n\nconst domainSchema = yupObject({\n domain: schemaFields.urlSchema.defined()\n .matches(/^https?:\\/\\//, 'URL must start with http:// or https://')\n .meta({ openapiField: { description: 'URL. Must start with http:// or https://', exampleValue: 'https://example.com' } }),\n handler_path: schemaFields.handlerPathSchema.defined(),\n});\n\nexport const projectsCrudAdminReadSchema = yupObject({\n id: schemaFields.projectIdSchema.defined(),\n display_name: schemaFields.projectDisplayNameSchema.defined(),\n description: schemaFields.projectDescriptionSchema.nonNullable().defined(),\n logo_url: schemaFields.projectLogoUrlSchema.nullable().optional(),\n logo_full_url: schemaFields.projectLogoFullUrlSchema.nullable().optional(),\n logo_dark_mode_url: schemaFields.projectLogoDarkModeUrlSchema.nullable().optional(),\n logo_full_dark_mode_url: schemaFields.projectLogoFullDarkModeUrlSchema.nullable().optional(),\n created_at_millis: schemaFields.projectCreatedAtMillisSchema.defined(),\n is_production_mode: schemaFields.projectIsProductionModeSchema.defined(),\n owner_team_id: schemaFields.yupString().nullable().defined(),\n /** @deprecated */\n config: yupObject({\n allow_localhost: schemaFields.projectAllowLocalhostSchema.defined(),\n sign_up_enabled: schemaFields.projectSignUpEnabledSchema.defined(),\n credential_enabled: schemaFields.projectCredentialEnabledSchema.defined(),\n magic_link_enabled: schemaFields.projectMagicLinkEnabledSchema.defined(),\n passkey_enabled: schemaFields.projectPasskeyEnabledSchema.defined(),\n // TODO: remove this\n client_team_creation_enabled: schemaFields.projectClientTeamCreationEnabledSchema.defined(),\n client_user_deletion_enabled: schemaFields.projectClientUserDeletionEnabledSchema.defined(),\n allow_user_api_keys: schemaFields.yupBoolean().defined(),\n allow_team_api_keys: schemaFields.yupBoolean().defined(),\n oauth_providers: yupArray(oauthProviderReadSchema.defined()).defined(),\n enabled_oauth_providers: yupArray(enabledOAuthProviderSchema.defined()).defined().meta({ openapiField: { hidden: true } }),\n domains: yupArray(domainSchema.defined()).defined(),\n email_config: emailConfigSchema.defined(),\n email_theme: schemaFields.emailThemeSchema.defined(),\n create_team_on_sign_up: schemaFields.projectCreateTeamOnSignUpSchema.defined(),\n team_creator_default_permissions: yupArray(teamPermissionSchema.defined()).defined(),\n team_member_default_permissions: yupArray(teamPermissionSchema.defined()).defined(),\n user_default_permissions: yupArray(teamPermissionSchema.defined()).defined(),\n oauth_account_merge_strategy: schemaFields.oauthAccountMergeStrategySchema.defined(),\n }).defined().meta({ openapiField: { hidden: true } }),\n}).defined();\n\nexport const projectsCrudClientReadSchema = yupObject({\n id: schemaFields.projectIdSchema.defined(),\n display_name: schemaFields.projectDisplayNameSchema.defined(),\n config: yupObject({\n sign_up_enabled: schemaFields.projectSignUpEnabledSchema.defined(),\n credential_enabled: schemaFields.projectCredentialEnabledSchema.defined(),\n magic_link_enabled: schemaFields.projectMagicLinkEnabledSchema.defined(),\n passkey_enabled: schemaFields.projectPasskeyEnabledSchema.defined(),\n client_team_creation_enabled: schemaFields.projectClientTeamCreationEnabledSchema.defined(),\n client_user_deletion_enabled: schemaFields.projectClientUserDeletionEnabledSchema.defined(),\n allow_user_api_keys: schemaFields.yupBoolean().defined(),\n allow_team_api_keys: schemaFields.yupBoolean().defined(),\n enabled_oauth_providers: yupArray(enabledOAuthProviderSchema.defined()).defined().meta({ openapiField: { hidden: true } }),\n domains: yupArray(domainSchema.defined()).defined(),\n }).defined().meta({ openapiField: { hidden: true } }),\n}).defined();\n\n\nexport const projectsCrudAdminUpdateSchema = yupObject({\n display_name: schemaFields.projectDisplayNameSchema.optional(),\n description: schemaFields.projectDescriptionSchema.optional(),\n logo_url: schemaFields.projectLogoUrlSchema.nullable().optional(),\n logo_full_url: schemaFields.projectLogoFullUrlSchema.nullable().optional(),\n logo_dark_mode_url: schemaFields.projectLogoDarkModeUrlSchema.nullable().optional(),\n logo_full_dark_mode_url: schemaFields.projectLogoFullDarkModeUrlSchema.nullable().optional(),\n is_production_mode: schemaFields.projectIsProductionModeSchema.optional(),\n config: yupObject({\n sign_up_enabled: schemaFields.projectSignUpEnabledSchema.optional(),\n credential_enabled: schemaFields.projectCredentialEnabledSchema.optional(),\n magic_link_enabled: schemaFields.projectMagicLinkEnabledSchema.optional(),\n passkey_enabled: schemaFields.projectPasskeyEnabledSchema.optional(),\n client_team_creation_enabled: schemaFields.projectClientTeamCreationEnabledSchema.optional(),\n client_user_deletion_enabled: schemaFields.projectClientUserDeletionEnabledSchema.optional(),\n allow_localhost: schemaFields.projectAllowLocalhostSchema.optional(),\n allow_user_api_keys: schemaFields.yupBoolean().optional(),\n allow_team_api_keys: schemaFields.yupBoolean().optional(),\n email_config: emailConfigSchema.optional().default(undefined),\n email_theme: schemaFields.emailThemeSchema.optional(),\n domains: yupArray(domainSchema.defined()).optional().default(undefined),\n oauth_providers: yupArray(oauthProviderWriteSchema.defined()).optional().default(undefined),\n create_team_on_sign_up: schemaFields.projectCreateTeamOnSignUpSchema.optional(),\n team_creator_default_permissions: yupArray(teamPermissionSchema.defined()).optional(),\n team_member_default_permissions: yupArray(teamPermissionSchema.defined()).optional(),\n user_default_permissions: yupArray(teamPermissionSchema.defined()).optional(),\n oauth_account_merge_strategy: schemaFields.oauthAccountMergeStrategySchema.optional(),\n }).optional().default(undefined),\n}).defined();\n\nexport const projectsCrudAdminCreateSchema = projectsCrudAdminUpdateSchema.concat(yupObject({\n display_name: schemaFields.projectDisplayNameSchema.defined(),\n owner_team_id: schemaFields.yupString().uuid().defined(),\n}).defined());\n\nexport const projectsCrudAdminDeleteSchema = schemaFields.yupMixed();\n\nexport const clientProjectsCrud = createCrud({\n clientReadSchema: projectsCrudClientReadSchema,\n docs: {\n clientRead: {\n summary: 'Get the current project',\n description: 'Get the current project information including display name, OAuth providers and authentication methods. Useful for displaying the available login options to the user.',\n tags: ['Projects'],\n },\n },\n});\nexport type ClientProjectsCrud = CrudTypeOf<typeof clientProjectsCrud>;\n\nexport const projectsCrud = createCrud({\n adminReadSchema: projectsCrudAdminReadSchema,\n adminUpdateSchema: projectsCrudAdminUpdateSchema,\n adminDeleteSchema: projectsCrudAdminDeleteSchema,\n docs: {\n adminRead: {\n summary: 'Get the current project',\n description: 'Get the current project information and configuration including display name, OAuth providers, email configuration, etc.',\n tags: ['Projects'],\n },\n adminUpdate: {\n summary: 'Update the current project',\n description: 'Update the current project information and configuration including display name, OAuth providers, email configuration, etc.',\n tags: ['Projects'],\n },\n adminDelete: {\n summary: 'Delete the current project',\n description: 'Delete the current project and all associated data (including users, teams, API keys, project configs, etc.). Be careful, this action is irreversible.',\n tags: ['Projects'],\n },\n },\n});\nexport type ProjectsCrud = CrudTypeOf<typeof projectsCrud>;\n\nexport const adminUserProjectsCrud = createCrud({\n clientReadSchema: projectsCrudAdminReadSchema,\n clientCreateSchema: projectsCrudAdminCreateSchema,\n docs: {\n clientList: {\n hidden: true,\n },\n clientCreate: {\n hidden: true,\n },\n },\n});\nexport type AdminUserProjectsCrud = CrudTypeOf<typeof adminUserProjectsCrud>;\n"],"mappings":"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","names":[]}
|
|
@@ -2,16 +2,9 @@ import * as yup from 'yup';
|
|
|
2
2
|
import { InferType } from 'yup';
|
|
3
3
|
import { DayInterval } from '../../utils/dates.mjs';
|
|
4
4
|
|
|
5
|
-
declare const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
created_at_millis: number;
|
|
9
|
-
customer_type: "user" | "team" | "custom";
|
|
10
|
-
customer_id: string;
|
|
11
|
-
quantity: number;
|
|
12
|
-
test_mode: boolean;
|
|
13
|
-
product_display_name: string | null;
|
|
14
|
-
price: {
|
|
5
|
+
declare const transactionEntrySchema: yup.MixedSchema<{
|
|
6
|
+
type: "money_transfer";
|
|
7
|
+
charged_amount: {
|
|
15
8
|
USD?: string | undefined;
|
|
16
9
|
EUR?: string | undefined;
|
|
17
10
|
GBP?: string | undefined;
|
|
@@ -19,38 +12,166 @@ declare const adminTransaction: yup.ObjectSchema<{
|
|
|
19
12
|
INR?: string | undefined;
|
|
20
13
|
AUD?: string | undefined;
|
|
21
14
|
CAD?: string | undefined;
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
15
|
+
};
|
|
16
|
+
net_amount: {
|
|
17
|
+
USD: string;
|
|
18
|
+
};
|
|
19
|
+
adjusted_transaction_id: string | null;
|
|
20
|
+
adjusted_entry_index: number | null;
|
|
21
|
+
customer_type: "user" | "team" | "custom";
|
|
22
|
+
customer_id: string;
|
|
23
|
+
} | {
|
|
24
|
+
type: "item_quantity_change";
|
|
25
|
+
adjusted_transaction_id: string | null;
|
|
26
|
+
adjusted_entry_index: number | null;
|
|
27
|
+
customer_type: "user" | "team" | "custom";
|
|
28
|
+
customer_id: string;
|
|
29
|
+
item_id: string;
|
|
30
|
+
quantity: number;
|
|
31
|
+
} | {
|
|
32
|
+
subscription_id?: string | undefined;
|
|
33
|
+
one_time_purchase_id?: string | undefined;
|
|
34
|
+
type: "product_grant";
|
|
35
|
+
adjusted_transaction_id: string | null;
|
|
36
|
+
adjusted_entry_index: number | null;
|
|
37
|
+
customer_type: "user" | "team" | "custom";
|
|
38
|
+
customer_id: string;
|
|
39
|
+
quantity: number;
|
|
40
|
+
product_id: string | null;
|
|
41
|
+
product: {
|
|
42
|
+
client_metadata?: {} | null | undefined;
|
|
43
|
+
client_read_only_metadata?: {} | null | undefined;
|
|
44
|
+
server_metadata?: {} | null | undefined;
|
|
45
|
+
free_trial?: DayInterval | undefined;
|
|
46
|
+
display_name: string;
|
|
47
|
+
customer_type: "user" | "team" | "custom";
|
|
48
|
+
server_only: boolean;
|
|
49
|
+
stackable: boolean;
|
|
50
|
+
prices: Record<string, {
|
|
51
|
+
USD?: string | undefined;
|
|
52
|
+
EUR?: string | undefined;
|
|
53
|
+
GBP?: string | undefined;
|
|
54
|
+
JPY?: string | undefined;
|
|
55
|
+
INR?: string | undefined;
|
|
56
|
+
AUD?: string | undefined;
|
|
57
|
+
CAD?: string | undefined;
|
|
58
|
+
free_trial?: DayInterval | undefined;
|
|
59
|
+
interval?: DayInterval | undefined;
|
|
60
|
+
}>;
|
|
61
|
+
included_items: Record<string, {
|
|
62
|
+
repeat?: "never" | DayInterval | undefined;
|
|
63
|
+
quantity?: number | undefined;
|
|
64
|
+
expires?: "never" | "when-purchase-expires" | "when-repeated" | undefined;
|
|
65
|
+
}>;
|
|
66
|
+
};
|
|
67
|
+
price_id: string | null;
|
|
68
|
+
} | {
|
|
69
|
+
type: "product_revocation";
|
|
70
|
+
adjusted_transaction_id: string;
|
|
71
|
+
adjusted_entry_index: number;
|
|
72
|
+
quantity: number;
|
|
73
|
+
} | {
|
|
74
|
+
type: "product_revocation_reversal";
|
|
75
|
+
adjusted_transaction_id: string;
|
|
76
|
+
adjusted_entry_index: number;
|
|
77
|
+
quantity: number;
|
|
78
|
+
}, yup.AnyObject, undefined, "">;
|
|
79
|
+
type TransactionEntry = InferType<typeof transactionEntrySchema>;
|
|
80
|
+
declare const TRANSACTION_TYPES: readonly ["purchase", "subscription-cancellation", "subscription-renewal", "manual-item-quantity-change", "chargeback", "product-change"];
|
|
81
|
+
type TransactionType = (typeof TRANSACTION_TYPES)[number];
|
|
82
|
+
declare const transactionSchema: yup.ObjectSchema<{
|
|
83
|
+
id: string;
|
|
84
|
+
created_at_millis: number;
|
|
85
|
+
effective_at_millis: number;
|
|
86
|
+
type: "purchase" | "subscription-cancellation" | "subscription-renewal" | "manual-item-quantity-change" | "chargeback" | "product-change" | null;
|
|
87
|
+
entries: ({
|
|
88
|
+
type: "money_transfer";
|
|
89
|
+
charged_amount: {
|
|
90
|
+
USD?: string | undefined;
|
|
91
|
+
EUR?: string | undefined;
|
|
92
|
+
GBP?: string | undefined;
|
|
93
|
+
JPY?: string | undefined;
|
|
94
|
+
INR?: string | undefined;
|
|
95
|
+
AUD?: string | undefined;
|
|
96
|
+
CAD?: string | undefined;
|
|
97
|
+
};
|
|
98
|
+
net_amount: {
|
|
99
|
+
USD: string;
|
|
100
|
+
};
|
|
101
|
+
adjusted_transaction_id: string | null;
|
|
102
|
+
adjusted_entry_index: number | null;
|
|
103
|
+
customer_type: "user" | "team" | "custom";
|
|
104
|
+
customer_id: string;
|
|
105
|
+
} | {
|
|
106
|
+
type: "item_quantity_change";
|
|
107
|
+
adjusted_transaction_id: string | null;
|
|
108
|
+
adjusted_entry_index: number | null;
|
|
109
|
+
customer_type: "user" | "team" | "custom";
|
|
110
|
+
customer_id: string;
|
|
111
|
+
item_id: string;
|
|
112
|
+
quantity: number;
|
|
113
|
+
} | {
|
|
114
|
+
subscription_id?: string | undefined;
|
|
115
|
+
one_time_purchase_id?: string | undefined;
|
|
116
|
+
type: "product_grant";
|
|
117
|
+
adjusted_transaction_id: string | null;
|
|
118
|
+
adjusted_entry_index: number | null;
|
|
119
|
+
customer_type: "user" | "team" | "custom";
|
|
120
|
+
customer_id: string;
|
|
121
|
+
quantity: number;
|
|
122
|
+
product_id: string | null;
|
|
123
|
+
product: {
|
|
124
|
+
client_metadata?: {} | null | undefined;
|
|
125
|
+
client_read_only_metadata?: {} | null | undefined;
|
|
126
|
+
server_metadata?: {} | null | undefined;
|
|
127
|
+
free_trial?: DayInterval | undefined;
|
|
128
|
+
display_name: string;
|
|
129
|
+
customer_type: "user" | "team" | "custom";
|
|
130
|
+
server_only: boolean;
|
|
131
|
+
stackable: boolean;
|
|
132
|
+
prices: Record<string, {
|
|
133
|
+
USD?: string | undefined;
|
|
134
|
+
EUR?: string | undefined;
|
|
135
|
+
GBP?: string | undefined;
|
|
136
|
+
JPY?: string | undefined;
|
|
137
|
+
INR?: string | undefined;
|
|
138
|
+
AUD?: string | undefined;
|
|
139
|
+
CAD?: string | undefined;
|
|
140
|
+
free_trial?: DayInterval | undefined;
|
|
141
|
+
interval?: DayInterval | undefined;
|
|
142
|
+
}>;
|
|
143
|
+
included_items: Record<string, {
|
|
144
|
+
repeat?: "never" | DayInterval | undefined;
|
|
145
|
+
quantity?: number | undefined;
|
|
146
|
+
expires?: "never" | "when-purchase-expires" | "when-repeated" | undefined;
|
|
147
|
+
}>;
|
|
148
|
+
};
|
|
149
|
+
price_id: string | null;
|
|
150
|
+
} | {
|
|
151
|
+
type: "product_revocation";
|
|
152
|
+
adjusted_transaction_id: string;
|
|
153
|
+
adjusted_entry_index: number;
|
|
154
|
+
quantity: number;
|
|
155
|
+
} | {
|
|
156
|
+
type: "product_revocation_reversal";
|
|
157
|
+
adjusted_transaction_id: string;
|
|
158
|
+
adjusted_entry_index: number;
|
|
159
|
+
quantity: number;
|
|
160
|
+
})[];
|
|
161
|
+
adjusted_by: {
|
|
162
|
+
transaction_id: string;
|
|
163
|
+
entry_index: number;
|
|
164
|
+
}[];
|
|
165
|
+
test_mode: boolean;
|
|
28
166
|
}, yup.AnyObject, {
|
|
29
167
|
id: undefined;
|
|
30
|
-
type: undefined;
|
|
31
168
|
created_at_millis: undefined;
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
169
|
+
effective_at_millis: undefined;
|
|
170
|
+
type: undefined;
|
|
171
|
+
entries: undefined;
|
|
172
|
+
adjusted_by: undefined;
|
|
35
173
|
test_mode: undefined;
|
|
36
|
-
product_display_name: undefined;
|
|
37
|
-
price: {
|
|
38
|
-
interval: undefined;
|
|
39
|
-
serverOnly: undefined;
|
|
40
|
-
freeTrial: undefined;
|
|
41
|
-
USD: undefined;
|
|
42
|
-
EUR: undefined;
|
|
43
|
-
GBP: undefined;
|
|
44
|
-
JPY: undefined;
|
|
45
|
-
INR: undefined;
|
|
46
|
-
AUD: undefined;
|
|
47
|
-
CAD: undefined;
|
|
48
|
-
};
|
|
49
|
-
status: undefined;
|
|
50
|
-
item_id: undefined;
|
|
51
|
-
description: undefined;
|
|
52
|
-
expires_at_millis: undefined;
|
|
53
174
|
}, "">;
|
|
54
|
-
type
|
|
175
|
+
type Transaction = InferType<typeof transactionSchema>;
|
|
55
176
|
|
|
56
|
-
export { type
|
|
177
|
+
export { TRANSACTION_TYPES, type Transaction, type TransactionEntry, type TransactionType, transactionEntrySchema, transactionSchema };
|
|
@@ -2,16 +2,9 @@ import * as yup from 'yup';
|
|
|
2
2
|
import { InferType } from 'yup';
|
|
3
3
|
import { DayInterval } from '../../utils/dates.js';
|
|
4
4
|
|
|
5
|
-
declare const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
created_at_millis: number;
|
|
9
|
-
customer_type: "user" | "team" | "custom";
|
|
10
|
-
customer_id: string;
|
|
11
|
-
quantity: number;
|
|
12
|
-
test_mode: boolean;
|
|
13
|
-
product_display_name: string | null;
|
|
14
|
-
price: {
|
|
5
|
+
declare const transactionEntrySchema: yup.MixedSchema<{
|
|
6
|
+
type: "money_transfer";
|
|
7
|
+
charged_amount: {
|
|
15
8
|
USD?: string | undefined;
|
|
16
9
|
EUR?: string | undefined;
|
|
17
10
|
GBP?: string | undefined;
|
|
@@ -19,38 +12,166 @@ declare const adminTransaction: yup.ObjectSchema<{
|
|
|
19
12
|
INR?: string | undefined;
|
|
20
13
|
AUD?: string | undefined;
|
|
21
14
|
CAD?: string | undefined;
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
15
|
+
};
|
|
16
|
+
net_amount: {
|
|
17
|
+
USD: string;
|
|
18
|
+
};
|
|
19
|
+
adjusted_transaction_id: string | null;
|
|
20
|
+
adjusted_entry_index: number | null;
|
|
21
|
+
customer_type: "user" | "team" | "custom";
|
|
22
|
+
customer_id: string;
|
|
23
|
+
} | {
|
|
24
|
+
type: "item_quantity_change";
|
|
25
|
+
adjusted_transaction_id: string | null;
|
|
26
|
+
adjusted_entry_index: number | null;
|
|
27
|
+
customer_type: "user" | "team" | "custom";
|
|
28
|
+
customer_id: string;
|
|
29
|
+
item_id: string;
|
|
30
|
+
quantity: number;
|
|
31
|
+
} | {
|
|
32
|
+
subscription_id?: string | undefined;
|
|
33
|
+
one_time_purchase_id?: string | undefined;
|
|
34
|
+
type: "product_grant";
|
|
35
|
+
adjusted_transaction_id: string | null;
|
|
36
|
+
adjusted_entry_index: number | null;
|
|
37
|
+
customer_type: "user" | "team" | "custom";
|
|
38
|
+
customer_id: string;
|
|
39
|
+
quantity: number;
|
|
40
|
+
product_id: string | null;
|
|
41
|
+
product: {
|
|
42
|
+
client_metadata?: {} | null | undefined;
|
|
43
|
+
client_read_only_metadata?: {} | null | undefined;
|
|
44
|
+
server_metadata?: {} | null | undefined;
|
|
45
|
+
free_trial?: DayInterval | undefined;
|
|
46
|
+
display_name: string;
|
|
47
|
+
customer_type: "user" | "team" | "custom";
|
|
48
|
+
server_only: boolean;
|
|
49
|
+
stackable: boolean;
|
|
50
|
+
prices: Record<string, {
|
|
51
|
+
USD?: string | undefined;
|
|
52
|
+
EUR?: string | undefined;
|
|
53
|
+
GBP?: string | undefined;
|
|
54
|
+
JPY?: string | undefined;
|
|
55
|
+
INR?: string | undefined;
|
|
56
|
+
AUD?: string | undefined;
|
|
57
|
+
CAD?: string | undefined;
|
|
58
|
+
free_trial?: DayInterval | undefined;
|
|
59
|
+
interval?: DayInterval | undefined;
|
|
60
|
+
}>;
|
|
61
|
+
included_items: Record<string, {
|
|
62
|
+
repeat?: "never" | DayInterval | undefined;
|
|
63
|
+
quantity?: number | undefined;
|
|
64
|
+
expires?: "never" | "when-purchase-expires" | "when-repeated" | undefined;
|
|
65
|
+
}>;
|
|
66
|
+
};
|
|
67
|
+
price_id: string | null;
|
|
68
|
+
} | {
|
|
69
|
+
type: "product_revocation";
|
|
70
|
+
adjusted_transaction_id: string;
|
|
71
|
+
adjusted_entry_index: number;
|
|
72
|
+
quantity: number;
|
|
73
|
+
} | {
|
|
74
|
+
type: "product_revocation_reversal";
|
|
75
|
+
adjusted_transaction_id: string;
|
|
76
|
+
adjusted_entry_index: number;
|
|
77
|
+
quantity: number;
|
|
78
|
+
}, yup.AnyObject, undefined, "">;
|
|
79
|
+
type TransactionEntry = InferType<typeof transactionEntrySchema>;
|
|
80
|
+
declare const TRANSACTION_TYPES: readonly ["purchase", "subscription-cancellation", "subscription-renewal", "manual-item-quantity-change", "chargeback", "product-change"];
|
|
81
|
+
type TransactionType = (typeof TRANSACTION_TYPES)[number];
|
|
82
|
+
declare const transactionSchema: yup.ObjectSchema<{
|
|
83
|
+
id: string;
|
|
84
|
+
created_at_millis: number;
|
|
85
|
+
effective_at_millis: number;
|
|
86
|
+
type: "purchase" | "subscription-cancellation" | "subscription-renewal" | "manual-item-quantity-change" | "chargeback" | "product-change" | null;
|
|
87
|
+
entries: ({
|
|
88
|
+
type: "money_transfer";
|
|
89
|
+
charged_amount: {
|
|
90
|
+
USD?: string | undefined;
|
|
91
|
+
EUR?: string | undefined;
|
|
92
|
+
GBP?: string | undefined;
|
|
93
|
+
JPY?: string | undefined;
|
|
94
|
+
INR?: string | undefined;
|
|
95
|
+
AUD?: string | undefined;
|
|
96
|
+
CAD?: string | undefined;
|
|
97
|
+
};
|
|
98
|
+
net_amount: {
|
|
99
|
+
USD: string;
|
|
100
|
+
};
|
|
101
|
+
adjusted_transaction_id: string | null;
|
|
102
|
+
adjusted_entry_index: number | null;
|
|
103
|
+
customer_type: "user" | "team" | "custom";
|
|
104
|
+
customer_id: string;
|
|
105
|
+
} | {
|
|
106
|
+
type: "item_quantity_change";
|
|
107
|
+
adjusted_transaction_id: string | null;
|
|
108
|
+
adjusted_entry_index: number | null;
|
|
109
|
+
customer_type: "user" | "team" | "custom";
|
|
110
|
+
customer_id: string;
|
|
111
|
+
item_id: string;
|
|
112
|
+
quantity: number;
|
|
113
|
+
} | {
|
|
114
|
+
subscription_id?: string | undefined;
|
|
115
|
+
one_time_purchase_id?: string | undefined;
|
|
116
|
+
type: "product_grant";
|
|
117
|
+
adjusted_transaction_id: string | null;
|
|
118
|
+
adjusted_entry_index: number | null;
|
|
119
|
+
customer_type: "user" | "team" | "custom";
|
|
120
|
+
customer_id: string;
|
|
121
|
+
quantity: number;
|
|
122
|
+
product_id: string | null;
|
|
123
|
+
product: {
|
|
124
|
+
client_metadata?: {} | null | undefined;
|
|
125
|
+
client_read_only_metadata?: {} | null | undefined;
|
|
126
|
+
server_metadata?: {} | null | undefined;
|
|
127
|
+
free_trial?: DayInterval | undefined;
|
|
128
|
+
display_name: string;
|
|
129
|
+
customer_type: "user" | "team" | "custom";
|
|
130
|
+
server_only: boolean;
|
|
131
|
+
stackable: boolean;
|
|
132
|
+
prices: Record<string, {
|
|
133
|
+
USD?: string | undefined;
|
|
134
|
+
EUR?: string | undefined;
|
|
135
|
+
GBP?: string | undefined;
|
|
136
|
+
JPY?: string | undefined;
|
|
137
|
+
INR?: string | undefined;
|
|
138
|
+
AUD?: string | undefined;
|
|
139
|
+
CAD?: string | undefined;
|
|
140
|
+
free_trial?: DayInterval | undefined;
|
|
141
|
+
interval?: DayInterval | undefined;
|
|
142
|
+
}>;
|
|
143
|
+
included_items: Record<string, {
|
|
144
|
+
repeat?: "never" | DayInterval | undefined;
|
|
145
|
+
quantity?: number | undefined;
|
|
146
|
+
expires?: "never" | "when-purchase-expires" | "when-repeated" | undefined;
|
|
147
|
+
}>;
|
|
148
|
+
};
|
|
149
|
+
price_id: string | null;
|
|
150
|
+
} | {
|
|
151
|
+
type: "product_revocation";
|
|
152
|
+
adjusted_transaction_id: string;
|
|
153
|
+
adjusted_entry_index: number;
|
|
154
|
+
quantity: number;
|
|
155
|
+
} | {
|
|
156
|
+
type: "product_revocation_reversal";
|
|
157
|
+
adjusted_transaction_id: string;
|
|
158
|
+
adjusted_entry_index: number;
|
|
159
|
+
quantity: number;
|
|
160
|
+
})[];
|
|
161
|
+
adjusted_by: {
|
|
162
|
+
transaction_id: string;
|
|
163
|
+
entry_index: number;
|
|
164
|
+
}[];
|
|
165
|
+
test_mode: boolean;
|
|
28
166
|
}, yup.AnyObject, {
|
|
29
167
|
id: undefined;
|
|
30
|
-
type: undefined;
|
|
31
168
|
created_at_millis: undefined;
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
169
|
+
effective_at_millis: undefined;
|
|
170
|
+
type: undefined;
|
|
171
|
+
entries: undefined;
|
|
172
|
+
adjusted_by: undefined;
|
|
35
173
|
test_mode: undefined;
|
|
36
|
-
product_display_name: undefined;
|
|
37
|
-
price: {
|
|
38
|
-
interval: undefined;
|
|
39
|
-
serverOnly: undefined;
|
|
40
|
-
freeTrial: undefined;
|
|
41
|
-
USD: undefined;
|
|
42
|
-
EUR: undefined;
|
|
43
|
-
GBP: undefined;
|
|
44
|
-
JPY: undefined;
|
|
45
|
-
INR: undefined;
|
|
46
|
-
AUD: undefined;
|
|
47
|
-
CAD: undefined;
|
|
48
|
-
};
|
|
49
|
-
status: undefined;
|
|
50
|
-
item_id: undefined;
|
|
51
|
-
description: undefined;
|
|
52
|
-
expires_at_millis: undefined;
|
|
53
174
|
}, "">;
|
|
54
|
-
type
|
|
175
|
+
type Transaction = InferType<typeof transactionSchema>;
|
|
55
176
|
|
|
56
|
-
export { type
|
|
177
|
+
export { TRANSACTION_TYPES, type Transaction, type TransactionEntry, type TransactionType, transactionEntrySchema, transactionSchema };
|
|
@@ -20,27 +20,113 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
20
20
|
// src/interface/crud/transactions.ts
|
|
21
21
|
var transactions_exports = {};
|
|
22
22
|
__export(transactions_exports, {
|
|
23
|
-
|
|
23
|
+
TRANSACTION_TYPES: () => TRANSACTION_TYPES,
|
|
24
|
+
transactionEntrySchema: () => transactionEntrySchema,
|
|
25
|
+
transactionSchema: () => transactionSchema
|
|
24
26
|
});
|
|
25
27
|
module.exports = __toCommonJS(transactions_exports);
|
|
26
28
|
var import_schema_fields = require("../../schema-fields.js");
|
|
27
|
-
var
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
var import_currency_constants = require("../../utils/currency-constants.js");
|
|
30
|
+
var import_objects = require("../../utils/objects.js");
|
|
31
|
+
var import_errors = require("../../utils/errors.js");
|
|
32
|
+
var USD_CURRENCY = import_currency_constants.SUPPORTED_CURRENCIES.find((currency) => currency.code === "USD") ?? (0, import_errors.throwErr)("USD currency configuration missing in SUPPORTED_CURRENCIES");
|
|
33
|
+
var chargedAmountSchema = (0, import_schema_fields.yupObject)({
|
|
34
|
+
...(0, import_objects.typedFromEntries)(import_currency_constants.SUPPORTED_CURRENCIES.map((currency) => [currency.code, (0, import_schema_fields.moneyAmountSchema)(currency).optional()]))
|
|
35
|
+
}).noUnknown(true).test("at-least-one-currency", "charged_amount must include at least one currency amount", (value) => {
|
|
36
|
+
return Object.values(value).some((amount) => typeof amount === "string");
|
|
37
|
+
}).defined();
|
|
38
|
+
var netAmountSchema = (0, import_schema_fields.yupObject)({
|
|
39
|
+
USD: (0, import_schema_fields.moneyAmountSchema)(USD_CURRENCY).defined()
|
|
40
|
+
}).noUnknown(true).defined();
|
|
41
|
+
var transactionEntryMoneyTransferSchema = (0, import_schema_fields.yupObject)({
|
|
42
|
+
type: (0, import_schema_fields.yupString)().oneOf(["money_transfer"]).defined(),
|
|
43
|
+
adjusted_transaction_id: (0, import_schema_fields.yupString)().nullable().defined(),
|
|
44
|
+
adjusted_entry_index: (0, import_schema_fields.yupNumber)().integer().min(0).nullable().defined(),
|
|
45
|
+
customer_type: import_schema_fields.customerTypeSchema.defined(),
|
|
46
|
+
customer_id: (0, import_schema_fields.yupString)().defined(),
|
|
47
|
+
charged_amount: chargedAmountSchema,
|
|
48
|
+
net_amount: netAmountSchema
|
|
49
|
+
}).defined();
|
|
50
|
+
var transactionEntryItemQuantityChangeSchema = (0, import_schema_fields.yupObject)({
|
|
51
|
+
type: (0, import_schema_fields.yupString)().oneOf(["item_quantity_change"]).defined(),
|
|
52
|
+
adjusted_transaction_id: (0, import_schema_fields.yupString)().nullable().defined(),
|
|
53
|
+
adjusted_entry_index: (0, import_schema_fields.yupNumber)().integer().min(0).nullable().defined(),
|
|
54
|
+
customer_type: import_schema_fields.customerTypeSchema.defined(),
|
|
55
|
+
customer_id: (0, import_schema_fields.yupString)().defined(),
|
|
56
|
+
item_id: (0, import_schema_fields.yupString)().defined(),
|
|
57
|
+
quantity: (0, import_schema_fields.yupNumber)().defined()
|
|
58
|
+
}).defined();
|
|
59
|
+
var transactionEntryProductGrantSchema = (0, import_schema_fields.yupObject)({
|
|
60
|
+
type: (0, import_schema_fields.yupString)().oneOf(["product_grant"]).defined(),
|
|
61
|
+
adjusted_transaction_id: (0, import_schema_fields.yupString)().nullable().defined(),
|
|
62
|
+
adjusted_entry_index: (0, import_schema_fields.yupNumber)().integer().min(0).nullable().defined(),
|
|
31
63
|
customer_type: import_schema_fields.customerTypeSchema.defined(),
|
|
32
64
|
customer_id: (0, import_schema_fields.yupString)().defined(),
|
|
65
|
+
product_id: (0, import_schema_fields.yupString)().nullable().defined(),
|
|
66
|
+
product: import_schema_fields.inlineProductSchema.defined(),
|
|
67
|
+
price_id: (0, import_schema_fields.yupString)().nullable().defined(),
|
|
33
68
|
quantity: (0, import_schema_fields.yupNumber)().defined(),
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
69
|
+
subscription_id: (0, import_schema_fields.yupString)().optional(),
|
|
70
|
+
one_time_purchase_id: (0, import_schema_fields.yupString)().optional()
|
|
71
|
+
}).test(
|
|
72
|
+
"exclusive-reference",
|
|
73
|
+
"subscription_id and one_time_purchase_id cannot both be set",
|
|
74
|
+
(value, context) => {
|
|
75
|
+
if (value.subscription_id != null && value.one_time_purchase_id != null) {
|
|
76
|
+
return context.createError({
|
|
77
|
+
message: "subscription_id and one_time_purchase_id cannot both be set"
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
return true;
|
|
81
|
+
}
|
|
82
|
+
).defined();
|
|
83
|
+
var transactionEntryProductRevocationSchema = (0, import_schema_fields.yupObject)({
|
|
84
|
+
type: (0, import_schema_fields.yupString)().oneOf(["product_revocation"]).defined(),
|
|
85
|
+
adjusted_transaction_id: (0, import_schema_fields.yupString)().defined(),
|
|
86
|
+
adjusted_entry_index: (0, import_schema_fields.yupNumber)().integer().min(0).defined(),
|
|
87
|
+
quantity: (0, import_schema_fields.yupNumber)().defined()
|
|
88
|
+
}).defined();
|
|
89
|
+
var transactionEntryProductRevocationReversalSchema = (0, import_schema_fields.yupObject)({
|
|
90
|
+
type: (0, import_schema_fields.yupString)().oneOf(["product_revocation_reversal"]).defined(),
|
|
91
|
+
adjusted_transaction_id: (0, import_schema_fields.yupString)().defined(),
|
|
92
|
+
adjusted_entry_index: (0, import_schema_fields.yupNumber)().integer().min(0).defined(),
|
|
93
|
+
quantity: (0, import_schema_fields.yupNumber)().defined()
|
|
94
|
+
}).defined();
|
|
95
|
+
var transactionEntrySchema = (0, import_schema_fields.yupUnion)(
|
|
96
|
+
transactionEntryMoneyTransferSchema,
|
|
97
|
+
transactionEntryItemQuantityChangeSchema,
|
|
98
|
+
transactionEntryProductGrantSchema,
|
|
99
|
+
transactionEntryProductRevocationSchema,
|
|
100
|
+
transactionEntryProductRevocationReversalSchema
|
|
101
|
+
).defined();
|
|
102
|
+
var TRANSACTION_TYPES = [
|
|
103
|
+
"purchase",
|
|
104
|
+
"subscription-cancellation",
|
|
105
|
+
"subscription-renewal",
|
|
106
|
+
"manual-item-quantity-change",
|
|
107
|
+
"chargeback",
|
|
108
|
+
// todo
|
|
109
|
+
"product-change"
|
|
110
|
+
// todo
|
|
111
|
+
];
|
|
112
|
+
var transactionSchema = (0, import_schema_fields.yupObject)({
|
|
113
|
+
id: (0, import_schema_fields.yupString)().defined(),
|
|
114
|
+
created_at_millis: (0, import_schema_fields.yupNumber)().defined(),
|
|
115
|
+
effective_at_millis: (0, import_schema_fields.yupNumber)().defined(),
|
|
116
|
+
type: (0, import_schema_fields.yupString)().oneOf(TRANSACTION_TYPES).nullable().defined(),
|
|
117
|
+
entries: (0, import_schema_fields.yupArray)(transactionEntrySchema).defined(),
|
|
118
|
+
adjusted_by: (0, import_schema_fields.yupArray)(
|
|
119
|
+
(0, import_schema_fields.yupObject)({
|
|
120
|
+
transaction_id: (0, import_schema_fields.yupString)().defined(),
|
|
121
|
+
entry_index: (0, import_schema_fields.yupNumber)().integer().min(0).defined()
|
|
122
|
+
}).defined()
|
|
123
|
+
).defined(),
|
|
124
|
+
test_mode: (0, import_schema_fields.yupBoolean)().defined()
|
|
41
125
|
}).defined();
|
|
42
126
|
// Annotate the CommonJS export names for ESM import in node:
|
|
43
127
|
0 && (module.exports = {
|
|
44
|
-
|
|
128
|
+
TRANSACTION_TYPES,
|
|
129
|
+
transactionEntrySchema,
|
|
130
|
+
transactionSchema
|
|
45
131
|
});
|
|
46
132
|
//# sourceMappingURL=transactions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/interface/crud/transactions.ts"],"sourcesContent":["import type { InferType } from \"yup\";\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../src/interface/crud/transactions.ts"],"sourcesContent":["import type { InferType } from \"yup\";\nimport {\n customerTypeSchema,\n inlineProductSchema,\n moneyAmountSchema,\n yupArray,\n yupBoolean,\n yupNumber,\n yupObject,\n yupString,\n yupUnion,\n} from \"../../schema-fields\";\nimport { SUPPORTED_CURRENCIES } from \"../../utils/currency-constants\";\nimport { typedFromEntries } from \"../../utils/objects\";\nimport { throwErr } from \"../../utils/errors\";\n\n\nconst USD_CURRENCY = SUPPORTED_CURRENCIES.find((currency) => currency.code === \"USD\") ?? throwErr(\"USD currency configuration missing in SUPPORTED_CURRENCIES\");\n\nconst chargedAmountSchema = yupObject({\n ...typedFromEntries(SUPPORTED_CURRENCIES.map((currency) => [currency.code, moneyAmountSchema(currency).optional()])),\n}).noUnknown(true).test(\"at-least-one-currency\", \"charged_amount must include at least one currency amount\", (value) => {\n return Object.values(value).some((amount) => typeof amount === \"string\");\n}).defined();\n\nconst netAmountSchema = yupObject({\n USD: moneyAmountSchema(USD_CURRENCY).defined(),\n}).noUnknown(true).defined();\n\nconst transactionEntryMoneyTransferSchema = yupObject({\n type: yupString().oneOf([\"money_transfer\"]).defined(),\n adjusted_transaction_id: yupString().nullable().defined(),\n adjusted_entry_index: yupNumber().integer().min(0).nullable().defined(),\n customer_type: customerTypeSchema.defined(),\n customer_id: yupString().defined(),\n charged_amount: chargedAmountSchema,\n net_amount: netAmountSchema,\n}).defined();\n\nconst transactionEntryItemQuantityChangeSchema = yupObject({\n type: yupString().oneOf([\"item_quantity_change\"]).defined(),\n adjusted_transaction_id: yupString().nullable().defined(),\n adjusted_entry_index: yupNumber().integer().min(0).nullable().defined(),\n customer_type: customerTypeSchema.defined(),\n customer_id: yupString().defined(),\n item_id: yupString().defined(),\n quantity: yupNumber().defined(),\n}).defined();\n\nconst transactionEntryProductGrantSchema = yupObject({\n type: yupString().oneOf([\"product_grant\"]).defined(),\n adjusted_transaction_id: yupString().nullable().defined(),\n adjusted_entry_index: yupNumber().integer().min(0).nullable().defined(),\n customer_type: customerTypeSchema.defined(),\n customer_id: yupString().defined(),\n product_id: yupString().nullable().defined(),\n product: inlineProductSchema.defined(),\n price_id: yupString().nullable().defined(),\n quantity: yupNumber().defined(),\n subscription_id: yupString().optional(),\n one_time_purchase_id: yupString().optional(),\n}).test(\n \"exclusive-reference\",\n \"subscription_id and one_time_purchase_id cannot both be set\",\n (value, context) => {\n if (value.subscription_id != null && value.one_time_purchase_id != null) {\n return context.createError({\n message: \"subscription_id and one_time_purchase_id cannot both be set\",\n });\n }\n return true;\n },\n).defined();\n\nconst transactionEntryProductRevocationSchema = yupObject({\n type: yupString().oneOf([\"product_revocation\"]).defined(),\n adjusted_transaction_id: yupString().defined(),\n adjusted_entry_index: yupNumber().integer().min(0).defined(),\n quantity: yupNumber().defined(),\n}).defined();\n\nconst transactionEntryProductRevocationReversalSchema = yupObject({\n type: yupString().oneOf([\"product_revocation_reversal\"]).defined(),\n adjusted_transaction_id: yupString().defined(),\n adjusted_entry_index: yupNumber().integer().min(0).defined(),\n quantity: yupNumber().defined(),\n}).defined();\n\nexport const transactionEntrySchema = yupUnion(\n transactionEntryMoneyTransferSchema,\n transactionEntryItemQuantityChangeSchema,\n transactionEntryProductGrantSchema,\n transactionEntryProductRevocationSchema,\n transactionEntryProductRevocationReversalSchema,\n).defined();\n\nexport type TransactionEntry = InferType<typeof transactionEntrySchema>;\n\nexport const TRANSACTION_TYPES = [\n \"purchase\",\n \"subscription-cancellation\",\n \"subscription-renewal\",\n \"manual-item-quantity-change\",\n \"chargeback\", // todo\n \"product-change\", // todo\n] as const;\n\nexport type TransactionType = (typeof TRANSACTION_TYPES)[number];\n\nexport const transactionSchema = yupObject({\n id: yupString().defined(),\n created_at_millis: yupNumber().defined(),\n effective_at_millis: yupNumber().defined(),\n type: yupString().oneOf(TRANSACTION_TYPES).nullable().defined(),\n entries: yupArray(transactionEntrySchema).defined(),\n adjusted_by: yupArray(\n yupObject({\n transaction_id: yupString().defined(),\n entry_index: yupNumber().integer().min(0).defined(),\n }).defined(),\n ).defined(),\n test_mode: yupBoolean().defined(),\n}).defined();\n\nexport type Transaction = InferType<typeof transactionSchema>;\n"],"mappings":"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","names":[]}
|