From adc2067c022d62cecead3cb839b65f72695be50b Mon Sep 17 00:00:00 2001 From: Bart Date: Sat, 11 Nov 2023 19:26:45 +0100 Subject: [PATCH] list all templates --- api/src/routes/template.ts | 14 +++----------- api/src/services/template.ts | 25 ++++++++++++++++--------- 2 files changed, 19 insertions(+), 20 deletions(-) diff --git a/api/src/routes/template.ts b/api/src/routes/template.ts index c6c5335..6ad9377 100644 --- a/api/src/routes/template.ts +++ b/api/src/routes/template.ts @@ -1,6 +1,4 @@ import express, { Request, Response, Router } from "express"; -import { body } from "express-validator"; -import { validateRequest } from "../middlewares/validate-request"; import { TemplateService } from "../services/template"; import { genHash } from "../utils/gen-hash"; import { mixpanelTrack } from "../utils/mixpanel"; @@ -13,18 +11,12 @@ function templateRouter( const router = express.Router(); router.get("/templates", async (req: Request, res: Response) => { - const name = req.query.name as string; + const name = req.query.name as string | undefined; if (!name) { - mixpanelTrack("get_template_by_name", { - name, - status: 400, - }); + const allTemplates = await templateService.getAllTemplates(); - res.status(400); - return res.send( - `GET /templates-- Required query parameter "name" not provided.` - ); + return res.send(allTemplates) } let templateId: string = ""; diff --git a/api/src/services/template.ts b/api/src/services/template.ts index f086644..66535a7 100644 --- a/api/src/services/template.ts +++ b/api/src/services/template.ts @@ -26,22 +26,29 @@ class TemplateService { return newTemplate; } - async getTemplate(templateId: string) { - let foundTemplate: Template; + async getAllTemplates() { + const foundTemplates = await Template.query(); + + return foundTemplates.map(template => this.deserializeTemplateJson(template)) + } - foundTemplate = ( + async getTemplate(templateId: string) { + const foundTemplate = ( await Template.query().where({ id: templateId, }) )[0]; - let foundTemplateJson = foundTemplate?.json_string || null; - - if (typeof foundTemplateJson === "string") { - foundTemplateJson = JSON.parse(foundTemplateJson); - } + if (foundTemplate) { + return this.deserializeTemplateJson(foundTemplate) + } else { + return null; + } + } - return foundTemplateJson; + private deserializeTemplateJson(template: Template) { + let foundTemplateJson = template.json_string; + return JSON.parse(foundTemplateJson); } async getTemplateByCadenceASTHash(cadenceASTHash: string, network: string) {