diff --git a/nestjs-BE/server/src/base/base.service.ts b/nestjs-BE/server/src/base/base.service.ts index 720cd687..56aecfaf 100644 --- a/nestjs-BE/server/src/base/base.service.ts +++ b/nestjs-BE/server/src/base/base.service.ts @@ -72,9 +72,9 @@ export abstract class BaseService { message: 'Success', data: mergedData, }; + } else { + throw new HttpException('Not Found', HttpStatus.NOT_FOUND); } - - throw new HttpException('Not Found', HttpStatus.NOT_FOUND); } async update(key: string, updateData: T) { @@ -99,11 +99,12 @@ export abstract class BaseService { message: 'Success', data: updatedData.value, }; + } else { + return { + statusCode: HttpStatus.NOT_FOUND, + message: 'Not Found', + }; } - return { - statusCode: HttpStatus.NOT_FOUND, - message: 'Not Found', - }; } async remove(key: string) { diff --git a/nestjs-BE/server/src/profile-space/profile-space.service.ts b/nestjs-BE/server/src/profile-space/profile-space.service.ts index 17ac64b5..1adbdea2 100644 --- a/nestjs-BE/server/src/profile-space/profile-space.service.ts +++ b/nestjs-BE/server/src/profile-space/profile-space.service.ts @@ -1,4 +1,4 @@ -import { Injectable, HttpException, HttpStatus } from '@nestjs/common'; +import { Injectable, HttpStatus } from '@nestjs/common'; import { UpdateProfileSpaceDto } from './dto/update-profile-space.dto'; import { BaseService } from 'src/base/base.service'; import { PrismaServiceMySQL } from 'src/prisma/prisma.service'; @@ -93,7 +93,7 @@ export class ProfileSpaceService extends BaseService { async getUserSpaces( userUuid: string, profileUuid: string, - ): Promise { + ): Promise { const cacheUserSpaces = this.userCache.get(userUuid); if (cacheUserSpaces) return cacheUserSpaces; const profileResponse = await this.prisma['PROFILE_TB'].findUnique({ @@ -111,7 +111,7 @@ export class ProfileSpaceService extends BaseService { return storeUserSpaces; } - async getSpaceUsers(spaceUuid: string): Promise { + async getSpaceUsers(spaceUuid: string): Promise { const cacheSpaceProfiles = this.spaceCache.get(spaceUuid); if (cacheSpaceProfiles) return cacheSpaceProfiles; @@ -145,10 +145,16 @@ export class ProfileSpaceService extends BaseService { async getUsers(spaceUuid: string) { const users = await this.getSpaceUsers(spaceUuid); + const usersData = await Promise.all( + users.map(async (user) => { + return await this.profilesService.getDataFromCacheOrDB(user.user_id); + }), + ); + this.spaceCache.put(spaceUuid, usersData); return { statusCode: HttpStatus.OK, message: 'Success', - data: users, + data: usersData, }; } } diff --git a/nestjs-BE/server/src/spaces/dto/create-space.dto.ts b/nestjs-BE/server/src/spaces/dto/create-space.dto.ts index 209bc3b8..23317491 100644 --- a/nestjs-BE/server/src/spaces/dto/create-space.dto.ts +++ b/nestjs-BE/server/src/spaces/dto/create-space.dto.ts @@ -1,6 +1,9 @@ import { ApiProperty } from '@nestjs/swagger'; +import { IsNotEmpty, IsString } from 'class-validator'; export class CreateSpaceDto { + @IsString() + @IsNotEmpty() @ApiProperty({ example: 'Sample Space', description: 'Name of the space' }) name: string;