@or-sdk/users 3.4.0 → 3.5.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 (126) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/cjs/Users.js +74 -39
  3. package/dist/cjs/Users.js.map +1 -1
  4. package/dist/cjs/__tests__/Users.spec.js +67 -39
  5. package/dist/cjs/__tests__/Users.spec.js.map +1 -1
  6. package/dist/cjs/errors.js +1 -1
  7. package/dist/cjs/errors.js.map +1 -1
  8. package/dist/cjs/index.js +1 -1
  9. package/dist/cjs/index.js.map +1 -1
  10. package/dist/cjs/schemas/_base.js +26 -0
  11. package/dist/cjs/schemas/_base.js.map +1 -0
  12. package/dist/cjs/schemas/constructor.js +22 -0
  13. package/dist/cjs/schemas/constructor.js.map +1 -0
  14. package/dist/cjs/schemas/createUserWithMulti.js +21 -0
  15. package/dist/cjs/schemas/createUserWithMulti.js.map +1 -0
  16. package/dist/cjs/schemas/getAccountInfo.js +3 -0
  17. package/dist/cjs/schemas/getAccountInfo.js.map +1 -0
  18. package/dist/cjs/schemas/getCurrentMultiUserProfile.js +19 -0
  19. package/dist/cjs/schemas/getCurrentMultiUserProfile.js.map +1 -0
  20. package/dist/cjs/schemas/getUserById.js +9 -0
  21. package/dist/cjs/schemas/getUserById.js.map +1 -0
  22. package/dist/cjs/schemas/index.js +28 -0
  23. package/dist/cjs/schemas/index.js.map +1 -0
  24. package/dist/cjs/schemas/listAccountProfiles.js +3 -0
  25. package/dist/cjs/schemas/listAccountProfiles.js.map +1 -0
  26. package/dist/cjs/schemas/listProfiles.js +13 -0
  27. package/dist/cjs/schemas/listProfiles.js.map +1 -0
  28. package/dist/cjs/schemas/listUsers.js +13 -0
  29. package/dist/cjs/schemas/listUsers.js.map +1 -0
  30. package/dist/cjs/schemas/listUsersAdvanced.js +10 -0
  31. package/dist/cjs/schemas/listUsersAdvanced.js.map +1 -0
  32. package/dist/cjs/schemas/upsertMultiUser.js +11 -0
  33. package/dist/cjs/schemas/upsertMultiUser.js.map +1 -0
  34. package/dist/esm/Users.js +43 -26
  35. package/dist/esm/Users.js.map +1 -1
  36. package/dist/esm/__tests__/Users.spec.js +13 -5
  37. package/dist/esm/__tests__/Users.spec.js.map +1 -1
  38. package/dist/esm/errors.js +2 -2
  39. package/dist/esm/errors.js.map +1 -1
  40. package/dist/esm/index.js +1 -1
  41. package/dist/esm/index.js.map +1 -1
  42. package/dist/esm/schemas/_base.js +20 -0
  43. package/dist/esm/schemas/_base.js.map +1 -0
  44. package/dist/esm/schemas/constructor.js +19 -0
  45. package/dist/esm/schemas/constructor.js.map +1 -0
  46. package/dist/esm/schemas/createUserWithMulti.js +18 -0
  47. package/dist/esm/schemas/createUserWithMulti.js.map +1 -0
  48. package/dist/esm/schemas/getAccountInfo.js +2 -0
  49. package/dist/esm/schemas/getAccountInfo.js.map +1 -0
  50. package/dist/esm/schemas/getCurrentMultiUserProfile.js +16 -0
  51. package/dist/esm/schemas/getCurrentMultiUserProfile.js.map +1 -0
  52. package/dist/esm/schemas/getUserById.js +6 -0
  53. package/dist/esm/schemas/getUserById.js.map +1 -0
  54. package/dist/esm/schemas/index.js +12 -0
  55. package/dist/esm/schemas/index.js.map +1 -0
  56. package/dist/esm/schemas/listAccountProfiles.js +2 -0
  57. package/dist/esm/schemas/listAccountProfiles.js.map +1 -0
  58. package/dist/esm/schemas/listProfiles.js +10 -0
  59. package/dist/esm/schemas/listProfiles.js.map +1 -0
  60. package/dist/esm/schemas/listUsers.js +10 -0
  61. package/dist/esm/schemas/listUsers.js.map +1 -0
  62. package/dist/esm/schemas/listUsersAdvanced.js +7 -0
  63. package/dist/esm/schemas/listUsersAdvanced.js.map +1 -0
  64. package/dist/esm/schemas/upsertMultiUser.js +8 -0
  65. package/dist/esm/schemas/upsertMultiUser.js.map +1 -0
  66. package/dist/types/Users.d.ts +11 -10
  67. package/dist/types/Users.d.ts.map +1 -1
  68. package/dist/types/__tests__/mocks/server.d.ts +3 -3
  69. package/dist/types/__tests__/mocks/server.d.ts.map +1 -1
  70. package/dist/types/errors.d.ts +2 -2
  71. package/dist/types/errors.d.ts.map +1 -1
  72. package/dist/types/index.d.ts +1 -1
  73. package/dist/types/index.d.ts.map +1 -1
  74. package/dist/types/schemas/_base.d.ts +16 -0
  75. package/dist/types/schemas/_base.d.ts.map +1 -0
  76. package/dist/types/schemas/constructor.d.ts +34 -0
  77. package/dist/types/schemas/constructor.d.ts.map +1 -0
  78. package/dist/types/schemas/createUserWithMulti.d.ts +46 -0
  79. package/dist/types/schemas/createUserWithMulti.d.ts.map +1 -0
  80. package/dist/types/schemas/getAccountInfo.d.ts +5 -0
  81. package/dist/types/schemas/getAccountInfo.d.ts.map +1 -0
  82. package/dist/types/schemas/getCurrentMultiUserProfile.d.ts +66 -0
  83. package/dist/types/schemas/getCurrentMultiUserProfile.d.ts.map +1 -0
  84. package/dist/types/schemas/getUserById.d.ts +26 -0
  85. package/dist/types/schemas/getUserById.d.ts.map +1 -0
  86. package/dist/types/schemas/index.d.ts +12 -0
  87. package/dist/types/schemas/index.d.ts.map +1 -0
  88. package/dist/types/schemas/listAccountProfiles.d.ts +4 -0
  89. package/dist/types/schemas/listAccountProfiles.d.ts.map +1 -0
  90. package/dist/types/schemas/listProfiles.d.ts +43 -0
  91. package/dist/types/schemas/listProfiles.d.ts.map +1 -0
  92. package/dist/types/schemas/listUsers.d.ts +36 -0
  93. package/dist/types/schemas/listUsers.d.ts.map +1 -0
  94. package/dist/types/schemas/listUsersAdvanced.d.ts +44 -0
  95. package/dist/types/schemas/listUsersAdvanced.d.ts.map +1 -0
  96. package/dist/types/schemas/upsertMultiUser.d.ts +18 -0
  97. package/dist/types/schemas/upsertMultiUser.d.ts.map +1 -0
  98. package/dist/types/types.d.ts +8 -90
  99. package/dist/types/types.d.ts.map +1 -1
  100. package/package.json +13 -13
  101. package/src/Users.ts +160 -60
  102. package/src/__tests__/Users.spec.ts +15 -5
  103. package/src/__tests__/__snapshots__/Users.spec.ts.snap +66 -56
  104. package/src/errors.ts +2 -2
  105. package/src/index.ts +1 -1
  106. package/src/schemas/_base.ts +29 -0
  107. package/src/schemas/constructor.ts +21 -0
  108. package/src/schemas/createUserWithMulti.ts +26 -0
  109. package/src/schemas/getAccountInfo.ts +4 -0
  110. package/src/schemas/getCurrentMultiUserProfile.ts +19 -0
  111. package/src/schemas/getUserById.ts +22 -0
  112. package/src/schemas/index.ts +11 -0
  113. package/src/schemas/listAccountProfiles.ts +5 -0
  114. package/src/schemas/listProfiles.ts +37 -0
  115. package/src/schemas/listUsers.ts +27 -0
  116. package/src/schemas/listUsersAdvanced.ts +39 -0
  117. package/src/schemas/upsertMultiUser.ts +13 -0
  118. package/src/types.ts +13 -111
  119. package/{vitest.config.js → vitest.config.mts} +2 -2
  120. package/dist/cjs/schemas.js +0 -52
  121. package/dist/cjs/schemas.js.map +0 -1
  122. package/dist/esm/schemas.js +0 -45
  123. package/dist/esm/schemas.js.map +0 -1
  124. package/dist/types/schemas.d.ts +0 -111
  125. package/dist/types/schemas.d.ts.map +0 -1
  126. package/src/schemas.ts +0 -52
