skola24-node
Version:
Library that provides convenient access to the Skola24 API.
37 lines • 1.58 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
class Utilities {
client;
_getActiveSchoolYears;
_encryptSignature;
constructor(createApiRequest, client) {
this.client = client;
this._getActiveSchoolYears = createApiRequest("/get/active/school/years");
this._encryptSignature = createApiRequest("/encrypt/signature");
}
/**
* Retrieves active school years.
*
* @param {RequestData.getActiveSchoolYears} data - The request data.
* @param {AdditionalAxiosRequestConfig?} additionalConfig - Additional Axios configuration settings.
* @throws Will throw an error if no active school years are found.
*/
getActiveSchoolYears = async (data, additionalConfig) => {
const response = await this._getActiveSchoolYears({ hostName: this.client.Config.Host, ...data }, additionalConfig);
if (response.activeSchoolYears.length <= 0) {
throw new Error(`No school years. Response: \n\n${response}`);
}
return response;
};
/**
* Encrypts an ID or signature and returns a string that should be used as a selection when fetching timetables.
*
* @param {RequestData.encryptSignature} data - The request data.
* @param {AdditionalAxiosRequestConfig?} additionalConfig - Additional Axios configuration settings.
*/
encryptSignature = async (data, additionalConfig) => {
return this._encryptSignature({ ...data }, additionalConfig);
};
}
exports.default = Utilities;
//# sourceMappingURL=Utilities.js.map