@or-sdk/users 3.1.3 → 3.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -0
- package/dist/cjs/Users.js +29 -6
- package/dist/cjs/Users.js.map +1 -1
- package/dist/cjs/__tests__/Users.spec.js +84 -18
- package/dist/cjs/__tests__/Users.spec.js.map +1 -1
- package/dist/cjs/__tests__/mocks/create_user_with_multi.js +16 -0
- package/dist/cjs/__tests__/mocks/create_user_with_multi.js.map +1 -0
- package/dist/cjs/__tests__/mocks/index.js +20 -0
- package/dist/cjs/__tests__/mocks/index.js.map +1 -0
- package/dist/cjs/__tests__/mocks/profile.js +1 -16
- package/dist/cjs/__tests__/mocks/profile.js.map +1 -1
- package/dist/cjs/__tests__/mocks/server.js +19 -0
- package/dist/cjs/__tests__/mocks/server.js.map +1 -0
- package/dist/cjs/errors.js +27 -0
- package/dist/cjs/errors.js.map +1 -0
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/schemas.js +23 -1
- package/dist/cjs/schemas.js.map +1 -1
- package/dist/esm/Users.js +24 -8
- package/dist/esm/Users.js.map +1 -1
- package/dist/esm/__tests__/Users.spec.js +43 -2
- package/dist/esm/__tests__/Users.spec.js.map +1 -1
- package/dist/esm/__tests__/mocks/create_user_with_multi.js +13 -0
- package/dist/esm/__tests__/mocks/create_user_with_multi.js.map +1 -0
- package/dist/esm/__tests__/mocks/index.js +4 -0
- package/dist/esm/__tests__/mocks/index.js.map +1 -0
- package/dist/esm/__tests__/mocks/profile.js +0 -11
- package/dist/esm/__tests__/mocks/profile.js.map +1 -1
- package/dist/esm/__tests__/mocks/server.js +12 -0
- package/dist/esm/__tests__/mocks/server.js.map +1 -0
- package/dist/esm/errors.js +3 -0
- package/dist/esm/errors.js.map +1 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/schemas.js +22 -0
- package/dist/esm/schemas.js.map +1 -1
- package/dist/types/Users.d.ts +2 -2
- package/dist/types/Users.d.ts.map +1 -1
- package/dist/types/__tests__/mocks/create_user_with_multi.d.ts +13 -0
- package/dist/types/__tests__/mocks/create_user_with_multi.d.ts.map +1 -0
- package/dist/types/__tests__/mocks/index.d.ts +4 -0
- package/dist/types/__tests__/mocks/index.d.ts.map +1 -0
- package/dist/types/__tests__/mocks/profile.d.ts +0 -8
- package/dist/types/__tests__/mocks/profile.d.ts.map +1 -1
- package/dist/types/__tests__/mocks/server.d.ts +9 -0
- package/dist/types/__tests__/mocks/server.d.ts.map +1 -0
- package/dist/types/errors.d.ts +3 -0
- package/dist/types/errors.d.ts.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/schemas.d.ts +39 -0
- package/dist/types/schemas.d.ts.map +1 -1
- package/dist/types/types.d.ts +0 -9
- package/dist/types/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/Users.ts +27 -9
- package/src/__tests__/Users.spec.ts +53 -2
- package/src/__tests__/__snapshots__/Users.spec.ts.snap +12 -0
- package/src/__tests__/mocks/create_user_with_multi.ts +12 -0
- package/src/__tests__/mocks/index.ts +3 -0
- package/src/__tests__/mocks/profile.ts +0 -16
- package/src/__tests__/mocks/server.ts +15 -0
- package/src/errors.ts +1 -0
- package/src/index.ts +1 -0
- package/src/schemas.ts +25 -0
- package/src/types.ts +0 -11
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
import { HttpResponse, JsonBodyType } from 'msw';
|
|
2
|
-
import { setupServer } from 'msw/node';
|
|
3
|
-
|
|
4
|
-
export const SDK_URL = 'http://sdkapi.url';
|
|
5
|
-
export const USERS_URL = 'https://users.url';
|
|
6
|
-
|
|
7
1
|
export const profileFixture = {
|
|
8
2
|
id: '06ae0b37-13e0-4880-91b7-382d4b56e1fa',
|
|
9
3
|
username: 'test.user@example.com',
|
|
@@ -29,13 +23,3 @@ export const profileNoPhoneFixture = {
|
|
|
29
23
|
},
|
|
30
24
|
},
|
|
31
25
|
};
|
|
32
|
-
|
|
33
|
-
export const mockApiServer = setupServer();
|
|
34
|
-
|
|
35
|
-
export function okRes(data: JsonBodyType, status = 200) {
|
|
36
|
-
return () => HttpResponse.json(data, { status });
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
export function errorRes(errorMessage: string, status = 500) {
|
|
40
|
-
return () => HttpResponse.json({ error: errorMessage }, { status });
|
|
41
|
-
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { HttpResponse, JsonBodyType } from 'msw';
|
|
2
|
+
import { setupServer } from 'msw/node';
|
|
3
|
+
|
|
4
|
+
export const SDK_URL = 'https://sdkapi.url';
|
|
5
|
+
export const USERS_URL = 'https://users.url';
|
|
6
|
+
|
|
7
|
+
export const mockApiServer = setupServer();
|
|
8
|
+
|
|
9
|
+
export function okRes(data: JsonBodyType, status = 200) {
|
|
10
|
+
return () => HttpResponse.json(data, { status });
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export function errorRes(errorMessage: string, status = 500) {
|
|
14
|
+
return () => HttpResponse.json({ error: errorMessage }, { status });
|
|
15
|
+
}
|
package/src/errors.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export class CreateUserConflictError extends Error {}
|
package/src/index.ts
CHANGED
package/src/schemas.ts
CHANGED
|
@@ -2,6 +2,16 @@ import { z } from 'zod';
|
|
|
2
2
|
import isEmail from 'validator/lib/isEmail';
|
|
3
3
|
import isMobilePhone from 'validator/lib/isMobilePhone';
|
|
4
4
|
|
|
5
|
+
export enum UserRole {
|
|
6
|
+
'GUEST' = 'GUEST',
|
|
7
|
+
'USER' = 'USER',
|
|
8
|
+
'ADMIN' = 'ADMIN',
|
|
9
|
+
'SUPER_ADMIN' = 'SUPER_ADMIN',
|
|
10
|
+
}
|
|
11
|
+
export enum UserPermissionScope {
|
|
12
|
+
'READONLY' = 'READONLY',
|
|
13
|
+
}
|
|
14
|
+
|
|
5
15
|
export const CurrentMultiUserProfile = z.object({
|
|
6
16
|
id: z.string().uuid(),
|
|
7
17
|
// not using `.email()` here because it's does not allow for 'name+client/env@example.com'
|
|
@@ -23,3 +33,18 @@ export const CurrentMultiUserProfile = z.object({
|
|
|
23
33
|
}).strict();
|
|
24
34
|
|
|
25
35
|
export type CurrentMultiUserProfile = z.infer<typeof CurrentMultiUserProfile>;
|
|
36
|
+
|
|
37
|
+
export const CreateUserWithMultData = z.object({
|
|
38
|
+
role: z.nativeEnum(UserRole),
|
|
39
|
+
// not using `.email()` here because it's does not allow for 'name+client/env@example.com'
|
|
40
|
+
email: z.string().refine(isEmail, { message: 'Has to be an email' }),
|
|
41
|
+
disableAt: z.string().datetime()
|
|
42
|
+
.refine((value) => new Date(value) > new Date(), { message: 'Has to be in the future' })
|
|
43
|
+
.optional(),
|
|
44
|
+
creatorUsername: z.string().refine(isEmail, { message: 'Has to be an email' }).optional(),
|
|
45
|
+
permissions: z.object({
|
|
46
|
+
scope: z.nativeEnum(UserPermissionScope).array().optional(),
|
|
47
|
+
}).optional(),
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
export type CreateUserWithMultData = z.infer<typeof CreateUserWithMultData>;
|
package/src/types.ts
CHANGED
|
@@ -161,18 +161,7 @@ export type UpdateUserParam = {
|
|
|
161
161
|
multiUserId?: string;
|
|
162
162
|
};
|
|
163
163
|
|
|
164
|
-
export type CreateUserWithMultData = {
|
|
165
|
-
role: string;
|
|
166
|
-
email: string;
|
|
167
|
-
disableAt?: string;
|
|
168
|
-
creatorUsername?: string;
|
|
169
|
-
permissions?: {
|
|
170
|
-
scope?: string[];
|
|
171
|
-
};
|
|
172
|
-
};
|
|
173
|
-
|
|
174
164
|
export type CreateUserWithMultResponse = {
|
|
175
165
|
emailSent: boolean;
|
|
176
166
|
userCreated?: true;
|
|
177
167
|
};
|
|
178
|
-
|