zdu-student-api 1.1.5 → 1.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +242 -18
  3. package/dist/audience.d.ts +44 -44
  4. package/dist/audience.js +50 -48
  5. package/dist/cabinet/cabinet.d.ts +79 -0
  6. package/dist/cabinet/cabinet.js +162 -0
  7. package/dist/cabinet/data.d.ts +66 -0
  8. package/dist/cabinet/data.js +115 -0
  9. package/dist/cabinet/disciplines.d.ts +19 -0
  10. package/dist/cabinet/disciplines.js +87 -0
  11. package/dist/cabinet/index.d.ts +3 -2
  12. package/dist/cabinet/index.js +3 -2
  13. package/dist/cabinet/parsers.d.ts +37 -0
  14. package/dist/cabinet/parsers.js +284 -0
  15. package/dist/cabinet/scores.d.ts +12 -0
  16. package/dist/cabinet/scores.js +101 -0
  17. package/dist/cabinet/sesId.d.ts +10 -9
  18. package/dist/cabinet/sesId.js +40 -39
  19. package/dist/cabinet/session.d.ts +33 -0
  20. package/dist/cabinet/session.js +99 -0
  21. package/dist/cabinet/types.d.ts +2 -2
  22. package/dist/cabinet/utils.d.ts +8 -0
  23. package/dist/cabinet/utils.js +19 -0
  24. package/dist/cabinet/validSession.d.ts +8 -0
  25. package/dist/cabinet/validSession.js +29 -0
  26. package/dist/cabinetStudent/cabinetStudent.d.ts +87 -0
  27. package/dist/cabinetStudent/cabinetStudent.js +181 -0
  28. package/dist/cabinetStudent/disciplines.d.ts +19 -0
  29. package/dist/cabinetStudent/disciplines.js +86 -0
  30. package/dist/cabinetStudent/index.d.ts +4 -0
  31. package/dist/cabinetStudent/index.js +4 -0
  32. package/dist/cabinetStudent/scores.d.ts +12 -0
  33. package/dist/cabinetStudent/scores.js +101 -0
  34. package/dist/cabinetStudent/types.d.ts +137 -0
  35. package/dist/cabinetStudent/types.js +1 -0
  36. package/dist/cabinetTeacher/academicGroups.d.ts +10 -0
  37. package/dist/cabinetTeacher/academicGroups.js +36 -0
  38. package/dist/cabinetTeacher/cabinetTeacher.d.ts +71 -0
  39. package/dist/cabinetTeacher/cabinetTeacher.js +132 -0
  40. package/dist/cabinetTeacher/index.d.ts +3 -0
  41. package/dist/cabinetTeacher/index.js +3 -0
  42. package/dist/cabinetTeacher/types.d.ts +68 -0
  43. package/dist/cabinetTeacher/types.js +1 -0
  44. package/dist/constants.d.ts +49 -49
  45. package/dist/constants.js +55 -52
  46. package/dist/examples.d.ts +1 -1
  47. package/dist/examples.js +70 -15
  48. package/dist/index.d.ts +12 -10
  49. package/dist/index.js +12 -10
  50. package/dist/schedule.d.ts +62 -62
  51. package/dist/schedule.js +74 -68
  52. package/dist/types.d.ts +17 -16
  53. package/dist/types.js +0 -1
  54. package/package.json +35 -33
