@stackframe/stack-shared 2.5.35 → 2.6.0

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 (38) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/dist/interface/clientInterface.d.ts +14 -11
  3. package/dist/interface/clientInterface.js +35 -16
  4. package/dist/interface/crud/current-user.d.ts +6 -6
  5. package/dist/interface/crud/current-user.js +2 -2
  6. package/dist/interface/crud/projects.d.ts +26 -12
  7. package/dist/interface/crud/projects.js +3 -0
  8. package/dist/interface/crud/team-member-profiles.d.ts +6 -6
  9. package/dist/interface/crud/users.d.ts +16 -12
  10. package/dist/interface/crud/users.js +3 -0
  11. package/dist/interface/webhooks.d.ts +8 -4
  12. package/dist/known-errors.d.ts +8 -0
  13. package/dist/known-errors.js +10 -0
  14. package/dist/schema-fields.d.ts +6 -2
  15. package/dist/schema-fields.js +63 -5
  16. package/dist/utils/jwt.d.ts +1 -1
  17. package/dist/utils/jwt.js +2 -2
  18. package/dist/utils/oauth.d.ts +2 -2
  19. package/dist/utils/oauth.js +1 -1
  20. package/package.json +4 -2
  21. package/dist/interface/crud-deprecated/api-keys.d.ts +0 -134
  22. package/dist/interface/crud-deprecated/api-keys.js +0 -61
  23. package/dist/interface/crud-deprecated/current-user.d.ts +0 -127
  24. package/dist/interface/crud-deprecated/current-user.js +0 -49
  25. package/dist/interface/crud-deprecated/email-templates.d.ts +0 -75
  26. package/dist/interface/crud-deprecated/email-templates.js +0 -41
  27. package/dist/interface/crud-deprecated/oauth.d.ts +0 -24
  28. package/dist/interface/crud-deprecated/oauth.js +0 -12
  29. package/dist/interface/crud-deprecated/projects.d.ts +0 -440
  30. package/dist/interface/crud-deprecated/projects.js +0 -109
  31. package/dist/interface/crud-deprecated/team-memberships.d.ts +0 -22
  32. package/dist/interface/crud-deprecated/team-memberships.js +0 -22
  33. package/dist/interface/crud-deprecated/team-permissions.d.ts +0 -129
  34. package/dist/interface/crud-deprecated/team-permissions.js +0 -83
  35. package/dist/interface/crud-deprecated/teams.d.ts +0 -126
  36. package/dist/interface/crud-deprecated/teams.js +0 -78
  37. package/dist/interface/crud-deprecated/users.d.ts +0 -199
  38. package/dist/interface/crud-deprecated/users.js +0 -75
package/CHANGELOG.md CHANGED
@@ -1,5 +1,31 @@
1
1
  # @stackframe/stack-shared
2
2
 
3
+ ## 2.6.0
4
+
5
+ ### Minor Changes
6
+
7
+ - OTP login, more providers, and styling improvements
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies
12
+ - @stackframe/stack-sc@2.6.0
13
+
14
+ ## 2.5.37
15
+
16
+ ### Patch Changes
17
+
18
+ - client side account deletion; new account setting style;
19
+ - @stackframe/stack-sc@2.5.37
20
+
21
+ ## 2.5.36
22
+
23
+ ### Patch Changes
24
+
25
+ - added apple oauth
26
+ - Updated dependencies
27
+ - @stackframe/stack-sc@2.5.36
28
+
3
29
  ## 2.5.35
4
30
 
5
31
  ### Patch Changes
