diff options
-rw-r--r-- | docs/api.rst | 60 | ||||
-rw-r--r-- | docs/attachments.rst | 46 | ||||
-rw-r--r-- | docs/client.rst | 14 | ||||
-rw-r--r-- | docs/index.rst | 2 | ||||
-rw-r--r-- | docs/server.rst | 4 |
5 files changed, 75 insertions, 51 deletions
diff --git a/docs/api.rst b/docs/api.rst new file mode 100644 index 00000000..9a725065 --- /dev/null +++ b/docs/api.rst @@ -0,0 +1,60 @@ +Soledad API +=========== + +.. contents:: + :local: + +.. _client-side-code-api: + +Client-side code API +-------------------- + +.. autoclass:: leap.soledad.client.Soledad + :members: + :undoc-members: + +.. _client-side-attachments-api: + +Client-side attachments API +--------------------------- + +.. autoclass:: leap.soledad.client._document.AttachmentStates + :members: + :undoc-members: + +.. autointerface:: leap.soledad.client._document.IDocumentWithAttachment + :members: + :undoc-members: + + +.. _server-side-attachments-rest-api: + +Server-side attachments REST API +-------------------------------- + +These are the possible ways to interact with the attachments REST API on the +server side: + +=========== ================ ======== ================== +HTTP Method URL Content Possible responses +=========== ================ ======== ================== +GET /user_id - 200 +GET /user_id/blob_id - 200, 404 +PUT /user_id/blob_id The BLOB 200, 409, 507 +DELETE /user_id/blob_id - 200 +=========== ================ ======== ================== + +Server-side attachments code API +-------------------------------- + +.. _i-blobs-backend: + +.. autoclass:: leap.soledad.server.interfaces.IBlobsBackend + :members: + :undoc-members: + +.. _filesystem-blobs-backend: + +.. autoclass:: leap.soledad.server._blobs.FilesystemBlobsBackend + :members: + :undoc-members: diff --git a/docs/attachments.rst b/docs/attachments.rst index 31b47a70..7435eb4f 100644 --- a/docs/attachments.rst +++ b/docs/attachments.rst @@ -30,6 +30,8 @@ database. Encryption of data before it's sent to the server is the same used for Soledad documents' content during usual synchronization process (AES-256 GCM mode). +See :ref:`client-side-attachment-api` for reference. + Usage example ^^^^^^^^^^^^^ @@ -69,17 +71,6 @@ the store that created it, and can put/get/delete an attachment: fd = yield doc.get_attachment() assert fd.read() == open('hackers.txt').read() -API -^^^ - -.. autoclass:: leap.soledad.client._document.AttachmentStates - :members: - :undoc-members: - -.. autointerface:: leap.soledad.client._document.IDocumentWithAttachment - :members: - :undoc-members: - Server-side ----------- @@ -93,6 +84,9 @@ has to be added as an HTTP auth header, as in:: Authorization: Token <base64-encoded uuid:token> +Check out the :ref:`server-side-attachments-rest-api` for more information on +how to interact with the server using HTTP. + The :ref:`IBlobsBackend <i-blobs-backend>` interface is provided, so in the future there can be different ways to store attachments in the server side (think of a third-party storage, for example). Currently, the @@ -105,33 +99,3 @@ Some characteristics of the :ref:`FilesystemBlobsBackend * Configurable storage path. * Quota support. * Username, blob_id and user storage directory sanitization. - -Usage example -^^^^^^^^^^^^^ - -These are the possible ways to interact with the attachments REST API on the -server side: - -=========== ================ ======== ================== -HTTP Method URL Content Possible responses -=========== ================ ======== ================== -GET /user_id - 200 -GET /user_id/blob_id - 200, 404 -PUT /user_id/blob_id The BLOB 200, 409, 507 -DELETE /user_id/blob_id - 200 -=========== ================ ======== ================== - -API -^^^ - -.. _i-blobs-backend: - -.. autoclass:: leap.soledad.server.interfaces.IBlobsBackend - :members: - :undoc-members: - -.. _filesystem-blobs-backend: - -.. autoclass:: leap.soledad.server._blobs.FilesystemBlobsBackend - :members: - :undoc-members: diff --git a/docs/client.rst b/docs/client.rst index ed813634..3befd69c 100644 --- a/docs/client.rst +++ b/docs/client.rst @@ -1,9 +1,9 @@ -Soledad Client API -================== +Soledad Client +============== -.. toctree:: - :maxdepth: 2 +Current reasoning about Soledad can be found `here +<https://leap.se/en/docs/design/soledad>`_. That will be cleaned up and +migrated here in the future. -.. autoclass:: leap.soledad.client.Soledad - :members: - :undoc-members: +You can also take a look at :ref:`client-side-code-api` and +:ref:`client-side-attachments-api` for information on the API. diff --git a/docs/index.rst b/docs/index.rst index 6800ee42..45206b7e 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -14,8 +14,8 @@ all user's devices that access a LEAP provider. :maxdepth: 2 client - attachments server + attachments Indices and tables ================== diff --git a/docs/server.rst b/docs/server.rst index 4f99f266..bec552cd 100644 --- a/docs/server.rst +++ b/docs/server.rst @@ -1,5 +1,5 @@ -Soledad Server documentation -============================ +Soledad Server +============== A U1DB server that stores data using CouchDB as its persistence layer. |