Skip to content

Superviseur — Frontend v0.14.0


Superviseur — Frontend / stores/global-config.store / useGlobalConfigStore

Variable: useGlobalConfigStore

ts
const useGlobalConfigStore: StoreDefinition<"global-config", Pick<{
  siteName: Ref<string, string>;
  logoUrl: Ref<string | null, string | null>;
  soundMapping: Ref<Record<string, string>, Record<string, string>>;
  soundVolumes: Ref<Record<string, number>, Record<string, number>>;
  systemParams: Ref<Record<string, unknown>, Record<string, unknown>>;
  isLoading: Ref<boolean, boolean>;
  fetchConfig: () => Promise<void>;
  fetchStorageInfo: () => Promise<void>;
  updateConfig: () => Promise<void>;
  uploadLogo: (file) => Promise<{
     url: string;
  }>;
  uploadSound: (type, file) => Promise<{
     type: string;
     url: string;
  }>;
  resetSound: (type) => Promise<void>;
  resetLogo: () => Promise<void>;
  factoryReset: () => Promise<void>;
  cleanupOrphanedFiles: () => Promise<{
     success?: boolean;
     deletedCount: number;
     spaceFreedBytes: number;
     errors?: string[];
  }>;
  getSoundUrl: (type, defaultPath) => string;
  getLogoUrl: ComputedRef<string | null>;
  borderEnabled: ComputedRef<boolean>;
  alertVolume: WritableComputedRef<number, number>;
  setSoundVolume: (type, volume, skipPersist) => Promise<void>;
  storageInfo: Ref<
     | {
     dbSize: number;
     uploadsSize: number;
     totalSize: number;
   }
     | null, 
     | {
     dbSize: number;
     uploadsSize: number;
     totalSize: number;
   }
     | {
     dbSize: number;
     uploadsSize: number;
     totalSize: number;
   }
    | null>;
}, 
  | "siteName"
  | "logoUrl"
  | "soundMapping"
  | "soundVolumes"
  | "systemParams"
  | "isLoading"
  | "storageInfo">, Pick<{
  siteName: Ref<string, string>;
  logoUrl: Ref<string | null, string | null>;
  soundMapping: Ref<Record<string, string>, Record<string, string>>;
  soundVolumes: Ref<Record<string, number>, Record<string, number>>;
  systemParams: Ref<Record<string, unknown>, Record<string, unknown>>;
  isLoading: Ref<boolean, boolean>;
  fetchConfig: () => Promise<void>;
  fetchStorageInfo: () => Promise<void>;
  updateConfig: () => Promise<void>;
  uploadLogo: (file) => Promise<{
     url: string;
  }>;
  uploadSound: (type, file) => Promise<{
     type: string;
     url: string;
  }>;
  resetSound: (type) => Promise<void>;
  resetLogo: () => Promise<void>;
  factoryReset: () => Promise<void>;
  cleanupOrphanedFiles: () => Promise<{
     success?: boolean;
     deletedCount: number;
     spaceFreedBytes: number;
     errors?: string[];
  }>;
  getSoundUrl: (type, defaultPath) => string;
  getLogoUrl: ComputedRef<string | null>;
  borderEnabled: ComputedRef<boolean>;
  alertVolume: WritableComputedRef<number, number>;
  setSoundVolume: (type, volume, skipPersist) => Promise<void>;
  storageInfo: Ref<
     | {
     dbSize: number;
     uploadsSize: number;
     totalSize: number;
   }
     | null, 
     | {
     dbSize: number;
     uploadsSize: number;
     totalSize: number;
   }
     | {
     dbSize: number;
     uploadsSize: number;
     totalSize: number;
   }
    | null>;
}, "borderEnabled" | "alertVolume" | "getLogoUrl">, Pick<{
  siteName: Ref<string, string>;
  logoUrl: Ref<string | null, string | null>;
  soundMapping: Ref<Record<string, string>, Record<string, string>>;
  soundVolumes: Ref<Record<string, number>, Record<string, number>>;
  systemParams: Ref<Record<string, unknown>, Record<string, unknown>>;
  isLoading: Ref<boolean, boolean>;
  fetchConfig: () => Promise<void>;
  fetchStorageInfo: () => Promise<void>;
  updateConfig: () => Promise<void>;
  uploadLogo: (file) => Promise<{
     url: string;
  }>;
  uploadSound: (type, file) => Promise<{
     type: string;
     url: string;
  }>;
  resetSound: (type) => Promise<void>;
  resetLogo: () => Promise<void>;
  factoryReset: () => Promise<void>;
  cleanupOrphanedFiles: () => Promise<{
     success?: boolean;
     deletedCount: number;
     spaceFreedBytes: number;
     errors?: string[];
  }>;
  getSoundUrl: (type, defaultPath) => string;
  getLogoUrl: ComputedRef<string | null>;
  borderEnabled: ComputedRef<boolean>;
  alertVolume: WritableComputedRef<number, number>;
  setSoundVolume: (type, volume, skipPersist) => Promise<void>;
  storageInfo: Ref<
     | {
     dbSize: number;
     uploadsSize: number;
     totalSize: number;
   }
     | null, 
     | {
     dbSize: number;
     uploadsSize: number;
     totalSize: number;
   }
     | {
     dbSize: number;
     uploadsSize: number;
     totalSize: number;
   }
    | null>;
}, 
  | "fetchConfig"
  | "fetchStorageInfo"
  | "updateConfig"
  | "uploadLogo"
  | "uploadSound"
  | "resetSound"
  | "resetLogo"
  | "factoryReset"
  | "cleanupOrphanedFiles"
  | "getSoundUrl"
| "setSoundVolume">>;

Défini dans: stores/global-config.store.ts:10

Store Pinia gérant la configuration globale et la personnalisation de l'application (nom du site, logo, volumes sonores, etc.). Permet de charger, mettre à jour, réinitialiser ces paramètres ou d'importer des ressources média.

Documentation Technique