1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- "use strict";
- module.exports = async (argArr) => {
- let resp = {};
- try {
-
- if (argArr.length != 1) return "none";
- let lg = argArr[0].substr(0, 20).trim();
- if (!/^[a-z0-9]+$/.test(lg)) return "none";
-
-
-
- let res = await dbFind("pupils", {Ulogin: lg});
- if (!res.length) return "none";
- let pup = res[0];
- let pupGroups = [pup.Uclass];
- if (pup.groups) pupGroups = [...pupGroups, ...pup.groups];
- if (pup.facult) pupGroups = [...pupGroups, ...pup.facult];
-
-
-
-
- for (let gr of pupGroups) {
- res = await dbFind("topics", {g: gr});
- if (!res.length) continue;
- for (let t of res) {
- let subjCod = (t.s == "s000") ? t.g : t.s;
- let k = `${gr}_${subjCod}_${t.l}`;
- if (!resp[k]) resp[k] = {};
- resp[k][t.d] = [t.t, t.h, t.w];
- }
- }
-
-
-
- res = await dbFind("grades", {p: lg});
- for (let otm of res) {
- let subjCod = (otm.s == "s000") ? otm.c : otm.s;
- let k = `${otm.c}_${subjCod}_${otm.t}`;
- if (!resp[k]) resp[k] = {};
- if (resp[k][otm.d]) resp[k][otm.d].push(otm.g);
- else resp[k][otm.d] = ['', '', 0, otm.g];
- }
-
- return JSON.stringify(resp);
- }
- catch(e) {return "none";}
- };
|