/* * API v1 Routes * ------------------------------------------------------------- * Description here */ const index = { prefix: '/api/v1', middleware: [ 'auth:UserOnly', ], get: { '/token': [ 'controller::api:v1:Misc.get_token', ], // Get the file ref node config for the specified file ref '/files/:PageId/:NodeId/get/:FilesId': ['controller::api:v1:File.get_config'], // Download the specified file ID from the specified file ref node '/files/:PageId/:NodeId/get/:FilesId/:FileId': ['controller::api:v1:File.download'], // Get the data for the specified page '/page/:PageId': ['controller::api:v1:Page.get_page'], // Get the available versions of the given page '/page/:PageId/versions': ['controller::api:v1:Page.get_page_versions'], // Get the nodes present on the specified page '/page/:PageId/nodes': ['controller::api:v1:Page.get_nodes'], // Get the user's menu tree '/menu/items': ['controller::api:v1:Menu.get_items'], // Get the database ref node config for the specified database '/db/:PageId/:NodeId/get/:DatabaseId': ['controller::api:v1:FormDatabase.get_config'], // Get the column config records for the specified database '/db/:PageId/:NodeId/get/:DatabaseId/columns': [ 'controller::api:v1:FormDatabase.get_columns' ], // Get the row records for the specified database '/db/:PageId/:NodeId/get/:DatabaseId/data': [ 'controller::api:v1:FormDatabase.get_data' ], // Get the code ref node config for the specified code editor '/code/:PageId/:NodeId/get/:CodiumId': ['controller::api:v1:FormCode.get_config'], // Export the entire personal tree as HTML '/data/export/html': ['controller::Export.html_export'], '/search': ['controller::api:v1:Misc.get_search'], '/offline/prefetch': ['controller::api:v1:Offline.do_prefetch'], }, post: { // Upload the file in the 'uploaded_file' key to the specified file ref node '/file/upload/:PageId/:NodeId/:FilesId': ['middleware::upload:UploadFile', 'controller::api:v1:File.save_upload'], // Create a new file ref node '/files/:PageId/:NodeId/create': ['controller::api:v1:File.create_config'], // Delete a file ref node and its files '/files/:PageId/:NodeId/delete/:FilesId': ['controller::api:v1:File.delete_group'], // Save the data for the specified page '/page/:PageId/save': ['controller::api:v1:Page.save_page'], // Save the node data for the specified page '/page/:PageId/nodes/save': ['controller::api:v1:Page.save_nodes'], '/page/:PageId/nodes/save_one': ['controller::api:v1:Page.save_node_to_page'], // Create a new page in the personal root '/page/create': ['controller::api:v1:Page.create_top_level'], // Create a new page as a child of the specified page '/page/create-child': ['controller::api:v1:Page.create_child'], // Delete the specified page '/page/delete/:PageId': ['controller::api:v1:Page.delete_page'], // Create a new database ref config '/db/:PageId/:NodeId/create': ['controller::api:v1:FormDatabase.create_new'], // Set the column configs for a database ref '/db/:PageId/:NodeId/set/:DatabaseId/columns': [ 'controller::api:v1:FormDatabase.set_columns' ], // Set the database name '/db/:PageId/:NodeId/set/:DatabaseId/Name': [ 'controller::api:v1:FormDatabase.set_name' ], // Delete the specified database ref '/db/:PageId/:NodeId/drop/:DatabaseId': [ 'controller::api:v1:FormDatabase.drop_database' ], // Set the row data for the specified database ref '/db/:PageId/:NodeId/set/:DatabaseId/data': ['controller::api:v1:FormDatabase.set_data'], // Create a new code ref config '/code/:PageId/:NodeId/create': ['controller::api:v1:FormCode.create_new'], // Set the data for the specified code ref '/code/:PageId/:NodeId/set/:CodiumId': ['controller::api:v1:FormCode.set_values'], // delete the specified code ref '/code/:PageId/:NodeId/delete/:CodiumId': ['controller::api:v1:FormCode.drop_code'], // re-sync data when an offline client goes back online '/offline/sync': ['controller::api:v1:Offline.do_sync'], }, } module.exports = exports = index