Merge branch 'feat/phase2-direct-kc-admin' into 'main'
feat(auth): Phase 2 — audited-users UserPicker + Tier-3 Keycloak Admin lookup See merge request 2-6/2-6-4/terravault/ordinis!272
This commit is contained in:
@@ -796,13 +796,20 @@ export type UserListItem = {
|
||||
updatedAt: string
|
||||
}
|
||||
|
||||
export const allUsersQuery = queryOptions({
|
||||
queryKey: ['users', 'all'] as const,
|
||||
/**
|
||||
* Юзеры, реально появлявшиеся в audit_log — для UserPicker'а в /audit.
|
||||
* Backend resolve'ит distinct user_id из audit_log JOIN с user_display_cache
|
||||
* → отдаёт только тех, кто реально что-то делал в ordinis (не всех юзеров
|
||||
* altum realm). Sub'ы которых нет в cache возвращаются с null display полями
|
||||
* — UserPicker покажет UUID-prefix.
|
||||
*/
|
||||
export const auditedUsersQuery = queryOptions({
|
||||
queryKey: ['users', 'audited'] as const,
|
||||
staleTime: 5 * 60 * 1000,
|
||||
retry: false,
|
||||
queryFn: async (): Promise<UserListItem[]> => {
|
||||
try {
|
||||
const { data } = await apiClient.get<UserListItem[]>('/admin/users', {
|
||||
const { data } = await apiClient.get<UserListItem[]>('/admin/users/audited', {
|
||||
params: { limit: 500 },
|
||||
})
|
||||
return data
|
||||
@@ -814,7 +821,7 @@ export const allUsersQuery = queryOptions({
|
||||
},
|
||||
})
|
||||
|
||||
export const useAllUsers = () => useQuery(allUsersQuery)
|
||||
export const useAuditedUsers = () => useQuery(auditedUsersQuery)
|
||||
export const useRecords = (
|
||||
dictionaryName: string,
|
||||
scopeCsv: string,
|
||||
|
||||
Reference in New Issue
Block a user