@@ -1,93 +1,103 @@
1
1
  // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
2
 
3
+ exports[`Users API > constructor > throws error if usersUrl and discoveryUrl are not provided 1`] = `
4
+ [ZodError: [
5
+ {
6
+ "code": "custom",
7
+ "message": "Either \\"discoveryUrl\\" or \\"usersUrl\\" is required.",
8
+ "path": []
9
+ }
10
+ ]]
11
+ `;
12
+
3
13
  exports[`Users API > createUserWithMulti > should throw error if expire time is in the past 1`] = `
4
- "[
14
+ [ZodError: [
5
15
  {
6
- \\"code\\": \\"custom\\",
7
- \\"message\\": \\"Has to be in the future\\",
8
- \\"path\\": [
9
- \\"disableAt\\"
16
+ "code": "custom",
17
+ "message": "Has to be in the future",
18
+ "path": [
19
+ "disableAt"
10
20
  ]
11
21
  }
12
- ]"
22
+ ]]
13
23
  `;
14
24
 
15
25
  exports[`Users API > getCurrentMultiUserProfile > show throw error on invalid response 1`] = `
16
- "[
26
+ [ZodError: [
17
27
  {
18
- \\"code\\": \\"invalid_type\\",
19
- \\"expected\\": \\"string\\",
20
- \\"received\\": \\"undefined\\",
21
- \\"path\\": [
22
- \\"id\\"
28
+ "code": "invalid_type",
29
+ "expected": "string",
30
+ "received": "undefined",
31
+ "path": [
32
+ "id"
23
33
  ],
24
- \\"message\\": \\"Required\\"
34
+ "message": "Required"
25
35
  },
26
36
  {
27
- \\"code\\": \\"invalid_type\\",
28
- \\"expected\\": \\"string\\",
29
- \\"received\\": \\"undefined\\",
30
- \\"path\\": [
31
- \\"username\\"
37
+ "code": "invalid_type",
38
+ "expected": "string",
39
+ "received": "undefined",
40
+ "path": [
41
+ "username"
32
42
  ],
33
- \\"message\\": \\"Required\\"
43
+ "message": "Required"
34
44
  },
35
45
  {
36
- \\"code\\": \\"invalid_type\\",
37
- \\"expected\\": \\"object\\",
38
- \\"received\\": \\"undefined\\",
39
- \\"path\\": [
40
- \\"data\\"
46
+ "code": "invalid_type",
47
+ "expected": "object",
48
+ "received": "undefined",
49
+ "path": [
50
+ "data"
41
51
  ],
42
- \\"message\\": \\"Required\\"
52
+ "message": "Required"
43
53
  },
44
54
  {
45
- \\"code\\": \\"unrecognized_keys\\",
46
- \\"keys\\": [
47
- \\"wrongResponse\\"
55
+ "code": "unrecognized_keys",
56
+ "keys": [
57
+ "wrongResponse"
48
58
  ],
49
- \\"path\\": [],
50
- \\"message\\": \\"Unrecognized key(s) in object: 'wrongResponse'\\"
59
+ "path": [],
60
+ "message": "Unrecognized key(s) in object: 'wrongResponse'"
51
61
  }
52
- ]"
62
+ ]]
53
63
  `;
