Skip to content
Snippets Groups Projects
Commit 9dc8fd46 authored by Ole Langbehn's avatar Ole Langbehn
Browse files

deno fmt

parent 66dc3d44
No related branches found
No related tags found
No related merge requests found
import { logger, LogSeverity } from "./logging.ts"; import { logger, LogSeverity } from "./logging.ts";
import { DEFAULT_CACHE_ENABLED, DEFAULT_CACHE_TTL_MS_BETTERPLACE, DEFAULT_PORT, startServer } from "./server.ts"; import {
DEFAULT_CACHE_ENABLED,
DEFAULT_CACHE_TTL_MS_BETTERPLACE,
DEFAULT_PORT,
startServer,
} from "./server.ts";
const environment = Deno.env.get("ENVIRONMENT") || "development"; const environment = Deno.env.get("ENVIRONMENT") || "development";
...@@ -9,7 +14,7 @@ logger.setUpLogger( ...@@ -9,7 +14,7 @@ logger.setUpLogger(
); );
const required = <T>(name: string, t?: T, fallback?: T): T => { const required = <T>(name: string, t?: T, fallback?: T): T => {
if (!t && fallback === undefined) { if (t === undefined && fallback === undefined) {
throw Error(`Environment variable "${name}" is required`); throw Error(`Environment variable "${name}" is required`);
} else { } else {
return t !== undefined ? t : fallback!; return t !== undefined ? t : fallback!;
...@@ -19,11 +24,21 @@ const required = <T>(name: string, t?: T, fallback?: T): T => { ...@@ -19,11 +24,21 @@ const required = <T>(name: string, t?: T, fallback?: T): T => {
const serverConfigFromEnv = () => { const serverConfigFromEnv = () => {
const asNumber = (str?: string) => (str ? Number(str) : undefined); const asNumber = (str?: string) => (str ? Number(str) : undefined);
const asBoolean = (str?: string) => (str ? /^true$/i.test(str) : undefined); const asBoolean = (str?: string) => (str ? /^true$/i.test(str) : undefined);
logger.info(`fake ${Deno.env.get("FAKE")} ${asBoolean(Deno.env.get("FAKE"))}`) logger.info(
`fake ${Deno.env.get("FAKE")} ${asBoolean(Deno.env.get("FAKE"))}`,
);
return { return {
port: required("PORT", asNumber(Deno.env.get("PORT")), DEFAULT_PORT), port: required("PORT", asNumber(Deno.env.get("PORT")), DEFAULT_PORT),
cacheEnabled: required("CACHE_ENABLED", asBoolean(Deno.env.get("CACHE_ENABLED")), DEFAULT_CACHE_ENABLED), cacheEnabled: required(
cacheTtlMsBetterplace: required("CACHE_TTL_MS_BETTERPLACE", asNumber(Deno.env.get("CACHE_TTL_MS_BETTERPLACE")), DEFAULT_CACHE_TTL_MS_BETTERPLACE), "CACHE_ENABLED",
asBoolean(Deno.env.get("CACHE_ENABLED")),
DEFAULT_CACHE_ENABLED,
),
cacheTtlMsBetterplace: required(
"CACHE_TTL_MS_BETTERPLACE",
asNumber(Deno.env.get("CACHE_TTL_MS_BETTERPLACE")),
DEFAULT_CACHE_TTL_MS_BETTERPLACE,
),
fake: asBoolean(Deno.env.get("FAKE")) || false, // For local development. If set, the API returns dummy data fake: asBoolean(Deno.env.get("FAKE")) || false, // For local development. If set, the API returns dummy data
}; };
}; };
......
...@@ -87,13 +87,19 @@ const createResolvers = (_config: ServerConfig) => ({ ...@@ -87,13 +87,19 @@ const createResolvers = (_config: ServerConfig) => ({
_parent: any, _parent: any,
parameters: ProjectsParameters = {}, parameters: ProjectsParameters = {},
context: GraphQLContext, context: GraphQLContext,
) => _config.fake ? Promise.resolve({totalResults: 0, data: []}) : fetchProjects(parameters, context.language), ) =>
_config.fake
? Promise.resolve({ totalResults: 0, data: [] })
: fetchProjects(parameters, context.language),
project: ( project: (
// deno-lint-ignore no-explicit-any // deno-lint-ignore no-explicit-any
_parent: any, _parent: any,
parameters: ProjectParameters, parameters: ProjectParameters,
context: GraphQLContext, context: GraphQLContext,
) => _config.fake ? Promise.resolve({}) : fetchProject(parameters, context.language), ) =>
_config.fake
? Promise.resolve({})
: fetchProject(parameters, context.language),
}, },
Project: { Project: {
categories: (args: Project) => fetchCategories(args.id), categories: (args: Project) => fetchCategories(args.id),
...@@ -101,7 +107,8 @@ const createResolvers = (_config: ServerConfig) => ({ ...@@ -101,7 +107,8 @@ const createResolvers = (_config: ServerConfig) => ({
_config.fake ? Promise.resolve([]) : fetchNews(args, parameters), _config.fake ? Promise.resolve([]) : fetchNews(args, parameters),
}, },
Initiative: { Initiative: {
url: (args: Initiative) => _config.fake ? Promise.resolve(undefined) : fetchInitiativeUrl(args), url: (args: Initiative) =>
_config.fake ? Promise.resolve(undefined) : fetchInitiativeUrl(args),
}, },
}); });
...@@ -182,8 +189,10 @@ export const startServer = (config: ServerConfig): Promise<void> => { ...@@ -182,8 +189,10 @@ export const startServer = (config: ServerConfig): Promise<void> => {
hostname === "0.0.0.0" ? "localhost" : hostname hostname === "0.0.0.0" ? "localhost" : hostname
}:${port}/graphql`, }:${port}/graphql`,
); );
if(config.fake) { if (config.fake) {
logger.info(`Server is serving fake data due to FAKE env var set to true`) logger.info(
`Server is serving fake data due to FAKE env var set to true`,
);
} }
}, },
}); });
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment