fix(ui): internal scope filter + dark-theme cards в Связи
This commit is contained in:
@@ -22,7 +22,14 @@ import {
|
||||
export const dictionariesQuery = queryOptions({
|
||||
queryKey: ['dictionaries'] as const,
|
||||
queryFn: async (): Promise<DictionaryDefinition[]> => {
|
||||
const { data } = await apiClient.get<DictionaryDefinition[]>('/dictionaries')
|
||||
// Backend по default возвращает только PUBLIC scope (~user feedback:
|
||||
// «куда опять internal словари делись»). Передаём весь triplet —
|
||||
// server-side всё равно отфильтрует по реальным scope permissions
|
||||
// юзера, и invisible scopes просто не вернутся. Это match'ит то что
|
||||
// useRecords / catalog row делает per-record (см. строку ~65).
|
||||
const { data } = await apiClient.get<DictionaryDefinition[]>('/dictionaries', {
|
||||
params: { as_scope: 'PUBLIC,INTERNAL,RESTRICTED' },
|
||||
})
|
||||
return data
|
||||
},
|
||||
})
|
||||
@@ -31,7 +38,12 @@ export const dictionaryDetailQuery = (name: string) =>
|
||||
queryOptions({
|
||||
queryKey: ['dictionary', name] as const,
|
||||
queryFn: async (): Promise<DictionaryDetail> => {
|
||||
const { data } = await apiClient.get<DictionaryDetail>(`/dictionaries/${name}`)
|
||||
// Same as listing — pass all scopes; server-side filter применит
|
||||
// user permissions. Без этого INTERNAL dict вернёт 404 даже для
|
||||
// авторизованного юзера с INTERNAL access.
|
||||
const { data } = await apiClient.get<DictionaryDetail>(`/dictionaries/${name}`, {
|
||||
params: { as_scope: 'PUBLIC,INTERNAL,RESTRICTED' },
|
||||
})
|
||||
return data
|
||||
},
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user