fix: getDefaultLanguage

This commit is contained in:
abdou6666 2024-12-30 16:46:22 +01:00
parent 8707b861b4
commit f14f5a7422
7 changed files with 44 additions and 12 deletions

View File

@ -73,7 +73,7 @@ export const config: Config = {
grant3rdPartyCookie: true, grant3rdPartyCookie: true,
onlyAllowOrigins: process.env.FRONTEND_ORIGIN onlyAllowOrigins: process.env.FRONTEND_ORIGIN
? process.env.FRONTEND_ORIGIN.split(',').map((origin) => origin.trim()) ? process.env.FRONTEND_ORIGIN.split(',').map((origin) => origin.trim())
: [undefined], // ['http://example.com', 'https://example.com'], : [], // ['http://example.com', 'https://example.com'],
}, },
session: { session: {
secret: process.env.SESSION_SECRET || 'changeme', secret: process.env.SESSION_SECRET || 'changeme',
@ -91,7 +91,9 @@ export const config: Config = {
emails: { emails: {
isEnabled: process.env.EMAIL_SMTP_ENABLED === 'true' || false, isEnabled: process.env.EMAIL_SMTP_ENABLED === 'true' || false,
smtp: { smtp: {
port: parseInt(process.env.EMAIL_SMTP_PORT) || 25, port: process.env.EMAIL_SMTP_PORT
? parseInt(process.env.EMAIL_SMTP_PORT)
: 25,
host: process.env.EMAIL_SMTP_HOST || 'localhost', host: process.env.EMAIL_SMTP_HOST || 'localhost',
ignoreTLS: false, ignoreTLS: false,
secure: process.env.EMAIL_SMTP_SECURE === 'true' || false, secure: process.env.EMAIL_SMTP_SECURE === 'true' || false,

View File

@ -7,7 +7,11 @@
*/ */
import { CACHE_MANAGER } from '@nestjs/cache-manager'; import { CACHE_MANAGER } from '@nestjs/cache-manager';
import { Inject, Injectable } from '@nestjs/common'; import {
Inject,
Injectable,
InternalServerErrorException,
} from '@nestjs/common';
import { Cache } from 'cache-manager'; import { Cache } from 'cache-manager';
import { import {
@ -53,7 +57,13 @@ export class LanguageService extends BaseService<Language> {
*/ */
@Cacheable(DEFAULT_LANGUAGE_CACHE_KEY) @Cacheable(DEFAULT_LANGUAGE_CACHE_KEY)
async getDefaultLanguage() { async getDefaultLanguage() {
return await this.findOne({ isDefault: true }); const defaultLanguage = await this.findOne({ isDefault: true });
if (!defaultLanguage) {
throw new InternalServerErrorException(
'Default language not found: getDefaultLanguage()',
);
}
return defaultLanguage;
} }
/** /**

View File

@ -28,6 +28,7 @@ import { I18nService } from '@/i18n/services/i18n.service';
import { LanguageService } from '@/i18n/services/language.service'; import { LanguageService } from '@/i18n/services/language.service';
import { LoggerService } from '@/logger/logger.service'; import { LoggerService } from '@/logger/logger.service';
import { getRandom } from '@/utils/helpers/safeRandom'; import { getRandom } from '@/utils/helpers/safeRandom';
import { installLanguageFixtures } from '@/utils/test/fixtures/language';
import { installUserFixtures } from '@/utils/test/fixtures/user'; import { installUserFixtures } from '@/utils/test/fixtures/user';
import { import {
closeInMongodConnection, closeInMongodConnection,
@ -43,7 +44,7 @@ import { RoleRepository } from '../repositories/role.repository';
import { UserRepository } from '../repositories/user.repository'; import { UserRepository } from '../repositories/user.repository';
import { InvitationModel } from '../schemas/invitation.schema'; import { InvitationModel } from '../schemas/invitation.schema';
import { PermissionModel } from '../schemas/permission.schema'; import { PermissionModel } from '../schemas/permission.schema';
import { RoleModel, Role } from '../schemas/role.schema'; import { Role, RoleModel } from '../schemas/role.schema';
import { UserModel } from '../schemas/user.schema'; import { UserModel } from '../schemas/user.schema';
import { InvitationService } from '../services/invitation.service'; import { InvitationService } from '../services/invitation.service';
import { PermissionService } from '../services/permission.service'; import { PermissionService } from '../services/permission.service';
@ -66,7 +67,10 @@ describe('AuthController', () => {
const module: TestingModule = await Test.createTestingModule({ const module: TestingModule = await Test.createTestingModule({
controllers: [LocalAuthController], controllers: [LocalAuthController],
imports: [ imports: [
rootMongooseTestModule(installUserFixtures), rootMongooseTestModule(async () => {
await installLanguageFixtures();
await installUserFixtures();
}),
MongooseModule.forFeature([ MongooseModule.forFeature([
UserModel, UserModel,
RoleModel, RoleModel,

View File

@ -25,6 +25,7 @@ import { I18nService } from '@/i18n/services/i18n.service';
import { LanguageService } from '@/i18n/services/language.service'; import { LanguageService } from '@/i18n/services/language.service';
import { LoggerService } from '@/logger/logger.service'; import { LoggerService } from '@/logger/logger.service';
import { IGNORED_TEST_FIELDS } from '@/utils/test/constants'; import { IGNORED_TEST_FIELDS } from '@/utils/test/constants';
import { installLanguageFixtures } from '@/utils/test/fixtures/language';
import { installPermissionFixtures } from '@/utils/test/fixtures/permission'; import { installPermissionFixtures } from '@/utils/test/fixtures/permission';
import { getUserFixtures, userFixtures } from '@/utils/test/fixtures/user'; import { getUserFixtures, userFixtures } from '@/utils/test/fixtures/user';
import { getPageQuery } from '@/utils/test/pagination'; import { getPageQuery } from '@/utils/test/pagination';
@ -45,8 +46,8 @@ import { RoleRepository } from '../repositories/role.repository';
import { UserRepository } from '../repositories/user.repository'; import { UserRepository } from '../repositories/user.repository';
import { InvitationModel } from '../schemas/invitation.schema'; import { InvitationModel } from '../schemas/invitation.schema';
import { PermissionModel } from '../schemas/permission.schema'; import { PermissionModel } from '../schemas/permission.schema';
import { RoleModel, Role } from '../schemas/role.schema'; import { Role, RoleModel } from '../schemas/role.schema';
import { UserModel, User } from '../schemas/user.schema'; import { User, UserModel } from '../schemas/user.schema';
import { PasswordResetService } from '../services/passwordReset.service'; import { PasswordResetService } from '../services/passwordReset.service';
import { PermissionService } from '../services/permission.service'; import { PermissionService } from '../services/permission.service';
import { RoleService } from '../services/role.service'; import { RoleService } from '../services/role.service';
@ -71,7 +72,10 @@ describe('UserController', () => {
const module: TestingModule = await Test.createTestingModule({ const module: TestingModule = await Test.createTestingModule({
controllers: [ReadWriteUserController], controllers: [ReadWriteUserController],
imports: [ imports: [
rootMongooseTestModule(installPermissionFixtures), rootMongooseTestModule(async () => {
await installLanguageFixtures();
await installPermissionFixtures();
}),
MongooseModule.forFeature([ MongooseModule.forFeature([
UserModel, UserModel,
RoleModel, RoleModel,

View File

@ -25,6 +25,7 @@ import {
installInvitationFixtures, installInvitationFixtures,
invitationsFixtures, invitationsFixtures,
} from '@/utils/test/fixtures/invitation'; } from '@/utils/test/fixtures/invitation';
import { installLanguageFixtures } from '@/utils/test/fixtures/language';
import { import {
closeInMongodConnection, closeInMongodConnection,
rootMongooseTestModule, rootMongooseTestModule,
@ -53,7 +54,10 @@ describe('InvitationService', () => {
beforeAll(async () => { beforeAll(async () => {
const module: TestingModule = await Test.createTestingModule({ const module: TestingModule = await Test.createTestingModule({
imports: [ imports: [
rootMongooseTestModule(installInvitationFixtures), rootMongooseTestModule(async () => {
await installLanguageFixtures();
await installInvitationFixtures();
}),
MongooseModule.forFeature([ MongooseModule.forFeature([
RoleModel, RoleModel,
PermissionModel, PermissionModel,

View File

@ -25,6 +25,7 @@ import { LanguageModel } from '@/i18n/schemas/language.schema';
import { I18nService } from '@/i18n/services/i18n.service'; import { I18nService } from '@/i18n/services/i18n.service';
import { LanguageService } from '@/i18n/services/language.service'; import { LanguageService } from '@/i18n/services/language.service';
import { LoggerService } from '@/logger/logger.service'; import { LoggerService } from '@/logger/logger.service';
import { installLanguageFixtures } from '@/utils/test/fixtures/language';
import { installUserFixtures, users } from '@/utils/test/fixtures/user'; import { installUserFixtures, users } from '@/utils/test/fixtures/user';
import { import {
closeInMongodConnection, closeInMongodConnection,
@ -49,7 +50,10 @@ describe('PasswordResetService', () => {
beforeAll(async () => { beforeAll(async () => {
const module: TestingModule = await Test.createTestingModule({ const module: TestingModule = await Test.createTestingModule({
imports: [ imports: [
rootMongooseTestModule(installUserFixtures), rootMongooseTestModule(async () => {
await installLanguageFixtures();
await installUserFixtures();
}),
MongooseModule.forFeature([ MongooseModule.forFeature([
UserModel, UserModel,
RoleModel, RoleModel,

View File

@ -22,6 +22,7 @@ import { LanguageModel } from '@/i18n/schemas/language.schema';
import { I18nService } from '@/i18n/services/i18n.service'; import { I18nService } from '@/i18n/services/i18n.service';
import { LanguageService } from '@/i18n/services/language.service'; import { LanguageService } from '@/i18n/services/language.service';
import { LoggerService } from '@/logger/logger.service'; import { LoggerService } from '@/logger/logger.service';
import { installLanguageFixtures } from '@/utils/test/fixtures/language';
import { installUserFixtures, users } from '@/utils/test/fixtures/user'; import { installUserFixtures, users } from '@/utils/test/fixtures/user';
import { import {
closeInMongodConnection, closeInMongodConnection,
@ -44,7 +45,10 @@ describe('ValidateAccountService', () => {
beforeAll(async () => { beforeAll(async () => {
const module: TestingModule = await Test.createTestingModule({ const module: TestingModule = await Test.createTestingModule({
imports: [ imports: [
rootMongooseTestModule(installUserFixtures), rootMongooseTestModule(async () => {
await installLanguageFixtures();
await installUserFixtures();
}),
MongooseModule.forFeature([ MongooseModule.forFeature([
UserModel, UserModel,
RoleModel, RoleModel,