@checkdigit/eslint-athena-plugin 1.0.0-PR.2-2366 → 1.0.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.
@@ -1,978 +0,0 @@
1
- {
2
- "apis": {
3
- "/eslint-athena-plugin/v2/ping": {
4
- "get": {
5
- "request": {
6
- "$schema": "https://json-schema.org/draft/2020-12/schema",
7
- "$id": "https://eslint-athena-plugin.checkdigit/eslint-athena-plugin/v2/schemas/api/PingGetRequestContext",
8
- "type": "object",
9
- "properties": {
10
- "headers": {
11
- "type": "object",
12
- "additionalProperties": true
13
- }
14
- },
15
- "required": [],
16
- "additionalProperties": false
17
- },
18
- "responses": {
19
- "200": {
20
- "$schema": "https://json-schema.org/draft/2020-12/schema",
21
- "$id": "https://eslint-athena-plugin.checkdigit/eslint-athena-plugin/v2/schemas/api/PingGetResponseOK",
22
- "type": "object",
23
- "properties": {
24
- "headers": {
25
- "type": "object",
26
- "additionalProperties": true
27
- },
28
- "body": {
29
- "$schema": "https://json-schema.org/draft/2020-12/schema",
30
- "$id": "https://eslint-athena-plugin.checkdigit/eslint-athena-plugin/v2/schemas/definitions/Ping",
31
- "type": "object",
32
- "additionalProperties": false,
33
- "required": [
34
- "serverTime",
35
- "v2Only"
36
- ],
37
- "properties": {
38
- "serverTime": {
39
- "type": "string",
40
- "format": "date-time",
41
- "description": "Current server time."
42
- },
43
- "v2Only": {
44
- "type": "boolean",
45
- "description": "Indicates if the server is running in v2-only mode."
46
- }
47
- }
48
- }
49
- },
50
- "required": [
51
- "body"
52
- ],
53
- "additionalProperties": false
54
- },
55
- "default": {
56
- "$schema": "https://json-schema.org/draft/2020-12/schema",
57
- "$id": "https://eslint-athena-plugin.checkdigit/eslint-athena-plugin/v2/schemas/api/PingGetResponseDefault",
58
- "type": "object",
59
- "properties": {
60
- "headers": {
61
- "type": "object",
62
- "additionalProperties": true
63
- },
64
- "body": {
65
- "$schema": "https://json-schema.org/draft/2020-12/schema",
66
- "$id": "https://eslint-athena-plugin.checkdigit/eslint-athena-plugin/v2/schemas/definitions/Error",
67
- "type": "object",
68
- "additionalProperties": false,
69
- "description": "Error message.",
70
- "required": [
71
- "message",
72
- "code"
73
- ],
74
- "properties": {
75
- "message": {
76
- "type": "string"
77
- },
78
- "code": {
79
- "type": "string",
80
- "enum": [
81
- "INVALID AT",
82
- "INVALID FROM"
83
- ]
84
- }
85
- }
86
- }
87
- },
88
- "required": [
89
- "body"
90
- ],
91
- "additionalProperties": false
92
- }
93
- }
94
- }
95
- },
96
- "/eslint-athena-plugin/v2/tenant/:tenantId/entry/:entryId": {
97
- "put": {
98
- "request": {
99
- "$schema": "https://json-schema.org/draft/2020-12/schema",
100
- "$id": "https://eslint-athena-plugin.checkdigit/eslint-athena-plugin/v2/schemas/api/TenantEntryPutRequestContext",
101
- "type": "object",
102
- "properties": {
103
- "params": {
104
- "type": "object",
105
- "additionalProperties": false,
106
- "properties": {
107
- "tenantId": {
108
- "type": "string"
109
- },
110
- "entryId": {
111
- "type": "string"
112
- }
113
- },
114
- "required": [
115
- "tenantId",
116
- "entryId"
117
- ]
118
- },
119
- "headers": {
120
- "type": "object",
121
- "additionalProperties": true,
122
- "properties": {
123
- "if-match": {
124
- "type": "string"
125
- },
126
- "created-on": {
127
- "type": "string",
128
- "format": "date-time"
129
- }
130
- },
131
- "required": [
132
- "created-on"
133
- ]
134
- },
135
- "body": {
136
- "$schema": "https://json-schema.org/draft/2020-12/schema",
137
- "$id": "https://eslint-athena-plugin.checkdigit/eslint-athena-plugin/v2/schemas/definitions/NewEntry",
138
- "type": "object",
139
- "additionalProperties": false,
140
- "required": [
141
- "postings"
142
- ],
143
- "properties": {
144
- "postings": {
145
- "type": "array",
146
- "description": "List of posts contained within the journal entry.",
147
- "items": {
148
- "$schema": "https://json-schema.org/draft/2020-12/schema",
149
- "$id": "https://eslint-athena-plugin.checkdigit/eslint-athena-plugin/v2/schemas/definitions/Post",
150
- "type": "object",
151
- "additionalProperties": false,
152
- "required": [
153
- "amount",
154
- "currency",
155
- "type",
156
- "createdOn",
157
- "accountId"
158
- ],
159
- "properties": {
160
- "amount": {
161
- "type": "string"
162
- },
163
- "currency": {
164
- "$schema": "https://json-schema.org/draft/2020-12/schema",
165
- "$id": "https://eslint-athena-plugin.checkdigit/eslint-athena-plugin/v2/schemas/definitions/Currency",
166
- "type": "string",
167
- "enum": [
168
- "AED",
169
- "AFN"
170
- ]
171
- },
172
- "type": {
173
- "$schema": "https://json-schema.org/draft/2020-12/schema",
174
- "$id": "https://eslint-athena-plugin.checkdigit/eslint-athena-plugin/v2/schemas/definitions/Type",
175
- "type": "string",
176
- "description": "CREDIT or DEBIT",
177
- "enum": [
178
- "CREDIT",
179
- "DEBIT"
180
- ]
181
- },
182
- "createdOn": {
183
- "type": "string",
184
- "format": "date-time"
185
- },
186
- "accountId": {
187
- "type": "string",
188
- "description": "account ID"
189
- }
190
- }
191
- }
192
- }
193
- }
194
- }
195
- },
196
- "required": [
197
- "params",
198
- "headers",
199
- "body"
200
- ],
201
- "additionalProperties": false
202
- },
203
- "responses": {
204
- "204": {
205
- "$schema": "https://json-schema.org/draft/2020-12/schema",
206
- "$id": "https://eslint-athena-plugin.checkdigit/eslint-athena-plugin/v2/schemas/api/TenantEntryPutResponseNoContent",
207
- "type": "object",
208
- "properties": {
209
- "headers": {
210
- "type": "object",
211
- "properties": {
212
- "created-on": {
213
- "type": "string",
214
- "format": "date-time"
215
- },
216
- "updated-on": {
217
- "type": "string",
218
- "format": "date-time"
219
- }
220
- },
221
- "required": [
222
- "created-on",
223
- "updated-on"
224
- ]
225
- }
226
- },
227
- "required": [
228
- "headers"
229
- ],
230
- "additionalProperties": false
231
- },
232
- "409": {
233
- "$schema": "https://json-schema.org/draft/2020-12/schema",
234
- "$id": "https://eslint-athena-plugin.checkdigit/eslint-athena-plugin/v2/schemas/api/TenantEntryPutResponseConflict",
235
- "type": "object",
236
- "properties": {
237
- "headers": {
238
- "type": "object",
239
- "additionalProperties": true
240
- }
241
- },
242
- "required": [],
243
- "additionalProperties": false
244
- },
245
- "412": {
246
- "$schema": "https://json-schema.org/draft/2020-12/schema",
247
- "$id": "https://eslint-athena-plugin.checkdigit/eslint-athena-plugin/v2/schemas/api/TenantEntryPutResponsePreconditionFailed",
248
- "type": "object",
249
- "properties": {
250
- "headers": {
251
- "type": "object",
252
- "additionalProperties": true
253
- }
254
- },
255
- "required": [],
256
- "additionalProperties": false
257
- },
258
- "default": {
259
- "$schema": "https://json-schema.org/draft/2020-12/schema",
260
- "$id": "https://eslint-athena-plugin.checkdigit/eslint-athena-plugin/v2/schemas/api/TenantEntryPutResponseDefault",
261
- "type": "object",
262
- "properties": {
263
- "headers": {
264
- "type": "object",
265
- "additionalProperties": true
266
- },
267
- "body": {
268
- "$schema": "https://json-schema.org/draft/2020-12/schema",
269
- "$id": "https://eslint-athena-plugin.checkdigit/eslint-athena-plugin/v2/schemas/definitions/Error",
270
- "type": "object",
271
- "additionalProperties": false,
272
- "description": "Error message.",
273
- "required": [
274
- "message",
275
- "code"
276
- ],
277
- "properties": {
278
- "message": {
279
- "type": "string"
280
- },
281
- "code": {
282
- "type": "string",
283
- "enum": [
284
- "INVALID AT",
285
- "INVALID FROM"
286
- ]
287
- }
288
- }
289
- }
290
- },
291
- "required": [
292
- "body"
293
- ],
294
- "additionalProperties": false
295
- }
296
- }
297
- }
298
- },
299
- "/eslint-athena-plugin/v2/tenant/:tenantId/card/:cardId": {
300
- "put": {
301
- "request": {
302
- "$schema": "https://json-schema.org/draft/2020-12/schema",
303
- "$id": "https://eslint-athena-plugin.checkdigit/eslint-athena-plugin/v2/schemas/api/CardPutRequestContext",
304
- "type": "object",
305
- "properties": {
306
- "params": {
307
- "type": "object",
308
- "additionalProperties": false,
309
- "properties": {
310
- "tenantId": {
311
- "type": "string"
312
- },
313
- "cardId": {
314
- "$schema": "https://json-schema.org/draft/2020-12/schema",
315
- "$id": "https://eslint-athena-plugin.checkdigit/eslint-athena-plugin/v2/schemas/definitions/CardId",
316
- "type": "string",
317
- "description": "Card identifier",
318
- "format": "uuid"
319
- }
320
- },
321
- "required": [
322
- "tenantId",
323
- "cardId"
324
- ]
325
- },
326
- "headers": {
327
- "type": "object",
328
- "additionalProperties": true,
329
- "properties": {
330
- "created-on": {
331
- "type": "string",
332
- "format": "date-time"
333
- }
334
- },
335
- "required": [
336
- "created-on"
337
- ]
338
- },
339
- "body": {
340
- "$schema": "https://json-schema.org/draft/2020-12/schema",
341
- "$id": "https://eslint-athena-plugin.checkdigit/eslint-athena-plugin/v2/schemas/definitions/NewCardRequest",
342
- "type": "object",
343
- "required": [
344
- "dataEncryptionKeyId",
345
- "cardNumberLength",
346
- "newCard"
347
- ],
348
- "additionalProperties": false,
349
- "properties": {
350
- "dataEncryptionKeyId": {
351
- "$schema": "https://json-schema.org/draft/2020-12/schema",
352
- "$id": "https://eslint-athena-plugin.checkdigit/eslint-athena-plugin/v2/schemas/definitions/DataEncryptionKeyId",
353
- "type": "string",
354
- "description": "Reference to encryption keys Payment Card Service will use to encrypt the Card object.\n",
355
- "format": "uuid"
356
- },
357
- "cardNumberLength": {
358
- "type": "integer",
359
- "description": "Desired number of digits in the card number.",
360
- "minimum": 15,
361
- "maximum": 19
362
- },
363
- "newCard": {
364
- "$schema": "https://json-schema.org/draft/2020-12/schema",
365
- "$id": "https://eslint-athena-plugin.checkdigit/eslint-athena-plugin/v2/schemas/definitions/NewCard",
366
- "type": "object",
367
- "additionalProperties": false,
368
- "required": [
369
- "serviceCode",
370
- "sequenceNumber"
371
- ],
372
- "properties": {
373
- "serviceCode": {
374
- "type": "string",
375
- "pattern": "^\\d+$",
376
- "description": "Used to set general guidelines for how the card can be used, e.g. domestic only or international, online authorizations only, etc.\n",
377
- "minLength": 3,
378
- "maxLength": 3
379
- },
380
- "sequenceNumber": {
381
- "type": "integer",
382
- "description": "Used to differentiate issuing the same card and expiration date on multiple plastics.",
383
- "minimum": 0,
384
- "maximum": 10
385
- }
386
- }
387
- }
388
- }
389
- }
390
- },
391
- "required": [
392
- "params",
393
- "headers",
394
- "body"
395
- ],
396
- "additionalProperties": false
397
- },
398
- "responses": {
399
- "200": {
400
- "$schema": "https://json-schema.org/draft/2020-12/schema",
401
- "$id": "https://eslint-athena-plugin.checkdigit/eslint-athena-plugin/v2/schemas/api/CardPutResponseOK",
402
- "type": "object",
403
- "properties": {
404
- "headers": {
405
- "type": "object",
406
- "properties": {
407
- "last-modified": {
408
- "type": "string",
409
- "format": "date-time"
410
- },
411
- "created-on": {
412
- "type": "string",
413
- "format": "date-time"
414
- },
415
- "updated-on": {
416
- "type": "string",
417
- "format": "date-time"
418
- },
419
- "etag": {
420
- "type": "string"
421
- }
422
- },
423
- "required": [
424
- "last-modified",
425
- "created-on",
426
- "updated-on",
427
- "etag"
428
- ]
429
- },
430
- "body": {
431
- "$schema": "https://json-schema.org/draft/2020-12/schema",
432
- "$id": "https://eslint-athena-plugin.checkdigit/eslint-athena-plugin/v2/schemas/definitions/CardResponse",
433
- "type": "object",
434
- "additionalProperties": false,
435
- "required": [
436
- "dataEncryptionKeyId",
437
- "storageKeyId",
438
- "card"
439
- ],
440
- "properties": {
441
- "encryptedDataEncryptionKey": {
442
- "description": "Encrypted DEK matching the publicKeyHash sent in the request. Used to decrypt values in the Card object.\n",
443
- "type": "string"
444
- },
445
- "card": {
446
- "$schema": "https://json-schema.org/draft/2020-12/schema",
447
- "$id": "https://eslint-athena-plugin.checkdigit/eslint-athena-plugin/v2/schemas/definitions/Card",
448
- "type": "object",
449
- "additionalProperties": false,
450
- "required": [
451
- "last4",
452
- "cardNumber"
453
- ],
454
- "properties": {
455
- "last4": {
456
- "type": "string",
457
- "pattern": "^\\d+$",
458
- "description": "Last four digits of the card number",
459
- "minLength": 4,
460
- "maxLength": 4
461
- },
462
- "cardNumber": {
463
- "type": "string",
464
- "description": "Encrypted card number (PAN)"
465
- }
466
- }
467
- }
468
- }
469
- }
470
- },
471
- "required": [
472
- "headers",
473
- "body"
474
- ],
475
- "additionalProperties": false
476
- },
477
- "409": {
478
- "$schema": "https://json-schema.org/draft/2020-12/schema",
479
- "$id": "https://eslint-athena-plugin.checkdigit/eslint-athena-plugin/v2/schemas/api/CardPutResponseConflict",
480
- "type": "object",
481
- "properties": {
482
- "headers": {
483
- "type": "object",
484
- "additionalProperties": true
485
- }
486
- },
487
- "required": [],
488
- "additionalProperties": false
489
- },
490
- "default": {
491
- "$schema": "https://json-schema.org/draft/2020-12/schema",
492
- "$id": "https://eslint-athena-plugin.checkdigit/eslint-athena-plugin/v2/schemas/api/CardPutResponseDefault",
493
- "type": "object",
494
- "properties": {
495
- "headers": {
496
- "type": "object",
497
- "additionalProperties": true
498
- },
499
- "body": {
500
- "$schema": "https://json-schema.org/draft/2020-12/schema",
501
- "$id": "https://eslint-athena-plugin.checkdigit/eslint-athena-plugin/v2/schemas/definitions/Error",
502
- "type": "object",
503
- "additionalProperties": false,
504
- "description": "Error message.",
505
- "required": [
506
- "message",
507
- "code"
508
- ],
509
- "properties": {
510
- "message": {
511
- "type": "string"
512
- },
513
- "code": {
514
- "type": "string",
515
- "enum": [
516
- "INVALID AT",
517
- "INVALID FROM"
518
- ]
519
- }
520
- }
521
- }
522
- },
523
- "required": [
524
- "body"
525
- ],
526
- "additionalProperties": false
527
- }
528
- }
529
- }
530
- }
531
- },
532
- "definitions": {
533
- "Ping": {
534
- "$schema": "https://json-schema.org/draft/2020-12/schema",
535
- "$id": "https://eslint-athena-plugin.checkdigit/eslint-athena-plugin/v2/schemas/definitions/Ping",
536
- "type": "object",
537
- "additionalProperties": false,
538
- "required": [
539
- "serverTime",
540
- "v2Only"
541
- ],
542
- "properties": {
543
- "serverTime": {
544
- "type": "string",
545
- "format": "date-time",
546
- "description": "Current server time."
547
- },
548
- "v2Only": {
549
- "type": "boolean",
550
- "description": "Indicates if the server is running in v2-only mode."
551
- }
552
- }
553
- },
554
- "Error": {
555
- "$schema": "https://json-schema.org/draft/2020-12/schema",
556
- "$id": "https://eslint-athena-plugin.checkdigit/eslint-athena-plugin/v2/schemas/definitions/Error",
557
- "type": "object",
558
- "additionalProperties": false,
559
- "description": "Error message.",
560
- "required": [
561
- "message",
562
- "code"
563
- ],
564
- "properties": {
565
- "message": {
566
- "type": "string"
567
- },
568
- "code": {
569
- "type": "string",
570
- "enum": [
571
- "INVALID AT",
572
- "INVALID FROM"
573
- ]
574
- }
575
- }
576
- },
577
- "Currency": {
578
- "$schema": "https://json-schema.org/draft/2020-12/schema",
579
- "$id": "https://eslint-athena-plugin.checkdigit/eslint-athena-plugin/v2/schemas/definitions/Currency",
580
- "type": "string",
581
- "enum": [
582
- "AED",
583
- "AFN"
584
- ]
585
- },
586
- "ResponseEntry": {
587
- "$schema": "https://json-schema.org/draft/2020-12/schema",
588
- "$id": "https://eslint-athena-plugin.checkdigit/eslint-athena-plugin/v2/schemas/definitions/ResponseEntry",
589
- "type": "object",
590
- "additionalProperties": false,
591
- "required": [
592
- "entryId",
593
- "createdOn",
594
- "postings"
595
- ],
596
- "properties": {
597
- "entryId": {
598
- "type": "string",
599
- "description": "Journal entry ID"
600
- },
601
- "createdOn": {
602
- "type": "string",
603
- "format": "date-time",
604
- "description": "Journal entry creation date/time"
605
- },
606
- "postings": {
607
- "type": "array",
608
- "items": {
609
- "$schema": "https://json-schema.org/draft/2020-12/schema",
610
- "$id": "https://eslint-athena-plugin.checkdigit/eslint-athena-plugin/v2/schemas/definitions/ResponsePost",
611
- "type": "object",
612
- "additionalProperties": false,
613
- "required": [
614
- "amount",
615
- "currency",
616
- "type",
617
- "accountId",
618
- "createdOn"
619
- ],
620
- "properties": {
621
- "amount": {
622
- "type": "string"
623
- },
624
- "currency": {
625
- "$schema": "https://json-schema.org/draft/2020-12/schema",
626
- "$id": "https://eslint-athena-plugin.checkdigit/eslint-athena-plugin/v2/schemas/definitions/Currency",
627
- "type": "string",
628
- "enum": [
629
- "AED",
630
- "AFN"
631
- ]
632
- },
633
- "type": {
634
- "$schema": "https://json-schema.org/draft/2020-12/schema",
635
- "$id": "https://eslint-athena-plugin.checkdigit/eslint-athena-plugin/v2/schemas/definitions/Type",
636
- "type": "string",
637
- "description": "CREDIT or DEBIT",
638
- "enum": [
639
- "CREDIT",
640
- "DEBIT"
641
- ]
642
- },
643
- "createdOn": {
644
- "type": "string",
645
- "format": "date-time"
646
- },
647
- "accountId": {
648
- "type": "string",
649
- "description": "account ID"
650
- }
651
- }
652
- }
653
- }
654
- }
655
- },
656
- "NewEntry": {
657
- "$schema": "https://json-schema.org/draft/2020-12/schema",
658
- "$id": "https://eslint-athena-plugin.checkdigit/eslint-athena-plugin/v2/schemas/definitions/NewEntry",
659
- "type": "object",
660
- "additionalProperties": false,
661
- "required": [
662
- "postings"
663
- ],
664
- "properties": {
665
- "postings": {
666
- "type": "array",
667
- "description": "List of posts contained within the journal entry.",
668
- "items": {
669
- "$schema": "https://json-schema.org/draft/2020-12/schema",
670
- "$id": "https://eslint-athena-plugin.checkdigit/eslint-athena-plugin/v2/schemas/definitions/Post",
671
- "type": "object",
672
- "additionalProperties": false,
673
- "required": [
674
- "amount",
675
- "currency",
676
- "type",
677
- "createdOn",
678
- "accountId"
679
- ],
680
- "properties": {
681
- "amount": {
682
- "type": "string"
683
- },
684
- "currency": {
685
- "$schema": "https://json-schema.org/draft/2020-12/schema",
686
- "$id": "https://eslint-athena-plugin.checkdigit/eslint-athena-plugin/v2/schemas/definitions/Currency",
687
- "type": "string",
688
- "enum": [
689
- "AED",
690
- "AFN"
691
- ]
692
- },
693
- "type": {
694
- "$schema": "https://json-schema.org/draft/2020-12/schema",
695
- "$id": "https://eslint-athena-plugin.checkdigit/eslint-athena-plugin/v2/schemas/definitions/Type",
696
- "type": "string",
697
- "description": "CREDIT or DEBIT",
698
- "enum": [
699
- "CREDIT",
700
- "DEBIT"
701
- ]
702
- },
703
- "createdOn": {
704
- "type": "string",
705
- "format": "date-time"
706
- },
707
- "accountId": {
708
- "type": "string",
709
- "description": "account ID"
710
- }
711
- }
712
- }
713
- }
714
- }
715
- },
716
- "Post": {
717
- "$schema": "https://json-schema.org/draft/2020-12/schema",
718
- "$id": "https://eslint-athena-plugin.checkdigit/eslint-athena-plugin/v2/schemas/definitions/Post",
719
- "type": "object",
720
- "additionalProperties": false,
721
- "required": [
722
- "amount",
723
- "currency",
724
- "type",
725
- "createdOn",
726
- "accountId"
727
- ],
728
- "properties": {
729
- "amount": {
730
- "type": "string"
731
- },
732
- "currency": {
733
- "$schema": "https://json-schema.org/draft/2020-12/schema",
734
- "$id": "https://eslint-athena-plugin.checkdigit/eslint-athena-plugin/v2/schemas/definitions/Currency",
735
- "type": "string",
736
- "enum": [
737
- "AED",
738
- "AFN"
739
- ]
740
- },
741
- "type": {
742
- "$schema": "https://json-schema.org/draft/2020-12/schema",
743
- "$id": "https://eslint-athena-plugin.checkdigit/eslint-athena-plugin/v2/schemas/definitions/Type",
744
- "type": "string",
745
- "description": "CREDIT or DEBIT",
746
- "enum": [
747
- "CREDIT",
748
- "DEBIT"
749
- ]
750
- },
751
- "createdOn": {
752
- "type": "string",
753
- "format": "date-time"
754
- },
755
- "accountId": {
756
- "type": "string",
757
- "description": "account ID"
758
- }
759
- }
760
- },
761
- "ResponsePost": {
762
- "$schema": "https://json-schema.org/draft/2020-12/schema",
763
- "$id": "https://eslint-athena-plugin.checkdigit/eslint-athena-plugin/v2/schemas/definitions/ResponsePost",
764
- "type": "object",
765
- "additionalProperties": false,
766
- "required": [
767
- "amount",
768
- "currency",
769
- "type",
770
- "accountId",
771
- "createdOn"
772
- ],
773
- "properties": {
774
- "amount": {
775
- "type": "string"
776
- },
777
- "currency": {
778
- "$schema": "https://json-schema.org/draft/2020-12/schema",
779
- "$id": "https://eslint-athena-plugin.checkdigit/eslint-athena-plugin/v2/schemas/definitions/Currency",
780
- "type": "string",
781
- "enum": [
782
- "AED",
783
- "AFN"
784
- ]
785
- },
786
- "type": {
787
- "$schema": "https://json-schema.org/draft/2020-12/schema",
788
- "$id": "https://eslint-athena-plugin.checkdigit/eslint-athena-plugin/v2/schemas/definitions/Type",
789
- "type": "string",
790
- "description": "CREDIT or DEBIT",
791
- "enum": [
792
- "CREDIT",
793
- "DEBIT"
794
- ]
795
- },
796
- "createdOn": {
797
- "type": "string",
798
- "format": "date-time"
799
- },
800
- "accountId": {
801
- "type": "string",
802
- "description": "account ID"
803
- }
804
- }
805
- },
806
- "Type": {
807
- "$schema": "https://json-schema.org/draft/2020-12/schema",
808
- "$id": "https://eslint-athena-plugin.checkdigit/eslint-athena-plugin/v2/schemas/definitions/Type",
809
- "type": "string",
810
- "description": "CREDIT or DEBIT",
811
- "enum": [
812
- "CREDIT",
813
- "DEBIT"
814
- ]
815
- },
816
- "CardId": {
817
- "$schema": "https://json-schema.org/draft/2020-12/schema",
818
- "$id": "https://eslint-athena-plugin.checkdigit/eslint-athena-plugin/v2/schemas/definitions/CardId",
819
- "type": "string",
820
- "description": "Card identifier",
821
- "format": "uuid"
822
- },
823
- "Hash": {
824
- "$schema": "https://json-schema.org/draft/2020-12/schema",
825
- "$id": "https://eslint-athena-plugin.checkdigit/eslint-athena-plugin/v2/schemas/definitions/Hash",
826
- "type": "string",
827
- "format": "uuid",
828
- "example": "15a85f64-5717-4562-b3fc-2c963f66afa6",
829
- "description": "UUID derived using @checkdigit/hash"
830
- },
831
- "CardResponse": {
832
- "$schema": "https://json-schema.org/draft/2020-12/schema",
833
- "$id": "https://eslint-athena-plugin.checkdigit/eslint-athena-plugin/v2/schemas/definitions/CardResponse",
834
- "type": "object",
835
- "additionalProperties": false,
836
- "required": [
837
- "dataEncryptionKeyId",
838
- "storageKeyId",
839
- "card"
840
- ],
841
- "properties": {
842
- "encryptedDataEncryptionKey": {
843
- "description": "Encrypted DEK matching the publicKeyHash sent in the request. Used to decrypt values in the Card object.\n",
844
- "type": "string"
845
- },
846
- "card": {
847
- "$schema": "https://json-schema.org/draft/2020-12/schema",
848
- "$id": "https://eslint-athena-plugin.checkdigit/eslint-athena-plugin/v2/schemas/definitions/Card",
849
- "type": "object",
850
- "additionalProperties": false,
851
- "required": [
852
- "last4",
853
- "cardNumber"
854
- ],
855
- "properties": {
856
- "last4": {
857
- "type": "string",
858
- "pattern": "^\\d+$",
859
- "description": "Last four digits of the card number",
860
- "minLength": 4,
861
- "maxLength": 4
862
- },
863
- "cardNumber": {
864
- "type": "string",
865
- "description": "Encrypted card number (PAN)"
866
- }
867
- }
868
- }
869
- }
870
- },
871
- "Card": {
872
- "$schema": "https://json-schema.org/draft/2020-12/schema",
873
- "$id": "https://eslint-athena-plugin.checkdigit/eslint-athena-plugin/v2/schemas/definitions/Card",
874
- "type": "object",
875
- "additionalProperties": false,
876
- "required": [
877
- "last4",
878
- "cardNumber"
879
- ],
880
- "properties": {
881
- "last4": {
882
- "type": "string",
883
- "pattern": "^\\d+$",
884
- "description": "Last four digits of the card number",
885
- "minLength": 4,
886
- "maxLength": 4
887
- },
888
- "cardNumber": {
889
- "type": "string",
890
- "description": "Encrypted card number (PAN)"
891
- }
892
- }
893
- },
894
- "NewCardRequest": {
895
- "$schema": "https://json-schema.org/draft/2020-12/schema",
896
- "$id": "https://eslint-athena-plugin.checkdigit/eslint-athena-plugin/v2/schemas/definitions/NewCardRequest",
897
- "type": "object",
898
- "required": [
899
- "dataEncryptionKeyId",
900
- "cardNumberLength",
901
- "newCard"
902
- ],
903
- "additionalProperties": false,
904
- "properties": {
905
- "dataEncryptionKeyId": {
906
- "$schema": "https://json-schema.org/draft/2020-12/schema",
907
- "$id": "https://eslint-athena-plugin.checkdigit/eslint-athena-plugin/v2/schemas/definitions/DataEncryptionKeyId",
908
- "type": "string",
909
- "description": "Reference to encryption keys Payment Card Service will use to encrypt the Card object.\n",
910
- "format": "uuid"
911
- },
912
- "cardNumberLength": {
913
- "type": "integer",
914
- "description": "Desired number of digits in the card number.",
915
- "minimum": 15,
916
- "maximum": 19
917
- },
918
- "newCard": {
919
- "$schema": "https://json-schema.org/draft/2020-12/schema",
920
- "$id": "https://eslint-athena-plugin.checkdigit/eslint-athena-plugin/v2/schemas/definitions/NewCard",
921
- "type": "object",
922
- "additionalProperties": false,
923
- "required": [
924
- "serviceCode",
925
- "sequenceNumber"
926
- ],
927
- "properties": {
928
- "serviceCode": {
929
- "type": "string",
930
- "pattern": "^\\d+$",
931
- "description": "Used to set general guidelines for how the card can be used, e.g. domestic only or international, online authorizations only, etc.\n",
932
- "minLength": 3,
933
- "maxLength": 3
934
- },
935
- "sequenceNumber": {
936
- "type": "integer",
937
- "description": "Used to differentiate issuing the same card and expiration date on multiple plastics.",
938
- "minimum": 0,
939
- "maximum": 10
940
- }
941
- }
942
- }
943
- }
944
- },
945
- "DataEncryptionKeyId": {
946
- "$schema": "https://json-schema.org/draft/2020-12/schema",
947
- "$id": "https://eslint-athena-plugin.checkdigit/eslint-athena-plugin/v2/schemas/definitions/DataEncryptionKeyId",
948
- "type": "string",
949
- "description": "Reference to encryption keys Payment Card Service will use to encrypt the Card object.\n",
950
- "format": "uuid"
951
- },
952
- "NewCard": {
953
- "$schema": "https://json-schema.org/draft/2020-12/schema",
954
- "$id": "https://eslint-athena-plugin.checkdigit/eslint-athena-plugin/v2/schemas/definitions/NewCard",
955
- "type": "object",
956
- "additionalProperties": false,
957
- "required": [
958
- "serviceCode",
959
- "sequenceNumber"
960
- ],
961
- "properties": {
962
- "serviceCode": {
963
- "type": "string",
964
- "pattern": "^\\d+$",
965
- "description": "Used to set general guidelines for how the card can be used, e.g. domestic only or international, online authorizations only, etc.\n",
966
- "minLength": 3,
967
- "maxLength": 3
968
- },
969
- "sequenceNumber": {
970
- "type": "integer",
971
- "description": "Used to differentiate issuing the same card and expiration date on multiple plastics.",
972
- "minimum": 0,
973
- "maximum": 10
974
- }
975
- }
976
- }
977
- }
978
- }