mirror of
https://github.com/immich-app/immich.git
synced 2025-01-10 13:56:47 +01:00
3f2513a717
* chore: add typeorm commands to npm and set default database config values * feat: move to server side authentication tokens * fix: websocket should emit error and disconnect on error thrown by the server * refactor: rename cookie-auth-strategy to user-auth-strategy * feat: user tokens and API keys now use SHA256 hash for performance improvements * test: album e2e test remove unneeded module import * infra: truncate api key table as old keys will no longer work with new hash algorithm * fix(server): e2e tests (#1435) * fix: root module paths * chore: linting * chore: rename user-auth to strategy.ts and make validate return AuthUserDto * fix: we should always send HttpOnly for our auth cookies * chore: remove now unused crypto functions and jwt dependencies * fix: return the extra fields for AuthUserDto in auth service validate --------- Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
26 lines
1 KiB
TypeScript
26 lines
1 KiB
TypeScript
import { ConfigModuleOptions } from '@nestjs/config';
|
|
import Joi from 'joi';
|
|
|
|
const WHEN_DB_URL_SET = Joi.when('DB_URL', {
|
|
is: Joi.exist(),
|
|
then: Joi.string().optional(),
|
|
otherwise: Joi.string().required(),
|
|
});
|
|
|
|
export const immichAppConfig: ConfigModuleOptions = {
|
|
envFilePath: '.env',
|
|
isGlobal: true,
|
|
validationSchema: Joi.object({
|
|
NODE_ENV: Joi.string().required().valid('development', 'production', 'staging').default('development'),
|
|
DB_USERNAME: WHEN_DB_URL_SET,
|
|
DB_PASSWORD: WHEN_DB_URL_SET,
|
|
DB_DATABASE_NAME: WHEN_DB_URL_SET,
|
|
DB_URL: Joi.string().optional(),
|
|
DISABLE_REVERSE_GEOCODING: Joi.boolean().optional().valid(true, false).default(false),
|
|
REVERSE_GEOCODING_PRECISION: Joi.number().optional().valid(0, 1, 2, 3).default(3),
|
|
LOG_LEVEL: Joi.string().optional().valid('simple', 'verbose', 'debug', 'log', 'warn', 'error').default('log'),
|
|
MACHINE_LEARNING_PORT: Joi.number().optional(),
|
|
MICROSERVICES_PORT: Joi.number().optional(),
|
|
SERVER_PORT: Joi.number().optional(),
|
|
}),
|
|
};
|