From e81a3d3874142bb38970fd7ad0edd63f2e14f232 Mon Sep 17 00:00:00 2001 From: QiTao Weng Date: Sun, 10 Apr 2022 04:58:47 -0500 Subject: [PATCH] Add api for page deletion --- .../controllers/api/EditorPage.controller.ts | 21 +++++++++++++++++++ src/app/http/routes/app.routes.ts | 3 +++ 2 files changed, 24 insertions(+) diff --git a/src/app/http/controllers/api/EditorPage.controller.ts b/src/app/http/controllers/api/EditorPage.controller.ts index f656f5e..c856de2 100644 --- a/src/app/http/controllers/api/EditorPage.controller.ts +++ b/src/app/http/controllers/api/EditorPage.controller.ts @@ -68,4 +68,25 @@ export class EditorPage extends Controller { await page.save() return api.one(page) } + + public async delete() { + // Check if page_id is specified + const serialData = this.request.safe('serialData').string() + const pageId = String(this.request.input('pageId') ?? '') + + // If so, look it up and update it + if ( pageId ) { + const page = await Page.query() + .whereKey(parseInt(pageId, 10)) + .where('user_id', '=', this.security.user().getUniqueIdentifier()) + .first() + + if ( !page ) { + return api.error('Invalid pageId.') + } + + page.serialData = serialData + await page.delete() + } + } } diff --git a/src/app/http/routes/app.routes.ts b/src/app/http/routes/app.routes.ts index f665b53..9017d5a 100644 --- a/src/app/http/routes/app.routes.ts +++ b/src/app/http/routes/app.routes.ts @@ -22,6 +22,9 @@ Route.group('/', () => { Route.get('/pages') .calls(EditorPage, page => page.list) + + Route.delete('page') + .calls(EditorPage, page => page.delete) }).pre(AuthRequiredMiddleware) Route.group('/login', () => {