Skip to content
Julius Seltenheim edited this page Jun 3, 2013 · 43 revisions

Table Of Content

Action Call
User Related Actions
Login User jsRoutes.controllers.User.loginRest()
/api/v1/user/login
Logout User jsRoutes.controllers.User.logout()
/logout
Get Maps of User on Server jsRoutes.controllers.User.mapListFromDB()
/api/v1/user/maps
Get Projects of User on Server jsRoutes.controllers.User.projectListFromDB()
/api/v1/user/projects
Mindmap Related Actions
Get Information
Get complete Mindmap as Json jsRoutes.controllers.MindMap.map(String projectId, String mapId)
/api/v1/project/:projectId/map/:mapId/json
Get chunked Mindmap as Json jsRoutes.controllers.MindMap.map(String projectId, String mapId, Integer nodeCount)
/api/v1/project/:projectId/map/:mapId/json?nodeCount
Get Node with all Children as Json jsRoutes.controllers.MindMap.getNode(String projectId, String mapId, String nodeId)
/api/v1/project/:projectId/map/:mapId/node/:nodeId
Get Node with some Children as Json jsRoutes.controllers.MindMap.getNode(String projectId, String mapId, String nodeId, Integer nodeCount)
/api/v1/project/:projectId/map/:mapId/node/:nodeId?nodeCount
Listen for updates on Map jsRoutes.controllers.MindMap.listenForUpdates(String projectId, String mapId)
/api/v1/project/:projectId/map/:mapId/listen
Fetch Updates Since Revision jsRoutes.controllers.MindMap.fetchUpdatesSinceRevision(String projectId, String mapId, Integer revision)
/api/v1/project/:projectId/map/:mapId/updates/:revision
Gaining and Releasing locks
Request Lock for a Node jsRoutes.controllers.MindMap.requestLock(String projectId, String mapId)
/api/v1/project/:projectId/map/:mapId/node/requestLock
Release Lock for a Node jsRoutes.controllers.MindMap.releaseLock(String projectId, String mapId)
/api/v1/project/:projectId/map/:mapId/node/releaseLock
Modifying a Mindmap
Create Node in Map jsRoutes.controllers.MindMap.createNode(String projectId, String mapId)
/api/v1/project/:projectId/map/:mapId/node/create
Change Node in Map jsRoutes.controllers.MindMap.changeNode(String projectId, String mapId)
/api/v1/project/:projectId/map/:mapId/node/change
Move Node in Map jsRoutes.controllers.MindMap.moveNode(String projectId, String mapId)
/api/v1/project/:projectId/map/:mapId/node/move
Delete Node in Map jsRoutes.controllers.MindMap.deleteNode(String projectId, String mapId)
/api/v1/project/:projectId/map/:mapId/node/delete
Change Edge in Map jsRoutes.controllers.MindMap.changeEdge(String projectId, String mapId)
/api/v1/project/:projectId/map/:mapId/node/changeEdge
Project related actions
Project
Get Project Info jsRoutes.controllers.ProjectController.getProject(String projectId)
/api/v1/project/:projectId
Create Project jsRoutes.controllers.ProjectController.createProject()
/api/v1/project/create
Add User to Project jsRoutes.controllers.ProjectController.addUserToProject()
/api/v1/project/addUser
Remove User from Project jsRoutes.controllers.ProjectController.removeUserFromProject()
/api/v1/project/removeUser
Files/Folders
Get Metadata jsRoutes.controllers.ProjectController.metadata(String projectId, String path)
/api/v1/ptoject/:projectId/metadata/:path
Get File jsRoutes.controllers.ProjectController.getFile(String projectId, String path)
/api/v1/ptoject/:projectId/file/:path
Put File jsRoutes.controllers.ProjectController.putFile(String projectId, String path)
/api/v1/ptoject/:projectId/file/:path
Move File jsRoutes.controllers.ProjectController.moveFile(String projectId)
/api/v1/ptoject/:projectId/file/move
Create Folder jsRoutes.controllers.ProjectController.createFolder()
/api/v1/ptoject/:projectId/create_folder
Get Changed Files jsRoutes.controllers.ProjectController.projectVersionDelta()
/api/v1/project/:projectId/delta
Listen for Project Updates jsRoutes.controllers.ProjectController.listenForUpdates()
/api/v1/project/listen

Detailed Informations

Login

Method POST
Action jsRoutes.controllers.User.login()
/api/v1/user/login
Form Data
  • username: String
  • password: String
Requires Nothing
Returns 303 Redirect

Logout

Method GET
Action jsRoutes.controllers.User.logout()
/logout
Form Data ---
Requires
Returns 303 Redirect

Map Info From Database

Method GET
Action jsRoutes.controllers.User.mapListFromDB()
/api/v1/user/maps
Query Params username = username for stateless authentication
accessToken = token for stateless authentication
Form Data ---
Requires
Returns List with MindMapInfo Objects

Project Info From Database

