@autofleet/element-pay 2.1.2 → 2.1.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.
package/README.md CHANGED
@@ -38,17 +38,24 @@ const sdk = getOrganizationSdk({
38
38
  **Available mutations/queries** (from `src/graphql/organization/`):
39
39
  - `createOrganization`
40
40
  - `entityCreate`
41
+ - `entityGetExternalId`
41
42
  - `apiKeyCreate`
42
43
  - `clientOnboarding`
43
44
  - `machineTokenizeUser`
44
45
  - `userCreate`
46
+ - `userUpdate`
47
+ - `userOffboard`
45
48
  - `vehicleGroupCreate`
46
49
  - `vehicleGroupDriversAdd`
50
+ - `vehicleGroupDriversRemove`
47
51
  - `vehicleGroupVehiclesAdd`
52
+ - `vehicleGroupVehiclesRemove`
53
+ - `vehicleGroupDelete`
48
54
  - `vehiclesOnboard`
49
- - `entityGetExternalId`
50
- - `vehicleUpdate`
55
+ - `vehiclesFilter`
51
56
  - `vehiclesGroupFilter`
57
+ - `vehicleUpdate`
58
+ - `standaloneCardCreate`
52
59
 
53
60
  ---
54
61
 
@@ -113,3 +120,46 @@ const fuelSupplier = serviceLocationPubSubMessageToFuelSupplier(rawPubSubMessage
113
120
  npm codegen:user # regenerates src/generated/user/sdk.ts
114
121
  npm codegen:organization # regenerates src/generated/organization/sdk.ts
115
122
  ```
123
+
124
+ ## Adding new capabilities
125
+
126
+ ### 1. Add a GraphQL file
127
+
128
+ Create a `.graphql` file in the appropriate directory:
129
+
130
+ - Organization operations → `src/graphql/organization/`
131
+ - User operations → `src/graphql/user/`
132
+
133
+ Name the file after the operation (e.g. `vehicle-group-delete.graphql`). Follow the existing patterns — mutations that return an object should select the fields you need; mutations that return a scalar need no selection set.
134
+
135
+ ```graphql
136
+ # Example: src/graphql/organization/vehicle-group-delete.graphql
137
+ mutation vehicleGroupDelete($id: ID!) {
138
+ vehicleGroupDelete(id: $id)
139
+ }
140
+ ```
141
+
142
+ ### 2. Run codegen
143
+
144
+ Regenerate the typed SDK for the affected scope:
145
+
146
+ ```bash
147
+ npm run codegen:organization # if you added to src/graphql/organization/
148
+ npm run codegen:user # if you added to src/graphql/user/
149
+ ```
150
+
151
+ This updates `src/generated/{organization,user}/sdk.ts` and makes the new operation available on the SDK object.
152
+
153
+ ### 3. Add to `src/index.test.ts` (organization operations)
154
+
155
+ For organization-level operations, add a helper function and call it in the `'full onboarding and pay flow'` test. Follow the existing pattern:
156
+
157
+ ```ts
158
+ const vehicleGroupDelete = async (vehicleGroupId: string) => {
159
+ const result = await organizationSdkForOrganization.vehicleGroupDelete({ id: vehicleGroupId });
160
+ expect(result.vehicleGroupDelete).toEqual('SUCCESS');
161
+ return result.vehicleGroupDelete;
162
+ };
163
+ ```
164
+
165
+ Then call it at the appropriate point in the test flow (respect logical ordering — e.g. cleanup operations go after the main flow). User-level operations follow the same pattern using `getUserSdk`.
package/lib/index.cjs CHANGED
@@ -98,6 +98,12 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
98
98
  }
99
99
  }
100
100
  `,v=l.default`
101
+ mutation standaloneCardCreate($input: StandaloneCardCreateInput!) {
102
+ standaloneCardCreate(input: $input) {
103
+ success
104
+ }
105
+ }
106
+ `,y=l.default`
101
107
  mutation userCreate($input: UserCreateInput!) {
102
108
  userCreate(input: $input) {
103
109
  id
@@ -117,7 +123,11 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
117
123
  updatedAt
118
124
  }
119
125
  }
120
- `,y=l.default`
126
+ `,b=l.default`
127
+ mutation userOffboard($input: ID!) {
128
+ userOffboard(id: $input)
129
+ }
130
+ `,x=l.default`
121
131
  mutation userUpdate($input: UserUpdateInput!) {
122
132
  userUpdate(input: $input) {
123
133
  id
@@ -130,7 +140,7 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
130
140
  status
131
141
  }
132
142
  }
133
- `,b=l.default`
143
+ `,S=l.default`
134
144
  mutation vehicleGroupCreate($input: VehicleGroupCreateInput!) {
135
145
  vehicleGroupCreate(input: $input) {
136
146
  id
@@ -144,7 +154,11 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
144
154
  updatedAt
145
155
  }
146
156
  }
147
- `,x=l.default`
157
+ `,C=l.default`
158
+ mutation vehicleGroupDelete($id: ID!) {
159
+ vehicleGroupDelete(id: $id)
160
+ }
161
+ `,w=l.default`
148
162
  mutation vehicleGroupDriversAdd($input: VehicleGroupDriversAddInput!) {
149
163
  vehicleGroupDriversAdd(input: $input) {
150
164
  id
@@ -157,7 +171,20 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
157
171
  updatedAt
158
172
  }
159
173
  }
160
- `,S=l.default`
174
+ `,T=l.default`
175
+ mutation vehicleGroupDriversRemove($input: VehicleGroupDriversRemoveInput!) {
176
+ vehicleGroupDriversRemove(input: $input) {
177
+ id
178
+ name
179
+ description
180
+ externalId
181
+ driverCount
182
+ vehicleCount
183
+ insertedAt
184
+ updatedAt
185
+ }
186
+ }
187
+ `,E=l.default`
161
188
  mutation vehicleGroupVehiclesAdd($input: VehicleGroupVehiclesAddInput!) {
162
189
  vehicleGroupVehiclesAdd(input: $input) {
163
190
  id
@@ -170,11 +197,24 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
170
197
  updatedAt
171
198
  }
172
199
  }
173
- `,C=l.default`
200
+ `,D=l.default`
201
+ mutation vehicleGroupVehiclesRemove($input: VehicleGroupVehiclesRemoveInput!) {
202
+ vehicleGroupVehiclesRemove(input: $input) {
203
+ id
204
+ name
205
+ description
206
+ externalId
207
+ driverCount
208
+ vehicleCount
209
+ insertedAt
210
+ updatedAt
211
+ }
212
+ }
213
+ `,O=l.default`
174
214
  mutation vehicleUpdate($input: VehicleUpdateInput!) {
175
215
  vehicleUpdate(input: $input)
176
216
  }
177
- `,w=l.default`
217
+ `,k=l.default`
178
218
  query vehiclesFilter($input: VehiclesFilterInput!) {
179
219
  vehiclesFilter(input: $input) {
180
220
  data {
@@ -188,7 +228,7 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
188
228
  }
189
229
  }
190
230
  }
191
- `,T=l.default`
231
+ `,A=l.default`
192
232
  query vehicleGroupsFilter($input: VehicleGroupsFilterInput!) {
193
233
  vehicleGroupsFilter(input: $input) {
194
234
  data {
@@ -204,7 +244,7 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
204
244
  }
205
245
  }
206
246
  }
207
- `,E=l.default`
247
+ `,j=l.default`
208
248
  mutation vehiclesOnboard($input: VehiclesOnboardInputList!) {
209
249
  vehiclesOnboard(input: $input) {
210
250
  vehicles {
@@ -216,7 +256,7 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
216
256
  }
217
257
  }
218
258
  }
219
- `,D=(e,t,n,r)=>e();function O(e,t=D){return{apiKeyCreate(n,r,i){return t(t=>e.request({document:f,variables:n,requestHeaders:{...r,...t},signal:i}),`apiKeyCreate`,`mutation`,n)},clientOnboard(n,r,i){return t(t=>e.request({document:p,variables:n,requestHeaders:{...r,...t},signal:i}),`clientOnboard`,`mutation`,n)},organizationCreate(n,r,i){return t(t=>e.request({document:m,variables:n,requestHeaders:{...r,...t},signal:i}),`organizationCreate`,`mutation`,n)},entityCreate(n,r,i){return t(t=>e.request({document:h,variables:n,requestHeaders:{...r,...t},signal:i}),`entityCreate`,`mutation`,n)},entityGetExternalId(n,r,i){return t(t=>e.request({document:g,variables:n,requestHeaders:{...r,...t},signal:i}),`entityGetExternalId`,`query`,n)},machineTokenizeUser(n,r,i){return t(t=>e.request({document:_,variables:n,requestHeaders:{...r,...t},signal:i}),`machineTokenizeUser`,`mutation`,n)},userCreate(n,r,i){return t(t=>e.request({document:v,variables:n,requestHeaders:{...r,...t},signal:i}),`userCreate`,`mutation`,n)},userUpdate(n,r,i){return t(t=>e.request({document:y,variables:n,requestHeaders:{...r,...t},signal:i}),`userUpdate`,`mutation`,n)},vehicleGroupCreate(n,r,i){return t(t=>e.request({document:b,variables:n,requestHeaders:{...r,...t},signal:i}),`vehicleGroupCreate`,`mutation`,n)},vehicleGroupDriversAdd(n,r,i){return t(t=>e.request({document:x,variables:n,requestHeaders:{...r,...t},signal:i}),`vehicleGroupDriversAdd`,`mutation`,n)},vehicleGroupVehiclesAdd(n,r,i){return t(t=>e.request({document:S,variables:n,requestHeaders:{...r,...t},signal:i}),`vehicleGroupVehiclesAdd`,`mutation`,n)},vehicleUpdate(n,r,i){return t(t=>e.request({document:C,variables:n,requestHeaders:{...r,...t},signal:i}),`vehicleUpdate`,`mutation`,n)},vehiclesFilter(n,r,i){return t(t=>e.request({document:w,variables:n,requestHeaders:{...r,...t},signal:i}),`vehiclesFilter`,`query`,n)},vehicleGroupsFilter(n,r,i){return t(t=>e.request({document:T,variables:n,requestHeaders:{...r,...t},signal:i}),`vehicleGroupsFilter`,`query`,n)},vehiclesOnboard(n,r,i){return t(t=>e.request({document:E,variables:n,requestHeaders:{...r,...t},signal:i}),`vehiclesOnboard`,`mutation`,n)}}}const k={int:`https://api-gateway.int.gocariq.com/`,stage:`https://api-gateway.stage.gocariq.com/`};function A(e){let t=e.environment??`stage`;return O(new c.GraphQLClient(e.endpoint??k[t],{headers:{"x-api-key":e.apiKey,"Content-Type":`application/json`}}))}const j=l.default`
259
+ `,M=(e,t,n,r)=>e();function N(e,t=M){return{apiKeyCreate(n,r,i){return t(t=>e.request({document:f,variables:n,requestHeaders:{...r,...t},signal:i}),`apiKeyCreate`,`mutation`,n)},clientOnboard(n,r,i){return t(t=>e.request({document:p,variables:n,requestHeaders:{...r,...t},signal:i}),`clientOnboard`,`mutation`,n)},organizationCreate(n,r,i){return t(t=>e.request({document:m,variables:n,requestHeaders:{...r,...t},signal:i}),`organizationCreate`,`mutation`,n)},entityCreate(n,r,i){return t(t=>e.request({document:h,variables:n,requestHeaders:{...r,...t},signal:i}),`entityCreate`,`mutation`,n)},entityGetExternalId(n,r,i){return t(t=>e.request({document:g,variables:n,requestHeaders:{...r,...t},signal:i}),`entityGetExternalId`,`query`,n)},machineTokenizeUser(n,r,i){return t(t=>e.request({document:_,variables:n,requestHeaders:{...r,...t},signal:i}),`machineTokenizeUser`,`mutation`,n)},standaloneCardCreate(n,r,i){return t(t=>e.request({document:v,variables:n,requestHeaders:{...r,...t},signal:i}),`standaloneCardCreate`,`mutation`,n)},userCreate(n,r,i){return t(t=>e.request({document:y,variables:n,requestHeaders:{...r,...t},signal:i}),`userCreate`,`mutation`,n)},userOffboard(n,r,i){return t(t=>e.request({document:b,variables:n,requestHeaders:{...r,...t},signal:i}),`userOffboard`,`mutation`,n)},userUpdate(n,r,i){return t(t=>e.request({document:x,variables:n,requestHeaders:{...r,...t},signal:i}),`userUpdate`,`mutation`,n)},vehicleGroupCreate(n,r,i){return t(t=>e.request({document:S,variables:n,requestHeaders:{...r,...t},signal:i}),`vehicleGroupCreate`,`mutation`,n)},vehicleGroupDelete(n,r,i){return t(t=>e.request({document:C,variables:n,requestHeaders:{...r,...t},signal:i}),`vehicleGroupDelete`,`mutation`,n)},vehicleGroupDriversAdd(n,r,i){return t(t=>e.request({document:w,variables:n,requestHeaders:{...r,...t},signal:i}),`vehicleGroupDriversAdd`,`mutation`,n)},vehicleGroupDriversRemove(n,r,i){return t(t=>e.request({document:T,variables:n,requestHeaders:{...r,...t},signal:i}),`vehicleGroupDriversRemove`,`mutation`,n)},vehicleGroupVehiclesAdd(n,r,i){return t(t=>e.request({document:E,variables:n,requestHeaders:{...r,...t},signal:i}),`vehicleGroupVehiclesAdd`,`mutation`,n)},vehicleGroupVehiclesRemove(n,r,i){return t(t=>e.request({document:D,variables:n,requestHeaders:{...r,...t},signal:i}),`vehicleGroupVehiclesRemove`,`mutation`,n)},vehicleUpdate(n,r,i){return t(t=>e.request({document:O,variables:n,requestHeaders:{...r,...t},signal:i}),`vehicleUpdate`,`mutation`,n)},vehiclesFilter(n,r,i){return t(t=>e.request({document:k,variables:n,requestHeaders:{...r,...t},signal:i}),`vehiclesFilter`,`query`,n)},vehicleGroupsFilter(n,r,i){return t(t=>e.request({document:A,variables:n,requestHeaders:{...r,...t},signal:i}),`vehicleGroupsFilter`,`query`,n)},vehiclesOnboard(n,r,i){return t(t=>e.request({document:j,variables:n,requestHeaders:{...r,...t},signal:i}),`vehiclesOnboard`,`mutation`,n)}}}const P={int:`https://api-gateway.int.gocariq.com/`,stage:`https://api-gateway.stage.gocariq.com/`};function F(e){let t=e.environment??`stage`;return N(new c.GraphQLClient(e.endpoint??P[t],{headers:{"x-api-key":e.apiKey,"Content-Type":`application/json`}}))}const I=l.default`
220
260
  mutation provisionCard($input: ProvisionCardInput!) {
221
261
  provisionCard(input: $input) {
222
262
  encryptedData
@@ -227,20 +267,20 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
227
267
  cardNetwork
228
268
  }
229
269
  }
230
- `,M=l.default`
270
+ `,L=l.default`
231
271
  mutation provisionStatusUpdate($input: ProvisionStatusUpdateInput!) {
232
272
  provisionStatusUpdate(input: $input) {
233
273
  success
234
274
  }
235
275
  }
236
- `,N=l.default`
276
+ `,R=l.default`
237
277
  mutation servicePay($input: ServicePayInput!) {
238
278
  servicePay(input: $input) {
239
279
  requestId
240
280
  transactionId
241
281
  }
242
282
  }
243
- `,P=l.default`
283
+ `,z=l.default`
244
284
  mutation ttpTokenization($input: TtpTokenizationInput!) {
245
285
  ttpTokenization(input: $input) {
246
286
  requestId
@@ -259,5 +299,5 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
259
299
  cardFlag
260
300
  }
261
301
  }
262
- `,F=(e,t,n,r)=>e();function I(e,t=F){return{provisionCard(n,r,i){return t(t=>e.request({document:j,variables:n,requestHeaders:{...r,...t},signal:i}),`provisionCard`,`mutation`,n)},provisionStatusUpdate(n,r,i){return t(t=>e.request({document:M,variables:n,requestHeaders:{...r,...t},signal:i}),`provisionStatusUpdate`,`mutation`,n)},servicePay(n,r,i){return t(t=>e.request({document:N,variables:n,requestHeaders:{...r,...t},signal:i}),`servicePay`,`mutation`,n)},ttpTokenization(n,r,i){return t(t=>e.request({document:P,variables:n,requestHeaders:{...r,...t},signal:i}),`ttpTokenization`,`mutation`,n)}}}function L(e){let t=e.environment??`stage`;return I(new c.GraphQLClient(e.endpoint??k[t],{headers:{Authorization:`Bearer ${e.accessToken}`,"Content-Type":`application/json`}}))}const R=e=>(0,u.decode)(Buffer.from(e,`base64`)),z=e=>{let t=R(e);if(Buffer.isBuffer(t.ID)&&(t.ID=t.ID.toString(`hex`)),Buffer.isBuffer(t.ServiceLocation)){let e=t.ServiceLocation.toString(`utf8`);t.ServiceLocation=JSON.parse(e)}return t},B={EXXON:d.FUEL_BRANDS.EXXONMOBIL,MOBIL:d.FUEL_BRANDS.EXXONMOBIL,SHELL:d.FUEL_BRANDS.SHELL,SUNOCO:d.FUEL_BRANDS.SUNOCO},V={REGULAR:d.FUEL_TYPES.UNLEADED_REGULAR,MID_GRADE_UNLEADED:d.FUEL_TYPES.UNLEADED_PLUS,"MID GRADE UNLEADED":d.FUEL_TYPES.UNLEADED_PLUS,UNLEADED_PREMIUM:d.FUEL_TYPES.UNLEADED_PREMIUM,"UNLEADED PREMIUM":d.FUEL_TYPES.UNLEADED_PREMIUM,DIESEL:d.FUEL_TYPES.DIESEL_REGULAR,DIESEL_PREMIUM:d.FUEL_TYPES.DIESEL_PREMIUM,"DIESEL PREMIUM":d.FUEL_TYPES.DIESEL_PREMIUM,OTHER_FUEL:d.FUEL_TYPES.OTHER_FUEL,"OTHER FUEL":d.FUEL_TYPES.OTHER_FUEL,HI_FLOW_DIESEL:d.FUEL_TYPES.HI_FLOW_DIESEL,"HI-FLOW DIESEL":d.FUEL_TYPES.HI_FLOW_DIESEL},H=e=>e.reduce((e,t)=>{let n=V[t.name];return n&&(e[n]=`0.0`),e},{}),U=e=>(e??[]).map(({name:e,description:t})=>({name:e,description:t})),W=e=>Object.entries(e.ExternalIdMap??{}).find(([,t])=>t===e.PriceApiId)?.[0],G=({serviceLocationEvent:e})=>{let t=e.ServiceLocation,{address:n,geocoded:r,services:i,amenities:a}=t;return{acceptElementPay:!0,address:[n.line1,n.line2,n.city,n.state,n.zip].filter(Boolean).join(`, `),externalId:t.id,name:t.name,brandName:B[t.provider.name]||null,lat:r.lat,lng:r.lng,directPayEnabled:!t.out_of_network,ttpEnabled:t.ttp_enabled,isActive:t.enabled&&!t.deleted_at,typesPrices:H(i),amenities:U(a),priceSourceId:e.PriceApiId,priceSourceType:W(e)}},K=e=>G({serviceLocationEvent:z(e)});exports.getOrganizationSdk=A,exports.getUserSdk=L,exports.serviceLocationPubSubMessageToFuelSupplier=K;
302
+ `,B=(e,t,n,r)=>e();function V(e,t=B){return{provisionCard(n,r,i){return t(t=>e.request({document:I,variables:n,requestHeaders:{...r,...t},signal:i}),`provisionCard`,`mutation`,n)},provisionStatusUpdate(n,r,i){return t(t=>e.request({document:L,variables:n,requestHeaders:{...r,...t},signal:i}),`provisionStatusUpdate`,`mutation`,n)},servicePay(n,r,i){return t(t=>e.request({document:R,variables:n,requestHeaders:{...r,...t},signal:i}),`servicePay`,`mutation`,n)},ttpTokenization(n,r,i){return t(t=>e.request({document:z,variables:n,requestHeaders:{...r,...t},signal:i}),`ttpTokenization`,`mutation`,n)}}}function H(e){let t=e.environment??`stage`;return V(new c.GraphQLClient(e.endpoint??P[t],{headers:{Authorization:`Bearer ${e.accessToken}`,"Content-Type":`application/json`}}))}const U=e=>(0,u.decode)(Buffer.from(e,`base64`)),W=e=>{let t=U(e);if(Buffer.isBuffer(t.ID)&&(t.ID=t.ID.toString(`hex`)),Buffer.isBuffer(t.ServiceLocation)){let e=t.ServiceLocation.toString(`utf8`);t.ServiceLocation=JSON.parse(e)}return t},G={EXXON:d.FUEL_BRANDS.EXXONMOBIL,MOBIL:d.FUEL_BRANDS.EXXONMOBIL,SHELL:d.FUEL_BRANDS.SHELL,SUNOCO:d.FUEL_BRANDS.SUNOCO},K={REGULAR:d.FUEL_TYPES.UNLEADED_REGULAR,MID_GRADE_UNLEADED:d.FUEL_TYPES.UNLEADED_PLUS,"MID GRADE UNLEADED":d.FUEL_TYPES.UNLEADED_PLUS,UNLEADED_PREMIUM:d.FUEL_TYPES.UNLEADED_PREMIUM,"UNLEADED PREMIUM":d.FUEL_TYPES.UNLEADED_PREMIUM,DIESEL:d.FUEL_TYPES.DIESEL_REGULAR,DIESEL_PREMIUM:d.FUEL_TYPES.DIESEL_PREMIUM,"DIESEL PREMIUM":d.FUEL_TYPES.DIESEL_PREMIUM,OTHER_FUEL:d.FUEL_TYPES.OTHER_FUEL,"OTHER FUEL":d.FUEL_TYPES.OTHER_FUEL,HI_FLOW_DIESEL:d.FUEL_TYPES.HI_FLOW_DIESEL,"HI-FLOW DIESEL":d.FUEL_TYPES.HI_FLOW_DIESEL},q=e=>e.reduce((e,t)=>{let n=K[t.name];return n&&(e[n]=`0.0`),e},{}),J=e=>(e??[]).map(({name:e,description:t})=>({name:e,description:t})),Y=e=>Object.entries(e.ExternalIdMap??{}).find(([,t])=>t===e.PriceApiId)?.[0],X=({serviceLocationEvent:e})=>{let t=e.ServiceLocation,{address:n,geocoded:r,services:i,amenities:a}=t;return{acceptElementPay:!0,address:[n.line1,n.line2,n.city,n.state,n.zip].filter(Boolean).join(`, `),externalId:t.id,name:t.name,brandName:G[t.provider.name]||null,lat:r.lat,lng:r.lng,directPayEnabled:!t.out_of_network,ttpEnabled:t.ttp_enabled,isActive:t.enabled&&!t.deleted_at,typesPrices:q(i),amenities:J(a),priceSourceId:e.PriceApiId,priceSourceType:Y(e)}},Z=e=>X({serviceLocationEvent:W(e)});exports.getOrganizationSdk=F,exports.getUserSdk=H,exports.serviceLocationPubSubMessageToFuelSupplier=Z;
263
303
  //# sourceMappingURL=index.cjs.map