turboself-api 0.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.
package/README.md ADDED
@@ -0,0 +1,26 @@
1
+ # 🔧 Utilisation
2
+ ### Connexion par identifiants
3
+ ```javascript
4
+ const TurboSelf = require('turboself-api')
5
+
6
+ async function main() {
7
+ let client = await TurboSelf.authTurboselfWithCredentials("your_email", "your_password")
8
+ console.log(client)
9
+ }
10
+
11
+ main()
12
+ ```
13
+ ### Réserver un déjeuner pour lundi prochain
14
+ ```javascript
15
+ const TurboSelf = require('turboself-api')
16
+
17
+ async function main() {
18
+ let client = await TurboSelf.authTurboselfWithCredentials("your_email", "your_password")
19
+ client.bookDay(1, await client.getCurrentBookingWeekNumber()+1, 1)
20
+ }
21
+
22
+ main()
23
+ ```
24
+
25
+ ### Autre exemples
26
+ Pour voir d'autre exemples d'utilisation, vous pouvez regarder le dossier ``examples``
@@ -0,0 +1,7 @@
1
+ import { Turboself } from "../structures/Client";
2
+ /** This method is used to authenticate into the Turboself account.
3
+ * @param email Email of the user.
4
+ * @param password Password of the user.
5
+ * @param refreshToken If the token should be refreshed.
6
+ */
7
+ export declare const authTurboselfWithCredentials: (email: string, password: string, refreshToken: boolean | false) => Promise<Turboself>;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.authTurboselfWithCredentials = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const RESTManager_1 = require("../rest/RESTManager");
6
+ const endpoints = tslib_1.__importStar(require("../rest/endpoints"));
7
+ const Client_1 = require("../structures/Client");
8
+ const manager = new RESTManager_1.RESTManager();
9
+ /** This method is used to authenticate into the Turboself account.
10
+ * @param email Email of the user.
11
+ * @param password Password of the user.
12
+ * @param refreshToken If the token should be refreshed.
13
+ */
14
+ const authTurboselfWithCredentials = async (email, password, refreshToken) => {
15
+ return manager.makeAuthRequest({
16
+ method: "POST",
17
+ url: endpoints.LOGIN(),
18
+ data: {
19
+ username: email,
20
+ password: password
21
+ }
22
+ }).then((data) => {
23
+ let typedData = data;
24
+ if (refreshToken) {
25
+ return new Client_1.Turboself(email, password, typedData.access_token, typedData.hoteId, typedData.userId);
26
+ }
27
+ else {
28
+ return new Client_1.Turboself(null, null, typedData.access_token, typedData.hoteId, typedData.userId);
29
+ }
30
+ }).catch((error) => {
31
+ throw error;
32
+ });
33
+ };
34
+ exports.authTurboselfWithCredentials = authTurboselfWithCredentials;
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvYXV0aC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEscURBQWtEO0FBQ2xELHFFQUErQztBQUMvQyxpREFBaUQ7QUFHakQsTUFBTSxPQUFPLEdBQUcsSUFBSSx5QkFBVyxFQUFFLENBQUM7QUFFbEM7Ozs7R0FJRztBQUNJLE1BQU0sNEJBQTRCLEdBQUcsS0FBSyxFQUFFLEtBQWEsRUFBRSxRQUFnQixFQUFFLFlBQTZCLEVBQXNCLEVBQUU7SUFDdkksT0FBTyxPQUFPLENBQUMsZUFBZSxDQUF5QjtRQUNyRCxNQUFNLEVBQUUsTUFBTTtRQUNkLEdBQUcsRUFBRSxTQUFTLENBQUMsS0FBSyxFQUFFO1FBQ3RCLElBQUksRUFBRTtZQUNKLFFBQVEsRUFBRSxLQUFLO1lBQ2YsUUFBUSxFQUFFLFFBQVE7U0FDRztLQUN4QixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBYSxFQUFFLEVBQUU7UUFDeEIsSUFBSSxTQUFTLEdBQUcsSUFBOEIsQ0FBQztRQUMvQyxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2pCLE9BQU8sSUFBSSxrQkFBUyxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsU0FBUyxDQUFDLFlBQVksRUFBRSxTQUFTLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwRyxDQUFDO2FBQ0ksQ0FBQztZQUNKLE9BQU8sSUFBSSxrQkFBUyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFDLFlBQVksRUFBRSxTQUFTLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvRixDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBYyxFQUFFLEVBQUU7UUFDMUIsTUFBTSxLQUFLLENBQUM7SUFDZCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQW5CVyxRQUFBLDRCQUE0QixnQ0FtQnZDIn0=
@@ -0,0 +1,3 @@
1
+ export * from "./auth/index";
2
+ export * from "./routes/User";
3
+ export * from "./structures/Client";
package/dist/index.js ADDED
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./auth/index"), exports);
5
+ tslib_1.__exportStar(require("./routes/User"), exports);
6
+ tslib_1.__exportStar(require("./structures/Client"), exports);
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdURBQTZCO0FBQzdCLHdEQUE4QjtBQUM5Qiw4REFBb0MifQ==
package/dist/index.mjs ADDED
@@ -0,0 +1,6 @@
1
+ import mod from "./index.js";
2
+
3
+ export default mod;
4
+ export const Turboself = mod.Turboself;
5
+ export const User = mod.User;
6
+ export const authTurboselfWithCredentials = mod.authTurboselfWithCredentials;
@@ -0,0 +1,7 @@
1
+ /** @module RESTManager */
2
+ import { AxiosRequestConfig } from "axios";
3
+ export declare class RESTManager {
4
+ private requestHandler;
5
+ constructor();
6
+ makeAuthRequest<T = unknown>(options?: AxiosRequestConfig): Promise<unknown>;
7
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ /** @module RESTManager */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.RESTManager = void 0;
5
+ const RequestHandler_1 = require("./RequestHandler");
6
+ class RESTManager {
7
+ constructor() {
8
+ this.requestHandler = new RequestHandler_1.RequestHandler();
9
+ }
10
+ async makeAuthRequest(options) {
11
+ return this.requestHandler.makeRequest(options);
12
+ }
13
+ }
14
+ exports.RESTManager = RESTManager;
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUkVTVE1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvcmVzdC9SRVNUTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsMEJBQTBCOzs7QUFHMUIscURBQWtEO0FBRWxELE1BQWEsV0FBVztJQUd0QjtRQUNFLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSwrQkFBYyxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUVNLEtBQUssQ0FBQyxlQUFlLENBQWMsT0FBNEI7UUFDcEUsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNsRCxDQUFDO0NBQ0Y7QUFWRCxrQ0FVQyJ9
@@ -0,0 +1,5 @@
1
+ /** @module RequestHandler */
2
+ import { AxiosRequestConfig } from "axios";
3
+ export declare class RequestHandler {
4
+ makeRequest<T = unknown>(options?: AxiosRequestConfig): Promise<T>;
5
+ }
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ /** @module RequestHandler */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.RequestHandler = void 0;
5
+ const tslib_1 = require("tslib");
6
+ const axios_1 = tslib_1.__importDefault(require("axios"));
7
+ class RequestHandler {
8
+ async makeRequest(options = {}) {
9
+ if (!options.method) {
10
+ throw new Error("Invalid method " + options.method);
11
+ }
12
+ options.baseURL = "https://api-rest-prod.incb.fr";
13
+ options.headers = {
14
+ ...options.headers,
15
+ "User-Agent": "MyTurboself/66 CFNetwork/1492.0.1 Darwin/23.3.0"
16
+ };
17
+ try {
18
+ const response = await axios_1.default.request(options);
19
+ return response.data;
20
+ }
21
+ catch (error) {
22
+ throw new Error(String(error));
23
+ }
24
+ }
25
+ }
26
+ exports.RequestHandler = RequestHandler;
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVxdWVzdEhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvcmVzdC9SZXF1ZXN0SGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsNkJBQTZCOzs7O0FBRTdCLDBEQUFrRDtBQUVsRCxNQUFhLGNBQWM7SUFDbEIsS0FBSyxDQUFDLFdBQVcsQ0FBYyxVQUE4QixFQUFFO1FBQ3BFLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUVELE9BQU8sQ0FBQyxPQUFPLEdBQUcsK0JBQStCLENBQUM7UUFDbEQsT0FBTyxDQUFDLE9BQU8sR0FBRztZQUNoQixHQUFHLE9BQU8sQ0FBQyxPQUFPO1lBQ2xCLFlBQVksRUFBRSxpREFBaUQ7U0FDaEUsQ0FBQztRQUVGLElBQUksQ0FBQztZQUNILE1BQU0sUUFBUSxHQUFHLE1BQU0sZUFBSyxDQUFDLE9BQU8sQ0FBSSxPQUFPLENBQUMsQ0FBQztZQUNqRCxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDdkIsQ0FBQztRQUNELE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDYixNQUFNLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ2pDLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFwQkQsd0NBb0JDIn0=
@@ -0,0 +1,8 @@
1
+ /** REST/Endpoints */
2
+ export declare const LOGIN: () => string;
3
+ export declare const USER: (hoteId: number) => string;
4
+ export declare const USER_BALANCES: (hoteId: number) => string;
5
+ export declare const USER_HOME: (hoteId: number) => string;
6
+ export declare const SCHOOL: (etabId: number) => string;
7
+ export declare const BOOKINGS: (hoteId: number) => string;
8
+ export declare const BOOK_DAY: (hoteId: number) => string;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ /** REST/Endpoints */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.BOOK_DAY = exports.BOOKINGS = exports.SCHOOL = exports.USER_HOME = exports.USER_BALANCES = exports.USER = exports.LOGIN = void 0;
5
+ const LOGIN = () => "/api/v1/auth/login";
6
+ exports.LOGIN = LOGIN;
7
+ const USER = (hoteId) => `/api/v1/hotes/${hoteId}`;
8
+ exports.USER = USER;
9
+ const USER_BALANCES = (hoteId) => `/api/v1/comptes/hotes/${hoteId}/3`;
10
+ exports.USER_BALANCES = USER_BALANCES;
11
+ const USER_HOME = (hoteId) => `/api/v2/hotes/${hoteId}/accueil`;
12
+ exports.USER_HOME = USER_HOME;
13
+ const SCHOOL = (etabId) => `/api/v1/etablissements/etabId/${etabId}`;
14
+ exports.SCHOOL = SCHOOL;
15
+ const BOOKINGS = (hoteId) => `/api/v1/reservations/hotes/${hoteId}/semaines`;
16
+ exports.BOOKINGS = BOOKINGS;
17
+ const BOOK_DAY = (hoteId) => `/api/v2/hotes/${hoteId}/reservations-jours`;
18
+ exports.BOOK_DAY = BOOK_DAY;
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5kcG9pbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL3Jlc3QvZW5kcG9pbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxxQkFBcUI7OztBQUVkLE1BQU0sS0FBSyxHQUFHLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUFDO0FBQW5DLFFBQUEsS0FBSyxTQUE4QjtBQUV6QyxNQUFNLElBQUksR0FBRyxDQUFDLE1BQWMsRUFBRSxFQUFFLENBQUMsaUJBQWlCLE1BQU0sRUFBRSxDQUFDO0FBQXJELFFBQUEsSUFBSSxRQUFpRDtBQUMzRCxNQUFNLGFBQWEsR0FBRyxDQUFDLE1BQWMsRUFBRSxFQUFFLENBQUMseUJBQXlCLE1BQU0sSUFBSSxDQUFDO0FBQXhFLFFBQUEsYUFBYSxpQkFBMkQ7QUFDOUUsTUFBTSxTQUFTLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRSxDQUFDLGlCQUFpQixNQUFNLFVBQVUsQ0FBQztBQUFsRSxRQUFBLFNBQVMsYUFBeUQ7QUFFeEUsTUFBTSxNQUFNLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRSxDQUFDLGlDQUFpQyxNQUFNLEVBQUUsQ0FBQztBQUF2RSxRQUFBLE1BQU0sVUFBaUU7QUFFN0UsTUFBTSxRQUFRLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRSxDQUFDLDhCQUE4QixNQUFNLFdBQVcsQ0FBQztBQUEvRSxRQUFBLFFBQVEsWUFBdUU7QUFDckYsTUFBTSxRQUFRLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRSxDQUFDLGlCQUFpQixNQUFNLHFCQUFxQixDQUFDO0FBQTVFLFFBQUEsUUFBUSxZQUFvRSJ9
@@ -0,0 +1,13 @@
1
+ import { SchoolResponse } from "../types/School";
2
+ export declare class School {
3
+ #private;
4
+ constructor();
5
+ /** This method is used to get the user school informations.
6
+ * @param hoteId The ID of the hote.
7
+ */
8
+ getUserSchool(hoteId: number, token: string): Promise<SchoolResponse>;
9
+ /** This method is used to get the school informations.
10
+ * @param etabId The ID of the school.
11
+ */
12
+ getSchool(etabId: number): Promise<SchoolResponse>;
13
+ }
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.School = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const RESTManager_1 = require("../rest/RESTManager");
6
+ const endpoints = tslib_1.__importStar(require("../rest/endpoints"));
7
+ class School {
8
+ #manager;
9
+ constructor() {
10
+ this.#manager = new RESTManager_1.RESTManager();
11
+ }
12
+ /** This method is used to get the user school informations.
13
+ * @param hoteId The ID of the hote.
14
+ */
15
+ async getUserSchool(hoteId, token) {
16
+ return this.#manager.makeAuthRequest({
17
+ method: "GET",
18
+ url: endpoints.USER(hoteId),
19
+ headers: {
20
+ "Authorization": "Bearer " + token
21
+ }
22
+ }).then((data) => {
23
+ let typedData = data;
24
+ return typedData.etab;
25
+ });
26
+ }
27
+ /** This method is used to get the school informations.
28
+ * @param etabId The ID of the school.
29
+ */
30
+ async getSchool(etabId) {
31
+ return this.#manager.makeAuthRequest({
32
+ method: "GET",
33
+ url: endpoints.SCHOOL(etabId)
34
+ }).then((data) => {
35
+ let typedData = data;
36
+ return typedData;
37
+ });
38
+ }
39
+ }
40
+ exports.School = School;
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2Nob29sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL3JvdXRlcy9TY2hvb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLHFEQUFrRDtBQUNsRCxxRUFBK0M7QUFJL0MsTUFBYSxNQUFNO0lBQ2pCLFFBQVEsQ0FBYztJQUV0QjtRQUNFLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSx5QkFBVyxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVEOztTQUVLO0lBQ0wsS0FBSyxDQUFDLGFBQWEsQ0FBQyxNQUFjLEVBQUUsS0FBYTtRQUMvQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFlO1lBQ2pELE1BQU0sRUFBRSxLQUFLO1lBQ2IsR0FBRyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQzNCLE9BQU8sRUFBRTtnQkFDUCxlQUFlLEVBQUUsU0FBUyxHQUFHLEtBQUs7YUFDbkM7U0FDRixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBYSxFQUFFLEVBQUU7WUFDeEIsSUFBSSxTQUFTLEdBQUcsSUFBb0IsQ0FBQztZQUNyQyxPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUM7UUFDeEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O1NBRUs7SUFDTCxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQWM7UUFDNUIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBaUI7WUFDbkQsTUFBTSxFQUFFLEtBQUs7WUFDYixHQUFHLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7U0FDOUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQWEsRUFBRSxFQUFFO1lBQ3hCLElBQUksU0FBUyxHQUFHLElBQXNCLENBQUM7WUFDdkMsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFuQ0Qsd0JBbUNDIn0=
@@ -0,0 +1,63 @@
1
+ import { balanceResponse } from "../types/Balance";
2
+ import { bookMealResponse, bookings } from "../types/Booking";
3
+ import { historyElement, latestPayment } from "../types/Home";
4
+ import { userInfo } from "../types/User";
5
+ export declare class User {
6
+ #private;
7
+ constructor();
8
+ /** This method is used to get the user information.
9
+ * @param hoteId The ID of the hote to get.
10
+ * @param token The token of the user.
11
+ */
12
+ getUser(hoteId: number, token: string): Promise<userInfo>;
13
+ /** This method is used to get the user history.
14
+ * @param hoteId The ID of the hote to get.
15
+ * @param token The token of the user.
16
+ */
17
+ getHistory(hoteId: number, token: string): Promise<Array<historyElement>>;
18
+ /** This method is used to get the last payment of the user.
19
+ * @param hoteId The ID of the hote to get.
20
+ * @param token The token of the user.
21
+ */
22
+ getLastPayment(hoteId: number, token: string): Promise<latestPayment>;
23
+ /** This method is used to get the balances of his accounts.
24
+ * @param hoteId The ID of the hote to get.
25
+ * @param token The token of the user.
26
+ */
27
+ getSolds(hoteId: number, token: string): Promise<balanceResponse[]>;
28
+ /** This method is used to get the current week of booking.
29
+ * @param hoteId The ID of the hote to get.
30
+ * @param token The token of the user.
31
+ */
32
+ getCurrentBookingWeek(hoteId: number, token: string): Promise<string>;
33
+ /** This method is used to get the current week of booking.
34
+ * @param hoteId The ID of the hote to get.
35
+ * @param token The token of the user.
36
+ */
37
+ getCurrentBookingWeekNumber(hoteId: number, token: string): Promise<number>;
38
+ /** This method is used to get the bookings of the user for a week.
39
+ * @param hoteId The ID of the hote to get.
40
+ * @param token The token of the user.
41
+ * @param week The week number to get.
42
+ */
43
+ getBookings(hoteId: number, token: string, week?: number): Promise<bookings[]>;
44
+ /** This method is used to get the weeks available for booking.
45
+ * @param hoteId The ID of the hote to get.
46
+ * @param token The token of the user.
47
+ */
48
+ getBooksWeeksAvailable(hoteId: number, token: string): Promise<number[]>;
49
+ /** This method is used to get the state of evening reservation.
50
+ * @param hoteId The ID of the hote to get.
51
+ * @param token The token of the user.
52
+ */
53
+ getEveningBookingState(hoteId: number, token: string): Promise<boolean>;
54
+ /** This method is used to get the bookings of the user for a week.
55
+ * @param hoteId The ID of the hote to get.
56
+ * @param token The token of the user.
57
+ * @param state The state of the booking (1==true, 0==false).
58
+ * @param weekId The week number to get.
59
+ * @param dayOfWeek The ID of the borne to get.
60
+ * @param bookEvening If the evening should be booked.
61
+ */
62
+ bookDay(hoteId: number, token: string, state: number, weekNumber?: number, dayOfWeek?: number, bookEvening?: boolean): Promise<bookMealResponse>;
63
+ }
@@ -0,0 +1,205 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.User = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const RESTManager_1 = require("../rest/RESTManager");
6
+ const endpoints = tslib_1.__importStar(require("../rest/endpoints"));
7
+ class User {
8
+ #manager;
9
+ constructor() {
10
+ this.#manager = new RESTManager_1.RESTManager();
11
+ }
12
+ /** This method is used to get the user information.
13
+ * @param hoteId The ID of the hote to get.
14
+ * @param token The token of the user.
15
+ */
16
+ async getUser(hoteId, token) {
17
+ return this.#manager.makeAuthRequest({
18
+ method: "GET",
19
+ url: endpoints.USER(hoteId),
20
+ headers: {
21
+ "Authorization": "Bearer " + token
22
+ }
23
+ }).then((data) => {
24
+ let typedData = data;
25
+ return {
26
+ nom: typedData.nom,
27
+ prenom: typedData.prenom,
28
+ mode: typedData.mode,
29
+ qualite: typedData.qualite,
30
+ division: typedData.division,
31
+ prixDej: typedData.prixDej,
32
+ type: typedData.type,
33
+ nbMulti: typedData.nbMulti,
34
+ droitPaiement: typedData.droitPaiement,
35
+ droitReservation: typedData.droitReservation,
36
+ droitCafeteria: typedData.droitCafeteria,
37
+ dateDernSynchro: typedData.dateDernSynchro,
38
+ desactive: typedData.desactive,
39
+ mdpPrive: typedData.mdpPrive,
40
+ autoriseReservSoldeIns: typedData.autoriseReservSoldeIns,
41
+ profilForfaitModule: typedData.profilForfaitModule,
42
+ carteCodee: typedData.carteCodee
43
+ };
44
+ });
45
+ }
46
+ /** This method is used to get the user history.
47
+ * @param hoteId The ID of the hote to get.
48
+ * @param token The token of the user.
49
+ */
50
+ async getHistory(hoteId, token) {
51
+ return this.#manager.makeAuthRequest({
52
+ method: "GET",
53
+ url: endpoints.USER_HOME(hoteId),
54
+ headers: {
55
+ "Authorization": "Bearer " + token
56
+ }
57
+ }).then((data) => {
58
+ let typedData = data;
59
+ return typedData.historiques;
60
+ });
61
+ }
62
+ /** This method is used to get the last payment of the user.
63
+ * @param hoteId The ID of the hote to get.
64
+ * @param token The token of the user.
65
+ */
66
+ async getLastPayment(hoteId, token) {
67
+ return this.#manager.makeAuthRequest({
68
+ method: "GET",
69
+ url: endpoints.USER_HOME(hoteId),
70
+ headers: {
71
+ "Authorization": "Bearer " + token
72
+ }
73
+ }).then((data) => {
74
+ let typedData = data;
75
+ return typedData.latestPaiement;
76
+ });
77
+ }
78
+ /** This method is used to get the balances of his accounts.
79
+ * @param hoteId The ID of the hote to get.
80
+ * @param token The token of the user.
81
+ */
82
+ async getSolds(hoteId, token) {
83
+ return this.#manager.makeAuthRequest({
84
+ method: "GET",
85
+ url: endpoints.USER_BALANCES(hoteId),
86
+ headers: {
87
+ "Authorization": "Bearer " + token
88
+ }
89
+ }).then((data) => {
90
+ return data;
91
+ });
92
+ }
93
+ /** This method is used to get the current week of booking.
94
+ * @param hoteId The ID of the hote to get.
95
+ * @param token The token of the user.
96
+ */
97
+ async getCurrentBookingWeek(hoteId, token) {
98
+ return this.#manager.makeAuthRequest({
99
+ method: "GET",
100
+ url: endpoints.BOOKINGS(hoteId),
101
+ headers: {
102
+ "Authorization": "Bearer " + token
103
+ }
104
+ }).then((data) => {
105
+ let typedData = data;
106
+ return typedData.dateSemaine;
107
+ });
108
+ }
109
+ /** This method is used to get the current week of booking.
110
+ * @param hoteId The ID of the hote to get.
111
+ * @param token The token of the user.
112
+ */
113
+ async getCurrentBookingWeekNumber(hoteId, token) {
114
+ return this.#manager.makeAuthRequest({
115
+ method: "GET",
116
+ url: endpoints.BOOKINGS(hoteId),
117
+ headers: {
118
+ "Authorization": "Bearer " + token
119
+ }
120
+ }).then((data) => {
121
+ let typedData = data;
122
+ return typedData.rsvWebDto[0].semaine ?? 0;
123
+ });
124
+ }
125
+ /** This method is used to get the bookings of the user for a week.
126
+ * @param hoteId The ID of the hote to get.
127
+ * @param token The token of the user.
128
+ * @param week The week number to get.
129
+ */
130
+ async getBookings(hoteId, token, week) {
131
+ return this.#manager.makeAuthRequest({
132
+ method: "GET",
133
+ url: endpoints.BOOKINGS(hoteId) + (week ? `?num=${week}` : ""),
134
+ headers: {
135
+ "Authorization": "Bearer " + token
136
+ }
137
+ }).then((data) => {
138
+ let typedData = data;
139
+ return typedData.rsvWebDto;
140
+ });
141
+ }
142
+ /** This method is used to get the weeks available for booking.
143
+ * @param hoteId The ID of the hote to get.
144
+ * @param token The token of the user.
145
+ */
146
+ async getBooksWeeksAvailable(hoteId, token) {
147
+ return this.#manager.makeAuthRequest({
148
+ method: "GET",
149
+ url: endpoints.BOOKINGS(hoteId),
150
+ headers: {
151
+ "Authorization": "Bearer " + token
152
+ }
153
+ }).then((data) => {
154
+ let typedData = data;
155
+ return typedData.numSemaines;
156
+ });
157
+ }
158
+ /** This method is used to get the state of evening reservation.
159
+ * @param hoteId The ID of the hote to get.
160
+ * @param token The token of the user.
161
+ */
162
+ async getEveningBookingState(hoteId, token) {
163
+ return this.#manager.makeAuthRequest({
164
+ method: "GET",
165
+ url: endpoints.BOOKINGS(hoteId),
166
+ headers: {
167
+ "Authorization": "Bearer " + token
168
+ }
169
+ }).then((data) => {
170
+ let typedData = data;
171
+ return typedData.isResaSoirActive;
172
+ });
173
+ }
174
+ /** This method is used to get the bookings of the user for a week.
175
+ * @param hoteId The ID of the hote to get.
176
+ * @param token The token of the user.
177
+ * @param state The state of the booking (1==true, 0==false).
178
+ * @param weekId The week number to get.
179
+ * @param dayOfWeek The ID of the borne to get.
180
+ * @param bookEvening If the evening should be booked.
181
+ */
182
+ async bookDay(hoteId, token, state, weekNumber, dayOfWeek, bookEvening) {
183
+ const weekId = await this.getBookings(hoteId, token, weekNumber).then((data) => data[0]?.id) ?? await this.getBookings(hoteId, token).then((data) => data[0]?.id);
184
+ return this.#manager.makeAuthRequest({
185
+ method: "PUT",
186
+ url: endpoints.BOOK_DAY(hoteId),
187
+ headers: {
188
+ "Authorization": "Bearer " + token
189
+ },
190
+ data: {
191
+ dayOfWeek: dayOfWeek ?? new Date().getDay(),
192
+ dayReserv: state,
193
+ web: {
194
+ id: weekId
195
+ },
196
+ hasHoteResaSoirActive: bookEvening ?? false
197
+ }
198
+ }).then((data) => {
199
+ let typedData = data;
200
+ return typedData;
201
+ });
202
+ }
203
+ }
204
+ exports.User = User;
205
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9yb3V0ZXMvVXNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEscURBQWtEO0FBQ2xELHFFQUErQztBQU0vQyxNQUFhLElBQUk7SUFDZixRQUFRLENBQWM7SUFFdEI7UUFDRSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUkseUJBQVcsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRDs7O1NBR0s7SUFDTCxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQWMsRUFBRSxLQUFhO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQWU7WUFDakQsTUFBTSxFQUFFLEtBQUs7WUFDYixHQUFHLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDM0IsT0FBTyxFQUFFO2dCQUNQLGVBQWUsRUFBRSxTQUFTLEdBQUcsS0FBSzthQUNuQztTQUNGLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFhLEVBQUUsRUFBRTtZQUN4QixJQUFJLFNBQVMsR0FBRyxJQUFvQixDQUFDO1lBQ3JDLE9BQU87Z0JBQ0wsR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHO2dCQUNsQixNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU07Z0JBQ3hCLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSTtnQkFDcEIsT0FBTyxFQUFFLFNBQVMsQ0FBQyxPQUFPO2dCQUMxQixRQUFRLEVBQUUsU0FBUyxDQUFDLFFBQVE7Z0JBQzVCLE9BQU8sRUFBRSxTQUFTLENBQUMsT0FBTztnQkFDMUIsSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJO2dCQUNwQixPQUFPLEVBQUUsU0FBUyxDQUFDLE9BQU87Z0JBQzFCLGFBQWEsRUFBRSxTQUFTLENBQUMsYUFBYTtnQkFDdEMsZ0JBQWdCLEVBQUUsU0FBUyxDQUFDLGdCQUFnQjtnQkFDNUMsY0FBYyxFQUFFLFNBQVMsQ0FBQyxjQUFjO2dCQUN4QyxlQUFlLEVB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
@@ -0,0 +1,24 @@
1
+ export declare class Turboself {
2
+ #private;
3
+ mail: string | null;
4
+ password: string | null;
5
+ token: string;
6
+ token_expire: number;
7
+ hoteId: number;
8
+ userId: number;
9
+ constructor(mail: string | null, password: string | null, token: string, hoteId: number, userId: number);
10
+ private isExpire;
11
+ private refreshToken;
12
+ getUser(): Promise<import("../types/User").userInfo>;
13
+ getHistory(): Promise<import("../types/Home").historyElement[]>;
14
+ getLastPayment(): Promise<import("../types/Home").latestPayment>;
15
+ getSolds(): Promise<import("../types/Balance").balanceResponse[]>;
16
+ getUserSchool(): Promise<import("../types/School").SchoolResponse>;
17
+ getSchool(etabId: number): Promise<import("../types/School").SchoolResponse>;
18
+ getCurrentBookingWeek(): Promise<string>;
19
+ getCurrentBookingWeekNumber(): Promise<number>;
20
+ getBookings(week?: number): Promise<import("../types/Booking").bookings[]>;
21
+ getBooksWeeksAvailable(): Promise<number[]>;
22
+ getEveningBookingState(): Promise<boolean>;
23
+ bookDay(state: number, weekNumber?: number, dayOfWeek?: number, bookEvening?: boolean): Promise<import("../types/Booking").bookMealResponse>;
24
+ }