From 092c4399933804069274854edd0d2b9bc1065263 Mon Sep 17 00:00:00 2001 From: ThatOneCalculator Date: Wed, 5 Jul 2023 18:44:29 -0700 Subject: [PATCH] refactor: :recycle: read patrons from local file for fallback instead of empty array --- packages/backend/src/server/api/endpoints/patrons.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/packages/backend/src/server/api/endpoints/patrons.ts b/packages/backend/src/server/api/endpoints/patrons.ts index be89c571f..a48afdcc2 100644 --- a/packages/backend/src/server/api/endpoints/patrons.ts +++ b/packages/backend/src/server/api/endpoints/patrons.ts @@ -1,5 +1,11 @@ import define from "../define.js"; import { redisClient } from "@/db/redis.js"; +import * as fs from "node:fs"; +import { fileURLToPath } from "node:url"; +import { dirname } from "node:path"; + +const _filename = fileURLToPath(import.meta.url); +const _dirname = dirname(_filename); export const meta = { tags: ["meta"], @@ -35,7 +41,10 @@ export default define(meta, paramDef, async (ps) => { ) .then((response) => response.json()) .catch(() => { - patrons = cachedPatrons ? JSON.parse(cachedPatrons) : []; + const staticPatrons = JSON.parse( + fs.readFileSync(`${_dirname}/../../../../../../patrons.json`, "utf-8"), + ); + patrons = cachedPatrons ? JSON.parse(cachedPatrons) : staticPatrons; }); await redisClient.set("patrons", JSON.stringify(patrons), "EX", 3600); }