reddy-api-srm 1.0.1
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.
- package/LICENSE +21 -0
- package/README.md +299 -0
- package/dist/src/auth/validatePassword.d.ts +3 -0
- package/dist/src/auth/validatePassword.d.ts.map +1 -0
- package/dist/src/auth/validatePassword.js +56 -0
- package/dist/src/auth/validatePassword.js.map +1 -0
- package/dist/src/auth/validateUser.d.ts +3 -0
- package/dist/src/auth/validateUser.d.ts.map +1 -0
- package/dist/src/auth/validateUser.js +42 -0
- package/dist/src/auth/validateUser.js.map +1 -0
- package/dist/src/fetch/fetchAttendance.d.ts +2 -0
- package/dist/src/fetch/fetchAttendance.d.ts.map +1 -0
- package/dist/src/fetch/fetchAttendance.js +42 -0
- package/dist/src/fetch/fetchAttendance.js.map +1 -0
- package/dist/src/fetch/fetchCalender.d.ts +2 -0
- package/dist/src/fetch/fetchCalender.d.ts.map +1 -0
- package/dist/src/fetch/fetchCalender.js +46 -0
- package/dist/src/fetch/fetchCalender.js.map +1 -0
- package/dist/src/fetch/fetchCourseDetails.d.ts +2 -0
- package/dist/src/fetch/fetchCourseDetails.d.ts.map +1 -0
- package/dist/src/fetch/fetchCourseDetails.js +49 -0
- package/dist/src/fetch/fetchCourseDetails.js.map +1 -0
- package/dist/src/fetch/fetchDayOrder.d.ts +2 -0
- package/dist/src/fetch/fetchDayOrder.d.ts.map +1 -0
- package/dist/src/fetch/fetchDayOrder.js +42 -0
- package/dist/src/fetch/fetchDayOrder.js.map +1 -0
- package/dist/src/fetch/fetchLogout.d.ts +5 -0
- package/dist/src/fetch/fetchLogout.d.ts.map +1 -0
- package/dist/src/fetch/fetchLogout.js +15 -0
- package/dist/src/fetch/fetchLogout.js.map +1 -0
- package/dist/src/fetch/fetchMarks.d.ts +2 -0
- package/dist/src/fetch/fetchMarks.d.ts.map +1 -0
- package/dist/src/fetch/fetchMarks.js +42 -0
- package/dist/src/fetch/fetchMarks.js.map +1 -0
- package/dist/src/fetch/fetchTimetable.d.ts +2 -0
- package/dist/src/fetch/fetchTimetable.d.ts.map +1 -0
- package/dist/src/fetch/fetchTimetable.js +49 -0
- package/dist/src/fetch/fetchTimetable.js.map +1 -0
- package/dist/src/fetch/fetchUserInfo.d.ts +2 -0
- package/dist/src/fetch/fetchUserInfo.d.ts.map +1 -0
- package/dist/src/fetch/fetchUserInfo.js +43 -0
- package/dist/src/fetch/fetchUserInfo.js.map +1 -0
- package/dist/src/index.d.ts +13 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +112 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/parser/parseAttendance.d.ts +3 -0
- package/dist/src/parser/parseAttendance.d.ts.map +1 -0
- package/dist/src/parser/parseAttendance.js +85 -0
- package/dist/src/parser/parseAttendance.js.map +1 -0
- package/dist/src/parser/parseCalender.d.ts +3 -0
- package/dist/src/parser/parseCalender.d.ts.map +1 -0
- package/dist/src/parser/parseCalender.js +98 -0
- package/dist/src/parser/parseCalender.js.map +1 -0
- package/dist/src/parser/parseCourse.d.ts +3 -0
- package/dist/src/parser/parseCourse.d.ts.map +1 -0
- package/dist/src/parser/parseCourse.js +88 -0
- package/dist/src/parser/parseCourse.js.map +1 -0
- package/dist/src/parser/parseDayOrder.d.ts +3 -0
- package/dist/src/parser/parseDayOrder.d.ts.map +1 -0
- package/dist/src/parser/parseDayOrder.js +71 -0
- package/dist/src/parser/parseDayOrder.js.map +1 -0
- package/dist/src/parser/parseMarks.d.ts +3 -0
- package/dist/src/parser/parseMarks.d.ts.map +1 -0
- package/dist/src/parser/parseMarks.js +100 -0
- package/dist/src/parser/parseMarks.js.map +1 -0
- package/dist/src/parser/parseTimetable.d.ts +3 -0
- package/dist/src/parser/parseTimetable.d.ts.map +1 -0
- package/dist/src/parser/parseTimetable.js +123 -0
- package/dist/src/parser/parseTimetable.js.map +1 -0
- package/dist/src/parser/parseUserInfo.d.ts +3 -0
- package/dist/src/parser/parseUserInfo.d.ts.map +1 -0
- package/dist/src/parser/parseUserInfo.js +75 -0
- package/dist/src/parser/parseUserInfo.js.map +1 -0
- package/dist/src/type/attendance.d.ts +21 -0
- package/dist/src/type/attendance.d.ts.map +1 -0
- package/dist/src/type/attendance.js +3 -0
- package/dist/src/type/attendance.js.map +1 -0
- package/dist/src/type/auth.d.ts +48 -0
- package/dist/src/type/auth.d.ts.map +1 -0
- package/dist/src/type/auth.js +3 -0
- package/dist/src/type/auth.js.map +1 -0
- package/dist/src/type/calendar.d.ts +16 -0
- package/dist/src/type/calendar.d.ts.map +1 -0
- package/dist/src/type/calendar.js +3 -0
- package/dist/src/type/calendar.js.map +1 -0
- package/dist/src/type/common.d.ts +31 -0
- package/dist/src/type/common.d.ts.map +1 -0
- package/dist/src/type/common.js +3 -0
- package/dist/src/type/common.js.map +1 -0
- package/dist/src/type/course.d.ts +17 -0
- package/dist/src/type/course.d.ts.map +1 -0
- package/dist/src/type/course.js +3 -0
- package/dist/src/type/course.js.map +1 -0
- package/dist/src/type/dayOrder.d.ts +6 -0
- package/dist/src/type/dayOrder.d.ts.map +1 -0
- package/dist/src/type/dayOrder.js +3 -0
- package/dist/src/type/dayOrder.js.map +1 -0
- package/dist/src/type/index.d.ts +11 -0
- package/dist/src/type/index.d.ts.map +1 -0
- package/dist/src/type/index.js +27 -0
- package/dist/src/type/index.js.map +1 -0
- package/dist/src/type/marks.d.ts +20 -0
- package/dist/src/type/marks.d.ts.map +1 -0
- package/dist/src/type/marks.js +3 -0
- package/dist/src/type/marks.js.map +1 -0
- package/dist/src/type/timetable.d.ts +27 -0
- package/dist/src/type/timetable.d.ts.map +1 -0
- package/dist/src/type/timetable.js +3 -0
- package/dist/src/type/timetable.js.map +1 -0
- package/dist/src/type/types.d.ts +2 -0
- package/dist/src/type/types.d.ts.map +1 -0
- package/dist/src/type/types.js +20 -0
- package/dist/src/type/types.js.map +1 -0
- package/dist/src/type/user.d.ts +16 -0
- package/dist/src/type/user.d.ts.map +1 -0
- package/dist/src/type/user.js +3 -0
- package/dist/src/type/user.js.map +1 -0
- package/dist/utils/attendanceStatus.d.ts +6 -0
- package/dist/utils/attendanceStatus.d.ts.map +1 -0
- package/dist/utils/attendanceStatus.js +26 -0
- package/dist/utils/attendanceStatus.js.map +1 -0
- package/dist/utils/data.d.ts +18 -0
- package/dist/utils/data.d.ts.map +1 -0
- package/dist/utils/data.js +77 -0
- package/dist/utils/data.js.map +1 -0
- package/dist/utils/dynamicUrl.d.ts +3 -0
- package/dist/utils/dynamicUrl.d.ts.map +1 -0
- package/dist/utils/dynamicUrl.js +45 -0
- package/dist/utils/dynamicUrl.js.map +1 -0
- package/package.json +54 -0
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.fetchDayOrder = fetchDayOrder;
|
|
7
|
+
const axios_1 = __importDefault(require("axios"));
|
|
8
|
+
async function fetchDayOrder(cookie) {
|
|
9
|
+
try {
|
|
10
|
+
const request = await (0, axios_1.default)("https://academia.srmist.edu.in/srm_university/academia-academic-services/page/WELCOME", {
|
|
11
|
+
headers: {
|
|
12
|
+
accept: "*/*",
|
|
13
|
+
"accept-language": "en-US,en;q=0.9",
|
|
14
|
+
"content-type": "application/x-www-form-urlencoded; charset=UTF-8",
|
|
15
|
+
"sec-fetch-dest": "empty",
|
|
16
|
+
"sec-fetch-mode": "cors",
|
|
17
|
+
"sec-fetch-site": "same-origin",
|
|
18
|
+
"x-requested-with": "XMLHttpRequest",
|
|
19
|
+
cookie,
|
|
20
|
+
Referer: "https://academia.srmist.edu.in/",
|
|
21
|
+
"Referrer-Policy": "strict-origin-when-cross-origin",
|
|
22
|
+
},
|
|
23
|
+
method: "GET",
|
|
24
|
+
});
|
|
25
|
+
return request.data;
|
|
26
|
+
}
|
|
27
|
+
catch (error) {
|
|
28
|
+
if (error &&
|
|
29
|
+
typeof error === "object" &&
|
|
30
|
+
"status" in error &&
|
|
31
|
+
error.status === 500) {
|
|
32
|
+
return { error: "Unauthorized", status: 401 };
|
|
33
|
+
}
|
|
34
|
+
return {
|
|
35
|
+
error: error instanceof Error ? error.message : "Failed to fetch attendance",
|
|
36
|
+
status: error && typeof error === "object" && "status" in error
|
|
37
|
+
? error.status
|
|
38
|
+
: 500,
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=fetchDayOrder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchDayOrder.js","sourceRoot":"","sources":["../../../src/fetch/fetchDayOrder.ts"],"names":[],"mappings":";;;;;AAEA,sCAwCC;AA1CD,kDAA0B;AAEnB,KAAK,UAAU,aAAa,CAAC,MAAc;IAChD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,IAAA,eAAK,EACzB,uFAAuF,EACvF;YACE,OAAO,EAAE;gBACP,MAAM,EAAE,KAAK;gBACb,iBAAiB,EAAE,gBAAgB;gBACnC,cAAc,EAAE,kDAAkD;gBAClE,gBAAgB,EAAE,OAAO;gBACzB,gBAAgB,EAAE,MAAM;gBACxB,gBAAgB,EAAE,aAAa;gBAC/B,kBAAkB,EAAE,gBAAgB;gBACpC,MAAM;gBACN,OAAO,EAAE,iCAAiC;gBAC1C,iBAAiB,EAAE,iCAAiC;aACrD;YACD,MAAM,EAAE,KAAK;SACd,CACF,CAAC;QACF,OAAO,OAAO,CAAC,IAAI,CAAC;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IACE,KAAK;YACL,OAAO,KAAK,KAAK,QAAQ;YACzB,QAAQ,IAAI,KAAK;YACjB,KAAK,CAAC,MAAM,KAAK,GAAG,EACpB,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;QAChD,CAAC;QAED,OAAO;YACL,KAAK,EACH,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,4BAA4B;YACvE,MAAM,EACJ,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,QAAQ,IAAI,KAAK;gBACrD,CAAC,CAAC,KAAK,CAAC,MAAM;gBACd,CAAC,CAAC,GAAG;SACV,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchLogout.d.ts","sourceRoot":"","sources":["../../../src/fetch/fetchLogout.ts"],"names":[],"mappings":"AAAA,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM;;;GAa/C"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.fetchLogout = fetchLogout;
|
|
4
|
+
async function fetchLogout(cookie) {
|
|
5
|
+
await fetch("https://academia.srmist.edu.in/accounts/p/10002227248/logout?servicename=ZohoCreator&serviceurl=https://academia.srmist.edu.in", {
|
|
6
|
+
method: "GET",
|
|
7
|
+
headers: {
|
|
8
|
+
Accept: "*/*",
|
|
9
|
+
"Content-Type": "application/x-www-form-urlencoded",
|
|
10
|
+
cookie,
|
|
11
|
+
},
|
|
12
|
+
});
|
|
13
|
+
return { message: "Logout successful", status: 200 };
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=fetchLogout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchLogout.js","sourceRoot":"","sources":["../../../src/fetch/fetchLogout.ts"],"names":[],"mappings":";;AAAA,kCAaC;AAbM,KAAK,UAAU,WAAW,CAAC,MAAc;IAC9C,MAAM,KAAK,CACT,gIAAgI,EAChI;QACE,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YACP,MAAM,EAAE,KAAK;YACb,cAAc,EAAE,mCAAmC;YACnD,MAAM;SACP;KACF,CACF,CAAC;IACF,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACvD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchMarks.d.ts","sourceRoot":"","sources":["../../../src/fetch/fetchMarks.ts"],"names":[],"mappings":"AAEA,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,gBAwC9C"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.fetchMarks = fetchMarks;
|
|
7
|
+
const axios_1 = __importDefault(require("axios"));
|
|
8
|
+
async function fetchMarks(cookie) {
|
|
9
|
+
try {
|
|
10
|
+
const request = await (0, axios_1.default)("https://academia.srmist.edu.in/srm_university/academia-academic-services/page/My_Attendance", {
|
|
11
|
+
headers: {
|
|
12
|
+
accept: "*/*",
|
|
13
|
+
"accept-language": "en-US,en;q=0.9",
|
|
14
|
+
"content-type": "application/x-www-form-urlencoded; charset=UTF-8",
|
|
15
|
+
"sec-fetch-dest": "empty",
|
|
16
|
+
"sec-fetch-mode": "cors",
|
|
17
|
+
"sec-fetch-site": "same-origin",
|
|
18
|
+
"x-requested-with": "XMLHttpRequest",
|
|
19
|
+
cookie,
|
|
20
|
+
Referer: "https://academia.srmist.edu.in/",
|
|
21
|
+
"Referrer-Policy": "strict-origin-when-cross-origin",
|
|
22
|
+
},
|
|
23
|
+
method: "GET",
|
|
24
|
+
});
|
|
25
|
+
return request.data;
|
|
26
|
+
}
|
|
27
|
+
catch (error) {
|
|
28
|
+
if (error &&
|
|
29
|
+
typeof error === "object" &&
|
|
30
|
+
"status" in error &&
|
|
31
|
+
error.status === 500) {
|
|
32
|
+
return { error: "Unauthorized", status: 401 };
|
|
33
|
+
}
|
|
34
|
+
return {
|
|
35
|
+
error: error instanceof Error ? error.message : "Failed to fetch attendance",
|
|
36
|
+
status: error && typeof error === "object" && "status" in error
|
|
37
|
+
? error.status
|
|
38
|
+
: 500,
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=fetchMarks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchMarks.js","sourceRoot":"","sources":["../../../src/fetch/fetchMarks.ts"],"names":[],"mappings":";;;;;AAEA,gCAwCC;AA1CD,kDAA0B;AAEnB,KAAK,UAAU,UAAU,CAAC,MAAc;IAC7C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,IAAA,eAAK,EACzB,6FAA6F,EAC7F;YACE,OAAO,EAAE;gBACP,MAAM,EAAE,KAAK;gBACb,iBAAiB,EAAE,gBAAgB;gBACnC,cAAc,EAAE,kDAAkD;gBAClE,gBAAgB,EAAE,OAAO;gBACzB,gBAAgB,EAAE,MAAM;gBACxB,gBAAgB,EAAE,aAAa;gBAC/B,kBAAkB,EAAE,gBAAgB;gBACpC,MAAM;gBACN,OAAO,EAAE,iCAAiC;gBAC1C,iBAAiB,EAAE,iCAAiC;aACrD;YACD,MAAM,EAAE,KAAK;SACd,CACF,CAAC;QACF,OAAO,OAAO,CAAC,IAAI,CAAC;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IACE,KAAK;YACL,OAAO,KAAK,KAAK,QAAQ;YACzB,QAAQ,IAAI,KAAK;YACjB,KAAK,CAAC,MAAM,KAAK,GAAG,EACpB,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;QAChD,CAAC;QAED,OAAO;YACL,KAAK,EACH,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,4BAA4B;YACvE,MAAM,EACJ,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,QAAQ,IAAI,KAAK;gBACrD,CAAC,CAAC,KAAK,CAAC,MAAM;gBACd,CAAC,CAAC,GAAG;SACV,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchTimetable.d.ts","sourceRoot":"","sources":["../../../src/fetch/fetchTimetable.ts"],"names":[],"mappings":"AAEA,wBAAsB,cAAc,CAAC,MAAM,EAAE,MAAM,gBA4ClD"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.fetchTimetable = fetchTimetable;
|
|
7
|
+
const dynamicUrl_1 = require("../../utils/dynamicUrl");
|
|
8
|
+
const axios_1 = __importDefault(require("axios"));
|
|
9
|
+
async function fetchTimetable(cookie) {
|
|
10
|
+
const url = await (0, dynamicUrl_1.courseDynamicUrl)();
|
|
11
|
+
try {
|
|
12
|
+
const request = await (0, axios_1.default)(url, {
|
|
13
|
+
headers: {
|
|
14
|
+
accept: "*/*",
|
|
15
|
+
"accept-language": "en-US,en;q=0.9",
|
|
16
|
+
"content-type": "application/x-www-form-urlencoded; charset=UTF-8",
|
|
17
|
+
"sec-ch-ua": '"Chromium";v="136", "Google Chrome";v="136", "Not.A/Brand";v="99"',
|
|
18
|
+
"sec-ch-ua-mobile": "?1",
|
|
19
|
+
"sec-ch-ua-platform": '"Android"',
|
|
20
|
+
"sec-fetch-dest": "empty",
|
|
21
|
+
"sec-fetch-mode": "cors",
|
|
22
|
+
"sec-fetch-site": "same-origin",
|
|
23
|
+
"x-requested-with": "XMLHttpRequest",
|
|
24
|
+
cookie,
|
|
25
|
+
Referer: "https://academia.srmist.edu.in/",
|
|
26
|
+
"Referrer-Policy": "strict-origin-when-cross-origin",
|
|
27
|
+
},
|
|
28
|
+
method: "GET",
|
|
29
|
+
});
|
|
30
|
+
return request.data;
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
if (error &&
|
|
34
|
+
typeof error === "object" &&
|
|
35
|
+
"status" in error &&
|
|
36
|
+
error.status === 500) {
|
|
37
|
+
return { error: "Unauthorized", status: 401 };
|
|
38
|
+
}
|
|
39
|
+
return {
|
|
40
|
+
error: error instanceof Error
|
|
41
|
+
? error.message
|
|
42
|
+
: "Failed to fetch course details",
|
|
43
|
+
status: error && typeof error === "object" && "status" in error
|
|
44
|
+
? error.status
|
|
45
|
+
: 500,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=fetchTimetable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchTimetable.js","sourceRoot":"","sources":["../../../src/fetch/fetchTimetable.ts"],"names":[],"mappings":";;;;;AAEA,wCA4CC;AA9CD,uDAA0D;AAC1D,kDAA0B;AACnB,KAAK,UAAU,cAAc,CAAC,MAAc;IACjD,MAAM,GAAG,GAAG,MAAM,IAAA,6BAAgB,GAAE,CAAC;IACrC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,IAAA,eAAK,EAAC,GAAG,EAAE;YAC/B,OAAO,EAAE;gBACP,MAAM,EAAE,KAAK;gBACb,iBAAiB,EAAE,gBAAgB;gBACnC,cAAc,EAAE,kDAAkD;gBAClE,WAAW,EACT,mEAAmE;gBACrE,kBAAkB,EAAE,IAAI;gBACxB,oBAAoB,EAAE,WAAW;gBACjC,gBAAgB,EAAE,OAAO;gBACzB,gBAAgB,EAAE,MAAM;gBACxB,gBAAgB,EAAE,aAAa;gBAC/B,kBAAkB,EAAE,gBAAgB;gBACpC,MAAM;gBACN,OAAO,EAAE,iCAAiC;gBAC1C,iBAAiB,EAAE,iCAAiC;aACrD;YACD,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,IAAI,CAAC;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IACE,KAAK;YACL,OAAO,KAAK,KAAK,QAAQ;YACzB,QAAQ,IAAI,KAAK;YACjB,KAAK,CAAC,MAAM,KAAK,GAAG,EACpB,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;QAChD,CAAC;QAED,OAAO;YACL,KAAK,EACH,KAAK,YAAY,KAAK;gBACpB,CAAC,CAAC,KAAK,CAAC,OAAO;gBACf,CAAC,CAAC,gCAAgC;YACtC,MAAM,EACJ,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,QAAQ,IAAI,KAAK;gBACrD,CAAC,CAAC,KAAK,CAAC,MAAM;gBACd,CAAC,CAAC,GAAG;SACV,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchUserInfo.d.ts","sourceRoot":"","sources":["../../../src/fetch/fetchUserInfo.ts"],"names":[],"mappings":"AAEA,wBAAsB,aAAa,CAAC,MAAM,EAAE,MAAM,gBAyCjD"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.fetchUserInfo = fetchUserInfo;
|
|
7
|
+
const axios_1 = __importDefault(require("axios"));
|
|
8
|
+
async function fetchUserInfo(cookie) {
|
|
9
|
+
try {
|
|
10
|
+
const request = await (0, axios_1.default)("https://academia.srmist.edu.in/srm_university/academia-academic-services/page/My_Time_Table_2023_24", {
|
|
11
|
+
headers: {
|
|
12
|
+
accept: "*/*",
|
|
13
|
+
"accept-language": "en-US,en;q=0.9",
|
|
14
|
+
"content-type": "application/x-www-form-urlencoded; charset=UTF-8",
|
|
15
|
+
"sec-fetch-dest": "empty",
|
|
16
|
+
"sec-fetch-mode": "cors",
|
|
17
|
+
"sec-fetch-site": "same-origin",
|
|
18
|
+
"x-requested-with": "XMLHttpRequest",
|
|
19
|
+
cookie,
|
|
20
|
+
Referer: "https://academia.srmist.edu.in/",
|
|
21
|
+
"Referrer-Policy": "strict-origin-when-cross-origin",
|
|
22
|
+
},
|
|
23
|
+
method: "GET",
|
|
24
|
+
});
|
|
25
|
+
return request.data;
|
|
26
|
+
}
|
|
27
|
+
catch (error) {
|
|
28
|
+
if (error &&
|
|
29
|
+
typeof error === "object" &&
|
|
30
|
+
"status" in error &&
|
|
31
|
+
error.status === 500) {
|
|
32
|
+
return { error: "Unauthorized", status: 401 };
|
|
33
|
+
}
|
|
34
|
+
// Handle other errors
|
|
35
|
+
return {
|
|
36
|
+
error: error instanceof Error ? error.message : "Failed to fetch user info",
|
|
37
|
+
status: error && typeof error === "object" && "status" in error
|
|
38
|
+
? error.status
|
|
39
|
+
: 500,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=fetchUserInfo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchUserInfo.js","sourceRoot":"","sources":["../../../src/fetch/fetchUserInfo.ts"],"names":[],"mappings":";;;;;AAEA,sCAyCC;AA3CD,kDAA0B;AAEnB,KAAK,UAAU,aAAa,CAAC,MAAc;IAChD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,IAAA,eAAK,EACzB,qGAAqG,EACrG;YACE,OAAO,EAAE;gBACP,MAAM,EAAE,KAAK;gBACb,iBAAiB,EAAE,gBAAgB;gBACnC,cAAc,EAAE,kDAAkD;gBAClE,gBAAgB,EAAE,OAAO;gBACzB,gBAAgB,EAAE,MAAM;gBACxB,gBAAgB,EAAE,aAAa;gBAC/B,kBAAkB,EAAE,gBAAgB;gBACpC,MAAM;gBACN,OAAO,EAAE,iCAAiC;gBAC1C,iBAAiB,EAAE,iCAAiC;aACrD;YACD,MAAM,EAAE,KAAK;SACd,CACF,CAAC;QAEF,OAAO,OAAO,CAAC,IAAI,CAAC;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IACE,KAAK;YACL,OAAO,KAAK,KAAK,QAAQ;YACzB,QAAQ,IAAI,KAAK;YACjB,KAAK,CAAC,MAAM,KAAK,GAAG,EACpB,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;QAChD,CAAC;QACD,sBAAsB;QACtB,OAAO;YACL,KAAK,EACH,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,2BAA2B;YACtE,MAAM,EACJ,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,QAAQ,IAAI,KAAK;gBACrD,CAAC,CAAC,KAAK,CAAC,MAAM;gBACd,CAAC,CAAC,GAAG;SACV,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { PasswordInput, UserResponse, AuthResult, UserValidationResult, LogoutResponse, TimetableResponse, AttendanceResponse, MarksResponse, CalendarResponse, CourseResponse, UserInfoResponse, DayOrderResponse, MarkDetail, Mark, Month, Day, CourseDetail, AttendanceDetail, UserInfo, DaySchedule, CourseSlot, SlotInfo } from "./type";
|
|
2
|
+
export type { PasswordInput, UserResponse, AuthResult, UserValidationResult, LogoutResponse, TimetableResponse, AttendanceResponse, MarksResponse, CalendarResponse, CourseResponse, UserInfoResponse, DayOrderResponse, MarkDetail, Mark, Month, Day, CourseDetail, AttendanceDetail, UserInfo, DaySchedule, CourseSlot, SlotInfo, };
|
|
3
|
+
export declare function verifyUser(username: string): Promise<UserValidationResult>;
|
|
4
|
+
export declare function verifyPassword({ identifier, digest, password, }: PasswordInput): Promise<AuthResult>;
|
|
5
|
+
export declare function logoutUser(cookie: string): Promise<LogoutResponse>;
|
|
6
|
+
export declare function getTimetable(cookie: string): Promise<TimetableResponse>;
|
|
7
|
+
export declare function getAttendance(cookie: string): Promise<AttendanceResponse>;
|
|
8
|
+
export declare function getMarks(cookie: string): Promise<MarksResponse>;
|
|
9
|
+
export declare function getUserInfo(cookie: string): Promise<UserInfoResponse>;
|
|
10
|
+
export declare function getCalendar(cookie: string): Promise<CalendarResponse>;
|
|
11
|
+
export declare function getDayOrder(cookie: string): Promise<DayOrderResponse>;
|
|
12
|
+
export declare function getCourse(cookie: string): Promise<CourseResponse>;
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAiBA,OAAO,EAEL,aAAa,EACb,YAAY,EACZ,UAAU,EACV,oBAAoB,EACpB,cAAc,EAEd,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAEhB,UAAU,EACV,IAAI,EACJ,KAAK,EACL,GAAG,EACH,YAAY,EACZ,gBAAgB,EAChB,QAAQ,EACR,WAAW,EACX,UAAU,EACV,QAAQ,EACT,MAAM,QAAQ,CAAC;AAKhB,YAAY,EAEV,aAAa,EACb,YAAY,EACZ,UAAU,EACV,oBAAoB,EACpB,cAAc,EAEd,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAEhB,UAAU,EACV,IAAI,EACJ,KAAK,EACL,GAAG,EACH,YAAY,EACZ,gBAAgB,EAChB,QAAQ,EACR,WAAW,EACX,UAAU,EACV,QAAQ,GACT,CAAC;AAGF,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,oBAAoB,CAAC,CAE/B;AAGD,wBAAsB,cAAc,CAAC,EACnC,UAAU,EACV,MAAM,EACN,QAAQ,GACT,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,CAErC;AAGD,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAExE;AAGD,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAM7E;AAGD,wBAAsB,aAAa,CACjC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,CAAC,CAM7B;AAGD,wBAAsB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAMrE;AAGD,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAM3E;AAGD,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAM3E;AAGD,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAM3E;AAGD,wBAAsB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAMvE"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.verifyUser = verifyUser;
|
|
4
|
+
exports.verifyPassword = verifyPassword;
|
|
5
|
+
exports.logoutUser = logoutUser;
|
|
6
|
+
exports.getTimetable = getTimetable;
|
|
7
|
+
exports.getAttendance = getAttendance;
|
|
8
|
+
exports.getMarks = getMarks;
|
|
9
|
+
exports.getUserInfo = getUserInfo;
|
|
10
|
+
exports.getCalendar = getCalendar;
|
|
11
|
+
exports.getDayOrder = getDayOrder;
|
|
12
|
+
exports.getCourse = getCourse;
|
|
13
|
+
const validatePassword_1 = require("./auth/validatePassword");
|
|
14
|
+
const validateUser_1 = require("./auth/validateUser");
|
|
15
|
+
const fetchAttendance_1 = require("./fetch/fetchAttendance");
|
|
16
|
+
const fetchCourseDetails_1 = require("./fetch/fetchCourseDetails");
|
|
17
|
+
const fetchMarks_1 = require("./fetch/fetchMarks");
|
|
18
|
+
const fetchUserInfo_1 = require("./fetch/fetchUserInfo");
|
|
19
|
+
const fetchLogout_1 = require("./fetch/fetchLogout");
|
|
20
|
+
const fetchDayOrder_1 = require("./fetch/fetchDayOrder");
|
|
21
|
+
const parseAttendance_1 = require("./parser/parseAttendance");
|
|
22
|
+
const parseCalender_1 = require("./parser/parseCalender");
|
|
23
|
+
const parseCourse_1 = require("./parser/parseCourse");
|
|
24
|
+
const parseMarks_1 = require("./parser/parseMarks");
|
|
25
|
+
const parseTimetable_1 = require("./parser/parseTimetable");
|
|
26
|
+
const parseUserInfo_1 = require("./parser/parseUserInfo");
|
|
27
|
+
const parseDayOrder_1 = require("./parser/parseDayOrder");
|
|
28
|
+
const fetchTimetable_1 = require("./fetch/fetchTimetable");
|
|
29
|
+
const fetchCalender_1 = require("./fetch/fetchCalender");
|
|
30
|
+
// Verify-user
|
|
31
|
+
async function verifyUser(username) {
|
|
32
|
+
return await (0, validateUser_1.validateUser)(username);
|
|
33
|
+
}
|
|
34
|
+
// Verify-password
|
|
35
|
+
async function verifyPassword({ identifier, digest, password, }) {
|
|
36
|
+
return await (0, validatePassword_1.validatePassword)({ identifier, digest, password });
|
|
37
|
+
}
|
|
38
|
+
// Logout
|
|
39
|
+
async function logoutUser(cookie) {
|
|
40
|
+
return await (0, fetchLogout_1.fetchLogout)(cookie);
|
|
41
|
+
}
|
|
42
|
+
// Get TimeTable
|
|
43
|
+
async function getTimetable(cookie) {
|
|
44
|
+
const fetch = await (0, fetchTimetable_1.fetchTimetable)(cookie);
|
|
45
|
+
if (fetch.error)
|
|
46
|
+
return { error: fetch.error, status: fetch.status };
|
|
47
|
+
const parse = await (0, parseTimetable_1.parseTimetable)(fetch);
|
|
48
|
+
if (parse.error)
|
|
49
|
+
return { error: parse.error, status: parse.status };
|
|
50
|
+
return parse;
|
|
51
|
+
}
|
|
52
|
+
// Get Attendance
|
|
53
|
+
async function getAttendance(cookie) {
|
|
54
|
+
const fetch = await (0, fetchAttendance_1.fetchAttendance)(cookie);
|
|
55
|
+
if (fetch.error)
|
|
56
|
+
return { error: fetch.error, status: fetch.status };
|
|
57
|
+
const parse = await (0, parseAttendance_1.parseAttendance)(fetch);
|
|
58
|
+
if (parse.error)
|
|
59
|
+
return { error: parse.error, status: parse.status };
|
|
60
|
+
return parse;
|
|
61
|
+
}
|
|
62
|
+
// Get Marks
|
|
63
|
+
async function getMarks(cookie) {
|
|
64
|
+
const fetch = await (0, fetchMarks_1.fetchMarks)(cookie);
|
|
65
|
+
if (fetch.error)
|
|
66
|
+
return { error: fetch.error, status: fetch.status };
|
|
67
|
+
const parse = await (0, parseMarks_1.parseMarks)(fetch);
|
|
68
|
+
if (parse.error)
|
|
69
|
+
return { error: parse.error, status: parse.status };
|
|
70
|
+
return parse;
|
|
71
|
+
}
|
|
72
|
+
// Get UserInfo
|
|
73
|
+
async function getUserInfo(cookie) {
|
|
74
|
+
const fetch = await (0, fetchUserInfo_1.fetchUserInfo)(cookie);
|
|
75
|
+
if (fetch.error)
|
|
76
|
+
return { error: fetch.error, status: fetch.status };
|
|
77
|
+
const parse = await (0, parseUserInfo_1.parseUserInfo)(fetch);
|
|
78
|
+
if (parse.error)
|
|
79
|
+
return { error: parse.error, status: parse.status };
|
|
80
|
+
return parse;
|
|
81
|
+
}
|
|
82
|
+
// Get Calendar
|
|
83
|
+
async function getCalendar(cookie) {
|
|
84
|
+
const fetch = await (0, fetchCalender_1.fetchCalendar)(cookie);
|
|
85
|
+
if (fetch.error)
|
|
86
|
+
return { error: fetch.error, status: fetch.status };
|
|
87
|
+
const parse = await (0, parseCalender_1.parseCalendar)(fetch);
|
|
88
|
+
if (parse.error)
|
|
89
|
+
return { error: parse.error, status: parse.status };
|
|
90
|
+
return parse;
|
|
91
|
+
}
|
|
92
|
+
// Get Day Order
|
|
93
|
+
async function getDayOrder(cookie) {
|
|
94
|
+
const fetch = await (0, fetchDayOrder_1.fetchDayOrder)(cookie);
|
|
95
|
+
if (fetch.error)
|
|
96
|
+
return { error: fetch.error, status: fetch.status };
|
|
97
|
+
const parse = await (0, parseDayOrder_1.parseDayOrder)(fetch);
|
|
98
|
+
if (parse.error)
|
|
99
|
+
return { error: parse.error, status: parse.status };
|
|
100
|
+
return parse;
|
|
101
|
+
}
|
|
102
|
+
// Get Course
|
|
103
|
+
async function getCourse(cookie) {
|
|
104
|
+
const fetch = await (0, fetchCourseDetails_1.fetchCourseDetails)(cookie);
|
|
105
|
+
if (fetch.error)
|
|
106
|
+
return { error: fetch.error, status: fetch.status };
|
|
107
|
+
const parse = await (0, parseCourse_1.parseCourseDetails)(fetch);
|
|
108
|
+
if (parse.error)
|
|
109
|
+
return { error: parse.error, status: parse.status };
|
|
110
|
+
return parse;
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseAttendance.d.ts","sourceRoot":"","sources":["../../../src/parser/parseAttendance.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAoB,MAAM,oBAAoB,CAAC;AAE1E,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,kBAAkB,CAAC,CAsD7B"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.parseAttendance = parseAttendance;
|
|
37
|
+
const cheerio = __importStar(require("cheerio"));
|
|
38
|
+
const attendanceStatus_1 = require("../../utils/attendanceStatus");
|
|
39
|
+
async function parseAttendance(response) {
|
|
40
|
+
try {
|
|
41
|
+
const match = response.match(/pageSanitizer\.sanitize\('(.*)'\);/s);
|
|
42
|
+
if (!match || !match[1]) {
|
|
43
|
+
return { error: "Failed to extract attendance data", status: 404 };
|
|
44
|
+
}
|
|
45
|
+
const encodedHtml = match[1];
|
|
46
|
+
const decodedHtml = encodedHtml
|
|
47
|
+
.replace(/\\x([0-9A-Fa-f]{2})/g, (_, hex) => String.fromCharCode(parseInt(hex, 16)))
|
|
48
|
+
.replace(/\\\\/g, "")
|
|
49
|
+
.replace(/\\'/g, "'");
|
|
50
|
+
const $ = cheerio.load(decodedHtml);
|
|
51
|
+
const table = $('table[style*="font-size :16px;"][bgcolor="#FAFAD2"]');
|
|
52
|
+
const rows = table.find("tr").slice(1).toArray();
|
|
53
|
+
const attendanceDetails = await Promise.all(rows.map(async (row) => {
|
|
54
|
+
const cols = $(row).find("td");
|
|
55
|
+
const get = (idx) => cols[idx] ? $(cols[idx]).text().trim() : "";
|
|
56
|
+
const data = {
|
|
57
|
+
courseCode: cols[0]
|
|
58
|
+
? $(cols[0]).contents().first().text().trim()
|
|
59
|
+
: "",
|
|
60
|
+
courseTitle: get(1),
|
|
61
|
+
courseCategory: get(2),
|
|
62
|
+
courseFaculty: get(3).split("(")[0].trim(),
|
|
63
|
+
courseSlot: get(4),
|
|
64
|
+
courseConducted: get(6) ? Number(get(6)) : 0,
|
|
65
|
+
courseAbsent: get(7) ? Number(get(7)) : 0,
|
|
66
|
+
courseAttendanceStatus: await (0, attendanceStatus_1.attendanceStatus)({
|
|
67
|
+
conducted: Number(get(6)),
|
|
68
|
+
absent: Number(get(7)),
|
|
69
|
+
}),
|
|
70
|
+
};
|
|
71
|
+
const courseAttendance = Number(((data.courseConducted - data.courseAbsent) / data.courseConducted) *
|
|
72
|
+
100).toFixed(2);
|
|
73
|
+
return {
|
|
74
|
+
...data,
|
|
75
|
+
courseAttendance,
|
|
76
|
+
};
|
|
77
|
+
}));
|
|
78
|
+
return { attendance: attendanceDetails, status: 200 };
|
|
79
|
+
}
|
|
80
|
+
catch (error) {
|
|
81
|
+
console.error("Error parsing attendance:", error);
|
|
82
|
+
return { error: "Failed to parse attendance", status: 500 };
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=parseAttendance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseAttendance.js","sourceRoot":"","sources":["../../../src/parser/parseAttendance.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseCalender.d.ts","sourceRoot":"","sources":["../../../src/parser/parseCalender.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAS,MAAM,kBAAkB,CAAC;AAE3D,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,gBAAgB,CAAC,CA6D3B"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.parseCalendar = parseCalendar;
|
|
37
|
+
const cheerio = __importStar(require("cheerio"));
|
|
38
|
+
async function parseCalendar(response) {
|
|
39
|
+
try {
|
|
40
|
+
const $outer = cheerio.load(response);
|
|
41
|
+
const zmlValue = $outer("div.zc-pb-embed-placeholder-content").attr("zmlvalue");
|
|
42
|
+
if (!zmlValue) {
|
|
43
|
+
return { error: "Failed to extract calendar details", status: 404 };
|
|
44
|
+
}
|
|
45
|
+
const $inner = cheerio.load(zmlValue);
|
|
46
|
+
const $mainTable = $inner("table[bgcolor='#FAFCFE']");
|
|
47
|
+
if ($mainTable.length === 0) {
|
|
48
|
+
return { error: "Could not find the main calendar table.", status: 500 };
|
|
49
|
+
}
|
|
50
|
+
const $headerRow = $mainTable.find("tr").first();
|
|
51
|
+
const $ths = $headerRow.find("th");
|
|
52
|
+
const monthsData = [];
|
|
53
|
+
for (let i = 0;; i++) {
|
|
54
|
+
const monthNameThIndex = i * 5 + 2;
|
|
55
|
+
if (monthNameThIndex >= $ths.length)
|
|
56
|
+
break;
|
|
57
|
+
const monthName = $ths.eq(monthNameThIndex).find("strong").text().trim();
|
|
58
|
+
if (monthName) {
|
|
59
|
+
monthsData.push({ month: monthName, days: [] });
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
break;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
const $dataRows = $mainTable.find("tr").slice(1).toArray();
|
|
66
|
+
$dataRows.forEach((rowElement) => {
|
|
67
|
+
const $tds = $inner(rowElement).find("td");
|
|
68
|
+
monthsData.forEach((month, monthIndex) => {
|
|
69
|
+
const offset = monthIndex * 5;
|
|
70
|
+
if (offset + 3 >= $tds.length)
|
|
71
|
+
return;
|
|
72
|
+
const date = $tds.eq(offset).text().trim();
|
|
73
|
+
if (!date)
|
|
74
|
+
return;
|
|
75
|
+
const day = $tds
|
|
76
|
+
.eq(offset + 1)
|
|
77
|
+
.text()
|
|
78
|
+
.trim();
|
|
79
|
+
const event = $tds
|
|
80
|
+
.eq(offset + 2)
|
|
81
|
+
.find("strong")
|
|
82
|
+
.text()
|
|
83
|
+
.trim();
|
|
84
|
+
const dayOrder = $tds
|
|
85
|
+
.eq(offset + 3)
|
|
86
|
+
.text()
|
|
87
|
+
.trim();
|
|
88
|
+
month.days.push({ date, day, event, dayOrder });
|
|
89
|
+
});
|
|
90
|
+
});
|
|
91
|
+
return { calendar: monthsData, status: 200 };
|
|
92
|
+
}
|
|
93
|
+
catch (error) {
|
|
94
|
+
console.error("Error parsing calendar:", error);
|
|
95
|
+
return { error: "Failed to parse calendar", status: 500 };
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=parseCalender.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseCalender.js","sourceRoot":"","sources":["../../../src/parser/parseCalender.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseCourse.d.ts","sourceRoot":"","sources":["../../../src/parser/parseCourse.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAgB,MAAM,gBAAgB,CAAC;AAE9D,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,cAAc,CAAC,CA2DzB"}
|