From fa31e7f8db61efe085f7d8a317e6a8640ebb3f46 Mon Sep 17 00:00:00 2001 From: Flam3rboy <34555296+Flam3rboy@users.noreply.github.com> Date: Thu, 12 Aug 2021 20:18:05 +0200 Subject: :sparkles: gateway --- gateway/src/util/Config.ts | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 gateway/src/util/Config.ts (limited to 'gateway/src/util/Config.ts') diff --git a/gateway/src/util/Config.ts b/gateway/src/util/Config.ts new file mode 100644 index 00000000..9ceb8cd5 --- /dev/null +++ b/gateway/src/util/Config.ts @@ -0,0 +1,41 @@ +// @ts-nocheck +import { Config } from "@fosscord/server-util"; +import { getConfigPathForFile } from "@fosscord/server-util/dist/util/Config"; +import Ajv, { JSONSchemaType } from "ajv"; + +export interface DefaultOptions { + endpoint?: string; + security: { + jwtSecret: string; + }; +} + +const schema: JSONSchemaType = { + type: "object", + properties: { + endpoint: { + type: "string", + nullable: true, + }, + security: { + type: "object", + properties: { + jwtSecret: { + type: "string", + }, + }, + required: ["jwtSecret"], + }, + }, + required: ["security"], +}; + +const ajv = new Ajv(); +const validator = ajv.compile(schema); + +const configPath = getConfigPathForFile("fosscord", "gateway", ".json"); +export const gatewayConfig = new Config({ + path: configPath, + schemaValidator: validator, + schema: schema, +}); -- cgit 1.5.1