feat(quick-261009-dkv): Links im Teilen-Dialog, Von mir geteilt und Mit mir geteilt, Oberflaeche
- Link-Formular: Berechtigung (Ansehen, Bearbeiten, Nur hochladen), Passwort verlangt oder freiwillig mit Passwort erzeugen, Ablaufdatum verlangt (vorbelegt, begrenzt) oder frei, Bezeichnung; Link kopieren, aendern, loeschen mit Rueckfrage - Ansichten Von mir geteilt und Mit mir geteilt mit offenen Freigaben (Annehmen, Ablehnen), Oeffnen in der Dateiansicht (initialPath/initialFocus), Freigabe verlassen - Reiter fuer jeden verbundenen Benutzer, ausgeblendet nur wenn die Nextcloud das Teilen ausschaltet - Hilfen (Passwortmodus, Ablaufregel, Datumsrechnung, Aenderungsunterschied), Web-Client, Meldungen de/en Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -384,15 +384,38 @@ export interface NcShareList {
|
||||
truncated: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* Neue Freigabe. Bei Links: `password` (nie in einer Adresse), `expireDate` (`YYYY-MM-DD` oder
|
||||
* `''` fuer "ohne Ablauf") und `label`; bei Personen und Gruppen `shareWith`.
|
||||
*/
|
||||
export interface CreateShareInput {
|
||||
path: string;
|
||||
kind: 'user' | 'group';
|
||||
shareWith: string;
|
||||
kind: NcShareKind;
|
||||
shareWith?: string;
|
||||
access: 'view' | 'edit' | 'upload';
|
||||
password?: string;
|
||||
expireDate?: string;
|
||||
label?: string;
|
||||
}
|
||||
|
||||
/** Leere Zeichenkette heisst: Passwort entfernen, Ablaufdatum entfernen, Bezeichnung leeren. */
|
||||
export interface UpdateShareInput {
|
||||
access?: 'view' | 'edit' | 'upload';
|
||||
password?: string;
|
||||
expireDate?: string;
|
||||
label?: string;
|
||||
}
|
||||
|
||||
/** Eigene Freigaben: Personen, Gruppen, Links. */
|
||||
export interface NcMyShares {
|
||||
shares: NcShare[];
|
||||
hidden: number;
|
||||
truncated: boolean;
|
||||
}
|
||||
|
||||
/** Mit mir geteilt: angenommene und noch offene (`pending`) Freigaben. */
|
||||
export interface NcReceivedShares extends NcMyShares {
|
||||
pending: NcShare[];
|
||||
}
|
||||
|
||||
export function getSharePolicy(): Promise<NcSharePolicy> {
|
||||
@@ -425,3 +448,18 @@ export function updateShare(id: string, input: UpdateShareInput): Promise<NcShar
|
||||
export function deleteShare(id: string): Promise<{ deleted: true }> {
|
||||
return request<{ deleted: true }>(`/shares/${encodeURIComponent(id)}`, { method: 'DELETE' });
|
||||
}
|
||||
|
||||
export function listMyShares(): Promise<NcMyShares> {
|
||||
return request<NcMyShares>('/shares/mine');
|
||||
}
|
||||
|
||||
export function listReceivedShares(): Promise<NcReceivedShares> {
|
||||
return request<NcReceivedShares>('/shares/received');
|
||||
}
|
||||
|
||||
/** Eine offene Freigabe annehmen; Ablehnen und Verlassen laufen ueber `deleteShare`. */
|
||||
export function acceptShare(id: string): Promise<{ accepted: true }> {
|
||||
return request<{ accepted: true }>(`/shares/${encodeURIComponent(id)}/accept`, {
|
||||
method: 'POST',
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user