@logto/schemas 1.30.1 → 1.32.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.
- package/alterations/1.31.0-1753689065-add-forgot-password-methods-to-sie-table.ts +20 -0
- package/alterations/1.32.0-1756370721-align-app-and-org-sign-in-exp-configs.ts +28 -0
- package/alterations/1.32.0-1756954492-add-default-to-forgot-password-methods.ts +35 -0
- package/alterations/1.32.0-1759041888-add-tenant-date-index-to-daily-active-users-table.ts +18 -0
- package/alterations-js/1.31.0-1753689065-add-forgot-password-methods-to-sie-table.js +16 -0
- package/alterations-js/1.32.0-1756370721-align-app-and-org-sign-in-exp-configs.js +24 -0
- package/alterations-js/1.32.0-1756954492-add-default-to-forgot-password-methods.js +29 -0
- package/alterations-js/1.32.0-1759041888-add-tenant-date-index-to-daily-active-users-table.js +15 -0
- package/lib/consts/oidc.d.ts +11 -0
- package/lib/consts/oidc.js +8 -0
- package/lib/consts/subscriptions.d.ts +8 -2
- package/lib/consts/subscriptions.js +7 -1
- package/lib/db-entries/application-sign-in-experience.d.ts +3 -1
- package/lib/db-entries/application-sign-in-experience.js +4 -0
- package/lib/db-entries/organization.d.ts +10 -2
- package/lib/db-entries/organization.js +9 -1
- package/lib/db-entries/sign-in-experience.d.ts +4 -2
- package/lib/db-entries/sign-in-experience.js +5 -1
- package/lib/foundations/jsonb-types/custom-profile-fields.d.ts +73 -50
- package/lib/foundations/jsonb-types/custom-profile-fields.js +3 -2
- package/lib/foundations/jsonb-types/sign-in-experience.d.ts +6 -0
- package/lib/foundations/jsonb-types/sign-in-experience.js +6 -0
- package/lib/foundations/jsonb-types/users.d.ts +9 -94
- package/lib/foundations/jsonb-types/users.js +1 -11
- package/lib/types/application.d.ts +3 -0
- package/lib/types/consent.d.ts +25 -40
- package/lib/types/cookie.d.ts +4 -0
- package/lib/types/cookie.js +1 -1
- package/lib/types/custom-profile-fields.d.ts +391 -376
- package/lib/types/custom-profile-fields.js +42 -23
- package/lib/types/interactions.d.ts +6 -120
- package/lib/types/interactions.js +1 -31
- package/lib/types/logto-config/index.d.ts +64 -40
- package/lib/types/logto-config/jwt-customizer.d.ts +134 -90
- package/lib/types/mfa.d.ts +2 -2
- package/lib/types/sign-in-experience.d.ts +9 -8
- package/lib/types/sign-in-experience.js +4 -3
- package/lib/types/ssr.d.ts +1 -0
- package/lib/types/user.d.ts +6 -60
- package/lib/types/verification-records/code-verification.d.ts +73 -1
- package/lib/types/verification-records/code-verification.js +14 -0
- package/lib/types/verification-records/verification-type.d.ts +2 -0
- package/lib/types/verification-records/verification-type.js +2 -0
- package/lib/types/verification-records/web-authn-verification.d.ts +16 -2
- package/lib/types/verification-records/web-authn-verification.js +2 -0
- package/package.json +6 -6
- package/tables/application_sign_in_experiences.sql +1 -0
- package/tables/daily_active_users.sql +3 -0
- package/tables/organizations.sql +4 -0
- package/tables/sign_in_experiences.sql +1 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { sql } from '@silverhand/slonik';
|
|
2
|
+
|
|
3
|
+
import type { AlterationScript } from '../lib/types/alteration.js';
|
|
4
|
+
|
|
5
|
+
const alteration: AlterationScript = {
|
|
6
|
+
up: async (pool) => {
|
|
7
|
+
await pool.query(sql`
|
|
8
|
+
alter table sign_in_experiences
|
|
9
|
+
add column forgot_password_methods jsonb;
|
|
10
|
+
`);
|
|
11
|
+
},
|
|
12
|
+
down: async (pool) => {
|
|
13
|
+
await pool.query(sql`
|
|
14
|
+
alter table sign_in_experiences
|
|
15
|
+
drop column forgot_password_methods;
|
|
16
|
+
`);
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export default alteration;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { sql } from '@silverhand/slonik';
|
|
2
|
+
|
|
3
|
+
import type { AlterationScript } from '../lib/types/alteration.js';
|
|
4
|
+
|
|
5
|
+
const alteration: AlterationScript = {
|
|
6
|
+
up: async (pool) => {
|
|
7
|
+
await pool.query(sql`
|
|
8
|
+
alter table organizations
|
|
9
|
+
add column color jsonb not null default '{}'::jsonb,
|
|
10
|
+
add column custom_css text;
|
|
11
|
+
`);
|
|
12
|
+
await pool.query(sql`
|
|
13
|
+
alter table application_sign_in_experiences add column custom_css text;
|
|
14
|
+
`);
|
|
15
|
+
},
|
|
16
|
+
down: async (pool) => {
|
|
17
|
+
await pool.query(sql`
|
|
18
|
+
alter table organizations
|
|
19
|
+
drop column color,
|
|
20
|
+
drop column custom_css;
|
|
21
|
+
`);
|
|
22
|
+
await pool.query(sql`
|
|
23
|
+
alter table application_sign_in_experiences drop column custom_css;
|
|
24
|
+
`);
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export default alteration;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { sql } from '@silverhand/slonik';
|
|
2
|
+
|
|
3
|
+
import type { AlterationScript } from '../lib/types/alteration.js';
|
|
4
|
+
|
|
5
|
+
const alteration: AlterationScript = {
|
|
6
|
+
up: async (pool) => {
|
|
7
|
+
// Set default value for new rows, but keep the column nullable
|
|
8
|
+
// to preserve existing null values as migration markers
|
|
9
|
+
await pool.query(sql`
|
|
10
|
+
alter table sign_in_experiences
|
|
11
|
+
alter column forgot_password_methods set default '[]'::jsonb;
|
|
12
|
+
`);
|
|
13
|
+
|
|
14
|
+
// Update default and admin tenant to [], bypass the alter comparison
|
|
15
|
+
await pool.query(sql`
|
|
16
|
+
update sign_in_experiences
|
|
17
|
+
set forgot_password_methods = '[]'::jsonb
|
|
18
|
+
where forgot_password_methods is null and (tenant_id = 'admin' or tenant_id = 'default');
|
|
19
|
+
`);
|
|
20
|
+
},
|
|
21
|
+
down: async (pool) => {
|
|
22
|
+
await pool.query(sql`
|
|
23
|
+
alter table sign_in_experiences
|
|
24
|
+
alter column forgot_password_methods drop default;
|
|
25
|
+
`);
|
|
26
|
+
|
|
27
|
+
await pool.query(sql`
|
|
28
|
+
update sign_in_experiences
|
|
29
|
+
set forgot_password_methods = null
|
|
30
|
+
where forgot_password_methods = '[]'::jsonb and (tenant_id = 'admin' or tenant_id = 'default');
|
|
31
|
+
`);
|
|
32
|
+
},
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
export default alteration;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { sql } from '@silverhand/slonik';
|
|
2
|
+
|
|
3
|
+
import type { AlterationScript } from '../lib/types/alteration.js';
|
|
4
|
+
|
|
5
|
+
const alteration: AlterationScript = {
|
|
6
|
+
up: async (pool) => {
|
|
7
|
+
await pool.query(sql`
|
|
8
|
+
create index daily_active_users__date
|
|
9
|
+
on daily_active_users (tenant_id, date);
|
|
10
|
+
`);
|
|
11
|
+
},
|
|
12
|
+
down: async (pool) => {
|
|
13
|
+
await pool.query(sql`
|
|
14
|
+
drop index daily_active_users__date;
|
|
15
|
+
`);
|
|
16
|
+
},
|
|
17
|
+
};
|
|
18
|
+
export default alteration;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { sql } from '@silverhand/slonik';
|
|
2
|
+
const alteration = {
|
|
3
|
+
up: async (pool) => {
|
|
4
|
+
await pool.query(sql `
|
|
5
|
+
alter table sign_in_experiences
|
|
6
|
+
add column forgot_password_methods jsonb;
|
|
7
|
+
`);
|
|
8
|
+
},
|
|
9
|
+
down: async (pool) => {
|
|
10
|
+
await pool.query(sql `
|
|
11
|
+
alter table sign_in_experiences
|
|
12
|
+
drop column forgot_password_methods;
|
|
13
|
+
`);
|
|
14
|
+
},
|
|
15
|
+
};
|
|
16
|
+
export default alteration;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { sql } from '@silverhand/slonik';
|
|
2
|
+
const alteration = {
|
|
3
|
+
up: async (pool) => {
|
|
4
|
+
await pool.query(sql `
|
|
5
|
+
alter table organizations
|
|
6
|
+
add column color jsonb not null default '{}'::jsonb,
|
|
7
|
+
add column custom_css text;
|
|
8
|
+
`);
|
|
9
|
+
await pool.query(sql `
|
|
10
|
+
alter table application_sign_in_experiences add column custom_css text;
|
|
11
|
+
`);
|
|
12
|
+
},
|
|
13
|
+
down: async (pool) => {
|
|
14
|
+
await pool.query(sql `
|
|
15
|
+
alter table organizations
|
|
16
|
+
drop column color,
|
|
17
|
+
drop column custom_css;
|
|
18
|
+
`);
|
|
19
|
+
await pool.query(sql `
|
|
20
|
+
alter table application_sign_in_experiences drop column custom_css;
|
|
21
|
+
`);
|
|
22
|
+
},
|
|
23
|
+
};
|
|
24
|
+
export default alteration;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { sql } from '@silverhand/slonik';
|
|
2
|
+
const alteration = {
|
|
3
|
+
up: async (pool) => {
|
|
4
|
+
// Set default value for new rows, but keep the column nullable
|
|
5
|
+
// to preserve existing null values as migration markers
|
|
6
|
+
await pool.query(sql `
|
|
7
|
+
alter table sign_in_experiences
|
|
8
|
+
alter column forgot_password_methods set default '[]'::jsonb;
|
|
9
|
+
`);
|
|
10
|
+
// Update default and admin tenant to [], bypass the alter comparison
|
|
11
|
+
await pool.query(sql `
|
|
12
|
+
update sign_in_experiences
|
|
13
|
+
set forgot_password_methods = '[]'::jsonb
|
|
14
|
+
where forgot_password_methods is null and (tenant_id = 'admin' or tenant_id = 'default');
|
|
15
|
+
`);
|
|
16
|
+
},
|
|
17
|
+
down: async (pool) => {
|
|
18
|
+
await pool.query(sql `
|
|
19
|
+
alter table sign_in_experiences
|
|
20
|
+
alter column forgot_password_methods drop default;
|
|
21
|
+
`);
|
|
22
|
+
await pool.query(sql `
|
|
23
|
+
update sign_in_experiences
|
|
24
|
+
set forgot_password_methods = null
|
|
25
|
+
where forgot_password_methods = '[]'::jsonb and (tenant_id = 'admin' or tenant_id = 'default');
|
|
26
|
+
`);
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
export default alteration;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { sql } from '@silverhand/slonik';
|
|
2
|
+
const alteration = {
|
|
3
|
+
up: async (pool) => {
|
|
4
|
+
await pool.query(sql `
|
|
5
|
+
create index daily_active_users__date
|
|
6
|
+
on daily_active_users (tenant_id, date);
|
|
7
|
+
`);
|
|
8
|
+
},
|
|
9
|
+
down: async (pool) => {
|
|
10
|
+
await pool.query(sql `
|
|
11
|
+
drop index daily_active_users__date;
|
|
12
|
+
`);
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
export default alteration;
|
package/lib/consts/oidc.d.ts
CHANGED
|
@@ -38,6 +38,13 @@ export declare enum ExtraParamsKey {
|
|
|
38
38
|
* This can be used to pre-fill the identifier field **only on the first screen** of the sign-in/sign-up flow.
|
|
39
39
|
*/
|
|
40
40
|
LoginHint = "login_hint",
|
|
41
|
+
/**
|
|
42
|
+
* The end-users preferred languages to use for the client application, represented as a space-separated list of BCP47 language tags.
|
|
43
|
+
* E.g. `en` or `en-US` or `en-US en`.
|
|
44
|
+
*
|
|
45
|
+
* @see {@link https://openid.net/specs/openid-connect-core-1_0.html#rfc.section.13.2.1}
|
|
46
|
+
*/
|
|
47
|
+
UiLocales = "ui_locales",
|
|
41
48
|
/**
|
|
42
49
|
* Specifies the identifier used in the identifier sign-in or identifier register page.
|
|
43
50
|
*
|
|
@@ -80,6 +87,7 @@ export declare const extraParamsObjectGuard: z.ZodObject<{
|
|
|
80
87
|
direct_sign_in: z.ZodOptional<z.ZodString>;
|
|
81
88
|
organization_id: z.ZodOptional<z.ZodString>;
|
|
82
89
|
login_hint: z.ZodOptional<z.ZodString>;
|
|
90
|
+
ui_locales: z.ZodOptional<z.ZodString>;
|
|
83
91
|
identifier: z.ZodOptional<z.ZodString>;
|
|
84
92
|
one_time_token: z.ZodOptional<z.ZodString>;
|
|
85
93
|
google_one_tap_credential: z.ZodOptional<z.ZodString>;
|
|
@@ -89,6 +97,7 @@ export declare const extraParamsObjectGuard: z.ZodObject<{
|
|
|
89
97
|
direct_sign_in?: string | undefined;
|
|
90
98
|
organization_id?: string | undefined;
|
|
91
99
|
login_hint?: string | undefined;
|
|
100
|
+
ui_locales?: string | undefined;
|
|
92
101
|
identifier?: string | undefined;
|
|
93
102
|
one_time_token?: string | undefined;
|
|
94
103
|
google_one_tap_credential?: string | undefined;
|
|
@@ -98,6 +107,7 @@ export declare const extraParamsObjectGuard: z.ZodObject<{
|
|
|
98
107
|
direct_sign_in?: string | undefined;
|
|
99
108
|
organization_id?: string | undefined;
|
|
100
109
|
login_hint?: string | undefined;
|
|
110
|
+
ui_locales?: string | undefined;
|
|
101
111
|
identifier?: string | undefined;
|
|
102
112
|
one_time_token?: string | undefined;
|
|
103
113
|
google_one_tap_credential?: string | undefined;
|
|
@@ -108,6 +118,7 @@ export type ExtraParamsObject = Partial<{
|
|
|
108
118
|
[ExtraParamsKey.DirectSignIn]: string;
|
|
109
119
|
[ExtraParamsKey.OrganizationId]: string;
|
|
110
120
|
[ExtraParamsKey.LoginHint]: string;
|
|
121
|
+
[ExtraParamsKey.UiLocales]: string;
|
|
111
122
|
[ExtraParamsKey.Identifier]: string;
|
|
112
123
|
[ExtraParamsKey.OneTimeToken]: string;
|
|
113
124
|
[ExtraParamsKey.GoogleOneTapCredential]: string;
|
package/lib/consts/oidc.js
CHANGED
|
@@ -40,6 +40,13 @@ export var ExtraParamsKey;
|
|
|
40
40
|
* This can be used to pre-fill the identifier field **only on the first screen** of the sign-in/sign-up flow.
|
|
41
41
|
*/
|
|
42
42
|
ExtraParamsKey["LoginHint"] = "login_hint";
|
|
43
|
+
/**
|
|
44
|
+
* The end-users preferred languages to use for the client application, represented as a space-separated list of BCP47 language tags.
|
|
45
|
+
* E.g. `en` or `en-US` or `en-US en`.
|
|
46
|
+
*
|
|
47
|
+
* @see {@link https://openid.net/specs/openid-connect-core-1_0.html#rfc.section.13.2.1}
|
|
48
|
+
*/
|
|
49
|
+
ExtraParamsKey["UiLocales"] = "ui_locales";
|
|
43
50
|
/**
|
|
44
51
|
* Specifies the identifier used in the identifier sign-in or identifier register page.
|
|
45
52
|
*
|
|
@@ -85,6 +92,7 @@ export const extraParamsObjectGuard = z
|
|
|
85
92
|
[ExtraParamsKey.DirectSignIn]: z.string(),
|
|
86
93
|
[ExtraParamsKey.OrganizationId]: z.string(),
|
|
87
94
|
[ExtraParamsKey.LoginHint]: z.string(),
|
|
95
|
+
[ExtraParamsKey.UiLocales]: z.string(),
|
|
88
96
|
[ExtraParamsKey.Identifier]: z.string(),
|
|
89
97
|
[ExtraParamsKey.OneTimeToken]: z.string(),
|
|
90
98
|
[ExtraParamsKey.GoogleOneTapCredential]: z.string(),
|
|
@@ -19,9 +19,15 @@ export declare enum ReservedPlanId {
|
|
|
19
19
|
*/
|
|
20
20
|
Admin = "admin",
|
|
21
21
|
/**
|
|
22
|
-
*
|
|
22
|
+
* @deprecated
|
|
23
|
+
* Grandfathered Pro plan ID deprecated from 2025-09.
|
|
24
|
+
* Use {@link Pro202509} instead.
|
|
25
|
+
*/
|
|
26
|
+
Pro202411 = "pro-202411",
|
|
27
|
+
/**
|
|
28
|
+
* Latest Pro plan ID applied from 2025-09.
|
|
23
29
|
*/
|
|
24
|
-
|
|
30
|
+
Pro202509 = "pro-202509"
|
|
25
31
|
}
|
|
26
32
|
/**
|
|
27
33
|
* Tenant subscription related Redis cache keys.
|
|
@@ -20,9 +20,15 @@ export var ReservedPlanId;
|
|
|
20
20
|
*/
|
|
21
21
|
ReservedPlanId["Admin"] = "admin";
|
|
22
22
|
/**
|
|
23
|
-
*
|
|
23
|
+
* @deprecated
|
|
24
|
+
* Grandfathered Pro plan ID deprecated from 2025-09.
|
|
25
|
+
* Use {@link Pro202509} instead.
|
|
24
26
|
*/
|
|
25
27
|
ReservedPlanId["Pro202411"] = "pro-202411";
|
|
28
|
+
/**
|
|
29
|
+
* Latest Pro plan ID applied from 2025-09.
|
|
30
|
+
*/
|
|
31
|
+
ReservedPlanId["Pro202509"] = "pro-202509";
|
|
26
32
|
})(ReservedPlanId || (ReservedPlanId = {}));
|
|
27
33
|
/**
|
|
28
34
|
* Tenant subscription related Redis cache keys.
|
|
@@ -10,6 +10,7 @@ export type CreateApplicationSignInExperience = {
|
|
|
10
10
|
applicationId: string;
|
|
11
11
|
color?: PartialColor;
|
|
12
12
|
branding?: Branding;
|
|
13
|
+
customCss?: string | null;
|
|
13
14
|
termsOfUseUrl?: string | null;
|
|
14
15
|
privacyPolicyUrl?: string | null;
|
|
15
16
|
displayName?: string | null;
|
|
@@ -20,9 +21,10 @@ export type ApplicationSignInExperience = {
|
|
|
20
21
|
applicationId: string;
|
|
21
22
|
color: PartialColor;
|
|
22
23
|
branding: Branding;
|
|
24
|
+
customCss: string | null;
|
|
23
25
|
termsOfUseUrl: string | null;
|
|
24
26
|
privacyPolicyUrl: string | null;
|
|
25
27
|
displayName: string | null;
|
|
26
28
|
};
|
|
27
|
-
export type ApplicationSignInExperienceKeys = 'tenantId' | 'applicationId' | 'color' | 'branding' | 'termsOfUseUrl' | 'privacyPolicyUrl' | 'displayName';
|
|
29
|
+
export type ApplicationSignInExperienceKeys = 'tenantId' | 'applicationId' | 'color' | 'branding' | 'customCss' | 'termsOfUseUrl' | 'privacyPolicyUrl' | 'displayName';
|
|
28
30
|
export declare const ApplicationSignInExperiences: GeneratedSchema<ApplicationSignInExperienceKeys, CreateApplicationSignInExperience, ApplicationSignInExperience, 'application_sign_in_experiences', 'application_sign_in_experience'>;
|
|
@@ -6,6 +6,7 @@ const createGuard = z.object({
|
|
|
6
6
|
applicationId: z.string().min(1).max(21),
|
|
7
7
|
color: partialColorGuard.optional(),
|
|
8
8
|
branding: brandingGuard.optional(),
|
|
9
|
+
customCss: z.string().nullable().optional(),
|
|
9
10
|
termsOfUseUrl: z.string().max(2048).nullable().optional(),
|
|
10
11
|
privacyPolicyUrl: z.string().max(2048).nullable().optional(),
|
|
11
12
|
displayName: z.string().max(256).nullable().optional(),
|
|
@@ -15,6 +16,7 @@ const guard = z.object({
|
|
|
15
16
|
applicationId: z.string().min(1).max(21),
|
|
16
17
|
color: partialColorGuard,
|
|
17
18
|
branding: brandingGuard,
|
|
19
|
+
customCss: z.string().nullable(),
|
|
18
20
|
termsOfUseUrl: z.string().max(2048).nullable(),
|
|
19
21
|
privacyPolicyUrl: z.string().max(2048).nullable(),
|
|
20
22
|
displayName: z.string().max(256).nullable(),
|
|
@@ -27,6 +29,7 @@ export const ApplicationSignInExperiences = Object.freeze({
|
|
|
27
29
|
applicationId: 'application_id',
|
|
28
30
|
color: 'color',
|
|
29
31
|
branding: 'branding',
|
|
32
|
+
customCss: 'custom_css',
|
|
30
33
|
termsOfUseUrl: 'terms_of_use_url',
|
|
31
34
|
privacyPolicyUrl: 'privacy_policy_url',
|
|
32
35
|
displayName: 'display_name',
|
|
@@ -36,6 +39,7 @@ export const ApplicationSignInExperiences = Object.freeze({
|
|
|
36
39
|
'applicationId',
|
|
37
40
|
'color',
|
|
38
41
|
'branding',
|
|
42
|
+
'customCss',
|
|
39
43
|
'termsOfUseUrl',
|
|
40
44
|
'privacyPolicyUrl',
|
|
41
45
|
'displayName',
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { JsonObject, Branding, GeneratedSchema } from './../foundations/index.js';
|
|
1
|
+
import { JsonObject, PartialColor, Branding, GeneratedSchema } from './../foundations/index.js';
|
|
2
2
|
/**
|
|
3
3
|
* Organizations defined by [RFC 0001](https://github.com/logto-io/rfcs/blob/HEAD/active/0001-organization.md).
|
|
4
4
|
*
|
|
@@ -17,8 +17,12 @@ export type CreateOrganization = {
|
|
|
17
17
|
customData?: JsonObject;
|
|
18
18
|
/** Whether multi-factor authentication configuration is required for the members of the organization. */
|
|
19
19
|
isMfaRequired?: boolean;
|
|
20
|
+
/** The organization's branding color configuration. */
|
|
21
|
+
color?: PartialColor;
|
|
20
22
|
/** The organization's branding configuration. */
|
|
21
23
|
branding?: Branding;
|
|
24
|
+
/** The custom CSS of the organization. */
|
|
25
|
+
customCss?: string | null;
|
|
22
26
|
/** When the organization was created. */
|
|
23
27
|
createdAt?: number;
|
|
24
28
|
};
|
|
@@ -35,10 +39,14 @@ export type Organization = {
|
|
|
35
39
|
customData: JsonObject;
|
|
36
40
|
/** Whether multi-factor authentication configuration is required for the members of the organization. */
|
|
37
41
|
isMfaRequired: boolean;
|
|
42
|
+
/** The organization's branding color configuration. */
|
|
43
|
+
color: PartialColor;
|
|
38
44
|
/** The organization's branding configuration. */
|
|
39
45
|
branding: Branding;
|
|
46
|
+
/** The custom CSS of the organization. */
|
|
47
|
+
customCss: string | null;
|
|
40
48
|
/** When the organization was created. */
|
|
41
49
|
createdAt: number;
|
|
42
50
|
};
|
|
43
|
-
export type OrganizationKeys = 'tenantId' | 'id' | 'name' | 'description' | 'customData' | 'isMfaRequired' | 'branding' | 'createdAt';
|
|
51
|
+
export type OrganizationKeys = 'tenantId' | 'id' | 'name' | 'description' | 'customData' | 'isMfaRequired' | 'color' | 'branding' | 'customCss' | 'createdAt';
|
|
44
52
|
export declare const Organizations: GeneratedSchema<OrganizationKeys, CreateOrganization, Organization, 'organizations', 'organization'>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { jsonObjectGuard, brandingGuard } from './../foundations/index.js';
|
|
3
|
+
import { jsonObjectGuard, partialColorGuard, brandingGuard } from './../foundations/index.js';
|
|
4
4
|
const createGuard = z.object({
|
|
5
5
|
tenantId: z.string().max(21).optional(),
|
|
6
6
|
id: z.string().min(1).max(21),
|
|
@@ -8,7 +8,9 @@ const createGuard = z.object({
|
|
|
8
8
|
description: z.string().max(256).nullable().optional(),
|
|
9
9
|
customData: jsonObjectGuard.optional(),
|
|
10
10
|
isMfaRequired: z.boolean().optional(),
|
|
11
|
+
color: partialColorGuard.optional(),
|
|
11
12
|
branding: brandingGuard.optional(),
|
|
13
|
+
customCss: z.string().nullable().optional(),
|
|
12
14
|
createdAt: z.number().optional(),
|
|
13
15
|
});
|
|
14
16
|
const guard = z.object({
|
|
@@ -18,7 +20,9 @@ const guard = z.object({
|
|
|
18
20
|
description: z.string().max(256).nullable(),
|
|
19
21
|
customData: jsonObjectGuard,
|
|
20
22
|
isMfaRequired: z.boolean(),
|
|
23
|
+
color: partialColorGuard,
|
|
21
24
|
branding: brandingGuard,
|
|
25
|
+
customCss: z.string().nullable(),
|
|
22
26
|
createdAt: z.number(),
|
|
23
27
|
});
|
|
24
28
|
export const Organizations = Object.freeze({
|
|
@@ -31,7 +35,9 @@ export const Organizations = Object.freeze({
|
|
|
31
35
|
description: 'description',
|
|
32
36
|
customData: 'custom_data',
|
|
33
37
|
isMfaRequired: 'is_mfa_required',
|
|
38
|
+
color: 'color',
|
|
34
39
|
branding: 'branding',
|
|
40
|
+
customCss: 'custom_css',
|
|
35
41
|
createdAt: 'created_at',
|
|
36
42
|
},
|
|
37
43
|
fieldKeys: [
|
|
@@ -41,7 +47,9 @@ export const Organizations = Object.freeze({
|
|
|
41
47
|
'description',
|
|
42
48
|
'customData',
|
|
43
49
|
'isMfaRequired',
|
|
50
|
+
'color',
|
|
44
51
|
'branding',
|
|
52
|
+
'customCss',
|
|
45
53
|
'createdAt',
|
|
46
54
|
],
|
|
47
55
|
createGuard,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Color, Branding, LanguageInfo, SignIn, SignUp, SocialSignIn, ConnectorTargets, CustomContent, CustomUiAssets, PartialPasswordPolicy, Mfa, CaptchaPolicy, SentinelPolicy, EmailBlocklistPolicy, GeneratedSchema } from './../foundations/index.js';
|
|
1
|
+
import { Color, Branding, LanguageInfo, SignIn, SignUp, SocialSignIn, ConnectorTargets, CustomContent, CustomUiAssets, PartialPasswordPolicy, Mfa, CaptchaPolicy, SentinelPolicy, EmailBlocklistPolicy, ForgotPasswordMethods, GeneratedSchema } from './../foundations/index.js';
|
|
2
2
|
import { AgreeToTermsPolicy, SignInMode } from './custom-types.js';
|
|
3
3
|
/**
|
|
4
4
|
*
|
|
@@ -32,6 +32,7 @@ export type CreateSignInExperience = {
|
|
|
32
32
|
captchaPolicy?: CaptchaPolicy;
|
|
33
33
|
sentinelPolicy?: SentinelPolicy;
|
|
34
34
|
emailBlocklistPolicy?: EmailBlocklistPolicy;
|
|
35
|
+
forgotPasswordMethods?: ForgotPasswordMethods | null;
|
|
35
36
|
};
|
|
36
37
|
export type SignInExperience = {
|
|
37
38
|
tenantId: string;
|
|
@@ -60,6 +61,7 @@ export type SignInExperience = {
|
|
|
60
61
|
captchaPolicy: CaptchaPolicy;
|
|
61
62
|
sentinelPolicy: SentinelPolicy;
|
|
62
63
|
emailBlocklistPolicy: EmailBlocklistPolicy;
|
|
64
|
+
forgotPasswordMethods: ForgotPasswordMethods | null;
|
|
63
65
|
};
|
|
64
|
-
export type SignInExperienceKeys = 'tenantId' | 'id' | 'color' | 'branding' | 'languageInfo' | 'termsOfUseUrl' | 'privacyPolicyUrl' | 'agreeToTermsPolicy' | 'signIn' | 'signUp' | 'socialSignIn' | 'socialSignInConnectorTargets' | 'signInMode' | 'customCss' | 'customContent' | 'customUiAssets' | 'passwordPolicy' | 'mfa' | 'singleSignOnEnabled' | 'supportEmail' | 'supportWebsiteUrl' | 'unknownSessionRedirectUrl' | 'captchaPolicy' | 'sentinelPolicy' | 'emailBlocklistPolicy';
|
|
66
|
+
export type SignInExperienceKeys = 'tenantId' | 'id' | 'color' | 'branding' | 'languageInfo' | 'termsOfUseUrl' | 'privacyPolicyUrl' | 'agreeToTermsPolicy' | 'signIn' | 'signUp' | 'socialSignIn' | 'socialSignInConnectorTargets' | 'signInMode' | 'customCss' | 'customContent' | 'customUiAssets' | 'passwordPolicy' | 'mfa' | 'singleSignOnEnabled' | 'supportEmail' | 'supportWebsiteUrl' | 'unknownSessionRedirectUrl' | 'captchaPolicy' | 'sentinelPolicy' | 'emailBlocklistPolicy' | 'forgotPasswordMethods';
|
|
65
67
|
export declare const SignInExperiences: GeneratedSchema<SignInExperienceKeys, CreateSignInExperience, SignInExperience, 'sign_in_experiences', 'sign_in_experience'>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { colorGuard, brandingGuard, languageInfoGuard, signInGuard, signUpGuard, socialSignInGuard, connectorTargetsGuard, customContentGuard, customUiAssetsGuard, partialPasswordPolicyGuard, mfaGuard, captchaPolicyGuard, sentinelPolicyGuard, emailBlocklistPolicyGuard } from './../foundations/index.js';
|
|
3
|
+
import { colorGuard, brandingGuard, languageInfoGuard, signInGuard, signUpGuard, socialSignInGuard, connectorTargetsGuard, customContentGuard, customUiAssetsGuard, partialPasswordPolicyGuard, mfaGuard, captchaPolicyGuard, sentinelPolicyGuard, emailBlocklistPolicyGuard, forgotPasswordMethodsGuard } from './../foundations/index.js';
|
|
4
4
|
import { AgreeToTermsPolicy, SignInMode } from './custom-types.js';
|
|
5
5
|
const createGuard = z.object({
|
|
6
6
|
tenantId: z.string().max(21).optional(),
|
|
@@ -28,6 +28,7 @@ const createGuard = z.object({
|
|
|
28
28
|
captchaPolicy: captchaPolicyGuard.optional(),
|
|
29
29
|
sentinelPolicy: sentinelPolicyGuard.optional(),
|
|
30
30
|
emailBlocklistPolicy: emailBlocklistPolicyGuard.optional(),
|
|
31
|
+
forgotPasswordMethods: forgotPasswordMethodsGuard.nullable().optional(),
|
|
31
32
|
});
|
|
32
33
|
const guard = z.object({
|
|
33
34
|
tenantId: z.string().max(21),
|
|
@@ -55,6 +56,7 @@ const guard = z.object({
|
|
|
55
56
|
captchaPolicy: captchaPolicyGuard,
|
|
56
57
|
sentinelPolicy: sentinelPolicyGuard,
|
|
57
58
|
emailBlocklistPolicy: emailBlocklistPolicyGuard,
|
|
59
|
+
forgotPasswordMethods: forgotPasswordMethodsGuard.nullable(),
|
|
58
60
|
});
|
|
59
61
|
export const SignInExperiences = Object.freeze({
|
|
60
62
|
table: 'sign_in_experiences',
|
|
@@ -85,6 +87,7 @@ export const SignInExperiences = Object.freeze({
|
|
|
85
87
|
captchaPolicy: 'captcha_policy',
|
|
86
88
|
sentinelPolicy: 'sentinel_policy',
|
|
87
89
|
emailBlocklistPolicy: 'email_blocklist_policy',
|
|
90
|
+
forgotPasswordMethods: 'forgot_password_methods',
|
|
88
91
|
},
|
|
89
92
|
fieldKeys: [
|
|
90
93
|
'tenantId',
|
|
@@ -112,6 +115,7 @@ export const SignInExperiences = Object.freeze({
|
|
|
112
115
|
'captchaPolicy',
|
|
113
116
|
'sentinelPolicy',
|
|
114
117
|
'emailBlocklistPolicy',
|
|
118
|
+
'forgotPasswordMethods',
|
|
115
119
|
],
|
|
116
120
|
createGuard,
|
|
117
121
|
guard,
|