diff options
Diffstat (limited to 'server/providers/services/chat_room.service.ts')
-rw-r--r-- | server/providers/services/chat_room.service.ts | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/server/providers/services/chat_room.service.ts b/server/providers/services/chat_room.service.ts index 6c87539..a6af023 100644 --- a/server/providers/services/chat_room.service.ts +++ b/server/providers/services/chat_room.service.ts @@ -18,7 +18,21 @@ export class ChatRoomService { return this.chatRoomRepository.find(); } - findById(id: number) { - return this.chatRoomRepository.findOne(id); + near({ lat, lng }: { lat: number; lng: number }) { + return this.chatRoomRepository.query( + `SELECT * FROM chat_room WHERE calculate_distance(latitude, longitude, ${lat}, ${lng}, 'M') < 5`, + ); + } + + findById(id: number, relations: string[] = []) { + return this.chatRoomRepository.findOne(id, { relations }); + } + + save(chatRoom: ChatRoom) { + return this.chatRoomRepository.save(chatRoom); + } + + remove(chatRoom: ChatRoom) { + return this.chatRoomRepository.remove(chatRoom); } } |