summaryrefslogtreecommitdiff
path: root/server/providers/services/chat_room.service.ts
diff options
context:
space:
mode:
authorLogan Hunt <loganhunt@simponic.xyz>2022-03-30 15:18:16 -0600
committerLogan Hunt <loganhunt@simponic.xyz>2022-03-30 15:18:16 -0600
commitacff469ba069b6f090adfd5ed91379c9f146aa77 (patch)
treee600e951d2e88ffde9252214fe31b8042ca129aa /server/providers/services/chat_room.service.ts
parent042e3b9862b253fb3c3e59ee628dd9e30edf7e35 (diff)
downloadlocchat-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.ts18
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);
}
}