1964ea5fb4
Endpoint GET /api/share/search?q= parcourant tout le partage en largeur (garde-fous 200 résultats / 2000 dossiers). Le champ de l'explorateur déclenche une recherche globale debouncée dès 2 caractères (filtre local en deçà), avec affichage du dossier parent de chaque résultat.
54 lines
973 B
TypeScript
54 lines
973 B
TypeScript
export type FileEntry = {
|
|
name: string
|
|
path: string
|
|
isDir: boolean
|
|
size: number
|
|
modifiedAt: number | null
|
|
mimeType: string
|
|
}
|
|
|
|
export type Breadcrumb = {
|
|
name: string
|
|
path: string
|
|
}
|
|
|
|
export type ShareBrowseResult = {
|
|
path: string
|
|
breadcrumb: Breadcrumb[]
|
|
entries: FileEntry[]
|
|
}
|
|
|
|
export type ShareSearchResult = {
|
|
query: string
|
|
entries: FileEntry[]
|
|
}
|
|
|
|
export type ShareStatus = {
|
|
enabled: boolean
|
|
}
|
|
|
|
export type ShareSettings = {
|
|
host: string | null
|
|
shareName: string | null
|
|
basePath: string | null
|
|
domain: string | null
|
|
username: string | null
|
|
enabled: boolean
|
|
hasPassword: boolean
|
|
}
|
|
|
|
export type ShareSettingsWrite = {
|
|
host: string | null
|
|
shareName: string | null
|
|
basePath: string | null
|
|
domain: string | null
|
|
username: string | null
|
|
password?: string | null
|
|
enabled: boolean
|
|
}
|
|
|
|
export type ShareTestResult = {
|
|
success: boolean
|
|
message: string | null
|
|
}
|