turboself-api 1.1.6 → 1.2.7

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 CHANGED
@@ -10,6 +10,35 @@ A simple wrapper to interact with the TurboSelf API.
10
10
  > [!warning]
11
11
  > This project is not affiliated with TurboSelf or INCB in any way.
12
12
 
13
+ ## 📝 Roadmap
14
+
15
+ - [X] Authentification
16
+
17
+ - [x] With credentials
18
+ - [X] With token (with Pronote for example)
19
+
20
+ - [x] Reset password request (with email)
21
+
22
+ - [x] Get informations
23
+
24
+ - [x] Balance
25
+ - [x] Bookings
26
+ - [x] History
27
+ - [x] Host
28
+ - [x] Last transaction
29
+ - [x] Permissions to book evenings meals
30
+ - [x] Siblings
31
+ - [x] User
32
+
33
+ - [x] Seaching an etablishment
34
+
35
+ - [x] By city
36
+ - [x] With Limit
37
+
38
+ - [x] Get etablishment informations
39
+
40
+ - [x] Book a meal (book and cancel)
41
+
13
42
  ## 📦 Installation
14
43
 
15
44
  ```bash
@@ -17,19 +46,25 @@ npm install turboself-api
17
46
  ```
18
47
 
19
48
  ## 🔧 Usage
49
+
20
50
  ### Authentification with credentials
51
+
21
52
  ```javascript
22
- const TurboSelf = require('turboself-api')
53
+ const TurboSelf = require("turboself-api");
23
54
 
24
55
  async function main() {
25
- let client = await TurboSelf.authenticateWithCredentials({ username: "your_email", password: "your_password" })
26
- console.log(client)
56
+ let client = await TurboSelf.authenticateWithCredentials({
57
+ username: "your_email",
58
+ password: "your_password",
59
+ });
60
+ console.log(client);
27
61
  }
28
62
 
29
- main()
63
+ main();
30
64
  ```
31
65
 
32
66
  ### Other exemples
