@checkdigit/eslint-plugin 7.17.1 → 7.18.0-PR.143-9946

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 (80) hide show
  1. package/dist-mjs/athena/api-locator.mjs +30 -0
  2. package/dist-mjs/athena/api-matcher.mjs +108 -0
  3. package/dist-mjs/athena/athena.mjs +328 -0
  4. package/dist-mjs/athena/column.mjs +1 -0
  5. package/dist-mjs/athena/context.mjs +21 -0
  6. package/dist-mjs/athena/index.mjs +1 -0
  7. package/dist-mjs/athena/service-table.mjs +32 -0
  8. package/dist-mjs/athena/types.mjs +1 -0
  9. package/dist-mjs/athena/visitor.mjs +258 -0
  10. package/dist-mjs/index.mjs +8 -4
  11. package/dist-mjs/no-status-code-assert.mjs +1 -1
  12. package/dist-mjs/openapi/deref-schema.mjs +14 -0
  13. package/dist-mjs/openapi/generate-schema.mjs +273 -0
  14. package/dist-mjs/openapi/service-schema-generator.mjs +147 -0
  15. package/dist-mjs/peggy/athena-peggy.mjs +20629 -0
  16. package/dist-types/athena/api-locator.d.ts +2 -0
  17. package/dist-types/athena/api-matcher.d.ts +14 -0
  18. package/dist-types/athena/athena.d.ts +6 -0
  19. package/dist-types/athena/column.d.ts +1 -0
  20. package/dist-types/athena/context.d.ts +21 -0
  21. package/dist-types/athena/index.d.ts +8 -0
  22. package/dist-types/athena/service-table.d.ts +8 -0
  23. package/dist-types/athena/types.d.ts +474 -0
  24. package/dist-types/athena/visitor.d.ts +63 -0
  25. package/dist-types/no-status-code-assert.d.ts +1 -1
  26. package/dist-types/openapi/deref-schema.d.ts +1 -0
  27. package/dist-types/openapi/generate-schema.d.ts +33 -0
  28. package/dist-types/openapi/service-schema-generator.d.ts +5 -0
  29. package/dist-types/peggy/athena-peggy.d.ts +13 -0
  30. package/package.json +1 -96
  31. package/src/athena/ATHENA.md +387 -0
  32. package/src/athena/PLAN.md +355 -0
  33. package/src/athena/api-locator.ts +39 -0
  34. package/src/athena/api-matcher.ts +169 -0
  35. package/src/athena/athena.ts +488 -0
  36. package/src/athena/column.ts +2 -0
  37. package/src/athena/context.ts +47 -0
  38. package/src/athena/index.ts +11 -0
  39. package/src/athena/service-table.ts +55 -0
  40. package/src/athena/types.ts +526 -0
  41. package/src/athena/visitor.ts +365 -0
  42. package/src/index.ts +4 -0
  43. package/src/no-side-effects.ts +1 -1
  44. package/src/no-status-code-assert.ts +2 -2
  45. package/src/openapi/deref-schema.ts +14 -0
  46. package/src/openapi/generate-schema.ts +422 -0
  47. package/src/openapi/service-schema-generator.ts +189 -0
  48. package/src/peggy/athena-chat.peggy +608 -0
  49. package/src/peggy/athena-peggy.ts +22078 -0
  50. package/src/peggy/athena.peggy +2967 -0
  51. package/src/require-service-call-response-declaration.ts +2 -2
  52. package/src/services/interchange/v1/swagger.schema.deref.json +849 -0
  53. package/src/services/interchange/v1/swagger.schema.json +473 -0
  54. package/src/services/interchange/v1/swagger.yml +414 -0
  55. package/src/services/ledger/v1/swagger.schema.deref.json +6694 -0
  56. package/src/services/ledger/v1/swagger.schema.json +1820 -0
  57. package/src/services/ledger/v1/swagger.yml +1094 -0
  58. package/src/services/link/v1/swagger.schema.deref.json +648 -0
  59. package/src/services/link/v1/swagger.schema.json +444 -0
  60. package/src/services/link/v1/swagger.yml +343 -0
  61. package/src/services/message/v1/swagger.schema.deref.json +22049 -0
  62. package/src/services/message/v1/swagger.schema.json +3470 -0
  63. package/src/services/message/v1/swagger.yml +2798 -0
  64. package/src/services/message/v2/swagger.schema.deref.json +72221 -0
  65. package/src/services/message/v2/swagger.schema.json +3558 -0
  66. package/src/services/message/v2/swagger.yml +3009 -0
  67. package/src/services/paymentCard/v1/swagger.schema.deref.json +4346 -0
  68. package/src/services/paymentCard/v1/swagger.schema.json +2181 -0
  69. package/src/services/paymentCard/v1/swagger.yml +1161 -0
  70. package/src/services/paymentCard/v2/swagger.schema.deref.json +4336 -0
  71. package/src/services/paymentCard/v2/swagger.schema.json +2155 -0
  72. package/src/services/paymentCard/v2/swagger.yml +1149 -0
  73. package/src/services/person/v1/swagger.schema.deref.json +6786 -0
  74. package/src/services/person/v1/swagger.schema.json +1445 -0
  75. package/src/services/person/v1/swagger.yml +1157 -0
  76. package/src/services/teampayApproval/v1/swagger.schema.deref.json +9898 -0
  77. package/src/services/teampayCardManagement/v1/swagger.schema.deref.json +6187 -0
  78. package/src/services/teampayClientManagement/v1/swagger.schema.deref.json +4914 -0
  79. package/src/services/teampayClientManagement/v1/swagger.schema.json +1964 -0
  80. package/src/services/teampayClientManagement/v1/swagger.yml +1376 -0
