btrz-api-client 8.66.1 → 8.68.1

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/lib/client.js CHANGED
@@ -87,6 +87,7 @@ function createInventory(_ref) {
87
87
  documentTypes: require("./endpoints/inventory/document-types.js")({ client: client, internalAuthTokenProvider: internalAuthTokenProvider }),
88
88
  externalPasses: require("./endpoints/inventory/external-passes.js")({ client: client, internalAuthTokenProvider: internalAuthTokenProvider }),
89
89
  externalWallets: require("./endpoints/inventory/external-wallets.js")({ client: client, internalAuthTokenProvider: internalAuthTokenProvider }),
90
+ fareTypeModifiers: require("./endpoints/inventory/fare-type-modifiers.js")({ client: client, internalAuthTokenProvider: internalAuthTokenProvider }),
90
91
  fallbackCodes: require("./endpoints/inventory/fallback-codes.js")({ client: client, internalAuthTokenProvider: internalAuthTokenProvider }),
91
92
  fareClasses: require("./endpoints/inventory/fare-classes.js")({ client: client, internalAuthTokenProvider: internalAuthTokenProvider }),
92
93
  fares: require("./endpoints/inventory/fares.js")({ client: client, internalAuthTokenProvider: internalAuthTokenProvider }),
@@ -9,7 +9,7 @@ var _require = require("../endpoints_helpers.js"),
9
9
  * @param {Object} deps
10
10
  * @param {import("axios").AxiosInstance} deps.client
11
11
  * @param {{ getToken: function(): string }} [deps.internalAuthTokenProvider]
12
- * @returns {{ putCreditLimit: function }}
12
+ * @returns {{ create: function, putCreditLimit: function }}
13
13
  */
14
14
 
15
15
 
@@ -17,6 +17,32 @@ function agenciesFactory(_ref) {
17
17
  var client = _ref.client,
18
18
  internalAuthTokenProvider = _ref.internalAuthTokenProvider;
19
19
 
20
+ /**
21
+ * POST /agencies - create an agency (seller account) and link it to the provider network.
22
+ * Requires X-API-KEY and Authorization (JWT).
23
+ * @param {Object} opts
24
+ * @param {string} opts.token - API key
25
+ * @param {string} opts.jwtToken - JWT
26
+ * @param {Object} opts.agency - agencyData payload ({ seller, network })
27
+ * @param {Object} [opts.headers] - Optional headers
28
+ * @returns {Promise<import("axios").AxiosResponse>}
29
+ */
30
+ function create(_ref2) {
31
+ var token = _ref2.token,
32
+ jwtToken = _ref2.jwtToken,
33
+ agency = _ref2.agency,
34
+ headers = _ref2.headers;
35
+
36
+ return client({
37
+ url: "/agencies",
38
+ method: "post",
39
+ headers: authorizationHeaders({ token: token, jwtToken: jwtToken, internalAuthTokenProvider: internalAuthTokenProvider, headers: headers }),
40
+ data: {
41
+ agency: agency
42
+ }
43
+ });
44
+ }
45
+
20
46
  /**
21
47
  * PUT /agencies/:agencyId/credit-limit - update credit limit for an agency (seller) in the provider's network.
22
48
  * Requires BETTEREZ_APP audience. Request body can be { limitAmount, unlimited } or { creditLimit: { limitAmount, unlimited } }.
@@ -29,12 +55,12 @@ function agenciesFactory(_ref) {
29
55
  * @param {Object} [opts.headers] - Optional headers
30
56
  * @returns {Promise<import("axios").AxiosResponse<{ creditLimit: { _id: string, sellerId: string, providerId: string, unlimited: boolean, overrideLimit: number, currentLimit: number } }>>}
31
57
  */
32
- function putCreditLimit(_ref2) {
33
- var token = _ref2.token,
34
- jwtToken = _ref2.jwtToken,
35
- agencyId = _ref2.agencyId,
36
- data = _ref2.data,
37
- headers = _ref2.headers;
58
+ function putCreditLimit(_ref3) {
59
+ var token = _ref3.token,
60
+ jwtToken = _ref3.jwtToken,
61
+ agencyId = _ref3.agencyId,
62
+ data = _ref3.data,
63
+ headers = _ref3.headers;
38
64
 
39
65
  return client({
40
66
  url: "/agencies/" + agencyId + "/credit-limit",
@@ -45,6 +71,7 @@ function agenciesFactory(_ref) {
45
71
  }
46
72
 
47
73
  return {
74
+ create: create,
48
75
  putCreditLimit: putCreditLimit
49
76
  };
50
77
  }
@@ -0,0 +1,167 @@
1
+ "use strict";
2
+
3
+ var _require = require("../endpoints_helpers.js"),
4
+ authorizationHeaders = _require.authorizationHeaders;
5
+
6
+ /**
7
+ * Query params for GET /fare-type-modifiers (btrz-api-inventory). See get-handler getSpec().
8
+ * @typedef {Object} FareTypeModifiersListQuery
9
+ */
10
+
11
+ /**
12
+ * Factory for fare-type-modifiers API (btrz-api-inventory).
13
+ * @param {Object} deps
14
+ * @param {import("axios").AxiosInstance} deps.client
15
+ * @param {{ getToken: function(): string }} [deps.internalAuthTokenProvider]
16
+ * @returns {{ all: function, get: function, create: function, update: function, remove: function }}
17
+ */
18
+
19
+
20
+ function fareTypeModifierFactory(_ref) {
21
+ var client = _ref.client,
22
+ internalAuthTokenProvider = _ref.internalAuthTokenProvider;
23
+
24
+ /**
25
+ * GET /fare-type-modifiers - list fare-type modifiers (paginated).
26
+ * @param {Object} opts
27
+ * @param {string} [opts.token] - API key
28
+ * @param {FareTypeModifiersListQuery} [opts.query] - Query params
29
+ * @param {Object} [opts.headers] - Optional headers
30
+ * @returns {Promise<import("axios").AxiosResponse<{ fareTypeModifiers: Object[], next?: string, previous?: string, count: number }>>}
31
+ * @throws
32
+ * - 401 Unauthorized
33
+ * - 500 Internal server error
34
+ */
35
+ function all(_ref2) {
36
+ var token = _ref2.token,
37
+ _ref2$query = _ref2.query,
38
+ query = _ref2$query === undefined ? {} : _ref2$query,
39
+ headers = _ref2.headers;
40
+
41
+ return client.get("/fare-type-modifiers", {
42
+ params: query,
43
+ headers: authorizationHeaders({ token: token, internalAuthTokenProvider: internalAuthTokenProvider, headers: headers })
44
+ });
45
+ }
46
+
47
+ /**
48
+ * GET /fare-type-modifiers/:fareTypeModifierId - get fare-type modifier by id. API does not accept query params.
49
+ * @param {Object} opts
50
+ * @param {string} opts.fareTypeModifierId - Fare-type modifier id (24 hex characters)
51
+ * @param {string} [opts.token] - API key
52
+ * @param {Object} [opts.headers] - Optional headers
53
+ * @returns {Promise<import("axios").AxiosResponse<{ fareTypeModifier: Object }>>}
54
+ * @throws
55
+ * - 400 WRONG_DATA, WRONG_FARE_TYPE_MODIFIER_ID
56
+ * - 401 Unauthorized
57
+ * - 404 FARE_TYPE_MODIFIER_NOT_FOUND
58
+ * - 500 Internal server error
59
+ */
60
+ function get(_ref3) {
61
+ var fareTypeModifierId = _ref3.fareTypeModifierId,
62
+ token = _ref3.token,
63
+ headers = _ref3.headers;
64
+
65
+ return client.get("/fare-type-modifiers/" + fareTypeModifierId, {
66
+ headers: authorizationHeaders({ token: token, internalAuthTokenProvider: internalAuthTokenProvider, headers: headers })
67
+ });
68
+ }
69
+
70
+ /**
71
+ * POST /fare-type-modifiers - create fare-type modifier. API does not accept query params.
72
+ * @param {Object} opts
73
+ * @param {string} [opts.jwtToken] - JWT or internal auth symbol
74
+ * @param {string} [opts.token] - API key
75
+ * @param {Object} opts.fareTypeModifier - Fare-type modifier payload (FareTypeModifierPostData)
76
+ * @param {Object} [opts.headers] - Optional headers
77
+ * @returns {Promise<import("axios").AxiosResponse<{ fareTypeModifier: Object }>>}
78
+ * @throws
79
+ * - 400 WRONG_DATA, *_NOT_FOUND, INVALID_*, DUPLICATE_*
80
+ * - 401 Unauthorized
81
+ * - 500 Internal server error
82
+ */
83
+ function create(_ref4) {
84
+ var jwtToken = _ref4.jwtToken,
85
+ token = _ref4.token,
86
+ fareTypeModifier = _ref4.fareTypeModifier,
87
+ headers = _ref4.headers;
88
+
89
+ return client({
90
+ url: "/fare-type-modifiers",
91
+ method: "post",
92
+ headers: authorizationHeaders({ token: token, jwtToken: jwtToken, internalAuthTokenProvider: internalAuthTokenProvider, headers: headers }),
93
+ data: {
94
+ fareTypeModifier: fareTypeModifier
95
+ }
96
+ });
97
+ }
98
+
99
+ /**
100
+ * DELETE /fare-type-modifiers/:fareTypeModifierId - remove fare-type modifier. API does not accept query params.
101
+ * @param {Object} opts
102
+ * @param {string} [opts.jwtToken] - JWT or internal auth symbol
103
+ * @param {string} opts.fareTypeModifierId - Fare-type modifier id (24 hex characters)
104
+ * @param {string} [opts.token] - API key
105
+ * @param {Object} [opts.headers] - Optional headers
106
+ * @returns {Promise<import("axios").AxiosResponse<{ fareTypeModifierId: string }>>}
107
+ * @throws
108
+ * - 400 WRONG_FARE_TYPE_MODIFIER_ID
109
+ * - 401 Unauthorized
110
+ * - 404 FARE_TYPE_MODIFIER_NOT_FOUND
111
+ * - 500 Internal server error
112
+ */
113
+ function remove(_ref5) {
114
+ var jwtToken = _ref5.jwtToken,
115
+ fareTypeModifierId = _ref5.fareTypeModifierId,
116
+ token = _ref5.token,
117
+ headers = _ref5.headers;
118
+
119
+ return client({
120
+ url: "/fare-type-modifiers/" + fareTypeModifierId,
121
+ method: "delete",
122
+ headers: authorizationHeaders({ token: token, jwtToken: jwtToken, internalAuthTokenProvider: internalAuthTokenProvider, headers: headers })
123
+ });
124
+ }
125
+
126
+ /**
127
+ * PUT /fare-type-modifiers/:fareTypeModifierId - update fare-type modifier. API does not accept query params.
128
+ * @param {Object} opts
129
+ * @param {string} [opts.jwtToken] - JWT or internal auth symbol
130
+ * @param {string} [opts.token] - API key
131
+ * @param {string} opts.fareTypeModifierId - Fare-type modifier id (24 hex characters)
132
+ * @param {Object} opts.fareTypeModifier - Fare-type modifier payload (FareTypeModifierPutData)
133
+ * @param {Object} [opts.headers] - Optional headers
134
+ * @returns {Promise<import("axios").AxiosResponse<{ fareTypeModifier: Object }>>}
135
+ * @throws
136
+ * - 400 WRONG_DATA, *_NOT_FOUND, INVALID_*, DUPLICATE_*
137
+ * - 401 Unauthorized
138
+ * - 404 FARE_TYPE_MODIFIER_NOT_FOUND
139
+ * - 500 Internal server error
140
+ */
141
+ function update(_ref6) {
142
+ var jwtToken = _ref6.jwtToken,
143
+ token = _ref6.token,
144
+ fareTypeModifierId = _ref6.fareTypeModifierId,
145
+ fareTypeModifier = _ref6.fareTypeModifier,
146
+ headers = _ref6.headers;
147
+
148
+ return client({
149
+ url: "/fare-type-modifiers/" + fareTypeModifierId,
150
+ method: "put",
151
+ headers: authorizationHeaders({ token: token, jwtToken: jwtToken, internalAuthTokenProvider: internalAuthTokenProvider, headers: headers }),
152
+ data: {
153
+ fareTypeModifier: fareTypeModifier
154
+ }
155
+ });
156
+ }
157
+
158
+ return {
159
+ all: all,
160
+ get: get,
161
+ create: create,
162
+ update: update,
163
+ remove: remove
164
+ };
165
+ }
166
+
167
+ module.exports = fareTypeModifierFactory;
@@ -128,6 +128,7 @@ function notifyTicketFactory(_ref) {
128
128
  jwtToken = _ref4.jwtToken,
129
129
  email = _ref4.email,
130
130
  lang = _ref4.lang,
131
+ accountId = _ref4.accountId,
131
132
  headers = _ref4.headers;
132
133
 
133
134
  return client({
@@ -135,6 +136,41 @@ function notifyTicketFactory(_ref) {
135
136
  method: "post",
136
137
  data: {
137
138
  email: email,
139
+ lang: lang,
140
+ accountId: accountId
141
+ },
142
+ headers: authorizationHeaders({ token: token, jwtToken: jwtToken, internalAuthTokenProvider: internalAuthTokenProvider, headers: headers })
143
+ });
144
+ }
145
+ },
146
+ newSeller: {
147
+ /**
148
+ * POST /notify-new-seller - welcome email for a new agency (seller).
149
+ * @param {Object} opts
150
+ * @param {string} [opts.token] - API key (provider)
151
+ * @param {string} [opts.jwtToken] - Internal service JWT
152
+ * @param {string} opts.sellerEmail - Agency admin email
153
+ * @param {string} opts.sellerDomain - Agency subdomain
154
+ * @param {string} [opts.providerAdminEmail] - Support contact in the email
155
+ * @param {string} [opts.lang] - Template lexicon language (e.g. en-us)
156
+ * @param {Object} [opts.headers] - Optional headers
157
+ */
158
+ create: function create(_ref5) {
159
+ var token = _ref5.token,
160
+ jwtToken = _ref5.jwtToken,
161
+ sellerEmail = _ref5.sellerEmail,
162
+ sellerDomain = _ref5.sellerDomain,
163
+ providerAdminEmail = _ref5.providerAdminEmail,
164
+ lang = _ref5.lang,
165
+ headers = _ref5.headers;
166
+
167
+ return client({
168
+ url: "/notify-new-seller",
169
+ method: "post",
170
+ data: {
171
+ sellerEmail: sellerEmail,
172
+ sellerDomain: sellerDomain,
173
+ providerAdminEmail: providerAdminEmail,
138
174
  lang: lang
139
175
  },
140
176
  headers: authorizationHeaders({ token: token, jwtToken: jwtToken, internalAuthTokenProvider: internalAuthTokenProvider, headers: headers })
@@ -154,14 +190,14 @@ function notifyTicketFactory(_ref) {
154
190
  * @param {Object} [opts.headers] - Optional headers
155
191
  * @returns {Promise<import("axios").AxiosResponse>}
156
192
  */
157
- create: function create(_ref5) {
158
- var token = _ref5.token,
159
- jwtToken = _ref5.jwtToken,
160
- query = _ref5.query,
161
- operation = _ref5.operation,
162
- to = _ref5.to,
163
- ticketId = _ref5.ticketId,
164
- headers = _ref5.headers;
193
+ create: function create(_ref6) {
194
+ var token = _ref6.token,
195
+ jwtToken = _ref6.jwtToken,
196
+ query = _ref6.query,
197
+ operation = _ref6.operation,
198
+ to = _ref6.to,
199
+ ticketId = _ref6.ticketId,
200
+ headers = _ref6.headers;
165
201
 
166
202
  return client({
167
203
  url: "/notify-tickets/" + ticketId,
@@ -186,12 +222,12 @@ function notifyTicketFactory(_ref) {
186
222
  * @param {Object} [opts.headers] - Optional headers
187
223
  * @returns {Promise<import("axios").AxiosResponse>}
188
224
  */
189
- create: function create(_ref6) {
190
- var token = _ref6.token,
191
- jwtToken = _ref6.jwtToken,
192
- query = _ref6.query,
193
- data = _ref6.data,
194
- headers = _ref6.headers;
225
+ create: function create(_ref7) {
226
+ var token = _ref7.token,
227
+ jwtToken = _ref7.jwtToken,
228
+ query = _ref7.query,
229
+ data = _ref7.data,
230
+ headers = _ref7.headers;
195
231
 
196
232
  return client({
197
233
  url: "/notify-vouchers",
@@ -212,11 +248,11 @@ function notifyTicketFactory(_ref) {
212
248
  * @param {Object} [opts.headers] - Optional headers
213
249
  * @returns {Promise<import("axios").AxiosResponse>}
214
250
  */
215
- create: function create(_ref7) {
216
- var token = _ref7.token,
217
- jwtToken = _ref7.jwtToken,
218
- data = _ref7.data,
219
- headers = _ref7.headers;
251
+ create: function create(_ref8) {
252
+ var token = _ref8.token,
253
+ jwtToken = _ref8.jwtToken,
254
+ data = _ref8.data,
255
+ headers = _ref8.headers;
220
256
 
221
257
  return client({
222
258
  url: "/notify-manifest",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "btrz-api-client",
3
- "version": "8.66.1",
3
+ "version": "8.68.1",
4
4
  "description": "Api client for Betterez endpoints",
5
5
  "main": "index.js",
6
6
  "scripts": {
package/src/client.js CHANGED
@@ -74,6 +74,7 @@ function createInventory({baseURL, headers, timeout, overrideFn, internalAuthTok
74
74
  documentTypes: require("./endpoints/inventory/document-types.js")({client, internalAuthTokenProvider}),
75
75
  externalPasses: require("./endpoints/inventory/external-passes.js")({client, internalAuthTokenProvider}),
76
76
  externalWallets: require("./endpoints/inventory/external-wallets.js")({client, internalAuthTokenProvider}),
77
+ fareTypeModifiers: require("./endpoints/inventory/fare-type-modifiers.js")({client, internalAuthTokenProvider}),
77
78
  fallbackCodes: require("./endpoints/inventory/fallback-codes.js")({client, internalAuthTokenProvider}),
78
79
  fareClasses: require("./endpoints/inventory/fare-classes.js")({client, internalAuthTokenProvider}),
79
80
  fares: require("./endpoints/inventory/fares.js")({client, internalAuthTokenProvider}),
@@ -8,9 +8,30 @@ const {
8
8
  * @param {Object} deps
9
9
  * @param {import("axios").AxiosInstance} deps.client
10
10
  * @param {{ getToken: function(): string }} [deps.internalAuthTokenProvider]
11
- * @returns {{ putCreditLimit: function }}
11
+ * @returns {{ create: function, putCreditLimit: function }}
12
12
  */
13
13
  function agenciesFactory({client, internalAuthTokenProvider}) {
14
+ /**
15
+ * POST /agencies - create an agency (seller account) and link it to the provider network.
16
+ * Requires X-API-KEY and Authorization (JWT).
17
+ * @param {Object} opts
18
+ * @param {string} opts.token - API key
19
+ * @param {string} opts.jwtToken - JWT
20
+ * @param {Object} opts.agency - agencyData payload ({ seller, network })
21
+ * @param {Object} [opts.headers] - Optional headers
22
+ * @returns {Promise<import("axios").AxiosResponse>}
23
+ */
24
+ function create({token, jwtToken, agency, headers}) {
25
+ return client({
26
+ url: "/agencies",
27
+ method: "post",
28
+ headers: authorizationHeaders({token, jwtToken, internalAuthTokenProvider, headers}),
29
+ data: {
30
+ agency
31
+ }
32
+ });
33
+ }
34
+
14
35
  /**
15
36
  * PUT /agencies/:agencyId/credit-limit - update credit limit for an agency (seller) in the provider's network.
16
37
  * Requires BETTEREZ_APP audience. Request body can be { limitAmount, unlimited } or { creditLimit: { limitAmount, unlimited } }.
@@ -33,6 +54,7 @@ function agenciesFactory({client, internalAuthTokenProvider}) {
33
54
  }
34
55
 
35
56
  return {
57
+ create,
36
58
  putCreditLimit
37
59
  };
38
60
  }
@@ -0,0 +1,140 @@
1
+ const {
2
+ authorizationHeaders
3
+ } = require("../endpoints_helpers.js");
4
+
5
+ /**
6
+ * Query params for GET /fare-type-modifiers (btrz-api-inventory). See get-handler getSpec().
7
+ * @typedef {Object} FareTypeModifiersListQuery
8
+ */
9
+
10
+ /**
11
+ * Factory for fare-type-modifiers API (btrz-api-inventory).
12
+ * @param {Object} deps
13
+ * @param {import("axios").AxiosInstance} deps.client
14
+ * @param {{ getToken: function(): string }} [deps.internalAuthTokenProvider]
15
+ * @returns {{ all: function, get: function, create: function, update: function, remove: function }}
16
+ */
17
+ function fareTypeModifierFactory({client, internalAuthTokenProvider}) {
18
+ /**
19
+ * GET /fare-type-modifiers - list fare-type modifiers (paginated).
20
+ * @param {Object} opts
21
+ * @param {string} [opts.token] - API key
22
+ * @param {FareTypeModifiersListQuery} [opts.query] - Query params
23
+ * @param {Object} [opts.headers] - Optional headers
24
+ * @returns {Promise<import("axios").AxiosResponse<{ fareTypeModifiers: Object[], next?: string, previous?: string, count: number }>>}
25
+ * @throws
26
+ * - 401 Unauthorized
27
+ * - 500 Internal server error
28
+ */
29
+ function all({
30
+ token,
31
+ query = {},
32
+ headers
33
+ }) {
34
+ return client.get("/fare-type-modifiers", {
35
+ params: query,
36
+ headers: authorizationHeaders({token, internalAuthTokenProvider, headers})
37
+ });
38
+ }
39
+
40
+ /**
41
+ * GET /fare-type-modifiers/:fareTypeModifierId - get fare-type modifier by id. API does not accept query params.
42
+ * @param {Object} opts
43
+ * @param {string} opts.fareTypeModifierId - Fare-type modifier id (24 hex characters)
44
+ * @param {string} [opts.token] - API key
45
+ * @param {Object} [opts.headers] - Optional headers
46
+ * @returns {Promise<import("axios").AxiosResponse<{ fareTypeModifier: Object }>>}
47
+ * @throws
48
+ * - 400 WRONG_DATA, WRONG_FARE_TYPE_MODIFIER_ID
49
+ * - 401 Unauthorized
50
+ * - 404 FARE_TYPE_MODIFIER_NOT_FOUND
51
+ * - 500 Internal server error
52
+ */
53
+ function get({fareTypeModifierId, token, headers}) {
54
+ return client.get(`/fare-type-modifiers/${fareTypeModifierId}`, {
55
+ headers: authorizationHeaders({token, internalAuthTokenProvider, headers})
56
+ });
57
+ }
58
+
59
+ /**
60
+ * POST /fare-type-modifiers - create fare-type modifier. API does not accept query params.
61
+ * @param {Object} opts
62
+ * @param {string} [opts.jwtToken] - JWT or internal auth symbol
63
+ * @param {string} [opts.token] - API key
64
+ * @param {Object} opts.fareTypeModifier - Fare-type modifier payload (FareTypeModifierPostData)
65
+ * @param {Object} [opts.headers] - Optional headers
66
+ * @returns {Promise<import("axios").AxiosResponse<{ fareTypeModifier: Object }>>}
67
+ * @throws
68
+ * - 400 WRONG_DATA, *_NOT_FOUND, INVALID_*, DUPLICATE_*
69
+ * - 401 Unauthorized
70
+ * - 500 Internal server error
71
+ */
72
+ function create({jwtToken, token, fareTypeModifier, headers}) {
73
+ return client({
74
+ url: "/fare-type-modifiers",
75
+ method: "post",
76
+ headers: authorizationHeaders({token, jwtToken, internalAuthTokenProvider, headers}),
77
+ data: {
78
+ fareTypeModifier
79
+ }
80
+ });
81
+ }
82
+
83
+ /**
84
+ * DELETE /fare-type-modifiers/:fareTypeModifierId - remove fare-type modifier. API does not accept query params.
85
+ * @param {Object} opts
86
+ * @param {string} [opts.jwtToken] - JWT or internal auth symbol
87
+ * @param {string} opts.fareTypeModifierId - Fare-type modifier id (24 hex characters)
88
+ * @param {string} [opts.token] - API key
89
+ * @param {Object} [opts.headers] - Optional headers
90
+ * @returns {Promise<import("axios").AxiosResponse<{ fareTypeModifierId: string }>>}
91
+ * @throws
92
+ * - 400 WRONG_FARE_TYPE_MODIFIER_ID
93
+ * - 401 Unauthorized
94
+ * - 404 FARE_TYPE_MODIFIER_NOT_FOUND
95
+ * - 500 Internal server error
96
+ */
97
+ function remove({jwtToken, fareTypeModifierId, token, headers}) {
98
+ return client({
99
+ url: `/fare-type-modifiers/${fareTypeModifierId}`,
100
+ method: "delete",
101
+ headers: authorizationHeaders({token, jwtToken, internalAuthTokenProvider, headers})
102
+ });
103
+ }
104
+
105
+ /**
106
+ * PUT /fare-type-modifiers/:fareTypeModifierId - update fare-type modifier. API does not accept query params.
107
+ * @param {Object} opts
108
+ * @param {string} [opts.jwtToken] - JWT or internal auth symbol
109
+ * @param {string} [opts.token] - API key
110
+ * @param {string} opts.fareTypeModifierId - Fare-type modifier id (24 hex characters)
111
+ * @param {Object} opts.fareTypeModifier - Fare-type modifier payload (FareTypeModifierPutData)
112
+ * @param {Object} [opts.headers] - Optional headers
113
+ * @returns {Promise<import("axios").AxiosResponse<{ fareTypeModifier: Object }>>}
114
+ * @throws
115
+ * - 400 WRONG_DATA, *_NOT_FOUND, INVALID_*, DUPLICATE_*
116
+ * - 401 Unauthorized
117
+ * - 404 FARE_TYPE_MODIFIER_NOT_FOUND
118
+ * - 500 Internal server error
119
+ */
120
+ function update({jwtToken, token, fareTypeModifierId, fareTypeModifier, headers}) {
121
+ return client({
122
+ url: `/fare-type-modifiers/${fareTypeModifierId}`,
123
+ method: "put",
124
+ headers: authorizationHeaders({token, jwtToken, internalAuthTokenProvider, headers}),
125
+ data: {
126
+ fareTypeModifier
127
+ }
128
+ });
129
+ }
130
+
131
+ return {
132
+ all,
133
+ get,
134
+ create,
135
+ update,
136
+ remove
137
+ };
138
+ }
139
+
140
+ module.exports = fareTypeModifierFactory;
@@ -109,12 +109,39 @@ function notifyTicketFactory({
109
109
  * @param {Object} [opts.headers] - Optional headers
110
110
  * @returns {Promise<import("axios").AxiosResponse>}
111
111
  */
112
- create({token, jwtToken, email, lang, headers}) {
112
+ create({token, jwtToken, email, lang, accountId, headers}) {
113
113
  return client({
114
114
  url: "/notify-child-user",
115
115
  method: "post",
116
116
  data: {
117
117
  email,
118
+ lang,
119
+ accountId
120
+ },
121
+ headers: authorizationHeaders({token, jwtToken, internalAuthTokenProvider, headers})
122
+ });
123
+ }
124
+ },
125
+ newSeller: {
126
+ /**
127
+ * POST /notify-new-seller - welcome email for a new agency (seller).
128
+ * @param {Object} opts
129
+ * @param {string} [opts.token] - API key (provider)
130
+ * @param {string} [opts.jwtToken] - Internal service JWT
131
+ * @param {string} opts.sellerEmail - Agency admin email
132
+ * @param {string} opts.sellerDomain - Agency subdomain
133
+ * @param {string} [opts.providerAdminEmail] - Support contact in the email
134
+ * @param {string} [opts.lang] - Template lexicon language (e.g. en-us)
135
+ * @param {Object} [opts.headers] - Optional headers
136
+ */
137
+ create({token, jwtToken, sellerEmail, sellerDomain, providerAdminEmail, lang, headers}) {
138
+ return client({
139
+ url: "/notify-new-seller",
140
+ method: "post",
141
+ data: {
142
+ sellerEmail,
143
+ sellerDomain,
144
+ providerAdminEmail,
118
145
  lang
119
146
  },
120
147
  headers: authorizationHeaders({token, jwtToken, internalAuthTokenProvider, headers})
package/test/all.test.js CHANGED
@@ -88,6 +88,7 @@ require("./endpoints/inventory/external-wallets.test.js");
88
88
  require("./endpoints/inventory/fallback-codes.test.js");
89
89
  require("./endpoints/inventory/fare-classes.test.js");
90
90
  require("./endpoints/inventory/fares.test.js");
91
+ require("./endpoints/inventory/fare-type-modifiers.test.js");
91
92
  require("./endpoints/inventory/fees.test.js");
92
93
  require("./endpoints/inventory/filtered-trips-v2.test.js");
93
94
  require("./endpoints/inventory/filtered-trips.test.js");
@@ -14,6 +14,34 @@ describe("accounts/agencies", () => {
14
14
  axiosMock.reset();
15
15
  });
16
16
 
17
+ it("should POST an agency", () => {
18
+ const agency = {
19
+ seller: {
20
+ name: "Agency One",
21
+ domain: "agency-one",
22
+ email: "admin@agency-one.com",
23
+ password: "password",
24
+ confirmPassword: "password"
25
+ },
26
+ network: {
27
+ productIds: ["productId"]
28
+ }
29
+ };
30
+
31
+ axiosMock.onPost("/agencies").reply(expectRequest({
32
+ statusCode: 200,
33
+ token,
34
+ jwtToken,
35
+ body: {agency}
36
+ }));
37
+
38
+ return api.accounts.agencies.create({
39
+ token,
40
+ jwtToken,
41
+ agency
42
+ });
43
+ });
44
+
17
45
  it("should PUT credit limit for an agency", () => {
18
46
  const agencyId = "507f1f77bcf86cd799439011";
19
47
  const data = {