tripstorekrabi-shared 1.11.3 → 1.11.4

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 (3) hide show
  1. package/booking.js +55 -0
  2. package/package.json +2 -3
  3. package/index.js +0 -54
package/booking.js CHANGED
@@ -8,6 +8,8 @@ dayjs.extend(advancedFormat);
8
8
  dayjs.extend(utc);
9
9
  dayjs.extend(timezone);
10
10
 
11
+ const PHONE_REGEXP = /[^\d+]/g;
12
+
11
13
  export function addBookingFromInvoice(firestore, admin, invoice, paymentData, comment = "") {
12
14
  let bookingNumberDoc = firestore.collection("meta").doc("BOOKING_NUMBER");
13
15
 
@@ -169,4 +171,57 @@ export function getOperatorSignature(agent, operatorName) {
169
171
  signature +=
170
172
  "<br>Telegram chat: <a href='https://t.me/tripstorekrabi_bot'>@tripstorekrabi_bot</a>";
171
173
  return signature;
174
+ }
175
+
176
+ export function buildIndex(id, booking) {
177
+ let referenceNumbers = [booking.referenceNumber];
178
+ if (booking.expediaVoucherNumbers) {
179
+ booking.expediaVoucherNumbers.forEach((voucherNumber) => {
180
+ referenceNumbers.push(voucherNumber + "");
181
+ });
182
+ }
183
+
184
+ let travellers = [booking.leadTraveller];
185
+ if (booking.travellers) {
186
+ booking.travellers.forEach((traveller) => {
187
+ travellers.push(traveller);
188
+ });
189
+ }
190
+
191
+ let emails = [];
192
+ let email = booking.email;
193
+ if (email && email !== "info@tripstorekrabi.com") {
194
+ emails.push(email);
195
+ }
196
+
197
+ if (booking.cc) {
198
+ emails.push(booking.cc);
199
+ }
200
+
201
+ let pickupHotel = booking.pickupHotel ?? "";
202
+
203
+ let phoneNumbers = [];
204
+ let phoneNumber = booking.phoneNumber;
205
+ if (phoneNumber) {
206
+ addPhoneNumbers(phoneNumbers, phoneNumber);
207
+ }
208
+ let phoneNumber2 = booking.phoneNumber2;
209
+ if (phoneNumber2) {
210
+ addPhoneNumbers(phoneNumbers, phoneNumber2);
211
+ }
212
+ phoneNumbers = [...new Set(phoneNumbers)];
213
+
214
+ return { id, referenceNumbers, travellers, emails, pickupHotel, phoneNumbers }
215
+ }
216
+
217
+ function addPhoneNumbers(phoneNumbers, phoneNumber) {
218
+ phoneNumber = (phoneNumber + "").trim();
219
+ phoneNumber = phoneNumber.replace(PHONE_REGEXP, "");
220
+ if (phoneNumber.startsWith("+")) {
221
+ phoneNumbers.push(phoneNumber);
222
+ phoneNumbers.push(phoneNumber.substring(1));
223
+ } else {
224
+ phoneNumbers.push(phoneNumber);
225
+ phoneNumbers.push("+" + phoneNumber);
226
+ }
172
227
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tripstorekrabi-shared",
3
- "version": "1.11.3",
3
+ "version": "1.11.4",
4
4
  "description": "Shared library for Trip Store Krabi",
5
5
  "author": "Stefan Sommer <tonprince@gmail.com>",
6
6
  "repository": {
@@ -11,8 +11,7 @@
11
11
  "./utils": "./utils.js",
12
12
  "./price": "./price.js",
13
13
  "./availability": "./availability.js",
14
- "./booking": "./booking.js",
15
- "./index": "./index.js"
14
+ "./booking": "./booking.js"
16
15
  },
17
16
  "dependencies": {
18
17
  "dayjs": "^1.11.7"
package/index.js DELETED
@@ -1,54 +0,0 @@
1
- const PHONE_REGEXP = /[^\d+]/g;
2
-
3
- export function buildBookingIndex(id, booking) {
4
- let referenceNumbers = [booking.referenceNumber];
5
- if (booking.expediaVoucherNumbers) {
6
- booking.expediaVoucherNumbers.forEach((voucherNumber) => {
7
- referenceNumbers.push(voucherNumber + "");
8
- });
9
- }
10
-
11
- let travellers = [booking.leadTraveller];
12
- if (booking.travellers) {
13
- booking.travellers.forEach((traveller) => {
14
- travellers.push(traveller);
15
- });
16
- }
17
-
18
- let emails = [];
19
- let email = booking.email;
20
- if (email && email !== "info@tripstorekrabi.com") {
21
- emails.push(email);
22
- }
23
-
24
- if (booking.cc) {
25
- emails.push(booking.cc);
26
- }
27
-
28
- let pickupHotel = booking.pickupHotel ?? "";
29
-
30
- let phoneNumbers = [];
31
- let phoneNumber = booking.phoneNumber;
32
- if (phoneNumber) {
33
- addPhoneNumbers(phoneNumbers, phoneNumber);
34
- }
35
- let phoneNumber2 = booking.phoneNumber2;
36
- if (phoneNumber2) {
37
- addPhoneNumbers(phoneNumbers, phoneNumber2);
38
- }
39
- phoneNumbers = [...new Set(phoneNumbers)];
40
-
41
- return { id, referenceNumbers, travellers, emails, pickupHotel, phoneNumbers }
42
- }
43
-
44
- function addPhoneNumbers(phoneNumbers, phoneNumber) {
45
- phoneNumber = (phoneNumber + "").trim();
46
- phoneNumber = phoneNumber.replace(PHONE_REGEXP, "");
47
- if (phoneNumber.startsWith("+")) {
48
- phoneNumbers.push(phoneNumber);
49
- phoneNumbers.push(phoneNumber.substring(1));
50
- } else {
51
- phoneNumbers.push(phoneNumber);
52
- phoneNumbers.push("+" + phoneNumber);
53
- }
54
- }