54
64
 
55
65
  exports[`Users API > getCurrentMultiUserProfile > show throw error on invalid response if validate = true 1`] = `
56
- "[
66
+ [ZodError: [
57
67
  {
58
- \\"code\\": \\"invalid_type\\",
59
- \\"expected\\": \\"string\\",
60
- \\"received\\": \\"undefined\\",
61
- \\"path\\": [
62
- \\"id\\"
68
+ "code": "invalid_type",
69
+ "expected": "string",
70
+ "received": "undefined",
71
+ "path": [
72
+ "id"
63
73
  ],
64
- \\"message\\": \\"Required\\"
74
+ "message": "Required"
65
75
  },
66
76
  {
67
- \\"code\\": \\"invalid_type\\",
68
- \\"expected\\": \\"string\\",
69
- \\"received\\": \\"undefined\\",
70
- \\"path\\": [
71
- \\"username\\"
77
+ "code": "invalid_type",
78
+ "expected": "string",
79
+ "received": "undefined",
80
+ "path": [
81
+ "username"
72
82
  ],
73
- \\"message\\": \\"Required\\"
83
+ "message": "Required"
74
84
  },
75
85
  {
76
- \\"code\\": \\"invalid_type\\",
77
- \\"expected\\": \\"object\\",
78
- \\"received\\": \\"undefined\\",
79
- \\"path\\": [
80
- \\"data\\"
86
+ "code": "invalid_type",
87
+ "expected": "object",
88
+ "received": "undefined",
89
+ "path": [
90
+ "data"
81
91
  ],
82
- \\"message\\": \\"Required\\"
92
+ "message": "Required"
83
93
  },
84
94
  {
85
- \\"code\\": \\"unrecognized_keys\\",
86
- \\"keys\\": [
87
- \\"wrongResponse\\"
95
+ "code": "unrecognized_keys",
96
+ "keys": [
97
+ "wrongResponse"
88
98
  ],
89
- \\"path\\": [],
90
- \\"message\\": \\"Unrecognized key(s) in object: 'wrongResponse'\\"
99
+ "path": [],
100
+ "message": "Unrecognized key(s) in object: 'wrongResponse'"
91
101
  }
92
- ]"
102
+ ]]
93
103
  `;
