@stackframe/stack-shared 2.8.22 → 2.8.27

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.
Files changed (164) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/dist/config/format.d.mts +20 -5
  3. package/dist/config/format.d.ts +20 -5
  4. package/dist/config/format.js +39 -14
  5. package/dist/config/format.js.map +1 -1
  6. package/dist/config/schema.d.mts +816 -294
  7. package/dist/config/schema.d.ts +816 -294
  8. package/dist/config/schema.js +471 -82
  9. package/dist/config/schema.js.map +1 -1
  10. package/dist/crud.d.mts +1 -0
  11. package/dist/crud.d.ts +1 -0
  12. package/dist/esm/config/format.js +37 -14
  13. package/dist/esm/config/format.js.map +1 -1
  14. package/dist/esm/config/schema.js +460 -78
  15. package/dist/esm/config/schema.js.map +1 -1
  16. package/dist/esm/helpers/emails.js +185 -0
  17. package/dist/esm/helpers/emails.js.map +1 -0
  18. package/dist/esm/interface/admin-interface.js +58 -36
  19. package/dist/esm/interface/admin-interface.js.map +1 -1
  20. package/dist/esm/interface/client-interface.js +41 -0
  21. package/dist/esm/interface/client-interface.js.map +1 -1
  22. package/dist/esm/interface/crud/{oauth.js → connected-accounts.js} +2 -2
  23. package/dist/esm/interface/crud/connected-accounts.js.map +1 -0
  24. package/dist/esm/interface/crud/oauth-providers.js +87 -0
  25. package/dist/esm/interface/crud/oauth-providers.js.map +1 -0
  26. package/dist/esm/interface/crud/projects.js +7 -5
  27. package/dist/esm/interface/crud/projects.js.map +1 -1
  28. package/dist/esm/interface/server-interface.js +51 -0
  29. package/dist/esm/interface/server-interface.js.map +1 -1
  30. package/dist/esm/known-errors.js +34 -1
  31. package/dist/esm/known-errors.js.map +1 -1
  32. package/dist/esm/schema-fields.js +112 -24
  33. package/dist/esm/schema-fields.js.map +1 -1
  34. package/dist/esm/utils/currencies.js +52 -0
  35. package/dist/esm/utils/currencies.js.map +1 -0
  36. package/dist/esm/utils/dates.js +55 -1
  37. package/dist/esm/utils/dates.js.map +1 -1
  38. package/dist/esm/utils/errors.js.map +1 -1
  39. package/dist/esm/utils/esbuild.js +14 -4
  40. package/dist/esm/utils/esbuild.js.map +1 -1
  41. package/dist/esm/utils/oauth.js +1 -1
  42. package/dist/esm/utils/oauth.js.map +1 -1
  43. package/dist/esm/utils/objects.js +2 -0
  44. package/dist/esm/utils/objects.js.map +1 -1
  45. package/dist/esm/utils/strings.js +4 -0
  46. package/dist/esm/utils/strings.js.map +1 -1
  47. package/dist/esm/utils/types.js +45 -0
  48. package/dist/esm/utils/types.js.map +1 -1
  49. package/dist/helpers/emails.d.mts +50 -0
  50. package/dist/helpers/emails.d.ts +50 -0
  51. package/dist/helpers/emails.js +216 -0
  52. package/dist/helpers/emails.js.map +1 -0
  53. package/dist/helpers/password.d.mts +1 -0
  54. package/dist/helpers/password.d.ts +1 -0
  55. package/dist/helpers/production-mode.d.mts +1 -0
  56. package/dist/helpers/production-mode.d.ts +1 -0
  57. package/dist/index.d.mts +3 -3
  58. package/dist/index.d.ts +3 -3
  59. package/dist/interface/admin-interface.d.mts +24 -15
  60. package/dist/interface/admin-interface.d.ts +24 -15
  61. package/dist/interface/admin-interface.js +58 -36
  62. package/dist/interface/admin-interface.js.map +1 -1
  63. package/dist/interface/client-interface.d.mts +25 -1
  64. package/dist/interface/client-interface.d.ts +25 -1
  65. package/dist/interface/client-interface.js +41 -0
  66. package/dist/interface/client-interface.js.map +1 -1
  67. package/dist/interface/crud/{oauth.d.mts → connected-accounts.d.mts} +1 -0
  68. package/dist/interface/crud/{oauth.d.ts → connected-accounts.d.ts} +1 -0
  69. package/dist/interface/crud/{oauth.js → connected-accounts.js} +5 -5
  70. package/dist/interface/crud/connected-accounts.js.map +1 -0
  71. package/dist/interface/crud/contact-channels.d.mts +1 -0
  72. package/dist/interface/crud/contact-channels.d.ts +1 -0
  73. package/dist/interface/crud/current-user.d.mts +1 -0
  74. package/dist/interface/crud/current-user.d.ts +1 -0
  75. package/dist/interface/crud/email-templates.d.mts +1 -0
  76. package/dist/interface/crud/email-templates.d.ts +1 -0
  77. package/dist/interface/crud/emails.d.mts +1 -0
  78. package/dist/interface/crud/emails.d.ts +1 -0
  79. package/dist/interface/crud/internal-api-keys.d.mts +1 -0
  80. package/dist/interface/crud/internal-api-keys.d.ts +1 -0
  81. package/dist/interface/crud/notification-preferences.d.mts +1 -0
  82. package/dist/interface/crud/notification-preferences.d.ts +1 -0
  83. package/dist/interface/crud/oauth-providers.d.mts +173 -0
  84. package/dist/interface/crud/oauth-providers.d.ts +173 -0
  85. package/dist/interface/crud/oauth-providers.js +107 -0
  86. package/dist/interface/crud/oauth-providers.js.map +1 -0
  87. package/dist/interface/crud/project-api-keys.d.mts +1 -0
  88. package/dist/interface/crud/project-api-keys.d.ts +1 -0
  89. package/dist/interface/crud/project-permissions.d.mts +1 -0
  90. package/dist/interface/crud/project-permissions.d.ts +1 -0
  91. package/dist/interface/crud/projects.d.mts +16 -12
  92. package/dist/interface/crud/projects.d.ts +16 -12
  93. package/dist/interface/crud/projects.js +5 -3
  94. package/dist/interface/crud/projects.js.map +1 -1
  95. package/dist/interface/crud/sessions.d.mts +1 -0
  96. package/dist/interface/crud/sessions.d.ts +1 -0
  97. package/dist/interface/crud/svix-token.d.mts +1 -0
  98. package/dist/interface/crud/svix-token.d.ts +1 -0
  99. package/dist/interface/crud/team-invitation-details.d.mts +1 -0
  100. package/dist/interface/crud/team-invitation-details.d.ts +1 -0
  101. package/dist/interface/crud/team-invitation.d.mts +1 -0
  102. package/dist/interface/crud/team-invitation.d.ts +1 -0
  103. package/dist/interface/crud/team-member-profiles.d.mts +1 -0
  104. package/dist/interface/crud/team-member-profiles.d.ts +1 -0
  105. package/dist/interface/crud/team-memberships.d.mts +1 -0
  106. package/dist/interface/crud/team-memberships.d.ts +1 -0
  107. package/dist/interface/crud/team-permissions.d.mts +1 -0
  108. package/dist/interface/crud/team-permissions.d.ts +1 -0
  109. package/dist/interface/crud/teams.d.mts +1 -0
  110. package/dist/interface/crud/teams.d.ts +1 -0
  111. package/dist/interface/crud/users.d.mts +1 -0
  112. package/dist/interface/crud/users.d.ts +1 -0
  113. package/dist/interface/server-interface.d.mts +46 -1
  114. package/dist/interface/server-interface.d.ts +46 -1
  115. package/dist/interface/server-interface.js +51 -0
  116. package/dist/interface/server-interface.js.map +1 -1
  117. package/dist/known-errors.d.mts +9 -0
  118. package/dist/known-errors.d.ts +9 -0
  119. package/dist/known-errors.js +34 -1
  120. package/dist/known-errors.js.map +1 -1
  121. package/dist/schema-fields.d.mts +51 -7
  122. package/dist/schema-fields.d.ts +51 -7
  123. package/dist/schema-fields.js +128 -24
  124. package/dist/schema-fields.js.map +1 -1
  125. package/dist/utils/currencies.d.mts +39 -0
  126. package/dist/utils/currencies.d.ts +39 -0
  127. package/dist/utils/currencies.js +78 -0
  128. package/dist/utils/currencies.js.map +1 -0
  129. package/dist/utils/dates.d.mts +5 -1
  130. package/dist/utils/dates.d.ts +5 -1
  131. package/dist/utils/dates.js +58 -2
  132. package/dist/utils/dates.js.map +1 -1
  133. package/dist/utils/errors.d.mts +9 -0
  134. package/dist/utils/errors.d.ts +9 -0
  135. package/dist/utils/errors.js.map +1 -1
  136. package/dist/utils/esbuild.d.mts +3 -0
  137. package/dist/utils/esbuild.d.ts +3 -0
  138. package/dist/utils/esbuild.js +14 -4
  139. package/dist/utils/esbuild.js.map +1 -1
  140. package/dist/utils/oauth.d.mts +2 -2
  141. package/dist/utils/oauth.d.ts +2 -2
  142. package/dist/utils/oauth.js +1 -1
  143. package/dist/utils/oauth.js.map +1 -1
  144. package/dist/utils/objects.d.mts +23 -8
  145. package/dist/utils/objects.d.ts +23 -8
  146. package/dist/utils/objects.js +2 -0
  147. package/dist/utils/objects.js.map +1 -1
  148. package/dist/utils/strings.d.mts +3 -1
  149. package/dist/utils/strings.d.ts +3 -1
  150. package/dist/utils/strings.js +5 -0
  151. package/dist/utils/strings.js.map +1 -1
  152. package/dist/utils/types.d.mts +73 -2
  153. package/dist/utils/types.d.ts +73 -2
  154. package/dist/utils/types.js +54 -0
  155. package/dist/utils/types.js.map +1 -1
  156. package/package.json +1 -1
  157. package/dist/esm/helpers/email-themes.js +0 -45
  158. package/dist/esm/helpers/email-themes.js.map +0 -1
  159. package/dist/esm/interface/crud/oauth.js.map +0 -1
  160. package/dist/helpers/email-themes.d.mts +0 -13
  161. package/dist/helpers/email-themes.d.ts +0 -13
  162. package/dist/helpers/email-themes.js +0 -71
  163. package/dist/helpers/email-themes.js.map +0 -1
  164. package/dist/interface/crud/oauth.js.map +0 -1
