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,
onlyAllowOrigins: process.env.FRONTEND_ORIGIN
? process.env.FRONTEND_ORIGIN.split(',').map((origin) => origin.trim())
: [undefined], // ['http://example.com', 'https://example.com'],
: [], // ['http://example.com', 'https://example.com'],
},
session: {
secret: process.env.SESSION_SECRET || 'changeme',
@ -91,7 +91,9 @@ export const config: Config = {
emails: {
isEnabled: process.env.EMAIL_SMTP_ENABLED === 'true' || false,
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',
ignoreTLS: false,
secure: process.env.EMAIL_SMTP_SECURE === 'true' || false,

View File

@ -7,7 +7,11 @@
*/
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 {
@ -53,7 +57,13 @@ export class LanguageService extends BaseService<Language> {
*/
@Cacheable(DEFAULT_LANGUAGE_CACHE_KEY)
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 { LoggerService } from '@/logger/logger.service';
import { getRandom } from '@/utils/helpers/safeRandom';
import { installLanguageFixtures } from '@/utils/test/fixtures/language';
import { installUserFixtures } from '@/utils/test/fixtures/user';
import {
closeInMongodConnection,
@ -43,7 +44,7 @@ import { RoleRepository } from '../repositories/role.repository';
import { UserRepository } from '../repositories/user.repository';
import { InvitationModel } from '../schemas/invitation.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 { InvitationService } from '../services/invitation.service';
import { PermissionService } from '../services/permission.service';
@ -66,7 +67,10 @@ describe('AuthController', () => {
const module: TestingModule = await Test.createTestingModule({
controllers: [LocalAuthController],
imports: [
rootMongooseTestModule(installUserFixtures),
rootMongooseTestModule(async () => {
await installLanguageFixtures();
await installUserFixtures();
}),
MongooseModule.forFeature([
UserModel,
RoleModel,

View File

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

View File

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

View File

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

View File

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