package/src/errors.ts CHANGED
@@ -1,3 +1,3 @@
1
- import { BaseError } from '@or-sdk/base';
1
+ import { ApiError } from '@or-sdk/base';
2
2
 
3
- export class CreateUserConflictError extends BaseError {}
3
+ export class CreateUserConflictError extends ApiError {}
package/src/index.ts CHANGED
@@ -4,5 +4,5 @@ export { ApiError, ApiTimeoutError, ApiErrorOptions } from '@or-sdk/base';
4
4
  export { Users } from './Users';
5
5
  export * from './types';
6
6
  export * from './constants';
7
- export * from './schemas';
7
+ export * from './schemas/index';
8
8
  export * from './errors';
@@ -0,0 +1,29 @@
1
+ import isEmail from 'validator/lib/isEmail';
2
+ import isMobilePhone from 'validator/lib/isMobilePhone';
3
+ import { z } from 'zod';
4
+
5
+ // not using `.email()` here because it's does not allow for 'name+client/env@example.com'
6
+ export const emailSchema = z.string()
7
+ .min(1)
8
+ .refine(isEmail, { message: 'Has to be an email' });
9
+
10
+ export const phoneSchema = z.string()
11
+ .min(1)
12
+ .refine(isMobilePhone, { message: 'Has to be a phone number' });
13
+
14
+ export const futureDatetimeSchema = z.string()
15
+ .datetime()
16
+ .refine((value) => new Date(value) > new Date(), { message: 'Has to be in the future' });
17
+
18
+ export type AccountProfile = {
19
+ id: string;
20
+ email: string;
21
+ username: string;
22
+ };
23
+
24
+ export enum UserRole {
25
+ GUEST = 'GUEST',
26
+ USER = 'USER',
27
+ ADMIN = 'ADMIN',
28
+ SUPER_ADMIN = 'SUPER_ADMIN',
29
+ }
@@ -0,0 +1,21 @@
1
+ import type { Token } from '@or-sdk/base';
2
+ import { z } from 'zod';
3
+
4
+ const authTokenSchema = z.string().min(1, { message: 'Token is required' });
5
+ export const usersConfigSchema = z.object({
6
+ token: z.union([
7
+ authTokenSchema,
8
+ z.function().args().returns(authTokenSchema),
9
+ ]) satisfies z.ZodType<Token>,
10
+ discoveryUrl: z.string().url().optional(),
11
+ accountId: z.string().uuid().optional(),
12
+ usersUrl: z.string().url().optional(),
13
+ sdkUrl: z.string().url().optional(),
14
+ })
15
+ .strict()
16
+ .refine((data) => {
17
+ if (!data.discoveryUrl && !data.usersUrl) return false;
18
+ return true;
19
+ }, { message: 'Either "discoveryUrl" or "usersUrl" is required.' });
20
+
21
+ export type UsersConfig = z.infer<typeof usersConfigSchema>;
@@ -0,0 +1,26 @@
1
+ import { z } from 'zod';
2
+
3
+ import { emailSchema, futureDatetimeSchema, UserRole } from './_base';
4
+
5
+ export enum UserPermissionScope {
6
+ READONLY = 'READONLY',
7
+ }
8
+
9
+ export const createUserWithMultDataSchema = z.object({
10
+ role: z.nativeEnum(UserRole),
11
+ email: emailSchema,
12
+ disableAt: futureDatetimeSchema.optional(),
13
+ creatorUsername: emailSchema.optional(),
14
+ permissions: z.object({
15
+ scope: z.nativeEnum(UserPermissionScope).array().optional(),
16
+ }).optional(),
17
+ type: z.string().optional(),
18
+ redirectUrl: z.string().url().optional(),
19
+ }).strict();
20
+
21
+ export type CreateUserWithMultData = z.infer<typeof createUserWithMultDataSchema>;
22
+
23
+ export type CreateUserWithMultResult = {
24
+ emailSent: boolean;
25
+ userCreated?: true;
26
+ };
@@ -0,0 +1,4 @@
1
+ export type AccountItem = {
2
+ id: string;
3
+ accountName: string;
4
+ };
@@ -0,0 +1,19 @@
1
+ import { z } from 'zod';
2
+
3
+ import { emailSchema, phoneSchema } from './_base';
4
+
5
+ export const currentMultiUserProfileSchema = z.object({
6
+ id: z.string().uuid(),
7
+ username: emailSchema,
8
+ data: z.object({
9
+ profile: z.object({
10
+ firstName: z.string().optional(),
11
+ lastName: z.string().optional(),
12
+ phoneNumber: phoneSchema.or(z.literal('')).optional(),
13
+ icon: z.string().url().optional(),
14
+ }).strict().optional(),
15
+ meta: z.record(z.any()).optional(),
16
+ }).strict(),
17
+ }).strict();
18
+
19
+ export type CurrentMultiUserProfile = z.infer<typeof currentMultiUserProfileSchema>;
@@ -0,0 +1,22 @@
1
+ import { z } from 'zod';
2
+
3
+ export const getUserByIdParamsSchema = z.object({
4
+ userId: z.string().uuid(),
5
+ projection: z.string().array().optional(),
6
+ });
7
+
8
+ export type GetUserByIdParams = z.infer<typeof getUserByIdParamsSchema>;
9
+
10
+ export type User = {
11
+ dateCreated: number;
12
+ accountId: string;
13
+ email: string;
14
+ role: string;
15
+ data: {
16
+ firstName: string;
17
+ updatedBy: string;
18
+ };
19
+ dateModified: number;
20
+ username: string;
21
+ id: string;
22
+ };
@@ -0,0 +1,11 @@
1
+ export * from './_base';
2
+ export * from './constructor';
3
+ export * from './createUserWithMulti';
4
+ export * from './getAccountInfo';
5
+ export * from './getCurrentMultiUserProfile';
6
+ export * from './getUserById';
7
+ export * from './listAccountProfiles';
8
+ export * from './listProfiles';
9
+ export * from './listUsers';
10
+ export * from './listUsersAdvanced';
11
+ export * from './upsertMultiUser';
@@ -0,0 +1,5 @@
1
+ import { List } from '@or-sdk/base';
2
+
3
+ import { AccountProfile } from './_base';
4
+
5
+ export type ListAccountProfilesResult = List<AccountProfile>;
@@ -0,0 +1,37 @@
1
+ import { List } from '@or-sdk/base';
2
+ import { z } from 'zod';
3
+
4
+ import { emailSchema } from './_base';
5
+
6
+ export const listProfilesParamsSchema = z.object({
7
+ email: emailSchema.optional(),
8
+ username: emailSchema.optional(),
9
+ id: z.string().uuid().optional(),
10
+
11
+ offset: z.number().int().min(0).optional(),
12
+ limit: z.number().int().min(1).optional(),
13
+ }).strict().optional();
14
+
15
+ export type ListProfilesParams = z.infer<typeof listProfilesParamsSchema>;
16
+
17
+ export type ProfileItem = {
18
+ id: string;
19
+ email: string;
20
+ username: string;
21
+ data: {
22
+ profile?: {
23
+ firstName?: string;
24
+ lastName?: string;
25
+ phoneNumber?: string;
26
+ icon?: string;
27
+ };
28
+ };
29
+ dateCreated: string;
30
+ dateModified: string;
31
+ disabled: boolean;
32
+ twoFactor?: {
33
+ enabled: boolean;
34
+ };
35
+ };
36
+
37
+ export type ListProfilesResult = List<ProfileItem>;
@@ -0,0 +1,27 @@
1
+ import { OrderDirection, List } from '@or-sdk/base';
2
+ import { z } from 'zod';
3
+
4
+ export const listUsersParamsSchema = z.object({
5
+ from: z.number().int().min(0).optional().describe('The starting point for the list of users.'),
6
+ size: z.number().int().min(1).optional().describe('The maximum number of users to return.'),
7
+ orderProperty: z.string().min(1).optional().describe('The property to order the users by.'),
8
+ orderDirection: z.nativeEnum(OrderDirection).optional().describe('The direction to order the users.'),
9
+ query: z.record(z.any()).optional().describe('The query to filter the users.'),
10
+ }).strict();
11
+
12
+ export type ListUsersParams = z.infer<typeof listUsersParamsSchema>;
13
+
14
+ export type UserItem = {
15
+ id: string;
16
+ email: string;
17
+ username: string;
18
+ dateCreated: string;
19
+ multiUserId?: string;
20
+ data: {
21
+ firstName?: string;
22
+ lastName?: string;
23
+ contactPhone?: string;
24
+ };
25
+ };
26
+
27
+ export type ListUsersResult = List<UserItem>;
@@ -0,0 +1,39 @@
1
+ import { z } from 'zod';
2
+
3
+ import { UserRole } from './_base';
4
+
5
+ export const listUsersAdvancedParamsSchema = z.object({
6
+ limit: z.number().int().min(1).optional(),
7
+ offset: z.number().int().min(0).optional(),
8
+ skipShareViews: z.boolean().optional(),
9
+ }).strict().optional();
10
+
11
+ export type ListUsersAdvancedParams = z.infer<typeof listUsersAdvancedParamsSchema>;
12
+
13
+ export type UserAdvanced = {
14
+ id: string;
15
+ email: string;
16
+ username: string;
17
+ dateCreated: Date;
18
+ role: keyof typeof UserRole;
19
+ disabled: boolean;
20
+ data: {
21
+ firstName?: string;
22
+ lastName?: string;
23
+ disableAt?: string;
24
+ phoneNumber?: string;
25
+ permissions?: {
26
+ scope?: string[];
27
+ };
28
+ };
29
+ profile?: {
30
+ id: string;
31
+ email: string;
32
+ firstName?: string;
33
+ lastName?: string;
34
+ phoneNumber?: string;
35
+ icon?: string;
36
+ };
37
+ createdBy?: string;
38
+ bySuperAdmin?: boolean;
39
+ };
@@ -0,0 +1,13 @@
1
+ import { z } from 'zod';
2
+
3
+ import { emailSchema, AccountProfile } from './_base';
4
+
5
+ export const upsertMultiUserParamsSchema = z.object({
6
+ email: emailSchema,
7
+ password: z.string().min(8, { message: 'Password has to be at least 8 characters' }),
8
+ data: z.record(z.any()).optional(),
9
+ }).strict();
10
+
11
+ export type UpsertMultiUserParams = z.infer<typeof upsertMultiUserParamsSchema>;
12
+
13
+ export type UpsertMultiUserResult = AccountProfile;
package/src/types.ts CHANGED
@@ -1,62 +1,6 @@
1
- import { OrderOptions, PaginationOptions, Token } from '@or-sdk/base';
1
+ import { Token } from '@or-sdk/base';
2
2
 
