@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.
@@ -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: "DELETE",
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: schemas_js_1.UserManagementSchemas.managedUser,
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<ManagedUser>} A promise that resolves to the archived user account.
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<ManagedUser>;
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<void>;
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,WAAW,CAAC;IAoBnD;;;;;;;OAOG;IACG,iBAAiB,CACrB,EAAE,EAAE,MAAM,EACV,KAAK,GAAE,oBAAyB,GAC/B,OAAO,CAAC,IAAI,CAAC;IAkBhB;;;;;;;;;;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"}
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<ManagedUser>} A promise that resolves to the archived user account.
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 user accounts.",
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
- const data = this.handleResponse(result, 200);
89
- const managedUser = index_js_1.ManagedUser.from(data);
90
- if (!managedUser) {
91
- throw new Error("Invalid user data received from server");
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
- return managedUser;
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.ViewRoles;
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6Cd,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"}
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"}
@@ -47,6 +47,7 @@ exports.Permissions = {
47
47
  CreateUser: "login.create",
48
48
  UpdateUser: "login.update",
49
49
  ArchiveUser: "login.archive",
50
+ UnArchiveUser: "login.unarchive",
50
51
  ResetPassword: "login.resetPassword",
51
52
  },
52
53
  }; // Make it deeply readonly