|
8 | 8 | } from '../openapi/types.js'; |
9 | 9 | import { Role } from '../roles/types.js'; |
10 | 10 | import { Map } from '../roles/util.js'; |
11 | | -import { AssignRevokeOptions, DeactivateOptions, GetAssignedRolesOptions, User, UserDB } from './types.js'; |
| 11 | +import { AssignRevokeOptions, DeactivateOptions, GetAssignedRolesOptions, GetUserOptions, User, UserDB } from './types.js'; |
12 | 12 |
|
13 | 13 | /** |
14 | 14 | * Operations supported for 'db', 'oidc', and legacy (non-namespaced) users. |
@@ -116,14 +116,14 @@ export interface DBUsers extends UsersBase { |
116 | 116 | * @param {string} userId The ID of the user to get. |
117 | 117 | * @returns {Promise<UserDB>} ID, status, and assigned roles of a 'db_*' user. |
118 | 118 | */ |
119 | | - byName: (userId: string) => Promise<UserDB>; |
| 119 | + byName: (userId: string, opts?: GetUserOptions) => Promise<UserDB>; |
120 | 120 |
|
121 | 121 | /** |
122 | 122 | * List all 'db_user' / 'db_env_user' users. |
123 | 123 | * |
124 | 124 | * @returns {Promise<UserDB[]>} ID, status, and assigned roles for each 'db_*' user. |
125 | 125 | */ |
126 | | - listAll: () => Promise<UserDB[]>; |
| 126 | + listAll: (opts?: GetUserOptions) => Promise<UserDB[]>; |
127 | 127 | } |
128 | 128 |
|
129 | 129 | /** Operations supported for namespaced 'oidc' users.*/ |
@@ -195,8 +195,8 @@ const db = (connection: ConnectionREST): DBUsers => { |
195 | 195 | .postEmpty<DeactivateOptions | null>(`/users/db/${userId}/deactivate`, opts || null) |
196 | 196 | .then(() => true) |
197 | 197 | .catch(expectCode(409)), |
198 | | - byName: (userId: string) => connection.get<WeaviateDBUser>(`/users/db/${userId}`, true).then(Map.dbUser), |
199 | | - listAll: () => connection.get<WeaviateDBUser[]>('/users/db', true).then(Map.dbUsers), |
| 198 | + byName: (userId: string, opts?: GetUserOptions) => connection.get<WeaviateDBUser>(`/users/db/${userId}?includeLastUsedTime=${opts?.includeLastUsedTime || false}`, true).then(Map.dbUser), |
| 199 | + listAll: (opts?: GetUserOptions) => connection.get<WeaviateDBUser[]>(`/users/db?includeLastUsedTime=${opts?.includeLastUsedTime || false}`, true).then(Map.dbUsers), |
200 | 200 | }; |
201 | 201 | }; |
202 | 202 |
|
@@ -238,9 +238,7 @@ const namespacedUsers = (connection: ConnectionREST): NamespacedUsers => { |
238 | 238 | getAssignedRoles: (userType: UserTypeInternal, userId: string, opts?: GetAssignedRolesOptions) => |
239 | 239 | connection |
240 | 240 | .get<WeaviateRole[]>( |
241 | | - `/authz/users/${userId}/roles/${userType}${ |
242 | | - opts?.includePermissions ? '?&includeFullRoles=true' : '' |
243 | | - }` |
| 241 | + `/authz/users/${userId}/roles/${userType}?includeFullRoles=${opts?.includePermissions || false}` |
244 | 242 | ) |
245 | 243 | .then(Map.roles), |
246 | 244 | assignRoles: (roleNames: string | string[], userId: string, opts?: AssignRevokeOptions) => |
|
0 commit comments