btrz-api-client 3.28.0 → 3.32.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/src/client.js CHANGED
@@ -1,174 +1,194 @@
1
1
  const axios = require("axios");
2
- const productionOptions = require("./productionDefaults");
2
+ const productionOptions = require("./productionDefaults.js");
3
3
 
4
4
  /**
5
- * @description
6
5
  * Creates a new axios client
7
- *
8
- * @param {String} baseUrl - the base url use for all endpoints by default
9
- * @param {String} timeout
10
- * @param {Function} overrideFn - allows to override the baseUrl
11
- */
12
-
13
- function clientFactory({baseURL, headers, timeout, overrideFn}) {
6
+ * @param {Object} opts - Axios configuration
7
+ * @param {string} opts.baseURL - the base url use for all endpoints by default
8
+ * @param {Object} opts.headers - an object of http headers
9
+ * @param {string} opts.timeout - timeout in milliseconds
10
+ * @param {Function} opts.overrideFn - allows to override the baseUrl
11
+ * @param {{httpAgent: import("http").Agent, httpsAgent: import("https").Agent}} opts.agents - An object containg one or both http agents
12
+ * @returns {axios.AxiosInstance} Returns a configured axios instance
13
+ */
14
+ function clientFactory(opts) {
15
+ const {baseURL, headers, timeout, overrideFn, agents} = opts;
14
16
  const url = overrideFn ? overrideFn(baseURL) : baseURL;
15
- return axios.create({baseURL: url, timeout, headers: {"Accept": "application/json", ...headers}});
17
+
18
+ /** @type {import("axios").AxiosRequestConfig} */
19
+ let options = {
20
+ baseURL: url,
21
+ timeout,
22
+ headers: {
23
+ "Accept": "application/json",
24
+ ...headers
25
+ }
26
+ };
27
+
28
+ if (agents && (agents.httpAgent || agents.httpsAgent)) {
29
+ options = {
30
+ ...options,
31
+ ...agents
32
+ };
33
+ }
34
+ return axios.create(options);
16
35
  }
17
36
 
18
37
  /** MODULES */
19
38
 
20
- function createInventory({baseURL, headers, timeout, overrideFn, internalAuthTokenProvider}) {
21
- const client = clientFactory({baseURL, headers, timeout, overrideFn});
39
+ function createInventory({baseURL, headers, timeout, overrideFn, internalAuthTokenProvider, agents}) {
40
+ const client = clientFactory({baseURL, headers, timeout, overrideFn, agents});
22
41
 
23
42
  return {
24
- docs: require("./endpoints/inventory/docs")({client}),
25
- products: require("./endpoints/inventory/products")({client, internalAuthTokenProvider}),
26
- insurances: require("./endpoints/inventory/insurances")({client, internalAuthTokenProvider}),
27
- insurancesCost: require("./endpoints/inventory/insurancesCost")({client, internalAuthTokenProvider}),
28
- stations: require("./endpoints/inventory/stations")({client, internalAuthTokenProvider}),
29
- stationsZones: require("./endpoints/inventory/stations-zones")({client, internalAuthTokenProvider}),
30
- parcelZones: require("./endpoints/inventory/parcel-zones")({client, internalAuthTokenProvider}),
31
- countries: require("./endpoints/inventory/countries")({client, internalAuthTokenProvider}),
32
- fares: require("./endpoints/inventory/fares")({client, internalAuthTokenProvider}),
33
- promos: require("./endpoints/inventory/promos")({client, internalAuthTokenProvider}),
34
- taxes: require("./endpoints/inventory/taxes")({client, internalAuthTokenProvider}),
35
- seatmaps: require("./endpoints/inventory/seatmaps")({client, internalAuthTokenProvider}),
36
- fees: require("./endpoints/inventory/fees")({client, internalAuthTokenProvider}),
37
- items: require("./endpoints/inventory/items")({client, internalAuthTokenProvider}),
38
- filteredTrips: require("./endpoints/inventory/filtered-trips")({client, internalAuthTokenProvider}),
39
- filteredTripsV2: require("./endpoints/inventory/filtered-trips-v2")({client, internalAuthTokenProvider}),
40
- ssrs: require("./endpoints/inventory/ssrs")({client, internalAuthTokenProvider}),
41
- fareClasses: require("./endpoints/inventory/fare-classes")({client, internalAuthTokenProvider}),
42
- journeyPrices: require("./endpoints/inventory/journey-prices")({client, internalAuthTokenProvider}),
43
- brands: require("./endpoints/inventory/brands")({client, internalAuthTokenProvider}),
44
- operatingCompanies: require("./endpoints/inventory/operating-companies")({client, internalAuthTokenProvider}),
45
- operationMessages: require("./endpoints/inventory/operation-messages")({ client, internalAuthTokenProvider }),
46
- paymentTerminals: require("./endpoints/inventory/payment-terminals")({ client, internalAuthTokenProvider }),
47
- serviceTypes: require("./endpoints/inventory/service-types")({ client, internalAuthTokenProvider }),
48
- customContent: require("./endpoints/inventory/custom-content")({ client, internalAuthTokenProvider }),
49
- seatfees: require("./endpoints/inventory/seatfees")({ client, internalAuthTokenProvider }),
50
- routes: require("./endpoints/inventory/routes")({ client, internalAuthTokenProvider }),
51
- bareRoutes: require("./endpoints/inventory/bare-routes")({ client, internalAuthTokenProvider }),
52
- schedules: require("./endpoints/inventory/schedules")({client, internalAuthTokenProvider}),
53
- serviceNumbers: require("./endpoints/inventory/service-numbers")({client, internalAuthTokenProvider}),
54
- companies: require("./endpoints/inventory/companies")({client, internalAuthTokenProvider}),
55
- bundleFares: require("./endpoints/inventory/bundle-fares")({client, internalAuthTokenProvider}),
56
- giftCertificateDefinitions: require("./endpoints/inventory/gift-certificate-definitions")({client, internalAuthTokenProvider}),
57
- amenities: require("./endpoints/inventory/amenities")({client, internalAuthTokenProvider}),
58
- amenityGroups: require("./endpoints/inventory/amenity-groups")({client, internalAuthTokenProvider}),
59
- bundles: require("./endpoints/inventory/bundles")({client, internalAuthTokenProvider}),
60
- stationGroups: require("./endpoints/inventory/station-groups")({ client, internalAuthTokenProvider }),
61
- zonePrices: require("./endpoints/inventory/zone-prices")({ client, internalAuthTokenProvider }),
62
- zonePriceOverages: require("./endpoints/inventory/zone-price-overages")({ client, internalAuthTokenProvider }),
63
- travellerCardProviders: require("./endpoints/inventory/traveller-card-providers")({client, internalAuthTokenProvider}),
64
- travellerCardProvidersTypes: require("./endpoints/inventory/traveller-card-providers-types")({client, internalAuthTokenProvider}),
65
- travellerCardTypes: require("./endpoints/inventory/traveller-card-types")({client, internalAuthTokenProvider}),
66
- marketplaceModifiers: require("./endpoints/inventory/marketplace-modifiers")({client, internalAuthTokenProvider}),
43
+ docs: require("./endpoints/inventory/docs.js")({client}),
44
+ products: require("./endpoints/inventory/products.js")({client, internalAuthTokenProvider}),
45
+ insurances: require("./endpoints/inventory/insurances.js")({client, internalAuthTokenProvider}),
46
+ insurancesCost: require("./endpoints/inventory/insurancesCost.js")({client, internalAuthTokenProvider}),
47
+ stations: require("./endpoints/inventory/stations.js")({client, internalAuthTokenProvider}),
48
+ stationsZones: require("./endpoints/inventory/stations-zones.js")({client, internalAuthTokenProvider}),
49
+ parcelZones: require("./endpoints/inventory/parcel-zones.js")({client, internalAuthTokenProvider}),
50
+ countries: require("./endpoints/inventory/countries.js")({client, internalAuthTokenProvider}),
51
+ fares: require("./endpoints/inventory/fares.js")({client, internalAuthTokenProvider}),
52
+ promos: require("./endpoints/inventory/promos.js")({client, internalAuthTokenProvider}),
53
+ taxes: require("./endpoints/inventory/taxes.js")({client, internalAuthTokenProvider}),
54
+ seatmaps: require("./endpoints/inventory/seatmaps.js")({client, internalAuthTokenProvider}),
55
+ fees: require("./endpoints/inventory/fees.js")({client, internalAuthTokenProvider}),
56
+ items: require("./endpoints/inventory/items.js")({client, internalAuthTokenProvider}),
57
+ filteredTrips: require("./endpoints/inventory/filtered-trips.js")({client, internalAuthTokenProvider}),
58
+ filteredTripsV2: require("./endpoints/inventory/filtered-trips-v2.js")({client, internalAuthTokenProvider}),
59
+ ssrs: require("./endpoints/inventory/ssrs.js")({client, internalAuthTokenProvider}),
60
+ fareClasses: require("./endpoints/inventory/fare-classes.js")({client, internalAuthTokenProvider}),
61
+ journeyPrices: require("./endpoints/inventory/journey-prices.js")({client, internalAuthTokenProvider}),
62
+ brands: require("./endpoints/inventory/brands.js")({client, internalAuthTokenProvider}),
63
+ operatingCompanies: require("./endpoints/inventory/operating-companies.js")({client, internalAuthTokenProvider}),
64
+ operationMessages: require("./endpoints/inventory/operation-messages.js")({client, internalAuthTokenProvider}),
65
+ paymentTerminals: require("./endpoints/inventory/payment-terminals.js")({client, internalAuthTokenProvider}),
66
+ serviceTypes: require("./endpoints/inventory/service-types.js")({client, internalAuthTokenProvider}),
67
+ customContent: require("./endpoints/inventory/custom-content.js")({client, internalAuthTokenProvider}),
68
+ seatfees: require("./endpoints/inventory/seatfees.js")({client, internalAuthTokenProvider}),
69
+ routes: require("./endpoints/inventory/routes.js")({client, internalAuthTokenProvider}),
70
+ bareRoutes: require("./endpoints/inventory/bare-routes.js")({client, internalAuthTokenProvider}),
71
+ schedules: require("./endpoints/inventory/schedules.js")({client, internalAuthTokenProvider}),
72
+ serviceNumbers: require("./endpoints/inventory/service-numbers.js")({client, internalAuthTokenProvider}),
73
+ companies: require("./endpoints/inventory/companies.js")({client, internalAuthTokenProvider}),
74
+ bundleFares: require("./endpoints/inventory/bundle-fares.js")({client, internalAuthTokenProvider}),
75
+ giftCertificateDefinitions: require("./endpoints/inventory/gift-certificate-definitions.js")({client, internalAuthTokenProvider}),
76
+ amenities: require("./endpoints/inventory/amenities.js")({client, internalAuthTokenProvider}),
77
+ amenityGroups: require("./endpoints/inventory/amenity-groups.js")({client, internalAuthTokenProvider}),
78
+ bundles: require("./endpoints/inventory/bundles.js")({client, internalAuthTokenProvider}),
79
+ stationGroups: require("./endpoints/inventory/station-groups.js")({client, internalAuthTokenProvider}),
80
+ zonePrices: require("./endpoints/inventory/zone-prices.js")({client, internalAuthTokenProvider}),
81
+ zonePriceOverages: require("./endpoints/inventory/zone-price-overages.js")({client, internalAuthTokenProvider}),
82
+ travellerCardProviders: require("./endpoints/inventory/traveller-card-providers.js")({client, internalAuthTokenProvider}),
83
+ travellerCardProvidersTypes: require("./endpoints/inventory/traveller-card-providers-types.js")({client, internalAuthTokenProvider}),
84
+ travellerCardTypes: require("./endpoints/inventory/traveller-card-types.js")({client, internalAuthTokenProvider}),
85
+ marketplaceModifiers: require("./endpoints/inventory/marketplace-modifiers.js")({client, internalAuthTokenProvider}),
67
86
  __test: {
68
87
  client
69
88
  }
70
89
  };
71
90
  }
72
91
 
73
- function createTrips({baseURL, headers, timeout, overrideFn, internalAuthTokenProvider}) {
74
- const client = clientFactory({baseURL, headers, timeout, overrideFn});
92
+ function createTrips({baseURL, headers, timeout, overrideFn, internalAuthTokenProvider, agents}) {
93
+ const client = clientFactory({baseURL, headers, timeout, overrideFn, agents});
75
94
 
76
95
  return {
77
- trips: require("./endpoints/inventory/trips")({client, internalAuthTokenProvider}),
96
+ trips: require("./endpoints/inventory/trips.js")({client, internalAuthTokenProvider}),
78
97
  __test_trips: {
79
98
  client
80
99
  }
81
100
  };
82
101
  }
83
102
 
84
- function createColtrane({baseURL, headers, timeout, overrideFn, internalAuthTokenProvider}) {
85
- const client = clientFactory({baseURL, headers, timeout, overrideFn});
103
+ function createColtrane({baseURL, headers, timeout, overrideFn, internalAuthTokenProvider, agents}) {
104
+ const client = clientFactory({baseURL, headers, timeout, overrideFn, agents});
86
105
 
87
106
  return {
88
- docs: require("./endpoints/coltrane/docs")({ client }),
89
- paths: require("./endpoints/coltrane/paths")({client, internalAuthTokenProvider}),
107
+ docs: require("./endpoints/coltrane/docs.js")({client}),
108
+ paths: require("./endpoints/coltrane/paths.js")({client, internalAuthTokenProvider}),
90
109
  __test: {
91
110
  client
92
111
  }
93
112
  };
94
113
  }
95
114
 
96
- function createAccounts({baseURL, headers, timeout, overrideFn, internalAuthTokenProvider}) {
97
- const client = clientFactory({baseURL, headers, timeout, overrideFn});
115
+ function createAccounts({baseURL, headers, timeout, overrideFn, internalAuthTokenProvider, agents}) {
116
+ const client = clientFactory({baseURL, headers, timeout, overrideFn, agents});
98
117
 
99
118
  return {
100
- accounts: require("./endpoints/accounts/accounts")({client, internalAuthTokenProvider}),
101
- application: require("./endpoints/accounts/application")({client, internalAuthTokenProvider}),
102
- applications: require("./endpoints/accounts/applications")({client, internalAuthTokenProvider}),
103
- applicationSettings: require("./endpoints/accounts/application-settings")({client, internalAuthTokenProvider}),
104
- customers: require("./endpoints/accounts/customers")({client, internalAuthTokenProvider}),
105
- currentShifts: require("./endpoints/accounts/current-shifts")({client, internalAuthTokenProvider}),
106
- docs: require("./endpoints/accounts/docs")({
119
+ accounts: require("./endpoints/accounts/accounts.js")({client, internalAuthTokenProvider}),
120
+ application: require("./endpoints/accounts/application.js")({client, internalAuthTokenProvider}),
121
+ applications: require("./endpoints/accounts/applications.js")({client, internalAuthTokenProvider}),
122
+ applicationSettings: require("./endpoints/accounts/application-settings.js")({client, internalAuthTokenProvider}),
123
+ customers: require("./endpoints/accounts/customers.js")({client, internalAuthTokenProvider}),
124
+ currentShifts: require("./endpoints/accounts/current-shifts.js")({client, internalAuthTokenProvider}),
125
+ docs: require("./endpoints/accounts/docs.js")({
107
126
  client
108
127
  }),
109
- exchangeRates: require("./endpoints/accounts/exchange-rates")({client, internalAuthTokenProvider}),
110
- interline: require("./endpoints/accounts/interline")({client, internalAuthTokenProvider}),
111
- lexicons: require("./endpoints/accounts/lexicons")({client, internalAuthTokenProvider}),
112
- printers: require("./endpoints/accounts/printers")({
128
+ emailSettings: require("./endpoints/accounts/email-settings.js")({client, internalAuthTokenProvider}),
129
+ exchangeRates: require("./endpoints/accounts/exchange-rates.js")({client, internalAuthTokenProvider}),
130
+ interline: require("./endpoints/accounts/interline.js")({client, internalAuthTokenProvider}),
131
+ lexicons: require("./endpoints/accounts/lexicons.js")({client, internalAuthTokenProvider}),
132
+ printers: require("./endpoints/accounts/printers.js")({
113
133
  client, internalAuthTokenProvider
114
134
  }),
115
- printSettings: require("./endpoints/accounts/print-settings")({
135
+ printSettings: require("./endpoints/accounts/print-settings.js")({
116
136
  client, internalAuthTokenProvider
117
137
  }),
118
- shifts: require("./endpoints/accounts/shifts")({client, internalAuthTokenProvider}),
119
- travellers: require("./endpoints/accounts/travellers")({
138
+ shifts: require("./endpoints/accounts/shifts.js")({client, internalAuthTokenProvider}),
139
+ travellers: require("./endpoints/accounts/travellers.js")({
120
140
  client, internalAuthTokenProvider
121
141
  }),
122
- trustedMachines: require("./endpoints/accounts/trusted-machines")({client, internalAuthTokenProvider}),
123
- users: require("./endpoints/accounts/users")({client, internalAuthTokenProvider}),
142
+ trustedMachines: require("./endpoints/accounts/trusted-machines.js")({client, internalAuthTokenProvider}),
143
+ users: require("./endpoints/accounts/users.js")({client, internalAuthTokenProvider}),
124
144
  __test: {
125
145
  client
126
146
  }
127
147
  };
128
148
  }
129
149
 
130
- function createSales({baseURL, headers, timeout, overrideFn, internalAuthTokenProvider}) {
131
- const client = clientFactory({baseURL, headers, timeout, overrideFn});
150
+ function createSales({baseURL, headers, timeout, overrideFn, internalAuthTokenProvider, agents}) {
151
+ const client = clientFactory({baseURL, headers, timeout, overrideFn, agents});
132
152
 
133
153
  return {
134
- docs: require("./endpoints/sales/docs")({ client }),
135
- paymentProviders: require("./endpoints/sales/payment-providers")({client, internalAuthTokenProvider}),
136
- cart: require("./endpoints/sales/cart")({client, internalAuthTokenProvider}),
137
- giftCertificates: require("./endpoints/sales/gift-certificates")({client, internalAuthTokenProvider}),
138
- customFields: require("./endpoints/sales/custom-fields")({client, internalAuthTokenProvider}),
139
- order: require("./endpoints/sales/order")({client, internalAuthTokenProvider}),
140
- voucher: require("./endpoints/sales/voucher")({client, internalAuthTokenProvider}),
141
- cartPromo: require("./endpoints/sales/cart-promo")({client, internalAuthTokenProvider}),
142
- bundles: require("./endpoints/sales/bundles")({client, internalAuthTokenProvider}),
143
- redeemableItems: require("./endpoints/sales/redeemable-items")({client, internalAuthTokenProvider}),
144
- flexpasses: require("./endpoints/sales/flexpasses")({client, internalAuthTokenProvider}),
145
- syncEntry: require("./endpoints/sales/sync-entry")({client, internalAuthTokenProvider}),
154
+ docs: require("./endpoints/sales/docs.js")({client}),
155
+ paymentProviders: require("./endpoints/sales/payment-providers.js")({client, internalAuthTokenProvider}),
156
+ cart: require("./endpoints/sales/cart.js")({client, internalAuthTokenProvider}),
157
+ giftCertificates: require("./endpoints/sales/gift-certificates.js")({client, internalAuthTokenProvider}),
158
+ customFields: require("./endpoints/sales/custom-fields.js")({client, internalAuthTokenProvider}),
159
+ order: require("./endpoints/sales/order.js")({client, internalAuthTokenProvider}),
160
+ voucher: require("./endpoints/sales/voucher.js")({client, internalAuthTokenProvider}),
161
+ cartPromo: require("./endpoints/sales/cart-promo.js")({client, internalAuthTokenProvider}),
162
+ bundles: require("./endpoints/sales/bundles.js")({client, internalAuthTokenProvider}),
163
+ redeemableItems: require("./endpoints/sales/redeemable-items.js")({client, internalAuthTokenProvider}),
164
+ flexpasses: require("./endpoints/sales/flexpasses.js")({client, internalAuthTokenProvider}),
165
+ syncEntry: require("./endpoints/sales/sync-entry.js")({client, internalAuthTokenProvider}),
146
166
  __test: {
147
167
  client
148
168
  }
149
169
  };
150
170
  }
151
171
 
152
- function createOperations({baseURL, headers, timeout, overrideFn, internalAuthTokenProvider}) {
153
- const client = clientFactory({baseURL, headers, timeout, overrideFn});
172
+ function createOperations({baseURL, headers, timeout, overrideFn, internalAuthTokenProvider, agents}) {
173
+ const client = clientFactory({baseURL, headers, timeout, overrideFn, agents});
154
174
 
155
175
  return {
156
- docs: require("./endpoints/operations/docs")({ client }),
157
- flexpasses: require("./endpoints/operations/flexpasses")({client, internalAuthTokenProvider}),
158
- parcel: require("./endpoints/operations/parcels")({client, internalAuthTokenProvider}),
159
- appliedInsurance: require("./endpoints/operations/applied_insurance")({client, internalAuthTokenProvider}),
160
- transaction: require("./endpoints/operations/transaction")({client, internalAuthTokenProvider}),
161
- transactions: require("./endpoints/operations/transactions")({client, internalAuthTokenProvider}),
162
- tickets: require("./endpoints/operations/tickets")({client, internalAuthTokenProvider}),
163
- manifest: require("./endpoints/operations/manifest")({client, internalAuthTokenProvider}),
164
- calendarEntries: require("./endpoints/operations/calendar_entries")({client, internalAuthTokenProvider}),
165
- redemption: require("./endpoints/operations/redemption")({client, internalAuthTokenProvider}),
166
- tripChangeInfo: require("./endpoints/operations/trip_change_info")({client, internalAuthTokenProvider}),
167
- segments: require("./endpoints/operations/segments")({client, internalAuthTokenProvider}),
168
- loans: require("./endpoints/operations/loans")({client, internalAuthTokenProvider}),
169
- movements: require("./endpoints/operations/movements")({client, internalAuthTokenProvider}),
170
- scheduledNotifications: require("./endpoints/operations/scheduled_notifications")({client, internalAuthTokenProvider}),
171
- waitlists: require("./endpoints/operations/waitlists")({client, internalAuthTokenProvider}),
176
+ docs: require("./endpoints/operations/docs.js")({client}),
177
+ flexpasses: require("./endpoints/operations/flexpasses.js")({client, internalAuthTokenProvider}),
178
+ parcel: require("./endpoints/operations/parcels.js")({client, internalAuthTokenProvider}),
179
+ appliedInsurance: require("./endpoints/operations/applied_insurance.js")({client, internalAuthTokenProvider}),
180
+ transaction: require("./endpoints/operations/transaction.js")({client, internalAuthTokenProvider}),
181
+ transactions: require("./endpoints/operations/transactions.js")({client, internalAuthTokenProvider}),
182
+ tickets: require("./endpoints/operations/tickets.js")({client, internalAuthTokenProvider}),
183
+ manifest: require("./endpoints/operations/manifest.js")({client, internalAuthTokenProvider}),
184
+ calendarEntries: require("./endpoints/operations/calendar_entries.js")({client, internalAuthTokenProvider}),
185
+ redemption: require("./endpoints/operations/redemption.js")({client, internalAuthTokenProvider}),
186
+ tripChangeInfo: require("./endpoints/operations/trip_change_info.js")({client, internalAuthTokenProvider}),
187
+ segments: require("./endpoints/operations/segments.js")({client, internalAuthTokenProvider}),
188
+ loans: require("./endpoints/operations/loans.js")({client, internalAuthTokenProvider}),
189
+ movements: require("./endpoints/operations/movements.js")({client, internalAuthTokenProvider}),
190
+ scheduledNotifications: require("./endpoints/operations/scheduled_notifications.js")({client, internalAuthTokenProvider}),
191
+ waitlists: require("./endpoints/operations/waitlists.js")({client, internalAuthTokenProvider}),
172
192
  accountingItems: require("./endpoints/operations/accounting_items.js")({client, internalAuthTokenProvider}),
173
193
  __test: {
174
194
  client
@@ -176,109 +196,120 @@ function createOperations({baseURL, headers, timeout, overrideFn, internalAuthTo
176
196
  };
177
197
  }
178
198
 
179
- function createReports({baseURL, headers, timeout, overrideFn, internalAuthTokenProvider}) {
180
- const client = clientFactory({baseURL, headers, timeout, overrideFn});
199
+ function createReports({baseURL, headers, timeout, overrideFn, internalAuthTokenProvider, agents}) {
200
+ const client = clientFactory({baseURL, headers, timeout, overrideFn, agents});
201
+
202
+ return {
203
+ reportTypes: require("./endpoints/reports/report-types.js")({client, internalAuthTokenProvider}),
204
+ customReports: require("./endpoints/reports/custom-reports.js")({client, internalAuthTokenProvider}),
205
+ __test: {
206
+ client
207
+ }
208
+ };
209
+ }
210
+
211
+ function createNotifications({baseURL, headers, timeout, overrideFn, internalAuthTokenProvider, agents}) {
212
+ const client = clientFactory({baseURL, headers, timeout, overrideFn, agents});
181
213
 
182
214
  return {
183
- reportTypes: require("./endpoints/reports/report-types")({client, internalAuthTokenProvider}),
184
- customReports: require("./endpoints/reports/custom-reports")({client, internalAuthTokenProvider}),
215
+ manifestNotifications: require("./endpoints/notifications/manifest-notifications.js")({client, internalAuthTokenProvider}),
216
+ printedTickets: require("./endpoints/notifications/printed-tickets.js")({client, internalAuthTokenProvider}),
217
+ email: require("./endpoints/notifications/email.js")({client, internalAuthTokenProvider}),
218
+ customers: require("./endpoints/notifications/customers.js")({client, internalAuthTokenProvider}),
185
219
  __test: {
186
220
  client
187
221
  }
188
222
  };
189
223
  }
190
224
 
191
- function createNotifications({baseURL, headers, timeout, overrideFn, internalAuthTokenProvider}) {
192
- const client = clientFactory({baseURL, headers, timeout, overrideFn});
225
+ function createUploads({baseURL, headers, timeout, overrideFn, internalAuthTokenProvider, agents}) {
226
+ const client = clientFactory({baseURL, headers, timeout, overrideFn, agents});
193
227
 
194
228
  return {
195
- manifestNotifications: require("./endpoints/notifications/manifest-notifications")({client, internalAuthTokenProvider}),
196
- printedTickets: require("./endpoints/notifications/printed-tickets")({client, internalAuthTokenProvider}),
197
- email: require("./endpoints/notifications/email")({client, internalAuthTokenProvider}),
198
- customers: require("./endpoints/notifications/customers")({client, internalAuthTokenProvider}),
229
+ files: require("./endpoints/uploads/files.js")({client, internalAuthTokenProvider}),
230
+ images: require("./endpoints/uploads/images.js")({client, internalAuthTokenProvider}),
199
231
  __test: {
200
232
  client
201
233
  }
202
234
  };
203
235
  }
204
236
 
205
- function createUploads({baseURL, headers, timeout, overrideFn, internalAuthTokenProvider}) {
206
- const client = clientFactory({baseURL, headers, timeout, overrideFn});
237
+ function createLoyalty({baseURL, headers, timeout, overrideFn, internalAuthTokenProvider, agents}) {
238
+ const client = clientFactory({baseURL, headers, timeout, overrideFn, agents});
207
239
 
208
240
  return {
209
- files: require("./endpoints/uploads/files")({client, internalAuthTokenProvider}),
210
- images: require("./endpoints/uploads/images")({client, internalAuthTokenProvider}),
241
+ programs: require("./endpoints/loyalty/programs.js")({client, internalAuthTokenProvider}),
242
+ movements: require("./endpoints/loyalty/movements.js")({client, internalAuthTokenProvider}),
211
243
  __test: {
212
244
  client
213
245
  }
214
246
  };
215
247
  }
216
248
 
217
- function createLoyalty({baseURL, headers, timeout, overrideFn, internalAuthTokenProvider}) {
218
- const client = clientFactory({baseURL, headers, timeout, overrideFn});
249
+ function createWebhooks({baseURL, headers, timeout, overrideFn, internalAuthTokenProvider, agents}) {
250
+ const client = clientFactory({baseURL, headers, timeout, overrideFn, agents});
219
251
 
220
252
  return {
221
- programs: require("./endpoints/loyalty/programs")({client, internalAuthTokenProvider}),
222
- movements: require("./endpoints/loyalty/movements")({client, internalAuthTokenProvider}),
253
+ subscriptions: require("./endpoints/webhooks/subscriptions.js")({client, internalAuthTokenProvider}),
254
+ events: require("./endpoints/webhooks/events.js")({client, internalAuthTokenProvider}),
255
+ undelivered: require("./endpoints/webhooks/undelivered.js")({client, internalAuthTokenProvider}),
256
+ webhooks: require("./endpoints/webhooks/webhooks.js")({client, internalAuthTokenProvider}),
223
257
  __test: {
224
258
  client
225
259
  }
226
260
  };
227
261
  }
228
262
 
229
- function createWebhooks({baseURL, headers, timeout, overrideFn, internalAuthTokenProvider}) {
230
- const client = clientFactory({baseURL, headers, timeout, overrideFn});
263
+ function createSeatmaps({baseURL, headers, timeout, overrideFn, internalAuthTokenProvider, agents}) {
264
+ const client = clientFactory({baseURL, headers, timeout, overrideFn, agents});
231
265
 
232
266
  return {
233
- subscriptions: require("./endpoints/webhooks/subscriptions")({client, internalAuthTokenProvider}),
234
- events: require("./endpoints/webhooks/events")({client, internalAuthTokenProvider}),
235
- undelivered: require("./endpoints/webhooks/undelivered")({client, internalAuthTokenProvider}),
236
- webhooks: require("./endpoints/webhooks/webhooks")({client, internalAuthTokenProvider}),
267
+ accessTicket: require("./endpoints/seatmaps/access-ticket.js")({client, internalAuthTokenProvider}),
268
+ seat: require("./endpoints/seatmaps/seat.js")({client, internalAuthTokenProvider}),
237
269
  __test: {
238
270
  client
239
271
  }
240
272
  };
241
273
  }
242
274
 
243
- function createSeatmaps({baseURL, headers, timeout, overrideFn, internalAuthTokenProvider}) {
244
- const client = clientFactory({baseURL, headers, timeout, overrideFn});
275
+ function createBtrzPay({baseURL, headers, timeout, overrideFn, internalAuthTokenProvider, agents}) {
276
+ const client = clientFactory({baseURL, headers, timeout, overrideFn, agents});
245
277
 
246
278
  return {
247
- accessTicket: require("./endpoints/seatmaps/access-ticket")({client, internalAuthTokenProvider}),
248
- seat: require("./endpoints/seatmaps/seat")({client, internalAuthTokenProvider}),
279
+ docs: require("./endpoints/btrzpay/docs.js")({client}),
280
+ paymentMethods: require("./endpoints/btrzpay/payment-methods.js")({client, internalAuthTokenProvider}),
281
+ referenceNumbers: require("./endpoints/btrzpay/reference-numbers.js")({client, internalAuthTokenProvider}),
282
+ payments: require("./endpoints/btrzpay/payments.js")({client, internalAuthTokenProvider}),
283
+ referencedPayments: require("./endpoints/btrzpay/referenced-payments.js")({client, internalAuthTokenProvider}),
284
+ customers: require("./endpoints/btrzpay/customers.js")({client, internalAuthTokenProvider}),
285
+ customerCards: require("./endpoints/btrzpay/customerCards.js")({client, internalAuthTokenProvider}),
286
+ squareTerminals: require("./endpoints/btrzpay/square.js").squareTerminalsFactory({client, internalAuthTokenProvider}),
287
+ squareWebhooks: require("./endpoints/btrzpay/square.js").squareWebhooksFactory({client, internalAuthTokenProvider}),
249
288
  __test: {
250
289
  client
251
290
  }
252
291
  };
253
292
  }
254
293
 
255
- function createBtrzPay({baseURL, headers, timeout, overrideFn, internalAuthTokenProvider}) {
256
- const client = clientFactory({baseURL, headers, timeout, overrideFn});
294
+ function createInvoices({baseURL, headers, timeout, overrideFn, internalAuthTokenProvider, agents}) {
295
+ const client = clientFactory({baseURL, headers, timeout, overrideFn, agents});
257
296
 
258
297
  return {
259
- docs: require("./endpoints/btrzpay/docs")({ client }),
260
- paymentMethods: require("./endpoints/btrzpay/payment-methods")({client, internalAuthTokenProvider}),
261
- referenceNumbers: require("./endpoints/btrzpay/reference-numbers")({client, internalAuthTokenProvider}),
262
- payments: require("./endpoints/btrzpay/payments")({client, internalAuthTokenProvider}),
263
- referencedPayments: require("./endpoints/btrzpay/referenced-payments")({client, internalAuthTokenProvider}),
264
- customers: require("./endpoints/btrzpay/customers")({client, internalAuthTokenProvider}),
265
- customerCards: require("./endpoints/btrzpay/customerCards")({client, internalAuthTokenProvider}),
266
- squareTerminals: require("./endpoints/btrzpay/square").squareTerminalsFactory({client, internalAuthTokenProvider}),
267
- squareWebhooks: require("./endpoints/btrzpay/square").squareWebhooksFactory({client, internalAuthTokenProvider}),
298
+ docs: require("./endpoints/invoices/docs.js")({client}),
299
+ providers: require("./endpoints/invoices/providers.js")({client, internalAuthTokenProvider}),
300
+ infile: require("./endpoints/invoices/infile.js")({client, internalAuthTokenProvider}),
301
+ pdfs: require("./endpoints/invoices/pdfs.js")({client, internalAuthTokenProvider}),
268
302
  __test: {
269
303
  client
270
304
  }
271
305
  };
272
306
  }
273
307
 
274
- function createInvoices({baseURL, headers, timeout, overrideFn, internalAuthTokenProvider}) {
275
- const client = clientFactory({baseURL, headers, timeout, overrideFn});
308
+ function createGPS({baseURL, headers, timeout, overrideFn, internalAuthTokenProvider, agents}) {
309
+ const client = clientFactory({baseURL, headers, timeout, overrideFn, agents});
276
310
 
277
311
  return {
278
- docs: require("./endpoints/invoices/docs")({client}),
279
- providers: require("./endpoints/invoices/providers")({client, internalAuthTokenProvider}),
280
- infile: require("./endpoints/invoices/infile")({client, internalAuthTokenProvider}),
281
- pdfs: require("./endpoints/invoices/pdfs")({client, internalAuthTokenProvider}),
312
+ scannerAppLocation: require("./endpoints/gps/scanner-app-location.js")({client, internalAuthTokenProvider}),
282
313
  __test: {
283
314
  client
284
315
  }
@@ -286,40 +317,43 @@ function createInvoices({baseURL, headers, timeout, overrideFn, internalAuthToke
286
317
  }
287
318
 
288
319
  /**
289
- * @description
290
320
  * Returns the apiClient object with defaults set
291
321
  *
292
- * @param {String} baseUrl - the base url use for all endpoints by default
293
- * @param {String} timeout
294
- * @param {Object} baseURLOverride - options object allowing to override baseUrl for some endpoints
295
- * @param {Function} baseURLOverride.someEndpoint
296
- * @param {Object} internalAuthTokenProvider - an object containing a getToken() function that, when called, returns an authorization
297
- * token that's valid for making service-to-service API calls.
298
- * @param {Function} internalAuthTokenProvider.getToken
322
+ * @param {Object} options
323
+ * @param {string} options.baseURL - the base url use for all endpoints by default
324
+ * @param {string} options.timeout
325
+ * @param {Object} options.baseURLOverride - options object allowing to override baseUrl for some endpoints
326
+ * @param {Function} options.baseURLOverride.someEndpoint
327
+ * @param {Object} options.internalAuthTokenProvider - an object containing a getToken() function that, when called,
328
+ * returns an authorization token that's valid for making service-to-service API calls.
329
+ * @param {Function} options.internalAuthTokenProvider.getToken
330
+ * @param {{httpAgent: import("http").Agent, httpsAgent: import("https").Agent}} options.agents - An object containg one or both http agents
299
331
  * @returns {Object} An object with a client for every "module" (needed to override baseURL)
300
332
  */
301
333
  function createApiClient(options) {
302
- const {baseURL, baseURLOverride = {}, headers, timeout = 0, internalAuthTokenProvider} = options || productionOptions;
334
+ const {baseURL, baseURLOverride = {}, headers, timeout = 0, internalAuthTokenProvider, agents} = options || productionOptions;
303
335
 
304
336
  return {
305
- constants: require("./constants"),
306
- _cleanClient: clientFactory({baseURL, headers, timeout}),
337
+ constants: require("./constants.js"),
338
+ _cleanClient: clientFactory({baseURL, headers, timeout, agents}),
307
339
  inventory: {
308
- ...createInventory({baseURL, headers, timeout, overrideFn: baseURLOverride.inventory, internalAuthTokenProvider}),
309
- ...createTrips({baseURL, headers, timeout, overrideFn: baseURLOverride.trips, internalAuthTokenProvider})
340
+ ...createInventory({baseURL, headers, timeout, overrideFn: baseURLOverride.inventory, internalAuthTokenProvider, agents}),
341
+ ...createTrips({baseURL, headers, timeout, overrideFn: baseURLOverride.trips, internalAuthTokenProvider, agents})
310
342
  },
311
- coltrane: createColtrane({baseURL, headers, timeout, overrideFn: baseURLOverride.coltrane, internalAuthTokenProvider}),
312
- accounts: createAccounts({baseURL, headers, timeout, overrideFn: baseURLOverride.accounts, internalAuthTokenProvider}),
313
- sales: createSales({baseURL, headers, timeout, overrideFn: baseURLOverride.sales, internalAuthTokenProvider}),
314
- operations: createOperations({baseURL, headers, timeout, overrideFn: baseURLOverride.operations, internalAuthTokenProvider}),
315
- reports: createReports({baseURL, headers, timeout, overrideFn: baseURLOverride.reports, internalAuthTokenProvider}),
316
- notifications: createNotifications({baseURL, headers, timeout, overrideFn: baseURLOverride.notifications, internalAuthTokenProvider}),
317
- uploads: createUploads({baseURL, headers, timeout, overrideFn: baseURLOverride.uploads, internalAuthTokenProvider}),
318
- loyalty: createLoyalty({baseURL, headers, timeout, overrideFn: baseURLOverride.loyalty, internalAuthTokenProvider}),
319
- webhooks: createWebhooks({baseURL, headers, timeout, overrideFn: baseURLOverride.webhooks, internalAuthTokenProvider}),
320
- seatmaps: createSeatmaps({baseURL, headers, timeout, overrideFn: baseURLOverride.seatmaps, internalAuthTokenProvider}),
321
- btrzpay: createBtrzPay({baseURL, headers, timeout, overrideFn: baseURLOverride.btrzpay, internalAuthTokenProvider}),
322
- invoices: createInvoices({baseURL, headers, timeout, overrideFn: baseURLOverride.invoices, internalAuthTokenProvider})
343
+ coltrane: createColtrane({baseURL, headers, timeout, overrideFn: baseURLOverride.coltrane, internalAuthTokenProvider, agents}),
344
+ accounts: createAccounts({baseURL, headers, timeout, overrideFn: baseURLOverride.accounts, internalAuthTokenProvider, agents}),
345
+ sales: createSales({baseURL, headers, timeout, overrideFn: baseURLOverride.sales, internalAuthTokenProvider, agents}),
346
+ operations: createOperations({baseURL, headers, timeout, overrideFn: baseURLOverride.operations, internalAuthTokenProvider, agents}),
347
+ reports: createReports({baseURL, headers, timeout, overrideFn: baseURLOverride.reports, internalAuthTokenProvider, agents}),
348
+ // eslint-disable-next-line max-len
349
+ notifications: createNotifications({baseURL, headers, timeout, overrideFn: baseURLOverride.notifications, internalAuthTokenProvider, agents}),
350
+ uploads: createUploads({baseURL, headers, timeout, overrideFn: baseURLOverride.uploads, internalAuthTokenProvider, agents}),
351
+ loyalty: createLoyalty({baseURL, headers, timeout, overrideFn: baseURLOverride.loyalty, internalAuthTokenProvider, agents}),
352
+ webhooks: createWebhooks({baseURL, headers, timeout, overrideFn: baseURLOverride.webhooks, internalAuthTokenProvider, agents}),
353
+ seatmaps: createSeatmaps({baseURL, headers, timeout, overrideFn: baseURLOverride.seatmaps, internalAuthTokenProvider, agents}),
354
+ btrzpay: createBtrzPay({baseURL, headers, timeout, overrideFn: baseURLOverride.btrzpay, internalAuthTokenProvider, agents}),
355
+ invoices: createInvoices({baseURL, headers, timeout, overrideFn: baseURLOverride.invoices, internalAuthTokenProvider, agents}),
356
+ gps: createGPS({baseURL, headers, timeout, overrideFn: baseURLOverride.invoices, internalAuthTokenProvider, agents})
323
357
  };
324
358
  }
325
359
 
@@ -0,0 +1,55 @@
1
+ /* eslint-disable import/extensions */
2
+ const {authorizationHeaders} = require("./../endpoints_helpers");
3
+
4
+ function emailSettingsFactory({client, internalAuthTokenProvider}) {
5
+ function all({token, jwtToken, query = {}}) {
6
+ return client({
7
+ params: query,
8
+ url: "/email-settings",
9
+ headers: authorizationHeaders({token, jwtToken, internalAuthTokenProvider})
10
+ });
11
+ }
12
+ function getByEmail({token, jwtToken, email, query = {}}) {
13
+ return client({
14
+ params: query,
15
+ url: `/email-settings/${email}`,
16
+ headers: authorizationHeaders({token, jwtToken, internalAuthTokenProvider})
17
+ });
18
+ }
19
+
20
+ function create({data, token, jwtToken}) {
21
+ return client({
22
+ url: "/email-settings",
23
+ method: "post",
24
+ headers: authorizationHeaders({token, jwtToken, internalAuthTokenProvider}),
25
+ data
26
+ });
27
+ }
28
+
29
+ function update({token, jwtToken, email, data}) {
30
+ return client({
31
+ url: `/email-settings/${email}`,
32
+ method: "put",
33
+ headers: authorizationHeaders({token, jwtToken, internalAuthTokenProvider}),
34
+ data
35
+ });
36
+ }
37
+
38
+ function remove({email, token, jwtToken}) {
39
+ return client({
40
+ url: `/email-settings/${email}`,
41
+ method: "delete",
42
+ headers: authorizationHeaders({token, jwtToken, internalAuthTokenProvider})
43
+ });
44
+ }
45
+
46
+ return {
47
+ all,
48
+ getByEmail,
49
+ create,
50
+ update,
51
+ remove
52
+ };
53
+ }
54
+
55
+ module.exports = emailSettingsFactory;