uiss-client
е node.js клиент за УИСС на Технически университет - София, позволяващ автоматизиране на проверката на оценки и получаване на информация за студент.
npm install uiss-client
const UissClient = require('uiss-client');
const egn = '94xxxxyyyy';
const facultyId = 'xxxx13yyy';
UissClient
.login(egn, facultyId)
.then(session => {
return session.getStudent()
.then(student => console.log(student))
.then(() => session.logout());
})
.catch(err => console.error(err));
const moment = require("moment");
UissClient
.login(egn, facultyId)
.then(session => {
return session.getGrades()
.then(grades => {
// Филтрира само оценките, внесени на и след 30.06.2016
const latest = grades.filter(
g => g.lastUpdate && g.lastUpdate.isSameOrAfter(moment("30.06.2016", "DD.MM.YYYY"))
);
console.log(latest);
})
.then(() => session.logout())
.catch(err => console.error(err));
});
Създава нова сесия в УИСС като се логва с подадените ЕГН (egn
) и факултетен номер (facultyId
). Връща Promise<UissClient>
с инстанция на UissClient
за текущата сесия.
Вижте документацията на Promise в MDN и примерите по-горе за това как се използва
Promise
.
Извлича информацията за студента от текущата сесия. Връща Promise<Student>
. Обектът Student
е с подобна на тази структура:
Student {
_name: 'XXXXXXXXXXXXXX',
_facultyId: 'XXXXXXXX',
_facultyName: 'XXXXXXXXXXXXXXXXXXXXX',
_major: 'XXXXXXXXXXXXXX',
_degreeType: 'Редовно',
_email: 'XXXXXX@gmail.com',
_status: '$12Действащ',
_semester: 6,
_completedSemester: 6,
_stream: N,
_group: NN }
Извлича оценките на студента. Връща Promise<Grade[]>
с масив от Grade
. Обектът Grade
е с подобна на тази структура:
Grade {
_gradeId: 44,
_name: 'ПРОГРАМНИ СРЕДИ',
_semesterId: 6,
_controlForm: 'Изпит',
_gradeText: 'мн.добър',
_gradeNumeric: 5,
_lastUpdate:
{ ... }
Полето lastUpdate
е от тип Moment
.
Вижте документацията на Moment.js и примерите по-горе за това как се използва
Moment
.
Извлича заверките на студента. Връща Promise<Cert[]>
с масив от Cert
. Обектът Cert
има подобна на следната
структура:
Cert {
_signatures:
{ lectures: EmptySignature { _signeeName: 'Незаверен', _date: moment.invalid(/* NaN */) },
seminars: undefined,
labs:
Signature {
_signeeName: 'гл. ас. д-р ТАШЕВА',
_date: moment("2017-01-11T00:00:00.000") },
practice: undefined,
project: undefined },
_certId: 55,
_subjectName: 'ПРОГРАМИРАНЕ ЗА РАЗПРЕДЕЛЕНИ СРЕДИ',
_semesterId: 7 }
Прекратява текущата сесия.
uiss-client
е свободен софтуер и се разпространява под лиценза MIT.