67
+
33
68
  To see more examples, check the [examples](https://github.com/raphckrman/turboself-api/tree/dev/examples) folder.
34
69
 
35
70
  ## ௷ Credits
@@ -0,0 +1,2 @@
1
+ import { AccountCreation } from "../interfaces/Account";
2
+ export declare const createAccount: (card: string, token: string | null, code2p5: number, firstName: string, lastName: string, email: string, password: string) => Promise<AccountCreation>;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createAccount = void 0;
4
+ const endpoints_1 = require("../utils/endpoints");
5
+ const fetcher_1 = require("../utils/fetcher");
6
+ const createAccount = async (
7
+ /* Number after the 2p5 */
8
+ card, token,
9
+ /* First 4 digits of the card */
10
+ code2p5, firstName, lastName, email, password) => {
11
+ const response = await (0, fetcher_1.TurboselfFetcher)("https://api-rest-prod.incb.fr" + (0, endpoints_1.CREATE_ACCOUNT)(), {
12
+ method: "POST",
13
+ headers: {
14
+ "Content-Type": "application/json",
15
+ "Authorization": "Bearer " + token
16
+ },
17
+ body: JSON.stringify({
18
+ carte: card,
19
+ token: token,
20
+ code2p5: code2p5,
21
+ nom: lastName,
22
+ prenom: firstName,
23
+ email: email,
24
+ password: password
25
+ })
26
+ });
27
+ const raw = await response.json();
28
+ return {
29
+ card: raw.carte,
30
+ token: raw.token,
31
+ code2p5: raw.code2p5,
32
+ firstName: raw.prenom,
33
+ lastName: raw.nom,
34
+ email: raw.email,
35
+ id: raw.id
36
+ };
37
+ };
38
+ exports.createAccount = createAccount;
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudENyZWF0aW9uUG9zdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9hcGkvYWNjb3VudENyZWF0aW9uUG9zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxrREFBb0Q7QUFDcEQsOENBQW9EO0FBRTdDLE1BQU0sYUFBYSxHQUFHLEtBQUs7QUFDaEMsMEJBQTBCO0FBQzFCLElBQVksRUFDWixLQUFvQjtBQUNwQixnQ0FBZ0M7QUFDaEMsT0FBZSxFQUNmLFNBQWlCLEVBQ2pCLFFBQWdCLEVBQ2hCLEtBQWEsRUFDYixRQUFnQixFQUNVLEVBQUU7SUFDNUIsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFBLDBCQUFnQixFQUFDLCtCQUErQixHQUFHLElBQUEsMEJBQWMsR0FBRSxFQUFFO1FBQzFGLE1BQU0sRUFBRSxNQUFNO1FBQ2QsT0FBTyxFQUFFO1lBQ1AsY0FBYyxFQUFFLGtCQUFrQjtZQUNsQyxlQUFlLEVBQUUsU0FBUyxHQUFHLEtBQUs7U0FDbkM7UUFDRCxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNuQixLQUFLLEVBQUUsSUFBSTtZQUNYLEtBQUssRUFBRSxLQUFLO1lBQ1osT0FBTyxFQUFFLE9BQU87WUFDaEIsR0FBRyxFQUFFLFFBQVE7WUFDYixNQUFNLEVBQUUsU0FBUztZQUNqQixLQUFLLEVBQUUsS0FBSztZQUNaLFFBQVEsRUFBRSxRQUFRO1NBQ25CLENBQUM7S0FDSCxDQUFDLENBQUM7SUFFSCxNQUFNLEdBQUcsR0FBRyxNQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQStCLENBQUM7SUFDL0QsT0FBTztRQUNMLElBQUksRUFBRSxHQUFHLENBQUMsS0FBSztRQUNmLEtBQUssRUFBRSxHQUFHLENBQUMsS0FBSztRQUNoQixPQUFPLEVBQUUsR0FBRyxDQUFDLE9BQU87UUFDcEIsU0FBUyxFQUFFLEdBQUcsQ0FBQyxNQUFNO1FBQ3JCLFFBQVEsRUFBRSxHQUFHLENBQUMsR0FBRztRQUNqQixLQUFLLEVBQUUsR0FBRyxDQUFDLEtBQUs7UUFDaEIsRUFBRSxFQUFFLEdBQUcsQ0FBQyxFQUFFO0tBQ1EsQ0FBQztBQUN2QixDQUFDLENBQUM7QUF0Q1csUUFBQSxhQUFhLGlCQXNDeEIifQ==
@@ -1,2 +1,2 @@
1
1
  import { Establishment } from "../parser/Establishment";
2
- export declare const searchEstablishment: (city: string, limit: number) => Promise<Array<Establishment>>;
2
+ export declare const searchEstablishment: (city?: string, code?: number, limit?: number) => Promise<Array<Establishment>>;
@@ -4,8 +4,8 @@ exports.searchEstablishment = void 0;
4
4
  const Establishment_1 = require("../parser/Establishment");
5
5
  const endpoints_1 = require("../utils/endpoints");
6
6
  const fetcher_1 = require("../utils/fetcher");
7
- const searchEstablishment = async (city, limit) => {
8
- const response = await (0, fetcher_1.TurboselfFetcher)("https://api-rest-prod.incb.fr" + (0, endpoints_1.SEARCH_ETABLISHMENT)(city, limit), {
7
+ const searchEstablishment = async (city, code, limit) => {
8
+ const response = await (0, fetcher_1.TurboselfFetcher)("https://api-rest-prod.incb.fr" + (0, endpoints_1.SEARCH_ETABLISHMENT)(city, code, limit), {
9
9
  method: "GET",
10
10
  headers: {
11
11
  "Content-Type": "application/json"
@@ -18,4 +18,4 @@ const searchEstablishment = async (city, limit) => {
18
18
  return result;
19
19
  };
20
20
  exports.searchEstablishment = searchEstablishment;
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXN0YWJsaXNobWVudFNlYXJjaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9hcGkvZXN0YWJsaXNobWVudFNlYXJjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSwyREFBd0Q7QUFDeEQsa0RBQXlEO0FBQ3pELDhDQUFvRDtBQUU3QyxNQUFNLG1CQUFtQixHQUFHLEtBQUssRUFBRSxJQUFZLEVBQUUsS0FBYSxFQUFpQyxFQUFFO0lBQ3RHLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBQSwwQkFBZ0IsRUFBQywrQkFBK0IsR0FBRyxJQUFBLCtCQUFtQixFQUFDLElBQUksRUFBRSxLQUFLLENBQUMsRUFBRTtRQUMxRyxNQUFNLEVBQUUsS0FBSztRQUNiLE9BQU8sRUFBRTtZQUNQLGNBQWMsRUFBRSxrQkFBa0I7U0FDbkM7S0FDRixDQUFDLENBQUM7SUFFSCxNQUFNLEdBQUcsR0FBRyxNQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQWtDLENBQUM7SUFDbEUsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1FBQzlCLE9BQU8sSUFBSSw2QkFBYSxDQUN0QixJQUFJLENBQUMsT0FBTyxFQUNaLElBQUksQ0FBQyxHQUFHLEVBQ1IsSUFBSSxDQUFDLFNBQVMsQ0FDZixDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDLENBQUM7QUFsQlcsUUFBQSxtQkFBbUIsdUJBa0I5QiJ9
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXN0YWJsaXNobWVudFNlYXJjaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9hcGkvZXN0YWJsaXNobWVudFNlYXJjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSwyREFBd0Q7QUFDeEQsa0RBQXlEO0FBQ3pELDhDQUFvRDtBQUU3QyxNQUFNLG1CQUFtQixHQUFHLEtBQUssRUFBRSxJQUFhLEVBQUUsSUFBYSxFQUFFLEtBQWMsRUFBaUMsRUFBRTtJQUN2SCxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUEsMEJBQWdCLEVBQUMsK0JBQStCLEdBQUcsSUFBQSwrQkFBbUIsRUFBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxFQUFFO1FBQ2hILE1BQU0sRUFBRSxLQUFLO1FBQ2IsT0FBTyxFQUFFO1lBQ1AsY0FBYyxFQUFFLGtCQUFrQjtTQUNuQztLQUNGLENBQUMsQ0FBQztJQUVILE1BQU0sR0FBRyxHQUFHLE1BQU0sUUFBUSxDQUFDLElBQUksRUFBa0MsQ0FBQztJQUNsRSxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDOUIsT0FBTyxJQUFJLDZCQUFhLENBQ3RCLElBQUksQ0FBQyxPQUFPLEVBQ1osSUFBSSxDQUFDLEdBQUcsRUFDUixJQUFJLENBQUMsU0FBUyxDQUNmLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMsQ0FBQztBQWxCVyxRQUFBLG1CQUFtQix1QkFrQjlCIn0=
@@ -0,0 +1 @@
1
+ export declare const generatePaymentURL: (token: string, id: number, amount: number) => Promise<string>;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generatePaymentURL = void 0;
4
+ const endpoints_1 = require("../utils/endpoints");
5
+ const fetcher_1 = require("../utils/fetcher");
6
+ const generatePaymentURL = async (token, id, amount) => {
7
+ const response = await (0, fetcher_1.TurboselfFetcher)("https://api-rest-prod.incb.fr" + (0, endpoints_1.POST_INIT_PAYMENT)(id), {
8
+ method: "POST",
9
+ headers: {
10
+ "Content-Type": "application/json",
11
+ "Authorization": "Bearer " + token
12
+ },
13
+ body: JSON.stringify([{
14
+ paiementPayline: {
15
+ hote: {
16
+ id: id
17
+ }
18
+ },
19
+ montant: amount
20
+ }])
21
+ });
22
+ const raw = await response.json();
23
+ return raw.redirectURL;
24
+ };
25
+ exports.generatePaymentURL = generatePaymentURL;
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVQYXltZW50VVJMLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2FwaS9nZW5lcmF0ZVBheW1lbnRVUkwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0Esa0RBQXVEO0FBQ3ZELDhDQUFvRDtBQUU3QyxNQUFNLGtCQUFrQixHQUFHLEtBQUssRUFBRSxLQUFhLEVBQUUsRUFBVSxFQUFFLE1BQWMsRUFBbUIsRUFBRTtJQUNyRyxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUEsMEJBQWdCLEVBQUMsK0JBQStCLEdBQUcsSUFBQSw2QkFBaUIsRUFBQyxFQUFFLENBQUMsRUFBRTtRQUMvRixNQUFNLEVBQUUsTUFBTTtRQUNkLE9BQU8sRUFBRTtZQUNQLGNBQWMsRUFBRSxrQkFBa0I7WUFDbEMsZUFBZSxFQUFFLFNBQVMsR0FBRyxLQUFLO1NBQ25DO1FBQ0QsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDcEIsZUFBZSxFQUFFO29CQUNmLElBQUksRUFBRTt3QkFDSixFQUFFLEVBQUUsRUFBRTtxQkFDUDtpQkFDRjtnQkFDRCxPQUFPLEVBQUUsTUFBTTthQUNoQixDQUFDLENBQUM7S0FDSixDQUFDLENBQUM7SUFFSCxNQUFNLEdBQUcsR0FBRyxNQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQTJCLENBQUM7SUFDM0QsT0FBTyxHQUFHLENBQUMsV0FBVyxDQUFDO0FBQ3pCLENBQUMsQ0FBQztBQW5CVyxRQUFBLGtCQUFrQixzQkFtQjdCIn0=
@@ -0,0 +1,2 @@
1
+ import { RequestNewPasswordResult } from "../interfaces/Account";
2
+ export declare const requestNewPassword: (email: string) => Promise<RequestNewPasswordResult>;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.requestNewPassword = void 0;
4
+ const endpoints_1 = require("../utils/endpoints");
5
+ const fetcher_1 = require("../utils/fetcher");
6
+ const requestNewPassword = async (email) => {
7
+ const response = await (0, fetcher_1.TurboselfFetcher)("https://api-rest-prod.incb.fr" + (0, endpoints_1.SEND_PASSWORD_RESET_REQUEST)(email), {
8
+ method: "GET",
9
+ headers: {
10
+ "Content-Type": "application/json"
11
+ }
12
+ });
13
+ return await response.json();
14
+ };
15
+ exports.requestNewPassword = requestNewPassword;
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdE5ld1Bhc3N3b3JkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2FwaS9yZXF1ZXN0TmV3UGFzc3dvcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0Esa0RBQWlFO0FBQ2pFLDhDQUFvRDtBQUU3QyxNQUFNLGtCQUFrQixHQUFHLEtBQUssRUFBRSxLQUFhLEVBQXFDLEVBQUU7SUFDM0YsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFBLDBCQUFnQixFQUFDLCtCQUErQixHQUFHLElBQUEsdUNBQTJCLEVBQUMsS0FBSyxDQUFDLEVBQUU7UUFDNUcsTUFBTSxFQUFFLEtBQUs7UUFDYixPQUFPLEVBQUU7WUFDUCxjQUFjLEVBQUUsa0JBQWtCO1NBQ25DO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsT0FBTyxNQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQThCLENBQUM7QUFDM0QsQ0FBQyxDQUFDO0FBVFcsUUFBQSxrQkFBa0Isc0JBUzdCIn0=
@@ -1,4 +1,5 @@
1
1
  import { AuthFlowData } from "../interfaces/AuthFlow";
2
+ import { RequestNewPasswordResult } from "../interfaces/Account";
2
3
  import { Balance } from "../parser/Balance";
3
4
  import { BookedMeal } from "../parser/BookedMeal";
4
5
  import { BookingWeek } from "../parser/BookingWeek";
@@ -13,41 +14,49 @@ export default class Turboself {
13
14
  constructor(token: string, loginData: AuthFlowData);
14
15
  private refreshToken;
15
16
  /** This method is used to search schools from all schools using Turboself.
16
- * @param query The query to search for.
17
- * @param limit The maximum number of results to return.
17
+ * @param query The query to search for.
18
+ * @param limit The maximum number of results to return.
18
19
  */
19
20
  searchEstablishments(query: string, limit: number): Promise<Establishment[]>;
20
21
  /** This method is used to get an Establishment from Turboself.
21
- * @param code The code of the establishment.
22
- */
22
+ * @param code The code of the establishment.
23
+ */
23
24
  getEstablishment(code: string): Promise<Establishment>;
24
25
  /** This method is used to get the host of a Turboself user.
25
- */
26
+ */
26
27
  getHost(): Promise<Host>;
27
28
  /** This method is used to get the balance of a Turboself user.
28
- */
29
+ */
29
30
  getBalance(): Promise<Balance>;
30
31
  /** This method is used to get the siblings of a Turboself user.
31
- */
32
+ */
32
33
  getSiblings(): Promise<Host[]>;
33
34
  /** This method is used to get the latest payment of a Turboself user.
34
- */
35
+ */
35
36
  getHistory(): Promise<History[]>;
36
37
  /** This method is used to get the latest payment of a Turboself user.
37
- */
38
+ */
38
39
  getLatestPayment(): Promise<LatestPayment>;
39
40
  /** This method is used to get if the user can book evening.
40
- */
41
+ */
41
42
  canBookEvening(): Promise<boolean>;
42
43
  /** This method is used to get a booking week.
43
- * @param weekNumber The number of the week.
44
- */
44
+ * @param weekNumber The number of the week.
45
+ */
45
46
  getBookingWeek(weekNumber?: number): Promise<BookingWeek>;
47
+ /** This method is used to request a new password.
48
+ * @param email The email to request a new password for.
49
+ */
50
+ requestNewPassword(email: string): Promise<RequestNewPasswordResult>;
46
51
  /** This method is used to book a meal.
47
- * @param id The id of the associated to the terminal.
48
- * @param book If the meal should be booked.
49
- * @param bookEvening If the meal should be booked evening.
50
- * @param dayOfWeek The day of the week the meal should be booked.
51
- */
52
+ * @param id The id of the associated to the terminal.
53
+ * @param book If the meal should be booked.
54
+ * @param bookEvening If the meal should be booked evening.
55
+ * @param dayOfWeek The day of the week the meal should be booked.
56
+ */
52
57
  bookDay(id: string, book: boolean, bookEvening?: boolean, dayOfWeek?: number): Promise<BookedMeal>;
58
+ /** This method is used to generate an URL to pay.
59
+ * @param amount Amount in cents to pay.
60
+ */
61
+ generatePaymentURL(amount: number): Promise<string>;
53
62
  }
@@ -9,7 +9,9 @@ const historyGet_1 = require("../api/historyGet");
9
9
  const hostGet_1 = require("../api/hostGet");
10
10
  const lastPaymentGet_1 = require("../api/lastPaymentGet");
11
11
  const siblingsGet_1 = require("../api/siblingsGet");
12
+ const requestNewPassword_1 = require("../api/requestNewPassword");
12
13
  const authenticate_1 = require("../authenticate");
14
+ const generatePaymentURL_1 = require("../api/generatePaymentURL");
13
15
  class Turboself {
14
16
  constructor(token, loginData) {
15
17
  this.token = token;
@@ -29,20 +31,20 @@ class Turboself {
29
31
  return true;
30
32
  }
31
33
  /** This method is used to search schools from all schools using Turboself.
32
- * @param query The query to search for.
33
- * @param limit The maximum number of results to return.
34
+ * @param query The query to search for.
35
+ * @param limit The maximum number of results to return.
34
36
  */
35
37
  async searchEstablishments(query, limit) {
36
38
  return await (0, establishmentSearch_1.searchEstablishment)(query, limit);
37
39
  }
38
40
  /** This method is used to get an Establishment from Turboself.
39
- * @param code The code of the establishment.
40
- */
41
+ * @param code The code of the establishment.
42
+ */
41
43
  async getEstablishment(code) {
42
44
  return await this.getEstablishment(code);
43
45
  }
44
46
  /** This method is used to get the host of a Turboself user.
45
- */
47
+ */
46
48
  async getHost() {
47
49
  if (Date.now() > this.tokenExpires) {
48
50
  await this.refreshToken();
@@ -50,7 +52,7 @@ class Turboself {
50
52
  return await (0, hostGet_1.getHost)(this.token, this.loginData.hoteId);
51
53
  }
52
54
  /** This method is used to get the balance of a Turboself user.
53
- */
55
+ */
54
56
  async getBalance() {
55
57
  if (Date.now() > this.tokenExpires) {
56
58
  await this.refreshToken();
@@ -58,7 +60,7 @@ class Turboself {
58
60
  return await (0, balanceGet_1.getBalance)(this.token, this.loginData.hoteId);
59
61
  }
60
62
  /** This method is used to get the siblings of a Turboself user.
61
- */
63
+ */
62
64
  async getSiblings() {
63
65
  if (Date.now() > this.tokenExpires) {
64
66
  await this.refreshToken();
@@ -66,7 +68,7 @@ class Turboself {
66
68
  return await (0, siblingsGet_1.getSiblings)(this.token, this.loginData.hoteId);
67
69
  }
68
70
  /** This method is used to get the latest payment of a Turboself user.
69
- */
71
+ */
70
72
  async getHistory() {
71
73
  if (Date.now() > this.tokenExpires) {
72
74
  await this.refreshToken();
@@ -74,7 +76,7 @@ class Turboself {
74
76
  return await (0, historyGet_1.getHistory)(this.token, this.loginData.hoteId);
75
77
  }
76
78
  /** This method is used to get the latest payment of a Turboself user.
77
- */
79
+ */
78
80
  async getLatestPayment() {
79
81
  if (Date.now() > this.tokenExpires) {
80
82
  await this.refreshToken();
@@ -82,7 +84,7 @@ class Turboself {
82
84
  return await (0, lastPaymentGet_1.getLatestPayment)(this.token, this.loginData.hoteId);
83
85
  }
84
86
  /** This method is used to get if the user can book evening.
85
- */
87
+ */
86
88
  async canBookEvening() {
87
89
  if (Date.now() > this.tokenExpires) {
88
90
  await this.refreshToken();
@@ -90,30 +92,45 @@ class Turboself {
90
92
  return await (0, canBookEveningGet_1.getCanBookEvening)(this.token, this.loginData.hoteId);
91
93
  }
92
94
  /** This method is used to get a booking week.
93
- * @param weekNumber The number of the week.
94
- */
95
+ * @param weekNumber The number of the week.
96
+ */
95
97
  async getBookingWeek(weekNumber) {
96
98
  if (Date.now() > this.tokenExpires) {
97
99
  await this.refreshToken();
98
100
  }
99
101
  return await (0, bookingGet_1.getBookingWeek)(this.token, this.loginData.hoteId, weekNumber);
100
102
  }
103
+ /** This method is used to request a new password.
104
+ * @param email The email to request a new password for.
105
+ */
106
+ async requestNewPassword(email) {
107
+ return await (0, requestNewPassword_1.requestNewPassword)(email);
108
+ }
101
109
  /** This method is used to book a meal.
102
- * @param id The id of the associated to the terminal.
103
- * @param book If the meal should be booked.
104
- * @param bookEvening If the meal should be booked evening.
105
- * @param dayOfWeek The day of the week the meal should be booked.
106
- */
110
+ * @param id The id of the associated to the terminal.
111
+ * @param book If the meal should be booked.
112
+ * @param bookEvening If the meal should be booked evening.
113
+ * @param dayOfWeek The day of the week the meal should be booked.
114
+ */
107
115
  async bookDay(id, book, bookEvening, dayOfWeek) {
108
116
  if (Date.now() > this.tokenExpires) {
109
117
  await this.refreshToken();
110
118
  }
111
119
  if (!dayOfWeek)
112
- dayOfWeek = ((new Date()).getDay()) - 1;
120
+ dayOfWeek = new Date().getDay() - 1;
113
121
  if (!bookEvening)
114
122
  bookEvening = false;
115
123
  return await (0, bookDay_1.bookMeal)(this.token, this.loginData.hoteId, id, book === false ? 0 : 1, bookEvening === false ? 0 : 1, dayOfWeek);
116
124
  }
125
+ /** This method is used to generate an URL to pay.
126
+ * @param amount Amount in cents to pay.
127
+ */
128
+ async generatePaymentURL(amount) {
129
+ if (Date.now() > this.tokenExpires) {
130
+ await this.refreshToken();
131
+ }
132
+ return await (0, generatePaymentURL_1.generatePaymentURL)(this.token, this.loginData.hoteId, amount);
133
+ }
117
134
  }
118
135
  exports.default = Turboself;
119
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHVyYm9zZWxmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2NsaWVudC9UdXJib3NlbGYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxrREFBK0M7QUFDL0MsNENBQTBDO0FBQzFDLGtEQUFtRDtBQUNuRCxnRUFBNkQ7QUFDN0Qsb0VBQWlFO0FBQ2pFLGtEQUErQztBQUMvQyw0Q0FBeUM7QUFDekMsMERBQXlEO0FBQ3pELG9EQUFpRDtBQUNqRCxrREFBOEQ7QUFVOUQsTUFBcUIsU0FBUztJQUU1QixZQUNTLEtBQWEsRUFDWixTQUF1QjtRQUR4QixVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQ1osY0FBUyxHQUFULFNBQVMsQ0FBYztRQUhqQyxpQkFBWSxHQUFXLENBQUMsQ0FBQztRQUt2QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQztJQUNsRCxDQUFDO0lBRU8sS0FBSyxDQUFDLFlBQVk7UUFDeEIsTUFBTSxJQUFBLDBDQUEyQixFQUFDO1lBQ2hDLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVE7WUFDakMsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUTtTQUNsQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDZixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDeEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDbEQsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFHRDs7O09BR0c7SUFDSSxLQUFLLENBQUMsb0JBQW9CLENBQUMsS0FBYSxFQUFF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
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHVyYm9zZWxmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2NsaWVudC9UdXJib3NlbGYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxrREFBK0M7QUFDL0MsNENBQTBDO0FBQzFDLGtEQUFtRDtBQUNuRCxnRUFBNkQ7QUFDN0Qsb0VBQWlFO0FBQ2pFLGtEQUErQztBQUMvQyw0Q0FBeUM7QUFDekMsMERBQXlEO0FBQ3pELG9EQUFpRDtBQUNqRCxrRUFBK0Q7QUFDL0Qsa0RBQThEO0FBVTlELGtFQUErRDtBQUUvRCxNQUFxQixTQUFTO0lBRTVCLFlBQW1CLEtBQWEsRUFBVSxTQUF1QjtRQUE5QyxVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQVUsY0FBUyxHQUFULFNBQVMsQ0FBYztRQURqRSxpQkFBWSxHQUFXLENBQUMsQ0FBQztRQUV2QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQztJQUNsRCxDQUFDO0lBRU8sS0FBSyxDQUFDLFlBQVk7UUFDeEIsTUFBTSxJQUFBLDBDQUEyQixFQUFDO1lBQ2hDLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVE7WUFDakMsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUTtTQUNsQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDZixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDeEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDbEQsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7O09BR0c7SUFDSSxLQUFL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
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from "./authenticate";
2
+ export * from "./api/requestNewPassword";
2
3
  export * from "./api/balanceGet";
3
4
  export * from "./api/establishmentSearch";
4
5
  export * from "./api/establishmentGet";
@@ -6,3 +7,8 @@ export * from "./api/hostGet";
6
7
  export * from "./api/siblingsGet";
7
8
  export * from "./api/historyGet";
8
9
  export * from "./api/lastPaymentGet";
10
+ export * from "./api/accountCreationPost";
11
+ export * from "./api/generatePaymentURL";
12
+ export * from "./api/canBookEveningGet";
13
+ export * from "./api/bookingGet";
14
+ export * from "./api/bookDay";
package/dist/index.js CHANGED
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./authenticate"), exports);
5
+ tslib_1.__exportStar(require("./api/requestNewPassword"), exports);
5
6
  tslib_1.__exportStar(require("./api/balanceGet"), exports);
6
7
  tslib_1.__exportStar(require("./api/establishmentSearch"), exports);
7
8
  tslib_1.__exportStar(require("./api/establishmentGet"), exports);
@@ -9,4 +10,9 @@ tslib_1.__exportStar(require("./api/hostGet"), exports);
9
10
  tslib_1.__exportStar(require("./api/siblingsGet"), exports);
10
11
  tslib_1.__exportStar(require("./api/historyGet"), exports);
11
12
  tslib_1.__exportStar(require("./api/lastPaymentGet"), exports);
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseURBQStCO0FBRS9CLDJEQUFpQztBQUNqQyxvRUFBMEM7QUFDMUMsaUVBQXVDO0FBQ3ZDLHdEQUE4QjtBQUM5Qiw0REFBa0M7QUFDbEMsMkRBQWlDO0FBQ2pDLCtEQUFxQyJ9
13
+ tslib_1.__exportStar(require("./api/accountCreationPost"), exports);
14
+ tslib_1.__exportStar(require("./api/generatePaymentURL"), exports);
15
+ tslib_1.__exportStar(require("./api/canBookEveningGet"), exports);
16
+ tslib_1.__exportStar(require("./api/bookingGet"), exports);
17
+ tslib_1.__exportStar(require("./api/bookDay"), exports);
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseURBQStCO0FBRS9CLG1FQUF5QztBQUN6QywyREFBaUM7QUFDakMsb0VBQTBDO0FBQzFDLGlFQUF1QztBQUN2Qyx3REFBOEI7QUFDOUIsNERBQWtDO0FBQ2xDLDJEQUFpQztBQUNqQywrREFBcUM7QUFDckMsb0VBQTBDO0FBQzFDLG1FQUF5QztBQUN6QyxrRUFBd0M7QUFDeEMsMkRBQWlDO0FBQ2pDLHdEQUE4QiJ9
package/dist/index.mjs CHANGED
@@ -2,10 +2,16 @@ import mod from "./index.js";
2
2
 
3
3
  export default mod;
4
4
  export const authenticateWithCredentials = mod.authenticateWithCredentials;
5
+ export const bookMeal = mod.bookMeal;
6
+ export const createAccount = mod.createAccount;
7
+ export const generatePaymentURL = mod.generatePaymentURL;
5
8
  export const getBalance = mod.getBalance;
9
+ export const getBookingWeek = mod.getBookingWeek;
10
+ export const getCanBookEvening = mod.getCanBookEvening;
6
11
  export const getEtablishment = mod.getEtablishment;
7
12
  export const getHistory = mod.getHistory;
8
13
  export const getHost = mod.getHost;
9
14
  export const getLatestPayment = mod.getLatestPayment;
10
15
  export const getSiblings = mod.getSiblings;
16
+ export const requestNewPassword = mod.requestNewPassword;
11
17
  export const searchEstablishment = mod.searchEstablishment;
@@ -0,0 +1,48 @@
1
+ export interface RequestNewPasswordResult {
2
+ /** List of email addresses that were accepted */
3
+ accepted: string[];
4
+ /** List of email addresses that were rejected */
5
+ rejected: string[];
6
+ /** Time it took to send the envelope */
7
+ envelopeTime: number;
8
+ /** Time it took to send the message */
9
+ messageTime: number;
10
+ /** Size of the message in bytes */
11
+ messageSize: number;
12
+ /** Response from the server */
13
+ response: string;
14
+ /** Envelope information */
15
+ envelope: {
16
+ from: string;
17
+ to: string[];
18
+ };
19
+ /** Message identifier */
20
+ messageId: string;
21
+ }
22
+ export interface AccountCreationPostBody {
23
+ carte: string;
24
+ token: string | null;
25
+ code2p5: number;
26
+ nom: string;
27
+ prenom: string;
28
+ email: string;
29
+ password: string;
30
+ }
31
+ export interface AccountCreationPostResult {
32
+ carte: string;
33
+ token: string | null;
34
+ code2p5: number;
35
+ nom: string;
36
+ prenom: string;
37
+ email: string;
38
+ id: number;
39
+ }
40
+ export interface AccountCreation {
41
+ card: string;
42
+ token: string | null;
43
+ firstName: string;
44
+ lastName: string;
45
+ email: string;
46
+ id: number;
47
+ code2p5: number;
48
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWNjb3VudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9pbnRlcmZhY2VzL0FjY291bnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -0,0 +1,10 @@
1
+ export interface PaymentInitPOSTResult {
2
+ result: {
3
+ code: string;
4
+ shortMessage: string;
5
+ longMessage: string;
6
+ };
7
+ token: string;
8
+ redirectURL: string;
9
+ _rawResponse: string;
10
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGF5bWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9pbnRlcmZhY2VzL1BheW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -1,5 +1,7 @@
1
1
  export declare const LOGIN: () => string;
2
- export declare const SEARCH_ETABLISHMENT: (city: string, limit: number) => string;
2
+ export declare const SEND_PASSWORD_RESET_REQUEST: (email: string) => string;
3
+ export declare const CREATE_ACCOUNT: () => string;
4
+ export declare const SEARCH_ETABLISHMENT: (city?: string, code?: number, limit?: number) => string;
3
5
  export declare const GET_ETABLISHMENT: (id: number) => string;
4
6
  export declare const GET_HOST: (id: number) => string;
5
7
  export declare const GET_HOST_BALANCE: (id: number) => string;
@@ -8,3 +10,4 @@ export declare const GET_HOST_CAN_BOOK_EVENING: (id: number) => string;
8
10
  export declare const GET_SIBLINGS: (id: number) => string;
9
11
  export declare const GET_BOOKING_WEEK: (id: number, weekNumber: number) => string;
10
12
  export declare const PUT_BOOK_MEAL: (id: number) => string;
13
+ export declare const POST_INIT_PAYMENT: (id: number) => string;
@@ -1,9 +1,13 @@
1
1
  "use strict";
2
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;
3
+ exports.POST_INIT_PAYMENT = 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.CREATE_ACCOUNT = exports.SEND_PASSWORD_RESET_REQUEST = exports.LOGIN = void 0;
4
4
  const LOGIN = () => "/api/v1/auth/login";
5
5
  exports.LOGIN = LOGIN;
6
- const SEARCH_ETABLISHMENT = (city, limit) => `/api/v1/etablissements?q=${city}&limit=${limit}`;
6
+ const SEND_PASSWORD_RESET_REQUEST = (email) => `/api/v1/utilisateurs/password?email=${email}`;
7
+ exports.SEND_PASSWORD_RESET_REQUEST = SEND_PASSWORD_RESET_REQUEST;
8
+ const CREATE_ACCOUNT = () => "/api/v1/creation-comptes";
9
+ exports.CREATE_ACCOUNT = CREATE_ACCOUNT;
10
+ const SEARCH_ETABLISHMENT = (city, code, limit) => `/api/v1/etablissements?q=${city ?? ""}&code2p5=${code ?? ""}&limit=${limit ?? 10}`;
7
11
  exports.SEARCH_ETABLISHMENT = SEARCH_ETABLISHMENT;
8
12
  const GET_ETABLISHMENT = (id) => `/api/v1/etablissements/etabId/${id}`;
9
13
  exports.GET_ETABLISHMENT = GET_ETABLISHMENT;
@@ -21,4 +25,6 @@ const GET_BOOKING_WEEK = (id, weekNumber) => `/api/v1/reservations/hotes/${id}/s
21
25
  exports.GET_BOOKING_WEEK = GET_BOOKING_WEEK;
22
26
  const PUT_BOOK_MEAL = (id) => `/api/v2/hotes/${id}/reservations-jours`;
23
27
  exports.PUT_BOOK_MEAL = PUT_BOOK_MEAL;
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5kcG9pbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL3V0aWxzL2VuZHBvaW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBTyxNQUFNLEtBQUssR0FBRyxHQUFHLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztBQUFuQyxRQUFBLEtBQUssU0FBOEI7QUFFekMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLElBQVksRUFBRSxLQUFhLEVBQUUsRUFBRSxDQUFDLDRCQUE0QixJQUFJLFVBQVUsS0FBSyxFQUFFLENBQUM7QUFBekcsUUFBQSxtQkFBbUIsdUJBQXNGO0FBQy9HLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxFQUFVLEVBQUUsRUFBRSxDQUFDLGlDQUFpQyxFQUFFLEVBQUUsQ0FBQztBQUF6RSxRQUFBLGdCQUFnQixvQkFBeUQ7QUFFL0UsTUFBTSxRQUFRLEdBQUcsQ0FBQyxFQUFVLEVBQUUsRUFBRSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsQ0FBQztBQUFqRCxRQUFBLFFBQVEsWUFBeUM7QUFDdkQsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEVBQVUsRUFBRSxFQUFFLENBQUMseUJBQXlCLEVBQUUsSUFBSSxDQUFDO0FBQW5FLFFBQUEsZ0JBQWdCLG9CQUFtRDtBQUN6RSxNQUFNLGFBQWEsR0FBRyxDQUFDLEVBQVUsRUFBRSxFQUFFLENBQUMsaUJBQWlCLEVBQUUsVUFBVSxDQUFDO0FBQTlELFFBQUEsYUFBYSxpQkFBaUQ7QUFDcEUsTUFBTSx5QkFBeUIsR0FBRyxDQUFDLEVBQVUsRUFBRSxFQUFFLENBQUMsaUJBQWlCLEVBQUUsWUFBWSxDQUFDO0FBQTVFLFFBQUEseUJBQXlCLDZCQUFtRDtBQUVsRixNQUFNLFlBQVksR0FBRyxDQUFDLEVBQVUsRUFBRSxFQUFFLENBQUMsaUJBQWlCLEVBQUUsZ0JBQWdCLENBQUM7QUFBbkUsUUFBQSxZQUFZLGdCQUF1RDtBQUV6RSxNQUFNLGdCQUFnQixHQUFHLENBQUMsRUFBVSxFQUFFLFVBQWtCLEVBQUUsRUFBRSxDQUFDLDhCQUE4QixFQUFFLGlCQUFpQixVQUFVLEVBQUUsQ0FBQztBQUFySCxRQUFBLGdCQUFnQixvQkFBcUc7QUFDM0gsTUFBTSxhQUFhLEdBQUcsQ0FBQyxFQUFVLEVBQUUsRUFBRSxDQUFDLGlCQUFpQixFQUFFLHFCQUFxQixDQUFDO0FBQXpFLFFBQUEsYUFBYSxpQkFBNEQifQ==
28
+ const POST_INIT_PAYMENT = (id) => `/api/v2/hotes/${id}/paiements/init`;
29
+ exports.POST_INIT_PAYMENT = POST_INIT_PAYMENT;
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5kcG9pbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL3V0aWxzL2VuZHBvaW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBTyxNQUFNLEtBQUssR0FBRyxHQUFHLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztBQUFuQyxRQUFBLEtBQUssU0FBOEI7QUFDekMsTUFBTSwyQkFBMkIsR0FBRyxDQUFDLEtBQWEsRUFBRSxFQUFFLENBQUMsdUNBQXVDLEtBQUssRUFBRSxDQUFDO0FBQWhHLFFBQUEsMkJBQTJCLCtCQUFxRTtBQUN0RyxNQUFNLGNBQWMsR0FBRyxHQUFHLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztBQUFsRCxRQUFBLGNBQWMsa0JBQW9DO0FBRXhELE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxJQUFhLEVBQUUsSUFBYSxFQUFFLEtBQWMsRUFBRSxFQUFFLENBQUMsNEJBQTRCLElBQUksSUFBSSxFQUFFLFlBQVksSUFBSSxJQUFJLEVBQUUsVUFBVSxLQUFLLElBQUksRUFBRSxFQUFFLENBQUM7QUFBNUosUUFBQSxtQkFBbUIsdUJBQXlJO0FBQ2xLLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxFQUFVLEVBQUUsRUFBRSxDQUFDLGlDQUFpQyxFQUFFLEVBQUUsQ0FBQztBQUF6RSxRQUFBLGdCQUFnQixvQkFBeUQ7QUFFL0UsTUFBTSxRQUFRLEdBQUcsQ0FBQyxFQUFVLEVBQUUsRUFBRSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsQ0FBQztBQUFqRCxRQUFBLFFBQVEsWUFBeUM7QUFDdkQsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEVBQVUsRUFBRSxFQUFFLENBQUMseUJBQXlCLEVBQUUsSUFBSSxDQUFDO0FBQW5FLFFBQUEsZ0JBQWdCLG9CQUFtRDtBQUN6RSxNQUFNLGFBQWEsR0FBRyxDQUFDLEVBQVUsRUFBRSxFQUFFLENBQUMsaUJBQWlCLEVBQUUsVUFBVSxDQUFDO0FBQTlELFFBQUEsYUFBYSxpQkFBaUQ7QUFDcEUsTUFBTSx5QkFBeUIsR0FBRyxDQUFDLEVBQVUsRUFBRSxFQUFFLENBQUMsaUJBQWlCLEVBQUUsWUFBWSxDQUFDO0FBQTVFLFFBQUEseUJBQXlCLDZCQUFtRDtBQUVsRixNQUFNLFlBQVksR0FBRyxDQUFDLEVBQVUsRUFBRSxFQUFFLENBQUMsaUJBQWlCLEVBQUUsZ0JBQWdCLENBQUM7QUFBbkUsUUFBQSxZQUFZLGdCQUF1RDtBQUV6RSxNQUFNLGdCQUFnQixHQUFHLENBQUMsRUFBVSxFQUFFLFVBQWtCLEVBQUUsRUFBRSxDQUFDLDhCQUE4QixFQUFFLGlCQUFpQixVQUFVLEVBQUUsQ0FBQztBQUFySCxRQUFBLGdCQUFnQixvQkFBcUc7QUFDM0gsTUFBTSxhQUFhLEdBQUcsQ0FBQyxFQUFVLEVBQUUsRUFBRSxDQUFDLGlCQUFpQixFQUFFLHFCQUFxQixDQUFDO0FBQXpFLFFBQUEsYUFBYSxpQkFBNEQ7QUFFL0UsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLEVBQVUsRUFBRSxFQUFFLENBQUMsaUJBQWlCLEVBQUUsaUJBQWlCLENBQUM7QUFBekUsUUFBQSxpQkFBaUIscUJBQXdEIn0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "turboself-api",
3
- "version": "1.1.6",
3
+ "version": "1.2.7",
4
4
  "description": "A wrapper around Turboself internal API.",
5
5
  "repository": "github:raphckrman/turboself-api",
6
6
  "main": "./dist/index.js",