reddy-api-srm 1.0.11 → 1.1.0

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 (121) hide show
  1. package/dist/src/auth/login.d.ts +14 -0
  2. package/dist/src/auth/login.d.ts.map +1 -0
  3. package/dist/src/auth/login.js +96 -0
  4. package/dist/src/auth/login.js.map +1 -0
  5. package/dist/src/auth/sessionSeed.d.ts +7 -0
  6. package/dist/src/auth/sessionSeed.d.ts.map +1 -0
  7. package/dist/src/auth/sessionSeed.js +40 -0
  8. package/dist/src/auth/sessionSeed.js.map +1 -0
  9. package/dist/src/auth/terminateSessions.d.ts +9 -24
  10. package/dist/src/auth/terminateSessions.d.ts.map +1 -0
  11. package/dist/src/auth/terminateSessions.js +99 -100
  12. package/dist/src/auth/terminateSessions.js.map +1 -0
  13. package/dist/src/auth/validatePassword.d.ts +1 -1
  14. package/dist/src/auth/validatePassword.d.ts.map +1 -1
  15. package/dist/src/auth/validatePassword.js +138 -87
  16. package/dist/src/auth/validatePassword.js.map +1 -1
  17. package/dist/src/auth/validateUser.d.ts +1 -1
  18. package/dist/src/auth/validateUser.d.ts.map +1 -1
  19. package/dist/src/auth/validateUser.js +14 -40
  20. package/dist/src/auth/validateUser.js.map +1 -1
  21. package/dist/src/fetch/fetchAttendance.d.ts +5 -1
  22. package/dist/src/fetch/fetchAttendance.d.ts.map +1 -1
  23. package/dist/src/fetch/fetchAttendance.js +3 -33
  24. package/dist/src/fetch/fetchAttendance.js.map +1 -1
  25. package/dist/src/fetch/fetchCalender.d.ts +5 -1
  26. package/dist/src/fetch/fetchCalender.d.ts.map +1 -1
  27. package/dist/src/fetch/fetchCalender.js +4 -37
  28. package/dist/src/fetch/fetchCalender.js.map +1 -1
  29. package/dist/src/fetch/fetchCourseDetails.d.ts +5 -1
  30. package/dist/src/fetch/fetchCourseDetails.d.ts.map +1 -1
  31. package/dist/src/fetch/fetchCourseDetails.js +5 -40
  32. package/dist/src/fetch/fetchCourseDetails.js.map +1 -1
  33. package/dist/src/fetch/fetchDayOrder.d.ts +5 -1
  34. package/dist/src/fetch/fetchDayOrder.d.ts.map +1 -1
  35. package/dist/src/fetch/fetchDayOrder.js +3 -33
  36. package/dist/src/fetch/fetchDayOrder.js.map +1 -1
  37. package/dist/src/fetch/fetchLogout.d.ts +2 -4
  38. package/dist/src/fetch/fetchLogout.d.ts.map +1 -1
  39. package/dist/src/fetch/fetchLogout.js +15 -9
  40. package/dist/src/fetch/fetchLogout.js.map +1 -1
  41. package/dist/src/fetch/fetchMarks.d.ts +5 -1
  42. package/dist/src/fetch/fetchMarks.d.ts.map +1 -1
  43. package/dist/src/fetch/fetchMarks.js +4 -33
  44. package/dist/src/fetch/fetchMarks.js.map +1 -1
  45. package/dist/src/fetch/fetchPage.d.ts +6 -0
  46. package/dist/src/fetch/fetchPage.d.ts.map +1 -0
  47. package/dist/src/fetch/fetchPage.js +58 -0
  48. package/dist/src/fetch/fetchPage.js.map +1 -0
  49. package/dist/src/fetch/fetchTimetable.d.ts +5 -1
  50. package/dist/src/fetch/fetchTimetable.d.ts.map +1 -1
  51. package/dist/src/fetch/fetchTimetable.js +5 -40
  52. package/dist/src/fetch/fetchTimetable.js.map +1 -1
  53. package/dist/src/fetch/fetchUserInfo.d.ts +5 -1
  54. package/dist/src/fetch/fetchUserInfo.d.ts.map +1 -1
  55. package/dist/src/fetch/fetchUserInfo.js +6 -35
  56. package/dist/src/fetch/fetchUserInfo.js.map +1 -1
  57. package/dist/src/index.d.ts +39 -5
  58. package/dist/src/index.d.ts.map +1 -1
  59. package/dist/src/index.js +86 -33
  60. package/dist/src/index.js.map +1 -1
  61. package/dist/src/parser/decodeHtml.d.ts +6 -0
  62. package/dist/src/parser/decodeHtml.d.ts.map +1 -0
  63. package/dist/src/parser/decodeHtml.js +18 -0
  64. package/dist/src/parser/decodeHtml.js.map +1 -0
  65. package/dist/src/parser/parseAttendance.d.ts +2 -2
  66. package/dist/src/parser/parseAttendance.d.ts.map +1 -1
  67. package/dist/src/parser/parseAttendance.js +68 -16
  68. package/dist/src/parser/parseAttendance.js.map +1 -1
  69. package/dist/src/parser/parseCalender.d.ts +2 -2
  70. package/dist/src/parser/parseCalender.d.ts.map +1 -1
  71. package/dist/src/parser/parseCalender.js +125 -43
  72. package/dist/src/parser/parseCalender.js.map +1 -1
  73. package/dist/src/parser/parseCourse.d.ts +2 -2
  74. package/dist/src/parser/parseCourse.d.ts.map +1 -1
  75. package/dist/src/parser/parseCourse.js +19 -8
  76. package/dist/src/parser/parseCourse.js.map +1 -1
  77. package/dist/src/parser/parseDayOrder.d.ts +2 -2
  78. package/dist/src/parser/parseDayOrder.d.ts.map +1 -1
  79. package/dist/src/parser/parseDayOrder.js +31 -12
  80. package/dist/src/parser/parseDayOrder.js.map +1 -1
  81. package/dist/src/parser/parseMarks.d.ts +2 -2
  82. package/dist/src/parser/parseMarks.d.ts.map +1 -1
  83. package/dist/src/parser/parseMarks.js +23 -11
  84. package/dist/src/parser/parseMarks.js.map +1 -1
  85. package/dist/src/parser/parseTimetable.d.ts +2 -2
  86. package/dist/src/parser/parseTimetable.d.ts.map +1 -1
  87. package/dist/src/parser/parseTimetable.js +51 -27
  88. package/dist/src/parser/parseTimetable.js.map +1 -1
  89. package/dist/src/parser/parseUserInfo.d.ts +2 -2
  90. package/dist/src/parser/parseUserInfo.d.ts.map +1 -1
  91. package/dist/src/parser/parseUserInfo.js +57 -25
  92. package/dist/src/parser/parseUserInfo.js.map +1 -1
  93. package/dist/src/type/attendance.d.ts +5 -5
  94. package/dist/src/type/attendance.d.ts.map +1 -1
  95. package/dist/src/type/auth.d.ts +33 -5
  96. package/dist/src/type/auth.d.ts.map +1 -1
  97. package/dist/src/type/calendar.d.ts.map +1 -1
  98. package/dist/src/type/common.d.ts.map +1 -1
  99. package/dist/src/type/course.d.ts.map +1 -1
  100. package/dist/src/type/dayOrder.d.ts.map +1 -1
  101. package/dist/src/type/index.d.ts +0 -1
  102. package/dist/src/type/index.d.ts.map +1 -1
  103. package/dist/src/type/index.js +0 -1
  104. package/dist/src/type/index.js.map +1 -1
  105. package/dist/src/type/marks.d.ts.map +1 -1
  106. package/dist/src/type/timetable.d.ts.map +1 -1
  107. package/dist/src/type/user.d.ts +1 -0
  108. package/dist/src/type/user.d.ts.map +1 -1
  109. package/dist/src/utils/attendanceStatus.d.ts +8 -0
  110. package/dist/src/utils/attendanceStatus.d.ts.map +1 -0
  111. package/dist/src/utils/attendanceStatus.js +20 -0
  112. package/dist/src/utils/attendanceStatus.js.map +1 -0
  113. package/dist/src/utils/data.d.ts +11 -0
  114. package/dist/src/utils/data.d.ts.map +1 -0
  115. package/dist/src/utils/data.js +36 -0
  116. package/dist/src/utils/data.js.map +1 -0
  117. package/dist/src/utils/dynamicUrl.d.ts +14 -0
  118. package/dist/src/utils/dynamicUrl.d.ts.map +1 -0
  119. package/dist/src/utils/dynamicUrl.js +105 -0
  120. package/dist/src/utils/dynamicUrl.js.map +1 -0
  121. package/package.json +2 -2
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.validatePassword = validatePassword;
4
+ const sessionSeed_1 = require("./sessionSeed");
5
+ // ─── Cookie helpers ──────────────────────────────────────────────────────────
4
6
  function parseCookiePairsFromSetCookie(headers) {
5
7
  const pairs = [];
6
8
  for (const header of headers) {
@@ -40,46 +42,28 @@ function getFlowIdFromUrl(urlValue) {
40
42
  return null;
41
43
  try {
42
44
  const u = new URL(urlValue, "https://academia.srmist.edu.in");
43
- return u.searchParams.get("flowId") ?? u.searchParams.get("flow_id") ?? null;
45
+ return (u.searchParams.get("flowId") ??
46
+ u.searchParams.get("flow_id") ??
47
+ null);
44
48
  }
45
- catch (_) {
49
+ catch {
46
50
  return null;
47
51
  }
48
52
  }
49
- async function getSigninSessionHeaders() {
50
- const signinUrl = "https://academia.srmist.edu.in/accounts/p/40-10002227248/signin?hide_fp=true&servicename=ZohoCreator&service_language=en&dcc=true&serviceurl=https%3A%2F%2Facademia.srmist.edu.in%2Fportal%2Facademia-academic-services%2FredirectFromLogin";
51
- const seedRes = await fetch(signinUrl, {
52
- method: "GET",
53
- redirect: "manual",
54
- headers: {
55
- accept: "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
56
- "accept-language": "en-US,en;q=0.9",
57
- },
58
- });
59
- const setCookieHeaders = (typeof seedRes.headers.getSetCookie === "function"
60
- ? seedRes.headers.getSetCookie()
61
- : [seedRes.headers.get("set-cookie")].filter(Boolean));
62
- const cookiePairs = [];
63
- let csrfToken = null;
64
- for (const header of setCookieHeaders) {
65
- const pair = header.split(";")[0]?.trim();
66
- if (!pair || !pair.includes("="))
67
- continue;
68
- cookiePairs.push(pair);
69
- if (pair.startsWith("iamcsr="))
70
- csrfToken = pair.slice("iamcsr=".length);
71
- if (!csrfToken && pair.startsWith("_zcsr_tmp="))
72
- csrfToken = pair.slice("_zcsr_tmp=".length);
73
- }
74
- return {
75
- cookie: cookiePairs.join("; "),
76
- csrfToken,
77
- };
53
+ function getSetCookieHeaders(res) {
54
+ return typeof res.headers.getSetCookie === "function"
55
+ ? res.headers.getSetCookie()
56
+ : [res.headers.get("set-cookie")].filter(Boolean);
78
57
  }
58
+ // ─── Main password validation ────────────────────────────────────────────────
79
59
  async function validatePassword({ identifier, digest, password, }) {
80
60
  let res;
81
61
  try {
82
- const seed = await getSigninSessionHeaders();
62
+ const seed = await (0, sessionSeed_1.getSigninSessionHeaders)();
63
+ // Use URLSearchParams for safe encoding of the password body
64
+ const passwordBody = JSON.stringify({
65
+ passwordauth: { password },
66
+ });
83
67
  res = await fetch(`https://academia.srmist.edu.in/accounts/p/40-10002227248/signin/v2/primary/${identifier}/password?digest=${digest}&cli_time=${Date.now()}&servicename=ZohoCreator&service_language=en&serviceurl=https%3A%2F%2Facademia.srmist.edu.in%2Fportal%2Facademia-academic-services%2FredirectFromLogin`, {
84
68
  headers: {
85
69
  accept: "*/*",
@@ -88,53 +72,97 @@ async function validatePassword({ identifier, digest, password, }) {
88
72
  "sec-fetch-dest": "empty",
89
73
  "sec-fetch-mode": "cors",
90
74
  "sec-fetch-site": "same-origin",
91
- ...(seed.csrfToken ? { "x-zcsrf-token": `iamcsrcoo=${seed.csrfToken}` } : {}),
75
+ ...(seed.csrfToken
76
+ ? { "x-zcsrf-token": `iamcsrcoo=${seed.csrfToken}` }
77
+ : {}),
92
78
  ...(seed.cookie ? { cookie: seed.cookie } : {}),
93
79
  Referer: "https://academia.srmist.edu.in/accounts/p/40-10002227248/signin?hide_fp=true&servicename=ZohoCreator&service_language=en&dcc=true&serviceurl=https%3A%2F%2Facademia.srmist.edu.in%2Fportal%2Facademia-academic-services%2FredirectFromLogin",
94
80
  "Referrer-Policy": "strict-origin-when-cross-origin",
95
81
  },
96
- body: `{"passwordauth":{"password":"${password}"}}`,
82
+ body: passwordBody,
97
83
  method: "POST",
98
84
  redirect: "manual",
99
85
  });
100
86
  const location = res.headers.get("location") ?? "";
101
- if ([301, 302, 303, 307, 308].includes(res.status) && location.includes("sessions-reminder")) {
87
+ // ── Detect redirect to sessions-reminder page ────────────────────────
88
+ if ([301, 302, 303, 307, 308].includes(res.status) &&
89
+ location.includes("sessions-reminder")) {
90
+ const flowId = getFlowIdFromUrl(location);
91
+ return {
92
+ data: {
93
+ statusCode: 435,
94
+ message: "Maximum concurrent sessions reached. Please terminate existing sessions to continue.",
95
+ captcha: { required: false, digest: null },
96
+ isConcurrentLimit: true,
97
+ flowId,
98
+ },
99
+ isAuthenticated: false,
100
+ };
101
+ }
102
+ // ── Detect followed redirect to sessions-reminder ────────────────────
103
+ if (res.redirected &&
104
+ res.url &&
105
+ res.url.includes("sessions-reminder")) {
102
106
  let flowId = null;
103
107
  try {
104
- const u = new URL(location, "https://academia.srmist.edu.in");
105
- flowId = u.searchParams.get("flowId") ?? u.searchParams.get("flow_id") ?? null;
108
+ const u = new URL(res.url);
109
+ flowId =
110
+ u.searchParams.get("flowId") ??
111
+ u.searchParams.get("flow_id") ??
112
+ null;
106
113
  }
107
- catch (_) { }
108
- return { data: { statusCode: 435, message: "Maximum concurrent sessions reached. Please terminate existing sessions to continue.", captcha: { required: false, digest: null }, isConcurrentLimit: true, flowId }, isAuthenticated: false };
109
- }
110
- // ── Detect redirect to Zoho sessions-reminder page ───────────────────────
111
- if (res.redirected && res.url && res.url.includes("sessions-reminder")) {
112
- let flowId = null;
113
- try { const u = new URL(res.url); flowId = u.searchParams.get("flowId") ?? u.searchParams.get("flow_id") ?? null; } catch (_) {}
114
- return { data: { statusCode: 435, message: "Maximum concurrent sessions reached. Please terminate existing sessions to continue.", captcha: { required: false, digest: null }, isConcurrentLimit: true, flowId }, isAuthenticated: false };
114
+ catch {
115
+ // ignore
116
+ }
117
+ return {
118
+ data: {
119
+ statusCode: 435,
120
+ message: "Maximum concurrent sessions reached. Please terminate existing sessions to continue.",
121
+ captcha: { required: false, digest: null },
122
+ isConcurrentLimit: true,
123
+ flowId,
124
+ },
125
+ isAuthenticated: false,
126
+ };
115
127
  }
116
128
  // Read body as text first — safely handles non-JSON responses
117
129
  const bodyText = await res.text();
118
130
  let response;
119
131
  try {
120
132
  response = JSON.parse(bodyText);
121
- } catch (_) {
133
+ }
134
+ catch {
122
135
  const lower = bodyText.toLowerCase();
123
- if (lower.includes("sessions-reminder") || (lower.includes("concurrent") && lower.includes("session"))) {
124
- return { data: { statusCode: 435, message: "Maximum concurrent sessions reached. Please terminate existing sessions to continue.", captcha: { required: false, digest: null }, isConcurrentLimit: true, flowId: null }, isAuthenticated: false };
136
+ if (lower.includes("sessions-reminder") ||
137
+ (lower.includes("concurrent") && lower.includes("session"))) {
138
+ return {
139
+ data: {
140
+ statusCode: 435,
141
+ message: "Maximum concurrent sessions reached. Please terminate existing sessions to continue.",
142
+ captcha: { required: false, digest: null },
143
+ isConcurrentLimit: true,
144
+ flowId: null,
145
+ },
146
+ isAuthenticated: false,
147
+ };
125
148
  }
126
- return { error: "Internal Server Error", errorReason: new Error("Non-JSON response from login endpoint") };
149
+ return {
150
+ error: "Internal Server Error",
151
+ errorReason: new Error("Non-JSON response from login endpoint"),
152
+ };
127
153
  }
128
- const responseSetCookieHeaders = (typeof res.headers.getSetCookie === "function"
129
- ? res.headers.getSetCookie()
130
- : [res.headers.get("set-cookie")].filter(Boolean));
154
+ const responseSetCookieHeaders = getSetCookieHeaders(res);
131
155
  const responseCookies = parseCookiePairsFromSetCookie(responseSetCookieHeaders).join("; ");
132
156
  const sessionCookie = mergeCookies(seed.cookie, responseCookies);
133
- const sessionCsrfToken = getCookieValue(sessionCookie, "iamcsr") ?? getCookieValue(sessionCookie, "_zcsr_tmp");
134
- const preAnnouncementRedirect = response?.passwordauth?.redirect_uri ?? null;
157
+ const sessionCsrfToken = getCookieValue(sessionCookie, "iamcsr") ??
158
+ getCookieValue(sessionCookie, "_zcsr_tmp");
159
+ // ── Pre-announcement flow (block-sessions) ──────────────────────────
160
+ const preAnnouncementRedirect = response?.passwordauth?.redirect_uri;
135
161
  const isPreAnnouncementFlow = response?.code === "SI303" ||
136
162
  (typeof response?.message === "string" &&
137
- response.message.toLowerCase().includes("pre announcement")) ||
163
+ response.message
164
+ .toLowerCase()
165
+ .includes("pre announcement")) ||
138
166
  (typeof preAnnouncementRedirect === "string" &&
139
167
  preAnnouncementRedirect.includes("/preannouncement/block-sessions"));
140
168
  if (isPreAnnouncementFlow) {
@@ -151,11 +179,14 @@ async function validatePassword({ identifier, digest, password, }) {
151
179
  isAuthenticated: false,
152
180
  };
153
181
  }
154
- if (response.status_code === 201 || response.status_code === 200) {
155
- if (!responseSetCookieHeaders.length)
156
- throw new Error("Couldn't able to get cookie from response header ");
182
+ // ── Successful authentication (200/201) ─────────────────────────────
183
+ if (response.status_code === 201 ||
184
+ response.status_code === 200) {
185
+ if (!responseSetCookieHeaders.length) {
186
+ throw new Error("Couldn't able to get cookie from response header");
187
+ }
157
188
  let extractedCookies = sessionCookie;
158
- // Complete the service redirect once to receive portal/session cookies needed by data APIs.
189
+ // Complete the service redirect to get portal/session cookies
159
190
  try {
160
191
  const bridgeRes = await fetch("https://academia.srmist.edu.in/portal/academia-academic-services/redirectFromLogin", {
161
192
  method: "GET",
@@ -165,26 +196,28 @@ async function validatePassword({ identifier, digest, password, }) {
165
196
  cookie: extractedCookies,
166
197
  },
167
198
  });
168
- const bridgeSetCookies = (typeof bridgeRes.headers.getSetCookie === "function"
169
- ? bridgeRes.headers.getSetCookie()
170
- : [bridgeRes.headers.get("set-cookie")].filter(Boolean));
199
+ const bridgeSetCookies = getSetCookieHeaders(bridgeRes);
171
200
  if (bridgeSetCookies.length) {
172
201
  extractedCookies = mergeCookies(extractedCookies, parseCookiePairsFromSetCookie(bridgeSetCookies).join("; "));
173
202
  }
174
203
  }
175
- catch (_) { }
176
- const data = {
177
- cookies: extractedCookies,
178
- statusCode: response.status_code,
204
+ catch {
205
+ // non-fatal: we got auth cookies at least
206
+ }
207
+ return {
208
+ data: {
209
+ cookies: extractedCookies,
210
+ statusCode: response.status_code,
211
+ },
212
+ isAuthenticated: true,
179
213
  };
180
- return { data, isAuthenticated: true };
181
214
  }
215
+ // ── Redirect-based success ──────────────────────────────────────────
182
216
  if ([301, 302, 303, 307, 308].includes(res.status) &&
183
- (location.includes("redirectFromLogin") || location.includes("/portal/academia-academic-services"))) {
184
- const setCookieHeaders = (typeof res.headers.getSetCookie === "function"
185
- ? res.headers.getSetCookie()
186
- : [res.headers.get("set-cookie")].filter(Boolean));
187
- const loginCookies = parseCookiePairsFromSetCookie(setCookieHeaders).join("; ");
217
+ (location.includes("redirectFromLogin") ||
218
+ location.includes("/portal/academia-academic-services"))) {
219
+ const setCookieHdrs = getSetCookieHeaders(res);
220
+ const loginCookies = parseCookiePairsFromSetCookie(setCookieHdrs).join("; ");
188
221
  let extractedCookies = mergeCookies(seed.cookie, loginCookies);
189
222
  try {
190
223
  const redirectUrl = new URL(location, "https://academia.srmist.edu.in").toString();
@@ -196,14 +229,14 @@ async function validatePassword({ identifier, digest, password, }) {
196
229
  cookie: extractedCookies,
197
230
  },
198
231
  });
199
- const bridgeSetCookies = (typeof bridgeRes.headers.getSetCookie === "function"
200
- ? bridgeRes.headers.getSetCookie()
201
- : [bridgeRes.headers.get("set-cookie")].filter(Boolean));
232
+ const bridgeSetCookies = getSetCookieHeaders(bridgeRes);
202
233
  if (bridgeSetCookies.length) {
203
234
  extractedCookies = mergeCookies(extractedCookies, parseCookiePairsFromSetCookie(bridgeSetCookies).join("; "));
204
235
  }
205
236
  }
206
- catch (_) { }
237
+ catch {
238
+ // non-fatal
239
+ }
207
240
  if (extractedCookies.length > 1) {
208
241
  return {
209
242
  data: {
@@ -214,10 +247,11 @@ async function validatePassword({ identifier, digest, password, }) {
214
247
  };
215
248
  }
216
249
  }
217
- // ── Concurrent / device-limit detection ──────────────────────────────────
218
- const msg = (response.localized_message ?? response.message ?? "").toLowerCase();
219
- const isConcurrentLimit =
220
- response.status_code === 435 ||
250
+ // ── Concurrent / device-limit detection ─────────────────────────────
251
+ const msg = (response.localized_message ??
252
+ response.message ??
253
+ "").toLowerCase();
254
+ const isConcurrentLimit = response.status_code === 435 ||
221
255
  msg.includes("concurrent") ||
222
256
  msg.includes("maximum number") ||
223
257
  msg.includes("device limit") ||
@@ -226,8 +260,7 @@ async function validatePassword({ identifier, digest, password, }) {
226
260
  !!response.flowId ||
227
261
  !!response.flow_id ||
228
262
  !!response.concurrent_flow_id;
229
- const flowId =
230
- response.flowId ??
263
+ const flowId = response.flowId ??
231
264
  response.flow_id ??
232
265
  response.concurrent_flow_id ??
233
266
  response.login_flow_id ??
@@ -235,20 +268,38 @@ async function validatePassword({ identifier, digest, password, }) {
235
268
  const captchaRequired = msg.includes("captcha");
236
269
  const data = {
237
270
  statusCode: response.status_code,
238
- message: response.localized_message ?? response.message,
271
+ message: response.localized_message ??
272
+ response.message,
239
273
  captcha: captchaRequired
240
- ? { required: true, digest: response.cdigest }
274
+ ? {
275
+ required: true,
276
+ digest: response.cdigest,
277
+ }
241
278
  : { required: false, digest: null },
242
279
  isConcurrentLimit,
243
280
  flowId,
281
+ sessionCookie,
282
+ csrfToken: sessionCsrfToken,
244
283
  };
245
284
  return { data, isAuthenticated: false };
246
285
  }
247
286
  catch (e) {
248
- if (res && res.redirected && res.url && res.url.includes("sessions-reminder")) {
249
- return { data: { statusCode: 435, message: "Maximum concurrent sessions reached.", captcha: { required: false, digest: null }, isConcurrentLimit: true, flowId: null }, isAuthenticated: false };
287
+ if (res &&
288
+ res.redirected &&
289
+ res.url &&
290
+ res.url.includes("sessions-reminder")) {
291
+ return {
292
+ data: {
293
+ statusCode: 435,
294
+ message: "Maximum concurrent sessions reached.",
295
+ captcha: { required: false, digest: null },
296
+ isConcurrentLimit: true,
297
+ flowId: null,
298
+ },
299
+ isAuthenticated: false,
300
+ };
250
301
  }
251
302
  return { error: "Internal Server Error", errorReason: e };
252
303
  }
253
304
  }
254
- //# sourceMappingURL=validatePassword.js.map
305
+ //# sourceMappingURL=validatePassword.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validatePassword.js","sourceRoot":"","sources":["../../../src/auth/validatePassword.ts"],"names":[],"mappings":";;AAEA,4CAkEC;AAlEM,KAAK,UAAU,gBAAgB,CAAC,EACrC,UAAU,EACV,MAAM,EACN,QAAQ,GACM;IACd,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CACrB,8EAA8E,UAAU,oBAAoB,MAAM,aAAa,IAAI,CAAC,GAAG,EAAE,wJAAwJ,EACjS;YACE,OAAO,EAAE;gBACP,MAAM,EAAE,KAAK;gBACb,iBAAiB,EAAE,gBAAgB;gBACnC,cAAc,EAAE,iDAAiD;gBACjE,gBAAgB,EAAE,OAAO;gBACzB,gBAAgB,EAAE,MAAM;gBACxB,gBAAgB,EAAE,aAAa;gBAC/B,eAAe,EAAE,gDAAgD;gBACjE,MAAM,EACJ,6cAA6c;gBAC/c,OAAO,EACL,qTAAqT;gBACvT,iBAAiB,EAAE,iCAAiC;aACrD;YACD,IAAI,EAAE,gCAAgC,QAAQ,KAAK;YACnD,MAAM,EAAE,MAAM;SACf,CACF,CAAC;QAEF,MAAM,QAAQ,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAqB,CAAC;QAExD,IAAI,QAAQ,CAAC,WAAW,KAAK,GAAG,EAAE,CAAC;YACjC,iDAAiD;YACjD,MAAM,eAAe,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YACtD,IAAI,CAAC,eAAe;gBAClB,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;YACvE,MAAM,OAAO,GAAG;gBACd,GAAG,eAAe,CAAC,QAAQ,CACzB,oDAAoD,CACrD;aACF,CAAC;YACF,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;YACnE,MAAM,IAAI,GAAG;gBACX,OAAO,EAAE,gBAAgB;gBACzB,UAAU,EAAE,GAAG;aAChB,CAAC;YACF,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;QACzC,CAAC;QAED,MAAM,eAAe,GAAG,QAAQ,CAAC,iBAAiB;YAChD,EAAE,WAAW,EAAE;YACf,EAAE,QAAQ,CAAC,SAAS,CAAC;YACrB,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,KAAK,CAAC;QAEV,MAAM,IAAI,GAAG;YACX,UAAU,EAAE,QAAQ,CAAC,WAAW;YAChC,OAAO,EAAE,QAAQ,CAAC,iBAAiB;YACnC,OAAO,EAAE,eAAe;gBACtB,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE;gBAC9C,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE;SACtC,CAAC;QAEF,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;IAC1C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,EAAE,KAAK,EAAE,uBAAuB,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;IAC5D,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"validatePassword.js","sourceRoot":"","sources":["../../../src/auth/validatePassword.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import { UserValidationResult } from "../type/auth";
1
+ import type { UserValidationResult } from "../type/auth";
2
2
  export declare function validateUser(username: string): Promise<UserValidationResult>;
3
3
  //# sourceMappingURL=validateUser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validateUser.d.ts","sourceRoot":"","sources":["../../../src/auth/validateUser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAA6B,MAAM,cAAc,CAAC;AAE/E,wBAAsB,YAAY,CAChC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,oBAAoB,CAAC,CA4C/B"}
1
+ {"version":3,"file":"validateUser.d.ts","sourceRoot":"","sources":["../../../src/auth/validateUser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAGzD,wBAAsB,YAAY,CAChC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,oBAAoB,CAAC,CAgD/B"}
@@ -1,40 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.validateUser = validateUser;
4
- async function getSigninSessionHeaders() {
5
- const signinUrl = "https://academia.srmist.edu.in/accounts/p/40-10002227248/signin?hide_fp=true&servicename=ZohoCreator&service_language=en&dcc=true&serviceurl=https%3A%2F%2Facademia.srmist.edu.in%2Fportal%2Facademia-academic-services%2FredirectFromLogin";
6
- const seedRes = await fetch(signinUrl, {
7
- method: "GET",
8
- redirect: "manual",
9
- headers: {
10
- accept: "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
11
- "accept-language": "en-US,en;q=0.9",
12
- },
13
- });
14
- const setCookieHeaders = (typeof seedRes.headers.getSetCookie === "function"
15
- ? seedRes.headers.getSetCookie()
16
- : [seedRes.headers.get("set-cookie")].filter(Boolean));
17
- const cookiePairs = [];
18
- let csrfToken = null;
19
- for (const header of setCookieHeaders) {
20
- const pair = header.split(";")[0]?.trim();
21
- if (!pair || !pair.includes("="))
22
- continue;
23
- cookiePairs.push(pair);
24
- if (pair.startsWith("iamcsr="))
25
- csrfToken = pair.slice("iamcsr=".length);
26
- if (!csrfToken && pair.startsWith("_zcsr_tmp="))
27
- csrfToken = pair.slice("_zcsr_tmp=".length);
28
- }
29
- return {
30
- cookie: cookiePairs.join("; "),
31
- csrfToken,
32
- };
33
- }
4
+ const sessionSeed_1 = require("./sessionSeed");
34
5
  async function validateUser(username) {
35
6
  try {
36
- const seed = await getSigninSessionHeaders();
37
- const res = await fetch(`https://academia.srmist.edu.in/accounts/p/40-10002227248/signin/v2/lookup/${username}`, {
7
+ const seed = await (0, sessionSeed_1.getSigninSessionHeaders)();
8
+ const res = await fetch(`https://academia.srmist.edu.in/accounts/p/40-10002227248/signin/v2/lookup/${encodeURIComponent(username)}`, {
38
9
  headers: {
39
10
  accept: "*/*",
40
11
  "accept-language": "en-US,en;q=0.9",
@@ -42,7 +13,9 @@ async function validateUser(username) {
42
13
  "sec-fetch-dest": "empty",
43
14
  "sec-fetch-mode": "cors",
44
15
  "sec-fetch-site": "same-origin",
45
- ...(seed.csrfToken ? { "x-zcsrf-token": `iamcsrcoo=${seed.csrfToken}` } : {}),
16
+ ...(seed.csrfToken
17
+ ? { "x-zcsrf-token": `iamcsrcoo=${seed.csrfToken}` }
18
+ : {}),
46
19
  ...(seed.cookie ? { cookie: seed.cookie } : {}),
47
20
  Referer: "https://academia.srmist.edu.in/accounts/p/40-10002227248/signin?hide_fp=true&servicename=ZohoCreator&service_language=en&dcc=true&serviceurl=https%3A%2F%2Facademia.srmist.edu.in%2Fportal%2Facademia-academic-services%2FredirectFromLogin",
48
21
  "Referrer-Policy": "strict-origin-when-cross-origin",
@@ -51,13 +24,14 @@ async function validateUser(username) {
51
24
  method: "POST",
52
25
  });
53
26
  const response = (await res.json());
54
- const data = {
55
- identifier: response.lookup?.identifier,
56
- digest: response.lookup?.digest,
57
- status_code: response.status_code,
58
- message: response.message,
27
+ return {
28
+ data: {
29
+ identifier: response.lookup?.identifier,
30
+ digest: response.lookup?.digest,
31
+ status_code: response.status_code,
32
+ message: response.message,
33
+ },
59
34
  };
60
- return { data };
61
35
  }
62
36
  catch (e) {
63
37
  return {
@@ -66,4 +40,4 @@ async function validateUser(username) {
66
40
  };
67
41
  }
68
42
  }
69
- //# sourceMappingURL=validateUser.js.map
43
+ //# sourceMappingURL=validateUser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validateUser.js","sourceRoot":"","sources":["../../../src/auth/validateUser.ts"],"names":[],"mappings":";;AAEA,oCA8CC;AA9CM,KAAK,UAAU,YAAY,CAChC,QAAgB;IAEhB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CACrB,6EAA6E,QAAQ,EAAE,EACvF;YACE,OAAO,EAAE;gBACP,MAAM,EAAE,KAAK;gBACb,iBAAiB,EAAE,gBAAgB;gBACnC,cAAc,EAAE,iDAAiD;gBACjE,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,eAAe,EAAE,gDAAgD;gBACjE,MAAM,EACJ,odAAod;gBACtd,OAAO,EACL,qTAAqT;gBACvT,iBAAiB,EAAE,iCAAiC;aACrD;YACD,IAAI,EAAE,yBAAyB,IAAI,CAAC,GAAG,EAAE,wJAAwJ;YACjM,MAAM,EAAE,MAAM;SACf,CACF,CAAC;QACF,MAAM,QAAQ,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAgB,CAAC;QAEnD,MAAM,IAAI,GAAiB;YACzB,UAAU,EAAE,QAAQ,CAAC,MAAM,EAAE,UAAU;YACvC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM;YAC/B,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,OAAO,EAAE,QAAQ,CAAC,OAAO;SAC1B,CAAC;QAEF,OAAO,EAAE,IAAI,EAAE,CAAC;IAClB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjB,OAAO;YACL,KAAK,EAAE,uBAAuB;YAC9B,WAAW,EAAE,CAAC;SACf,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"validateUser.js","sourceRoot":"","sources":["../../../src/auth/validateUser.ts"],"names":[],"mappings":";;AAGA,oCAkDC;AApDD,+CAAwD;AAEjD,KAAK,UAAU,YAAY,CAChC,QAAgB;IAEhB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,IAAA,qCAAuB,GAAE,CAAC;QAE7C,MAAM,GAAG,GAAG,MAAM,KAAK,CACrB,6EAA6E,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EAC3G;YACE,OAAO,EAAE;gBACP,MAAM,EAAE,KAAK;gBACb,iBAAiB,EAAE,gBAAgB;gBACnC,cAAc,EACZ,iDAAiD;gBACnD,gBAAgB,EAAE,OAAO;gBACzB,gBAAgB,EAAE,MAAM;gBACxB,gBAAgB,EAAE,aAAa;gBAC/B,GAAG,CAAC,IAAI,CAAC,SAAS;oBAChB,CAAC,CAAC,EAAE,eAAe,EAAE,aAAa,IAAI,CAAC,SAAS,EAAE,EAAE;oBACpD,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/C,OAAO,EACL,6OAA6O;gBAC/O,iBAAiB,EAAE,iCAAiC;aACrD;YACD,IAAI,EAAE,yBAAyB,IAAI,CAAC,GAAG,EAAE,wJAAwJ;YACjM,MAAM,EAAE,MAAM;SACf,CACF,CAAC;QAEF,MAAM,QAAQ,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAIjC,CAAC;QAEF,OAAO;YACL,IAAI,EAAE;gBACJ,UAAU,EAAE,QAAQ,CAAC,MAAM,EAAE,UAAU;gBACvC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM;gBAC/B,WAAW,EAAE,QAAQ,CAAC,WAAW;gBACjC,OAAO,EAAE,QAAQ,CAAC,OAAO;aAC1B;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO;YACL,KAAK,EAAE,uBAAuB;YAC9B,WAAW,EAAE,CAAC;SACf,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -1,2 +1,6 @@
1
- export declare function fetchAttendance(cookie: string): Promise<any>;
1
+ export declare function fetchAttendance(cookie: string): Promise<{
2
+ data: unknown;
3
+ error?: string;
4
+ status: number;
5
+ }>;
2
6
  //# sourceMappingURL=fetchAttendance.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fetchAttendance.d.ts","sourceRoot":"","sources":["../../../src/fetch/fetchAttendance.ts"],"names":[],"mappings":"AAEA,wBAAsB,eAAe,CAAC,MAAM,EAAE,MAAM,gBAwCnD"}
1
+ {"version":3,"file":"fetchAttendance.d.ts","sourceRoot":"","sources":["../../../src/fetch/fetchAttendance.ts"],"names":[],"mappings":"AAEA,wBAAsB,eAAe,CAAC,MAAM,EAAE,MAAM;;;;GAKnD"}
@@ -1,38 +1,8 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.fetchAttendance = fetchAttendance;
7
- const axios_1 = __importDefault(require("axios"));
4
+ const fetchPage_1 = require("./fetchPage");
8
5
  async function fetchAttendance(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
- const statusCode = axios_1.default.isAxiosError(error) ? error.response?.status : undefined;
29
- if (statusCode === 401 || statusCode === 403 || statusCode === 500) {
30
- return { error: "Unauthorized", status: 401 };
31
- }
32
- return {
33
- error: error instanceof Error ? error.message : "Failed to fetch attendance",
34
- status: statusCode ?? 500,
35
- };
36
- }
6
+ return (0, fetchPage_1.fetchPage)("https://academia.srmist.edu.in/srm_university/academia-academic-services/page/My_Attendance", cookie);
37
7
  }
38
- //# sourceMappingURL=fetchAttendance.js.map
8
+ //# sourceMappingURL=fetchAttendance.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fetchAttendance.js","sourceRoot":"","sources":["../../../src/fetch/fetchAttendance.ts"],"names":[],"mappings":";;;;;AAEA,0CAwCC;AA1CD,kDAA0B;AAEnB,KAAK,UAAU,eAAe,CAAC,MAAc;IAClD,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"}
1
+ {"version":3,"file":"fetchAttendance.js","sourceRoot":"","sources":["../../../src/fetch/fetchAttendance.ts"],"names":[],"mappings":";;AAEA,0CAKC;AAPD,2CAAwC;AAEjC,KAAK,UAAU,eAAe,CAAC,MAAc;IAClD,OAAO,IAAA,qBAAS,EACd,6FAA6F,EAC7F,MAAM,CACP,CAAC;AACJ,CAAC"}
@@ -1,2 +1,6 @@
1
- export declare function fetchCalendar(cookie: string): Promise<any>;
1
+ export declare function fetchCalendar(cookie: string): Promise<{
2
+ data: unknown;
3
+ error?: string;
4
+ status: number;
5
+ }>;
2
6
  //# sourceMappingURL=fetchCalender.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fetchCalender.d.ts","sourceRoot":"","sources":["../../../src/fetch/fetchCalender.ts"],"names":[],"mappings":"AAGA,wBAAsB,aAAa,CAAC,MAAM,EAAE,MAAM,gBAyCjD"}
1
+ {"version":3,"file":"fetchCalender.d.ts","sourceRoot":"","sources":["../../../src/fetch/fetchCalender.ts"],"names":[],"mappings":"AAGA,wBAAsB,aAAa,CAAC,MAAM,EAAE,MAAM;;;;GAGjD"}
@@ -1,43 +1,10 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.fetchCalendar = fetchCalendar;
7
- const axios_1 = __importDefault(require("axios"));
8
- const dynamicUrl_1 = require("../../utils/dynamicUrl");
4
+ const dynamicUrl_1 = require("../utils/dynamicUrl");
5
+ const fetchPage_1 = require("./fetchPage");
9
6
  async function fetchCalendar(cookie) {
10
7
  const url = await (0, dynamicUrl_1.calendarDynamicUrl)();
11
- try {
12
- const response = await (0, axios_1.default)(url, {
13
- responseType: "text",
14
- headers: {
15
- accept: "*/*",
16
- "accept-language": "en-US,en;q=0.9",
17
- "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
18
- "sec-ch-ua": '"Chromium";v="136", "Google Chrome";v="136", "Not.A/Brand";v="99"',
19
- "sec-ch-ua-mobile": "?1",
20
- "sec-ch-ua-platform": '"Android"',
21
- "sec-fetch-dest": "empty",
22
- "sec-fetch-mode": "cors",
23
- "sec-fetch-site": "same-origin",
24
- "x-requested-with": "XMLHttpRequest",
25
- cookie,
26
- Referer: "https://academia.srmist.edu.in/",
27
- "Referrer-Policy": "strict-origin-when-cross-origin",
28
- },
29
- });
30
- return response.data;
31
- }
32
- catch (error) {
33
- const statusCode = axios_1.default.isAxiosError(error) ? error.response?.status : undefined;
34
- if (statusCode === 401 || statusCode === 403 || statusCode === 500) {
35
- return { error: "Unauthorized", status: 401 };
36
- }
37
- return {
38
- error: error instanceof Error ? error.message : "Failed to fetch calendar",
39
- status: statusCode ?? 500,
40
- };
41
- }
8
+ return (0, fetchPage_1.fetchPage)(url, cookie, "text");
42
9
  }
43
- //# sourceMappingURL=fetchCalender.js.map
10
+ //# sourceMappingURL=fetchCalender.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fetchCalender.js","sourceRoot":"","sources":["../../../src/fetch/fetchCalender.ts"],"names":[],"mappings":";;;;;AAGA,sCAyCC;AA5CD,kDAA0B;AAC1B,uDAA4D;AAErD,KAAK,UAAU,aAAa,CAAC,MAAc;IAChD,MAAM,GAAG,GAAG,MAAM,IAAA,+BAAkB,GAAE,CAAC;IACvC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,IAAA,eAAK,EAAC,GAAG,EAAE;YAChC,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;SACF,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,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,0BAA0B;YACrE,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"}
1
+ {"version":3,"file":"fetchCalender.js","sourceRoot":"","sources":["../../../src/fetch/fetchCalender.ts"],"names":[],"mappings":";;AAGA,sCAGC;AAND,oDAAyD;AACzD,2CAAwC;AAEjC,KAAK,UAAU,aAAa,CAAC,MAAc;IAChD,MAAM,GAAG,GAAG,MAAM,IAAA,+BAAkB,GAAE,CAAC;IACvC,OAAO,IAAA,qBAAS,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AACxC,CAAC"}
@@ -1,2 +1,6 @@
1
- export declare function fetchCourseDetails(cookie: string): Promise<any>;
1
+ export declare function fetchCourseDetails(cookie: string): Promise<{
2
+ data: unknown;
3
+ error?: string;
4
+ status: number;
5
+ }>;
2
6
  //# sourceMappingURL=fetchCourseDetails.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fetchCourseDetails.d.ts","sourceRoot":"","sources":["../../../src/fetch/fetchCourseDetails.ts"],"names":[],"mappings":"AAGA,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,MAAM,gBA4CtD"}
1
+ {"version":3,"file":"fetchCourseDetails.d.ts","sourceRoot":"","sources":["../../../src/fetch/fetchCourseDetails.ts"],"names":[],"mappings":"AAGA,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,MAAM;;;;GAGtD"}