Method GET
Action jsRoutes.controllers.User.projectListFromDB()
/api/v1/user/projects
Query Params username = username for stateless authentication
accessToken = token for stateless authentication
Form Data ---
Requires
Returns List with Project Objects

Mindmap As Json

Method GET
Action jsRoutes.controllers.MindMap.map(String projectId, String mapId)
jsRoutes.controllers.MindMap.map(String projectId, String mapId, Integer nodeCount)
/api/v1/project/:projectId/map/:mapId/json
/api/v1/project/:projectId/map/:mapId/json?nodeCount
Params projectId = Id of the project
mapId = Id of the map (e.g. resource)
nodeCount = soft limit of maximum nodes
Query Params username = username for stateless authentication
accessToken = token for stateless authentication
Form Data ---
Requires
Returns A MindMap Object

Node As Json

Method GET
Action jsRoutes.controllers.MindMap.getNode(String projectId, String mapId,Strin nodeId)
jsRoutes.controllers.MindMap.getNode(String projectId, String mapId,Strin nodeId, Integer nodeCount)
/api/v1/project/:projectId/map/:mapId/node/:nodeId
/api/v1/project/:projectId/map/:mapId/node/:nodeId?nodeCount
Params projectId = Id of the project
mapId = Id of the map (e.g. resource)
nodeId = Id of node
nodeCount = soft limit of maximum nodes
Query Params username = username for stateless authentication
accessToken = token for stateless authentication
Form Data ---
Requires
Returns A DefaultNode Object

Listen for Updates on Map

Method GET
Action jsRoutes.controllers.MindMap.listenForUpdates(String projectId, String mapId)
/api/v1/project/:projectId/map/:mapId/listen
Params projectId = Id of the project
mapId = Id of the map (e.g. resource)
Query Params username = username for stateless authentication
accessToken = token for stateless authentication
Form Data ---
Requires
Returns Status 200 OK = update occured
Status 304 Not Modified = When for 30 seconds nothing have changed

Fetch Updates since Revision

Method GET
Action jsRoutes.controllers.MindMap.fetchUpdatesSinceRevision(String projectId, String mapId, Integer revision)
/api/v1/project/:projectId/map/:mapId/updates/:revision
Params projectId = Id of the project
mapId = Id of the map (e.g. resource)
revision = last known revision, to get all updates from there
Query Params username = username for stateless authentication
accessToken = token for stateless authentication
Form Data ---
Requires
Returns json with attributes:
- currentRevision
- orderedUpdates = List of MapUpdate Objects

Request Lock

Method POST
Action jsRoutes.controllers.MindMap.requestLock(String projectId, String mapId)
/api/v1/project/:projectId/map/:mapId/node/requestLock
Params projectId = Id of the project
mapId = Id of the map (e.g. resource)
Query Params username = username for stateless authentication
accessToken = token for stateless authentication
source = Location of the sender (which online view or desktop instance). Importend to filter events send by yourself
Form Data nodeId = Id of Node
Requires
Returns Status 200 OK = success
Status 412 Precondition Failed = failure

Release Lock

Method POST
Action jsRoutes.controllers.MindMap.releaseLock(String projectId, String mapId)
/api/v1/project/:projectId/map/:mapId/node/releaseLock
Params projectId = Id of the project
mapId = Id of the map (e.g. resource)
Query Params username = username for stateless authentication
accessToken = token for stateless authentication
source = Location of the sender (which online view or desktop instance). Importend to filter events send by yourself
Form Data nodeId = Id of Node
Requires
Returns Status 200 OK = success
Status 412 Precondition Failed = failure

Create Node

Method POST
Action jsRoutes.controllers.MindMap.createNode(String projectId, String mapId)
/api/v1/project/:projectId/map/:mapId/node/create
Params projectId = Id of the project
mapId = Id of the map (e.g. resource)
Query Params username = username for stateless authentication
accessToken = token for stateless authentication
source = Location of the sender (which online view or desktop instance). Importend to filter events send by yourself
Form Data parentNodeId = Id of parent where the new node gets attached to
side = parameter for root node to define on which side the node should be added ("Left" or "Right"), default is "Left".
Requires
Returns A AddNodeUpdate Object

Remove Node

Method DELETE
Action jsRoutes.controllers.MindMap.deleteNode(String projectId, String mapId)
/api/v1/project/:projectId/map/:mapId/node/delete
Params projectId = Id of the project
mapId = Id of the map (e.g. resource)
Query Params username = username for stateless authentication
accessToken = token for stateless authentication
source = Location of the sender (which online view or desktop instance). Importend to filter events send by yourself
Form Data nodeId = Id of node to delete
Requires
Returns Status 200 OK = success
Status 412 Precondition Failed = failure

Change Node

