diff --git a/packages/server/middleware/controllers/application.js b/packages/server/middleware/controllers/application.js new file mode 100644 index 0000000000..8f80e0db1e --- /dev/null +++ b/packages/server/middleware/controllers/application.js @@ -0,0 +1,9 @@ +const couchdb = require("../../db"); + +const controller = { + create: async ctx => { + ctx.body = await couchdb.db.create(ctx.request.body.appName); + } +} + +module.exports = controller; \ No newline at end of file diff --git a/packages/server/middleware/controllers/auth.js b/packages/server/middleware/controllers/auth.js new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/server/middleware/controllers/database.js b/packages/server/middleware/controllers/database.js index d43faffc2b..24093e8142 100644 --- a/packages/server/middleware/controllers/database.js +++ b/packages/server/middleware/controllers/database.js @@ -5,7 +5,7 @@ const controller = { ctx.body = await couchdb.db.create(ctx.request.body.databaseName); }, destroy: async ctx => { - ctx.body = await couchdb.db.destroy(ctx.request.body.databaseName) + ctx.body = await couchdb.db.destroy(ctx.params.databaseName) } } diff --git a/packages/server/middleware/controllers/record.js b/packages/server/middleware/controllers/record.js index 2c25cb83a8..0f8a550e9e 100644 --- a/packages/server/middleware/controllers/record.js +++ b/packages/server/middleware/controllers/record.js @@ -5,13 +5,13 @@ const controller = { }, fetch: async ctx => { const databaseId = ctx.params.databaseId; - const instance = couchdb.db.use(databaseId) - const documents = await instance.list({}); - - ctx.status = 200; - ctx.body = documents; + const database = couchdb.db.use(databaseId) + ctx.body = await database.list({}); }, destroy: async ctx => { + const databaseId = ctx.params.databaseId; + const database = couchdb.db.use(databaseId) + ctx.body = await database.destroy(ctx.params.recordId); }, } diff --git a/packages/server/middleware/controllers/schema.js b/packages/server/middleware/controllers/schema.js new file mode 100644 index 0000000000..8b2f874096 --- /dev/null +++ b/packages/server/middleware/controllers/schema.js @@ -0,0 +1,11 @@ +const couchdb = require("../../db"); + +const controller = { + create: async ctx => { + const appDatabase = couchdb.db.use(ctx.params.appId) + ctx.body = await appDatabase.insert(ctx.request.body); + }, + apply: async ctx => {} +} + +module.exports = controller; \ No newline at end of file diff --git a/packages/server/middleware/controllers/user.js b/packages/server/middleware/controllers/user.js new file mode 100644 index 0000000000..4d1066635d --- /dev/null +++ b/packages/server/middleware/controllers/user.js @@ -0,0 +1,18 @@ +const couchdb = require("../../db"); + +const controller = { + fetch: async ctx => { + const database = couchdb.db.use(ctx.params.databaseId); + ctx.body = await database.list({ type: "user" }); + }, + create: async ctx => { + const database = couchdb.db.use(ctx.params.databaseId); + ctx.body = await database.create(ctx.request.body.user); + }, + destroy: async ctx => { + const database = couchdb.db.use(ctx.params.databaseId); + ctx.body = await database.destroy(ctx.params.userId) + } +} + +module.exports = controller; \ No newline at end of file diff --git a/packages/server/middleware/routes/neo/application.js b/packages/server/middleware/routes/neo/application.js new file mode 100644 index 0000000000..6670362142 --- /dev/null +++ b/packages/server/middleware/routes/neo/application.js @@ -0,0 +1,8 @@ +const Router = require("@koa/router"); +const controller = require("../../controllers/application"); + +const router = Router(); + +router.post("/api/applications/:clientId", controller.create) + +module.exports = router; \ No newline at end of file diff --git a/packages/server/middleware/routes/neo/database.js b/packages/server/middleware/routes/neo/database.js index 65c52bcfda..89b2f99fc6 100644 --- a/packages/server/middleware/routes/neo/database.js +++ b/packages/server/middleware/routes/neo/database.js @@ -1,10 +1,10 @@ const Router = require("@koa/router"); - const controller = require("../../controllers/database"); + const router = Router(); router .post("/api/databases", controller.create) - .delete("/api/databases", controller.destroy); + .delete("/api/databases/:databaseId", controller.destroy); module.exports = router; \ No newline at end of file diff --git a/packages/server/middleware/routes/neo/record.js b/packages/server/middleware/routes/neo/record.js index 1efaf67870..566ad762c0 100644 --- a/packages/server/middleware/routes/neo/record.js +++ b/packages/server/middleware/routes/neo/record.js @@ -1,7 +1,4 @@ const Router = require("@koa/router"); -// const StatusCodes = require("../../utilities/statusCodes") -// const routeHandlers = require("../routeHandlers") - const controller = require("../../controllers/record"); const router = Router(); @@ -9,7 +6,7 @@ const router = Router(); router .get("/api/records/:databaseId", controller.fetch) .post("/api/records/:databaseId", controller.save) - .delete("/api/records/:databaseId", controller.destroy) + .delete("/api/records/:databaseId/:recordId", controller.destroy) // router.post( // "/_builder/instance/:appname/:instanceid/api/record/*", diff --git a/packages/server/middleware/routes/neo/schema.js b/packages/server/middleware/routes/neo/schema.js index 58db44c219..50356d72a4 100644 --- a/packages/server/middleware/routes/neo/schema.js +++ b/packages/server/middleware/routes/neo/schema.js @@ -1,13 +1,9 @@ const Router = require("@koa/router"); -const StatusCodes = require("../../utilities/statusCodes") -const routeHandlers = require("../routeHandlers") - const controller = require("../../controllers/schema"); const router = Router(); -router.get("api/schema/:appId", controller.fetch); - -router.post("api/schema/:appId", controller.save) - -router.delete("api/schema/:appId", controller.delete) \ No newline at end of file +router + .get("/api/schemas/:appId", controller.fetch) + .post("/api/schemas/:appId", controller.save) + .delete("/api/schemas/:appId", controller.delete) \ No newline at end of file diff --git a/packages/server/middleware/routes/neo/user.js b/packages/server/middleware/routes/neo/user.js new file mode 100644 index 0000000000..3117a2f3ed --- /dev/null +++ b/packages/server/middleware/routes/neo/user.js @@ -0,0 +1,17 @@ +const Router = require("@koa/router"); +const controller = require("../../controllers/user"); +const couchdb = require("../../db"); + +const router = Router(); + +function setDatabase(ctx) { + ctx.database = couchdb.db.use(ctx.params.databaseId); +} + +router + .use(setDatabase) + .get("/api/:databaseId/users", controller.fetch) + .post("/api/:databaseId/users", controller.create) + .delete("/api/:databaseId/users/:userId", controller.destroy); + +module.exports = router; \ No newline at end of file