diff --git a/apps/web/Dockerfile b/apps/web/Dockerfile index 90a13ed..099a21e 100644 --- a/apps/web/Dockerfile +++ b/apps/web/Dockerfile @@ -8,6 +8,7 @@ RUN apk update # Set working directory WORKDIR /app RUN yarn global add turbo +RUN yarn global add dotenv-cli COPY . . RUN turbo prune --scope=web --docker @@ -26,7 +27,8 @@ RUN yarn install # Build the project COPY --from=builder /app/out/full/ . COPY turbo.json turbo.json -RUN yarn turbo run build --filter=web... +COPY .env .env +RUN yarn dotenv -e .env turbo run build --filter=web... FROM node:alpine AS runner WORKDIR /app diff --git a/apps/web/api/user/tools.ts b/apps/web/api/user/tools.ts index a82a62c..90c4f95 100644 --- a/apps/web/api/user/tools.ts +++ b/apps/web/api/user/tools.ts @@ -1,8 +1,13 @@ /* eslint-disable import/prefer-default-export */ +import { publicRuntimeConfigSchema } from 'config/schema/runtime-config'; +import getConfig from 'next/config'; import type { User } from './types'; +const { publicRuntimeConfig } = getConfig(); +const { USERS_SUPER } = publicRuntimeConfigSchema.parse(publicRuntimeConfig); + export function love(user: User) { - const superUsers: string[] = JSON.parse(process.env.USERS_SUPER || ''); + const superUsers: string[] = JSON.parse(USERS_SUPER); // eslint-disable-next-line no-param-reassign if (superUsers?.includes(user.username)) user.displayName += '🧡'; diff --git a/apps/web/config/schema/env.js b/apps/web/config/schema/env.js index 38775f6..90a51ce 100644 --- a/apps/web/config/schema/env.js +++ b/apps/web/config/schema/env.js @@ -8,6 +8,7 @@ const envSchema = z.object({ .transform((val) => !!val), PORT: z.string().optional(), BASE_PATH: z.string().optional().default(''), + USERS_SUPER: z.string().optional().default(''), URL_CRM_GRAPHQL_DIRECT: z.string(), URL_GET_USER_DIRECT: z.string(), URL_CORE_FINGAP_DIRECT: z.string(), diff --git a/apps/web/config/schema/runtime-config.js b/apps/web/config/schema/runtime-config.js index 0e77856..224fc7c 100644 --- a/apps/web/config/schema/runtime-config.js +++ b/apps/web/config/schema/runtime-config.js @@ -4,6 +4,7 @@ const envSchema = require('./env'); const publicRuntimeConfigSchema = envSchema.pick({ BASE_PATH: true, USE_DEV_COLORS: true, + USERS_SUPER: true, }); const serverRuntimeConfigSchema = envSchema.pick({