@@ -51,22 +51,24 @@ export declare class StackClientInterface {
51
51
  checkFeatureSupport(options: {
52
52
  featureName?: string;
53
53
  } & ReadonlyJson): Promise<never>;
54
- sendForgotPasswordEmail(email: string, callbackUrl: string): Promise<KnownErrors["UserNotFound"] | undefined>;
54
+ sendForgotPasswordEmail(email: string, callbackUrl: string): Promise<Result<undefined, KnownErrors["UserNotFound"]>>;
55
55
  sendVerificationEmail(email: string, callbackUrl: string, session: InternalSession): Promise<KnownErrors["EmailAlreadyVerified"] | undefined>;
56
- sendMagicLinkEmail(email: string, callbackUrl: string): Promise<KnownErrors["RedirectUrlNotWhitelisted"] | undefined>;
56
+ sendMagicLinkEmail(email: string, callbackUrl: string): Promise<Result<{
57
+ nonce: string;
58
+ }, KnownErrors["RedirectUrlNotWhitelisted"]>>;
57
59
  resetPassword(options: {
58
60
  code: string;
59
61
  } & ({
60
62
  password: string;
61
63
  } | {
62
64
  onlyVerifyCode: true;
63
- })): Promise<KnownErrors["VerificationCodeError"] | undefined>;
65
+ })): Promise<Result<undefined, KnownErrors["VerificationCodeError"]>>;
64
66
  updatePassword(options: {
65
67
  oldPassword: string;
66
68
  newPassword: string;
67
69
  }, session: InternalSession): Promise<KnownErrors["PasswordConfirmationMismatch"] | KnownErrors["PasswordRequirementsNotMet"] | undefined>;
68
- verifyPasswordResetCode(code: string): Promise<KnownErrors["VerificationCodeError"] | undefined>;
69
- verifyEmail(code: string): Promise<KnownErrors["VerificationCodeError"] | undefined>;
70
+ verifyPasswordResetCode(code: string): Promise<Result<undefined, KnownErrors["VerificationCodeError"]>>;
71
+ verifyEmail(code: string): Promise<Result<undefined, KnownErrors["VerificationCodeError"]>>;
70
72
  sendTeamInvitation(options: {
71
73
  email: string;
72
74
  teamId: string;
@@ -85,19 +87,19 @@ export declare class StackClientInterface {
85
87
  refreshToken: any;
86
88
  newUser: any;
87
89
  }>;
88
- signInWithCredential(email: string, password: string, session: InternalSession): Promise<KnownErrors["EmailPasswordMismatch"] | {
90
+ signInWithCredential(email: string, password: string, session: InternalSession): Promise<Result<{
89
91
  accessToken: string;
90
92
  refreshToken: string;
91
- }>;
92
- signUpWithCredential(email: string, password: string, emailVerificationRedirectUrl: string, session: InternalSession): Promise<KnownErrors["UserEmailAlreadyExists"] | KnownErrors["PasswordRequirementsNotMet"] | {
93
+ }, KnownErrors["EmailPasswordMismatch"]>>;
94
+ signUpWithCredential(email: string, password: string, emailVerificationRedirectUrl: string, session: InternalSession): Promise<Result<{
93
95
  accessToken: string;
94
96
  refreshToken: string;
95
- }>;
96
- signInWithMagicLink(code: string): Promise<KnownErrors["VerificationCodeError"] | {
97
+ }, KnownErrors["UserEmailAlreadyExists"] | KnownErrors["PasswordRequirementsNotMet"]>>;
98
+ signInWithMagicLink(code: string): Promise<Result<{
97
99
  newUser: boolean;
98
100
  accessToken: string;
99
101
  refreshToken: string;
100
- }>;
102
+ }, KnownErrors["VerificationCodeError"]>>;
101
103
  getOAuthUrl(options: {
102
104
  provider: string;
103
105
  redirectUrl: string;
@@ -155,4 +157,5 @@ export declare class StackClientInterface {
155
157
  createProject(project: InternalProjectsCrud['Client']['Create'], session: InternalSession): Promise<InternalProjectsCrud['Client']['Read']>;
156
158
  createProviderAccessToken(provider: string, scope: string, session: InternalSession): Promise<ConnectedAccountAccessTokenCrud['Client']['Read']>;
157
159
  createTeamForCurrentUser(data: TeamsCrud['Client']['Create'], session: InternalSession): Promise<TeamsCrud['Client']['Read']>;
160
+ deleteCurrentUser(session: InternalSession): Promise<void>;
158
161
  }
@@ -303,7 +303,10 @@ export class StackClientInterface {
303
303
  }),
304
304
  }, null, [KnownErrors.UserNotFound]);
305
305
  if (res.status === "error") {
306
- return res.error;
306
+ return Result.error(res.error);
307
+ }
308
+ else {
309
+ return Result.ok(undefined);
307
310
  }
308
311
  }
309
312
  async sendVerificationEmail(email, callbackUrl, session) {
@@ -333,7 +336,10 @@ export class StackClientInterface {
333
336
  }),
334
337
  }, null, [KnownErrors.RedirectUrlNotWhitelisted]);
335
338
  if (res.status === "error") {
336
- return res.error;
339
+ return Result.error(res.error);
340
+ }
341
+ else {
342
+ return Result.ok(await res.data.json());
337
343
  }
338
344
  }
339
345
  async resetPassword(options) {
@@ -348,7 +354,10 @@ export class StackClientInterface {
348
354
  }),
349
355
  }, null, [KnownErrors.VerificationCodeError]);
350
356
  if (res.status === "error") {
351
- return res.error;
357
+ return Result.error(res.error);
358
+ }
359
+ else {
360
+ return Result.ok(undefined);
352
361
  }
353
362
  }
354
363
  async updatePassword(options, session) {
@@ -368,10 +377,12 @@ export class StackClientInterface {
368
377
  }
369
378
  async verifyPasswordResetCode(code) {
370
379
  const res = await this.resetPassword({ code, onlyVerifyCode: true });
371
- if (res && !(res instanceof KnownErrors.VerificationCodeError)) {
372
- throw res;
380
+ if (res.status === "error") {
381
+ return Result.error(res.error);
382
+ }
383
+ else {
384
+ return Result.ok(undefined);
373
385
  }
374
- return res;
375
386
  }
376
387
  async verifyEmail(code) {
377
388
  const res = await this.sendClientRequestAndCatchKnownError("/contact-channels/verify", {
@@ -384,7 +395,10 @@ export class StackClientInterface {
384
395
  }),
385
396
  }, null, [KnownErrors.VerificationCodeError]);
386
397
  if (res.status === "error") {
387
- return res.error;
398
+ return Result.error(res.error);
399
+ }
400
+ else {
401
+ return Result.ok(undefined);
388
402
  }
389
403
  }
390
404
  async sendTeamInvitation(options) {
@@ -458,13 +472,13 @@ export class StackClientInterface {
458
472
  }),
459
473
  }, session, [KnownErrors.EmailPasswordMismatch]);
460
474
  if (res.status === "error") {
461
- return res.error;
475
+ return Result.error(res.error);
462
476
  }
463
477
  const result = await res.data.json();
464
- return {
478
+ return Result.ok({
465
479
  accessToken: result.access_token,
466
480
  refreshToken: result.refresh_token,
467
- };
481
+ });
468
482
  }
469
483
  async signUpWithCredential(email, password, emailVerificationRedirectUrl, session) {
470
484
  const res = await this.sendClientRequestAndCatchKnownError("/auth/password/sign-up", {
@@ -479,13 +493,13 @@ export class StackClientInterface {
479
493
  }),
480
494
  }, session, [KnownErrors.UserEmailAlreadyExists, KnownErrors.PasswordRequirementsNotMet]);
481
495
  if (res.status === "error") {
482
- return res.error;
496
+ return Result.error(res.error);
483
497
  }
484
498
  const result = await res.data.json();
485
- return {
499
+ return Result.ok({
486
500
  accessToken: result.access_token,
487
501
  refreshToken: result.refresh_token,
488
- };
502
+ });
489
503
  }
490
504
  async signInWithMagicLink(code) {
491
505
  const res = await this.sendClientRequestAndCatchKnownError("/auth/otp/sign-in", {
@@ -498,14 +512,14 @@ export class StackClientInterface {
498
512
  }),
499
513
  }, null, [KnownErrors.VerificationCodeError]);
500
514
  if (res.status === "error") {
501
- return res.error;
515
+ return Result.error(res.error);
502
516
  }
503
517
  const result = await res.data.json();
504
- return {
518
+ return Result.ok({
505
519
  accessToken: result.access_token,
506
520
  refreshToken: result.refresh_token,
507
521
  newUser: result.is_new_user,
508
- };
522
+ });
509
523
  }