@@ -0,0 +1,414 @@
1
+ openapi: 3.0.0
2
+ info:
3
+ title: Interchange Service
4
+ version: 1.6.0
5
+ description: |
6
+
7
+ Interchange is a service that allows the caller to store data about interchange fees applied to transactions across
8
+ all networks.
9
+
10
+ © Check Digit LLC. 2022
11
+
12
+ contact:
13
+ name: Check Digit LLC.
14
+
15
+ servers:
16
+ - url: /interchange/v1
17
+
18
+ tags:
19
+ - name: Service Health
20
+ - name: API
21
+
22
+ x-firehose-logged: false
23
+
24
+ paths:
25
+ /ping:
26
+ get:
27
+ operationId: 'ping-get'
28
+ tags:
29
+ - Service Health
30
+ description: |
31
+ Returns the current server time. This operation is useful for testing a service's availability.
32
+ responses:
33
+ '200':
34
+ $ref: '#/components/responses/Ping'
35
+ default:
36
+ $ref: '#/components/responses/ServerError'
37
+
38
+ /interchange/{interchangeId}:
39
+ put:
40
+ tags:
41
+ - API
42
+ operationId: 'interchange-put'
43
+ description: Stores interchange data.
44
+ x-firehose-logged: true
45
+ parameters:
46
+ - $ref: '#/components/parameters/interchangeId'
47
+ - $ref: '#/components/parameters/createdOn'
48
+ requestBody:
49
+ $ref: '#/components/requestBodies/Interchange'
50
+ responses:
51
+ '204':
52
+ description: Interchange recorded successfully
53
+ headers:
54
+ Created-On:
55
+ $ref: '#/components/headers/Created-On'
56
+ Updated-On:
57
+ $ref: '#/components/headers/Updated-On'
58
+ default:
59
+ $ref: '#/components/responses/ServerError'
60
+
61
+ components:
62
+ schemas:
63
+ Ping:
64
+ type: object
65
+ additionalProperties: false
66
+ required:
67
+ - serverTime
68
+ properties:
69
+ serverTime:
70
+ type: string
71
+ format: date-time
72
+ description: Current server time
73
+
74
+ Error:
75
+ type: object
76
+ additionalProperties: false
77
+ properties:
78
+ message:
79
+ type: string
80
+ code:
81
+ type: string
82
+ minLength: 1
83
+ enum:
84
+ - CREATED ON TOO FAR IN FUTURE
85
+
86
+ Interchange:
87
+ type: object
88
+ additionalProperties: false
89
+ description: Data that describes an interchange record.
90
+ required:
91
+ - file
92
+ - cardId
93
+ - transmissionDateTime
94
+ - categorization
95
+ - adviceResponse
96
+ - merchant
97
+ - settlementAmount
98
+ - isCrossBorder
99
+ - interchangeFeeAmount
100
+ - interchangeDebitCredit
101
+ - interchangeFeeAmountExtended
102
+ properties:
103
+ file:
104
+ type: object
105
+ additionalProperties: false
106
+ required:
107
+ - fileIdentifier
108
+ - fileDescription
109
+ - recordIdentifier
110
+ - fileDateTime
111
+ properties:
112
+ fileIdentifier:
113
+ type: string
114
+ minLength: 1
115
+ description: A unique identifier for the file in which this message exists. Often will be the name of the file.
116
+ fileDescription:
117
+ type: string
118
+ minLength: 1
119
+ description: A description of the file whose usage depends on the type of file that was processed.
120
+ recordIdentifier:
121
+ type: string
122
+ minLength: 1
123
+ description: A unique identifier for this message in the processed file. Often this will be the record number.
124
+ fileDateTime:
125
+ type: string
126
+ minLength: 1
127
+ format: date-time
128
+ description: A timestamp associated with the whole file not the individual message.
129
+ matchedMessageId:
130
+ description: |
131
+ Identifies the Check Digit Message Service message the interchange data applies to.
132
+ type: string
133
+ cardId:
134
+ description: Identifies the card involved in the transaction.
135
+ type: string
136
+ transmissionDateTime:
137
+ description: The transmission date-time in UTC ISO format.
138
+ type: string
139
+ format: date-time
140
+ referenceNumber:
141
+ description: A unique ID assigned by network to a transaction. This could be Banknet reference number for MC DMS, Retrieval Reference Number, or a Transaction ID for Visa transactions. This field is undefined if not present in the file from network or in case of offline authorizations. When present, it is used as one of the fields to match the original transaction
142
+ type: string
143
+ categorization:
144
+ type: object
145
+ additionalProperties: false
146
+ required:
147
+ - debitCredit
148
+ - category
149
+ properties:
150
+ debitCredit:
151
+ type: string
152
+ description: Indicates whether the transaction was a debit or credit to the receiver.
153
+ enum:
154
+ - DEBIT
155
+ - CREDIT
156
+ - NEITHER
157
+ category:
158
+ description: Describes the effect of a transaction on a customer account.
159
+ type: string
160
+ enum:
161
+ - SIGNATURE
162
+ - PIN
163
+ - PINLESS
164
+ - ATM
165
+ - OTC
166
+ - AFD
167
+ - QUASICASH
168
+ - SCRIP
169
+ - BALANCE INQUIRY
170
+ - ACCOUNT INQUIRY
171
+ - FUNDS TRANSFER
172
+ - BILL PAYMENT
173
+ - ADJUSTMENT
174
+ - RETURN
175
+ - LOAD
176
+ - UNLOAD
177
+ - ACTIVATION
178
+ - ACTIVATION AND LOAD
179
+ - DEACTIVATION
180
+ - DEACTIVATION AND UNLOAD
181
+ - TOKENIZATION
182
+ - REQUEST ACTIVATION METHODS
183
+ - DELIVER ACTIVATION CODE
184
+ - NOTIFY TOKEN ACTIVATED
185
+ - NOTIFY TOKEN UPDATED
186
+ - NOTIFY SUSPICIOUS EVENTS
187
+ - UNSUPPORTED
188
+ systemTraceAuditNumber:
189
+ description: A number assigned by the message initiator to uniquely identify a transaction. This field is undefined if not present in the file from network or in case of offline authorizations. When present, it is used as one of the fields ot match the original transaction
190
+ type: number
191
+ merchant:
192
+ description: Contains information about the merchant and the method by which the transaction was accepted.
193
+ type: object
194
+ additionalProperties: false
195
+ required:
196
+ - type
197
+ - panEntryMethod
198
+ properties:
199
+ type:
200
+ description: Also known as MCC. Classifies the type of business applicable to card acceptor.
201
+ type: string
202
+ panEntryMethod:
203
+ description: (Aka. POS Entry Mode) Indicates method by which the PAN was entered into the system.
204
+ type: string
205
+ enum:
206
+ - NOT PROVIDED
207
+ - UNSPECIFIED
208
+ - MANUAL
209
+ - MAGNETIC STRIPE
210
+ - BAR CODE
211
+ - OCR
212
+ - INTEGRATED CIRCUIT CARD
213
+ - MANUAL KEY ENTERED
214
+ - CONTACTLESS EMV RULES
215
+ - CHIP CARD UNABLE MANUAL ENTRY
216
+ - CHIP CARD UNABLE MAGNETIC STRIPE
217
+ - ELECTRONIC COMMERCE
218
+ - PAN AUTO ENTRY VIA SERVER
219
+ - FULL MAGNETIC STRIPE
220
+ - CONTACTLESS MAG STRIPE RULES
221
+ - INTEGRATED CIRCUIT CARD CVV UNRELIABLE
222
+ - STORED VALUE PREREGISTERED CHECKOUT
223
+ - ON FILE
224
+ - SECURE ENTRY
225
+ strategicMerchant:
226
+ description: Indicates if the transaction originated from a strategic merchant.
227
+ type: boolean
228
+ adviceResponse:
229
+ additionalProperties: false
230
+ required:
231
+ - responseCode
232
+ properties:
233
+ authorizationIdResponse:
234
+ description: A value created by the authorizer to indicate approval and used to match to messages in the same transaction lifecycle.
235
+ type: string
236
+ responseCode:
237
+ description: A code that defines the disposition of the message.
238
+ type: string
239
+ enum:
240
+ - APPROVED
241
+ - REFER TO ISSUER
242
+ - REFER TO ISSUER SPECIAL CONDITION
243
+ - INVALID MERCHANT
244
+ - PICKUP
245
+ - DO NOT HONOR
246
+ - SYSTEM ERROR
247
+ - PICKUP CARD
248
+ - HONOR WITH ID
249
+ - REQUEST IN PROGRESS
250
+ - PARTIAL APPROVAL
251
+ - INVALID TRANSACTION
252
+ - INVALID AMOUNT
253
+ - CARD NOT FOUND
254
+ - REENTER TRANSACTION
255
+ - INVALID RESPONSE
256
+ - UNACCEPTABLE TRANSACTION FEE
257
+ - FILE UPDATE NOT SUPPORTED
258
+ - UNABLE TO LOCATE RECORD
259
+ - DUPLICATE FILE UPDATE
260
+ - FILE UPDATE EDIT ERROR
261
+ - FILE UPDATE FILE LOCKED
262
+ - FILE UPDATE FAILED
263
+ - FORMAT ERROR
264
+ - NO CREDIT ACCOUNT
265
+ - REQUESTED FUNCTION NOT SUPPORTED
266
+ - LOST CARD CAPTURE
267
+ - NO UNIVERSAL ACCOUNT
268
+ - STOLEN CARD CAPTURE
269
+ - NO INVESTMENT ACCOUNT
270
+ - INSUFFICIENT FUNDS
271
+ - NO CHECKING ACCOUNT
272
+ - NO SAVINGS ACCOUNT
273
+ - EXPIRED CARD
274
+ - INCORRECT PIN
275
+ - NO CARD RECORD
276
+ - TRANSACTION NOT PERMITTED TO CARDHOLDER
277
+ - TRANSACTION NOT PERMITTED TO TERMINAL
278
+ - SUSPECTED FRAUD
279
+ - EXCEEDS WITHDRAWAL LIMIT
280
+ - RESTRICTED CARD
281
+ - SECURITY VIOLATION
282
+ - EXCEEDS WITHDRAWAL FREQUENCY LIMIT
283
+ - HARD CAPTURE
284
+ - LATE RESPONSE
285
+ - PIN TRIES EXCEEDED
286
+ - KEY SYNC ERROR
287
+ - CARDHOLDER NOT ELIGIBLE FOR POS
288
+ - ISSUER NOT AVAILABLE
289
+ - DUPLICATE
290
+ - INFORMATION NOT ON FILE
291
+ - CARD VERIFICATION FAILURE
292
+ - CUTOFF IN PROGRESS
293
+ - ISSUER INOPERATIVE
294
+ - TRANSACTION CANNOT COMPLETE LAW VIOLATION
295
+ - DUPLICATE TRANSMISSION
296
+ - RECONCILE ERROR
297
+ - SYSTEM MALFUNCTION
298
+ - CARD VERIFICATION2 FAILURE
299
+ - CARD VERIFICATION3 FAILURE
300
+ - EXPIRATION DATE MISMATCH
301
+ - INACTIVE CARD
302
+ - ITEM SUSPECTED FOR STOP PAY
303
+ - ACCOUNT CLOSED
304
+ - INELIGIBLE ACCOUNT
305
+ - ITEM SUBMITTED MORE THAN TWO TIMES
306
+ - NO ACCT ON FILE
307
+ - UNABLE TO LOCATE
308
+ - GENERAL DENIAL
309
+ - SPECIAL CONDITIONS
310
+ - PIN REQUIRED
311
+ - PAN TRANSFORMATION ERROR
312
+ - RISK BLOCK
313
+ - INVALID ARQC
314
+ - REQUIRE ADDITIONAL AUTHENTICATION
315
+ - OTHER
316
+ settlementAmount:
317
+ description: The amount and currency of the transaction incurring the interchange fee.
318
+ allOf:
319
+ - $ref: '#/components/schemas/Amount'
320
+ isCrossBorder:
321
+ description: Identifies whether the transaction is a cross-border transaction for the message receiver.
322
+ type: boolean
323
+ issuerInterchangeGroupId:
324
+ description: Indicates the network interchange program applied to the transaction. This is used to determine the interchange rate and editing rules applied to the transaction.
325
+ interchangeFeeAmount:
326
+ description: The amount and currency of the interchange fee incurred for the transaction.
327
+ allOf:
328
+ - $ref: '#/components/schemas/Amount'
329
+ interchangeDebitCredit:
330
+ description: Indicates whether the fee is a debit or credit to the receiver.
331
+ type: string
332
+ enum:
333
+ - DEBIT
334
+ - CREDIT
335
+ interchangeFeeAmountExtended:
336
+ type: object
337
+ description: The amount and currency of the interchange fee incurred for the transaction in a format that allows for up to 6 decimal points of precision.
338
+ required:
339
+ - amountDecimalPosition
340
+ - amount
341
+ - currency
342
+ properties:
343
+ amountDecimalPosition:
344
+ description: This number represents the position the decimal point should be placed, starting from right.
345
+ type: number
346
+ amount:
347
+ type: string
348
+ currency:
349
+ type: string
350
+
351
+ Amount:
352
+ type: object
353
+ additionalProperties: false
354
+ required:
355
+ - amount
356
+ - currency
357
+ properties:
358
+ amount:
359
+ type: string
360
+ currency:
361
+ type: string
362
+
363
+ parameters:
364
+ interchangeId:
365
+ in: path
366
+ name: interchangeId
367
+ description: Unique identifier for an interchange record.
368
+ required: true
369
+ schema:
370
+ type: string
371
+
372
+ createdOn:
373
+ name: Created-On
374
+ in: header
375
+ description: CreatedOn-header
376
+ required: true
377
+ schema:
378
+ type: string
379
+ format: date-time
380
+
381
+ requestBodies:
382
+ Interchange:
383
+ content:
384
+ application/json:
385
+ schema:
386
+ $ref: '#/components/schemas/Interchange'
387
+
388
+ responses:
389
+ Ping:
390
+ description: A successful response.
391
+ content:
392
+ application/json:
393
+ schema:
394
+ $ref: '#/components/schemas/Ping'
395
+
396
+ ServerError:
397
+ description: An error response.
398
+ content:
399
+ application/json:
400
+ schema:
401
+ $ref: '#/components/schemas/Error'
402
+
403
+ headers:
404
+ Created-On:
405
+ description: Indicates the date-time the record was stored.
406
+ schema:
407
+ type: string
408
+ format: date-time
409
+
410
+ Updated-On:
411
+ description: Indicates the date-time the record was last changed. This date will be the same as the created-on for immutable records.
412
+ schema:
413
+ type: string
414
+ format: date-time