GapFill Flowee
This commit is contained in:
@@ -22,6 +22,8 @@ export interface TenantSettingsResponse {
|
||||
archival_mode: ArchivalMode
|
||||
conservatore_id: string
|
||||
conservatore_endpoint: string | null
|
||||
/** Slug del tenant sul sistema del conservatore (es. 'pechub' per Aeterna) */
|
||||
conservatore_tenant_slug: string | null
|
||||
conservatore_username_configured: boolean
|
||||
conservatore_password_configured: boolean
|
||||
archival_notes: string | null
|
||||
@@ -34,6 +36,8 @@ export interface TenantSettingsUpdate {
|
||||
conservatore_id?: string
|
||||
/** URL endpoint API del conservatore (obbligatorio in produzione) */
|
||||
conservatore_endpoint?: string
|
||||
/** Slug del tenant sul sistema del conservatore (es. 'pechub' per Aeterna) */
|
||||
conservatore_tenant_slug?: string
|
||||
/** Username in chiaro – viene cifrata lato server. Stringa vuota = cancella */
|
||||
conservatore_username?: string
|
||||
/** Password in chiaro – viene cifrata lato server. Stringa vuota = cancella */
|
||||
@@ -41,6 +45,13 @@ export interface TenantSettingsUpdate {
|
||||
archival_notes?: string
|
||||
}
|
||||
|
||||
export interface ConservatoreTestResult {
|
||||
success: boolean
|
||||
message: string
|
||||
latency_ms: number | null
|
||||
provider_info: Record<string, unknown> | null
|
||||
}
|
||||
|
||||
// ─── Tipi indicizzazione full-text ─────────────────────────────────────────
|
||||
|
||||
export interface IndexingStats {
|
||||
@@ -76,20 +87,35 @@ export interface IndexingJobStatus {
|
||||
|
||||
export const settingsApi = {
|
||||
/**
|
||||
* Recupera le impostazioni del tenant corrente.
|
||||
* Recupera le impostazioni del tenant.
|
||||
* Se non esistono, il backend le crea con i valori di default (mock).
|
||||
* @param tenantId - (solo super_admin) UUID del tenant target
|
||||
*/
|
||||
get: async (): Promise<TenantSettingsResponse> => {
|
||||
const { data } = await apiClient.get<TenantSettingsResponse>('/settings')
|
||||
get: async (tenantId?: string): Promise<TenantSettingsResponse> => {
|
||||
const params = tenantId ? { tenant_id: tenantId } : undefined
|
||||
const { data } = await apiClient.get<TenantSettingsResponse>('/settings', { params })
|
||||
return data
|
||||
},
|
||||
|
||||
/**
|
||||
* Aggiorna le impostazioni del tenant.
|
||||
* Solo i campi forniti vengono modificati (semantica PATCH).
|
||||
* @param tenantId - (solo super_admin) UUID del tenant target
|
||||
*/
|
||||
update: async (payload: TenantSettingsUpdate): Promise<TenantSettingsResponse> => {
|
||||
const { data } = await apiClient.put<TenantSettingsResponse>('/settings', payload)
|
||||
update: async (payload: TenantSettingsUpdate, tenantId?: string): Promise<TenantSettingsResponse> => {
|
||||
const params = tenantId ? { tenant_id: tenantId } : undefined
|
||||
const { data } = await apiClient.put<TenantSettingsResponse>('/settings', payload, { params })
|
||||
return data
|
||||
},
|
||||
|
||||
/**
|
||||
* Testa la connessione al conservatore configurato.
|
||||
* Effettua una chiamata reale (login + verifica identità) senza modificare dati.
|
||||
* @param tenantId - (solo super_admin) UUID del tenant target
|
||||
*/
|
||||
testConservatore: async (tenantId?: string): Promise<ConservatoreTestResult> => {
|
||||
const params = tenantId ? { tenant_id: tenantId } : undefined
|
||||
const { data } = await apiClient.post<ConservatoreTestResult>('/settings/test-conservatore', undefined, { params })
|
||||
return data
|
||||
},
|
||||
|
||||
|
||||
Reference in New Issue
Block a user