nurekit
Version:
Node.js client for Mindenit Schedule API
48 lines (45 loc) • 1.48 kB
JavaScript
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 };