@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,1445 @@
1
+ {
2
+ "apis": {
3
+ "/person/v1/ping": {
4
+ "get": {
5
+ "request": {
6
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
7
+ "$id": "https://eslint-plugin.checkdigit/person/v1/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-plugin.checkdigit/person/v1/schemas/api/PingGetResponseOK",
22
+ "type": "object",
23
+ "properties": {
24
+ "headers": {
25
+ "type": "object",
26
+ "additionalProperties": true
27
+ },
28
+ "body": {
29
+ "$ref": "/person/v1/schemas/definitions/Ping"
30
+ }
31
+ },
32
+ "required": ["body"],
33
+ "additionalProperties": false
34
+ },
35
+ "default": {
36
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
37
+ "$id": "https://eslint-plugin.checkdigit/person/v1/schemas/api/PingGetResponseDefault",
38
+ "type": "object",
39
+ "properties": {
40
+ "headers": {
41
+ "type": "object",
42
+ "additionalProperties": true
43
+ },
44
+ "body": {
45
+ "$ref": "/person/v1/schemas/definitions/Error"
46
+ }
47
+ },
48
+ "required": ["body"],
49
+ "additionalProperties": false
50
+ }
51
+ }
52
+ }
53
+ },
54
+ "/person/v1/public-key": {
55
+ "get": {
56
+ "request": {
57
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
58
+ "$id": "https://eslint-plugin.checkdigit/person/v1/schemas/api/PublicKeyGetRequestContext",
59
+ "type": "object",
60
+ "properties": {
61
+ "headers": {
62
+ "type": "object",
63
+ "additionalProperties": true
64
+ }
65
+ },
66
+ "required": [],
67
+ "additionalProperties": false
68
+ },
69
+ "responses": {
70
+ "200": {
71
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
72
+ "$id": "https://eslint-plugin.checkdigit/person/v1/schemas/api/PublicKeyGetResponseOK",
73
+ "type": "object",
74
+ "properties": {
75
+ "headers": {
76
+ "type": "object",
77
+ "properties": {
78
+ "created-on": {
79
+ "type": "string",
80
+ "format": "date-time"
81
+ },
82
+ "updated-on": {
83
+ "type": "string",
84
+ "format": "date-time"
85
+ }
86
+ },
87
+ "required": ["created-on", "updated-on"]
88
+ },
89
+ "body": {
90
+ "$ref": "/person/v1/schemas/definitions/PublicKeyResponse"
91
+ }
92
+ },
93
+ "required": ["headers", "body"],
94
+ "additionalProperties": false
95
+ },
96
+ "default": {
97
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
98
+ "$id": "https://eslint-plugin.checkdigit/person/v1/schemas/api/PublicKeyGetResponseDefault",
99
+ "type": "object",
100
+ "properties": {
101
+ "headers": {
102
+ "type": "object",
103
+ "additionalProperties": true
104
+ },
105
+ "body": {
106
+ "$ref": "/person/v1/schemas/definitions/Error"
107
+ }
108
+ },
109
+ "required": ["body"],
110
+ "additionalProperties": false
111
+ }
112
+ }
113
+ }
114
+ },
115
+ "/person/v1/data-encryption-key/:dataEncryptionKeyId": {
116
+ "get": {
117
+ "request": {
118
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
119
+ "$id": "https://eslint-plugin.checkdigit/person/v1/schemas/api/DataEncryptionKeyGetRequestContext",
120
+ "type": "object",
121
+ "properties": {
122
+ "params": {
123
+ "type": "object",
124
+ "additionalProperties": false,
125
+ "properties": {
126
+ "dataEncryptionKeyId": {
127
+ "type": "string",
128
+ "format": "uuid"
129
+ }
130
+ },
131
+ "required": ["dataEncryptionKeyId"]
132
+ },
133
+ "headers": {
134
+ "type": "object",
135
+ "additionalProperties": true
136
+ }
137
+ },
138
+ "required": ["params"],
139
+ "additionalProperties": false
140
+ },
141
+ "responses": {
142
+ "200": {
143
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
144
+ "$id": "https://eslint-plugin.checkdigit/person/v1/schemas/api/DataEncryptionKeyGetResponseOK",
145
+ "type": "object",
146
+ "properties": {
147
+ "headers": {
148
+ "type": "object",
149
+ "properties": {
150
+ "created-on": {
151
+ "type": "string",
152
+ "format": "date-time"
153
+ },
154
+ "updated-on": {
155
+ "type": "string",
156
+ "format": "date-time"
157
+ },
158
+ "last-modified": {
159
+ "type": "string",
160
+ "format": "date-time"
161
+ }
162
+ }
163
+ },
164
+ "body": {
165
+ "$ref": "/person/v1/schemas/definitions/DataEncryptionKeyResponse"
166
+ }
167
+ },
168
+ "required": ["body"],
169
+ "additionalProperties": false
170
+ },
171
+ "404": {
172
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
173
+ "$id": "https://eslint-plugin.checkdigit/person/v1/schemas/api/DataEncryptionKeyGetResponseNotFound",
174
+ "type": "object",
175
+ "properties": {
176
+ "headers": {
177
+ "type": "object",
178
+ "additionalProperties": true
179
+ }
180
+ },
181
+ "required": [],
182
+ "additionalProperties": false
183
+ },
184
+ "default": {
185
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
186
+ "$id": "https://eslint-plugin.checkdigit/person/v1/schemas/api/DataEncryptionKeyGetResponseDefault",
187
+ "type": "object",
188
+ "properties": {
189
+ "headers": {
190
+ "type": "object",
191
+ "additionalProperties": true
192
+ },
193
+ "body": {
194
+ "$ref": "/person/v1/schemas/definitions/Error"
195
+ }
196
+ },
197
+ "required": ["body"],
198
+ "additionalProperties": false
199
+ }
200
+ }
201
+ },
202
+ "put": {
203
+ "request": {
204
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
205
+ "$id": "https://eslint-plugin.checkdigit/person/v1/schemas/api/DataEncryptionKeyPutRequestContext",
206
+ "type": "object",
207
+ "properties": {
208
+ "params": {
209
+ "type": "object",
210
+ "additionalProperties": false,
211
+ "properties": {
212
+ "dataEncryptionKeyId": {
213
+ "type": "string",
214
+ "format": "uuid"
215
+ }
216
+ },
217
+ "required": ["dataEncryptionKeyId"]
218
+ },
219
+ "headers": {
220
+ "type": "object",
221
+ "additionalProperties": true
222
+ },
223
+ "body": {
224
+ "$ref": "/person/v1/schemas/definitions/DataEncryptionKeyRequest"
225
+ }
226
+ },
227
+ "required": ["params", "body"],
228
+ "additionalProperties": false
229
+ },
230
+ "responses": {
231
+ "200": {
232
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
233
+ "$id": "https://eslint-plugin.checkdigit/person/v1/schemas/api/DataEncryptionKeyPutResponseOK",
234
+ "type": "object",
235
+ "properties": {
236
+ "headers": {
237
+ "type": "object",
238
+ "properties": {
239
+ "created-on": {
240
+ "type": "string",
241
+ "format": "date-time"
242
+ },
243
+ "updated-on": {
244
+ "type": "string",
245
+ "format": "date-time"
246
+ },
247
+ "last-modified": {
248
+ "type": "string",
249
+ "format": "date-time"
250
+ }
251
+ }
252
+ },
253
+ "body": {
254
+ "$ref": "/person/v1/schemas/definitions/DataEncryptionKeyResponse"
255
+ }
256
+ },
257
+ "required": ["body"],
258
+ "additionalProperties": false
259
+ },
260
+ "default": {
261
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
262
+ "$id": "https://eslint-plugin.checkdigit/person/v1/schemas/api/DataEncryptionKeyPutResponseDefault",
263
+ "type": "object",
264
+ "properties": {
265
+ "headers": {
266
+ "type": "object",
267
+ "additionalProperties": true
268
+ },
269
+ "body": {
270
+ "$ref": "/person/v1/schemas/definitions/Error"
271
+ }
272
+ },
273
+ "required": ["body"],
274
+ "additionalProperties": false
275
+ }
276
+ }
277
+ }
278
+ },
279
+ "/person/v1/person/:personId": {
280
+ "get": {
281
+ "request": {
282
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
283
+ "$id": "https://eslint-plugin.checkdigit/person/v1/schemas/api/PersonGetRequestContext",
284
+ "type": "object",
285
+ "properties": {
286
+ "params": {
287
+ "type": "object",
288
+ "additionalProperties": false,
289
+ "properties": {
290
+ "at": {
291
+ "type": "string",
292
+ "format": "date-time"
293
+ },
294
+ "publicKeyHash": {
295
+ "type": "string",
296
+ "format": "uuid",
297
+ "example": "15a85f64-5717-4562-b3fc-2c963f66afa6"
298
+ }
299
+ },
300
+ "required": ["at"]
301
+ },
302
+ "headers": {
303
+ "type": "object",
304
+ "additionalProperties": true
305
+ }
306
+ },
307
+ "required": ["params", "query"],
308
+ "additionalProperties": false
309
+ },
310
+ "responses": {
311
+ "200": {
312
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
313
+ "$id": "https://eslint-plugin.checkdigit/person/v1/schemas/api/PersonGetResponseOK",
314
+ "type": "object",
315
+ "properties": {
316
+ "headers": {
317
+ "type": "object",
318
+ "properties": {
319
+ "last-modified": {
320
+ "type": "string",
321
+ "format": "date-time"
322
+ },
323
+ "created-on": {
324
+ "type": "string",
325
+ "format": "date-time"
326
+ },
327
+ "updated-on": {
328
+ "type": "string",
329
+ "format": "date-time"
330
+ },
331
+ "etag": {
332
+ "type": "string"
333
+ }
334
+ }
335
+ },
336
+ "body": {
337
+ "$ref": "/person/v1/schemas/definitions/PersonResponse"
338
+ }
339
+ },
340
+ "required": ["body"],
341
+ "additionalProperties": false
342
+ },
343
+ "404": {
344
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
345
+ "$id": "https://eslint-plugin.checkdigit/person/v1/schemas/api/PersonGetResponseNotFound",
346
+ "type": "object",
347
+ "properties": {
348
+ "headers": {
349
+ "type": "object",
350
+ "additionalProperties": true
351
+ }
352
+ },
353
+ "required": [],
354
+ "additionalProperties": false
355
+ },
356
+ "default": {
357
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
358
+ "$id": "https://eslint-plugin.checkdigit/person/v1/schemas/api/PersonGetResponseDefault",
359
+ "type": "object",
360
+ "properties": {
361
+ "headers": {
362
+ "type": "object",
363
+ "additionalProperties": true
364
+ },
365
+ "body": {
366
+ "$ref": "/person/v1/schemas/definitions/Error"
367
+ }
368
+ },
369
+ "required": ["body"],
370
+ "additionalProperties": false
371
+ }
372
+ }
373
+ },
374
+ "put": {
375
+ "request": {
376
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
377
+ "$id": "https://eslint-plugin.checkdigit/person/v1/schemas/api/PersonPutRequestContext",
378
+ "type": "object",
379
+ "properties": {
380
+ "params": {
381
+ "type": "object",
382
+ "additionalProperties": false,
383
+ "properties": {
384
+ "personId": {
385
+ "type": "string",
386
+ "format": "uuid"
387
+ }
388
+ },
389
+ "required": ["personId"]
390
+ },
391
+ "headers": {
392
+ "type": "object",
393
+ "additionalProperties": true,
394
+ "properties": {
395
+ "if-match": {
396
+ "type": "string"
397
+ },
398
+ "created-on": {
399
+ "type": "string",
400
+ "format": "date-time"
401
+ },
402
+ "last-modified": {
403
+ "type": "string",
404
+ "format": "date-time"
405
+ }
406
+ }
407
+ },
408
+ "body": {
409
+ "$ref": "/person/v1/schemas/definitions/PersonRequest"
410
+ }
411
+ },
412
+ "required": ["params", "body"],
413
+ "additionalProperties": false
414
+ },
415
+ "responses": {
416
+ "200": {
417
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
418
+ "$id": "https://eslint-plugin.checkdigit/person/v1/schemas/api/PersonPutResponseOK",
419
+ "type": "object",
420
+ "properties": {
421
+ "headers": {
422
+ "type": "object",
423
+ "properties": {
424
+ "last-modified": {
425
+ "type": "string",
426
+ "format": "date-time"
427
+ },
428
+ "created-on": {
429
+ "type": "string",
430
+ "format": "date-time"
431
+ },
432
+ "updated-on": {
433
+ "type": "string",
434
+ "format": "date-time"
435
+ },
436
+ "etag": {
437
+ "type": "string"
438
+ }
439
+ }
440
+ },
441
+ "body": {
442
+ "$ref": "/person/v1/schemas/definitions/PersonResponse"
443
+ }
444
+ },
445
+ "required": ["body"],
446
+ "additionalProperties": false
447
+ },
448
+ "409": {
449
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
450
+ "$id": "https://eslint-plugin.checkdigit/person/v1/schemas/api/PersonPutResponseConflict",
451
+ "type": "object",
452
+ "properties": {
453
+ "headers": {
454
+ "type": "object",
455
+ "additionalProperties": true
456
+ }
457
+ },
458
+ "required": [],
459
+ "additionalProperties": false
460
+ },
461
+ "412": {
462
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
463
+ "$id": "https://eslint-plugin.checkdigit/person/v1/schemas/api/PersonPutResponsePreconditionFailed",
464
+ "type": "object",
465
+ "properties": {
466
+ "headers": {
467
+ "type": "object",
468
+ "additionalProperties": true
469
+ }
470
+ },
471
+ "required": [],
472
+ "additionalProperties": false
473
+ },
474
+ "default": {
475
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
476
+ "$id": "https://eslint-plugin.checkdigit/person/v1/schemas/api/PersonPutResponseDefault",
477
+ "type": "object",
478
+ "properties": {
479
+ "headers": {
480
+ "type": "object",
481
+ "additionalProperties": true
482
+ },
483
+ "body": {
484
+ "$ref": "/person/v1/schemas/definitions/Error"
485
+ }
486
+ },
487
+ "required": ["body"],
488
+ "additionalProperties": false
489
+ }
490
+ }
491
+ }
492
+ },
493
+ "/person/v1/person/:personId/history": {
494
+ "get": {
495
+ "request": {
496
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
497
+ "$id": "https://eslint-plugin.checkdigit/person/v1/schemas/api/PersonHistoryGetRequestContext",
498
+ "type": "object",
499
+ "properties": {
500
+ "params": {
501
+ "type": "object",
502
+ "additionalProperties": false,
503
+ "properties": {
504
+ "toDate": {
505
+ "type": "string",
506
+ "description": "Date time in simplified extended ISO format",
507
+ "format": "date-time"
508
+ },
509
+ "fromDate": {
510
+ "type": "string",
511
+ "description": "Date time in simplified extended ISO format",
512
+ "default": "1970-01-01T00:00:00.000Z",
513
+ "format": "date-time"
514
+ },
515
+ "publicKeyHash": {
516
+ "type": "string",
517
+ "format": "uuid",
518
+ "example": "15a85f64-5717-4562-b3fc-2c963f66afa6"
519
+ }
520
+ },
521
+ "required": ["toDate"]
522
+ },
523
+ "headers": {
524
+ "type": "object",
525
+ "additionalProperties": true
526
+ }
527
+ },
528
+ "required": ["params", "query"],
529
+ "additionalProperties": false
530
+ },
531
+ "responses": {
532
+ "200": {
533
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
534
+ "$id": "https://eslint-plugin.checkdigit/person/v1/schemas/api/PersonHistoryGetResponseOK",
535
+ "type": "object",
536
+ "properties": {
537
+ "headers": {
538
+ "type": "object",
539
+ "additionalProperties": true
540
+ },
541
+ "body": {
542
+ "$ref": "/person/v1/schemas/definitions/History"
543
+ }
544
+ },
545
+ "required": ["body"],
546
+ "additionalProperties": false
547
+ },
548
+ "404": {
549
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
550
+ "$id": "https://eslint-plugin.checkdigit/person/v1/schemas/api/PersonHistoryGetResponseNotFound",
551
+ "type": "object",
552
+ "properties": {
553
+ "headers": {
554
+ "type": "object",
555
+ "additionalProperties": true
556
+ }
557
+ },
558
+ "required": [],
559
+ "additionalProperties": false
560
+ },
561
+ "default": {
562
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
563
+ "$id": "https://eslint-plugin.checkdigit/person/v1/schemas/api/PersonHistoryGetResponseDefault",
564
+ "type": "object",
565
+ "properties": {
566
+ "headers": {
567
+ "type": "object",
568
+ "additionalProperties": true
569
+ },
570
+ "body": {
571
+ "$ref": "/person/v1/schemas/definitions/Error"
572
+ }
573
+ },
574
+ "required": ["body"],
575
+ "additionalProperties": false
576
+ }
577
+ }
578
+ }
579
+ },
580
+ "/person/v1/person/:personId/masked": {
581
+ "get": {
582
+ "request": {
583
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
584
+ "$id": "https://eslint-plugin.checkdigit/person/v1/schemas/api/PersonMaskedGetRequestContext",
585
+ "type": "object",
586
+ "properties": {
587
+ "params": {
588
+ "type": "object",
589
+ "additionalProperties": false,
590
+ "properties": {
591
+ "at": {
592
+ "type": "string",
593
+ "format": "date-time"
594
+ }
595
+ },
596
+ "required": ["at"]
597
+ },
598
+ "headers": {
599
+ "type": "object",
600
+ "additionalProperties": true
601
+ }
602
+ },
603
+ "required": ["params", "query"],
604
+ "additionalProperties": false
605
+ },
606
+ "responses": {
607
+ "200": {
608
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
609
+ "$id": "https://eslint-plugin.checkdigit/person/v1/schemas/api/PersonMaskedGetResponseOK",
610
+ "type": "object",
611
+ "properties": {
612
+ "headers": {
613
+ "type": "object",
614
+ "properties": {
615
+ "last-modified": {
616
+ "type": "string",
617
+ "format": "date-time"
618
+ },
619
+ "created-on": {
620
+ "type": "string",
621
+ "format": "date-time"
622
+ },
623
+ "updated-on": {
624
+ "type": "string",
625
+ "format": "date-time"
626
+ },
627
+ "etag": {
628
+ "type": "string"
629
+ }
630
+ }
631
+ },
632
+ "body": {
633
+ "$ref": "/person/v1/schemas/definitions/PersonMaskedResponse"
634
+ }
635
+ },
636
+ "required": ["body"],
637
+ "additionalProperties": false
638
+ },
639
+ "404": {
640
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
641
+ "$id": "https://eslint-plugin.checkdigit/person/v1/schemas/api/PersonMaskedGetResponseNotFound",
642
+ "type": "object",
643
+ "properties": {
644
+ "headers": {
645
+ "type": "object",
646
+ "additionalProperties": true
647
+ }
648
+ },
649
+ "required": [],
650
+ "additionalProperties": false
651
+ },
652
+ "default": {
653
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
654
+ "$id": "https://eslint-plugin.checkdigit/person/v1/schemas/api/PersonMaskedGetResponseDefault",
655
+ "type": "object",
656
+ "properties": {
657
+ "headers": {
658
+ "type": "object",
659
+ "additionalProperties": true
660
+ },
661
+ "body": {
662
+ "$ref": "/person/v1/schemas/definitions/Error"
663
+ }
664
+ },
665
+ "required": ["body"],
666
+ "additionalProperties": false
667
+ }
668
+ }
669
+ }
670
+ }
671
+ },
672
+ "definitions": {
673
+ "Ping": {
674
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
675
+ "$id": "https://eslint-plugin.checkdigit/person/v1/schemas/definitions/Ping",
676
+ "type": "object",
677
+ "additionalProperties": false,
678
+ "required": ["serverTime"],
679
+ "properties": {
680
+ "serverTime": {
681
+ "type": "string",
682
+ "format": "date-time",
683
+ "description": "Current server time"
684
+ }
685
+ }
686
+ },
687
+ "DataEncryptionKeyId": {
688
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
689
+ "$id": "https://eslint-plugin.checkdigit/person/v1/schemas/definitions/DataEncryptionKeyId",
690
+ "type": "string",
691
+ "description": "Reference to encryption keys Person Service used to encrypt the Person object.\n\nUpdates must use the same dataEncryptionKeyId.\n",
692
+ "format": "uuid"
693
+ },
694
+ "DataEncryptionKeyResponse": {
695
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
696
+ "$id": "https://eslint-plugin.checkdigit/person/v1/schemas/definitions/DataEncryptionKeyResponse",
697
+ "type": "object",
698
+ "required": ["encryptedDataEncryptionKeys", "transmissionKey", "createdOn", "lastModified"],
699
+ "properties": {
700
+ "createdOn": {
701
+ "description": "Time data was first stored",
702
+ "type": "string",
703
+ "format": "date-time"
704
+ },
705
+ "lastModified": {
706
+ "description": "Time data was last modified",
707
+ "type": "string",
708
+ "format": "date-time"
709
+ },
710
+ "encryptedDataEncryptionKeys": {
711
+ "type": "array",
712
+ "items": {
713
+ "$ref": "/person/v1/schemas/definitions/EncryptedDataEncryptionKey"
714
+ }
715
+ },
716
+ "transmissionKey": {
717
+ "type": "string",
718
+ "description": "A PEM formatted public key to use when transmitting data to Person service.\nEncrypt the data encryption key used to encrypt data being sent using the transmissionKey.\n"
719
+ }
720
+ }
721
+ },
722
+ "DataEncryptionKeyRequest": {
723
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
724
+ "$id": "https://eslint-plugin.checkdigit/person/v1/schemas/definitions/DataEncryptionKeyRequest",
725
+ "type": "object",
726
+ "additionalProperties": false,
727
+ "required": ["publicKeys"],
728
+ "properties": {
729
+ "publicKeys": {
730
+ "type": "array",
731
+ "minItems": 1,
732
+ "description": "List of public keys in PEM format.\n\nAssociated private keys can be used to decrypt person data encrypted by Person Service.\n",
733
+ "items": {
734
+ "$ref": "/person/v1/schemas/definitions/PublicKey"
735
+ }
736
+ }
737
+ }
738
+ },
739
+ "PersonRequest": {
740
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
741
+ "$id": "https://eslint-plugin.checkdigit/person/v1/schemas/definitions/PersonRequest",
742
+ "type": "object",
743
+ "additionalProperties": false,
744
+ "required": ["dataEncryptionKeyId", "encryptedDataEncryptionKey", "person"],
745
+ "properties": {
746
+ "dataEncryptionKeyId": {
747
+ "$ref": "/person/v1/schemas/definitions/DataEncryptionKeyId"
748
+ },
749
+ "encryptedDataEncryptionKey": {
750
+ "description": "Encrypted version of AES-256 DEK",
751
+ "type": "string"
752
+ },
753
+ "person": {
754
+ "$ref": "/person/v1/schemas/definitions/Person"
755
+ }
756
+ }
757
+ },
758
+ "PersonRecord": {
759
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
760
+ "$id": "https://eslint-plugin.checkdigit/person/v1/schemas/definitions/PersonRecord",
761
+ "type": "object",
762
+ "additionalProperties": false,
763
+ "description": "Encrypted version of object stored with created on and last modified metadata.",
764
+ "required": ["createdOn", "updatedOn", "person"],
765
+ "properties": {
766
+ "createdOn": {
767
+ "description": "Time data was first stored",
768
+ "type": "string",
769
+ "format": "date-time"
770
+ },
771
+ "updatedOn": {
772
+ "description": "Time data was last stored",
773
+ "type": "string",
774
+ "format": "date-time"
775
+ },
776
+ "lastModified": {
777
+ "description": "Time data was last stored (deprecated, use updatedOn)",
778
+ "deprecated": true,
779
+ "type": "string",
780
+ "format": "date-time"
781
+ },
782
+ "person": {
783
+ "$ref": "/person/v1/schemas/definitions/Person"
784
+ }
785
+ }
786
+ },
787
+ "PersonResponse": {
788
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
789
+ "$id": "https://eslint-plugin.checkdigit/person/v1/schemas/definitions/PersonResponse",
790
+ "type": "object",
791
+ "additionalProperties": false,
792
+ "description": "Encrypted version of object stored and related ids and metadata. A encryptedDataEncryptionKey is included if\na publicKeyHash query parameter is supplied as part of request.\n",
793
+ "required": ["dataEncryptionKeyId", "storageKeyId", "createdOn", "updatedOn", "person"],
794
+ "properties": {
795
+ "dataEncryptionKeyId": {
796
+ "$ref": "/person/v1/schemas/definitions/DataEncryptionKeyId"
797
+ },
798
+ "storageKeyId": {
799
+ "type": "string",
800
+ "description": "DEK's non-derived identifier to be used by Check Digit services only.\n"
801
+ },
802
+ "encryptedDataEncryptionKey": {
803
+ "description": "Encrypted DEK matching the publicKeyId sent in the request. Used to decrypt values in the Person object.\n",
804
+ "type": "string"
805
+ },
806
+ "createdOn": {
807
+ "description": "Time data was first stored",
808
+ "type": "string",
809
+ "format": "date-time"
810
+ },
811
+ "updatedOn": {
812
+ "description": "Time data was last stored",
813
+ "type": "string",
814
+ "format": "date-time"
815
+ },
816
+ "lastModified": {
817
+ "description": "Time data was last stored (deprecated, use updatedOn)",
818
+ "deprecated": true,
819
+ "type": "string",
820
+ "format": "date-time"
821
+ },
822
+ "person": {
823
+ "$ref": "/person/v1/schemas/definitions/Person"
824
+ }
825
+ }
826
+ },
827
+ "PersonMaskedResponse": {
828
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
829
+ "$id": "https://eslint-plugin.checkdigit/person/v1/schemas/definitions/PersonMaskedResponse",
830
+ "type": "object",
831
+ "additionalProperties": false,
832
+ "description": "Encrypted version of object stored and related ids and metadata. A encryptedDataEncryptionKey is included if\na publicKeyHash query parameter is supplied as part of request.\n",
833
+ "required": ["createdOn", "updatedOn", "person"],
834
+ "properties": {
835
+ "createdOn": {
836
+ "description": "Time data was first stored",
837
+ "type": "string",
838
+ "format": "date-time"
839
+ },
840
+ "updatedOn": {
841
+ "description": "Time data was last stored",
842
+ "type": "string",
843
+ "format": "date-time"
844
+ },
845
+ "person": {
846
+ "$ref": "/person/v1/schemas/definitions/PersonMasked"
847
+ }
848
+ }
849
+ },
850
+ "PhoneType": {
851
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
852
+ "$id": "https://eslint-plugin.checkdigit/person/v1/schemas/definitions/PhoneType",
853
+ "type": "string",
854
+ "description": "Type of phone number.",
855
+ "enum": ["HOME", "WORK", "MOBILE", "FAX", "MAIN", "OTHER"]
856
+ },
857
+ "PersonMasked": {
858
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
859
+ "$id": "https://eslint-plugin.checkdigit/person/v1/schemas/definitions/PersonMasked",
860
+ "type": "object",
861
+ "additionalProperties": false,
862
+ "description": "This object includes masked person data.\n",
863
+ "properties": {
864
+ "company": {
865
+ "type": "string",
866
+ "description": "Masked company name."
867
+ },
868
+ "firstName": {
869
+ "minLength": 1,
870
+ "type": "string",
871
+ "description": "Masked first name."
872
+ },
873
+ "middleName": {
874
+ "minLength": 1,
875
+ "type": "string",
876
+ "description": "Masked middle name."
877
+ },
878
+ "lastName": {
879
+ "minLength": 1,
880
+ "type": "string",
881
+ "description": "Masked last name."
882
+ },
883
+ "addresses": {
884
+ "type": "array",
885
+ "description": "Masked address information.",
886
+ "items": {
887
+ "$ref": "/person/v1/schemas/definitions/AddressMasked"
888
+ }
889
+ },
890
+ "phones": {
891
+ "type": "array",
892
+ "description": "Masked phone information.",
893
+ "items": {
894
+ "required": ["number", "type"],
895
+ "type": "object",
896
+ "properties": {
897
+ "type": {
898
+ "$ref": "/person/v1/schemas/definitions/PhoneType"
899
+ },
900
+ "number": {
901
+ "minLength": 1,
902
+ "type": "string",
903
+ "description": "Masked phone number."
904
+ }
905
+ }
906
+ }
907
+ },
908
+ "email": {
909
+ "minLength": 1,
910
+ "type": "string",
911
+ "description": "Masked email address."
912
+ },
913
+ "language": {
914
+ "minLength": 1,
915
+ "type": "string",
916
+ "description": "Unmasked language preference."
917
+ },
918
+ "timeZone": {
919
+ "minLength": 1,
920
+ "type": "string",
921
+ "description": "Unmasked time zone preference."
922
+ }
923
+ }
924
+ },
925
+ "EncryptedDataEncryptionKey": {
926
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
927
+ "$id": "https://eslint-plugin.checkdigit/person/v1/schemas/definitions/EncryptedDataEncryptionKey",
928
+ "type": "object",
929
+ "additionalProperties": false,
930
+ "description": "An object that includes an encrypted data encryption key and a hashed version of the public key used to encrypt it.\n",
931
+ "required": ["publicKeyHash", "encryptedDataEncryptionKey"],
932
+ "properties": {
933
+ "publicKeyHash": {
934
+ "$ref": "/person/v1/schemas/definitions/PublicKeyHash"
935
+ },
936
+ "encryptedDataEncryptionKey": {
937
+ "description": "Data encryption key encrypted with a public key.",
938
+ "type": "string"
939
+ }
940
+ }
941
+ },
942
+ "PublicKeyHash": {
943
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
944
+ "$id": "https://eslint-plugin.checkdigit/person/v1/schemas/definitions/PublicKeyHash",
945
+ "type": "string",
946
+ "description": "UUID derived using @checkdigit/hash",
947
+ "format": "uuid",
948
+ "example": "15a85f64-5717-4562-b3fc-2c963f66afa6"
949
+ },
950
+ "Person": {
951
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
952
+ "$id": "https://eslint-plugin.checkdigit/person/v1/schemas/definitions/Person",
953
+ "type": "object",
954
+ "additionalProperties": false,
955
+ "properties": {
956
+ "company": {
957
+ "minLength": 1,
958
+ "type": "string",
959
+ "description": "Encrypted company name using the AES algorithm"
960
+ },
961
+ "title": {
962
+ "minLength": 1,
963
+ "type": "string",
964
+ "description": "Encrypted title using the AES algorithm"
965
+ },
966
+ "firstName": {
967
+ "minLength": 1,
968
+ "type": "string",
969
+ "description": "Encrypted first name using the AES algorithm"
970
+ },
971
+ "middleName": {
972
+ "minLength": 1,
973
+ "type": "string",
974
+ "description": "Encrypted middle name using the AES algorithm"
975
+ },
976
+ "lastName": {
977
+ "minLength": 1,
978
+ "type": "string",
979
+ "description": "Encrypted last name using the AES algorithm"
980
+ },
981
+ "addresses": {
982
+ "type": "array",
983
+ "items": {
984
+ "$ref": "/person/v1/schemas/definitions/Address"
985
+ }
986
+ },
987
+ "phones": {
988
+ "type": "array",
989
+ "items": {
990
+ "$ref": "/person/v1/schemas/definitions/Phone"
991
+ }
992
+ },
993
+ "email": {
994
+ "minLength": 1,
995
+ "type": "string",
996
+ "description": "Encrypted email address using the AES algorithm"
997
+ },
998
+ "language": {
999
+ "minLength": 1,
1000
+ "type": "string",
1001
+ "description": "User's language preference"
1002
+ },
1003
+ "timeZone": {
1004
+ "minLength": 1,
1005
+ "type": "string",
1006
+ "description": "User's timezone"
1007
+ }
1008
+ }
1009
+ },
1010
+ "History": {
1011
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1012
+ "$id": "https://eslint-plugin.checkdigit/person/v1/schemas/definitions/History",
1013
+ "type": "object",
1014
+ "additionalProperties": false,
1015
+ "required": ["updates"],
1016
+ "properties": {
1017
+ "dataEncryptionKeyId": {
1018
+ "type": "string",
1019
+ "description": "Reference to encryption keys Person Service used to encrypt the Person object.\n\nUpdates must use the same dataEncryptionKeyId.\n",
1020
+ "format": "uuid"
1021
+ },
1022
+ "storageKeyId": {
1023
+ "type": "string",
1024
+ "description": "DEK's non-derived identifier to be used by Check Digit services only.\n"
1025
+ },
1026
+ "encryptedDataEncryptionKey": {
1027
+ "description": "Encrypted DEK matching the publicKeyId sent in the request. Used to decrypt all the items in the list.\n",
1028
+ "type": "string"
1029
+ },
1030
+ "updates": {
1031
+ "type": "array",
1032
+ "description": "A list of PersonRecord objects. Each object represents a change to data in the Person object.\nObjects are sorted by the lastModified date with the most recent object first.\n",
1033
+ "items": {
1034
+ "$ref": "/person/v1/schemas/definitions/PersonRecord"
1035
+ }
1036
+ }
1037
+ }
1038
+ },
1039
+ "Address": {
1040
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1041
+ "$id": "https://eslint-plugin.checkdigit/person/v1/schemas/definitions/Address",
1042
+ "required": ["country", "streetLines", "type"],
1043
+ "type": "object",
1044
+ "properties": {
1045
+ "type": {
1046
+ "type": "string",
1047
+ "description": "Type of address",
1048
+ "enum": ["BILLING", "SHIPPING", "STATEMENTS", "OTHER"]
1049
+ },
1050
+ "streetLines": {
1051
+ "maxItems": 4,
1052
+ "minItems": 1,
1053
+ "type": "array",
1054
+ "description": "Encrypted street lines using the AES algorithm",
1055
+ "items": {
1056
+ "minLength": 1,
1057
+ "type": "string",
1058
+ "description": "Street line"
1059
+ }
1060
+ },
1061
+ "city": {
1062
+ "minLength": 1,
1063
+ "type": "string",
1064
+ "description": "City"
1065
+ },
1066
+ "region": {
1067
+ "minLength": 1,
1068
+ "type": "string",
1069
+ "description": "Region, State or Province"
1070
+ },
1071
+ "postalCode": {
1072
+ "minLength": 1,
1073
+ "type": "string",
1074
+ "description": "AES encrypted postal code. This value should contain only alphanumeric characters.\nIncluding non-alphanumeric characters will result in a 400 when sent as a request.\n"
1075
+ },
1076
+ "reportablePostalCode": {
1077
+ "type": "string",
1078
+ "description": "Postal code for reporting purposes."
1079
+ },
1080
+ "country": {
1081
+ "$ref": "/person/v1/schemas/definitions/Country"
1082
+ }
1083
+ }
1084
+ },
1085
+ "AddressMasked": {
1086
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1087
+ "$id": "https://eslint-plugin.checkdigit/person/v1/schemas/definitions/AddressMasked",
1088
+ "type": "object",
1089
+ "required": ["country", "streetLines", "type"],
1090
+ "properties": {
1091
+ "type": {
1092
+ "type": "string",
1093
+ "description": "Type of address.",
1094
+ "enum": ["BILLING", "SHIPPING", "STATEMENTS", "OTHER"]
1095
+ },
1096
+ "streetLines": {
1097
+ "maxItems": 4,
1098
+ "minItems": 1,
1099
+ "type": "array",
1100
+ "description": "Street lines with all non-numeric characters masked.",
1101
+ "items": {
1102
+ "minLength": 1,
1103
+ "type": "string",
1104
+ "description": "Masked street line."
1105
+ }
1106
+ },
1107
+ "city": {
1108
+ "minLength": 1,
1109
+ "type": "string",
1110
+ "description": "Unmasked city."
1111
+ },
1112
+ "region": {
1113
+ "minLength": 1,
1114
+ "type": "string",
1115
+ "description": "Unmasked region, state or province."
1116
+ },
1117
+ "country": {
1118
+ "$ref": "/person/v1/schemas/definitions/Country"
1119
+ },
1120
+ "postalCodeLongHash": {
1121
+ "minLength": 1,
1122
+ "type": "string",
1123
+ "description": "Long-form postal code hashed using @checkdigit/hash."
1124
+ },
1125
+ "postalCodeShortHash": {
1126
+ "minLength": 1,
1127
+ "type": "string",
1128
+ "description": "Short-form postal code hashed using @checkdigit/hash."
1129
+ }
1130
+ }
1131
+ },
1132
+ "Phone": {
1133
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1134
+ "$id": "https://eslint-plugin.checkdigit/person/v1/schemas/definitions/Phone",
1135
+ "required": ["number", "type"],
1136
+ "type": "object",
1137
+ "properties": {
1138
+ "type": {
1139
+ "$ref": "/person/v1/schemas/definitions/PhoneType"
1140
+ },
1141
+ "number": {
1142
+ "minLength": 1,
1143
+ "type": "string",
1144
+ "description": "Encrypted phone number using the AES algorithm"
1145
+ },
1146
+ "extension": {
1147
+ "minLength": 1,
1148
+ "type": "string",
1149
+ "description": "Encrypted phone number extension using the AES algorithm"
1150
+ }
1151
+ }
1152
+ },
1153
+ "Error": {
1154
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1155
+ "$id": "https://eslint-plugin.checkdigit/person/v1/schemas/definitions/Error",
1156
+ "type": "object",
1157
+ "properties": {
1158
+ "message": {
1159
+ "minLength": 1,
1160
+ "type": "string"
1161
+ },
1162
+ "code": {
1163
+ "type": "string"
1164
+ }
1165
+ },
1166
+ "description": "Error message"
1167
+ },
1168
+ "PublicKey": {
1169
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1170
+ "$id": "https://eslint-plugin.checkdigit/person/v1/schemas/definitions/PublicKey",
1171
+ "description": "RSA generated public key in PEM format",
1172
+ "type": "string",
1173
+ "example": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwm2sxmRdTF7ZIBA6+ngO\n8jOTCHmID0PpQB1q85+hrcLSfB1rWY9bzNNLabBo/ajDnA4Pcadq/x6gpg70qZcR\n9Wxm6TttKzBPZsxasGXgSTDqEi2KcYZgq1mL4qyxUvyIms7/llGy+W9b5huZaVcO\nxdT1tw/zctbOhb6S2t5vH+zkta/2ncUXjG7i8XdLsJ1qe4K1kYbA4KVkOMmAtw7O\n4STk0TZDD0YARdmrciorJjbIVt0Xj1CrYQ5QbDGrlfeXgrcZwX5f9wT2MnKlY5oZ\n5Wtb57oGtLkVf8g6vN/2jGtAmOmHK2hHwNd/+zUet5G/S5uwEli4RgMPP4pUoKgd\nGQIDAQAB\n-----END PUBLIC KEY-----\n"
1174
+ },
1175
+ "PublicKeyResponse": {
1176
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1177
+ "$id": "https://eslint-plugin.checkdigit/person/v1/schemas/definitions/PublicKeyResponse",
1178
+ "description": "This object contains the rsa generated public key for the Person Service. This public key must be used\nwhen transmitting encrypted data to Person Service APIs.\n",
1179
+ "type": "object",
1180
+ "required": ["publicKey"],
1181
+ "properties": {
1182
+ "publicKey": {
1183
+ "$ref": "/person/v1/schemas/definitions/PublicKey"
1184
+ }
1185
+ }
1186
+ },
1187
+ "Country": {
1188
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1189
+ "$id": "https://eslint-plugin.checkdigit/person/v1/schemas/definitions/Country",
1190
+ "type": "string",
1191
+ "description": "Country ISO 3166-1 alpha-2 codes",
1192
+ "enum": [
1193
+ "AD",
1194
+ "AE",
1195
+ "AF",
1196
+ "AG",
1197
+ "AI",
1198
+ "AL",
1199
+ "AM",
1200
+ "AO",
1201
+ "AQ",
1202
+ "AR",
1203
+ "AS",
1204
+ "AT",
1205
+ "AU",
1206
+ "AW",
1207
+ "AX",
1208
+ "AZ",
1209
+ "BA",
1210
+ "BB",
1211
+ "BD",
1212
+ "BE",
1213
+ "BF",
1214
+ "BG",
1215
+ "BH",
1216
+ "BI",
1217
+ "BJ",
1218
+ "BL",
1219
+ "BM",
1220
+ "BN",
1221
+ "BO",
1222
+ "BQ",
1223
+ "BR",
1224
+ "BS",
1225
+ "BT",
1226
+ "BV",
1227
+ "BW",
1228
+ "BY",
1229
+ "BZ",
1230
+ "CA",
1231
+ "CC",
1232
+ "CD",
1233
+ "CF",
1234
+ "CG",
1235
+ "CH",
1236
+ "CI",
1237
+ "CK",
1238
+ "CL",
1239
+ "CM",
1240
+ "CN",
1241
+ "CO",
1242
+ "CR",
1243
+ "CU",
1244
+ "CV",
1245
+ "CW",
1246
+ "CX",
1247
+ "CY",
1248
+ "CZ",
1249
+ "DE",
1250
+ "DJ",
1251
+ "DK",
1252
+ "DM",
1253
+ "DO",
1254
+ "DZ",
1255
+ "EC",
1256
+ "EE",
1257
+ "EG",
1258
+ "EH",
1259
+ "ER",
1260
+ "ES",
1261
+ "ET",
1262
+ "FI",
1263
+ "FJ",
1264
+ "FK",
1265
+ "FM",
1266
+ "FO",
1267
+ "FR",
1268
+ "GA",
1269
+ "GB",
1270
+ "GD",
1271
+ "GE",
1272
+ "GF",
1273
+ "GG",
1274
+ "GH",
1275
+ "GI",
1276
+ "GL",
1277
+ "GM",
1278
+ "GN",
1279
+ "GP",
1280
+ "GQ",
1281
+ "GR",
1282
+ "GS",
1283
+ "GT",
1284
+ "GU",
1285
+ "GW",
1286
+ "GY",
1287
+ "HK",
1288
+ "HM",
1289
+ "HN",
1290
+ "HR",
1291
+ "HT",
1292
+ "HU",
1293
+ "ID",
1294
+ "IE",
1295
+ "IL",
1296
+ "IM",
1297
+ "IN",
1298
+ "IO",
1299
+ "IQ",
1300
+ "IR",
1301
+ "IS",
1302
+ "IT",
1303
+ "JE",
1304
+ "JM",
1305
+ "JO",
1306
+ "JP",
1307
+ "KE",
1308
+ "KG",
1309
+ "KH",
1310
+ "KI",
1311
+ "KM",
1312
+ "KN",
1313
+ "KP",
1314
+ "KR",
1315
+ "KW",
1316
+ "KY",
1317
+ "KZ",
1318
+ "LA",
1319
+ "LB",
1320
+ "LC",
1321
+ "LI",
1322
+ "LK",
1323
+ "LR",
1324
+ "LS",
1325
+ "LT",
1326
+ "LU",
1327
+ "LV",
1328
+ "LY",
1329
+ "MA",
1330
+ "MC",
1331
+ "MD",
1332
+ "ME",
1333
+ "MF",
1334
+ "MG",
1335
+ "MH",
1336
+ "MK",
1337
+ "ML",
1338
+ "MM",
1339
+ "MN",
1340
+ "MO",
1341
+ "MP",
1342
+ "MQ",
1343
+ "MR",
1344
+ "MS",
1345
+ "MT",
1346
+ "MU",
1347
+ "MV",
1348
+ "MW",
1349
+ "MX",
1350
+ "MY",
1351
+ "MZ",
1352
+ "NA",
1353
+ "NC",
1354
+ "NE",
1355
+ "NF",
1356
+ "NG",
1357
+ "NI",
1358
+ "NL",
1359
+ "NO",
1360
+ "NP",
1361
+ "NR",
1362
+ "NU",
1363
+ "NZ",
1364
+ "OM",
1365
+ "PA",
1366
+ "PE",
1367
+ "PF",
1368
+ "PG",
1369
+ "PH",
1370
+ "PK",
1371
+ "PL",
1372
+ "PM",
1373
+ "PN",
1374
+ "PR",
1375
+ "PS",
1376
+ "PT",
1377
+ "PW",
1378
+ "PY",
1379
+ "QA",
1380
+ "RE",
1381
+ "RO",
1382
+ "RS",
1383
+ "RU",
1384
+ "RW",
1385
+ "SA",
1386
+ "SB",
1387
+ "SC",
1388
+ "SD",
1389
+ "SE",
1390
+ "SG",
1391
+ "SH",
1392
+ "SI",
1393
+ "SJ",
1394
+ "SK",
1395
+ "SL",
1396
+ "SM",
1397
+ "SN",
1398
+ "SO",
1399
+ "SR",
1400
+ "SS",
1401
+ "ST",
1402
+ "SV",
1403
+ "SX",
1404
+ "SY",
1405
+ "SZ",
1406
+ "TC",
1407
+ "TD",
1408
+ "TF",
1409
+ "TG",
1410
+ "TH",
1411
+ "TJ",
1412
+ "TK",
1413
+ "TL",
1414
+ "TM",
1415
+ "TN",
1416
+ "TO",
1417
+ "TR",
1418
+ "TT",
1419
+ "TV",
1420
+ "TW",
1421
+ "TZ",
1422
+ "UA",
1423
+ "UG",
1424
+ "UM",
1425
+ "US",
1426
+ "UY",
1427
+ "UZ",
1428
+ "VA",
1429
+ "VC",
1430
+ "VE",
1431
+ "VG",
1432
+ "VI",
1433
+ "VN",
1434
+ "VU",
1435
+ "WF",
1436
+ "WS",
1437
+ "YE",
1438
+ "YT",
1439
+ "ZA",
1440
+ "ZM",
1441
+ "ZW"
1442
+ ]
1443
+ }
1444
+ }
1445
+ }