@stackframe/stack-shared 2.4.4 → 2.4.5
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/dist/interface/adminInterface.d.ts +2 -1
- package/dist/interface/clientInterface.d.ts +3 -2
- package/dist/interface/clientInterface.js +3 -3
- package/dist/interface/crud/current-user.d.ts +12 -0
- package/dist/interface/crud/current-user.js +2 -0
- package/dist/interface/crud/users.d.ts +12 -0
- package/dist/interface/crud/users.js +2 -0
- package/dist/utils/crypto.js +1 -1
- package/package.json +2 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ServerAuthApplicationOptions, StackServerInterface } from "./serverInterface";
|
|
2
|
-
import { ProjectJson, ReadonlyTokenStore, SharedProvider, StandardProvider, TokenStore } from "./clientInterface";
|
|
2
|
+
import { EmailConfigJson, ProjectJson, ReadonlyTokenStore, SharedProvider, StandardProvider, TokenStore } from "./clientInterface";
|
|
3
3
|
export type AdminAuthApplicationOptions = Readonly<ServerAuthApplicationOptions & ({
|
|
4
4
|
superSecretAdminKey: string;
|
|
5
5
|
} | {
|
|
@@ -30,6 +30,7 @@ export type ProjectUpdateOptions = {
|
|
|
30
30
|
magicLinkEnabled?: boolean;
|
|
31
31
|
allowLocalhost?: boolean;
|
|
32
32
|
createTeamOnSignUp?: boolean;
|
|
33
|
+
emailConfig?: EmailConfigJson;
|
|
33
34
|
};
|
|
34
35
|
};
|
|
35
36
|
export type ApiKeySetBaseJson = {
|
|
@@ -7,6 +7,7 @@ import { ProjectUpdateOptions } from './adminInterface';
|
|
|
7
7
|
type UserCustomizableJson = {
|
|
8
8
|
displayName: string | null;
|
|
9
9
|
clientMetadata: ReadonlyJson;
|
|
10
|
+
selectedTeamId: string | null;
|
|
10
11
|
};
|
|
11
12
|
export type UserJson = UserCustomizableJson & {
|
|
12
13
|
projectId: string;
|
|
@@ -24,6 +25,7 @@ export type UserJson = UserCustomizableJson & {
|
|
|
24
25
|
hasPassword: boolean;
|
|
25
26
|
authWithEmail: boolean;
|
|
26
27
|
oauthProviders: string[];
|
|
28
|
+
selectedTeamId: string | null;
|
|
27
29
|
};
|
|
28
30
|
export type UserUpdateJson = Partial<UserCustomizableJson>;
|
|
29
31
|
export type ClientProjectJson = {
|
|
@@ -95,7 +97,6 @@ export type EmailConfigJson = ({
|
|
|
95
97
|
password: string;
|
|
96
98
|
} | {
|
|
97
99
|
type: "shared";
|
|
98
|
-
senderName: string;
|
|
99
100
|
});
|
|
100
101
|
export type DomainConfigJson = {
|
|
101
102
|
domain: string;
|
|
@@ -164,7 +165,7 @@ export declare class StackClientInterface {
|
|
|
164
165
|
verifyPasswordResetCode(code: string): Promise<KnownErrors["PasswordResetCodeError"] | undefined>;
|
|
165
166
|
verifyEmail(code: string): Promise<KnownErrors["EmailVerificationError"] | undefined>;
|
|
166
167
|
signInWithCredential(email: string, password: string, tokenStore: TokenStore): Promise<KnownErrors["EmailPasswordMismatch"] | undefined>;
|
|
167
|
-
signUpWithCredential(email: string, password: string, emailVerificationRedirectUrl: string, tokenStore: TokenStore): Promise<KnownErrors["UserEmailAlreadyExists"] | undefined>;
|
|
168
|
+
signUpWithCredential(email: string, password: string, emailVerificationRedirectUrl: string, tokenStore: TokenStore): Promise<KnownErrors["UserEmailAlreadyExists"] | KnownErrors["PasswordRequirementsNotMet"] | undefined>;
|
|
168
169
|
signInWithMagicLink(code: string, tokenStore: TokenStore): Promise<KnownErrors["MagicLinkError"] | {
|
|
169
170
|
newUser: boolean;
|
|
170
171
|
}>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as oauth from 'oauth4webapi';
|
|
2
|
-
import crypto from "crypto";
|
|
2
|
+
import crypto from "crypto-browserify";
|
|
3
3
|
import { Result } from "../utils/results";
|
|
4
4
|
import { AsyncStore } from '../utils/stores';
|
|
5
5
|
import { KnownError, KnownErrors } from '../known-errors';
|
|
@@ -330,7 +330,7 @@ export class StackClientInterface {
|
|
|
330
330
|
password,
|
|
331
331
|
emailVerificationRedirectUrl,
|
|
332
332
|
}),
|
|
333
|
-
}, tokenStore, [KnownErrors.UserEmailAlreadyExists]);
|
|
333
|
+
}, tokenStore, [KnownErrors.UserEmailAlreadyExists, KnownErrors.PasswordRequirementsNotMet]);
|
|
334
334
|
if (res.status === "error") {
|
|
335
335
|
return res.error;
|
|
336
336
|
}
|
|
@@ -495,7 +495,7 @@ export class StackClientInterface {
|
|
|
495
495
|
}
|
|
496
496
|
export function getProductionModeErrors(project) {
|
|
497
497
|
const errors = [];
|
|
498
|
-
const fixUrlRelative = `/projects/${project.id}/
|
|
498
|
+
const fixUrlRelative = `/projects/${project.id}/domains`;
|
|
499
499
|
if (project.evaluatedConfig.allowLocalhost) {
|
|
500
500
|
errors.push({
|
|
501
501
|
errorMessage: "Localhost is not allowed in production mode, turn off 'Allow localhost' in project settings",
|
|
@@ -10,6 +10,7 @@ export declare const currentUserCrud: {
|
|
|
10
10
|
clientMetadata: {} | null;
|
|
11
11
|
primaryEmail: string | null;
|
|
12
12
|
primaryEmailVerified: NonNullable<boolean | undefined>;
|
|
13
|
+
selectedTeamId: string | null;
|
|
13
14
|
profileImageUrl: string | null;
|
|
14
15
|
signedUpAtMillis: number;
|
|
15
16
|
authMethod: NonNullable<"credential" | "oauth" | undefined>;
|
|
@@ -23,6 +24,7 @@ export declare const currentUserCrud: {
|
|
|
23
24
|
primaryEmailVerified: undefined;
|
|
24
25
|
displayName: undefined;
|
|
25
26
|
clientMetadata: {};
|
|
27
|
+
selectedTeamId: undefined;
|
|
26
28
|
profileImageUrl: undefined;
|
|
27
29
|
signedUpAtMillis: undefined;
|
|
28
30
|
authMethod: undefined;
|
|
@@ -34,12 +36,14 @@ export declare const currentUserCrud: {
|
|
|
34
36
|
updateSchema: yup.ObjectSchema<{
|
|
35
37
|
displayName: string | undefined;
|
|
36
38
|
clientMetadata: {} | undefined;
|
|
39
|
+
selectedTeamId: string | null | undefined;
|
|
37
40
|
}, yup.AnyObject, {
|
|
38
41
|
displayName: undefined;
|
|
39
42
|
clientMetadata: {};
|
|
40
43
|
serverMetadata: {};
|
|
41
44
|
primaryEmail: undefined;
|
|
42
45
|
primaryEmailVerified: undefined;
|
|
46
|
+
selectedTeamId: undefined;
|
|
43
47
|
}, "">;
|
|
44
48
|
deleteSchema: undefined;
|
|
45
49
|
};
|
|
@@ -52,6 +56,7 @@ export declare const currentUserCrud: {
|
|
|
52
56
|
primaryEmailVerified: NonNullable<boolean | undefined>;
|
|
53
57
|
displayName: string | null;
|
|
54
58
|
clientMetadata: {} | null;
|
|
59
|
+
selectedTeamId: string | null;
|
|
55
60
|
profileImageUrl: string | null;
|
|
56
61
|
signedUpAtMillis: number;
|
|
57
62
|
authMethod: NonNullable<"credential" | "oauth" | undefined>;
|
|
@@ -66,6 +71,7 @@ export declare const currentUserCrud: {
|
|
|
66
71
|
primaryEmailVerified: undefined;
|
|
67
72
|
displayName: undefined;
|
|
68
73
|
clientMetadata: {};
|
|
74
|
+
selectedTeamId: undefined;
|
|
69
75
|
profileImageUrl: undefined;
|
|
70
76
|
signedUpAtMillis: undefined;
|
|
71
77
|
authMethod: undefined;
|
|
@@ -80,12 +86,14 @@ export declare const currentUserCrud: {
|
|
|
80
86
|
serverMetadata: {} | undefined;
|
|
81
87
|
primaryEmail: string | undefined;
|
|
82
88
|
primaryEmailVerified: boolean | undefined;
|
|
89
|
+
selectedTeamId: string | null | undefined;
|
|
83
90
|
}, yup.AnyObject, {
|
|
84
91
|
displayName: undefined;
|
|
85
92
|
clientMetadata: {};
|
|
86
93
|
serverMetadata: {};
|
|
87
94
|
primaryEmail: undefined;
|
|
88
95
|
primaryEmailVerified: undefined;
|
|
96
|
+
selectedTeamId: undefined;
|
|
89
97
|
}, "">;
|
|
90
98
|
deleteSchema: undefined;
|
|
91
99
|
};
|
|
@@ -98,6 +106,7 @@ export declare const currentUserCrud: {
|
|
|
98
106
|
primaryEmailVerified: NonNullable<boolean | undefined>;
|
|
99
107
|
displayName: string | null;
|
|
100
108
|
clientMetadata: {} | null;
|
|
109
|
+
selectedTeamId: string | null;
|
|
101
110
|
profileImageUrl: string | null;
|
|
102
111
|
signedUpAtMillis: number;
|
|
103
112
|
authMethod: NonNullable<"credential" | "oauth" | undefined>;
|
|
@@ -112,6 +121,7 @@ export declare const currentUserCrud: {
|
|
|
112
121
|
primaryEmailVerified: undefined;
|
|
113
122
|
displayName: undefined;
|
|
114
123
|
clientMetadata: {};
|
|
124
|
+
selectedTeamId: undefined;
|
|
115
125
|
profileImageUrl: undefined;
|
|
116
126
|
signedUpAtMillis: undefined;
|
|
117
127
|
authMethod: undefined;
|
|
@@ -126,12 +136,14 @@ export declare const currentUserCrud: {
|
|
|
126
136
|
serverMetadata: {} | undefined;
|
|
127
137
|
primaryEmail: string | undefined;
|
|
128
138
|
primaryEmailVerified: boolean | undefined;
|
|
139
|
+
selectedTeamId: string | null | undefined;
|
|
129
140
|
}, yup.AnyObject, {
|
|
130
141
|
displayName: undefined;
|
|
131
142
|
clientMetadata: {};
|
|
132
143
|
serverMetadata: {};
|
|
133
144
|
primaryEmail: undefined;
|
|
134
145
|
primaryEmailVerified: undefined;
|
|
146
|
+
selectedTeamId: undefined;
|
|
135
147
|
}, "">;
|
|
136
148
|
deleteSchema: undefined;
|
|
137
149
|
};
|
|
@@ -3,6 +3,7 @@ import { usersCrudServerReadSchema, usersCrudServerUpdateSchema } from "./users"
|
|
|
3
3
|
const clientUpdateSchema = usersCrudServerUpdateSchema.pick([
|
|
4
4
|
"displayName",
|
|
5
5
|
"clientMetadata",
|
|
6
|
+
"selectedTeamId",
|
|
6
7
|
]).required();
|
|
7
8
|
const serverUpdateSchema = usersCrudServerUpdateSchema;
|
|
8
9
|
const clientReadSchema = usersCrudServerReadSchema.pick([
|
|
@@ -18,6 +19,7 @@ const clientReadSchema = usersCrudServerReadSchema.pick([
|
|
|
18
19
|
"hasPassword",
|
|
19
20
|
"authWithEmail",
|
|
20
21
|
"oauthProviders",
|
|
22
|
+
"selectedTeamId",
|
|
21
23
|
]).nullable().defined();
|
|
22
24
|
const serverReadSchema = usersCrudServerReadSchema.nullable().defined();
|
|
23
25
|
export const currentUserCrud = createCrud({
|
|
@@ -6,12 +6,14 @@ export declare const usersCrudServerUpdateSchema: yup.ObjectSchema<{
|
|
|
6
6
|
serverMetadata: {} | undefined;
|
|
7
7
|
primaryEmail: string | undefined;
|
|
8
8
|
primaryEmailVerified: boolean | undefined;
|
|
9
|
+
selectedTeamId: string | null | undefined;
|
|
9
10
|
}, yup.AnyObject, {
|
|
10
11
|
displayName: undefined;
|
|
11
12
|
clientMetadata: {};
|
|
12
13
|
serverMetadata: {};
|
|
13
14
|
primaryEmail: undefined;
|
|
14
15
|
primaryEmailVerified: undefined;
|
|
16
|
+
selectedTeamId: undefined;
|
|
15
17
|
}, "">;
|
|
16
18
|
export declare const usersCrudServerReadSchema: yup.ObjectSchema<{
|
|
17
19
|
projectId: string;
|
|
@@ -20,6 +22,7 @@ export declare const usersCrudServerReadSchema: yup.ObjectSchema<{
|
|
|
20
22
|
primaryEmailVerified: NonNullable<boolean | undefined>;
|
|
21
23
|
displayName: string | null;
|
|
22
24
|
clientMetadata: {} | null;
|
|
25
|
+
selectedTeamId: string | null;
|
|
23
26
|
profileImageUrl: string | null;
|
|
24
27
|
signedUpAtMillis: number;
|
|
25
28
|
authMethod: NonNullable<"credential" | "oauth" | undefined>;
|
|
@@ -34,6 +37,7 @@ export declare const usersCrudServerReadSchema: yup.ObjectSchema<{
|
|
|
34
37
|
primaryEmailVerified: undefined;
|
|
35
38
|
displayName: undefined;
|
|
36
39
|
clientMetadata: {};
|
|
40
|
+
selectedTeamId: undefined;
|
|
37
41
|
profileImageUrl: undefined;
|
|
38
42
|
signedUpAtMillis: undefined;
|
|
39
43
|
authMethod: undefined;
|
|
@@ -58,6 +62,7 @@ export declare const usersCrud: {
|
|
|
58
62
|
primaryEmailVerified: NonNullable<boolean | undefined>;
|
|
59
63
|
displayName: string | null;
|
|
60
64
|
clientMetadata: {} | null;
|
|
65
|
+
selectedTeamId: string | null;
|
|
61
66
|
profileImageUrl: string | null;
|
|
62
67
|
signedUpAtMillis: number;
|
|
63
68
|
authMethod: NonNullable<"credential" | "oauth" | undefined>;
|
|
@@ -72,6 +77,7 @@ export declare const usersCrud: {
|
|
|
72
77
|
primaryEmailVerified: undefined;
|
|
73
78
|
displayName: undefined;
|
|
74
79
|
clientMetadata: {};
|
|
80
|
+
selectedTeamId: undefined;
|
|
75
81
|
profileImageUrl: undefined;
|
|
76
82
|
signedUpAtMillis: undefined;
|
|
77
83
|
authMethod: undefined;
|
|
@@ -86,12 +92,14 @@ export declare const usersCrud: {
|
|
|
86
92
|
serverMetadata: {} | undefined;
|
|
87
93
|
primaryEmail: string | undefined;
|
|
88
94
|
primaryEmailVerified: boolean | undefined;
|
|
95
|
+
selectedTeamId: string | null | undefined;
|
|
89
96
|
}, yup.AnyObject, {
|
|
90
97
|
displayName: undefined;
|
|
91
98
|
clientMetadata: {};
|
|
92
99
|
serverMetadata: {};
|
|
93
100
|
primaryEmail: undefined;
|
|
94
101
|
primaryEmailVerified: undefined;
|
|
102
|
+
selectedTeamId: undefined;
|
|
95
103
|
}, "">;
|
|
96
104
|
deleteSchema: yup.MixedSchema<{} | undefined, yup.AnyObject, undefined, "">;
|
|
97
105
|
};
|
|
@@ -104,6 +112,7 @@ export declare const usersCrud: {
|
|
|
104
112
|
primaryEmailVerified: NonNullable<boolean | undefined>;
|
|
105
113
|
displayName: string | null;
|
|
106
114
|
clientMetadata: {} | null;
|
|
115
|
+
selectedTeamId: string | null;
|
|
107
116
|
profileImageUrl: string | null;
|
|
108
117
|
signedUpAtMillis: number;
|
|
109
118
|
authMethod: NonNullable<"credential" | "oauth" | undefined>;
|
|
@@ -118,6 +127,7 @@ export declare const usersCrud: {
|
|
|
118
127
|
primaryEmailVerified: undefined;
|
|
119
128
|
displayName: undefined;
|
|
120
129
|
clientMetadata: {};
|
|
130
|
+
selectedTeamId: undefined;
|
|
121
131
|
profileImageUrl: undefined;
|
|
122
132
|
signedUpAtMillis: undefined;
|
|
123
133
|
authMethod: undefined;
|
|
@@ -132,12 +142,14 @@ export declare const usersCrud: {
|
|
|
132
142
|
serverMetadata: {} | undefined;
|
|
133
143
|
primaryEmail: string | undefined;
|
|
134
144
|
primaryEmailVerified: boolean | undefined;
|
|
145
|
+
selectedTeamId: string | null | undefined;
|
|
135
146
|
}, yup.AnyObject, {
|
|
136
147
|
displayName: undefined;
|
|
137
148
|
clientMetadata: {};
|
|
138
149
|
serverMetadata: {};
|
|
139
150
|
primaryEmail: undefined;
|
|
140
151
|
primaryEmailVerified: undefined;
|
|
152
|
+
selectedTeamId: undefined;
|
|
141
153
|
}, "">;
|
|
142
154
|
deleteSchema: yup.MixedSchema<{} | undefined, yup.AnyObject, undefined, "">;
|
|
143
155
|
};
|
|
@@ -6,6 +6,7 @@ export const usersCrudServerUpdateSchema = yup.object({
|
|
|
6
6
|
serverMetadata: yup.object().optional(),
|
|
7
7
|
primaryEmail: yup.string().optional(),
|
|
8
8
|
primaryEmailVerified: yup.boolean().optional(),
|
|
9
|
+
selectedTeamId: yup.string().nullable().optional(),
|
|
9
10
|
}).required();
|
|
10
11
|
export const usersCrudServerReadSchema = yup.object({
|
|
11
12
|
projectId: yup.string().required(),
|
|
@@ -14,6 +15,7 @@ export const usersCrudServerReadSchema = yup.object({
|
|
|
14
15
|
primaryEmailVerified: yup.boolean().required(),
|
|
15
16
|
displayName: yup.string().nullable().defined(),
|
|
16
17
|
clientMetadata: yup.object().nullable().defined().transform((value) => JSON.parse(JSON.stringify(value))),
|
|
18
|
+
selectedTeamId: yup.string().nullable().defined(),
|
|
17
19
|
profileImageUrl: yup.string().nullable().defined(),
|
|
18
20
|
signedUpAtMillis: yup.number().required(),
|
|
19
21
|
/**
|
package/dist/utils/crypto.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stackframe/stack-shared",
|
|
3
|
-
"version": "2.4.
|
|
3
|
+
"version": "2.4.5",
|
|
4
4
|
"main": "./dist/index.js",
|
|
5
5
|
"types": "./dist/index.d.ts",
|
|
6
6
|
"files": [
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
"jose": "^5.2.2",
|
|
25
25
|
"oauth4webapi": "^2.10.3",
|
|
26
26
|
"uuid": "^9.0.1",
|
|
27
|
+
"crypto-browserify": "^3.12.0",
|
|
27
28
|
"@stackframe/stack-sc": "1.5.2"
|
|
28
29
|
},
|
|
29
30
|
"devDependencies": {
|