3
- export type { CurrentMultiUserProfile } from './schemas';
4
-
5
- export type UsersConfig = {
6
- /**
7
- * token
8
- */
9
- token: Token;
10
-
11
- /**
12
- * Url of OneReach service discovery api
13
- */
14
- discoveryUrl?: string;
15
-
16
- /**
17
- * Account ID for cross-account requests (super admin only)
18
- */
19
- accountId?: string;
20
-
21
- /**
22
- * Url of OneReach Users api
23
- */
24
- usersUrl: string;
25
-
26
- /**
27
- * Url of OneReach SDK api
28
- */
29
- sdkUrl?: string;
30
- };
31
-
32
- export type ListUsersParams = OrderOptions & PaginationOptions & {
33
- query: {[key: string]: any;};
34
- };
35
-
36
- export type UserItem = {
37
- id: string;
38
- email: string;
39
- username: string;
40
- data: {
41
- firstName: string;
42
- lastName: string;
43
- contactPhone: string;
44
- };
45
- };
46
-
47
- export type User = {
48
- dateCreated: number;
49
- accountId: string;
50
- email: string;
51
- role: string;
52
- data: {
53
- firstName: string;
54
- updatedBy: string;
55
- };
56
- dateModified: number;
57
- username: string;
58
- id: string;
59
- };
3
+ export type { Token };
60
4
 
