From 1460b14754287cdb9351e411112a9ce3e09ba40a Mon Sep 17 00:00:00 2001 From: Roeland Jago Douma Date: Wed, 23 Sep 2020 20:42:19 +0200 Subject: [PATCH] enh appdata docs Signed-off-by: Roeland Jago Douma --- developer_manual/app/storage/appdata.rst | 36 ++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/developer_manual/app/storage/appdata.rst b/developer_manual/app/storage/appdata.rst index 2430046d4..bc44861f4 100644 --- a/developer_manual/app/storage/appdata.rst +++ b/developer_manual/app/storage/appdata.rst @@ -43,3 +43,39 @@ mapping to for example memcaches. The filesystem has three elements: `root`, `fo The `root` can only contain folders. And each folder can only contain files. This is limited to keep things simple and to allow easy mapping to other backends. For example a sysadmin might chose to map the avatars to fast storage since they are used often. + +Root +^^^^ + +The root element can only contain folders. There are 3 things you +can do on a root element: + +* `getFolder`: get the folder you request +* `newFolder`: creates a new folder +* `getDirectoryListing`: lists all the folders in this root + +Folder +^^^^^^ + +A folder has a bit more options. + +* `getDirectoryListing`: lists all the files in the folder +* `fileExists`: check if a file exists +* `getFile`: get a file +* `newFile`: create a new file +* `delete`: delete a folder and its content +* `getName`: get the name of the folder + +File +^^^^ + +* `getName`: get the name of the file +* `getSize`: get the size of the file +* `getETag`: get the ETag of the file +* `getMTime`: get the modification time of the file +* `getContent`: get the content of the file +* `putContent`: write content to the file +* `delete`: delete the file +* `getMimeType`: get the mimetype of the file +* `read`: get a resource for reading the file +* `write`: get a resoruce for writing to the file