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.
- package/README.md +28 -14
- package/dist/api/balanceGet.d.ts +2 -0
- package/dist/api/balanceGet.js +27 -0
- package/dist/api/bookDay.d.ts +2 -0
- package/dist/api/bookDay.js +58 -0
- package/dist/api/bookingGet.d.ts +2 -0
- package/dist/api/bookingGet.js +48 -0
- package/dist/api/canBookEveningGet.d.ts +1 -0
- package/dist/api/canBookEveningGet.js +18 -0
- package/dist/api/establishmentGet.d.ts +2 -0
- package/dist/api/establishmentGet.js +43 -0
- package/dist/api/establishmentSearch.d.ts +2 -0
- package/dist/api/establishmentSearch.js +21 -0
- package/dist/api/historyGet.d.ts +2 -0
- package/dist/api/historyGet.js +26 -0
- package/dist/api/hostGet.d.ts +2 -0
- package/dist/api/hostGet.js +53 -0
- package/dist/api/lastPaymentGet.d.ts +2 -0
- package/dist/api/lastPaymentGet.js +21 -0
- package/dist/api/siblingsGet.d.ts +2 -0
- package/dist/api/siblingsGet.js +56 -0
- package/dist/authenticate/index.d.ts +3 -0
- package/dist/authenticate/index.js +25 -0
- package/dist/client/Turboself.d.ts +53 -0
- package/dist/client/Turboself.js +119 -0
- package/dist/index.d.ts +8 -5
- package/dist/index.js +9 -6
- package/dist/index.mjs +8 -4
- package/dist/interfaces/AuthFlow.d.ts +24 -0
- package/dist/interfaces/AuthFlow.js +3 -0
- package/dist/interfaces/Balance.d.ts +16 -0
- package/dist/{types → interfaces}/Balance.js +1 -1
- package/dist/interfaces/Bookings.d.ts +144 -0
- package/dist/interfaces/Bookings.js +3 -0
- package/dist/interfaces/Establishment.d.ts +95 -0
- package/dist/interfaces/Establishment.js +3 -0
- package/dist/interfaces/Fetcher.d.ts +9 -0
- package/dist/interfaces/Fetcher.js +3 -0
- package/dist/interfaces/Home.d.ts +27 -0
- package/dist/{types → interfaces}/Home.js +1 -1
- package/dist/interfaces/Host.d.ts +38 -0
- package/dist/{types/School.js → interfaces/Host.js} +1 -1
- package/dist/parser/Balance.d.ts +17 -0
- package/dist/parser/Balance.js +20 -0
- package/dist/parser/BookedMeal.d.ts +29 -0
- package/dist/parser/BookedMeal.js +28 -0
- package/dist/parser/BookingDay.d.ts +32 -0
- package/dist/parser/BookingDay.js +39 -0
- package/dist/parser/BookingPrice.d.ts +7 -0
- package/dist/parser/BookingPrice.js +13 -0
- package/dist/parser/BookingTerminal.d.ts +32 -0
- package/dist/parser/BookingTerminal.js +30 -0
- package/dist/parser/BookingWeek.d.ts +17 -0
- package/dist/parser/BookingWeek.js +19 -0
- package/dist/parser/Establishment.d.ts +117 -0
- package/dist/parser/Establishment.js +84 -0
- package/dist/parser/History.d.ts +17 -0
- package/dist/parser/History.js +20 -0
- package/dist/parser/Host.d.ts +70 -0
- package/dist/parser/Host.js +67 -0
- package/dist/parser/LatestPayment.d.ts +26 -0
- package/dist/parser/LatestPayment.js +27 -0
- package/dist/utils/endpoints.d.ts +10 -0
- package/dist/utils/endpoints.js +24 -0
- package/dist/utils/fetcher.d.ts +7 -0
- package/dist/utils/fetcher.js +25 -0
- package/dist/utils/weekNumber.d.ts +1 -0
- package/dist/utils/weekNumber.js +14 -0
- package/package.json +4 -6
- package/dist/auth/index.d.ts +0 -7
- package/dist/auth/index.js +0 -35
- package/dist/rest/RESTManager.d.ts +0 -7
- package/dist/rest/RESTManager.js +0 -15
- package/dist/rest/RequestHandler.d.ts +0 -5
- package/dist/rest/RequestHandler.js +0 -27
- package/dist/rest/endpoints.d.ts +0 -10
- package/dist/rest/endpoints.js +0 -23
- package/dist/routes/School.d.ts +0 -19
- package/dist/routes/School.js +0 -55
- package/dist/routes/User.d.ts +0 -74
- package/dist/routes/User.js +0 -237
- package/dist/structures/Client.d.ts +0 -26
- package/dist/structures/Client.js +0 -195
- package/dist/types/Balance.d.ts +0 -24
- package/dist/types/Booking.d.ts +0 -73
- package/dist/types/Booking.js +0 -3
- package/dist/types/Home.d.ts +0 -42
- package/dist/types/Login.d.ts +0 -14
- package/dist/types/Login.js +0 -3
- package/dist/types/School.d.ts +0 -103
- package/dist/types/User.d.ts +0 -69
- package/dist/types/User.js +0 -3
package/README.md
CHANGED
|
@@ -1,26 +1,40 @@
|
|
|
1
|
-
#
|
|
2
|
-
### Connexion par identifiants
|
|
3
|
-
```javascript
|
|
4
|
-
const TurboSelf = require('turboself-api')
|
|
1
|
+
# turboself-api
|
|
5
2
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
3
|
+
[](https://www.npmjs.com/package/turboself-api)
|
|
4
|
+
[](https://badge.fury.io/js/turboself-api)
|
|
5
|
+
[](https://www.npmjs.com/package/turboself-api)
|
|
6
|
+
[](https://www.npmjs.com/package/turboself-api)
|
|
10
7
|
|
|
11
|
-
|
|
8
|
+
A simple wrapper to interact with the TurboSelf API.
|
|
9
|
+
|
|
10
|
+
> [!warning]
|
|
11
|
+
> This project is not affiliated with TurboSelf or INCB in any way.
|
|
12
|
+
|
|
13
|
+
## 📦 Installation
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
npm install turboself-api
|
|
12
17
|
```
|
|
13
|
-
|
|
18
|
+
|
|
19
|
+
## 🔧 Usage
|
|
20
|
+
### Authentification with credentials
|
|
14
21
|
```javascript
|
|
15
22
|
const TurboSelf = require('turboself-api')
|
|
16
23
|
|
|
17
24
|
async function main() {
|
|
18
|
-
let client = await TurboSelf.
|
|
19
|
-
|
|
25
|
+
let client = await TurboSelf.authenticateWithCredentials({ username: "your_email", password: "your_password" })
|
|
26
|
+
console.log(client)
|
|
20
27
|
}
|
|
21
28
|
|
|
22
29
|
main()
|
|
23
30
|
```
|
|
24
31
|
|
|
25
|
-
###
|
|
26
|
-
|
|
32
|
+
### Other exemples
|
|
33
|
+
To see more examples, check the [examples](https://github.com/raphckrman/turboself-api/tree/dev/examples) folder.
|
|
34
|
+
|
|
35
|
+
## ௷ Credits
|
|
36
|
+
|
|
37
|
+
Thanks to the following people for their contributions to this project:
|
|
38
|
+
|
|
39
|
+
- [Remy Godet](https://github.com/godetremy)
|
|
40
|
+
- [Tom Theret](https://github.com/tom-theret)
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getBalance = void 0;
|
|
4
|
+
const Balance_1 = require("../parser/Balance");
|
|
5
|
+
const endpoints_1 = require("../utils/endpoints");
|
|
6
|
+
const fetcher_1 = require("../utils/fetcher");
|
|
7
|
+
const getBalance = async (token, id) => {
|
|
8
|
+
const response = await (0, fetcher_1.TurboselfFetcher)("https://api-rest-prod.incb.fr" + (0, endpoints_1.GET_HOST_BALANCE)(id), {
|
|
9
|
+
method: "GET",
|
|
10
|
+
headers: {
|
|
11
|
+
"Content-Type": "application/json",
|
|
12
|
+
"Authorization": "Bearer " + token
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
const raw = await response.json();
|
|
16
|
+
const estimatedAt = new Date();
|
|
17
|
+
estimatedAt.setFullYear(parseInt(raw[0].montantEstimeMsg.replace("Montant estimé au ", "").split("/")[2]));
|
|
18
|
+
estimatedAt.setMonth(parseInt(raw[0].montantEstimeMsg.replace("Montant estimé au ", "").split("/")[1]) - 1);
|
|
19
|
+
estimatedAt.setDate(parseInt(raw[0].montantEstimeMsg.replace("Montant estimé au ", "").split("/")[0]));
|
|
20
|
+
estimatedAt.setHours(12);
|
|
21
|
+
estimatedAt.setMinutes(0);
|
|
22
|
+
estimatedAt.setSeconds(0);
|
|
23
|
+
estimatedAt.setMilliseconds(0);
|
|
24
|
+
return new Balance_1.Balance(token, id, raw[0].montant, raw[0].montantEstime, estimatedAt);
|
|
25
|
+
};
|
|
26
|
+
exports.getBalance = getBalance;
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFsYW5jZUdldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9hcGkvYmFsYW5jZUdldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSwrQ0FBNEM7QUFDNUMsa0RBQXNEO0FBQ3RELDhDQUFvRDtBQUU3QyxNQUFNLFVBQVUsR0FBRyxLQUFLLEVBQUUsS0FBYSxFQUFFLEVBQVUsRUFBb0IsRUFBRTtJQUM5RSxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUEsMEJBQWdCLEVBQUMsK0JBQStCLEdBQUcsSUFBQSw0QkFBZ0IsRUFBQyxFQUFFLENBQUMsRUFBRTtRQUM5RixNQUFNLEVBQUUsS0FBSztRQUNiLE9BQU8sRUFBRTtZQUNQLGNBQWMsRUFBRSxrQkFBa0I7WUFDbEMsZUFBZSxFQUFFLFNBQVMsR0FBRyxLQUFLO1NBQ25DO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsTUFBTSxHQUFHLEdBQUcsTUFBTSxRQUFRLENBQUMsSUFBSSxFQUE2QixDQUFDO0lBQzdELE1BQU0sV0FBVyxHQUFTLElBQUksSUFBSSxFQUFFLENBQUM7SUFDckMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNHLFdBQVcsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZHLFdBQVcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDekIsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxQixXQUFXLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFCLFdBQVcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFL0IsT0FBTyxJQUFJLGlCQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLENBQUM7QUFDbkYsQ0FBQyxDQUFDO0FBcEJXLFFBQUEsVUFBVSxjQW9CckIifQ==
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.bookMeal = void 0;
|
|
4
|
+
const BookedMeal_1 = require("../parser/BookedMeal");
|
|
5
|
+
const Establishment_1 = require("../parser/Establishment");
|
|
6
|
+
const Host_1 = require("../parser/Host");
|
|
7
|
+
const endpoints_1 = require("../utils/endpoints");
|
|
8
|
+
const fetcher_1 = require("../utils/fetcher");
|
|
9
|
+
const bookMeal = async (token, id, bookId, book, bookEvening, day) => {
|
|
10
|
+
const response = await (0, fetcher_1.TurboselfFetcher)("https://api-rest-prod.incb.fr" + (0, endpoints_1.PUT_BOOK_MEAL)(id), {
|
|
11
|
+
method: "PUT",
|
|
12
|
+
headers: {
|
|
13
|
+
"Content-Type": "application/json",
|
|
14
|
+
"Authorization": "Bearer " + token
|
|
15
|
+
},
|
|
16
|
+
body: JSON.stringify({
|
|
17
|
+
dayOfWeek: day,
|
|
18
|
+
dayReserv: book,
|
|
19
|
+
web: {
|
|
20
|
+
id: bookId
|
|
21
|
+
},
|
|
22
|
+
hasHoteResaSoirActive: bookEvening
|
|
23
|
+
})
|
|
24
|
+
});
|
|
25
|
+
const raw = await response.json();
|
|
26
|
+
const establishment = new Establishment_1.Establishment(raw.web.hote.etab.code2p5, raw.web.hote.etab.nom, raw.web.hote.etab.versionTS, raw.web.hote.etab.id, raw.web.hote.etab.idTurboself, raw.web.hote.etab.currencySymbol, raw.web.hote.etab.configuration?.nbRepasMini ?? 0, raw.web.hote.etab.configuration?.creanceMini ?? 0, raw.web.hote.etab.configuration?.montantCreditMini ?? 0, raw.web.hote.etab.configuration?.msgAccueil ?? "", raw.web.hote.etab.desactive, raw.web.hote.etab.numEtab, raw.web.hote.etab.pcServeur, raw.web.hote.etab.configurationsReservation?.map((data) => {
|
|
27
|
+
return {
|
|
28
|
+
id: data.id,
|
|
29
|
+
usage: data.usage,
|
|
30
|
+
elecom: data.elecom,
|
|
31
|
+
endReservation: data.finReserv
|
|
32
|
+
};
|
|
33
|
+
}), {
|
|
34
|
+
address1: raw.web.hote.etab.adr1 ?? "",
|
|
35
|
+
address2: raw.web.hote.etab.adr2 ?? "",
|
|
36
|
+
zipCode: raw.web.hote.etab.cp ?? "",
|
|
37
|
+
city: raw.web.hote.etab.ville ?? ""
|
|
38
|
+
}, {
|
|
39
|
+
phoneNumber: raw.web.hote.etab.tel ?? "",
|
|
40
|
+
website: raw.web.hote.etab.configuration?.url ?? "",
|
|
41
|
+
email: raw.web.hote.etab.configuration?.email ?? ""
|
|
42
|
+
}, {
|
|
43
|
+
canStudentUseQrCode: raw.web.hote.etab.configuration?.autoriseQrCodeEleve ?? false,
|
|
44
|
+
canCompanionUseQrCode: raw.web.hote.etab.configuration?.autoriseQrCodeCommensal ?? false,
|
|
45
|
+
canInternUseQrCode: raw.web.hote.etab.configuration?.autoriseQrCodeStagiaire ?? false,
|
|
46
|
+
canStudentSeeHistory: raw.web.hote.etab.configuration?.cacherHistorique ?? false
|
|
47
|
+
}, {
|
|
48
|
+
firstSync: raw.web.hote.etab.datePremSynchro ?? "",
|
|
49
|
+
lastSync: raw.web.hote.etab.dateDernSynchro ?? "",
|
|
50
|
+
lastSelfSync: raw.web.hote.etab.configurationSelf?.dateDernSynchro ?? ""
|
|
51
|
+
});
|
|
52
|
+
const host = new Host_1.Host(raw.web.hote.id, raw.web.hote.prenom, raw.web.hote.nom, raw.web.hote.qualite, raw.web.hote.division, raw.web.hote.prixDej, establishment, undefined, {
|
|
53
|
+
lastSync: raw.web.hote.dateDernSynchro ?? ""
|
|
54
|
+
}, raw.web.hote.carteCodee ?? -1, token);
|
|
55
|
+
return new BookedMeal_1.BookedMeal(raw.id, raw.dayReserv === 0 ? false : true, raw.reservHorsKiosk === 0 ? false : true, raw.reservDernSynchro === 0 ? false : true, raw.rsvwebid, raw.msg, host);
|
|
56
|
+
};
|
|
57
|
+
exports.bookMeal = bookMeal;
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9va0RheS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9hcGkvYm9va0RheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxxREFBa0Q7QUFDbEQsMkRBQXdEO0FBQ3hELHlDQUFzQztBQUN0QyxrREFBcUU7QUFDckUsOENBQW9EO0FBRzdDLE1BQU0sUUFBUSxHQUFHLEtBQUssRUFBRSxLQUFhLEVBQUUsRUFBVSxFQUFFLE1BQWMsRUFBRSxJQUFZLEVBQUUsV0FBbUIsRUFBRSxHQUFXLEVBQXVCLEVBQUU7SUFDL0ksTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFBLDBCQUFnQixFQUFDLCtCQUErQixHQUFHLElBQUEseUJBQWEsRUFBQyxFQUFFLENBQUMsRUFBRTtRQUMzRixNQUFNLEVBQUUsS0FBSztRQUNiLE9BQU8sRUFBRTtZQUNQLGNBQWMsRUFBRSxrQkFBa0I7WUFDbEMsZUFBZSxFQUFFLFNBQVMsR0FBRyxLQUFLO1NBQ25DO1FBQ0QsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDbkIsU0FBUyxFQUFFLEdBQUc7WUFDZCxTQUFTLEVBQUUsSUFBSTtZQUNmLEdBQUcsRUFBRTtnQkFDSCxFQUFFLEVBQUUsTUFBTTthQUNYO1lBQ0QscUJBQXFCLEVBQUUsV0FBVztTQUNuQyxDQUFDO0tBQ0gsQ0FBQyxDQUFDO0lBR0gsTUFBTSxHQUFHLEdBQUcsTUFBTSxRQUFRLENBQUMsSUFBSSxFQUFpQixDQUFDO0lBQ2pELE1BQU0sYUFBYSxHQUFHLElBQUksNkJBQWEsQ0FDckMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFDekIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFDckIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFDM0IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxD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
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getBookingWeek = void 0;
|
|
4
|
+
const BookingDay_1 = require("../parser/BookingDay");
|
|
5
|
+
const BookingPrice_1 = require("../parser/BookingPrice");
|
|
6
|
+
const BookingTerminal_1 = require("../parser/BookingTerminal");
|
|
7
|
+
const BookingWeek_1 = require("../parser/BookingWeek");
|
|
8
|
+
const weekNumber_1 = require("../utils/weekNumber");
|
|
9
|
+
const endpoints_1 = require("../utils/endpoints");
|
|
10
|
+
const fetcher_1 = require("../utils/fetcher");
|
|
11
|
+
const getBookingWeek = async (token, id, weekNumber) => {
|
|
12
|
+
if (!weekNumber) {
|
|
13
|
+
weekNumber = (0, weekNumber_1.getWeekNumber)(new Date());
|
|
14
|
+
}
|
|
15
|
+
const response = await (0, fetcher_1.TurboselfFetcher)("https://api-rest-prod.incb.fr" + (0, endpoints_1.GET_BOOKING_WEEK)(id, weekNumber ?? 0), {
|
|
16
|
+
method: "GET",
|
|
17
|
+
headers: {
|
|
18
|
+
"Content-Type": "application/json",
|
|
19
|
+
"Authorization": "Bearer " + token
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
const raw = await response.json();
|
|
23
|
+
const weekDate = new Date(raw.dateSemaine);
|
|
24
|
+
const terminals = await Promise.all(raw.rsvWebDto.map(async (terminal) => {
|
|
25
|
+
let prices = terminal.borne.prix.map((price) => {
|
|
26
|
+
return new BookingPrice_1.BookingPrice(price.id, price.borneId, price.prix);
|
|
27
|
+
});
|
|
28
|
+
let days = await Promise.all(terminal.jours.map(async (day) => {
|
|
29
|
+
let month = weekDate.getMonth();
|
|
30
|
+
if (day.dayLabel) {
|
|
31
|
+
let dayNumber = parseInt(day.dayLabel.split(" ")[1]) + 1;
|
|
32
|
+
let firstDayOfWeek = terminal.jours[0]?.dayLabel ? parseInt(terminal.jours[0].dayLabel.split(" ")[1]) : 0;
|
|
33
|
+
if (firstDayOfWeek > dayNumber) {
|
|
34
|
+
month = month + 1;
|
|
35
|
+
}
|
|
36
|
+
var date = new Date(weekDate.getFullYear(), month, dayNumber);
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
var date = new Date(weekDate.getFullYear(), weekDate.getMonth(), day.dayOfWeek);
|
|
40
|
+
}
|
|
41
|
+
return new BookingDay_1.BookingDay(token, id, terminal.id, day.dayReserv === 0 ? false : true, day.reservDernSynchro === 0 ? false : true, day.autorise, day.msg ?? null, date);
|
|
42
|
+
}));
|
|
43
|
+
return new BookingTerminal_1.BookingTerminal(terminal.borne.id, terminal.id, terminal.annee, terminal.semaine, terminal.borne.lib, terminal.joursAutorises, terminal.usage, prices, days);
|
|
44
|
+
}));
|
|
45
|
+
return new BookingWeek_1.BookingWeek(terminals, raw.numSemaines, raw.isResaSoirActive, weekDate);
|
|
46
|
+
};
|
|
47
|
+
exports.getBookingWeek = getBookingWeek;
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9va2luZ0dldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9hcGkvYm9va2luZ0dldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxxREFBa0Q7QUFDbEQseURBQXNEO0FBQ3RELCtEQUE0RDtBQUM1RCx1REFBb0Q7QUFDcEQsb0RBQW9EO0FBQ3BELGtEQUFzRDtBQUN0RCw4Q0FBb0Q7QUFFN0MsTUFBTSxjQUFjLEdBQUcsS0FBSyxFQUFFLEtBQWEsRUFBRSxFQUFVLEVBQUUsVUFBbUIsRUFBd0IsRUFBRTtJQUMzRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDaEIsVUFBVSxHQUFHLElBQUEsMEJBQWEsRUFBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBQSwwQkFBZ0IsRUFBQywrQkFBK0IsR0FBRyxJQUFBLDRCQUFnQixFQUFDLEVBQUUsRUFBRSxVQUFVLElBQUksQ0FBQyxDQUFDLEVBQUU7UUFDL0csTUFBTSxFQUFFLEtBQUs7UUFDYixPQUFPLEVBQUU7WUFDUCxjQUFjLEVBQUUsa0JBQWtCO1lBQ2xDLGVBQWUsRUFBRSxTQUFTLEdBQUcsS0FBSztTQUNuQztLQUNGLENBQUMsQ0FBQztJQUVILE1BQU0sR0FBRyxHQUFHLE1BQU0sUUFBUSxDQUFDLElBQUksRUFBMEIsQ0FBQztJQUMxRCxNQUFNLFFBQVEsR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDM0MsTUFBTSxTQUFTLEdBQUksTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsRUFBRTtRQUN4RSxJQUFJLE1BQU0sR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUM3QyxPQUFPLElB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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const getCanBookEvening: (token: string, id: number) => Promise<boolean>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getCanBookEvening = void 0;
|
|
4
|
+
const endpoints_1 = require("../utils/endpoints");
|
|
5
|
+
const fetcher_1 = require("../utils/fetcher");
|
|
6
|
+
const getCanBookEvening = async (token, id) => {
|
|
7
|
+
const response = await (0, fetcher_1.TurboselfFetcher)("https://api-rest-prod.incb.fr" + (0, endpoints_1.GET_HOST_CAN_BOOK_EVENING)(id), {
|
|
8
|
+
method: "GET",
|
|
9
|
+
headers: {
|
|
10
|
+
"Content-Type": "application/json",
|
|
11
|
+
"Authorization": "Bearer " + token
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
const raw = await response.json();
|
|
15
|
+
return raw;
|
|
16
|
+
};
|
|
17
|
+
exports.getCanBookEvening = getCanBookEvening;
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuQm9va0V2ZW5pbmdHZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvYXBpL2NhbkJvb2tFdmVuaW5nR2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGtEQUErRDtBQUMvRCw4Q0FBb0Q7QUFFN0MsTUFBTSxpQkFBaUIsR0FBRyxLQUFLLEVBQUUsS0FBYSxFQUFFLEVBQVUsRUFBb0IsRUFBRTtJQUNyRixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUEsMEJBQWdCLEVBQUMsK0JBQStCLEdBQUcsSUFBQSxxQ0FBeUIsRUFBQyxFQUFFLENBQUMsRUFBRTtRQUN2RyxNQUFNLEVBQUUsS0FBSztRQUNiLE9BQU8sRUFBRTtZQUNQLGNBQWMsRUFBRSxrQkFBa0I7WUFDbEMsZUFBZSxFQUFFLFNBQVMsR0FBRyxLQUFLO1NBQ25DO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsTUFBTSxHQUFHLEdBQUcsTUFBTSxRQUFRLENBQUMsSUFBSSxFQUFhLENBQUM7SUFDN0MsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDLENBQUM7QUFYVyxRQUFBLGlCQUFpQixxQkFXNUIifQ==
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getEtablishment = void 0;
|
|
4
|
+
const Establishment_1 = require("../parser/Establishment");
|
|
5
|
+
const endpoints_1 = require("../utils/endpoints");
|
|
6
|
+
const fetcher_1 = require("../utils/fetcher");
|
|
7
|
+
const getEtablishment = async (id) => {
|
|
8
|
+
const response = await (0, fetcher_1.TurboselfFetcher)("https://api-rest-prod.incb.fr" + (0, endpoints_1.GET_ETABLISHMENT)(id), {
|
|
9
|
+
method: "GET",
|
|
10
|
+
headers: {
|
|
11
|
+
"Content-Type": "application/json"
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
const raw = await response.json();
|
|
15
|
+
return new Establishment_1.Establishment(raw.code2p5, raw.nom, raw.versionTS, raw.id, raw.idTurboself, raw.currencySymbol, raw.configuration?.nbRepasMini ?? 0, raw.configuration?.creanceMini ?? 0, raw.configuration?.montantCreditMini ?? 0, raw.configuration?.msgAccueil ?? "", raw.desactive, raw.numEtab, raw.pcServeur, raw.configurationsReservation?.map((data) => {
|
|
16
|
+
return {
|
|
17
|
+
id: data.id,
|
|
18
|
+
usage: data.usage,
|
|
19
|
+
elecom: data.elecom,
|
|
20
|
+
endReservation: data.finReserv
|
|
21
|
+
};
|
|
22
|
+
}), {
|
|
23
|
+
address1: raw.adr1 ?? "",
|
|
24
|
+
address2: raw.adr2 ?? "",
|
|
25
|
+
zipCode: raw.cp ?? "",
|
|
26
|
+
city: raw.ville ?? ""
|
|
27
|
+
}, {
|
|
28
|
+
phoneNumber: raw.tel ?? "",
|
|
29
|
+
website: raw.configuration?.url ?? "",
|
|
30
|
+
email: raw.configuration?.email ?? ""
|
|
31
|
+
}, {
|
|
32
|
+
canStudentUseQrCode: raw.configuration?.autoriseQrCodeEleve ?? false,
|
|
33
|
+
canCompanionUseQrCode: raw.configuration?.autoriseQrCodeCommensal ?? false,
|
|
34
|
+
canInternUseQrCode: raw.configuration?.autoriseQrCodeStagiaire ?? false,
|
|
35
|
+
canStudentSeeHistory: raw.configuration?.cacherHistorique ?? false
|
|
36
|
+
}, {
|
|
37
|
+
firstSync: raw.datePremSynchro ?? "",
|
|
38
|
+
lastSync: raw.dateDernSynchro ?? "",
|
|
39
|
+
lastSelfSync: raw.configurationSelf?.dateDernSynchro ?? ""
|
|
40
|
+
});
|
|
41
|
+
};
|
|
42
|
+
exports.getEtablishment = getEtablishment;
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXN0YWJsaXNobWVudEdldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9hcGkvZXN0YWJsaXNobWVudEdldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSwyREFBd0Q7QUFDeEQsa0RBQXNEO0FBQ3RELDhDQUFvRDtBQUU3QyxNQUFNLGVBQWUsR0FBRyxLQUFLLEVBQUUsRUFBVSxFQUEwQixFQUFFO0lBQzFFLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBQSwwQkFBZ0IsRUFBQywrQkFBK0IsR0FBRyxJQUFBLDRCQUFnQixFQUFDLEVBQUUsQ0FBQyxFQUFFO1FBQzlGLE1BQU0sRUFBRSxLQUFLO1FBQ2IsT0FBTyxFQUFFO1lBQ1AsY0FBYyxFQUFFLGtCQUFrQjtTQUNuQztLQUNGLENBQUMsQ0FBQztJQUVILE1BQU0sR0FBRyxHQUFHLE1BQU0sUUFBUSxDQUFDLElBQUksRUFBMkIsQ0FBQztJQUUzRCxPQUFPLElBQUksNkJBQWEsQ0FDdEIsR0FBRyxDQUFDLE9BQU8sRUFDWCxHQUFHLENBQUMsR0FBRyxFQUNQLEdBQUcsQ0FBQyxTQUFTLEVBQ2IsR0FBRyxDQUFDLEVBQUUsRUFDTixHQUFHLENBQUMsV0FBVyxFQUVmLEdBQUcsQ0FBQyxjQUFjLEVBQ2xCLEdBQUcsQ0FBQyxhQUFhLEVBQUUsV0FBVyxJQUFJLENBQUMsRUFDbkMsR0FBRyxDQUFDLGFBQWEsRUFBRSxXQUFXLElBQUcsQ0FBQyxFQUNsQyxHQUFHLENBQUMsYUFBYSxFQUFFLGlCQUFpQixJQUFHLENBQUMsRUFFeEMsR0FBRyxDQUFDLGFBQWEsRUFBRSxVQUFVLElBQUksRUFBRSxFQUVuQyxHQUFHLENBQUMsU0FBUyxFQUNiLEdBQUcsQ0FBQyxPQUFPLEVBQ1gsR0FBRyxDQUFDLFNBQVMsRUFDYixHQUFHLENBQUMseUJBQXlCLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDMUMsT0FBTztZQUNMLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNYLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsY0FBYyxFQUFFLElBQUksQ0FBQyxTQUFTO1NBQy9CLENBQUM7SUFDSixDQUFDLENBQUMsRUFDRjtRQUNFLFFBQVEsRUFBRSxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUU7UUFDeEIsUUFBUSxFQUFFLEdBQUcsQ0FBQyxJQUFJLElBQUksRUFBRTtRQUN4QixPQUFPLEVBQUUsR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFO1FBQ3JCLElBQUksRUFBRSxHQUFHLENBQUMsS0FBSyxJQUFJLEVBQUU7S0FDdEIsRUFDRDtRQUNFLFdBQVcsRUFBRSxHQUFHLENBQUMsR0FBRyxJQUFJLEVBQUU7UUFDMUIsT0FBTyxFQUFFLEdBQUcsQ0FBQyxhQUFhLEVBQUUsR0FBRyxJQUFJLEVBQUU7UUFDckMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxhQUFhLEVBQUUsS0FBSyxJQUFJLEVBQUU7S0FDdEMsRUFDRDtRQUNFLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxhQUFhLEVBQUUsbUJBQW1CLElBQUcsS0FBSztRQUNuRSxxQkFBcUIsRUFBRSxHQUFHLENBQUMsYUFBYSxFQUFFLHVCQUF1QixJQUFHLEtBQUs7UUFDekUsa0JBQWtCLEVBQUUsR0FBRyxDQUFDLGFBQWEsRUFBRSx1QkFBdUIsSUFBRyxLQUFLO1FBQ3RFLG9CQUFvQixFQUFFLEdBQUcsQ0FBQyxhQUFhLEVBQUUsZ0JBQWdCLElBQUcsS0FBSztLQUNsRSxFQUNEO1FBQ0UsU0FBUyxFQUFFLEdBQUcsQ0FBQyxlQUFlLElBQUksRUFBRTtRQUNwQyxRQUFRLEVBQUUsR0FBRyxDQUFDLGVBQWUsSUFBSSxFQUFFO1FBQ25DLFlBQVksRUFBRSxHQUFHLENBQUMsaUJBQWlCLEVBQUUsZUFBZSxJQUFJLEVBQUU7S0FDM0QsQ0FDRixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBMURXLFFBQUEsZUFBZSxtQkEwRDFCIn0=
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.searchEstablishment = void 0;
|
|
4
|
+
const Establishment_1 = require("../parser/Establishment");
|
|
5
|
+
const endpoints_1 = require("../utils/endpoints");
|
|
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), {
|
|
9
|
+
method: "GET",
|
|
10
|
+
headers: {
|
|
11
|
+
"Content-Type": "application/json"
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
const raw = await response.json();
|
|
15
|
+
const result = raw.map((data) => {
|
|
16
|
+
return new Establishment_1.Establishment(data.code2p5, data.nom, data.versionTS);
|
|
17
|
+
});
|
|
18
|
+
return result;
|
|
19
|
+
};
|
|
20
|
+
exports.searchEstablishment = searchEstablishment;
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXN0YWJsaXNobWVudFNlYXJjaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9hcGkvZXN0YWJsaXNobWVudFNlYXJjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSwyREFBd0Q7QUFDeEQsa0RBQXlEO0FBQ3pELDhDQUFvRDtBQUU3QyxNQUFNLG1CQUFtQixHQUFHLEtBQUssRUFBRSxJQUFZLEVBQUUsS0FBYSxFQUFpQyxFQUFFO0lBQ3RHLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBQSwwQkFBZ0IsRUFBQywrQkFBK0IsR0FBRyxJQUFBLCtCQUFtQixFQUFDLElBQUksRUFBRSxLQUFLLENBQUMsRUFBRTtRQUMxRyxNQUFNLEVBQUUsS0FBSztRQUNiLE9BQU8sRUFBRTtZQUNQLGNBQWMsRUFBRSxrQkFBa0I7U0FDbkM7S0FDRixDQUFDLENBQUM7SUFFSCxNQUFNLEdBQUcsR0FBRyxNQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQWtDLENBQUM7SUFDbEUsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1FBQzlCLE9BQU8sSUFBSSw2QkFBYSxDQUN0QixJQUFJLENBQUMsT0FBTyxFQUNaLElBQUksQ0FBQyxHQUFHLEVBQ1IsSUFBSSxDQUFDLFNBQVMsQ0FDZixDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDLENBQUM7QUFsQlcsUUFBQSxtQkFBbUIsdUJBa0I5QiJ9
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getHistory = void 0;
|
|
4
|
+
const History_1 = require("../parser/History");
|
|
5
|
+
const endpoints_1 = require("../utils/endpoints");
|
|
6
|
+
const fetcher_1 = require("../utils/fetcher");
|
|
7
|
+
const getHistory = async (token, id) => {
|
|
8
|
+
const response = await (0, fetcher_1.TurboselfFetcher)("https://api-rest-prod.incb.fr" + (0, endpoints_1.GET_HOST_HOME)(id), {
|
|
9
|
+
method: "GET",
|
|
10
|
+
headers: {
|
|
11
|
+
"Content-Type": "application/json",
|
|
12
|
+
"Authorization": "Bearer " + token
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
const raw = await response.json();
|
|
16
|
+
const result = raw.historiques?.map((data) => {
|
|
17
|
+
let date = new Date(data.date);
|
|
18
|
+
return new History_1.History(data.id, date, data.detail, data.debit ?? 0, data.credit ?? 0);
|
|
19
|
+
});
|
|
20
|
+
if (result) {
|
|
21
|
+
return result;
|
|
22
|
+
}
|
|
23
|
+
return [];
|
|
24
|
+
};
|
|
25
|
+
exports.getHistory = getHistory;
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yeUdldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9hcGkvaGlzdG9yeUdldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSwrQ0FBNEM7QUFDNUMsa0RBQW1EO0FBQ25ELDhDQUFvRDtBQUU3QyxNQUFNLFVBQVUsR0FBRyxLQUFLLEVBQUUsS0FBYSxFQUFFLEVBQVUsRUFBc0IsRUFBRTtJQUNoRixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUEsMEJBQWdCLEVBQUMsK0JBQStCLEdBQUcsSUFBQSx5QkFBYSxFQUFDLEVBQUUsQ0FBQyxFQUFFO1FBQzNGLE1BQU0sRUFBRSxLQUFLO1FBQ2IsT0FBTyxFQUFFO1lBQ1AsY0FBYyxFQUFFLGtCQUFrQjtZQUNsQyxlQUFlLEVBQUUsU0FBUyxHQUFHLEtBQUs7U0FDbkM7S0FDRixDQUFDLENBQUM7SUFFSCxNQUFNLEdBQUcsR0FBRyxNQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQW1CLENBQUM7SUFDbkQsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUMzQyxJQUFJLElBQUksR0FBUyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsT0FBTyxJQUFJLGlCQUFPLENBQ2hCLElBQUksQ0FBQyxFQUFFLEVBQ1AsSUFBSSxFQUNKLElBQUksQ0FBQyxNQUFNLEVBQ1gsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQ2YsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQ2pCLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztJQUVILElBQUksTUFBTSxFQUFFLENBQUM7UUFDWCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsT0FBTyxFQUFFLENBQUM7QUFDWixDQUFDLENBQUM7QUExQlcsUUFBQSxVQUFVLGNBMEJyQiJ9
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getHost = void 0;
|
|
4
|
+
const Establishment_1 = require("../parser/Establishment");
|
|
5
|
+
const Host_1 = require("../parser/Host");
|
|
6
|
+
const endpoints_1 = require("../utils/endpoints");
|
|
7
|
+
const fetcher_1 = require("../utils/fetcher");
|
|
8
|
+
const getHost = async (token, id) => {
|
|
9
|
+
const response = await (0, fetcher_1.TurboselfFetcher)("https://api-rest-prod.incb.fr" + (0, endpoints_1.GET_HOST)(id), {
|
|
10
|
+
method: "GET",
|
|
11
|
+
headers: {
|
|
12
|
+
"Content-Type": "application/json",
|
|
13
|
+
"Authorization": "Bearer " + token
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
const raw = await response.json();
|
|
17
|
+
const etablishment = new Establishment_1.Establishment(raw.etab.code2p5, raw.etab.nom, raw.etab.versionTS, raw.etab.id, raw.etab.idTurboself, raw.etab.currencySymbol, raw.etab.configuration?.nbRepasMini ?? 0, raw.etab.configuration?.creanceMini ?? 0, raw.etab.configuration?.montantCreditMini ?? 0, raw.etab.configuration?.msgAccueil ?? "", raw.etab.desactive, raw.etab.numEtab, raw.etab.pcServeur, raw.etab.configurationsReservation?.map((data) => {
|
|
18
|
+
return {
|
|
19
|
+
id: data.id,
|
|
20
|
+
usage: data.usage,
|
|
21
|
+
elecom: data.elecom,
|
|
22
|
+
endReservation: data.finReserv
|
|
23
|
+
};
|
|
24
|
+
}), {
|
|
25
|
+
address1: raw.etab.adr1 ?? "",
|
|
26
|
+
address2: raw.etab.adr2 ?? "",
|
|
27
|
+
zipCode: raw.etab.cp ?? "",
|
|
28
|
+
city: raw.etab.ville ?? ""
|
|
29
|
+
}, {
|
|
30
|
+
phoneNumber: raw.etab.tel ?? "",
|
|
31
|
+
website: raw.etab.configuration?.url ?? "",
|
|
32
|
+
email: raw.etab.configuration?.email ?? ""
|
|
33
|
+
}, {
|
|
34
|
+
canStudentUseQrCode: raw.etab.configuration?.autoriseQrCodeEleve ?? false,
|
|
35
|
+
canCompanionUseQrCode: raw.etab.configuration?.autoriseQrCodeCommensal ?? false,
|
|
36
|
+
canInternUseQrCode: raw.etab.configuration?.autoriseQrCodeStagiaire ?? false,
|
|
37
|
+
canStudentSeeHistory: raw.etab.configuration?.cacherHistorique ?? false
|
|
38
|
+
}, {
|
|
39
|
+
firstSync: raw.etab.datePremSynchro ?? "",
|
|
40
|
+
lastSync: raw.etab.dateDernSynchro ?? "",
|
|
41
|
+
lastSelfSync: raw.etab.configurationSelf?.dateDernSynchro ?? ""
|
|
42
|
+
});
|
|
43
|
+
return new Host_1.Host(raw.id, raw.prenom, raw.nom, raw.qualite, raw.division, raw.prixDej, etablishment, {
|
|
44
|
+
canPay: raw.droitPaiement ?? false,
|
|
45
|
+
canBookMeal: raw.droitReservation ?? false,
|
|
46
|
+
canBookCafeteria: raw.droitCafeteria ?? false,
|
|
47
|
+
canBookIfBalanceInsufficient: raw.autoriseReservSoldeIns ?? false
|
|
48
|
+
}, {
|
|
49
|
+
lastSync: raw.dateDernSynchro ?? ""
|
|
50
|
+
}, raw.carteCodee ?? -1, token);
|
|
51
|
+
};
|
|
52
|
+
exports.getHost = getHost;
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9zdEdldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9hcGkvaG9zdEdldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSwyREFBd0Q7QUFDeEQseUNBQXNDO0FBQ3RDLGtEQUFtRTtBQUNuRSw4Q0FBb0Q7QUFFN0MsTUFBTSxPQUFPLEdBQUcsS0FBSyxFQUFFLEtBQWEsRUFBRSxFQUFVLEVBQWlCLEVBQUU7SUFDeEUsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFBLDBCQUFnQixFQUFDLCtCQUErQixHQUFHLElBQUEsb0JBQVEsRUFBQyxFQUFFLENBQUMsRUFBRTtRQUN0RixNQUFNLEVBQUUsS0FBSztRQUNiLE9BQU8sRUFBRTtZQUNQLGNBQWMsRUFBRSxrQkFBa0I7WUFDbEMsZUFBZSxFQUFFLFNBQVMsR0FBRyxLQUFLO1NBQ25DO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsTUFBTSxHQUFHLEdBQUcsTUFBTSxRQUFRLENBQUMsSUFBSSxFQUFtQixDQUFDO0lBQ25ELE1BQU0sWUFBWSxHQUFHLElBQUksNkJBQWEsQ0FDcEMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQ2hCLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUNaLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUNsQixHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFDWCxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFFcEIsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQ3ZCLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFdBQVcsSUFBSSxDQUFDLEVBQ3hDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFdBQVcsSUFBRyxDQUFDLEVBQ3ZDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLGlCQUFpQixJQUFHLENBQUMsRUFFN0MsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsVUFBVSxJQUFJLEVBQUUsRUFFeEMsR0FB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
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getLatestPayment = void 0;
|
|
4
|
+
const LatestPayment_1 = require("../parser/LatestPayment");
|
|
5
|
+
const endpoints_1 = require("../utils/endpoints");
|
|
6
|
+
const fetcher_1 = require("../utils/fetcher");
|
|
7
|
+
const getLatestPayment = async (token, id) => {
|
|
8
|
+
const response = await (0, fetcher_1.TurboselfFetcher)("https://api-rest-prod.incb.fr" + (0, endpoints_1.GET_HOST_HOME)(id), {
|
|
9
|
+
method: "GET",
|
|
10
|
+
headers: {
|
|
11
|
+
"Content-Type": "application/json",
|
|
12
|
+
"Authorization": "Bearer " + token
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
const raw = await response.json();
|
|
16
|
+
let date = new Date(raw.latestPaiement?.date ?? "");
|
|
17
|
+
let updateDate = new Date(raw.latestPaiement?.dateMaj ?? "");
|
|
18
|
+
return new LatestPayment_1.LatestPayment(raw.latestPaiement?.id ?? 0, date, updateDate, raw.latestPaiement?.type ?? null, raw.latestPaiement?.montant ?? 0, raw.latestPaiement?.statut ?? "", raw.latestPaiement?.idTransaction ?? "", raw.latestPaiement?.token ?? "");
|
|
19
|
+
};
|
|
20
|
+
exports.getLatestPayment = getLatestPayment;
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFzdFBheW1lbnRHZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvYXBpL2xhc3RQYXltZW50R2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLDJEQUF3RDtBQUN4RCxrREFBbUQ7QUFDbkQsOENBQW9EO0FBRTdDLE1BQU0sZ0JBQWdCLEdBQUcsS0FBSyxFQUFFLEtBQWEsRUFBRSxFQUFVLEVBQTBCLEVBQUU7SUFDMUYsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFBLDBCQUFnQixFQUFDLCtCQUErQixHQUFHLElBQUEseUJBQWEsRUFBQyxFQUFFLENBQUMsRUFBRTtRQUMzRixNQUFNLEVBQUUsS0FBSztRQUNiLE9BQU8sRUFBRTtZQUNQLGNBQWMsRUFBRSxrQkFBa0I7WUFDbEMsZUFBZSxFQUFFLFNBQVMsR0FBRyxLQUFLO1NBQ25DO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsTUFBTSxHQUFHLEdBQUcsTUFBTSxRQUFRLENBQUMsSUFBSSxFQUFtQixDQUFDO0lBQ25ELElBQUksSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3BELElBQUksVUFBVSxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzdELE9BQU8sSUFBSSw2QkFBYSxDQUN0QixHQUFHLENBQUMsY0FBYyxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQzNCLElBQUksRUFDSixVQUFVLEVBQ1YsR0FBRyxDQUFDLGNBQWMsRUFBRSxJQUFJLElBQUksSUFBSSxFQUNoQyxHQUFHLENBQUMsY0FBYyxFQUFFLE9BQU8sSUFBSSxDQUFDLEVBQ2hDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsTUFBTSxJQUFJLEVBQUUsRUFDaEMsR0FBRyxDQUFDLGNBQWMsRUFBRSxhQUFhLElBQUksRUFBRSxFQUN2QyxHQUFHLENBQUMsY0FBYyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQ2hDLENBQUM7QUFDSixDQUFDLENBQUM7QUF0QlcsUUFBQSxnQkFBZ0Isb0JBc0IzQiJ9
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getSiblings = void 0;
|
|
4
|
+
const Establishment_1 = require("../parser/Establishment");
|
|
5
|
+
const Host_1 = require("../parser/Host");
|
|
6
|
+
const endpoints_1 = require("../utils/endpoints");
|
|
7
|
+
const fetcher_1 = require("../utils/fetcher");
|
|
8
|
+
const getSiblings = async (token, id) => {
|
|
9
|
+
const response = await (0, fetcher_1.TurboselfFetcher)("https://api-rest-prod.incb.fr" + (0, endpoints_1.GET_SIBLINGS)(id), {
|
|
10
|
+
method: "GET",
|
|
11
|
+
headers: {
|
|
12
|
+
"Content-Type": "application/json",
|
|
13
|
+
"Authorization": "Bearer " + token
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
const raw = await response.json();
|
|
17
|
+
const result = raw.map((data) => {
|
|
18
|
+
let establishment = new Establishment_1.Establishment(data.etab.code2p5, data.etab.nom, data.etab.versionTS, data.etab.id, data.etab.idTurboself, data.etab.currencySymbol, data.etab.configuration?.nbRepasMini ?? 0, data.etab.configuration?.creanceMini ?? 0, data.etab.configuration?.montantCreditMini ?? 0, data.etab.configuration?.msgAccueil ?? "", data.etab.desactive, data.etab.numEtab, data.etab.pcServeur, data.etab.configurationsReservation?.map((data) => {
|
|
19
|
+
return {
|
|
20
|
+
id: data.id,
|
|
21
|
+
usage: data.usage,
|
|
22
|
+
elecom: data.elecom,
|
|
23
|
+
endReservation: data.finReserv
|
|
24
|
+
};
|
|
25
|
+
}), {
|
|
26
|
+
address1: data.etab.adr1 ?? "",
|
|
27
|
+
address2: data.etab.adr2 ?? "",
|
|
28
|
+
zipCode: data.etab.cp ?? "",
|
|
29
|
+
city: data.etab.ville ?? ""
|
|
30
|
+
}, {
|
|
31
|
+
phoneNumber: data.etab.tel ?? "",
|
|
32
|
+
website: data.etab.configuration?.url ?? "",
|
|
33
|
+
email: data.etab.configuration?.email ?? ""
|
|
34
|
+
}, {
|
|
35
|
+
canStudentUseQrCode: data.etab.configuration?.autoriseQrCodeEleve ?? false,
|
|
36
|
+
canCompanionUseQrCode: data.etab.configuration?.autoriseQrCodeCommensal ?? false,
|
|
37
|
+
canInternUseQrCode: data.etab.configuration?.autoriseQrCodeStagiaire ?? false,
|
|
38
|
+
canStudentSeeHistory: data.etab.configuration?.cacherHistorique ?? false
|
|
39
|
+
}, {
|
|
40
|
+
firstSync: data.etab.datePremSynchro ?? "",
|
|
41
|
+
lastSync: data.etab.dateDernSynchro ?? "",
|
|
42
|
+
lastSelfSync: data.etab.configurationSelf?.dateDernSynchro ?? ""
|
|
43
|
+
});
|
|
44
|
+
return new Host_1.Host(data.id, data.prenom, data.nom, data.qualite, data.division, data.prixDej, establishment, {
|
|
45
|
+
canPay: data.droitPaiement ?? false,
|
|
46
|
+
canBookMeal: data.droitReservation ?? false,
|
|
47
|
+
canBookCafeteria: data.droitCafeteria ?? false,
|
|
48
|
+
canBookIfBalanceInsufficient: data.autoriseReservSoldeIns ?? false
|
|
49
|
+
}, {
|
|
50
|
+
lastSync: data.dateDernSynchro ?? ""
|
|
51
|
+
}, data.carteCodee ?? -1);
|
|
52
|
+
});
|
|
53
|
+
return result;
|
|
54
|
+
};
|
|
55
|
+
exports.getSiblings = getSiblings;
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2libGluZ3NHZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvYXBpL3NpYmxpbmdzR2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDJEQUF3RDtBQUN4RCx5Q0FBc0M7QUFDdEMsa0RBQWtEO0FBQ2xELDhDQUFvRDtBQUU3QyxNQUFNLFdBQVcsR0FBRyxLQUFLLEVBQUUsS0FBYSxFQUFFLEVBQVUsRUFBbUIsRUFBRTtJQUM5RSxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUEsMEJBQWdCLEVBQUMsK0JBQStCLEdBQUcsSUFBQSx3QkFBWSxFQUFDLEVBQUUsQ0FBQyxFQUFFO1FBQzFGLE1BQU0sRUFBRSxLQUFLO1FBQ2IsT0FBTyxFQUFFO1lBQ1AsY0FBYyxFQUFFLGtCQUFrQjtZQUNsQyxlQUFlLEVBQUUsU0FBUyxHQUFHLEtBQUs7U0FDbkM7S0FDRixDQUFDLENBQUM7SUFFSCxNQUFNLEdBQUcsR0FBRyxNQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQXFCLENBQUM7SUFFckQsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1FBQzlCLElBQUksYUFBYSxHQUFHLElBQUksNkJBQWEsQ0FDbkMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFDWixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFFckIsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFdBQVcsSUFBSSxDQUFDLEVBQ3pDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFdBQVcsSUFBRyxDQUFDLEVBQ3hDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLGlCQUFpQixJ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
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.authenticateWithCredentials = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const Turboself_1 = tslib_1.__importDefault(require("../client/Turboself"));
|
|
6
|
+
const endpoints_1 = require("../utils/endpoints");
|
|
7
|
+
const fetcher_1 = require("../utils/fetcher");
|
|
8
|
+
const authenticateWithCredentials = async (options) => {
|
|
9
|
+
const response = await (0, fetcher_1.TurboselfFetcher)("https://api-rest-prod.incb.fr" + (0, endpoints_1.LOGIN)(), {
|
|
10
|
+
method: "POST",
|
|
11
|
+
body: JSON.stringify(options),
|
|
12
|
+
headers: {
|
|
13
|
+
"Content-Type": "application/json"
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
const raw = await response.json();
|
|
17
|
+
return new Turboself_1.default(raw.access_token, {
|
|
18
|
+
hoteId: raw.hoteId,
|
|
19
|
+
userId: raw.userId,
|
|
20
|
+
username: options.username,
|
|
21
|
+
password: options.password
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
exports.authenticateWithCredentials = authenticateWithCredentials;
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvYXV0aGVudGljYXRlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSw0RUFBNEM7QUFFNUMsa0RBQTJDO0FBQzNDLDhDQUFvRDtBQUU3QyxNQUFNLDJCQUEyQixHQUFHLEtBQUssRUFBRSxPQUFxQixFQUFzQixFQUFFO0lBQzdGLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBQSwwQkFBZ0IsRUFBQywrQkFBK0IsR0FBRyxJQUFBLGlCQUFLLEdBQUUsRUFBRTtRQUNqRixNQUFNLEVBQUUsTUFBTTtRQUNkLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQztRQUM3QixPQUFPLEVBQUU7WUFDUCxjQUFjLEVBQUUsa0JBQWtCO1NBQ25DO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsTUFBTSxHQUFHLEdBQUcsTUFBTSxRQUFRLENBQUMsSUFBSSxFQUFvQixDQUFDO0lBRXBELE9BQU8sSUFBSSxtQkFBUyxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUU7UUFDckMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFNO1FBQ2xCLE1BQU0sRUFBRSxHQUFHLENBQUMsTUFBTTtRQUNsQixRQUFRLEVBQUUsT0FBTyxDQUFDLFFBQVE7UUFDMUIsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRO0tBQzNCLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQWpCVyxRQUFBLDJCQUEyQiwrQkFpQnRDIn0=
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { AuthFlowData } from "../interfaces/AuthFlow";
|
|
2
|
+
import { Balance } from "../parser/Balance";
|
|
3
|
+
import { BookedMeal } from "../parser/BookedMeal";
|
|
4
|
+
import { BookingWeek } from "../parser/BookingWeek";
|
|
5
|
+
import { Establishment } from "../parser/Establishment";
|
|
6
|
+
import { History } from "../parser/History";
|
|
7
|
+
import { Host } from "../parser/Host";
|
|
8
|
+
import { LatestPayment } from "../parser/LatestPayment";
|
|
9
|
+
export default class Turboself {
|
|
10
|
+
token: string;
|
|
11
|
+
private loginData;
|
|
12
|
+
tokenExpires: number;
|
|
13
|
+
constructor(token: string, loginData: AuthFlowData);
|
|
14
|
+
private refreshToken;
|
|
15
|
+
/** 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.
|
|
18
|
+
*/
|
|
19
|
+
searchEstablishments(query: string, limit: number): Promise<Establishment[]>;
|
|
20
|
+
/** This method is used to get an Establishment from Turboself.
|
|
21
|
+
* @param code The code of the establishment.
|
|
22
|
+
*/
|
|
23
|
+
getEstablishment(code: string): Promise<Establishment>;
|
|
24
|
+
/** This method is used to get the host of a Turboself user.
|
|
25
|
+
*/
|
|
26
|
+
getHost(): Promise<Host>;
|
|
27
|
+
/** This method is used to get the balance of a Turboself user.
|
|
28
|
+
*/
|
|
29
|
+
getBalance(): Promise<Balance>;
|
|
30
|
+
/** This method is used to get the siblings of a Turboself user.
|
|
31
|
+
*/
|
|
32
|
+
getSiblings(): Promise<Host[]>;
|
|
33
|
+
/** This method is used to get the latest payment of a Turboself user.
|
|
34
|
+
*/
|
|
35
|
+
getHistory(): Promise<History[]>;
|
|
36
|
+
/** This method is used to get the latest payment of a Turboself user.
|
|
37
|
+
*/
|
|
38
|
+
getLatestPayment(): Promise<LatestPayment>;
|
|
39
|
+
/** This method is used to get if the user can book evening.
|
|
40
|
+
*/
|
|
41
|
+
canBookEvening(): Promise<boolean>;
|
|
42
|
+
/** This method is used to get a booking week.
|
|
43
|
+
* @param weekNumber The number of the week.
|
|
44
|
+
*/
|
|
45
|
+
getBookingWeek(weekNumber?: number): Promise<BookingWeek>;
|
|
46
|
+
/** 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
|
+
bookDay(id: string, book: boolean, bookEvening?: boolean, dayOfWeek?: number): Promise<BookedMeal>;
|
|
53
|
+
}
|