skola24-node
Version:
Library that provides convenient access to the Skola24 API.
43 lines • 2.33 kB
TypeScript
import { Skola24Client } from "../Skola24Client";
import RequestData from "../types/Request";
import ResponseData from "../types/Response";
import { AdditionalAxiosRequestConfig, ApiRequest, CreateApiRequest } from "../types/utilTypes";
interface ITimetable {
getTimetableRenderKey: ApiRequest<RequestData.getTimetableRenderKey, ResponseData.getTimetableRenderKey>;
getTimetableSelection: ApiRequest<RequestData.getTimetableSelection, ResponseData.getTimetableSelection>;
renderTimetable: ApiRequest<RequestData.renderTimetable, ResponseData.renderTimetable>;
}
declare class Timetable implements ITimetable {
private client;
private _getTimetableRenderKey;
private _getTimetableSelection;
private _renderTimetable;
constructor(createApiRequest: CreateApiRequest, client: Skola24Client);
private missing;
private addUnitGuid;
private addSchoolYear;
private addRenderKey;
/**
* Retrieves a render key.
*
* @param {RequestData.getTimetableRenderKey} data - An empty type. Always leave as `{}`
* @param {AdditionalAxiosRequestConfig?} additionalConfig - Additional Axios configuration settings.
*/
getTimetableRenderKey: (data: RequestData.getTimetableRenderKey, additionalConfig?: AdditionalAxiosRequestConfig) => Promise<ResponseData.getTimetableRenderKey>;
/**
* Fetches selected timetable elements from the host based on the provided data, such as classes, teachers, rooms, and more.
*
* @param {RequestData.getTimetableSelection} data - Filters for timetable selections.
* @param {AdditionalAxiosRequestConfig?} additionalConfig - Additional Axios configuration settings.
*/
getTimetableSelection: (data: RequestData.getTimetableSelection, additionalConfig?: AdditionalAxiosRequestConfig) => Promise<ResponseData.getTimetableSelection>;
/**
* Retrieves a timetable.
*
* @param {RequestData.renderTimetable} data - Required information such as week and selection.
* @param {AdditionalAxiosRequestConfig?} additionalConfig - Additional Axios configuration settings.
*/
renderTimetable: (data: RequestData.renderTimetable, additionalConfig?: AdditionalAxiosRequestConfig) => Promise<ResponseData.renderTimetable>;
}
export default Timetable;
//# sourceMappingURL=Timetable.d.ts.map