510
524
  async getOAuthUrl(options) {
511
525
  const updatedRedirectUrl = new URL(options.redirectUrl);
@@ -728,4 +742,9 @@ export class StackClientInterface {
728
742
  }, session);
729
743
  return await response.json();
730
744
  }
745
+ async deleteCurrentUser(session) {
746
+ await this.sendClientRequest("/users/me", {
747
+ method: "DELETE",
748
+ }, session);
749
+ }
731
750
  }
@@ -1,6 +1,7 @@
1
1
  import { CrudTypeOf } from "../../crud";
2
2
  export declare const currentUserCrud: import("../../crud").CrudSchemaFromOptions<{
3
3
  clientReadSchema: import("yup").ObjectSchema<({
4
+ primary_email: string | null;
4
5
  id: string;
5
6
  display_name: string | null;
6
7
  oauth_providers: {
@@ -8,7 +9,6 @@ export declare const currentUserCrud: import("../../crud").CrudSchemaFromOptions
8
9
  id: string;
9
10
  account_id: string;
10
11
  }[];
11
- primary_email: string | null;
12
12
  profile_image_url: string | null;
13
13
  client_metadata: {} | null;
14
14
  client_read_only_metadata: {} | null;
@@ -30,7 +30,7 @@ export declare const currentUserCrud: import("../../crud").CrudSchemaFromOptions
30
30
  } | {
31
31
  type: "oauth";
32
32
  provider: {
33
- type: NonNullable<"google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | undefined>;
33
+ type: NonNullable<"google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "apple" | "x" | undefined>;
34
34
  id: string;
35
35
  provider_user_id: string;
36
36
  };
@@ -38,7 +38,7 @@ export declare const currentUserCrud: import("../../crud").CrudSchemaFromOptions
38
38
  connected_accounts: {
39
39
  type: "oauth";
40
40
  provider: {
41
- type: NonNullable<"google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | undefined>;
41
+ type: NonNullable<"google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "apple" | "x" | undefined>;
42
42
  id: string;
43
43
  provider_user_id: string;
44
44
  };
@@ -114,7 +114,7 @@ export declare const currentUserCrud: import("../../crud").CrudSchemaFromOptions
114
114
  } | {
115
115
  type: "oauth";
116
116
  provider: {
117
- type: NonNullable<"google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | undefined>;
117
+ type: NonNullable<"google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "apple" | "x" | undefined>;
118
118
  id: string;
119
119
  provider_user_id: string;
120
120
  };
@@ -122,7 +122,7 @@ export declare const currentUserCrud: import("../../crud").CrudSchemaFromOptions
122
122
  connected_accounts: {
123
123
  type: "oauth";
124
124
  provider: {
125
- type: NonNullable<"google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | undefined>;
125
+ type: NonNullable<"google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "apple" | "x" | undefined>;
126
126
  id: string;
127
127
  provider_user_id: string;
128
128
  };
@@ -203,7 +203,7 @@ export declare const currentUserCrud: import("../../crud").CrudSchemaFromOptions
203
203
  totp_secret_base64: undefined;
204
204
  selected_team_id: undefined;
205
205
  }, "">;
206
- serverDeleteSchema: import("yup").MixedSchema<{} | undefined, import("yup").AnyObject, undefined, "">;
206
+ clientDeleteSchema: import("yup").MixedSchema<{} | undefined, import("yup").AnyObject, undefined, "">;
207
207
  docs: {
208
208
  clientRead: {
209
209
  summary: string;
@@ -31,13 +31,13 @@ const clientReadSchema = usersCrudServerReadSchema.pick([
31
31
  })).nullable().defined(); // TODO: next-release: make required
32
32
  // TODO: next-release: make required
33
33
  const serverReadSchema = usersCrudServerReadSchema.nullable().defined();
34
- const serverDeleteSchema = usersCrudServerDeleteSchema;
34
+ const clientDeleteSchema = usersCrudServerDeleteSchema;
35
35
  export const currentUserCrud = createCrud({
36
36
  clientReadSchema,
37
37
  serverReadSchema,
38
38
  clientUpdateSchema,
39
39
  serverUpdateSchema,
40
- serverDeleteSchema,
40
+ clientDeleteSchema,
41
41
  docs: {
42
42
  clientRead: {
43
43
  summary: 'Get current user',
@@ -13,17 +13,18 @@ export declare const projectsCrudAdminReadSchema: import("yup").ObjectSchema<{
13
13
  credential_enabled: NonNullable<boolean | undefined>;
14
14
  magic_link_enabled: NonNullable<boolean | undefined>;
15
15
  client_team_creation_enabled: NonNullable<boolean | undefined>;
16
+ client_user_deletion_enabled: NonNullable<boolean | undefined>;
16
17
  oauth_providers: {
17
18
  client_id?: string | undefined;
18
19
  client_secret?: string | undefined;
19
20
  facebook_config_id?: string | undefined;
20
21
  microsoft_tenant_id?: string | undefined;
21
22
  type: NonNullable<"shared" | "standard" | undefined>;
22
- id: NonNullable<"google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | undefined>;
23
+ id: NonNullable<"google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "apple" | "x" | undefined>;
23
24
  enabled: NonNullable<boolean | undefined>;
24
25
  }[];
25
26
  enabled_oauth_providers: {
26
- id: NonNullable<"google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | undefined>;
27
+ id: NonNullable<"google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "apple" | "x" | undefined>;
27
28
  }[];
28
29
  domains: {
29
30
  domain: string;
@@ -60,6 +61,7 @@ export declare const projectsCrudAdminReadSchema: import("yup").ObjectSchema<{
60
61
  credential_enabled: undefined;
61
62
  magic_link_enabled: undefined;
62
63
  client_team_creation_enabled: undefined;
64
+ client_user_deletion_enabled: undefined;
63
65
  oauth_providers: undefined;
64
66
  enabled_oauth_providers: undefined;
65
67
  domains: undefined;
@@ -85,8 +87,9 @@ export declare const projectsCrudClientReadSchema: import("yup").ObjectSchema<{
85
87
  credential_enabled: NonNullable<boolean | undefined>;
86
88
  magic_link_enabled: NonNullable<boolean | undefined>;
87
89
  client_team_creation_enabled: NonNullable<boolean | undefined>;
90
+ client_user_deletion_enabled: NonNullable<boolean | undefined>;
88
91
  enabled_oauth_providers: {
89
- id: NonNullable<"google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | undefined>;
92
+ id: NonNullable<"google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "apple" | "x" | undefined>;
90
93
  }[];
91
94
  };
92
95
  }, import("yup").AnyObject, {
@@ -97,6 +100,7 @@ export declare const projectsCrudClientReadSchema: import("yup").ObjectSchema<{
97
100
  credential_enabled: undefined;
98
101
  magic_link_enabled: undefined;
99
102
  client_team_creation_enabled: undefined;
103
+ client_user_deletion_enabled: undefined;
100
104
  enabled_oauth_providers: undefined;
101
105
  };
102
106
  }, "">;
@@ -110,13 +114,14 @@ export declare const projectsCrudAdminUpdateSchema: import("yup").ObjectSchema<{
110
114
  credential_enabled?: boolean | undefined;
111
115
  magic_link_enabled?: boolean | undefined;
112
116
  client_team_creation_enabled?: boolean | undefined;
117
+ client_user_deletion_enabled?: boolean | undefined;
113
118
  oauth_providers?: {
114
119
  client_id?: string | undefined;
115
120
  client_secret?: string | undefined;
116
121
  facebook_config_id?: string | undefined;
117
122
  microsoft_tenant_id?: string | undefined;
118
123
  type: NonNullable<"shared" | "standard" | undefined>;
119
- id: NonNullable<"google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | undefined>;
124
+ id: NonNullable<"google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "apple" | "x" | undefined>;
120
125
  enabled: NonNullable<boolean | undefined>;
121
126
  }[] | undefined;
122
127
  domains?: {
@@ -156,13 +161,14 @@ export declare const projectsCrudAdminCreateSchema: import("yup").ObjectSchema<{
156
161
  credential_enabled?: boolean | undefined;
157
162
  magic_link_enabled?: boolean | undefined;
158
163
  client_team_creation_enabled?: boolean | undefined;
164
+ client_user_deletion_enabled?: boolean | undefined;
159
165
  oauth_providers?: {
160
166
  client_id?: string | undefined;
161
167
  client_secret?: string | undefined;
162
168
  facebook_config_id?: string | undefined;
163
169
  microsoft_tenant_id?: string | undefined;
164
170
  type: NonNullable<"shared" | "standard" | undefined>;
165
- id: NonNullable<"google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | undefined>;
171
+ id: NonNullable<"google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "apple" | "x" | undefined>;
166
172
  enabled: NonNullable<boolean | undefined>;
167
173
  }[] | undefined;
168
174
  domains?: {
@@ -204,8 +210,9 @@ export declare const projectsCrud: import("../../crud").CrudSchemaFromOptions<{
204
210
  credential_enabled: NonNullable<boolean | undefined>;
205
211
  magic_link_enabled: NonNullable<boolean | undefined>;
206
212
  client_team_creation_enabled: NonNullable<boolean | undefined>;
213
+ client_user_deletion_enabled: NonNullable<boolean | undefined>;
207
214
  enabled_oauth_providers: {
208
- id: NonNullable<"google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | undefined>;
215
+ id: NonNullable<"google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "apple" | "x" | undefined>;
209
216
  }[];
210
217
  };
211
218
  }, import("yup").AnyObject, {
@@ -216,6 +223,7 @@ export declare const projectsCrud: import("../../crud").CrudSchemaFromOptions<{
216
223
  credential_enabled: undefined;
217
224
  magic_link_enabled: undefined;
218
225
  client_team_creation_enabled: undefined;
226
+ client_user_deletion_enabled: undefined;
219
227
  enabled_oauth_providers: undefined;
220
228
  };
221
229
  }, "">;
@@ -233,17 +241,18 @@ export declare const projectsCrud: import("../../crud").CrudSchemaFromOptions<{
233
241
  credential_enabled: NonNullable<boolean | undefined>;
234
242
  magic_link_enabled: NonNullable<boolean | undefined>;
235
243
  client_team_creation_enabled: NonNullable<boolean | undefined>;
244
+ client_user_deletion_enabled: NonNullable<boolean | undefined>;
236
245
  oauth_providers: {
237
246
  client_id?: string | undefined;
238
247
  client_secret?: string | undefined;
239
248
  facebook_config_id?: string | undefined;
240
249
  microsoft_tenant_id?: string | undefined;
241
250
  type: NonNullable<"shared" | "standard" | undefined>;
242
- id: NonNullable<"google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | undefined>;
251
+ id: NonNullable<"google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "apple" | "x" | undefined>;
243
252
  enabled: NonNullable<boolean | undefined>;
244
253
  }[];
245
254
  enabled_oauth_providers: {
246
- id: NonNullable<"google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | undefined>;
255
+ id: NonNullable<"google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "apple" | "x" | undefined>;
247
256
  }[];
248
257
  domains: {
249
258
  domain: string;
@@ -280,6 +289,7 @@ export declare const projectsCrud: import("../../crud").CrudSchemaFromOptions<{
280
289
  credential_enabled: undefined;
281
290
  magic_link_enabled: undefined;
282
291
  client_team_creation_enabled: undefined;
292
+ client_user_deletion_enabled: undefined;
283
293
  oauth_providers: undefined;
284
294
  enabled_oauth_providers: undefined;
285
295
  domains: undefined;
@@ -307,13 +317,14 @@ export declare const projectsCrud: import("../../crud").CrudSchemaFromOptions<{
307
317
  credential_enabled?: boolean | undefined;
308
318
  magic_link_enabled?: boolean | undefined;
309
319
  client_team_creation_enabled?: boolean | undefined;
320
+ client_user_deletion_enabled?: boolean | undefined;
310
321
  oauth_providers?: {
311
322
  client_id?: string | undefined;
312
323
  client_secret?: string | undefined;
313
324
  facebook_config_id?: string | undefined;
314
325
  microsoft_tenant_id?: string | undefined;
315
326
  type: NonNullable<"shared" | "standard" | undefined>;
316
- id: NonNullable<"google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | undefined>;
327
+ id: NonNullable<"google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "apple" | "x" | undefined>;
317
328
  enabled: NonNullable<boolean | undefined>;
318
329
  }[] | undefined;
319
330
  domains?: {
@@ -383,17 +394,18 @@ export declare const internalProjectsCrud: import("../../crud").CrudSchemaFromOp
383
394
  credential_enabled: NonNullable<boolean | undefined>;
384
395
  magic_link_enabled: NonNullable<boolean | undefined>;
385
396
  client_team_creation_enabled: NonNullable<boolean | undefined>;
397
+ client_user_deletion_enabled: NonNullable<boolean | undefined>;
386
398
  oauth_providers: {
387
399
  client_id?: string | undefined;
388
400
  client_secret?: string | undefined;
389
401
  facebook_config_id?: string | undefined;
390
402
  microsoft_tenant_id?: string | undefined;
391
403
  type: NonNullable<"shared" | "standard" | undefined>;
392
- id: NonNullable<"google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | undefined>;
404
+ id: NonNullable<"google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "apple" | "x" | undefined>;
393
405
  enabled: NonNullable<boolean | undefined>;
394
406
  }[];
395
407
  enabled_oauth_providers: {
396
- id: NonNullable<"google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | undefined>;
408
+ id: NonNullable<"google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "apple" | "x" | undefined>;
397
409
  }[];
398
410
  domains: {
399
411
  domain: string;
@@ -430,6 +442,7 @@ export declare const internalProjectsCrud: import("../../crud").CrudSchemaFromOp
430
442
  credential_enabled: undefined;
431
443
  magic_link_enabled: undefined;
432
444
  client_team_creation_enabled: undefined;
445
+ client_user_deletion_enabled: undefined;
433
446
  oauth_providers: undefined;
434
447
  enabled_oauth_providers: undefined;
435
448
  domains: undefined;
@@ -457,13 +470,14 @@ export declare const internalProjectsCrud: import("../../crud").CrudSchemaFromOp
457
470
  credential_enabled?: boolean | undefined;
458
471
  magic_link_enabled?: boolean | undefined;
459
472
  client_team_creation_enabled?: boolean | undefined;
473
+ client_user_deletion_enabled?: boolean | undefined;
460
474
  oauth_providers?: {
461
475
  client_id?: string | undefined;
462
476
  client_secret?: string | undefined;
463
477
  facebook_config_id?: string | undefined;
464
478
  microsoft_tenant_id?: string | undefined;
465
479
  type: NonNullable<"shared" | "standard" | undefined>;
466
- id: NonNullable<"google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | undefined>;
480
+ id: NonNullable<"google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "apple" | "x" | undefined>;
467
481
  enabled: NonNullable<boolean | undefined>;
468
482
  }[] | undefined;
469
483
  domains?: {
@@ -44,6 +44,7 @@ export const projectsCrudAdminReadSchema = yupObject({
44
44
  credential_enabled: schemaFields.projectCredentialEnabledSchema.required(),
45
45
  magic_link_enabled: schemaFields.projectMagicLinkEnabledSchema.required(),
46
46
  client_team_creation_enabled: schemaFields.projectClientTeamCreationEnabledSchema.required(),
47
+ client_user_deletion_enabled: schemaFields.projectClientUserDeletionEnabledSchema.required(),
47
48
  oauth_providers: yupArray(oauthProviderSchema.required()).required(),
48
49
  enabled_oauth_providers: yupArray(enabledOAuthProviderSchema.required()).required(),
49
50
  domains: yupArray(domainSchema.required()).required(),
@@ -61,6 +62,7 @@ export const projectsCrudClientReadSchema = yupObject({
61
62
  credential_enabled: schemaFields.projectCredentialEnabledSchema.required(),
62
63
  magic_link_enabled: schemaFields.projectMagicLinkEnabledSchema.required(),
63
64
  client_team_creation_enabled: schemaFields.projectClientTeamCreationEnabledSchema.required(),
65
+ client_user_deletion_enabled: schemaFields.projectClientUserDeletionEnabledSchema.required(),
64
66
  enabled_oauth_providers: yupArray(enabledOAuthProviderSchema.required()).required(),
65
67
  }).required(),
66
68
  }).required();
@@ -73,6 +75,7 @@ export const projectsCrudAdminUpdateSchema = yupObject({
73
75
  credential_enabled: schemaFields.projectCredentialEnabledSchema.optional(),
74
76
  magic_link_enabled: schemaFields.projectMagicLinkEnabledSchema.optional(),
75
77
  client_team_creation_enabled: schemaFields.projectClientTeamCreationEnabledSchema.optional(),
78
+ client_user_deletion_enabled: schemaFields.projectClientUserDeletionEnabledSchema.optional(),
76
79
  allow_localhost: schemaFields.projectAllowLocalhostSchema.optional(),
77
80
  email_config: emailConfigSchema.optional().default(undefined),
78
81
  domains: yupArray(domainSchema.required()).optional().default(undefined),
@@ -17,6 +17,7 @@ export declare const teamMemberProfilesCrudServerReadSchema: import("yup").Objec
17
17
  profile_image_url: string | null;
18
18
  } & {
19
19
  user: {
20
+ primary_email: string | null;
20
21
  id: string;
21
22
  display_name: string | null;
22
23
  oauth_providers: {
@@ -24,7 +25,6 @@ export declare const teamMemberProfilesCrudServerReadSchema: import("yup").Objec
24
25
  id: string;
25
26
  account_id: string;
26
27
  }[];
27
- primary_email: string | null;
28
28
  profile_image_url: string | null;
29
29
  client_metadata: {} | null;
30
30
  client_read_only_metadata: {} | null;
@@ -56,7 +56,7 @@ export declare const teamMemberProfilesCrudServerReadSchema: import("yup").Objec
56
56
  } | {
57
57
  type: "oauth";
58
58
  provider: {
59
- type: NonNullable<"google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | undefined>;
59
+ type: NonNullable<"google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "apple" | "x" | undefined>;
60
60
  id: string;
61
61
  provider_user_id: string;
62
62
  };
@@ -64,7 +64,7 @@ export declare const teamMemberProfilesCrudServerReadSchema: import("yup").Objec
64
64
  connected_accounts: {
65
65
  type: "oauth";
66
66
  provider: {
67
- type: NonNullable<"google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | undefined>;
67
+ type: NonNullable<"google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "apple" | "x" | undefined>;
68
68
  id: string;
69
69
  provider_user_id: string;
70
70
  };
@@ -131,6 +131,7 @@ export declare const teamMemberProfilesCrud: import("../../crud").CrudSchemaFrom
131
131
  profile_image_url: string | null;
132
132
  } & {
133
133
  user: {
134
+ primary_email: string | null;
134
135
  id: string;
135
136
  display_name: string | null;
136
137
  oauth_providers: {
@@ -138,7 +139,6 @@ export declare const teamMemberProfilesCrud: import("../../crud").CrudSchemaFrom
138
139
  id: string;
139
140
  account_id: string;
140
141
  }[];
141
- primary_email: string | null;
142
142
  profile_image_url: string | null;
143
143
  client_metadata: {} | null;
144
144
  client_read_only_metadata: {} | null;
@@ -170,7 +170,7 @@ export declare const teamMemberProfilesCrud: import("../../crud").CrudSchemaFrom
170
170
  } | {
171
171
  type: "oauth";
172
172
  provider: {
173
- type: NonNullable<"google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | undefined>;
173
+ type: NonNullable<"google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "apple" | "x" | undefined>;
174
174
  id: string;
175
175
  provider_user_id: string;
176
176
  };
@@ -178,7 +178,7 @@ export declare const teamMemberProfilesCrud: import("../../crud").CrudSchemaFrom
178
178
  connected_accounts: {
179
179
  type: "oauth";
180
180
  provider: {
181
- type: NonNullable<"google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | undefined>;
181
+ type: NonNullable<"google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "apple" | "x" | undefined>;
182
182
  id: string;
183
183
  provider_user_id: string;
184
184
  };