@@ -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 emailConfigSchema: yup.ObjectSchema<{
6
7
  type: "shared" | "standard";
@@ -57,10 +58,11 @@ declare const projectsCrudAdminReadSchema: yup.ObjectSchema<{
57
58
  facebook_config_id?: string | undefined;
58
59
  microsoft_tenant_id?: string | undefined;
59
60
  type: "shared" | "standard";
60
- id: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin";
61
+ id: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "twitch";
62
+ provider_config_id: string;
61
63
  }[];
62
64
  enabled_oauth_providers: {
63
- id: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin";
65
+ id: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "twitch";
64
66
  }[];
65
67
  domains: {
66
68
  domain: string;
@@ -137,7 +139,7 @@ declare const projectsCrudClientReadSchema: yup.ObjectSchema<{
137
139
  allow_user_api_keys: boolean;
138
140
  allow_team_api_keys: boolean;
139
141
  enabled_oauth_providers: {
140
- id: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin";
142
+ id: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "twitch";
141
143
  }[];
142
144
  };
143
145
  }, yup.AnyObject, {
@@ -175,7 +177,7 @@ declare const projectsCrudAdminUpdateSchema: yup.ObjectSchema<{
175
177
  facebook_config_id?: string | undefined;
176
178
  microsoft_tenant_id?: string | undefined;
177
179
  type: "shared" | "standard";
178
- id: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin";
180
+ id: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "twitch";
179
181
  }[] | undefined;
180
182
  domains?: {
181
183
  domain: string;
@@ -229,7 +231,7 @@ declare const projectsCrudAdminCreateSchema: yup.ObjectSchema<{
229
231
  facebook_config_id?: string | undefined;
230
232
  microsoft_tenant_id?: string | undefined;
231
233
  type: "shared" | "standard";
232
- id: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin";
234
+ id: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "twitch";
233
235
  }[] | undefined;
234
236
  domains?: {
235
237
  domain: string;
@@ -280,7 +282,7 @@ declare const clientProjectsCrud: CrudSchemaFromOptions<{
280
282
  allow_user_api_keys: boolean;
281
283
  allow_team_api_keys: boolean;
282
284
  enabled_oauth_providers: {
283
- id: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin";
285
+ id: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "twitch";
284
286
  }[];
285
287
  };
286
288
  }, yup.AnyObject, {
@@ -330,10 +332,11 @@ declare const projectsCrud: CrudSchemaFromOptions<{
330
332
  facebook_config_id?: string | undefined;
331
333
  microsoft_tenant_id?: string | undefined;
332
334
  type: "shared" | "standard";
333
- id: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin";
335
+ id: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "twitch";
336
+ provider_config_id: string;
334
337
  }[];
335
338
  enabled_oauth_providers: {
336
- id: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin";
339
+ id: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "twitch";
337
340
  }[];
338
341
  domains: {
339
342
  domain: string;
@@ -417,7 +420,7 @@ declare const projectsCrud: CrudSchemaFromOptions<{
417
420
  facebook_config_id?: string | undefined;
418
421
  microsoft_tenant_id?: string | undefined;
419
422
  type: "shared" | "standard";
420
- id: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin";
423
+ id: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "twitch";
421
424
  }[] | undefined;
422
425
  domains?: {
423
426
  domain: string;
@@ -494,10 +497,11 @@ declare const adminUserProjectsCrud: CrudSchemaFromOptions<{
494
497
  facebook_config_id?: string | undefined;
495
498
  microsoft_tenant_id?: string | undefined;
496
499
  type: "shared" | "standard";
497
- id: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin";
500
+ id: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "twitch";
501
+ provider_config_id: string;
498
502
  }[];
499
503
  enabled_oauth_providers: {
500
- id: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin";
504
+ id: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "twitch";
501
505
  }[];
502
506
  domains: {
503
507
  domain: string;
@@ -581,7 +585,7 @@ declare const adminUserProjectsCrud: CrudSchemaFromOptions<{
581
585
  facebook_config_id?: string | undefined;
582
586
  microsoft_tenant_id?: string | undefined;
583
587
  type: "shared" | "standard";
584
- id: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin";
588
+ id: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "twitch";
585
589
  }[] | undefined;
586
590
  domains?: {
587
591
  domain: string;
@@ -48,7 +48,8 @@ var import_schema_fields = require("../../schema-fields.js");
48
48
  var teamPermissionSchema = (0, import_schema_fields.yupObject)({
49
49
  id: (0, import_schema_fields.yupString)().defined()
50
50
  }).defined();
51
- var oauthProviderSchema = (0, import_schema_fields.yupObject)({
51
+ var oauthProviderReadSchema = (0, import_schema_fields.yupObject)({
52
+ provider_config_id: schemaFields.yupString().defined(),
52
53
  id: schemaFields.oauthIdSchema.defined(),
53
54
  type: schemaFields.oauthTypeSchema.defined(),
54
55
  client_id: schemaFields.yupDefinedAndNonEmptyWhen(
@@ -63,6 +64,7 @@ var oauthProviderSchema = (0, import_schema_fields.yupObject)({
63
64
  facebook_config_id: schemaFields.oauthFacebookConfigIdSchema.optional(),
64
65
  microsoft_tenant_id: schemaFields.oauthMicrosoftTenantIdSchema.optional()
65
66
  });
67
+ var oauthProviderWriteSchema = oauthProviderReadSchema.omit(["provider_config_id"]);
66
68
  var enabledOAuthProviderSchema = (0, import_schema_fields.yupObject)({
67
69
  id: schemaFields.oauthIdSchema.defined()
68
70
  });
@@ -110,7 +112,7 @@ var projectsCrudAdminReadSchema = (0, import_schema_fields.yupObject)({
110
112
  client_user_deletion_enabled: schemaFields.projectClientUserDeletionEnabledSchema.defined(),
111
113
  allow_user_api_keys: schemaFields.yupBoolean().defined(),
112
114
  allow_team_api_keys: schemaFields.yupBoolean().defined(),
113
- oauth_providers: (0, import_schema_fields.yupArray)(oauthProviderSchema.defined()).defined(),
115
+ oauth_providers: (0, import_schema_fields.yupArray)(oauthProviderReadSchema.defined()).defined(),
114
116
  enabled_oauth_providers: (0, import_schema_fields.yupArray)(enabledOAuthProviderSchema.defined()).defined().meta({ openapiField: { hidden: true } }),
115
117
  domains: (0, import_schema_fields.yupArray)(domainSchema.defined()).defined(),
116
118
  email_config: emailConfigSchema.defined(),
@@ -154,7 +156,7 @@ var projectsCrudAdminUpdateSchema = (0, import_schema_fields.yupObject)({
154
156
  email_config: emailConfigSchema.optional().default(void 0),
155
157
  email_theme: schemaFields.emailThemeSchema.optional(),
156
158
  domains: (0, import_schema_fields.yupArray)(domainSchema.defined()).optional().default(void 0),
157
- oauth_providers: (0, import_schema_fields.yupArray)(oauthProviderSchema.defined()).optional().default(void 0),
159
+ oauth_providers: (0, import_schema_fields.yupArray)(oauthProviderWriteSchema.defined()).optional().default(void 0),
158
160
  create_team_on_sign_up: schemaFields.projectCreateTeamOnSignUpSchema.optional(),
159
161
  team_creator_default_permissions: (0, import_schema_fields.yupArray)(teamPermissionSchema.defined()).optional(),
160
162
  team_member_default_permissions: (0, import_schema_fields.yupArray)(teamPermissionSchema.defined()).optional(),
@@ -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 oauthProviderSchema = yupObject({\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 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 created_at_millis: schemaFields.projectCreatedAtMillisSchema.defined(),\n is_production_mode: schemaFields.projectIsProductionModeSchema.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(oauthProviderSchema.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 }).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 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(oauthProviderSchema.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}).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 created_at_millis: schemaFields.projectCreatedAtMillisSchema.defined(),\n is_production_mode: schemaFields.projectIsProductionModeSchema.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 }).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 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}).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,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 sessionsCrudServerCreateSchema: yup.ObjectSchema<{
6
7
  user_id: string;
@@ -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 sessionsCrudServerCreateSchema: yup.ObjectSchema<{
6
7
  user_id: string;
@@ -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 svixTokenAdminReadSchema: yup.ObjectSchema<{
6
7
  token: string;
@@ -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 svixTokenAdminReadSchema: yup.ObjectSchema<{
6
7
  token: string;
@@ -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 teamInvitationDetailsClientReadSchema: yup.ObjectSchema<{
6
7
  team_id: string;
@@ -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 teamInvitationDetailsClientReadSchema: yup.ObjectSchema<{
6
7
  team_id: string;
@@ -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 teamInvitationDetailsClientReadSchema: yup.ObjectSchema<{
6
7
  id: string;
@@ -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 teamInvitationDetailsClientReadSchema: yup.ObjectSchema<{
6
7
  id: string;
@@ -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 teamMemberProfilesCrudClientReadSchema: yup.ObjectSchema<{
6
7
  team_id: string;
@@ -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 teamMemberProfilesCrudClientReadSchema: yup.ObjectSchema<{
6
7
  team_id: string;
@@ -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 teamMembershipsCrudClientReadSchema: yup.ObjectSchema<{
6
7
  team_id: string;
@@ -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 teamMembershipsCrudClientReadSchema: yup.ObjectSchema<{
6
7
  team_id: string;
@@ -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 teamPermissionsCrudClientReadSchema: yup.ObjectSchema<{
6
7
  id: string;
@@ -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 teamPermissionsCrudClientReadSchema: yup.ObjectSchema<{
6
7
  id: string;
@@ -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 teamsCrudClientReadSchema: yup.ObjectSchema<{
6
7
  id: string;
@@ -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 teamsCrudClientReadSchema: yup.ObjectSchema<{
6
7
  id: string;
@@ -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 usersCrudServerUpdateSchema: yup.ObjectSchema<{
6
7
  display_name: string | null | 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 usersCrudServerUpdateSchema: yup.ObjectSchema<{
6
7
  display_name: string | null | undefined;
@@ -2,10 +2,10 @@ import { KnownErrors } from '../known-errors.mjs';
2
2
  import { InternalSession, AccessToken, RefreshToken } from '../sessions.mjs';
3
3
  import { Result } from '../utils/results.mjs';
4
4
  import { ClientInterfaceOptions, StackClientInterface } from './client-interface.mjs';
5
+ import { ConnectedAccountAccessTokenCrud } from './crud/connected-accounts.mjs';
5
6
  import { ContactChannelsCrud } from './crud/contact-channels.mjs';
6
7
  import { CurrentUserCrud } from './crud/current-user.mjs';
7
8
  import { NotificationPreferenceCrud } from './crud/notification-preferences.mjs';
8
- import { ConnectedAccountAccessTokenCrud } from './crud/oauth.mjs';
9
9
  import { ProjectPermissionsCrud } from './crud/project-permissions.mjs';
10
10
  import { SessionsCrud } from './crud/sessions.mjs';
11
11
  import { TeamInvitationCrud } from './crud/team-invitation.mjs';
@@ -22,6 +22,7 @@ import '@simplewebauthn/types';
22
22
  import './crud/project-api-keys.mjs';
23
23
  import '../crud.mjs';
24
24
  import '../utils/types.mjs';
25
+ import '../utils/strings.mjs';
25
26
  import './crud/projects.mjs';
26
27
 
27
28
  type ServerAuthApplicationOptions = (ClientInterfaceOptions & ({
@@ -128,6 +129,50 @@ declare class StackServerInterface extends StackClientInterface {
128
129
  oldPassword: string;
129
130
  newPassword: string;
130
131
  }): Promise<KnownErrors["PasswordConfirmationMismatch"] | KnownErrors["PasswordRequirementsNotMet"] | undefined>;
132
+ createServerOAuthProvider(data: {
133
+ user_id: string;
134
+ provider_config_id: string;
135
+ account_id: string;
136
+ email: string;
137
+ allow_sign_in: boolean;
138
+ allow_connected_accounts: boolean;
139
+ }): Promise<{
140
+ id: string;
141
+ type: string;
142
+ user_id: string;
143
+ account_id: string;
144
+ email: string;
145
+ allow_sign_in: boolean;
146
+ allow_connected_accounts: boolean;
147
+ }>;
148
+ listServerOAuthProviders(options?: {
149
+ user_id?: string;
150
+ }): Promise<{
151
+ id: string;
152
+ type: string;
153
+ user_id: string;
154
+ account_id: string;
155
+ email: string;
156
+ allow_sign_in: boolean;
157
+ allow_connected_accounts: boolean;
158
+ }[]>;
159
+ updateServerOAuthProvider(userId: string, providerId: string, data: {
160
+ account_id?: string;
161
+ email?: string;
162
+ allow_sign_in?: boolean;
163
+ allow_connected_accounts?: boolean;
164
+ }): Promise<{
165
+ id: string;
166
+ type: string;
167
+ user_id: string;
168
+ account_id: string;
169
+ email: string;
170
+ allow_sign_in: boolean;
171
+ allow_connected_accounts: boolean;
172
+ }>;
173
+ deleteServerOAuthProvider(userId: string, providerId: string): Promise<{
174
+ success: boolean;
175
+ }>;
131
176
  }
132
177
 
133
178
  export { type ServerAuthApplicationOptions, StackServerInterface };
@@ -2,10 +2,10 @@ import { KnownErrors } from '../known-errors.js';
2
2
  import { InternalSession, AccessToken, RefreshToken } from '../sessions.js';
3
3
  import { Result } from '../utils/results.js';
4
4
  import { ClientInterfaceOptions, StackClientInterface } from './client-interface.js';
5
+ import { ConnectedAccountAccessTokenCrud } from './crud/connected-accounts.js';
5
6
  import { ContactChannelsCrud } from './crud/contact-channels.js';
6
7
  import { CurrentUserCrud } from './crud/current-user.js';
7
8
  import { NotificationPreferenceCrud } from './crud/notification-preferences.js';
8
- import { ConnectedAccountAccessTokenCrud } from './crud/oauth.js';
9
9
  import { ProjectPermissionsCrud } from './crud/project-permissions.js';
10
10
  import { SessionsCrud } from './crud/sessions.js';
11
11
  import { TeamInvitationCrud } from './crud/team-invitation.js';
@@ -22,6 +22,7 @@ import '@simplewebauthn/types';
22
22
  import './crud/project-api-keys.js';
23
23
  import '../crud.js';
24
24
  import '../utils/types.js';
25
+ import '../utils/strings.js';
25
26
  import './crud/projects.js';
26
27
 
27
28
  type ServerAuthApplicationOptions = (ClientInterfaceOptions & ({
@@ -128,6 +129,50 @@ declare class StackServerInterface extends StackClientInterface {
128
129
  oldPassword: string;
129
130
  newPassword: string;
130
131
  }): Promise<KnownErrors["PasswordConfirmationMismatch"] | KnownErrors["PasswordRequirementsNotMet"] | undefined>;
132
+ createServerOAuthProvider(data: {
133
+ user_id: string;
134
+ provider_config_id: string;
135
+ account_id: string;
136
+ email: string;
137
+ allow_sign_in: boolean;
138
+ allow_connected_accounts: boolean;
139
+ }): Promise<{
140
+ id: string;
141
+ type: string;
142
+ user_id: string;
143
+ account_id: string;
144
+ email: string;
145
+ allow_sign_in: boolean;
146
+ allow_connected_accounts: boolean;
147
+ }>;
148
+ listServerOAuthProviders(options?: {
149
+ user_id?: string;
150
+ }): Promise<{
151
+ id: string;
152
+ type: string;
153
+ user_id: string;
154
+ account_id: string;
155
+ email: string;
156
+ allow_sign_in: boolean;
157
+ allow_connected_accounts: boolean;
158
+ }[]>;
159
+ updateServerOAuthProvider(userId: string, providerId: string, data: {
160
+ account_id?: string;
161
+ email?: string;
162
+ allow_sign_in?: boolean;
163
+ allow_connected_accounts?: boolean;
164
+ }): Promise<{
165
+ id: string;
166
+ type: string;
167
+ user_id: string;
168
+ account_id: string;
169
+ email: string;
170
+ allow_sign_in: boolean;
171
+ allow_connected_accounts: boolean;
172
+ }>;
173
+ deleteServerOAuthProvider(userId: string, providerId: string): Promise<{
174
+ success: boolean;
175
+ }>;
131
176
  }
132
177
 
133
178
  export { type ServerAuthApplicationOptions, StackServerInterface };
@@ -552,6 +552,57 @@ var StackServerInterface = class extends import_client_interface.StackClientInte
552
552
  return res.error;
553
553
  }
554
554
  }
555
+ // OAuth Providers CRUD operations
556
+ async createServerOAuthProvider(data) {
557
+ const response = await this.sendServerRequest(
558
+ "/oauth-providers",
559
+ {
560
+ method: "POST",
561
+ headers: {
562
+ "content-type": "application/json"
563
+ },
564
+ body: JSON.stringify(data)
565
+ },
566
+ null
567
+ );
568
+ return await response.json();
569
+ }
570
+ async listServerOAuthProviders(options = {}) {
571
+ const queryParams = new URLSearchParams((0, import_objects.filterUndefined)(options));
572
+ const response = await this.sendServerRequest(
573
+ `/oauth-providers${queryParams.toString() ? `?${queryParams.toString()}` : ""}`,
574
+ {
575
+ method: "GET"
576
+ },
577
+ null
578
+ );
579
+ const result = await response.json();
580
+ return result.items;
581
+ }
582
+ async updateServerOAuthProvider(userId, providerId, data) {
583
+ const response = await this.sendServerRequest(
584
+ import_urls.urlString`/oauth-providers/${userId}/${providerId}`,
585
+ {
586
+ method: "PATCH",
587
+ headers: {
588
+ "content-type": "application/json"
589
+ },
590
+ body: JSON.stringify(data)
591
+ },
592
+ null
593
+ );
594
+ return await response.json();
595
+ }
596
+ async deleteServerOAuthProvider(userId, providerId) {
597
+ const response = await this.sendServerRequest(
598
+ import_urls.urlString`/oauth-providers/${userId}/${providerId}`,
599
+ {
600
+ method: "DELETE"
601
+ },
602
+ null
603
+ );
604
+ return await response.json();
605
+ }
555
606
  };
556
607
  // Annotate the CommonJS export names for ESM import in node:
557
608
  0 && (module.exports = {