61
5
  export type TokenData = {
62
6
  allow: boolean;
@@ -76,68 +20,31 @@ export type Profile = {
76
20
  username: string;
77
21
  };
78
22
 
79
- export type AccountItem = {id: string; accountName: string;};
80
-
81
- export type AccountProfile = {id: string; email: string; username: string;};
82
-
83
- export type ListProfilesParams = {email?: string; username?: string; id?: string;};
23
+ export type AttachResult = { emailSent?: boolean; userAttached?: boolean; };
84
24
 
85
- export type AttachResponse = {emailSent?: boolean; userAttached?: boolean;};
25
+ export type AttachParams = { email: string; userId?: string; password?: string; };
86
26
 
87
- export type AttachParams = {email: string; userId?: string; password?: string;};
27
+ export type ProfileUserItem = { id: string; accountId: string; username: string; role: string; accountName: string; };
88
28
 
89
- export type ProfileUserItem = {id: string;accountId: string;username: string;role: string;accountName: string;};
90
-
91
- export type ProfileAccountItem = {id: string; accountName: string;};
92
-
93
- export type UserAdvanced = {
94
- id: string;
95
- email: string;
96
- dateCreated: Date;
97
- disabled: boolean;
98
- username: string;
99
- role: string;
100
- data: {
101
- firstName?: string;
102
- lastName?: string;
103
- disableAt?: Date;
104
- phoneNumber?: string;
105
- permissions?: {
106
- scope?: Array<string>;
107
- };
108
- };
109
- profile?: {
110
- id: string;
111
- firstName?: string;
112
- lastName?: string;
113
- phoneNumber?: string;
114
- email: string;
115
- icon?: string;
116
- };
117
- createdBy?: string;
118
- bySuperAdmin?: boolean;
119
- };
120
-
121
- export type ListUsersAdvancedParams = {
122
- limit?: number;
123
- offset?: number;
124
- };
29
+ export type ProfileAccountItem = { id: string; accountName: string; };
125
30
 
126
31
  export type ListAccountsParams = {
127
32
  limit?: number;
128
33
  skip?: number;
129
- query?: {[key: string]: unknown;};
34
+ query?: { [key: string]: unknown; };
130
35
  projection?: string[];
131
36
  };
132
37
 
133
- export type ListAccountsResponse = {
134
- items: (AccountItem & {
38
+ export type ListAccountsResult = {
39
+ items: {
40
+ id: string;
41
+ accountName: string;
135
42
  dateCreated: string;
136
43
  dateModified: string;
137
44
  disabled: boolean;
138
45
  version: boolean;
139
- data: {[key: string]: unknown;};
140
- })[];
46
+ data: { [key: string]: unknown; };
47
+ }[];
141
48
  total: number;
142
49
  };
143
50
 
@@ -160,8 +67,3 @@ export type UpdateUserParam = {
160
67
  role?: string;
161
68
  multiUserId?: string;
162
69
  };
163
-
164
- export type CreateUserWithMultResponse = {
165
- emailSent: boolean;
166
- userCreated?: true;
167
- };
@@ -2,7 +2,7 @@ import { defineConfig } from 'vitest/config';
2
2
 
3
3
  export default defineConfig({
4
4
  test: {
5
- reporters: ['junit', 'basic'],
5
+ reporters: ['junit', 'default'],
6
6
  outputFile: 'test-results/junit.xml',
7
7
  coverage: {
8
8
  all: true,
@@ -19,6 +19,6 @@ export default defineConfig({
19
19
  globals: true,
20
20
  environment: 'node',
21
21
  clearMocks: true,
22
- watch: true,
22
+ watch: false,
23
23
  },
24
24
  });
@@ -1,52 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- var _a;
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.CreateUserWithMultData = exports.CurrentMultiUserProfile = exports.UserPermissionScope = exports.UserRole = void 0;
8
- var isEmail_1 = __importDefault(require("validator/lib/isEmail"));
9
- var isMobilePhone_1 = __importDefault(require("validator/lib/isMobilePhone"));
10
- var zod_1 = require("zod");
11
- var UserRole;
12
- (function (UserRole) {
13
- UserRole["GUEST"] = "GUEST";
14
- UserRole["USER"] = "USER";
15
- UserRole["ADMIN"] = "ADMIN";
16
- UserRole["SUPER_ADMIN"] = "SUPER_ADMIN";
17
- })(UserRole || (exports.UserRole = UserRole = {}));
18
- var UserPermissionScope;
19
- (function (UserPermissionScope) {
20
- UserPermissionScope["READONLY"] = "READONLY";
21
- })(UserPermissionScope || (exports.UserPermissionScope = UserPermissionScope = {}));
22
- exports.CurrentMultiUserProfile = zod_1.z.object({
23
- id: zod_1.z.string().uuid(),
24
- username: zod_1.z.string().refine(isEmail_1.default, { message: 'Has to be an email' }),
25
- data: zod_1.z.object({
26
- profile: zod_1.z.object({
27
- firstName: zod_1.z.string().optional(),
28
- lastName: zod_1.z.string().optional(),
29
- phoneNumber: zod_1.z.string().refine(isMobilePhone_1.default, { message: 'Has to be a phone number' })
30
- .or(zod_1.z.literal(''))
31
- .optional(),
32
- icon: zod_1.z.string().url().optional(),
33
- }).strict().optional(),
34
- meta: zod_1.z.object((_a = {},
35
- _a[zod_1.z.string()] = zod_1.z.any(),
36
- _a)).optional(),
37
- }).strict(),
38
- }).strict();
39
- exports.CreateUserWithMultData = zod_1.z.object({
40
- role: zod_1.z.nativeEnum(UserRole),
41
- email: zod_1.z.string().refine(isEmail_1.default, { message: 'Has to be an email' }),
42
- disableAt: zod_1.z.string().datetime()
43
- .refine(function (value) { return new Date(value) > new Date(); }, { message: 'Has to be in the future' })
44
- .optional(),
45
- creatorUsername: zod_1.z.string().refine(isEmail_1.default, { message: 'Has to be an email' }).optional(),
46
- permissions: zod_1.z.object({
47
- scope: zod_1.z.nativeEnum(UserPermissionScope).array().optional(),
48
- }).optional(),
49
- type: zod_1.z.string().optional(),
50
- redirectUrl: zod_1.z.string().optional(),
51
- });
52
- //# sourceMappingURL=schemas.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/schemas.ts"],"names":[],"mappings":";;;;;;;AAAA,kEAA4C;AAC5C,8EAAwD;AACxD,2BAAwB;AAExB,IAAY,QAKX;AALD,WAAY,QAAQ;IAClB,2BAAiB,CAAA;IACjB,yBAAe,CAAA;IACf,2BAAiB,CAAA;IACjB,uCAA6B,CAAA;AAC/B,CAAC,EALW,QAAQ,wBAAR,QAAQ,QAKnB;AACD,IAAY,mBAEX;AAFD,WAAY,mBAAmB;IAC7B,4CAAuB,CAAA;AACzB,CAAC,EAFW,mBAAmB,mCAAnB,mBAAmB,QAE9B;AAEY,QAAA,uBAAuB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC9C,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IAErB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,iBAAO,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;IACvE,IAAI,EAAE,OAAC,CAAC,MAAM,CAAC;QACb,OAAO,EAAE,OAAC,CAAC,MAAM,CAAC;YAChB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAChC,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC/B,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,uBAAa,EAAE,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC;iBACnF,EAAE,CAAC,OAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;iBACjB,QAAQ,EAAE;YACb,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;SAClC,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACtB,IAAI,EAAE,OAAC,CAAC,MAAM;YAEZ,GAAC,OAAC,CAAC,MAAM,EAAE,IAAG,OAAC,CAAC,GAAG,EAAE;gBACrB,CAAC,QAAQ,EAAE;KACd,CAAC,CAAC,MAAM,EAAE;CACZ,CAAC,CAAC,MAAM,EAAE,CAAC;AAIC,QAAA,sBAAsB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7C,IAAI,EAAE,OAAC,CAAC,UAAU,CAAC,QAAQ,CAAC;IAE5B,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,iBAAO,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;IACpE,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC7B,MAAM,CAAC,UAAC,KAAK,IAAK,OAAA,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,EAAE,EAA5B,CAA4B,EAAE,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC;SACvF,QAAQ,EAAE;IACb,eAAe,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,iBAAO,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC,CAAC,QAAQ,EAAE;IACzF,WAAW,EAAE,OAAC,CAAC,MAAM,CAAC;QACpB,KAAK,EAAE,OAAC,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;KAC5D,CAAC,CAAC,QAAQ,EAAE;IACb,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC"}