diff options
author | Logan Hunt <loganhunt@simponic.xyz> | 2022-03-30 15:18:16 -0600 |
---|---|---|
committer | Logan Hunt <loganhunt@simponic.xyz> | 2022-03-30 15:18:16 -0600 |
commit | acff469ba069b6f090adfd5ed91379c9f146aa77 (patch) | |
tree | e600e951d2e88ffde9252214fe31b8042ca129aa /server/providers/services/chat_room.service.ts | |
parent | 042e3b9862b253fb3c3e59ee628dd9e30edf7e35 (diff) | |
download | locchat-acff469ba069b6f090adfd5ed91379c9f146aa77.tar.gz locchat-acff469ba069b6f090adfd5ed91379c9f146aa77.zip |
Ability to add, remove, update radius and location of chatrooms with a leaflet
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); } } |