interGroupGet.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435
  1. /**
  2. * ПОЛУЧЕНИЕ СПИСКА УЧАЩИХСЯ МЕЖКЛАССНОЙ ГРУППЫ
  3. * Copyright © 2020, А.М.Гольдин. Modified BSD License
  4. */
  5. "use strict";
  6. // Аргумент: grName (имя группы типа 23Б)
  7. // Возвращает сортированный [["Иванов Иван", "10Б", "ivanov"], ...] или "none"
  8. // Заблокированные учащиеся тоже возвращаются в общем списке
  9. // Если в группе никого нет, возвращается пустой массив
  10. module.exports = async grName => {
  11. let resp = [];
  12. try {
  13. grName = grName.substr(0, 3);
  14. if (!grName) return "none";
  15. // Идем циклом по всем ученикам данной группы
  16. let pupilsArr = await dbFind("pupils", {$where: function() {
  17. if (this.facult) return (this.facult.includes(grName));
  18. else return false;
  19. }});
  20. if (!pupilsArr.length) return "[]";
  21. pupilsArr.sort((p1, p2) => p1.Ufamil.localeCompare(p2.Ufamil, "ru"));
  22. for (let pupil of pupilsArr)
  23. resp.push(
  24. [`${pupil.Ufamil} ${pupil.Uname}`, pupil.Uclass, pupil.Ulogin]
  25. );
  26. return JSON.stringify(resp);
  27. } catch(e) {return "none";}
  28. };