@@ -0,0 +1,137 @@
1
+ /**
2
+ * Анкетні дані студента
3
+ * @category CabinetStudent
4
+ * @remarks
5
+ * **Статус запиту:**
6
+ * - `ok` — Успіх отримання даних (true/false)
7
+ *
8
+ * **ПІБ студента:**
9
+ * - `fullName` — Повне ім'я студента (Прізвище Ім'я По батькові)
10
+ * - `lastName` — Прізвище
11
+ * - `firstName` — Ім'я
12
+ * - `middleName` — По батькові
13
+ *
14
+ * **Загальні дані:**
15
+ * - `birthDate` — Дата народження (формат: DD.MM.YYYY)
16
+ * - `gender` — Стать (Чол/Жін)
17
+ * - `previousFullName` — Попереднє ПІБ студента (якщо змінювалось)
18
+ * - `country` — Країна, з якої навчається студент
19
+ * - `lastNameEng` — Прізвище англійською
20
+ * - `firstNameEng` — Ім'я англійською
21
+ * - `middleNameEng` — По батькові англійською (зазвичай немає)
22
+ *
23
+ * **Контактні дані:**
24
+ * - `email` — Електронна пошта студента
25
+ * - `phones` — Масив телефонних номерів студента
26
+ *
27
+ * **Дані про навчання:**
28
+ * - `faculty` — Факультет
29
+ * - `specialty` — Спеціальність (назва освітньої програми)
30
+ * - `degree` — Ступінь / Освітньо-професійний ступінь (бакалавр, магістр тощо)
31
+ * - `group` — Академічна група
32
+ * - `studyForm` — Форма навчання (Денна, Заочна, Вечірня)
33
+ * - `paymentForm` — Форма оплати навчання (Держ.замовлення, Контракт)
34
+ * - `enrollmentOrder` — Номер наказу на зарахування
35
+ * - `enrollmentDate` — Дата наказу на зарахування (формат: DD.MM.YYYY)
36
+ * - `studyDuration` — Термін навчання (наприклад: "4 роки")
37
+ * - `graduationDate` — Дата закінчення навчання (формат: DD.MM.YYYY)
38
+ */
39
+ export interface DataStudent {
40
+ ok: boolean;
41
+ fullName?: string;
42
+ lastName?: string;
43
+ firstName?: string;
44
+ middleName?: string;
45
+ birthDate?: string;
46
+ gender?: string;
47
+ previousFullName?: string;
48
+ country?: string;
49
+ lastNameEng?: string;
50
+ firstNameEng?: string;
51
+ middleNameEng?: string;
52
+ email?: string;
53
+ phones?: string[];
54
+ faculty?: string;
55
+ specialty?: string;
56
+ degree?: string;
57
+ group?: string;
58
+ studyForm?: string;
59
+ paymentForm?: string;
60
+ enrollmentOrder?: string;
61
+ enrollmentDate?: string;
62
+ studyDuration?: string;
63
+ graduationDate?: string;
64
+ }
65
+ /**
66
+ * name та prId дисципліни
67
+ * @category CabinetStudent
68
+ * @remarks
69
+ * - `name` — Повна назва дисципліни
70
+ * - `prId` — Айді дисципліни
71
+ */
72
+ export interface Discipline {
73
+ name: string;
74
+ prId: string;
75
+ }
76
+ /**
77
+ * name та prId дисципліни
78
+ * @category CabinetStudent
79
+ * @remarks
80
+ * - `ok` — Успіх отримання токену
81
+ * - `disciplines` — Масив дисциплін {@link Discipline}
82
+ */
83
+ export interface Disciplines {
84
+ ok: boolean;
85
+ disciplines: Discipline[];
86
+ }
87
+ /**
88
+ * Опис заняття у кабінеті студента
89
+ * @category CabinetStudent
90
+ * @remarks
91
+ * - `teacher` — Прізвище та ініціали викладача
92
+ * - `date` — Дата заняття у форматі "dd.mm.yyyy"
93
+ * - `type` — Тип заняття: "Лек", "ПрСем", "Лаб", "МК", "Екз"
94
+ * - `time` — Час заняття у форматі "HH:MM-HH:MM"
95
+ * - `index` — Значення атрибута `data-ind`, унікальний ідентифікатор
96
+ */
97
+ export interface ScheduleItem {
98
+ teacher: string;
99
+ date: string;
100
+ type: string;
101
+ time: string;
102
+ index: string;
103
+ }
104
+ /**
105
+ * Список оцінок студента.
106
+ * @category CabinetStudent
107
+ * @remarks
108
+ * - `id` — Унікальний ідентифікатор студента
109
+ * - `scores` — Оцінки по днях, масив масивів рядків (перший елемент - основна оцінка, другий елемент - оцінка перездачі)
110
+ * - `absences` — Кількість пропусків
111
+ * - `uabsences` — Кількість невиправлених пропусків
112
+ * - `finalScore` — Фінальна оцінка
113
+ */
114
+ export interface StudentScores {
115
+ id: string;
116
+ scores: string[][];
117
+ absences: number;
118
+ uabsences: number;
119
+ finalScore: string;
120
+ }
121
+ /**
122
+ * Об'єкт оцінок з предмету.
123
+ * @category CabinetStudent
124
+ * @remarks
125
+ * - `ok` — Успіх отримання токену
126
+ * - `prId` — Айді дисципліни
127
+ * - `studentId` — Унікальний айді студента для предметів
128
+ * - `scheduleItem` — Опис заняття у кабінеті студента {@link ScheduleItem}
129
+ * - `studentScores` — Список оцінок студента {@link StudentScores}
130
+ */
131
+ export interface Scores {
132
+ ok: boolean;
133
+ prId: string;
134
+ studentId: string;
135
+ scheduleItem: ScheduleItem[];
136
+ studentScores: StudentScores[];
137
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,10 @@
1
+ import { AcademicGroups } from './types.js';
2
+ /**
3
+ * Отримати всі академічні групи
4
+ * @category CabinetTeacher
5
+ * @param sesId - ID сесії користувача
6
+ * @param sessGUID - GUID сесії з cookie
7
+ * @throws {Error} Якщо виникають проблеми з запитом або дані некоректні.
8
+ * @returns Об'єкт академічних груп {@link AcademicGroups}
9
+ */
10
+ export declare function getAcademicGroups(sesId: string, sessGUID: string): Promise<AcademicGroups>;
@@ -0,0 +1,36 @@
1
+ import fetch from 'cross-fetch';
2
+ import iconv from 'iconv-lite';
3
+ import { generateCookieString, isLoginPage } from '../cabinet/session.js';
4
+ import { parseGroupsPage } from '../cabinet/parsers.js';
5
+ /**
6
+ * Отримати всі академічні групи
7
+ * @category CabinetTeacher
8
+ * @param sesId - ID сесії користувача
9
+ * @param sessGUID - GUID сесії з cookie
10
+ * @throws {Error} Якщо виникають проблеми з запитом або дані некоректні.
11
+ * @returns Об'єкт академічних груп {@link AcademicGroups}
12
+ */
13
+ export async function getAcademicGroups(sesId, sessGUID) {
14
+ try {
15
+ let result = { ok: false, groups: [] };
16
+ const cookieString = generateCookieString(sessGUID);
17
+ const response1 = await fetch(`https://dekanat.zu.edu.ua/cgi-bin/kaf.cgi?half=0&sesID=${sesId}&n=2&action=groups`, { headers: { Cookie: cookieString } });
18
+ const buffer1 = await response1.arrayBuffer();
19
+ const html1 = iconv.decode(Buffer.from(buffer1), 'windows-1251');
20
+ if (isLoginPage(html1))
21
+ return result;
22
+ result.groups = parseGroupsPage(html1, 1);
23
+ const response2 = await fetch(`https://dekanat.zu.edu.ua/cgi-bin/kaf.cgi?half=1&sesID=${sesId}&n=2&action=groups`, { headers: { Cookie: cookieString } });
24
+ const buffer2 = await response2.arrayBuffer();
25
+ const html2 = iconv.decode(Buffer.from(buffer2), 'windows-1251');
26
+ if (isLoginPage(html2))
27
+ return result;
28
+ result.groups = [...result.groups, ...parseGroupsPage(html2, 2)];
29
+ result.ok = true;
30
+ return result;
31
+ }
32
+ catch (e) {
33
+ console.error('Error in getAcademicGroups:', e);
34
+ throw e;
35
+ }
36
+ }
@@ -0,0 +1,71 @@
1
+ import { DataTeacher, AcademicGroups, AcademicGroup } from './types.js';
2
+ /**
3
+ * Клас кабінету викладача
4
+ * @category CabinetTeacher
5
+ */
6
+ export declare class CabinetTeacher {
7
+ /**
8
+ * Логін користувача
9
+ */
10
+ login: string;
11
+ /**
12
+ * Пароль від кабінету викладача
13
+ */
14
+ password: string;
15
+ /**
16
+ * ID сесії викладача
17
+ */
18
+ sesID?: string;
19
+ /**
20
+ * GUID сесії з cookie
21
+ */
22
+ sessGUID?: string;
23
+ /**
24
+ * Семестр для пошуку оцінок (0 - перший, 1 - другий)
25
+ */
26
+ semester: 1 | 2;
27
+ /**
28
+ * Данні викладача {@link DataTeacher}
29
+ */
30
+ data?: DataTeacher;
31
+ /**
32
+ * Список академічних груп {@link AcademicGroup}
33
+ */
34
+ academicGroups: AcademicGroup[];
35
+ /**
36
+ * Конструктор
37
+ * @param login - Логін користувача
38
+ * @param password - Пароль
39
+ */
40
+ constructor(login: string, password: string);
41
+ /**
42
+ * Авторизація
43
+ */
44
+ auth(login?: string, password?: string): Promise<boolean>;
45
+ /**
46
+ * Базове значення семестру
47
+ */
48
+ private setSemester;
49
+ /**
50
+ * Отримання всіх данних
51
+ */
52
+ loadData(): Promise<boolean>;
53
+ /**
54
+ * Відновлення сесії
55
+ */
56
+ setSession(sesID: string, sessGUID: string): Promise<boolean>;
57
+ /**
58
+ * Перевірка валідності сесії
59
+ */
60
+ isValidSession(): Promise<boolean>;
61
+ /**
62
+ * Отримати всі академічні групи
63
+ * @returns Об'єкт академічних груп {@link AcademicGroups}
64
+ */
65
+ getAcademicGroups(): Promise<AcademicGroups>;
66
+ /**
67
+ * Отримати анкетні данні викладача
68
+ * @returns Об'єкт {@link Data}
69
+ */
70
+ getData(): Promise<DataTeacher>;
71
+ }
@@ -0,0 +1,132 @@
1
+ import { getSesId } from '../cabinet/session.js';
2
+ import { isValidSession } from '../cabinet/session.js';
3
+ import { getAcademicGroups } from './academicGroups.js';
4
+ import { getDataTeacher } from '../cabinet/data.js';
5
+ import { getSemester } from '../cabinet/utils.js';
6
+ /**
7
+ * Клас кабінету викладача
8
+ * @category CabinetTeacher
9
+ */
10
+ export class CabinetTeacher {
11
+ /**
12
+ * Логін користувача
13
+ */
14
+ login;
15
+ /**
16
+ * Пароль від кабінету викладача
17
+ */
18
+ password;
19
+ /**
20
+ * ID сесії викладача
21
+ */
22
+ sesID;
23
+ /**
24
+ * GUID сесії з cookie
25
+ */
26
+ sessGUID;
27
+ /**
28
+ * Семестр для пошуку оцінок (0 - перший, 1 - другий)
29
+ */
30
+ semester = 1;
31
+ /**
32
+ * Данні викладача {@link DataTeacher}
33
+ */
34
+ data;
35
+ /**
36
+ * Список академічних груп {@link AcademicGroup}
37
+ */
38
+ academicGroups = [];
39
+ /**
40
+ * Конструктор
41
+ * @param login - Логін користувача
42
+ * @param password - Пароль
43
+ */
44
+ constructor(login, password) {
45
+ this.login = login;
46
+ this.password = password;
47
+ }
48
+ /**
49
+ * Авторизація
50
+ */
51
+ async auth(login, password) {
52
+ const accountData = await getSesId(login ?? this.login, password ?? this.password, 'teacher');
53
+ this.setSemester();
54
+ if (accountData.ok) {
55
+ this.sesID = accountData.sesID;
56
+ this.sessGUID = accountData.sessGUID;
57
+ return true;
58
+ }
59
+ return false;
60
+ }
61
+ /**
62
+ * Базове значення семестру
63
+ */
64
+ setSemester() {
65
+ this.semester = getSemester();
66
+ }
67
+ /**
68
+ * Отримання всіх данних
69
+ */
70
+ async loadData() {
71
+ const one = (await this.getAcademicGroups()).ok;
72
+ const two = (await this.getData()).ok;
73
+ return one && two;
74
+ }
75
+ /**
76
+ * Відновлення сесії
77
+ */
78
+ async setSession(sesID, sessGUID) {
79
+ this.setSemester();
80
+ const ses = await isValidSession(sesID, sessGUID, 'teacher');
81
+ if (ses) {
82
+ this.sesID = sesID;
83
+ this.sessGUID = sessGUID;
84
+ }
85
+ return ses;
86
+ }
87
+ /**
88
+ * Перевірка валідності сесії
89
+ */
90
+ async isValidSession() {
91
+ if (!this.sesID || !this.sessGUID)
92
+ return false;
93
+ return await isValidSession(this.sesID, this.sessGUID, 'teacher');
94
+ }
95
+ /**
96
+ * Отримати всі академічні групи
97
+ * @returns Об'єкт академічних груп {@link AcademicGroups}
98
+ */
99
+ async getAcademicGroups() {
100
+ if (!this.sesID || !this.sessGUID)
101
+ return { ok: false, groups: [] };
102
+ try {
103
+ const academicGroupsData = await getAcademicGroups(this.sesID, this.sessGUID);
104
+ if (academicGroupsData.ok) {
105
+ this.academicGroups = academicGroupsData.groups;
106
+ }
107
+ return academicGroupsData;
108
+ }
109
+ catch {
110
+ return { ok: false, groups: [] };
111
+ }
112
+ }
113
+ /**
114
+ * Отримати анкетні данні викладача
115
+ * @returns Об'єкт {@link Data}
116
+ */
117
+ async getData() {
118
+ if (!this.sesID || !this.sessGUID)
119
+ return { ok: false };
120
+ try {
121
+ const data = await getDataTeacher(this.sesID, this.sessGUID);
122
+ if (data.ok) {
123
+ this.data = data;
124
+ }
125
+ return data;
126
+ }
127
+ catch (err) {
128
+ console.log(err);
129
+ return { ok: false };
130
+ }
131
+ }
132
+ }
@@ -0,0 +1,3 @@
1
+ export * from './types.js';
2
+ export * from './academicGroups.js';
3
+ export * from './cabinetTeacher.js';
@@ -0,0 +1,3 @@
1
+ export * from './types.js';
2
+ export * from './academicGroups.js';
3
+ export * from './cabinetTeacher.js';
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Дані викладача з головної сторінки кабінету
3
+ * @category CabinetTeacher
4
+ * @remarks
5
+ * **Статус запиту:**
6
+ * - `ok` — Успіх отримання даних (true/false)
7
+ *
8
+ * **ПІБ викладача:**
9
+ * - `fullName` — Повне ім'я викладача (Прізвище Ім'я По батькові)
10
+ * - `lastName` — Прізвище
11
+ * - `firstName` — Ім'я
12
+ * - `middleName` — По батькові
13
+ *
14
+ * **Інформація про роботу:**
15
+ * - `department` — Назва кафедри
16
+ * - `partTimeHours` — Кількість годин за сумісництвом (число без "год.")
17
+ * - `workDurationMonths` — Тривалість роботи в навчальному році (місяців)
18
+ * - `totalPositionHours` — Загальна кількість годин за ставками (число без "год.")
19
+ * - `workloadByStaff` — Розподілене навантаження за штатом (число без "год.")
20
+ * - `totalWorkload` — Загальне розподілене навантаження (число без "год.")
21
+ */
22
+ export interface DataTeacher {
23
+ ok: boolean;
24
+ fullName?: string;
25
+ lastName?: string;
26
+ firstName?: string;
27
+ middleName?: string;
28
+ department?: string;
29
+ partTimeHours?: number;
30
+ workDurationMonths?: number;
31
+ totalPositionHours?: number;
32
+ workloadByStaff?: number;
33
+ totalWorkload?: number;
34
+ }
35
+ /**
36
+ * Інформація про академічну групу
37
+ * @category CabinetTeacher
38
+ * @remarks
39
+ * - `name` — Назва групи (наприклад: "23Мд-СОфіз")
40
+ * - `semester` — Семестр: "1" (перше), "2" (друге)
41
+ * - `encodedName` — URL-encoded назва групи для запитів
42
+ * - `course` — Номер курсу (1-4)
43
+ * - `specialty` — Повна назва спеціальності з кодом
44
+ * - `faculty` — Назва факультету
45
+ * - `teacherId` — ID викладача з параметра teacher в URL
46
+ * - `journalUrl` — Відносний URL для переходу до журналу групи
47
+ */
48
+ export interface AcademicGroup {
49
+ name: string;
50
+ semester: number;
51
+ encodedName: string;
52
+ course: number;
53
+ specialty: string;
54
+ faculty: string;
55
+ teacherId: string;
56
+ journalUrl: string;
57
+ }
58
+ /**
59
+ * Список академічних груп викладача
60
+ * @category CabinetTeacher
61
+ * @remarks
62
+ * - `ok` — Успіх отримання даних (true/false)
63
+ * - `groups` — Масив груп {@link Group}
64
+ */
65
+ export interface AcademicGroups {
66
+ ok: boolean;
67
+ groups: AcademicGroup[];
68
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -1,58 +1,58 @@
1
1
  import { Faculty } from './types.js';
2
2
  /**
3
- * Список факультетів університету.
4
- * @category Schedule
5
- *
6
- * @remarks
7
- * - `none`: { id: 0, name: 'Оберіть факультет' }
8
- * - `physicsMath`: { id: 1001, name: 'Фізико-математичний факультет' }
9
- * - `philologyJournalism`: { id: 1002, name: 'Навчально-науковий інститут філології та журналістики' }
10
- * - `historyLawPublic`: { id: 1003, name: 'Факультет історії, права та публічного управління' }
11
- * - `foreignPhilology`: { id: 1004, name: 'Навчально-науковий інститут іноземної філології' }
12
- * - `natural`: { id: 1005, name: 'Природничий факультет' }
13
- * - `pedagogy`: { id: 1006, name: 'Навчально-науковий інститут педагогіки' }
14
- * - `socialPsychology`: { id: 1007, name: 'Соціально-психологічний факультет' }
15
- * - `physicalEducation`: { id: 1008, name: 'Факультет фізичного виховання і спорту' }
16
- * - `preUniversityCenter`: { id: 1009, name: 'Центр доуніверситетської освіти та освіти дорослих' }
17
- * - `partTime`: { id: 1010, name: 'Заочна форма навчання' }
18
- * - `postgraduate`: { id: 1011, name: 'Відділ аспірантури та докторантури' }
19
- * - `scientificLyceum`: { id: 1012, name: 'Науковий ліцей' }
20
- */
3
+ * Список факультетів університету.
4
+ * @category Schedule
5
+ *
6
+ * @remarks
7
+ * - `none`: { id: 0, name: 'Оберіть факультет' }
8
+ * - `physicsMath`: { id: 1001, name: 'Фізико-математичний факультет' }
9
+ * - `philologyJournalism`: { id: 1002, name: 'Навчально-науковий інститут філології та журналістики' }
10
+ * - `historyLawPublic`: { id: 1003, name: 'Факультет історії, права та публічного управління' }
11
+ * - `foreignPhilology`: { id: 1004, name: 'Навчально-науковий інститут іноземної філології' }
12
+ * - `natural`: { id: 1005, name: 'Природничий факультет' }
13
+ * - `pedagogy`: { id: 1006, name: 'Навчально-науковий інститут педагогіки' }
14
+ * - `socialPsychology`: { id: 1007, name: 'Соціально-психологічний факультет' }
15
+ * - `physicalEducation`: { id: 1008, name: 'Факультет фізичного виховання і спорту' }
16
+ * - `preUniversityCenter`: { id: 1009, name: 'Центр доуніверситетської освіти та освіти дорослих' }
17
+ * - `partTime`: { id: 1010, name: 'Заочна форма навчання' }
18
+ * - `postgraduate`: { id: 1011, name: 'Відділ аспірантури та докторантури' }
19
+ * - `scientificLyceum`: { id: 1012, name: 'Науковий ліцей' }
20
+ */
21
21
  export declare const faculties: Record<string, Faculty>;
22
22
  /**
23
- * Список помилок для розкладу.
24
- * @category Schedule
25
- *
26
- * @remarks
27
- * Ключі — числові коди помилок.
28
- * Значення — опис помилки.
29
- *
30
- * Коди помилок:
31
- * - -200: Не має доступу до сервера або помилка доступу до бази даних
32
- * - -100: Помилка у роботі модуля, зверніться до розробника
33
- * - -90: Об`єкт, для якого потрібно показати розклад, не знайдено
34
- * - -80: Неправильний режим (помилка у параметрі req_mode або req_type)
35
- * - -70: Помилка у датах
36
- * - -60: Помилка у параметрах
37
- * - -7: Зараз відбувається технічне обслуговування бази, робота тимчасово неможлива!
38
- * - -6: Вигрузка всього розкладу разом заборонена Адмiнiстратором
39
- * - -5: Технічні роботи на сервері
40
- * - -4: За даним запитом нічого не знайдено
41
- * - -3: Перегляд розкладу на вказані дати заблоковано адміністратором (Розклад у процесі складання і ще не готовий для демонстрації)
42
- * - -2: Перегляд розкладу заблоковано адміністратором (Розклад у процесі складання і ще не готовий для демонстрації)
43
- * - -1: Розклад у базі відсутній
44
- */
23
+ * Список помилок для розкладу.
24
+ * @category Schedule
25
+ *
26
+ * @remarks
27
+ * Ключі — числові коди помилок.
28
+ * Значення — опис помилки.
29
+ *
30
+ * Коди помилок:
31
+ * - -200: Не має доступу до сервера або помилка доступу до бази даних
32
+ * - -100: Помилка у роботі модуля, зверніться до розробника
33
+ * - -90: Об`єкт, для якого потрібно показати розклад, не знайдено
34
+ * - -80: Неправильний режим (помилка у параметрі req_mode або req_type)
35
+ * - -70: Помилка у датах
36
+ * - -60: Помилка у параметрах
37
+ * - -7: Зараз відбувається технічне обслуговування бази, робота тимчасово неможлива!
38
+ * - -6: Вигрузка всього розкладу разом заборонена Адмiнiстратором
39
+ * - -5: Технічні роботи на сервері
40
+ * - -4: За даним запитом нічого не знайдено
41
+ * - -3: Перегляд розкладу на вказані дати заблоковано адміністратором (Розклад у процесі складання і ще не готовий для демонстрації)
42
+ * - -2: Перегляд розкладу заблоковано адміністратором (Розклад у процесі складання і ще не готовий для демонстрації)
43
+ * - -1: Розклад у базі відсутній
44
+ */
45
45
  export declare const scheduleErrors: Record<number, string>;
46
46
  /**
47
- * Тип розкладу.
48
- * @category Schedule
49
- *
50
- * @remarks
51
- * Типи: group, teacher, room.
52
- */
47
+ * Тип розкладу.
48
+ * @category Schedule
49
+ *
50
+ * @remarks
51
+ * Типи: group, teacher, room.
52
+ */
53
53
  export declare const scheduleTypes: Record<string, string>;
54
54
  /**
55
- * Блоки
56
- * @category Audience
57
- */
55
+ * Блоки
56
+ * @category Audience
57
+ */
58
58
  export declare const blocks: Record<string, string>;