@deliverart/sdk-js-user 0.0.1 → 0.1.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/CHANGELOG.md +13 -0
- package/dist/index.cjs +9 -3
- package/dist/index.d.cts +15 -22
- package/dist/index.d.ts +15 -22
- package/dist/index.js +9 -3
- package/package.json +5 -4
- package/src/models.ts +1 -0
- package/src/plugin.ts +8 -2
- package/src/requests/CreateUser.ts +29 -0
- package/src/requests/DeleteUser.ts +27 -0
- package/src/requests/GetMe.ts +27 -0
- package/src/requests/GetUserDetails.ts +30 -0
- package/src/requests/GetUsers.ts +55 -0
- package/src/requests/UpdateUser.ts +31 -0
- package/src/types.ts +1 -1
package/CHANGELOG.md
ADDED
package/dist/index.cjs
CHANGED
|
@@ -103,7 +103,7 @@ var writableUserSchema = userSchema.pick({
|
|
|
103
103
|
email: true
|
|
104
104
|
}).extend({
|
|
105
105
|
plainPassword: import_zod2.z.string().optional()
|
|
106
|
-
});
|
|
106
|
+
}).partial();
|
|
107
107
|
|
|
108
108
|
// src/plugin.ts
|
|
109
109
|
var import_sdk_js_global_types2 = require("@deliverart/sdk-js-global-types");
|
|
@@ -127,13 +127,19 @@ var UserPlugin = class {
|
|
|
127
127
|
},
|
|
128
128
|
async update(id, data) {
|
|
129
129
|
const response = await client.http.patch(`/users/${id}`, data, {
|
|
130
|
-
headers: {
|
|
130
|
+
headers: {
|
|
131
|
+
"Content-Type": "application/merge-patch+json",
|
|
132
|
+
Accept: "application/json"
|
|
133
|
+
}
|
|
131
134
|
});
|
|
132
135
|
return response.data;
|
|
133
136
|
},
|
|
134
137
|
async create(data) {
|
|
135
138
|
const response = await client.http.post(`/users`, data, {
|
|
136
|
-
headers: {
|
|
139
|
+
headers: {
|
|
140
|
+
"Content-Type": "application/json",
|
|
141
|
+
Accept: "application/json"
|
|
142
|
+
}
|
|
137
143
|
});
|
|
138
144
|
return response.data;
|
|
139
145
|
},
|
package/dist/index.d.cts
CHANGED
|
@@ -37,30 +37,23 @@ declare const userSchema: z.ZodObject<{
|
|
|
37
37
|
updatedAt: string;
|
|
38
38
|
}>;
|
|
39
39
|
type User = z.infer<typeof userSchema>;
|
|
40
|
-
declare const writableUserSchema: z.ZodObject<
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
completedSteps: z.ZodArray<z.ZodString, "many">;
|
|
47
|
-
emailVerified: z.ZodBoolean;
|
|
48
|
-
suspended: z.ZodBoolean;
|
|
49
|
-
createdAt: z.ZodString;
|
|
50
|
-
updatedAt: z.ZodString;
|
|
51
|
-
}, "firstName" | "lastName" | "email" | "roles"> & {
|
|
52
|
-
plainPassword: z.ZodOptional<z.ZodString>;
|
|
40
|
+
declare const writableUserSchema: z.ZodObject<{
|
|
41
|
+
firstName: z.ZodOptional<z.ZodString>;
|
|
42
|
+
lastName: z.ZodOptional<z.ZodString>;
|
|
43
|
+
email: z.ZodOptional<z.ZodString>;
|
|
44
|
+
roles: z.ZodOptional<z.ZodArray<z.ZodEnum<["ROLE_CUSTOMER_ACCESS", "ROLE_BUNDLE_ACCESS", "ROLE_DELIVERY_ACCESS", "ROLE_POINT_OF_SALE_ACCESS", "ROLE_MENU_ACCESS", "ROLE_INTEGRATION_ACCESS", "ROLE_ORDER_ACCESS", "ROLE_LEAD_ACCESS", "ROLE_COMPANY_ACCESS", "ROLE_USER_ACCESS", "ROLE_SUBSCRIPTION_ACCESS", "ROLE_PAYMENT_ACCESS", "ROLE_PAYMENT_CONFIG_ACCESS", "ROLE_CUSTOMER_ADMIN", "ROLE_BUNDLE_ADMIN", "ROLE_DELIVERY_ADMIN", "ROLE_POINT_OF_SALE_ADMIN", "ROLE_MENU_ADMIN", "ROLE_INTEGRATION_ADMIN", "ROLE_ORDER_ADMIN", "ROLE_LEAD_ADMIN", "ROLE_COMPANY_ADMIN", "ROLE_USER_ADMIN", "ROLE_SUBSCRIPTION_ADMIN", "ROLE_PAYMENT_ADMIN", "ROLE_PAYMENT_CONFIG_ADMIN", "ROLE_COURIER", "ROLE_CUSTOMER", "ROLE_MANAGER", "ROLE_SUPER_ADMIN", "ROLE_KITCHEN", "ROLE_USER"]>, "many">>;
|
|
45
|
+
plainPassword: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
53
46
|
}, "strip", z.ZodTypeAny, {
|
|
54
|
-
firstName
|
|
55
|
-
lastName
|
|
56
|
-
email
|
|
57
|
-
roles
|
|
47
|
+
firstName?: string | undefined;
|
|
48
|
+
lastName?: string | undefined;
|
|
49
|
+
email?: string | undefined;
|
|
50
|
+
roles?: ("ROLE_CUSTOMER_ACCESS" | "ROLE_BUNDLE_ACCESS" | "ROLE_DELIVERY_ACCESS" | "ROLE_POINT_OF_SALE_ACCESS" | "ROLE_MENU_ACCESS" | "ROLE_INTEGRATION_ACCESS" | "ROLE_ORDER_ACCESS" | "ROLE_LEAD_ACCESS" | "ROLE_COMPANY_ACCESS" | "ROLE_USER_ACCESS" | "ROLE_SUBSCRIPTION_ACCESS" | "ROLE_PAYMENT_ACCESS" | "ROLE_PAYMENT_CONFIG_ACCESS" | "ROLE_CUSTOMER_ADMIN" | "ROLE_BUNDLE_ADMIN" | "ROLE_DELIVERY_ADMIN" | "ROLE_POINT_OF_SALE_ADMIN" | "ROLE_MENU_ADMIN" | "ROLE_INTEGRATION_ADMIN" | "ROLE_ORDER_ADMIN" | "ROLE_LEAD_ADMIN" | "ROLE_COMPANY_ADMIN" | "ROLE_USER_ADMIN" | "ROLE_SUBSCRIPTION_ADMIN" | "ROLE_PAYMENT_ADMIN" | "ROLE_PAYMENT_CONFIG_ADMIN" | "ROLE_COURIER" | "ROLE_CUSTOMER" | "ROLE_MANAGER" | "ROLE_SUPER_ADMIN" | "ROLE_KITCHEN" | "ROLE_USER")[] | undefined;
|
|
58
51
|
plainPassword?: string | undefined;
|
|
59
52
|
}, {
|
|
60
|
-
firstName
|
|
61
|
-
lastName
|
|
62
|
-
email
|
|
63
|
-
roles
|
|
53
|
+
firstName?: string | undefined;
|
|
54
|
+
lastName?: string | undefined;
|
|
55
|
+
email?: string | undefined;
|
|
56
|
+
roles?: ("ROLE_CUSTOMER_ACCESS" | "ROLE_BUNDLE_ACCESS" | "ROLE_DELIVERY_ACCESS" | "ROLE_POINT_OF_SALE_ACCESS" | "ROLE_MENU_ACCESS" | "ROLE_INTEGRATION_ACCESS" | "ROLE_ORDER_ACCESS" | "ROLE_LEAD_ACCESS" | "ROLE_COMPANY_ACCESS" | "ROLE_USER_ACCESS" | "ROLE_SUBSCRIPTION_ACCESS" | "ROLE_PAYMENT_ACCESS" | "ROLE_PAYMENT_CONFIG_ACCESS" | "ROLE_CUSTOMER_ADMIN" | "ROLE_BUNDLE_ADMIN" | "ROLE_DELIVERY_ADMIN" | "ROLE_POINT_OF_SALE_ADMIN" | "ROLE_MENU_ADMIN" | "ROLE_INTEGRATION_ADMIN" | "ROLE_ORDER_ADMIN" | "ROLE_LEAD_ADMIN" | "ROLE_COMPANY_ADMIN" | "ROLE_USER_ADMIN" | "ROLE_SUBSCRIPTION_ADMIN" | "ROLE_PAYMENT_ADMIN" | "ROLE_PAYMENT_CONFIG_ADMIN" | "ROLE_COURIER" | "ROLE_CUSTOMER" | "ROLE_MANAGER" | "ROLE_SUPER_ADMIN" | "ROLE_KITCHEN" | "ROLE_USER")[] | undefined;
|
|
64
57
|
plainPassword?: string | undefined;
|
|
65
58
|
}>;
|
|
66
59
|
type WritableUser = z.infer<typeof writableUserSchema>;
|
|
@@ -85,7 +78,7 @@ interface UserExtension extends ApiExtension {
|
|
|
85
78
|
get: () => Promise<User>;
|
|
86
79
|
};
|
|
87
80
|
users: {
|
|
88
|
-
list: (params?: GetUsersQueryParams) => Promise<Paginated<User
|
|
81
|
+
list: (params?: GetUsersQueryParams) => Promise<Paginated<User>>;
|
|
89
82
|
create: (data: WritableUser) => Promise<User>;
|
|
90
83
|
get: (id: string) => Promise<User>;
|
|
91
84
|
delete: (id: string) => Promise<void>;
|
package/dist/index.d.ts
CHANGED
|
@@ -37,30 +37,23 @@ declare const userSchema: z.ZodObject<{
|
|
|
37
37
|
updatedAt: string;
|
|
38
38
|
}>;
|
|
39
39
|
type User = z.infer<typeof userSchema>;
|
|
40
|
-
declare const writableUserSchema: z.ZodObject<
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
completedSteps: z.ZodArray<z.ZodString, "many">;
|
|
47
|
-
emailVerified: z.ZodBoolean;
|
|
48
|
-
suspended: z.ZodBoolean;
|
|
49
|
-
createdAt: z.ZodString;
|
|
50
|
-
updatedAt: z.ZodString;
|
|
51
|
-
}, "firstName" | "lastName" | "email" | "roles"> & {
|
|
52
|
-
plainPassword: z.ZodOptional<z.ZodString>;
|
|
40
|
+
declare const writableUserSchema: z.ZodObject<{
|
|
41
|
+
firstName: z.ZodOptional<z.ZodString>;
|
|
42
|
+
lastName: z.ZodOptional<z.ZodString>;
|
|
43
|
+
email: z.ZodOptional<z.ZodString>;
|
|
44
|
+
roles: z.ZodOptional<z.ZodArray<z.ZodEnum<["ROLE_CUSTOMER_ACCESS", "ROLE_BUNDLE_ACCESS", "ROLE_DELIVERY_ACCESS", "ROLE_POINT_OF_SALE_ACCESS", "ROLE_MENU_ACCESS", "ROLE_INTEGRATION_ACCESS", "ROLE_ORDER_ACCESS", "ROLE_LEAD_ACCESS", "ROLE_COMPANY_ACCESS", "ROLE_USER_ACCESS", "ROLE_SUBSCRIPTION_ACCESS", "ROLE_PAYMENT_ACCESS", "ROLE_PAYMENT_CONFIG_ACCESS", "ROLE_CUSTOMER_ADMIN", "ROLE_BUNDLE_ADMIN", "ROLE_DELIVERY_ADMIN", "ROLE_POINT_OF_SALE_ADMIN", "ROLE_MENU_ADMIN", "ROLE_INTEGRATION_ADMIN", "ROLE_ORDER_ADMIN", "ROLE_LEAD_ADMIN", "ROLE_COMPANY_ADMIN", "ROLE_USER_ADMIN", "ROLE_SUBSCRIPTION_ADMIN", "ROLE_PAYMENT_ADMIN", "ROLE_PAYMENT_CONFIG_ADMIN", "ROLE_COURIER", "ROLE_CUSTOMER", "ROLE_MANAGER", "ROLE_SUPER_ADMIN", "ROLE_KITCHEN", "ROLE_USER"]>, "many">>;
|
|
45
|
+
plainPassword: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
53
46
|
}, "strip", z.ZodTypeAny, {
|
|
54
|
-
firstName
|
|
55
|
-
lastName
|
|
56
|
-
email
|
|
57
|
-
roles
|
|
47
|
+
firstName?: string | undefined;
|
|
48
|
+
lastName?: string | undefined;
|
|
49
|
+
email?: string | undefined;
|
|
50
|
+
roles?: ("ROLE_CUSTOMER_ACCESS" | "ROLE_BUNDLE_ACCESS" | "ROLE_DELIVERY_ACCESS" | "ROLE_POINT_OF_SALE_ACCESS" | "ROLE_MENU_ACCESS" | "ROLE_INTEGRATION_ACCESS" | "ROLE_ORDER_ACCESS" | "ROLE_LEAD_ACCESS" | "ROLE_COMPANY_ACCESS" | "ROLE_USER_ACCESS" | "ROLE_SUBSCRIPTION_ACCESS" | "ROLE_PAYMENT_ACCESS" | "ROLE_PAYMENT_CONFIG_ACCESS" | "ROLE_CUSTOMER_ADMIN" | "ROLE_BUNDLE_ADMIN" | "ROLE_DELIVERY_ADMIN" | "ROLE_POINT_OF_SALE_ADMIN" | "ROLE_MENU_ADMIN" | "ROLE_INTEGRATION_ADMIN" | "ROLE_ORDER_ADMIN" | "ROLE_LEAD_ADMIN" | "ROLE_COMPANY_ADMIN" | "ROLE_USER_ADMIN" | "ROLE_SUBSCRIPTION_ADMIN" | "ROLE_PAYMENT_ADMIN" | "ROLE_PAYMENT_CONFIG_ADMIN" | "ROLE_COURIER" | "ROLE_CUSTOMER" | "ROLE_MANAGER" | "ROLE_SUPER_ADMIN" | "ROLE_KITCHEN" | "ROLE_USER")[] | undefined;
|
|
58
51
|
plainPassword?: string | undefined;
|
|
59
52
|
}, {
|
|
60
|
-
firstName
|
|
61
|
-
lastName
|
|
62
|
-
email
|
|
63
|
-
roles
|
|
53
|
+
firstName?: string | undefined;
|
|
54
|
+
lastName?: string | undefined;
|
|
55
|
+
email?: string | undefined;
|
|
56
|
+
roles?: ("ROLE_CUSTOMER_ACCESS" | "ROLE_BUNDLE_ACCESS" | "ROLE_DELIVERY_ACCESS" | "ROLE_POINT_OF_SALE_ACCESS" | "ROLE_MENU_ACCESS" | "ROLE_INTEGRATION_ACCESS" | "ROLE_ORDER_ACCESS" | "ROLE_LEAD_ACCESS" | "ROLE_COMPANY_ACCESS" | "ROLE_USER_ACCESS" | "ROLE_SUBSCRIPTION_ACCESS" | "ROLE_PAYMENT_ACCESS" | "ROLE_PAYMENT_CONFIG_ACCESS" | "ROLE_CUSTOMER_ADMIN" | "ROLE_BUNDLE_ADMIN" | "ROLE_DELIVERY_ADMIN" | "ROLE_POINT_OF_SALE_ADMIN" | "ROLE_MENU_ADMIN" | "ROLE_INTEGRATION_ADMIN" | "ROLE_ORDER_ADMIN" | "ROLE_LEAD_ADMIN" | "ROLE_COMPANY_ADMIN" | "ROLE_USER_ADMIN" | "ROLE_SUBSCRIPTION_ADMIN" | "ROLE_PAYMENT_ADMIN" | "ROLE_PAYMENT_CONFIG_ADMIN" | "ROLE_COURIER" | "ROLE_CUSTOMER" | "ROLE_MANAGER" | "ROLE_SUPER_ADMIN" | "ROLE_KITCHEN" | "ROLE_USER")[] | undefined;
|
|
64
57
|
plainPassword?: string | undefined;
|
|
65
58
|
}>;
|
|
66
59
|
type WritableUser = z.infer<typeof writableUserSchema>;
|
|
@@ -85,7 +78,7 @@ interface UserExtension extends ApiExtension {
|
|
|
85
78
|
get: () => Promise<User>;
|
|
86
79
|
};
|
|
87
80
|
users: {
|
|
88
|
-
list: (params?: GetUsersQueryParams) => Promise<Paginated<User
|
|
81
|
+
list: (params?: GetUsersQueryParams) => Promise<Paginated<User>>;
|
|
89
82
|
create: (data: WritableUser) => Promise<User>;
|
|
90
83
|
get: (id: string) => Promise<User>;
|
|
91
84
|
delete: (id: string) => Promise<void>;
|
package/dist/index.js
CHANGED
|
@@ -71,7 +71,7 @@ var writableUserSchema = userSchema.pick({
|
|
|
71
71
|
email: true
|
|
72
72
|
}).extend({
|
|
73
73
|
plainPassword: z2.string().optional()
|
|
74
|
-
});
|
|
74
|
+
}).partial();
|
|
75
75
|
|
|
76
76
|
// src/plugin.ts
|
|
77
77
|
import { responseToPagination } from "@deliverart/sdk-js-global-types";
|
|
@@ -95,13 +95,19 @@ var UserPlugin = class {
|
|
|
95
95
|
},
|
|
96
96
|
async update(id, data) {
|
|
97
97
|
const response = await client.http.patch(`/users/${id}`, data, {
|
|
98
|
-
headers: {
|
|
98
|
+
headers: {
|
|
99
|
+
"Content-Type": "application/merge-patch+json",
|
|
100
|
+
Accept: "application/json"
|
|
101
|
+
}
|
|
99
102
|
});
|
|
100
103
|
return response.data;
|
|
101
104
|
},
|
|
102
105
|
async create(data) {
|
|
103
106
|
const response = await client.http.post(`/users`, data, {
|
|
104
|
-
headers: {
|
|
107
|
+
headers: {
|
|
108
|
+
"Content-Type": "application/json",
|
|
109
|
+
Accept: "application/json"
|
|
110
|
+
}
|
|
105
111
|
});
|
|
106
112
|
return response.data;
|
|
107
113
|
},
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deliverart/sdk-js-user",
|
|
3
3
|
"description": "Deliverart JavaScript SDK for User Management",
|
|
4
|
-
"version": "0.0
|
|
4
|
+
"version": "0.1.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -12,9 +12,10 @@
|
|
|
12
12
|
}
|
|
13
13
|
},
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"zod": "
|
|
16
|
-
"
|
|
17
|
-
"@deliverart/sdk-js-
|
|
15
|
+
"zod": "3.25.67",
|
|
16
|
+
"axios": "1.9.0",
|
|
17
|
+
"@deliverart/sdk-js-core": "0.1.3",
|
|
18
|
+
"@deliverart/sdk-js-global-types": "0.0.7"
|
|
18
19
|
},
|
|
19
20
|
"devDependencies": {
|
|
20
21
|
"@changesets/cli": "^2.29.4",
|
package/src/models.ts
CHANGED
package/src/plugin.ts
CHANGED
|
@@ -24,13 +24,19 @@ export class UserPlugin implements ApiClientPlugin<UserExtension> {
|
|
|
24
24
|
},
|
|
25
25
|
async update(id: string, data: Partial<User>) {
|
|
26
26
|
const response = await client.http.patch<User>(`/users/${id}`, data, {
|
|
27
|
-
headers: {
|
|
27
|
+
headers: {
|
|
28
|
+
'Content-Type': 'application/merge-patch+json',
|
|
29
|
+
Accept: 'application/json',
|
|
30
|
+
},
|
|
28
31
|
})
|
|
29
32
|
return response.data
|
|
30
33
|
},
|
|
31
34
|
async create(data: Partial<User>) {
|
|
32
35
|
const response = await client.http.post<User>(`/users`, data, {
|
|
33
|
-
headers: {
|
|
36
|
+
headers: {
|
|
37
|
+
'Content-Type': 'application/json',
|
|
38
|
+
Accept: 'application/json',
|
|
39
|
+
},
|
|
34
40
|
})
|
|
35
41
|
return response.data
|
|
36
42
|
},
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { AbstractApiRequest } from '@deliverart/sdk-js-core'
|
|
2
|
+
import { z } from 'zod'
|
|
3
|
+
|
|
4
|
+
import { User, userSchema, writableUserSchema } from '../models'
|
|
5
|
+
|
|
6
|
+
export const createUserInputSchema = writableUserSchema.required()
|
|
7
|
+
export type CreateUserInput = z.infer<typeof createUserInputSchema>
|
|
8
|
+
|
|
9
|
+
export const createUserResponseSchema = userSchema
|
|
10
|
+
export type CreateUserResponse = User
|
|
11
|
+
|
|
12
|
+
export class CreateUser extends AbstractApiRequest<CreateUserInput, CreateUserResponse> {
|
|
13
|
+
readonly method = 'POST'
|
|
14
|
+
readonly contentType = 'application/json'
|
|
15
|
+
readonly accept = 'application/json'
|
|
16
|
+
|
|
17
|
+
readonly inputSchema = createUserInputSchema
|
|
18
|
+
readonly outputSchema = createUserResponseSchema
|
|
19
|
+
readonly querySchema = undefined
|
|
20
|
+
readonly headersSchema = undefined
|
|
21
|
+
|
|
22
|
+
constructor(input: CreateUserInput) {
|
|
23
|
+
super(input)
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
getPath(): string {
|
|
27
|
+
return '/users'
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { AbstractApiRequest } from '@deliverart/sdk-js-core'
|
|
2
|
+
import { z } from 'zod'
|
|
3
|
+
|
|
4
|
+
export const deleteUserInputSchema = z.undefined()
|
|
5
|
+
export const deleteUserResponseSchema = z.undefined()
|
|
6
|
+
|
|
7
|
+
export class DeleteUser extends AbstractApiRequest<void, void> {
|
|
8
|
+
readonly method = 'DELETE'
|
|
9
|
+
readonly contentType = 'application/json'
|
|
10
|
+
readonly accept = 'application/json'
|
|
11
|
+
|
|
12
|
+
readonly inputSchema = deleteUserInputSchema
|
|
13
|
+
readonly outputSchema = deleteUserResponseSchema
|
|
14
|
+
readonly querySchema = undefined
|
|
15
|
+
readonly headersSchema = undefined
|
|
16
|
+
|
|
17
|
+
private readonly userId: string
|
|
18
|
+
|
|
19
|
+
constructor(userId: string) {
|
|
20
|
+
super()
|
|
21
|
+
this.userId = userId
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
getPath(): string {
|
|
25
|
+
return `/users/${this.userId}`
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { AbstractApiRequest } from '@deliverart/sdk-js-core'
|
|
2
|
+
import { z } from 'zod'
|
|
3
|
+
|
|
4
|
+
import { User, userSchema } from '../models'
|
|
5
|
+
|
|
6
|
+
export const getMeInputSchema = z.undefined()
|
|
7
|
+
|
|
8
|
+
export const getMeResponseSchema = userSchema
|
|
9
|
+
export type GetMeResponse = User
|
|
10
|
+
|
|
11
|
+
export class GetMe extends AbstractApiRequest<void, GetMeResponse> {
|
|
12
|
+
readonly method = 'GET'
|
|
13
|
+
readonly contentType = 'application/json'
|
|
14
|
+
readonly accept = 'application/json'
|
|
15
|
+
readonly inputSchema = getMeInputSchema
|
|
16
|
+
readonly outputSchema = getMeResponseSchema
|
|
17
|
+
readonly querySchema = undefined
|
|
18
|
+
readonly headersSchema = undefined
|
|
19
|
+
|
|
20
|
+
constructor() {
|
|
21
|
+
super()
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
getPath(): string {
|
|
25
|
+
return '/me'
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { AbstractApiRequest } from '@deliverart/sdk-js-core'
|
|
2
|
+
import { z } from 'zod'
|
|
3
|
+
|
|
4
|
+
import { User, userSchema } from '../models'
|
|
5
|
+
|
|
6
|
+
export const getUserDetailsInputSchema = z.undefined()
|
|
7
|
+
|
|
8
|
+
export const getUserDetailsResponseSchema = userSchema
|
|
9
|
+
export type GetUserDetailsResponse = User
|
|
10
|
+
|
|
11
|
+
export class GetUserDetails extends AbstractApiRequest<void, GetUserDetailsResponse> {
|
|
12
|
+
readonly method = 'GET'
|
|
13
|
+
readonly contentType = 'application/json'
|
|
14
|
+
readonly accept = 'application/json'
|
|
15
|
+
readonly inputSchema = getUserDetailsInputSchema
|
|
16
|
+
readonly outputSchema = getUserDetailsResponseSchema
|
|
17
|
+
readonly querySchema = undefined
|
|
18
|
+
readonly headersSchema = undefined
|
|
19
|
+
|
|
20
|
+
private readonly userId: string
|
|
21
|
+
|
|
22
|
+
constructor(userId: string) {
|
|
23
|
+
super()
|
|
24
|
+
this.userId = userId
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
getPath(): string {
|
|
28
|
+
return `/users/${this.userId}`
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { AbstractApiRequest } from '@deliverart/sdk-js-core'
|
|
2
|
+
import {
|
|
3
|
+
createPaginatedSchema,
|
|
4
|
+
Paginated,
|
|
5
|
+
responseToPagination,
|
|
6
|
+
} from '@deliverart/sdk-js-global-types'
|
|
7
|
+
import { AxiosResponse } from 'axios'
|
|
8
|
+
import { z } from 'zod'
|
|
9
|
+
|
|
10
|
+
import { User, userSchema } from '../models'
|
|
11
|
+
import { securityRoles } from '../types'
|
|
12
|
+
|
|
13
|
+
export const getUsersQuerySchema = z.object({
|
|
14
|
+
email: z.string().optional(),
|
|
15
|
+
firstName: z.string().optional(),
|
|
16
|
+
lastName: z.string().optional(),
|
|
17
|
+
suspended: z.string().optional(),
|
|
18
|
+
'order[createdAt]': z.enum(['asc', 'desc']).optional(),
|
|
19
|
+
page: z.coerce.number().optional(),
|
|
20
|
+
'roles[]': z.array(z.enum(securityRoles)).optional(),
|
|
21
|
+
})
|
|
22
|
+
export type GetUsersQueryParams = z.infer<typeof getUsersQuerySchema>
|
|
23
|
+
|
|
24
|
+
export const getUsersResponseSchema = createPaginatedSchema(userSchema)
|
|
25
|
+
export type GetUsersResponse = z.infer<typeof getUsersResponseSchema>
|
|
26
|
+
|
|
27
|
+
export const getUsersInputSchema = z.undefined()
|
|
28
|
+
|
|
29
|
+
export class GetUsersRequest extends AbstractApiRequest<
|
|
30
|
+
void,
|
|
31
|
+
GetUsersResponse,
|
|
32
|
+
GetUsersQueryParams
|
|
33
|
+
> {
|
|
34
|
+
readonly method = 'GET'
|
|
35
|
+
readonly contentType = 'application/json'
|
|
36
|
+
readonly accept = 'application/json'
|
|
37
|
+
|
|
38
|
+
readonly inputSchema = getUsersInputSchema
|
|
39
|
+
readonly outputSchema = getUsersResponseSchema
|
|
40
|
+
readonly querySchema = getUsersQuerySchema
|
|
41
|
+
readonly headersSchema = undefined
|
|
42
|
+
|
|
43
|
+
constructor(options?: { query?: GetUsersQueryParams }) {
|
|
44
|
+
super(undefined, options)
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
getPath(): string {
|
|
48
|
+
return '/users'
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
parseResponse(data: unknown, rawResponse: AxiosResponse): Paginated<User> {
|
|
52
|
+
const users = z.array(userSchema).parse(data)
|
|
53
|
+
return this.validateOutput({ data: users, pagination: responseToPagination(rawResponse) })
|
|
54
|
+
}
|
|
55
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { AbstractApiRequest } from '@deliverart/sdk-js-core'
|
|
2
|
+
|
|
3
|
+
import { User, userSchema, WritableUser, writableUserSchema } from '../models'
|
|
4
|
+
|
|
5
|
+
export const updateUserInputSchema = writableUserSchema
|
|
6
|
+
export type UpdateUserInput = WritableUser
|
|
7
|
+
|
|
8
|
+
export const updateUserResponseSchema = userSchema
|
|
9
|
+
export type UpdateUserResponse = User
|
|
10
|
+
|
|
11
|
+
export class UpdateUser extends AbstractApiRequest<UpdateUserInput, UpdateUserResponse> {
|
|
12
|
+
readonly method = 'PATCH'
|
|
13
|
+
readonly contentType = 'application/merge-patch+json'
|
|
14
|
+
readonly accept = 'application/json'
|
|
15
|
+
|
|
16
|
+
readonly inputSchema = updateUserInputSchema
|
|
17
|
+
readonly outputSchema = updateUserResponseSchema
|
|
18
|
+
readonly querySchema = undefined
|
|
19
|
+
readonly headersSchema = undefined
|
|
20
|
+
|
|
21
|
+
private readonly userId: string
|
|
22
|
+
|
|
23
|
+
constructor(userId: string, input: UpdateUserInput) {
|
|
24
|
+
super(input)
|
|
25
|
+
this.userId = userId
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
getPath(): string {
|
|
29
|
+
return `/users/${this.userId}`
|
|
30
|
+
}
|
|
31
|
+
}
|
package/src/types.ts
CHANGED
|
@@ -70,7 +70,7 @@ export interface UserExtension extends ApiExtension {
|
|
|
70
70
|
}
|
|
71
71
|
users: {
|
|
72
72
|
// eslint-disable-next-line no-unused-vars
|
|
73
|
-
list: (params?: GetUsersQueryParams) => Promise<Paginated<User
|
|
73
|
+
list: (params?: GetUsersQueryParams) => Promise<Paginated<User>>
|
|
74
74
|
// eslint-disable-next-line no-unused-vars
|
|
75
75
|
create: (data: WritableUser) => Promise<User>
|
|
76
76
|
// eslint-disable-next-line no-unused-vars
|