mirror of https://github.com/immich-app/immich.git
refactor(server): access env via repository (#12987)
parent
12da250028
commit
36ee72cd87
@ -0,0 +1,14 @@
|
||||
import { VectorExtension } from 'src/interfaces/database.interface';
|
||||
|
||||
export const IConfigRepository = 'IConfigRepository';
|
||||
|
||||
export interface EnvData {
|
||||
database: {
|
||||
skipMigrations: boolean;
|
||||
vectorExtension: VectorExtension;
|
||||
};
|
||||
}
|
||||
|
||||
export interface IConfigRepository {
|
||||
getEnv(): EnvData;
|
||||
}
|
||||
@ -0,0 +1,15 @@
|
||||
import { Injectable } from '@nestjs/common';
|
||||
import { getVectorExtension } from 'src/database.config';
|
||||
import { EnvData, IConfigRepository } from 'src/interfaces/config.interface';
|
||||
|
||||
@Injectable()
|
||||
export class ConfigRepository implements IConfigRepository {
|
||||
getEnv(): EnvData {
|
||||
return {
|
||||
database: {
|
||||
skipMigrations: process.env.DB_SKIP_MIGRATIONS === 'true',
|
||||
vectorExtension: getVectorExtension(),
|
||||
},
|
||||
};
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,14 @@
|
||||
import { IConfigRepository } from 'src/interfaces/config.interface';
|
||||
import { DatabaseExtension } from 'src/interfaces/database.interface';
|
||||
import { Mocked, vitest } from 'vitest';
|
||||
|
||||
export const newConfigRepositoryMock = (): Mocked<IConfigRepository> => {
|
||||
return {
|
||||
getEnv: vitest.fn().mockReturnValue({
|
||||
database: {
|
||||
skipMigration: false,
|
||||
vectorExtension: DatabaseExtension.VECTORS,
|
||||
},
|
||||
}),
|
||||
};
|
||||
};
|
||||
Loading…
Reference in New Issue