UNPKG

nurekit

Version:

Node.js client for Mindenit Schedule API

48 lines (45 loc) 1.48 kB
import { NurekitError } from "./errors-BDXM9FJP.js"; import { BaseModuleImpl } from "./BaseModule-BIs7tGiS.js"; import { GroupsModuleImpl } from "./GroupsModule-D-Nx7KUw.js"; import { TeachersModuleImpl } from "./TeachersModule-9qOdwPqs.js"; //#region src/modules/AuditoriumsModule.ts var AuditoriumsModuleImpl = class extends BaseModuleImpl { constructor(baseUrl) { super(`${baseUrl}/auditoriums`); } async getGroups(auditoriumId) { const url = `${this.baseUrl}/${auditoriumId}/groups`; const response = await fetch(url); if (!response.ok) throw new NurekitError(); const data = await response.json(); return data.data; } async getTeachers(auditoriumId) { const url = `${this.baseUrl}/${auditoriumId}/teachers`; const response = await fetch(url); if (!response.ok) throw new NurekitError(); const data = await response.json(); return data.data; } async getSubjects(auditoriumId) { const url = `${this.baseUrl}/${auditoriumId}/subjects`; const response = await fetch(url); if (!response.ok) throw new NurekitError(); const data = await response.json(); return data.data; } }; //#endregion //#region src/client.ts var Nurekit = class { auditoriums; groups; teachers; constructor(baseUrl = "https://sh.mindenit.org/api") { this.auditoriums = new AuditoriumsModuleImpl(baseUrl); this.groups = new GroupsModuleImpl(baseUrl); this.teachers = new TeachersModuleImpl(baseUrl); } }; //#endregion export { AuditoriumsModuleImpl, Nurekit };