2018-02-19 19:07:19 +01:00
|
|
|
import { FolderData } from '../models/data/folderData';
|
2018-01-10 04:39:43 +01:00
|
|
|
|
2018-02-19 19:07:19 +01:00
|
|
|
import { Folder } from '../models/domain/folder';
|
2018-07-17 23:22:45 +02:00
|
|
|
import { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';
|
2018-10-25 15:38:37 +02:00
|
|
|
import { TreeNode } from '../models/domain/treeNode';
|
2018-01-10 04:39:43 +01:00
|
|
|
|
2018-02-19 19:07:19 +01:00
|
|
|
import { FolderView } from '../models/view/folderView';
|
2018-01-25 20:57:42 +01:00
|
|
|
|
2018-01-23 23:29:15 +01:00
|
|
|
export abstract class FolderService {
|
2018-01-25 20:57:42 +01:00
|
|
|
decryptedFolderCache: FolderView[];
|
2018-01-10 04:39:43 +01:00
|
|
|
|
2018-01-23 23:29:15 +01:00
|
|
|
clearCache: () => void;
|
2018-07-17 23:22:45 +02:00
|
|
|
encrypt: (model: FolderView, key?: SymmetricCryptoKey) => Promise<Folder>;
|
2018-01-23 23:29:15 +01:00
|
|
|
get: (id: string) => Promise<Folder>;
|
|
|
|
getAll: () => Promise<Folder[]>;
|
2018-01-25 20:57:42 +01:00
|
|
|
getAllDecrypted: () => Promise<FolderView[]>;
|
2018-10-25 15:38:37 +02:00
|
|
|
getAllNested: () => Promise<Array<TreeNode<FolderView>>>;
|
2018-01-23 23:29:15 +01:00
|
|
|
saveWithServer: (folder: Folder) => Promise<any>;
|
|
|
|
upsert: (folder: FolderData | FolderData[]) => Promise<any>;
|
|
|
|
replace: (folders: { [id: string]: FolderData; }) => Promise<any>;
|
|
|
|
clear: (userId: string) => Promise<any>;
|
|
|
|
delete: (id: string | string[]) => Promise<any>;
|
|
|
|
deleteWithServer: (id: string) => Promise<any>;
|
2018-01-10 04:39:43 +01:00
|
|
|
}
|