@temboplus/afloat 0.1.38 → 0.1.40
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/esm/src/features/admin/contract.d.ts +126 -132
- package/esm/src/features/admin/contract.d.ts.map +1 -1
- package/esm/src/features/admin/contract.js +56 -28
- package/esm/src/features/admin/repository.d.ts +17 -3
- package/esm/src/features/admin/repository.d.ts.map +1 -1
- package/esm/src/features/admin/repository.js +23 -9
- package/esm/src/models/permission.d.ts +1 -0
- package/esm/src/models/permission.d.ts.map +1 -1
- package/esm/src/models/permission.js +1 -0
- package/package.json +1 -1
- package/script/src/features/admin/contract.d.ts +126 -132
- package/script/src/features/admin/contract.d.ts.map +1 -1
- package/script/src/features/admin/contract.js +56 -28
- package/script/src/features/admin/repository.d.ts +17 -3
- package/script/src/features/admin/repository.d.ts.map +1 -1
- package/script/src/features/admin/repository.js +23 -9
- package/script/src/models/permission.d.ts +1 -0
- package/script/src/models/permission.d.ts.map +1 -1
- package/script/src/models/permission.js +1 -0
|
@@ -17,10 +17,10 @@ exports.userManagementContract = c.router({
|
|
|
17
17
|
responses: {
|
|
18
18
|
200: zod_1.z.array(schemas_js_1.UserManagementSchemas.managedUser),
|
|
19
19
|
401: zod_1.z.object({
|
|
20
|
-
message: zod_1.z.string(),
|
|
20
|
+
message: zod_1.z.string().optional(),
|
|
21
21
|
}),
|
|
22
22
|
403: zod_1.z.object({
|
|
23
|
-
message: zod_1.z.string(),
|
|
23
|
+
message: zod_1.z.string().optional(),
|
|
24
24
|
}),
|
|
25
25
|
},
|
|
26
26
|
summary: "List all user accounts",
|
|
@@ -39,13 +39,13 @@ exports.userManagementContract = c.router({
|
|
|
39
39
|
responses: {
|
|
40
40
|
200: schemas_js_1.UserManagementSchemas.managedUser,
|
|
41
41
|
401: zod_1.z.object({
|
|
42
|
-
message: zod_1.z.string(),
|
|
42
|
+
message: zod_1.z.string().optional(),
|
|
43
43
|
}),
|
|
44
44
|
403: zod_1.z.object({
|
|
45
|
-
message: zod_1.z.string(),
|
|
45
|
+
message: zod_1.z.string().optional(),
|
|
46
46
|
}),
|
|
47
47
|
404: zod_1.z.object({
|
|
48
|
-
message: zod_1.z.string(),
|
|
48
|
+
message: zod_1.z.string().optional(),
|
|
49
49
|
}),
|
|
50
50
|
},
|
|
51
51
|
summary: "Get user account details",
|
|
@@ -59,17 +59,17 @@ exports.userManagementContract = c.router({
|
|
|
59
59
|
responses: {
|
|
60
60
|
201: schemas_js_1.UserManagementSchemas.createUserResponse,
|
|
61
61
|
400: zod_1.z.object({
|
|
62
|
-
message: zod_1.z.string(),
|
|
62
|
+
message: zod_1.z.string().optional(),
|
|
63
63
|
errors: zod_1.z.array(zod_1.z.string()).optional(),
|
|
64
64
|
}),
|
|
65
65
|
401: zod_1.z.object({
|
|
66
|
-
message: zod_1.z.string(),
|
|
66
|
+
message: zod_1.z.string().optional(),
|
|
67
67
|
}),
|
|
68
68
|
403: zod_1.z.object({
|
|
69
|
-
message: zod_1.z.string(),
|
|
69
|
+
message: zod_1.z.string().optional(),
|
|
70
70
|
}),
|
|
71
71
|
409: zod_1.z.object({
|
|
72
|
-
message: zod_1.z.string(),
|
|
72
|
+
message: zod_1.z.string().optional(),
|
|
73
73
|
}),
|
|
74
74
|
},
|
|
75
75
|
summary: "Create new user account",
|
|
@@ -86,17 +86,17 @@ exports.userManagementContract = c.router({
|
|
|
86
86
|
responses: {
|
|
87
87
|
200: schemas_js_1.UserManagementSchemas.managedUser,
|
|
88
88
|
400: zod_1.z.object({
|
|
89
|
-
message: zod_1.z.string(),
|
|
89
|
+
message: zod_1.z.string().optional(),
|
|
90
90
|
errors: zod_1.z.array(zod_1.z.string()).optional(),
|
|
91
91
|
}),
|
|
92
92
|
401: zod_1.z.object({
|
|
93
|
-
message: zod_1.z.string(),
|
|
93
|
+
message: zod_1.z.string().optional(),
|
|
94
94
|
}),
|
|
95
95
|
403: zod_1.z.object({
|
|
96
|
-
message: zod_1.z.string(),
|
|
96
|
+
message: zod_1.z.string().optional(),
|
|
97
97
|
}),
|
|
98
98
|
404: zod_1.z.object({
|
|
99
|
-
message: zod_1.z.string(),
|
|
99
|
+
message: zod_1.z.string().optional(),
|
|
100
100
|
}),
|
|
101
101
|
},
|
|
102
102
|
summary: "Update user account",
|
|
@@ -104,26 +104,54 @@ exports.userManagementContract = c.router({
|
|
|
104
104
|
},
|
|
105
105
|
// Archive user (soft delete)
|
|
106
106
|
archiveUser: {
|
|
107
|
-
method: "
|
|
108
|
-
path: "/login/:id",
|
|
107
|
+
method: "POST",
|
|
108
|
+
path: "/login/:id/archive",
|
|
109
109
|
pathParams: zod_1.z.object({
|
|
110
110
|
id: zod_1.z.string(),
|
|
111
111
|
}),
|
|
112
|
+
body: zod_1.z.object({}),
|
|
112
113
|
responses: {
|
|
113
|
-
200:
|
|
114
|
+
200: zod_1.z.object({
|
|
115
|
+
isArchived: zod_1.z.boolean(),
|
|
116
|
+
}),
|
|
114
117
|
401: zod_1.z.object({
|
|
115
|
-
message: zod_1.z.string(),
|
|
118
|
+
message: zod_1.z.string().optional(),
|
|
116
119
|
}),
|
|
117
120
|
403: zod_1.z.object({
|
|
118
|
-
message: zod_1.z.string(),
|
|
121
|
+
message: zod_1.z.string().optional(),
|
|
119
122
|
}),
|
|
120
123
|
404: zod_1.z.object({
|
|
121
|
-
message: zod_1.z.string(),
|
|
124
|
+
message: zod_1.z.string().optional(),
|
|
122
125
|
}),
|
|
123
126
|
},
|
|
124
127
|
summary: "Archive user account",
|
|
125
128
|
description: "Archive (soft delete) a user account",
|
|
126
129
|
},
|
|
130
|
+
// Archive user (soft delete)
|
|
131
|
+
unarchiveUser: {
|
|
132
|
+
method: "POST",
|
|
133
|
+
path: "/login/:id/unarchive",
|
|
134
|
+
pathParams: zod_1.z.object({
|
|
135
|
+
id: zod_1.z.string(),
|
|
136
|
+
}),
|
|
137
|
+
body: zod_1.z.object({}),
|
|
138
|
+
responses: {
|
|
139
|
+
200: zod_1.z.object({
|
|
140
|
+
isArchived: zod_1.z.boolean(),
|
|
141
|
+
}),
|
|
142
|
+
401: zod_1.z.object({
|
|
143
|
+
message: zod_1.z.string().optional(),
|
|
144
|
+
}),
|
|
145
|
+
403: zod_1.z.object({
|
|
146
|
+
message: zod_1.z.string().optional(),
|
|
147
|
+
}),
|
|
148
|
+
404: zod_1.z.object({
|
|
149
|
+
message: zod_1.z.string().optional(),
|
|
150
|
+
}),
|
|
151
|
+
},
|
|
152
|
+
summary: "Un-archive user account",
|
|
153
|
+
description: "Un-archive (soft delete) a user account",
|
|
154
|
+
},
|
|
127
155
|
// Reset user password
|
|
128
156
|
resetPassword: {
|
|
129
157
|
method: "POST",
|
|
@@ -137,16 +165,16 @@ exports.userManagementContract = c.router({
|
|
|
137
165
|
success: zod_1.z.boolean(),
|
|
138
166
|
}),
|
|
139
167
|
400: zod_1.z.object({
|
|
140
|
-
message: zod_1.z.string(),
|
|
168
|
+
message: zod_1.z.string().optional(),
|
|
141
169
|
}),
|
|
142
170
|
401: zod_1.z.object({
|
|
143
|
-
message: zod_1.z.string(),
|
|
171
|
+
message: zod_1.z.string().optional(),
|
|
144
172
|
}),
|
|
145
173
|
403: zod_1.z.object({
|
|
146
|
-
message: zod_1.z.string(),
|
|
174
|
+
message: zod_1.z.string().optional(),
|
|
147
175
|
}),
|
|
148
176
|
404: zod_1.z.object({
|
|
149
|
-
message: zod_1.z.string(),
|
|
177
|
+
message: zod_1.z.string().optional(),
|
|
150
178
|
}),
|
|
151
179
|
},
|
|
152
180
|
summary: "Reset user password",
|
|
@@ -159,10 +187,10 @@ exports.userManagementContract = c.router({
|
|
|
159
187
|
responses: {
|
|
160
188
|
200: zod_1.z.array(schemas_js_1.UserManagementSchemas.role),
|
|
161
189
|
401: zod_1.z.object({
|
|
162
|
-
message: zod_1.z.string(),
|
|
190
|
+
message: zod_1.z.string().optional(),
|
|
163
191
|
}),
|
|
164
192
|
403: zod_1.z.object({
|
|
165
|
-
message: zod_1.z.string(),
|
|
193
|
+
message: zod_1.z.string().optional(),
|
|
166
194
|
}),
|
|
167
195
|
},
|
|
168
196
|
summary: "List all roles",
|
|
@@ -178,13 +206,13 @@ exports.userManagementContract = c.router({
|
|
|
178
206
|
responses: {
|
|
179
207
|
200: schemas_js_1.UserManagementSchemas.role,
|
|
180
208
|
401: zod_1.z.object({
|
|
181
|
-
message: zod_1.z.string(),
|
|
209
|
+
message: zod_1.z.string().optional(),
|
|
182
210
|
}),
|
|
183
211
|
403: zod_1.z.object({
|
|
184
|
-
message: zod_1.z.string(),
|
|
212
|
+
message: zod_1.z.string().optional(),
|
|
185
213
|
}),
|
|
186
214
|
404: zod_1.z.object({
|
|
187
|
-
message: zod_1.z.string(),
|
|
215
|
+
message: zod_1.z.string().optional(),
|
|
188
216
|
}),
|
|
189
217
|
},
|
|
190
218
|
summary: "Get role details",
|
|
@@ -39,11 +39,23 @@ export declare class UserManagementRepository extends BaseRepository<typeof user
|
|
|
39
39
|
/**
|
|
40
40
|
* Archives (soft deletes) a user account by ID.
|
|
41
41
|
* @param {string} id - The unique identifier of the user account to archive.
|
|
42
|
-
* @returns {Promise<
|
|
42
|
+
* @returns {Promise<{ isArchived: boolean }>} A promise that resolves to whether isArchived.
|
|
43
43
|
* @throws {PermissionError} If the user lacks required permissions
|
|
44
44
|
* @throws {APIError} If the response status code is not 200.
|
|
45
45
|
*/
|
|
46
|
-
archiveUser(id: string): Promise<
|
|
46
|
+
archiveUser(id: string): Promise<{
|
|
47
|
+
isArchived: boolean;
|
|
48
|
+
}>;
|
|
49
|
+
/**
|
|
50
|
+
* Archives (soft deletes) a user account by ID.
|
|
51
|
+
* @param {string} id - The unique identifier of the user account to archive.
|
|
52
|
+
* @returns {Promise<{ isArchived: boolean }>} A promise that resolves to whether isArchived.
|
|
53
|
+
* @throws {PermissionError} If the user lacks required permissions
|
|
54
|
+
* @throws {APIError} If the response status code is not 200.
|
|
55
|
+
*/
|
|
56
|
+
unArchiveUser(id: string): Promise<{
|
|
57
|
+
isArchived: boolean;
|
|
58
|
+
}>;
|
|
47
59
|
/**
|
|
48
60
|
* Resets a user's password.
|
|
49
61
|
* @param {string} id - The unique identifier of the user account.
|
|
@@ -52,7 +64,9 @@ export declare class UserManagementRepository extends BaseRepository<typeof user
|
|
|
52
64
|
* @throws {PermissionError} If the user lacks required permissions
|
|
53
65
|
* @throws {APIError} If the response status code is not 200.
|
|
54
66
|
*/
|
|
55
|
-
resetUserPassword(id: string, input?: ResetPasswordRequest): Promise<
|
|
67
|
+
resetUserPassword(id: string, input?: ResetPasswordRequest): Promise<{
|
|
68
|
+
success: boolean;
|
|
69
|
+
}>;
|
|
56
70
|
/**
|
|
57
71
|
* Retrieves all user accounts.
|
|
58
72
|
* Results are ordered in descending order by creation date by default.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../../../src/src/features/admin/repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EACL,WAAW,EAGZ,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,IAAI,EAAiB,MAAM,sBAAsB,CAAC;AAE3D;;;GAGG;AACH,qBAAa,wBACX,SAAQ,cAAc,CAAC,OAAO,sBAAsB,CAAC;IACrD;;;;;OAKG;gBACS,KAAK,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,UAAU,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE;IAIxD;;;;;;OAMG;IACG,UAAU,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAgBvE;;;;;;;OAOG;IACG,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC;IAuB5E;;;;;;OAMG;IACG,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../../../src/src/features/admin/repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EACL,WAAW,EAGZ,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,IAAI,EAAiB,MAAM,sBAAsB,CAAC;AAE3D;;;GAGG;AACH,qBAAa,wBACX,SAAQ,cAAc,CAAC,OAAO,sBAAsB,CAAC;IACrD;;;;;OAKG;gBACS,KAAK,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,UAAU,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE;IAIxD;;;;;;OAMG;IACG,UAAU,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAgBvE;;;;;;;OAOG;IACG,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC;IAuB5E;;;;;;OAMG;IACG,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,OAAO,CAAA;KAAE,CAAC;IAe/D;;;;;;OAMG;IACG,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,OAAO,CAAA;KAAE,CAAC;IAejE;;;;;;;OAOG;IACG,iBAAiB,CACrB,EAAE,EAAE,MAAM,EACV,KAAK,GAAE,oBAAyB,GAC/B,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAkBhC;;;;;;;;;;OAUG;IACG,WAAW,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAgB3C;;;;;;;;;;OAUG;IACG,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAuB/C;;;;;;;;;OASG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAsBpC;;;;;;;;;;OAUG;IACG,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAmBzC"}
|
|
@@ -71,7 +71,7 @@ class UserManagementRepository extends base_repository_js_1.BaseRepository {
|
|
|
71
71
|
/**
|
|
72
72
|
* Archives (soft deletes) a user account by ID.
|
|
73
73
|
* @param {string} id - The unique identifier of the user account to archive.
|
|
74
|
-
* @returns {Promise<
|
|
74
|
+
* @returns {Promise<{ isArchived: boolean }>} A promise that resolves to whether isArchived.
|
|
75
75
|
* @throws {PermissionError} If the user lacks required permissions
|
|
76
76
|
* @throws {APIError} If the response status code is not 200.
|
|
77
77
|
*/
|
|
@@ -80,17 +80,31 @@ class UserManagementRepository extends base_repository_js_1.BaseRepository {
|
|
|
80
80
|
const requiredPerm = index_js_1.Permissions.UserManagement.ArchiveUser;
|
|
81
81
|
if (!auth.checkPermission(requiredPerm)) {
|
|
82
82
|
throw new index_js_2.PermissionError({
|
|
83
|
-
message: "You are not authorized to archive
|
|
83
|
+
message: "You are not authorized to archive users.",
|
|
84
84
|
requiredPermissions: [requiredPerm],
|
|
85
85
|
});
|
|
86
86
|
}
|
|
87
87
|
const result = await this.client.archiveUser({ params: { id } });
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
88
|
+
return this.handleResponse(result, 200);
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Archives (soft deletes) a user account by ID.
|
|
92
|
+
* @param {string} id - The unique identifier of the user account to archive.
|
|
93
|
+
* @returns {Promise<{ isArchived: boolean }>} A promise that resolves to whether isArchived.
|
|
94
|
+
* @throws {PermissionError} If the user lacks required permissions
|
|
95
|
+
* @throws {APIError} If the response status code is not 200.
|
|
96
|
+
*/
|
|
97
|
+
async unArchiveUser(id) {
|
|
98
|
+
const auth = this.getAuthForPermissionCheck();
|
|
99
|
+
const requiredPerm = index_js_1.Permissions.UserManagement.UnArchiveUser;
|
|
100
|
+
if (!auth.checkPermission(requiredPerm)) {
|
|
101
|
+
throw new index_js_2.PermissionError({
|
|
102
|
+
message: "You are not authorized to un-archive users.",
|
|
103
|
+
requiredPermissions: [requiredPerm],
|
|
104
|
+
});
|
|
92
105
|
}
|
|
93
|
-
|
|
106
|
+
const result = await this.client.unarchiveUser({ params: { id } });
|
|
107
|
+
return this.handleResponse(result, 200);
|
|
94
108
|
}
|
|
95
109
|
/**
|
|
96
110
|
* Resets a user's password.
|
|
@@ -113,7 +127,7 @@ class UserManagementRepository extends base_repository_js_1.BaseRepository {
|
|
|
113
127
|
params: { id },
|
|
114
128
|
body: input,
|
|
115
129
|
});
|
|
116
|
-
this.handleResponse(result, 200);
|
|
130
|
+
return this.handleResponse(result, 200);
|
|
117
131
|
}
|
|
118
132
|
/**
|
|
119
133
|
* Retrieves all user accounts.
|
|
@@ -212,7 +226,7 @@ class UserManagementRepository extends base_repository_js_1.BaseRepository {
|
|
|
212
226
|
*/
|
|
213
227
|
async getRole(id) {
|
|
214
228
|
const auth = this.getAuthForPermissionCheck();
|
|
215
|
-
const requiredPerm = index_js_1.Permissions.Role.
|
|
229
|
+
const requiredPerm = index_js_1.Permissions.Role.ViewRole;
|
|
216
230
|
if (!auth.checkPermission(requiredPerm)) {
|
|
217
231
|
throw new index_js_2.PermissionError({
|
|
218
232
|
message: "You are not authorized to view role details.",
|
|
@@ -44,6 +44,7 @@ export declare const Permissions: {
|
|
|
44
44
|
readonly CreateUser: "login.create";
|
|
45
45
|
readonly UpdateUser: "login.update";
|
|
46
46
|
readonly ArchiveUser: "login.archive";
|
|
47
|
+
readonly UnArchiveUser: "login.unarchive";
|
|
47
48
|
readonly ResetPassword: "login.resetPassword";
|
|
48
49
|
};
|
|
49
50
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permission.d.ts","sourceRoot":"","sources":["../../../src/src/models/permission.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,WAAW
|
|
1
|
+
{"version":3,"file":"permission.d.ts","sourceRoot":"","sources":["../../../src/src/models/permission.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8Cd,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,UAAU,GAClB,OAAO,WAAW,CAAC,OAAO,CAAC,MAAM,OAAO,WAAW,CAAC,OAAO,CAAC,GAC5D,OAAO,WAAW,CAAC,OAAO,CAAC,MAAM,OAAO,WAAW,CAAC,OAAO,CAAC,GAC5D,OAAO,WAAW,CAAC,OAAO,CAAC,MAAM,OAAO,WAAW,CAAC,OAAO,CAAC,GAC5D,OAAO,WAAW,CAAC,MAAM,CAAC,MAAM,OAAO,WAAW,CAAC,MAAM,CAAC,GAC1D,OAAO,WAAW,CAAC,QAAQ,CAAC,MAAM,OAAO,WAAW,CAAC,QAAQ,CAAC,GAC9D,OAAO,WAAW,CAAC,cAAc,CAAC,MAAM,OAAO,WAAW,CAAC,cAAc,CAAC,GAC1E,OAAO,WAAW,CAAC,IAAI,CAAC,MAAM,OAAO,WAAW,CAAC,IAAI,CAAC,GACtD,OAAO,WAAW,CAAC,MAAM,CAAC,MAAM,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC"}
|