@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.
Files changed (67) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/cjs/Users.js +29 -6
  3. package/dist/cjs/Users.js.map +1 -1
  4. package/dist/cjs/__tests__/Users.spec.js +84 -18
  5. package/dist/cjs/__tests__/Users.spec.js.map +1 -1
  6. package/dist/cjs/__tests__/mocks/create_user_with_multi.js +16 -0
  7. package/dist/cjs/__tests__/mocks/create_user_with_multi.js.map +1 -0
  8. package/dist/cjs/__tests__/mocks/index.js +20 -0
  9. package/dist/cjs/__tests__/mocks/index.js.map +1 -0
  10. package/dist/cjs/__tests__/mocks/profile.js +1 -16
  11. package/dist/cjs/__tests__/mocks/profile.js.map +1 -1
  12. package/dist/cjs/__tests__/mocks/server.js +19 -0
  13. package/dist/cjs/__tests__/mocks/server.js.map +1 -0
  14. package/dist/cjs/errors.js +27 -0
  15. package/dist/cjs/errors.js.map +1 -0
  16. package/dist/cjs/index.js +1 -0
  17. package/dist/cjs/index.js.map +1 -1
  18. package/dist/cjs/schemas.js +23 -1
  19. package/dist/cjs/schemas.js.map +1 -1
  20. package/dist/esm/Users.js +24 -8
  21. package/dist/esm/Users.js.map +1 -1
  22. package/dist/esm/__tests__/Users.spec.js +43 -2
  23. package/dist/esm/__tests__/Users.spec.js.map +1 -1
  24. package/dist/esm/__tests__/mocks/create_user_with_multi.js +13 -0
  25. package/dist/esm/__tests__/mocks/create_user_with_multi.js.map +1 -0
  26. package/dist/esm/__tests__/mocks/index.js +4 -0
  27. package/dist/esm/__tests__/mocks/index.js.map +1 -0
  28. package/dist/esm/__tests__/mocks/profile.js +0 -11
  29. package/dist/esm/__tests__/mocks/profile.js.map +1 -1
  30. package/dist/esm/__tests__/mocks/server.js +12 -0
  31. package/dist/esm/__tests__/mocks/server.js.map +1 -0
  32. package/dist/esm/errors.js +3 -0
  33. package/dist/esm/errors.js.map +1 -0
  34. package/dist/esm/index.js +1 -0
  35. package/dist/esm/index.js.map +1 -1
  36. package/dist/esm/schemas.js +22 -0
  37. package/dist/esm/schemas.js.map +1 -1
  38. package/dist/types/Users.d.ts +2 -2
  39. package/dist/types/Users.d.ts.map +1 -1
  40. package/dist/types/__tests__/mocks/create_user_with_multi.d.ts +13 -0
  41. package/dist/types/__tests__/mocks/create_user_with_multi.d.ts.map +1 -0
  42. package/dist/types/__tests__/mocks/index.d.ts +4 -0
  43. package/dist/types/__tests__/mocks/index.d.ts.map +1 -0
  44. package/dist/types/__tests__/mocks/profile.d.ts +0 -8
  45. package/dist/types/__tests__/mocks/profile.d.ts.map +1 -1
  46. package/dist/types/__tests__/mocks/server.d.ts +9 -0
  47. package/dist/types/__tests__/mocks/server.d.ts.map +1 -0
  48. package/dist/types/errors.d.ts +3 -0
  49. package/dist/types/errors.d.ts.map +1 -0
  50. package/dist/types/index.d.ts +1 -0
  51. package/dist/types/index.d.ts.map +1 -1
  52. package/dist/types/schemas.d.ts +39 -0
  53. package/dist/types/schemas.d.ts.map +1 -1
  54. package/dist/types/types.d.ts +0 -9
  55. package/dist/types/types.d.ts.map +1 -1
  56. package/package.json +2 -2
  57. package/src/Users.ts +27 -9
  58. package/src/__tests__/Users.spec.ts +53 -2
  59. package/src/__tests__/__snapshots__/Users.spec.ts.snap +12 -0
  60. package/src/__tests__/mocks/create_user_with_multi.ts +12 -0
  61. package/src/__tests__/mocks/index.ts +3 -0
  62. package/src/__tests__/mocks/profile.ts +0 -16
  63. package/src/__tests__/mocks/server.ts +15 -0
  64. package/src/errors.ts +1 -0
  65. package/src/index.ts +1 -0
  66. package/src/schemas.ts +25 -0
  67. 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
@@ -2,3 +2,4 @@ export { Users } from './Users';
2
2
  export * from './types';
3
3
  export * from './constants';
4
4
  export * from './schemas';
5
+ export * from './errors';
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
-