turboself-api 0.1.5 → 1.1.6

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.
Files changed (92) hide show
  1. package/README.md +28 -14
  2. package/dist/api/balanceGet.d.ts +2 -0
  3. package/dist/api/balanceGet.js +27 -0
  4. package/dist/api/bookDay.d.ts +2 -0
  5. package/dist/api/bookDay.js +58 -0
  6. package/dist/api/bookingGet.d.ts +2 -0
  7. package/dist/api/bookingGet.js +48 -0
  8. package/dist/api/canBookEveningGet.d.ts +1 -0
  9. package/dist/api/canBookEveningGet.js +18 -0
  10. package/dist/api/establishmentGet.d.ts +2 -0
  11. package/dist/api/establishmentGet.js +43 -0
  12. package/dist/api/establishmentSearch.d.ts +2 -0
  13. package/dist/api/establishmentSearch.js +21 -0
  14. package/dist/api/historyGet.d.ts +2 -0
  15. package/dist/api/historyGet.js +26 -0
  16. package/dist/api/hostGet.d.ts +2 -0
  17. package/dist/api/hostGet.js +53 -0
  18. package/dist/api/lastPaymentGet.d.ts +2 -0
  19. package/dist/api/lastPaymentGet.js +21 -0
  20. package/dist/api/siblingsGet.d.ts +2 -0
  21. package/dist/api/siblingsGet.js +56 -0
  22. package/dist/authenticate/index.d.ts +3 -0
  23. package/dist/authenticate/index.js +25 -0
  24. package/dist/client/Turboself.d.ts +53 -0
  25. package/dist/client/Turboself.js +119 -0
  26. package/dist/index.d.ts +8 -5
  27. package/dist/index.js +9 -6
  28. package/dist/index.mjs +8 -4
  29. package/dist/interfaces/AuthFlow.d.ts +24 -0
  30. package/dist/interfaces/AuthFlow.js +3 -0
  31. package/dist/interfaces/Balance.d.ts +16 -0
  32. package/dist/{types → interfaces}/Balance.js +1 -1
  33. package/dist/interfaces/Bookings.d.ts +144 -0
  34. package/dist/interfaces/Bookings.js +3 -0
  35. package/dist/interfaces/Establishment.d.ts +95 -0
  36. package/dist/interfaces/Establishment.js +3 -0
  37. package/dist/interfaces/Fetcher.d.ts +9 -0
  38. package/dist/interfaces/Fetcher.js +3 -0
  39. package/dist/interfaces/Home.d.ts +27 -0
  40. package/dist/{types → interfaces}/Home.js +1 -1
  41. package/dist/interfaces/Host.d.ts +38 -0
  42. package/dist/{types/School.js → interfaces/Host.js} +1 -1
  43. package/dist/parser/Balance.d.ts +17 -0
  44. package/dist/parser/Balance.js +20 -0
  45. package/dist/parser/BookedMeal.d.ts +29 -0
  46. package/dist/parser/BookedMeal.js +28 -0
  47. package/dist/parser/BookingDay.d.ts +32 -0
  48. package/dist/parser/BookingDay.js +39 -0
  49. package/dist/parser/BookingPrice.d.ts +7 -0
  50. package/dist/parser/BookingPrice.js +13 -0
  51. package/dist/parser/BookingTerminal.d.ts +32 -0
  52. package/dist/parser/BookingTerminal.js +30 -0
  53. package/dist/parser/BookingWeek.d.ts +17 -0
  54. package/dist/parser/BookingWeek.js +19 -0
  55. package/dist/parser/Establishment.d.ts +117 -0
  56. package/dist/parser/Establishment.js +84 -0
  57. package/dist/parser/History.d.ts +17 -0
  58. package/dist/parser/History.js +20 -0
  59. package/dist/parser/Host.d.ts +70 -0
  60. package/dist/parser/Host.js +67 -0
  61. package/dist/parser/LatestPayment.d.ts +26 -0
  62. package/dist/parser/LatestPayment.js +27 -0
  63. package/dist/utils/endpoints.d.ts +10 -0
  64. package/dist/utils/endpoints.js +24 -0
  65. package/dist/utils/fetcher.d.ts +7 -0
  66. package/dist/utils/fetcher.js +25 -0
  67. package/dist/utils/weekNumber.d.ts +1 -0
  68. package/dist/utils/weekNumber.js +14 -0
  69. package/package.json +4 -6
  70. package/dist/auth/index.d.ts +0 -7
  71. package/dist/auth/index.js +0 -35
  72. package/dist/rest/RESTManager.d.ts +0 -7
  73. package/dist/rest/RESTManager.js +0 -15
  74. package/dist/rest/RequestHandler.d.ts +0 -5
  75. package/dist/rest/RequestHandler.js +0 -27
  76. package/dist/rest/endpoints.d.ts +0 -10
  77. package/dist/rest/endpoints.js +0 -23
  78. package/dist/routes/School.d.ts +0 -19
  79. package/dist/routes/School.js +0 -55
  80. package/dist/routes/User.d.ts +0 -74
  81. package/dist/routes/User.js +0 -237
  82. package/dist/structures/Client.d.ts +0 -26
  83. package/dist/structures/Client.js +0 -195
  84. package/dist/types/Balance.d.ts +0 -24
  85. package/dist/types/Booking.d.ts +0 -73
  86. package/dist/types/Booking.js +0 -3
  87. package/dist/types/Home.d.ts +0 -42
  88. package/dist/types/Login.d.ts +0 -14
  89. package/dist/types/Login.js +0 -3
  90. package/dist/types/School.d.ts +0 -103
  91. package/dist/types/User.d.ts +0 -69
  92. package/dist/types/User.js +0 -3
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LatestPayment = void 0;
4
+ class LatestPayment {
5
+ constructor(id,
6
+ /** Date of the payment */
7
+ date,
8
+ /** Date of the last update */
9
+ updateDate, type,
10
+ /** Amount of the payment in cents */
11
+ amount,
12
+ /** Actual Payment Status */
13
+ status,
14
+ /** Transaction ID of the payment */
15
+ transactionId, token) {
16
+ this.id = id;
17
+ this.date = date;
18
+ this.updateDate = updateDate;
19
+ this.type = type;
20
+ this.amount = amount;
21
+ this.status = status;
22
+ this.transactionId = transactionId;
23
+ this.token = token;
24
+ }
25
+ }
26
+ exports.LatestPayment = LatestPayment;
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGF0ZXN0UGF5bWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9wYXJzZXIvTGF0ZXN0UGF5bWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxNQUFhLGFBQWE7SUFDeEIsWUFDUyxFQUFVO0lBQ2pCLDBCQUEwQjtJQUNuQixJQUFVO0lBQ2pCLDhCQUE4QjtJQUN2QixVQUF1QixFQUN2QixJQUFtQjtJQUMxQixxQ0FBcUM7SUFDOUIsTUFBYztJQUNyQiw0QkFBNEI7SUFDckIsTUFBYztJQUNyQixvQ0FBb0M7SUFDN0IsYUFBcUIsRUFDckIsS0FBYTtRQVpiLE9BQUUsR0FBRixFQUFFLENBQVE7UUFFVixTQUFJLEdBQUosSUFBSSxDQUFNO1FBRVYsZUFBVSxHQUFWLFVBQVUsQ0FBYTtRQUN2QixTQUFJLEdBQUosSUFBSSxDQUFlO1FBRW5CLFdBQU0sR0FBTixNQUFNLENBQVE7UUFFZCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBRWQsa0JBQWEsR0FBYixhQUFhLENBQVE7UUFDckIsVUFBSyxHQUFMLEtBQUssQ0FBUTtJQUV0QixDQUFDO0NBQ0Y7QUFqQkQsc0NBaUJDIn0=
@@ -0,0 +1,10 @@
1
+ export declare const LOGIN: () => string;
2
+ export declare const SEARCH_ETABLISHMENT: (city: string, limit: number) => string;
3
+ export declare const GET_ETABLISHMENT: (id: number) => string;
4
+ export declare const GET_HOST: (id: number) => string;
5
+ export declare const GET_HOST_BALANCE: (id: number) => string;
6
+ export declare const GET_HOST_HOME: (id: number) => string;
7
+ export declare const GET_HOST_CAN_BOOK_EVENING: (id: number) => string;
8
+ export declare const GET_SIBLINGS: (id: number) => string;
9
+ export declare const GET_BOOKING_WEEK: (id: number, weekNumber: number) => string;
10
+ export declare const PUT_BOOK_MEAL: (id: number) => string;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PUT_BOOK_MEAL = exports.GET_BOOKING_WEEK = exports.GET_SIBLINGS = exports.GET_HOST_CAN_BOOK_EVENING = exports.GET_HOST_HOME = exports.GET_HOST_BALANCE = exports.GET_HOST = exports.GET_ETABLISHMENT = exports.SEARCH_ETABLISHMENT = exports.LOGIN = void 0;
4
+ const LOGIN = () => "/api/v1/auth/login";
5
+ exports.LOGIN = LOGIN;
6
+ const SEARCH_ETABLISHMENT = (city, limit) => `/api/v1/etablissements?q=${city}&limit=${limit}`;
7
+ exports.SEARCH_ETABLISHMENT = SEARCH_ETABLISHMENT;
8
+ const GET_ETABLISHMENT = (id) => `/api/v1/etablissements/etabId/${id}`;
9
+ exports.GET_ETABLISHMENT = GET_ETABLISHMENT;
10
+ const GET_HOST = (id) => `/api/v1/hotes/${id}`;
11
+ exports.GET_HOST = GET_HOST;
12
+ const GET_HOST_BALANCE = (id) => `/api/v1/comptes/hotes/${id}/1`;
13
+ exports.GET_HOST_BALANCE = GET_HOST_BALANCE;
14
+ const GET_HOST_HOME = (id) => `/api/v2/hotes/${id}/accueil`;
15
+ exports.GET_HOST_HOME = GET_HOST_HOME;
16
+ const GET_HOST_CAN_BOOK_EVENING = (id) => `/api/v1/hotes/${id}/resa-soir`;
17
+ exports.GET_HOST_CAN_BOOK_EVENING = GET_HOST_CAN_BOOK_EVENING;
18
+ const GET_SIBLINGS = (id) => `/api/v1/hotes/${id}/freres-soeurs`;
19
+ exports.GET_SIBLINGS = GET_SIBLINGS;
20
+ const GET_BOOKING_WEEK = (id, weekNumber) => `/api/v1/reservations/hotes/${id}/semaines?num=${weekNumber}`;
21
+ exports.GET_BOOKING_WEEK = GET_BOOKING_WEEK;
22
+ const PUT_BOOK_MEAL = (id) => `/api/v2/hotes/${id}/reservations-jours`;
23
+ exports.PUT_BOOK_MEAL = PUT_BOOK_MEAL;
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5kcG9pbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL3V0aWxzL2VuZHBvaW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBTyxNQUFNLEtBQUssR0FBRyxHQUFHLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztBQUFuQyxRQUFBLEtBQUssU0FBOEI7QUFFekMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLElBQVksRUFBRSxLQUFhLEVBQUUsRUFBRSxDQUFDLDRCQUE0QixJQUFJLFVBQVUsS0FBSyxFQUFFLENBQUM7QUFBekcsUUFBQSxtQkFBbUIsdUJBQXNGO0FBQy9HLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxFQUFVLEVBQUUsRUFBRSxDQUFDLGlDQUFpQyxFQUFFLEVBQUUsQ0FBQztBQUF6RSxRQUFBLGdCQUFnQixvQkFBeUQ7QUFFL0UsTUFBTSxRQUFRLEdBQUcsQ0FBQyxFQUFVLEVBQUUsRUFBRSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsQ0FBQztBQUFqRCxRQUFBLFFBQVEsWUFBeUM7QUFDdkQsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEVBQVUsRUFBRSxFQUFFLENBQUMseUJBQXlCLEVBQUUsSUFBSSxDQUFDO0FBQW5FLFFBQUEsZ0JBQWdCLG9CQUFtRDtBQUN6RSxNQUFNLGFBQWEsR0FBRyxDQUFDLEVBQVUsRUFBRSxFQUFFLENBQUMsaUJBQWlCLEVBQUUsVUFBVSxDQUFDO0FBQTlELFFBQUEsYUFBYSxpQkFBaUQ7QUFDcEUsTUFBTSx5QkFBeUIsR0FBRyxDQUFDLEVBQVUsRUFBRSxFQUFFLENBQUMsaUJBQWlCLEVBQUUsWUFBWSxDQUFDO0FBQTVFLFFBQUEseUJBQXlCLDZCQUFtRDtBQUVsRixNQUFNLFlBQVksR0FBRyxDQUFDLEVBQVUsRUFBRSxFQUFFLENBQUMsaUJBQWlCLEVBQUUsZ0JBQWdCLENBQUM7QUFBbkUsUUFBQSxZQUFZLGdCQUF1RDtBQUV6RSxNQUFNLGdCQUFnQixHQUFHLENBQUMsRUFBVSxFQUFFLFVBQWtCLEVBQUUsRUFBRSxDQUFDLDhCQUE4QixFQUFFLGlCQUFpQixVQUFVLEVBQUUsQ0FBQztBQUFySCxRQUFBLGdCQUFnQixvQkFBcUc7QUFDM0gsTUFBTSxhQUFhLEdBQUcsQ0FBQyxFQUFVLEVBQUUsRUFBRSxDQUFDLGlCQUFpQixFQUFFLHFCQUFxQixDQUFDO0FBQXpFLFFBQUEsYUFBYSxpQkFBNEQifQ==
@@ -0,0 +1,7 @@
1
+ /** @module fetcher */
2
+ import { FetcherOptions } from "../interfaces/Fetcher";
3
+ export declare const TurboselfFetcher: (url: string, options: FetcherOptions) => Promise<{
4
+ headers: import("undici-types").Headers;
5
+ text: () => Promise<string>;
6
+ json: <T>() => Promise<T>;
7
+ }>;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TurboselfFetcher = void 0;
4
+ const TurboselfFetcher = async (url, options) => {
5
+ const response = await fetch(url, {
6
+ method: options.method,
7
+ headers: {
8
+ ...options.headers,
9
+ "User-Agent": "@raphckrman/Turboself-API"
10
+ },
11
+ body: options.method === "GET" ? undefined : options.body,
12
+ redirect: options.redirect
13
+ });
14
+ if (!response.status.toString().startsWith("2")) {
15
+ const json = await response.json();
16
+ throw new Error(`${json.message} (${json.statusCode})`);
17
+ }
18
+ return {
19
+ headers: response.headers,
20
+ text: () => response.text(),
21
+ json: () => response.json()
22
+ };
23
+ };
24
+ exports.TurboselfFetcher = TurboselfFetcher;
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmV0Y2hlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi91dGlscy9mZXRjaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdPLE1BQU0sZ0JBQWdCLEdBQUcsS0FBSyxFQUFFLEdBQVcsRUFBRSxPQUF1QixFQUFFLEVBQUU7SUFDN0UsTUFBTSxRQUFRLEdBQUcsTUFBTSxLQUFLLENBQUMsR0FBRyxFQUFFO1FBQ2hDLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtRQUN0QixPQUFPLEVBQUU7WUFDUCxHQUFHLE9BQU8sQ0FBQyxPQUFPO1lBQ2xCLFlBQVksRUFBRSwyQkFBMkI7U0FDMUM7UUFDRCxJQUFJLEVBQUUsT0FBTyxDQUFDLE1BQU0sS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUk7UUFDekQsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRO0tBQzNCLENBQUMsQ0FBQztJQUNILElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ2hELE1BQU0sSUFBSSxHQUFHLE1BQU0sUUFBUSxDQUFDLElBQUksRUFJL0IsQ0FBQztRQUNGLE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxLQUFLLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFJRCxPQUFPO1FBQ0wsT0FBTyxFQUFFLFFBQVEsQ0FBQyxPQUFPO1FBQ3pCLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFO1FBQzNCLElBQUksRUFBRSxHQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFnQjtLQUM3QyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBMUJXLFFBQUEsZ0JBQWdCLG9CQTBCM0IifQ==
@@ -0,0 +1 @@
1
+ export declare function getWeekNumber(date: Date): number;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getWeekNumber = void 0;
4
+ function getWeekNumber(date) {
5
+ const dayOfWeek = date.getDay();
6
+ const startOfYear = new Date(date.getFullYear(), 0, 0);
7
+ const diff = date.getTime() - startOfYear.getTime();
8
+ const oneDay = 1000 * 60 * 60 * 24;
9
+ const dayOfYear = Math.floor(diff / oneDay);
10
+ const weekNumber = Math.ceil((dayOfYear + 1) / 7);
11
+ return weekNumber;
12
+ }
13
+ exports.getWeekNumber = getWeekNumber;
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vla051bWJlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi91dGlscy93ZWVrTnVtYmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLFNBQWdCLGFBQWEsQ0FBQyxJQUFVO0lBQ3RDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUVoQyxNQUFNLFdBQVcsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDcEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBQ25DLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxDQUFDO0lBRTVDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFFbEQsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQztBQVhELHNDQVdDIn0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "turboself-api",
3
- "version": "0.1.5",
3
+ "version": "1.1.6",
4
4
  "description": "A wrapper around Turboself internal API.",
