fix: made user room number a string for added flexibility
This commit is contained in:
@@ -41,7 +41,7 @@ export class NotifcationHelper {
|
||||
user: async (uname: string) => {
|
||||
return await this.send(message, await Notification.aggregate(userNotif(uname)))
|
||||
},
|
||||
room: async (room: number) => {
|
||||
room: async (room: string) => {
|
||||
return await this.send(message, await Notification.aggregate(roomNotif(room)))
|
||||
},
|
||||
group: async (group: string) => {
|
||||
|
||||
@@ -11,7 +11,7 @@ function userNotif(uname: string) {
|
||||
return pipeline
|
||||
}
|
||||
|
||||
function roomNotif(room: number) {
|
||||
function roomNotif(room: string) {
|
||||
var pipeline: PipelineStage[] = [
|
||||
{
|
||||
$lookup: {
|
||||
|
||||
@@ -38,19 +38,19 @@ cleanRouter.get("/summary/:start/:stop", async (req, res) => {
|
||||
}
|
||||
})
|
||||
data = data.map(v => v.toJSON())
|
||||
var byRoom: {[room: number]: any[]} = {}
|
||||
var byRoom: {[room: string]: any[]} = {}
|
||||
data.forEach((v) => {
|
||||
let roomarray = byRoom[v.room] ? byRoom[v.room] : [];
|
||||
byRoom[v.room] = [...roomarray, {...v, room: undefined}]
|
||||
})
|
||||
var stat: {room: number, avg: number}[] = []
|
||||
var stat: {room: string, avg: number}[] = []
|
||||
for (let i in byRoom) {
|
||||
var sum: number = 0
|
||||
for (let j of byRoom[i]) {
|
||||
sum += j.grade
|
||||
}
|
||||
let avrg = sum/byRoom[i].length
|
||||
stat.push({room: Number.parseInt(i), avg: avrg})
|
||||
stat.push({room: i, avg: avrg})
|
||||
}
|
||||
res.send(stat)
|
||||
})
|
||||
@@ -72,7 +72,7 @@ cleanRouter.get('/config', (req, res) => {
|
||||
|
||||
cleanRouter.get('/attendence/:room', async (req, res) => {
|
||||
res.send({
|
||||
users: await User.find({room: Number(req.params.room)}, {fname: true, surname: true, _id: true}),
|
||||
users: await User.find({room: req.params.room}, {fname: true, surname: true, _id: true}),
|
||||
attendence: attendence.getRoom(req.params.room)
|
||||
})
|
||||
})
|
||||
|
||||
@@ -21,7 +21,7 @@ notifRouter.post("/send", async (req, res) => {
|
||||
result = await message.user(recp);
|
||||
break;
|
||||
case "room":
|
||||
recp = req.body.recp.room as number
|
||||
recp = req.body.recp.room as string
|
||||
result = await message.room(recp)
|
||||
break;
|
||||
case "all":
|
||||
|
||||
@@ -58,7 +58,7 @@ appRouter.post("/menu/:timestamp", capability.mw(Features.Menu), async (req, res
|
||||
})
|
||||
|
||||
appRouter.get("/keys", capability.mw(Features.Key), async (req, res) => {
|
||||
var keys = (await Key.find({tb: {$exists: false}}, {_id: 0, room: 1, whom: 0}, {sort: {room: 1}}))
|
||||
var keys = await Key.find({tb: {$exists: false}}, {_id: 0, room: 1, whom: 0}, {sort: {room: 1}})
|
||||
var occ = keys.map(x=>x.room)
|
||||
var all = usettings.settings.keyrooms
|
||||
var free = all.filter(x=>!occ.includes(x)).sort().map(x => {
|
||||
|
||||
@@ -9,7 +9,7 @@ interface IGrade {
|
||||
grade?: number;
|
||||
date: Date;
|
||||
gradeDate?: Date;
|
||||
room: number;
|
||||
room: string;
|
||||
notes?: GradeNote[];
|
||||
tips: string;
|
||||
}
|
||||
@@ -18,7 +18,7 @@ const gradeSchema = new Schema<IGrade>({
|
||||
grade: Number,
|
||||
date: {type: Date, required: true},
|
||||
gradeDate: Date,
|
||||
room: {type: Number, required: true},
|
||||
room: {type: String, required: true},
|
||||
notes: [Object],
|
||||
tips: String,
|
||||
})
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { readFileSync, writeFileSync } from "node:fs";
|
||||
interface IUSettings {
|
||||
keyrooms: string[];
|
||||
rooms: number[];
|
||||
rooms: string[];
|
||||
cleanThings: string[];
|
||||
menu: {
|
||||
defaultItems: {
|
||||
|
||||
Reference in New Issue
Block a user