Skip to main content

ContentServer Websocket API

This section describes the payload of the WebSocket API exposed by the ContentServer.

base URL: ws://<server>:<port>/content/ws/v5
version: v5

ContentServer Websocket API

The websocket of the ContentServer provides the ability to listen for changes in a directory. The messages sent through the websocket follow the ones received by the IContentListener. Every time a change is made, a message is sent through that connection.

The message from the ContentServer depends on the action performed: ADD, DELETE or UPDATE.

The following listing details the content sent through the payload:

Update an entry of the ContentServer

Action: Updated

When the you update an entry of the ContentServer, the ContentServer returns the newly updated entry's content and metadata.

Example:

{
path: "foo/bar",
action: "UPDATED",
entry: {
content: "baz",
isDirectory: false,
owners: ["admin"],
readers: ["admin"],
timestamp: 1583832594206,
lastEditor: "admin",
canRead: true,
canWrite: true
}
}

Key attributes:

  • path: path to the entry.
  • content: content of the entry.
  • isDirectory: whether the entry is a directory or not.
  • owners: list of users with edit access to the entry.
  • readers: list of users with read access to the entry.
  • timestamp: the UNIX timestamp of the last edit.
  • lastEditor: the user who performed the update.
  • canRead: whether the current user has read access to the entry.
  • canWrite: whether the current user has write access to the entry.

Add an entry to the ContentServer

Action: Add

When you add a new entry to the ContentServer, the ContentServer returns the metadata of the created entry.

Example:

{
path: "/ui/bookmarks/content/d4e",
action: "ADD",
entry: {
isDirectory: true,
owners: ["admin"],
readers: ["admin"],
timestamp: 1583832594206,
lastEditor: "admin",
canRead: true,
canWrite: true
}
}

Key attributes:

  • path: path to the entry.
  • isDirectory: whether the entry is a directory.
  • owners: list of users with edit access to the entry.
  • readers: list of users with read access to the entry.
  • timestamp: the UNIX timestamp of the last edit.
  • lastEditor: the user who performed the update.
  • canRead: whether the current user has read access to the entry.
  • canWrite: whether the current user has write access to the entry.

Remove an entry of the ContentServer

When the user deletes an entry of the ContentServer, it only returns the path of the removed entry.

Action: Remove

{
path: "/ui/bookmarks/content/d4e",
action: "REMOVE"
}

Miscellaneous

There are two further actions, one when the websocket is connected and the other when it disconnects. Each action only contains a single instruction.

Action: Connected

Example :

{
id: "foo",
statusCode: 202,
instruction: "Connected"
}