Method POST
Action jsRoutes.controllers.MindMap.changeNode(String projectId, String mapId)
/api/v1/project/:projectId/map/:mapId/node/change
Params projectId = Id of the project
mapId = Id of the map (e.g. resource)
Query Params username = username for stateless authentication
accessToken = token for stateless authentication
source = Location of the sender (which online view or desktop instance). Importend to filter events send by yourself
Form Data nodeId = Id of node with changes
optional
  • folded -> boolean
  • isHtml -> boolean
  • attributes -> key1%:%value1%:%key2%:%value2...
  • hGap -> integer
  • shiftY -> integer
  • note -> string
  • icons -> icon1%:%icon2...
  • image -> Not yet implemented
  • link -> string (URI)
  • nodeText -> string
Requires
Returns List of MapUpdate Objects

Move Node

Method POST
Action jsRoutes.controllers.MindMap.moveNode(String projectId, String mapId)
/api/v1/project/:projectId/map/:mapId/node/move
Params projectId = Id of the project
mapId = Id of the map (e.g. resource)
Query Params username = username for stateless authentication
accessToken = token for stateless authentication
source = Location of the sender (which online view or desktop instance). Importend to filter events send by yourself
Form Data newParentNodeId = Id of the new parent node
nodetoMoveId = Id of node, which is moved
newIndex = new position in child list (0 = top)
Requires
Returns Status 200 OK = success
Status 412 Precondition Failed = failure

Project Info

Method GET
Action jsRoutes.controllers.ProjectController.getProject(String projectId)
/api/v1/project/:projectId
Params projectId = id of the project
Query Params username = username for stateless authentication
accessToken = token for stateless authentication
Form Data
Requires
Returns Project-Object as json

Create Project

Method POST
Action jsRoutes.controllers.ProjectController.createProject()
/api/v1/project/:projectId/create
Params projectId = id of the project
Query Params username = username for stateless authentication
accessToken = token for stateless authentication
Form Data name = name of the project
Requires
Returns Project-Object as json

Add User to Project

Method POST
Action jsRoutes.controllers.ProjectController.addUserToProject()
/api/v1/project/:projectId/addUser
Params projectId = id of the project
Query Params username = username for stateless authentication
accessToken = token for stateless authentication
Form Data username = name of the user to add
Requires
Returns Status 200 OK = success
Status 412 Precondition Failed = failure

Remove User from Project

Method POST
Action jsRoutes.controllers.ProjectController.removeUserFromProject()
/api/v1/project/:projectId/removeUser
Params projectId = id of the project
Query Params username = username for stateless authentication
accessToken = token for stateless authentication
Form Data username = name of the user to remove
Requires
Returns Status 200 OK = success
Status 412 Precondition Failed = failure

Get Metadata

Method GET
Action jsRoutes.controllers.ProjectController.metadata(String projectId, String path)
/api/v1/project/:projectId/metadata/:path
Params projectId = id of the project
path = resource path
Query Params username = username for stateless authentication
accessToken = token for stateless authentication
Form Data
Requires
Returns Metadata-Object as json

Get File

Method GET
Action jsRoutes.controllers.ProjectController.getFile(String projectId, String path)
/api/v1/project/:projectId/file/:path
Params projectId = id of the project
path = resource path
Query Params username = username for stateless authentication
accessToken = token for stateless authentication
Form Data
Requires
Returns zipped file

Put File

Method PUT
Action jsRoutes.controllers.ProjectController.putFile(String projectId, String path)
/api/v1/project/:projectId/file/:path
Params projectId = id of the project
path = resource path
Query Params username = username for stateless authentication
accessToken = token for stateless authentication
isZip = true
Form Data The body only contains the full file.
Requires
Returns Metadata-Object of uploaded file.
When file was out of date it will be uploaded as a Conflicted Version which is also returned in the new metadata.

Move File

Method POST
Action jsRoutes.controllers.ProjectController.moveFile(String projectId)
/api/v1/project/:projectId/file/move
Params projectId = id of the project
Query Params username = username for stateless authentication
accessToken = token for stateless authentication
isZip = true
Form Data currentPath = resource to move
moveToPath = new location for resource
Requires
Returns Status 200 OK = success

Create Folder

Method POST
Action jsRoutes.controllers.ProjectController.createFolder()
/api/v1/project/:projectId/create_folder
Params projectId = id of the project
Query Params username = username for stateless authentication
accessToken = token for stateless authentication
Form Data path = resource path
Requires
Returns Metadata-Object as json

Get Changed Files

Method POST
Action jsRoutes.controllers.ProjectController.projectVersionDelta()
/api/v1/project/:projectId/delta
Params projectId = id of the project
Query Params username = username for stateless authentication
accessToken = token for stateless authentication
Form Data projectRevision = current local revision
Requires
Returns List of ChangedFilesResponse-Object as json

Listen For Project Updates

Method POST
Action jsRoutes.controllers.ProjectController.listenForUpdates()
/api/v1/project/listen
Params
Query Params username = username for stateless authentication
accessToken = token for stateless authentication
Form Data For each known project to listen on a pair of projectId=currentRevision
Requires
Returns ProjectUpdates-Object

Clone this wiki locally