From f52a91a809be18d89d00ccfe0309cec9340d7d05 Mon Sep 17 00:00:00 2001 From: Ean Milligan Date: Fri, 10 Apr 2026 01:24:21 -0400 Subject: [PATCH] built read endpoint --- .bruno/Plan Endpoints/create plan.bru | 2 +- .bruno/Plan Endpoints/delete plan.bru | 2 +- .bruno/Plan Endpoints/list plans.bru | 2 +- .bruno/Plan Endpoints/move plan.bru | 2 +- .bruno/Plan Endpoints/read plan.bru | 16 ++++++++++++++++ .bruno/Plan Endpoints/rename plan.bru | 2 +- .bruno/Plan Endpoints/undelete plan.bru | 2 +- .bruno/Plan Endpoints/update plan.bru | 2 +- mod.ts | 10 +++++++++- 9 files changed, 32 insertions(+), 8 deletions(-) create mode 100644 .bruno/Plan Endpoints/read plan.bru diff --git a/.bruno/Plan Endpoints/create plan.bru b/.bruno/Plan Endpoints/create plan.bru index 35ac6ea..34f8a19 100644 --- a/.bruno/Plan Endpoints/create plan.bru +++ b/.bruno/Plan Endpoints/create plan.bru @@ -1,7 +1,7 @@ meta { name: create plan type: http - seq: 2 + seq: 3 } post { diff --git a/.bruno/Plan Endpoints/delete plan.bru b/.bruno/Plan Endpoints/delete plan.bru index 498d6e4..de04dc6 100644 --- a/.bruno/Plan Endpoints/delete plan.bru +++ b/.bruno/Plan Endpoints/delete plan.bru @@ -1,7 +1,7 @@ meta { name: delete plan type: http - seq: 7 + seq: 8 } delete { diff --git a/.bruno/Plan Endpoints/list plans.bru b/.bruno/Plan Endpoints/list plans.bru index 0cb0d7d..a800854 100644 --- a/.bruno/Plan Endpoints/list plans.bru +++ b/.bruno/Plan Endpoints/list plans.bru @@ -1,7 +1,7 @@ meta { name: list plans type: http - seq: 1 + seq: 2 } get { diff --git a/.bruno/Plan Endpoints/move plan.bru b/.bruno/Plan Endpoints/move plan.bru index c36b17a..2c772c2 100644 --- a/.bruno/Plan Endpoints/move plan.bru +++ b/.bruno/Plan Endpoints/move plan.bru @@ -1,7 +1,7 @@ meta { name: move plan type: http - seq: 5 + seq: 6 } put { diff --git a/.bruno/Plan Endpoints/read plan.bru b/.bruno/Plan Endpoints/read plan.bru new file mode 100644 index 0000000..fe84fd6 --- /dev/null +++ b/.bruno/Plan Endpoints/read plan.bru @@ -0,0 +1,16 @@ +meta { + name: read plan + type: http + seq: 1 +} + +get { + url: http://localhost:14014/api/read/[planId] + body: none + auth: inherit +} + +settings { + encodeUrl: true + timeout: 0 +} diff --git a/.bruno/Plan Endpoints/rename plan.bru b/.bruno/Plan Endpoints/rename plan.bru index 43f7d28..7b48b7a 100644 --- a/.bruno/Plan Endpoints/rename plan.bru +++ b/.bruno/Plan Endpoints/rename plan.bru @@ -1,7 +1,7 @@ meta { name: rename plan type: http - seq: 4 + seq: 5 } put { diff --git a/.bruno/Plan Endpoints/undelete plan.bru b/.bruno/Plan Endpoints/undelete plan.bru index 3e80ffb..c34f292 100644 --- a/.bruno/Plan Endpoints/undelete plan.bru +++ b/.bruno/Plan Endpoints/undelete plan.bru @@ -1,7 +1,7 @@ meta { name: undelete plan type: http - seq: 6 + seq: 7 } put { diff --git a/.bruno/Plan Endpoints/update plan.bru b/.bruno/Plan Endpoints/update plan.bru index 2b975fb..a67381d 100644 --- a/.bruno/Plan Endpoints/update plan.bru +++ b/.bruno/Plan Endpoints/update plan.bru @@ -1,7 +1,7 @@ meta { name: update plan type: http - seq: 3 + seq: 4 } put { diff --git a/mod.ts b/mod.ts index 0b236d3..5b26838 100644 --- a/mod.ts +++ b/mod.ts @@ -36,7 +36,15 @@ Deno.serve({ port: config.api.port }, async (req) => { // SSR "home page" return genericResponse(STATUS_CODE.NotImplemented, 'WIP'); } else if (path.startsWith('/read/')) { - return genericResponse(STATUS_CODE.NotImplemented, 'WIP'); + const planId = path.replace('/read/', ''); + + const plans = await dbClient.query('SELECT name, folder, data FROM plans WHERE id = ?', [planId]).catch(() => { + failed = true; + }); + if (failed) return genericResponse(STATUS_CODE.InternalServerError, "Couldn't read DB."); + if (!plans.length) return genericResponse(STATUS_CODE.NotFound, 'Plan ID does not exist.'); + + return genericResponse(STATUS_CODE.OK, JSON.stringify(plans[0])); } else if (path.startsWith('/list/')) { const userId = path.replace('/list/', ''); const userMatch = await dbClient.query('SELECT id FROM users WHERE id = ?', [userId]).catch(() => {