5
5
  "repository": "github:raphckrman/turboself-api",
6
6
  "main": "./dist/index.js",
@@ -39,6 +39,7 @@
39
39
  "devDependencies": {
40
40
  "@inquirer/prompts": "^4.1.0",
41
41
  "@stylistic/eslint-plugin": "^1.5.3",
42
+ "@types/node": "^20.12.11",
42
43
  "@types/node-forge": "^1.3.10",
43
44
  "@types/pako": "^2.0.3",
44
45
  "@types/set-cookie-parser": "^2.4.7",
@@ -47,12 +48,9 @@
47
48
  "gen-esm-wrapper": "^1.1.3",
48
49
  "release-it": "^17.0.1",
49
50
  "terser": "^5.26.0",
51
+ "ts-node": "^10.9.2",
50
52
  "tsup": "^8.0.1",
51
53
  "tsx": "^4.7.0",
52
- "typescript": "^5.3.3",
53
- "ts-node": "^10.9.2"
54
- },
55
- "dependencies": {
56
- "axios": "^1.6.7"
54
+ "typescript": "^5.3.3"
57
55
  }
58
56
  }
@@ -1,7 +0,0 @@
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>;
@@ -1,35 +0,0 @@
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=
@@ -1,7 +0,0 @@
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
- }
@@ -1,15 +0,0 @@
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
@@ -1,5 +0,0 @@
1
- /** @module RequestHandler */
2
- import { AxiosRequestConfig } from "axios";
3
- export declare class RequestHandler {
4
- makeRequest<T = unknown>(options?: AxiosRequestConfig): Promise<T>;
5
- }
@@ -1,27 +0,0 @@
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=
@@ -1,10 +0,0 @@
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;
9
- export declare const EVENING: (hoteId: number) => string;
10
- export declare const SEARCHSCHOOL: (q: string, limit: number) => string;
@@ -1,23 +0,0 @@
1
- "use strict";
2
- /** REST/Endpoints */
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.SEARCHSCHOOL = exports.EVENING = 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
- const EVENING = (hoteId) => `/api/v1/hotes/${hoteId}/resa-soir`;
20
- exports.EVENING = EVENING;
21
- const SEARCHSCHOOL = (q, limit) => `/api/v1/etablissements?q=${q}&limit=${limit}`;
22
- exports.SEARCHSCHOOL = SEARCHSCHOOL;
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5kcG9pbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL3Jlc3QvZW5kcG9pbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxxQkFBcUI7OztBQUVkLE1BQU0sS0FBSyxHQUFHLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUFDO0FBQW5DLFFBQUEsS0FBSyxTQUE4QjtBQUV6QyxNQUFNLElBQUksR0FBRyxDQUFDLE1BQWMsRUFBRSxFQUFFLENBQUMsaUJBQWlCLE1BQU0sRUFBRSxDQUFDO0FBQXJELFFBQUEsSUFBSSxRQUFpRDtBQUMzRCxNQUFNLGFBQWEsR0FBRyxDQUFDLE1BQWMsRUFBRSxFQUFFLENBQUMseUJBQXlCLE1BQU0sSUFBSSxDQUFDO0FBQXhFLFFBQUEsYUFBYSxpQkFBMkQ7QUFDOUUsTUFBTSxTQUFTLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRSxDQUFDLGlCQUFpQixNQUFNLFVBQVUsQ0FBQztBQUFsRSxRQUFBLFNBQVMsYUFBeUQ7QUFFeEUsTUFBTSxNQUFNLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRSxDQUFDLGlDQUFpQyxNQUFNLEVBQUUsQ0FBQztBQUF2RSxRQUFBLE1BQU0sVUFBaUU7QUFFN0UsTUFBTSxRQUFRLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRSxDQUFDLDhCQUE4QixNQUFNLFdBQVcsQ0FBQztBQUEvRSxRQUFBLFFBQVEsWUFBdUU7QUFDckYsTUFBTSxRQUFRLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRSxDQUFDLGlCQUFpQixNQUFNLHFCQUFxQixDQUFDO0FBQTVFLFFBQUEsUUFBUSxZQUFvRTtBQUVsRixNQUFNLE9BQU8sR0FBRyxDQUFDLE1BQWMsRUFBRSxFQUFFLENBQUMsaUJBQWlCLE1BQU0sWUFBWSxDQUFDO0FBQWxFLFFBQUEsT0FBTyxXQUEyRDtBQUV4RSxNQUFNLFlBQVksR0FBRyxDQUFDLENBQVMsRUFBRSxLQUFhLEVBQUUsRUFBRSxDQUFDLDRCQUE0QixDQUFDLFVBQVUsS0FBSyxFQUFFLENBQUM7QUFBNUYsUUFBQSxZQUFZLGdCQUFnRiJ9
@@ -1,19 +0,0 @@
1
- import { SchoolResponse, SchoolSearchResponse } from "../types/School";
2
- export declare class School {
3
- #private;
4
- constructor();
5
- /** This method is used to get the user school information.
6
- * @param hoteId The ID of the hote.
7
- * @param token The token of the user.
8
- */
9
- getUserSchool(hoteId: number, token: string): Promise<SchoolResponse>;
10
- /** This method is used to get the school informations.
11
- * @param etabId The ID of the school.
12
- */
13
- getSchool(etabId: number): Promise<SchoolResponse>;
14
- /** This method is used to search for a etab.
15
- * @param q Name of the school.
16
- * @param limit Number of results.
17
- */
18
- seachSchool(q: string, limit: number): Promise<SchoolSearchResponse>;
19
- }
@@ -1,55 +0,0 @@
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 information.
13
- * @param hoteId The ID of the hote.
14
- * @param token The token of the user.
15
- */
16
- async getUserSchool(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 typedData.etab;
26
- });
27
- }
28
- /** This method is used to get the school informations.
29
- * @param etabId The ID of the school.
30
- */
31
- async getSchool(etabId) {
32
- return this.#manager.makeAuthRequest({
33
- method: "GET",
34
- url: endpoints.SCHOOL(etabId)
35
- }).then((data) => {
36
- let typedData = data;
37
- return typedData;
38
- });
39
- }
40
- /** This method is used to search for a etab.
41
- * @param q Name of the school.
42
- * @param limit Number of results.
43
- */
44
- async seachSchool(q, limit) {
45
- return this.#manager.makeAuthRequest({
46
- method: "GET",
47
- url: endpoints.SEARCHSCHOOL(q, limit)
48
- }).then((data) => {
49
- let typedData = data;
50
- return typedData;
51
- });
52
- }
53
- }
54
- exports.School = School;
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2Nob29sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL3JvdXRlcy9TY2hvb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLHFEQUFrRDtBQUNsRCxxRUFBK0M7QUFJL0MsTUFBYSxNQUFNO0lBQ2pCLFFBQVEsQ0FBYztJQUV0QjtRQUNFLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSx5QkFBVyxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxhQUFhLENBQUMsTUFBYyxFQUFFLEtBQWE7UUFDL0MsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBZTtZQUNqRCxNQUFNLEVBQUUsS0FBSztZQUNiLEdBQUcsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUMzQixPQUFPLEVBQUU7Z0JBQ1AsZUFBZSxFQUFFLFNBQVMsR0FBRyxLQUFLO2FBQ25DO1NBQ0YsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQWEsRUFBRSxFQUFFO1lBQ3hCLElBQUksU0FBUyxHQUFHLElBQW9CLENBQUM7WUFDckMsT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztTQUVLO0lBQ0wsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFjO1FBQzVCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQWlCO1lBQ25ELE1BQU0sRUFBRSxLQUFLO1lBQ2IsR0FBRyxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO1NBQzlCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFhLEVBQUUsRUFBRTtZQUN4QixJQUFJLFNBQVMsR0FBRyxJQUFzQixDQUFDO1lBQ3ZDLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7TUFHRTtJQUNGLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBUyxFQUFFLEtBQWE7UUFDeEMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBdUI7WUFDekQsTUFBTSxFQUFFLEtBQUs7WUFDYixHQUFHLEVBQUUsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDO1NBQ3RDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFhLEVBQUUsRUFBRTtZQUN4QixJQUFJLFNBQVMsR0FBRyxJQUE0QixDQUFDO1lBQzdDLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBbERELHdCQWtEQyJ9
@@ -1,74 +0,0 @@
1
- import { balanceResponse } from "../types/Balance";
2
- import { bookMealResponse, bookingResponse } 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
- getBalances(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<bookingResponse>;
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 if the user can book the evening.
50
- * @param hoteId The ID of the hote to get.
51
- * @param token The token of the user.
52
- */
53
- canBookEvening(hoteId: number, token: string): Promise<boolean>;
54
- /** This method is used to get the state of evening reservation.
55
- * @param hoteId The ID of the hote to get.
56
- * @param token The token of the user.
57
- */
58
- getEveningBookingState(hoteId: number, token: string): Promise<boolean>;
59
- /** This method is used to get the bookings of the user for a week.
60
- * @param hoteId The ID of the hote to get.
61
- * @param token The token of the user.
62
- * @param state The state of the booking (1==true, 0==false).
63
- * @param weekNumber The week number to get.
64
- * @param dayOfWeek The ID of the borne to get.
65
- * @param bookEvening If the evening should be booked.
66
- */
67
- bookDay(hoteId: number, token: string, state: number, weekNumber?: number, dayOfWeek?: number, bookEvening?: boolean): Promise<bookMealResponse>;
68
- /** This method is used to get the week for a weekNumber.
69
- * @param hoteId The ID of the hote to get.
70
- * @param week The week number to get.
71
- * @param token The token of the user.
72
- */
73
- getBookingWeek(hoteId: number, week: number, token: string): Promise<string>;
74
- }