From d92ed4a0c22a8a7cf94c776b9b31fa5a63429156 Mon Sep 17 00:00:00 2001 From: Jinn Date: Sun, 31 Jul 2022 20:29:12 +0900 Subject: [PATCH 1/4] =?UTF-8?q?=EC=84=9C=EB=B8=8C=ED=83=80=EC=9D=B4?= =?UTF-8?q?=ED=8B=80=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/common/consts/enum.ts | 10 +++------- src/common/dtos/Category.dto.ts | 8 ++++++++ src/models/category.model.ts | 5 +++++ 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/src/common/consts/enum.ts b/src/common/consts/enum.ts index 543d843..7860ec1 100644 --- a/src/common/consts/enum.ts +++ b/src/common/consts/enum.ts @@ -25,10 +25,11 @@ enum CATEGORY_TYPE { EXHIBITION = 'EXHIBITION', //박람회 전시회 AMUSEMENT = 'AMUSEMENT', // 놀이공원 DEPARTMENT_STORE = 'SHOP', //백화점 - // AMUSEMENT, - // HAN_RIVER_PRAk, } + enum FIND_ROOM_FILTER_TYPE { + ALL = 'ALL', + FAVORITE = 'FAVORITE', UNIVERSITY = 'UNIVERSITY', //대학교 CONCERT = 'CONCERT', //공연장 PARK = 'PARK', //한강공원 @@ -36,11 +37,6 @@ enum FIND_ROOM_FILTER_TYPE { EXHIBITION = 'EXHIBITION', //박람회 전시회 AMUSEMENT = 'AMUSEMENT', // 놀이공원 DEPARTMENT_STORE = 'SHOP', //백화점 - - ALL = 'ALL', - FAVORITE = 'FAVORITE', - // AMUSEMENT, - // HAN_RIVER_PRAk, } enum EVENT_TYPE { diff --git a/src/common/dtos/Category.dto.ts b/src/common/dtos/Category.dto.ts index 2a0ffce..1d0fd4a 100644 --- a/src/common/dtos/Category.dto.ts +++ b/src/common/dtos/Category.dto.ts @@ -34,4 +34,12 @@ export class CategoryDto { @IsNumber() @Expose() priority: Number; + + @ApiProperty({ + description: '서브타이틀', + type: String, + }) + @IsString() + @Expose() + subtitle: string; } diff --git a/src/models/category.model.ts b/src/models/category.model.ts index c770740..2c48041 100644 --- a/src/models/category.model.ts +++ b/src/models/category.model.ts @@ -46,5 +46,10 @@ export class Category { @IsNumber() @Expose() priority: Number; + + @Prop({ type: Number, required: true, default: '' }) + @IsNumber() + @Expose() + subtitle: Number; } export const CategorySchema = SchemaFactory.createForClass(Category); From c570ddbfcef5b6239fe2055f6faaa340a06abf20 Mon Sep 17 00:00:00 2001 From: Jinn Date: Sun, 31 Jul 2022 20:34:58 +0900 Subject: [PATCH 2/4] =?UTF-8?q?=EC=84=9C=EB=B8=8C=ED=83=80=EC=9D=B4?= =?UTF-8?q?=ED=8B=80=20=EC=B6=94=EA=B0=80=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/repositories/category.repository.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/repositories/category.repository.ts b/src/repositories/category.repository.ts index e2cc992..6179363 100644 --- a/src/repositories/category.repository.ts +++ b/src/repositories/category.repository.ts @@ -26,6 +26,7 @@ export class CategoryRepository { id: 1, name: 1, imageUrl: 1, + subtitle: 1, }) .lean() || {} } From 42e12ec88b963afb2e2c567fc0c8a07dc5751459 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=8B=E1=85=B5=E1=84=8E=E1=85=A1=E1=86=AB=E1=84=8C?= =?UTF-8?q?=E1=85=B5=E1=86=AB?= Date: Sun, 31 Jul 2022 23:32:52 +0900 Subject: [PATCH 3/4] =?UTF-8?q?:hammer:=20fix(alarm)=20:=20=EC=9E=85?= =?UTF-8?q?=EC=9E=A5=EC=9D=B8=EC=9B=90=20=EC=A0=9C=ED=95=9C=20=EC=97=86?= =?UTF-8?q?=EC=95=A0=EA=B8=B0,=20=EC=95=8C=EB=A6=BC=20400=EB=AA=85?= =?UTF-8?q?=EC=94=A9=20=EC=A7=A4=EB=9D=BC=EB=B3=B4=EB=82=B4=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/apis/alarm/pushAlarm.processor.ts | 41 +++++------ src/apis/rooms/rooms.service.ts | 82 +++++++++++----------- src/common/funcs/chunkArray.ts | 5 ++ src/repositories/room.repository.ts | 98 +++++++++++++-------------- 4 files changed, 117 insertions(+), 109 deletions(-) create mode 100644 src/common/funcs/chunkArray.ts diff --git a/src/apis/alarm/pushAlarm.processor.ts b/src/apis/alarm/pushAlarm.processor.ts index f6022ad..dd0454b 100644 --- a/src/apis/alarm/pushAlarm.processor.ts +++ b/src/apis/alarm/pushAlarm.processor.ts @@ -5,6 +5,7 @@ import { instanceToPlain, plainToInstance } from 'class-transformer'; import { PUSH_ALARM, PUSH_ALARM_TYPE } from 'src/common/consts/enum'; import { RoomIdDto } from 'src/common/dtos/RoomId.dto'; import { UserIdDto } from 'src/common/dtos/UserId.dto'; +import { chunksArray } from 'src/common/funcs/chunkArray'; import { FcmService } from 'src/fcm/fcm.service'; import { FCM_ADMIN } from 'src/fcm/fcmAdminProvider'; import { RoomRepository } from 'src/repositories/room.repository'; @@ -19,27 +20,27 @@ export class PushAlarmProcessor { constructor( private fcmService: FcmService, private userRepository: UserRepository, - private roomRepository: RoomRepository, + private roomRepository: RoomRepository ) {} private async sendPushAlarm(sendPushAlarmDto: SendPushAlarmSubDto) { const findUserFcmToken = await this.userRepository.findUserFcmToken( - sendPushAlarmDto.receivers ? sendPushAlarmDto.receivers : [], + sendPushAlarmDto.receivers ? sendPushAlarmDto.receivers : [] ); console.log(findUserFcmToken); const TokenArray = findUserFcmToken - .filter((e) => { + .filter(e => { const checkAppAlarmOn = e.appAlarm; const checkFCMTokenValid = e.FCMToken.length === 0 ? false : true; return checkAppAlarmOn && checkFCMTokenValid; }) - .map((e) => e.FCMToken); + .map(e => e.FCMToken); console.log(TokenArray); if (TokenArray.length) { const result = await this.fcmService.sendNotification( TokenArray, - sendPushAlarmDto, + sendPushAlarmDto ); console.log(result); } @@ -77,11 +78,9 @@ export class PushAlarmProcessor { const [room, userInfo] = await Promise.all([ this.roomRepository.getUserAlarmInfoInRoom( - new RoomIdDto(chatAlarmSubDto.roomId), - ), - this.userRepository.findOneByUserId( - new UserIdDto(chatAlarmSubDto.sender), + new RoomIdDto(chatAlarmSubDto.roomId) ), + this.userRepository.findOneByUserId(new UserIdDto(chatAlarmSubDto.sender)) ]); if (!room) { @@ -104,13 +103,13 @@ export class PushAlarmProcessor { : []; const roomNameAndUserAlarmInfoArray = { userFcmInfoList, - roomName: room.name, + roomName: room.name }; const TokenArray = roomNameAndUserAlarmInfoArray.userFcmInfoList - .filter((e) => { - const checkIfIBlockUser = userInfo.opBlockedUsers.find((user) => - user._id.equals(e._id), + .filter(e => { + const checkIfIBlockUser = userInfo.opBlockedUsers.find(user => + user._id.equals(e._id) ) ? false : true; @@ -128,7 +127,7 @@ export class PushAlarmProcessor { checkFCMTokenValid ); }) - .map((e) => e.FCMToken); + .map(e => e.FCMToken); const sendPushAlarmObj: SendPushAlarmPubDto = { nickname: chatAlarmSubDto.nickname, @@ -136,15 +135,19 @@ export class PushAlarmProcessor { pushAlarmType: PUSH_ALARM_TYPE.CHAT, chatId: chatAlarmSubDto.chatId, roomId: chatAlarmSubDto.roomId.toString(), - roomName: roomNameAndUserAlarmInfoArray.roomName, + roomName: roomNameAndUserAlarmInfoArray.roomName }; if (TokenArray.length) { - const result = await this.fcmService.sendNotification( - TokenArray, - plainToInstance(SendPushAlarmSubDto, sendPushAlarmObj), + const chunckedArray = chunksArray(TokenArray, 400); + await Promise.all( + [...chunckedArray].map(() => { + return this.fcmService.sendNotification( + TokenArray, + plainToInstance(SendPushAlarmSubDto, sendPushAlarmObj) + ); + }) ); - console.log(result); } } diff --git a/src/apis/rooms/rooms.service.ts b/src/apis/rooms/rooms.service.ts index 6d3fecb..4a57eef 100644 --- a/src/apis/rooms/rooms.service.ts +++ b/src/apis/rooms/rooms.service.ts @@ -2,7 +2,7 @@ import { BadRequestException, Injectable, InternalServerErrorException, - Type, + Type } from '@nestjs/common'; import { plainToInstance } from 'class-transformer'; import { ObjectId, Types } from 'mongoose'; @@ -34,15 +34,15 @@ export class RoomsService { constructor( private readonly roomRepository: RoomRepository, private readonly userRepository: UserRepository, - private readonly chatService: ChatService, + private readonly chatService: ChatService ) {} private filterRemoveBlockedUserFromUserList( userList: UserProfileDto[], - blockedUserDto: BlockedUserDto, + blockedUserDto: BlockedUserDto ) { return userList.filter( - (user) => !blockedUserDto.blockedUsers.find((e) => e.equals(user._id)), + user => !blockedUserDto.blockedUsers.find(e => e.equals(user._id)) ); } @@ -72,11 +72,11 @@ export class RoomsService { // @returnValueToDto(ResFindRoomDto) async findRoom( findRoomDto: FindRoomDto, - userId: UserIdDto, + userId: UserIdDto ): Promise { // const isCATEGORY_TYPE = Object.values(CATEGORY_TYPE).includes( - findRoomDto.filter, + findRoomDto.filter ); const user = await this.userRepository.findOneByUserId(userId); if (!user) { @@ -86,7 +86,7 @@ export class RoomsService { if (isCATEGORY_TYPE) { // 카테고리 타입인 경우 rooms = await this.roomRepository.findRoomsByCoordinatesWithFilter( - findRoomDto, + findRoomDto ); } else if (findRoomDto.filter === FIND_ROOM_FILTER_TYPE.ALL) { //전체 찾기 인경우 @@ -95,13 +95,13 @@ export class RoomsService { // 내가 즐겨 찾기 한경우 rooms = await this.roomRepository.findFavoirteRoomsByCoordinates( findRoomDto, - user.favoriteRoomList, + user.favoriteRoomList ); } const result = rooms.map((element: Room) => { - const iFavorite = user.favoriteRoomList.find((room) => - room._id.equals(element._id), + const iFavorite = user.favoriteRoomList.find(room => + room._id.equals(element._id) ) ? true : false; @@ -121,7 +121,7 @@ export class RoomsService { // return new ResFindRoomDto(room, iFavorite, iJoin); // }); return plainToInstance(ResFindRoomDto, result, { - excludeExtraneousValues: true, + excludeExtraneousValues: true }) as unknown as Array; } @@ -136,7 +136,7 @@ export class RoomsService { async addUserToRoom( roomIdDto: RoomIdDto, userIdDto: UserIdDto, - blockUserListDto: BlockedUserDto, + blockUserListDto: BlockedUserDto ): Promise { // 이전 룸에서 빼주는 로직 추가해야함 const user = await this.userRepository.findOneByUserId(userIdDto); @@ -153,8 +153,8 @@ export class RoomsService { const myRoomId = user.myRoom._id; if (roomIdDto.roomId.equals(myRoomId)) { // 룸이 같을경우 룸의 정보를 리턴 - const iFavorite = user.favoriteRoomList.find((room) => - room._id.equals(myRoomId), + const iFavorite = user.favoriteRoomList.find(room => + room._id.equals(myRoomId) ) ? true : false; @@ -163,40 +163,40 @@ export class RoomsService { // 차단 유저아웃 room.userList = this.filterRemoveBlockedUserFromUserList( room.userList, - blockUserListDto, + blockUserListDto ); const result = { ...room, iFavorite, iAlarm: user.chatAlarm }; return plainToInstance(ResFindOneRoomDto, result, { - excludeExtraneousValues: true, + excludeExtraneousValues: true }); } else { // 다른 룸일 경우 다른룸에서 해당 유저를 빼줌 // 300명인지 체크하는 로직추가 - if (room.userCount >= 300) { - throw new BadRequestException('유저수가 300명이 넘었습니다.'); - } + // if (room.userCount >= 300) { + // throw new BadRequestException('유저수가 300명이 넘었습니다.'); + // } await this.roomRepository.pullUserFromRoom( new RoomIdDto(user.myRoom._id), - userIdDto, + userIdDto ); } } // 300명인지 체크하는 로직추가 - if (room.userCount >= 300) { - throw new BadRequestException('유저수가 300명이 넘었습니다.'); - } + // if (room.userCount >= 300) { + // throw new BadRequestException('유저수가 300명이 넘었습니다.'); + // } // 룸에 새로 들어갈때,,,? await this.userRepository.setMyRoom(userIdDto, roomIdDto); await this.userRepository.turnOnChatAlarm(userIdDto); const newRoom = await this.roomRepository.addUserToRoom( roomIdDto, - userIdDto, + userIdDto ); //check - const iFavorite = user.favoriteRoomList.find((room) => - room._id.equals(roomIdDto.roomId), + const iFavorite = user.favoriteRoomList.find(room => + room._id.equals(roomIdDto.roomId) ) ? true : false; @@ -204,25 +204,25 @@ export class RoomsService { // 차단 유저아웃 newRoom.userList = this.filterRemoveBlockedUserFromUserList( newRoom.userList, - blockUserListDto, + blockUserListDto ); const result = { ...newRoom, iFavorite, iAlarm: true }; // console.log(result); return plainToInstance(ResFindOneRoomDto, result, { - excludeExtraneousValues: true, + excludeExtraneousValues: true }); } @returnValueToDto(LeftRoomResultResDto) async pullUserFromRoom( roomIdDto: RoomIdDto, - userIdDto: UserIdDto, + userIdDto: UserIdDto ): Promise { await this.userRepository.setMyRoom(userIdDto, null); const result = await this.roomRepository.pullUserFromRoom( roomIdDto, - userIdDto, + userIdDto ); return { leftSuccess: result ? true : false }; } @@ -236,14 +236,14 @@ export class RoomsService { async toggleRoomToUserFavoriteList( roomIdDto: RoomIdDto, - userIdDto: UserIdDto, + userIdDto: UserIdDto ): Promise { const user = await this.userRepository.findOneByUserId(userIdDto); if (!user) { throw new InternalServerErrorException('잘못된 접근'); } - const isFavoritRoom = user.favoriteRoomList.find((room) => - roomIdDto.roomId.equals(room._id), + const isFavoritRoom = user.favoriteRoomList.find(room => + roomIdDto.roomId.equals(room._id) ); console.log('asdfasdf', isFavoritRoom); let iFavoritRoom: boolean; @@ -251,7 +251,7 @@ export class RoomsService { //내가 이미 즐겨찾기해놨으면 iFavoritRoom = await this.userRepository.pullRoomToFavoriteList( userIdDto, - roomIdDto, + roomIdDto ); } else { // 즐겨찾기 안해놨으면 @@ -260,11 +260,11 @@ export class RoomsService { } iFavoritRoom = await this.userRepository.pushRoomToFavoriteList( userIdDto, - roomIdDto, + roomIdDto ); } return plainToInstance(ResFavoriteToggleDto, { - iFavoritRoom: iFavoritRoom, + iFavoritRoom: iFavoritRoom }); } @@ -293,7 +293,7 @@ export class RoomsService { if (recentChatInfo.lastChat) { const recentChatSenderId = recentChatInfo.lastChat.sender._id; let iBlock = false; - if (user.iBlockUsers.find((e) => e._id.equals(recentChatSenderId))) { + if (user.iBlockUsers.find(e => e._id.equals(recentChatSenderId))) { iBlock = true; } @@ -314,7 +314,7 @@ export class RoomsService { const isChatAlarmOn = await this.userRepository.toggleChatAlarm(userId); return plainToInstance(ResChatAlarmToggleDto, { - isChatAlarmOn: isChatAlarmOn, + isChatAlarmOn: isChatAlarmOn }); } @@ -327,7 +327,7 @@ export class RoomsService { @returnValueToDto(RoomUserListDto) async findRoomInUserList( roomIdDto: RoomIdDto, - user: User, + user: User // userIdDto: UserIdDto, // blockUserListDto: BlockedUserDto, ) { @@ -336,14 +336,14 @@ export class RoomsService { } if (!user.myRoom._id.equals(roomIdDto.roomId)) { throw new BadRequestException( - '유저가 들어간 방정보와 파라미터가 일치하지 않음', + '유저가 들어간 방정보와 파라미터가 일치하지 않음' ); } const room = await this.roomRepository.findOneByRoomId(roomIdDto); const filteredUserList = this.filterRemoveBlockedUserFromUserList( room.userList, - user.blockedUserDto, + user.blockedUserDto ); return { userList: filteredUserList, userCount: filteredUserList.length }; } diff --git a/src/common/funcs/chunkArray.ts b/src/common/funcs/chunkArray.ts new file mode 100644 index 0000000..9e84bd5 --- /dev/null +++ b/src/common/funcs/chunkArray.ts @@ -0,0 +1,5 @@ +export function* chunksArray(arr: T[], n: number): Generator { + for (let i = 0; i < arr.length; i += n) { + yield arr.slice(i, i + n); + } +} diff --git a/src/repositories/room.repository.ts b/src/repositories/room.repository.ts index befd6c2..887722c 100644 --- a/src/repositories/room.repository.ts +++ b/src/repositories/room.repository.ts @@ -10,13 +10,13 @@ import { FindRoomDto } from 'src/apis/rooms/dto/find-room.dto'; import { UserProfileSelect } from 'src/common/dtos/UserProfile.dto'; import { UserFcmInfoDto, - userFcmInfoSelect, + userFcmInfoSelect } from 'src/apis/alarm/dto/userFcmInfo.dto'; @Injectable() export class RoomRepository { constructor( - @InjectModel(Room.name) private readonly roomModel: Model, + @InjectModel(Room.name) private readonly roomModel: Model ) {} async isRoomExist(roomIdDto: RoomIdDto): Promise { @@ -33,8 +33,8 @@ export class RoomRepository { ...createRoomDto, geometry: { type: 'Point', - coordinates: [createRoomDto.lng, createRoomDto.lat], - }, + coordinates: [createRoomDto.lng, createRoomDto.lat] + } }); return await room.save(); } @@ -46,12 +46,12 @@ export class RoomRepository { spherical: true, near: { type: 'Point', - coordinates: [Number(findRoomDto.lng), Number(findRoomDto.lat)], + coordinates: [Number(findRoomDto.lng), Number(findRoomDto.lat)] }, maxDistance: findRoomDto.radius, distanceField: 'distance', - key: 'geometry', - }, + key: 'geometry' + } }, { $project: { @@ -61,9 +61,9 @@ export class RoomRepository { userCount: { $size: '$userList' }, radius: 1, distance: 1, - geometry: 1, - }, - }, + geometry: 1 + } + } // 몽고디비 디폴트 100개임 최대 100개를 뽑아올수있는데 여기서 조정을 해야함 // { $limit: 1 }, ]); @@ -72,7 +72,7 @@ export class RoomRepository { } async findRoomsByCoordinatesWithFilter( - findRoomDto: FindRoomDto, + findRoomDto: FindRoomDto ): Promise { const room = await this.roomModel.aggregate([ { @@ -80,19 +80,19 @@ export class RoomRepository { spherical: true, near: { type: 'Point', - coordinates: [Number(findRoomDto.lng), Number(findRoomDto.lat)], + coordinates: [Number(findRoomDto.lng), Number(findRoomDto.lat)] }, maxDistance: findRoomDto.radius, // 거리 자동계산해서 distance 필드로 리턴 distanceField: 'distance', - key: 'geometry', - }, + key: 'geometry' + } }, { $match: { - category: findRoomDto.filter, - }, + category: findRoomDto.filter + } }, { $project: { @@ -102,9 +102,9 @@ export class RoomRepository { userCount: { $size: '$userList' }, radius: 1, distance: 1, - geometry: 1, - }, - }, + geometry: 1 + } + } // 몽고디비 디폴트 100개임 최대 100개를 뽑아올수있는데 여기서 조정을 해야함 // { $limit: 1 }, ]); @@ -114,7 +114,7 @@ export class RoomRepository { async findFavoirteRoomsByCoordinates( findRoomDto: FindRoomDto, - listOfMyFavorite: Room[], + listOfMyFavorite: Room[] ): Promise { const room = await this.roomModel.aggregate([ { @@ -122,18 +122,18 @@ export class RoomRepository { spherical: true, near: { type: 'Point', - coordinates: [Number(findRoomDto.lng), Number(findRoomDto.lat)], + coordinates: [Number(findRoomDto.lng), Number(findRoomDto.lat)] }, maxDistance: findRoomDto.radius, // 거리 자동계산해서 distance 필드로 리턴 distanceField: 'distance', - key: 'geometry', - }, + key: 'geometry' + } }, { $match: { - _id: { $in: listOfMyFavorite }, - }, + _id: { $in: listOfMyFavorite } + } }, { $project: { @@ -143,9 +143,9 @@ export class RoomRepository { userCount: { $size: '$userList' }, radius: 1, distance: 1, - geometry: 1, - }, - }, + geometry: 1 + } + } // 몽고디비 디폴트 100개임 최대 100개를 뽑아올수있는데 여기서 조정을 해야함 // { $limit: 1 }, ]); @@ -154,24 +154,24 @@ export class RoomRepository { } async addUserToRoom( roomIdDto: RoomIdDto, - userIdDto: UserIdDto, + userIdDto: UserIdDto ): Promise { console.log('repo', JSON.stringify(roomIdDto)); const room = await this.roomModel .findOneAndUpdate( { - _id: roomIdDto.roomId, + _id: roomIdDto.roomId }, { $addToSet: { - userList: userIdDto.userId, - }, + userList: userIdDto.userId + } }, - { new: true }, + { new: true } ) .populate({ path: 'userList', - select: UserProfileSelect, + select: UserProfileSelect }) .lean({ defaults: true }); if (!room) { @@ -183,20 +183,20 @@ export class RoomRepository { async pullUserFromRoom( roomIdDto: RoomIdDto, - userIdDto: UserIdDto, + userIdDto: UserIdDto ): Promise { console.log(roomIdDto); const room = await this.roomModel .findOneAndUpdate( { - _id: roomIdDto.roomId, + _id: roomIdDto.roomId }, { $pull: { - userList: userIdDto.userId, - }, + userList: userIdDto.userId + } }, - { new: true }, + { new: true } ) .lean({ defaults: true }); @@ -210,11 +210,11 @@ export class RoomRepository { async findOneByRoomId(roomIdDto: RoomIdDto): Promise { const room = await this.roomModel .findOne({ - _id: roomIdDto.roomId, + _id: roomIdDto.roomId }) .populate({ path: 'userList', - select: UserProfileSelect, + select: UserProfileSelect }) .lean({ defaults: true }); @@ -234,17 +234,17 @@ export class RoomRepository { name: 1, category: 1, geometry: 1, - userCount: { $size: '$userList' }, - }, + userCount: { $size: '$userList' } + } }, { $sort: { - userCount: -1, - }, + userCount: -1 + } }, { - $limit: 10, - }, + $limit: 10 + } ]); return rooms; @@ -253,11 +253,11 @@ export class RoomRepository { async getUserAlarmInfoInRoom(roomIdDto: RoomIdDto): Promise { const room = await this.roomModel .findOne({ - _id: roomIdDto.roomId, + _id: roomIdDto.roomId }) .populate({ path: 'userList', - select: userFcmInfoSelect, + select: userFcmInfoSelect }) .lean({ defaults: true }); From ec7035bc0386c9a5d30d3905950855ad666ab57b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=8B=E1=85=B5=E1=84=8E=E1=85=A1=E1=86=AB=E1=84=8C?= =?UTF-8?q?=E1=85=B5=E1=86=AB?= Date: Sun, 31 Jul 2022 23:38:32 +0900 Subject: [PATCH 4/4] =?UTF-8?q?=EC=B9=B4=ED=85=8C=EA=B3=A0=EB=A6=AC=20?= =?UTF-8?q?=ED=83=80=EC=9E=85=20=EC=9D=BC=EB=8B=A8=201.0.6=20=EB=B2=84?= =?UTF-8?q?=EC=A0=84=EC=9C=BC=EB=A1=9C=20=EB=B3=B5=EA=B5=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/common/consts/enum.ts | 70 +++++++++++++++++++++------------------ 1 file changed, 37 insertions(+), 33 deletions(-) diff --git a/src/common/consts/enum.ts b/src/common/consts/enum.ts index 7860ec1..0d499cd 100644 --- a/src/common/consts/enum.ts +++ b/src/common/consts/enum.ts @@ -1,60 +1,64 @@ function getEnumToArray(enumType) { return Object.keys(enumType) - .filter((value) => isNaN(Number(value)) === false) - .map((key) => `${key} : ${enumType[key]}`); + .filter(value => isNaN(Number(value)) === false) + .map(key => `${key} : ${enumType[key]}`); } function getEnumTypeValues(enumType) { return Object.keys(enumType) - .map((key) => enumType[key]) - .filter((value) => typeof value === 'number'); + .map(key => enumType[key]) + .filter(value => typeof value === 'number'); } enum STATUS_TYPE { NORMAL = 'normal', FORBIDDEN = 'forbidden', - SIGNOUT = 'signOut', + SIGNOUT = 'signOut' } //카테고리 타입 한글로 enum CATEGORY_TYPE { UNIVERSITY = 'UNIVERSITY', //대학교 - CONCERT = 'CONCERT', //공연장 - PARK = 'PARK', //한강공원 + CONCERTHALL = 'CONCERTHALL', //공연장 + HAN_RIVER_PRAK = 'HANRIVERPRAK', //한강공원 STADIUM = 'STADIUM', // 경기장 EXHIBITION = 'EXHIBITION', //박람회 전시회 - AMUSEMENT = 'AMUSEMENT', // 놀이공원 - DEPARTMENT_STORE = 'SHOP', //백화점 + AMUSEMENT_PARK = 'AMUSEMENTPARK', // 놀이공원 + DEPARTMENT_STORE = 'DEPARTMENTSTORE' //백화점 + // AMUSEMENT_PARK, + // HAN_RIVER_PRAk, } - enum FIND_ROOM_FILTER_TYPE { - ALL = 'ALL', - FAVORITE = 'FAVORITE', UNIVERSITY = 'UNIVERSITY', //대학교 - CONCERT = 'CONCERT', //공연장 - PARK = 'PARK', //한강공원 + CONCERTHALL = 'CONCERTHALL', //공연장 + HAN_RIVER_PRAK = 'HANRIVERPRAK', //한강공원 STADIUM = 'STADIUM', // 경기장 EXHIBITION = 'EXHIBITION', //박람회 전시회 - AMUSEMENT = 'AMUSEMENT', // 놀이공원 - DEPARTMENT_STORE = 'SHOP', //백화점 + AMUSEMENT_PARK = 'AMUSEMENTPARK', // 놀이공원 + DEPARTMENT_STORE = 'DEPARTMENTSTORE', //백화점 + + ALL = 'ALL', + FAVORITE = 'FAVORITE' + // AMUSEMENT_PARK, + // HAN_RIVER_PRAk, } enum EVENT_TYPE { CHAT = 1, QUESTION, NOTI, - AVOCADO, + AVOCADO } enum SEX_TYPE { MALE = 1, - FEMALE, + FEMALE } enum USER_TYPE { OPENING = 1, UN_OPENING, - STUDENT, + STUDENT } enum REQ_STATE_TYPE { @@ -62,44 +66,44 @@ enum REQ_STATE_TYPE { RETURN, CHECKING, APPROVAL, - CANCEL, + CANCEL } enum LOGIN_ERROR_CODE { NOT_EXIST_ID, NOT_MATCH_AUTH_DATA, LOGIN_LOCK, - LOGIN_UN_ACTIVE, + LOGIN_UN_ACTIVE } enum TOKEN_ERROR_CODE { NOT_EXIST_TOKEN, TOKEN_EXPIRED, NOT_VALID_TOKEN, - NOT_ACCOUNT, + NOT_ACCOUNT } enum ACCOUNT_TYPE { USER = 1, - OPERATOR, + OPERATOR } enum CONTENT_TYPE { COMMENT = 1, VIEW, SCRAP, - LIKE, + LIKE } enum SORT_TYPE { POPULARITY = 1, - LATEST, + LATEST } enum NOTIFICATION_POST_TYPE { USER_NOTI = 1, OPERATOR_WEB_NOTI, - OPERATOR_WEB_MAIN, + OPERATOR_WEB_MAIN } //카테고리 타입 한글로 @@ -107,21 +111,21 @@ enum QUESTION_FIND_FILTER_TYPE { NOTANSWERED = 'NOTANSWERED', // 답변못받은거 OLDORDER = 'OLDORDER', //오래된순 NEWORDER = 'NEWORDER', //최신순 - RECENT = 'RECENT', //최신순 + RECENT = 'RECENT' //최신순 } enum USER_LEVEL_TYPE { LEVEL0 = 0, //대학교 LEVEL1 = 1, //공연장 LEVEL2 = 2, //한강공원 - LEVEL3 = 2, //한강공원 + LEVEL3 = 2 //한강공원 } enum USER_LEVELUP_COUNT_TYPE { LEVEL0 = 0, //대학교 LEVEL1 = 5, //공연장 LEVEL2 = 25, //한강공원 - LEVEL3 = 100, //한강공원 + LEVEL3 = 100 //한강공원 } enum PUSH_ALARM_TYPE { @@ -129,7 +133,7 @@ enum PUSH_ALARM_TYPE { LETTER = 'letter', CHAT = 'chat', LIGHTNING_LEVELUP = 'lightningLevelUp', - LIGHTNING = 'lightning', + LIGHTNING = 'lightning' } // enum ALARM_TYPE { @@ -150,7 +154,7 @@ enum ALARM_STORE_TYPE { // 번개 라이트닝 레벨업? // LIGHTNING = 'lightning', // 시스템 전부 공지알림 - OFFICIAL = 'official', + OFFICIAL = 'official' } const PUSH_ALARM = 'pushAlarm'; @@ -160,7 +164,7 @@ const DEEPLINK_BASEURL = 'tiquitaca-app://navigation/'; enum CHAT_TYPE { NORMAL = 0, - QUERY = 1, + QUERY = 1 } export { @@ -188,5 +192,5 @@ export { STATUS_TYPE, CATEGORY_TYPE, EVENT_TYPE, - FIND_ROOM_FILTER_TYPE, + FIND_ROOM_FILTER_TYPE };