@furystack/rest-service 7.0.0 → 7.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/esm/actions/error-action.js +25 -0
  2. package/esm/actions/error-action.js.map +1 -0
  3. package/esm/actions/get-current-user.js +12 -0
  4. package/esm/actions/get-current-user.js.map +1 -0
  5. package/esm/actions/index.js +7 -0
  6. package/esm/actions/index.js.map +1 -0
  7. package/esm/actions/is-authenticated.js +13 -0
  8. package/esm/actions/is-authenticated.js.map +1 -0
  9. package/esm/actions/login.js +22 -0
  10. package/esm/actions/login.js.map +1 -0
  11. package/esm/actions/logout.js +15 -0
  12. package/esm/actions/logout.js.map +1 -0
  13. package/esm/actions/not-found-action.js +10 -0
  14. package/esm/actions/not-found-action.js.map +1 -0
  15. package/esm/api-manager.js +153 -0
  16. package/esm/api-manager.js.map +1 -0
  17. package/esm/authenticate.js +16 -0
  18. package/esm/authenticate.js.map +1 -0
  19. package/esm/authorize.js +19 -0
  20. package/esm/authorize.js.map +1 -0
  21. package/esm/endpoint-generators/create-delete-endpoint.js +20 -0
  22. package/esm/endpoint-generators/create-delete-endpoint.js.map +1 -0
  23. package/esm/endpoint-generators/create-get-collection-endpoint.js +22 -0
  24. package/esm/endpoint-generators/create-get-collection-endpoint.js.map +1 -0
  25. package/esm/endpoint-generators/create-get-entity-endpoint.js +25 -0
  26. package/esm/endpoint-generators/create-get-entity-endpoint.js.map +1 -0
  27. package/esm/endpoint-generators/create-patch-endpoint.js +22 -0
  28. package/esm/endpoint-generators/create-patch-endpoint.js.map +1 -0
  29. package/esm/endpoint-generators/create-post-endpoint.js +25 -0
  30. package/esm/endpoint-generators/create-post-endpoint.js.map +1 -0
  31. package/esm/endpoint-generators/index.js +6 -0
  32. package/esm/endpoint-generators/index.js.map +1 -0
  33. package/esm/endpoint-generators/utils.js +23 -0
  34. package/esm/endpoint-generators/utils.js.map +1 -0
  35. package/esm/helpers.js +28 -0
  36. package/esm/helpers.js.map +1 -0
  37. package/esm/http-authentication-settings.js +26 -0
  38. package/esm/http-authentication-settings.js.map +1 -0
  39. package/esm/http-user-context.js +168 -0
  40. package/esm/http-user-context.js.map +1 -0
  41. package/esm/incoming-message-extensions.js +11 -0
  42. package/esm/incoming-message-extensions.js.map +1 -0
  43. package/esm/index.js +19 -0
  44. package/esm/index.js.map +1 -0
  45. package/esm/mime-types.js +333 -0
  46. package/esm/mime-types.js.map +1 -0
  47. package/esm/models/cors-options.js +2 -0
  48. package/esm/models/cors-options.js.map +1 -0
  49. package/esm/models/default-session.js +6 -0
  50. package/esm/models/default-session.js.map +1 -0
  51. package/esm/models/index.js +3 -0
  52. package/esm/models/index.js.map +1 -0
  53. package/esm/request-action-implementation.js +34 -0
  54. package/esm/request-action-implementation.js.map +1 -0
  55. package/esm/schema-validator/index.js +3 -0
  56. package/esm/schema-validator/index.js.map +1 -0
  57. package/esm/schema-validator/schema-validation-error.js +11 -0
  58. package/esm/schema-validator/schema-validation-error.js.map +1 -0
  59. package/esm/schema-validator/schema-validator.js +31 -0
  60. package/esm/schema-validator/schema-validator.js.map +1 -0
  61. package/esm/schema-validator/validate-examples.js +26 -0
  62. package/esm/schema-validator/validate-examples.js.map +1 -0
  63. package/esm/server-manager.js +73 -0
  64. package/esm/server-manager.js.map +1 -0
  65. package/esm/server-response-extensions.js +12 -0
  66. package/esm/server-response-extensions.js.map +1 -0
  67. package/esm/static-server-manager.js +68 -0
  68. package/esm/static-server-manager.js.map +1 -0
  69. package/esm/utils.js +70 -0
  70. package/esm/utils.js.map +1 -0
  71. package/esm/validate.integration.schema.js +2 -0
  72. package/esm/validate.integration.schema.js.map +1 -0
  73. package/esm/validate.integration.spec.schema.json +903 -0
  74. package/esm/validate.js +43 -0
  75. package/esm/validate.js.map +1 -0
  76. package/package.json +9 -9
@@ -0,0 +1,903 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "definitions": {
4
+ "DeleteEndpoint<Mock,\"id\">": {
5
+ "additionalProperties": false,
6
+ "description": "Endpoint model for deleting entities",
7
+ "properties": {
8
+ "result": {
9
+ "additionalProperties": false,
10
+ "type": "object"
11
+ },
12
+ "url": {
13
+ "additionalProperties": false,
14
+ "properties": {
15
+ "id": {
16
+ "type": "string"
17
+ }
18
+ },
19
+ "required": [
20
+ "id"
21
+ ],
22
+ "type": "object"
23
+ }
24
+ },
25
+ "required": [
26
+ "url",
27
+ "result"
28
+ ],
29
+ "type": "object"
30
+ },
31
+ "FilterType<Mock>": {
32
+ "additionalProperties": false,
33
+ "properties": {
34
+ "$and": {
35
+ "items": {
36
+ "$ref": "#/definitions/FilterType%3CMock%3E"
37
+ },
38
+ "type": "array"
39
+ },
40
+ "$nor": {
41
+ "items": {
42
+ "$ref": "#/definitions/FilterType%3CMock%3E"
43
+ },
44
+ "type": "array"
45
+ },
46
+ "$not": {
47
+ "items": {
48
+ "$ref": "#/definitions/FilterType%3CMock%3E"
49
+ },
50
+ "type": "array"
51
+ },
52
+ "$or": {
53
+ "items": {
54
+ "$ref": "#/definitions/FilterType%3CMock%3E"
55
+ },
56
+ "type": "array"
57
+ },
58
+ "id": {
59
+ "anyOf": [
60
+ {
61
+ "additionalProperties": false,
62
+ "properties": {
63
+ "$endsWith": {
64
+ "type": "string"
65
+ },
66
+ "$like": {
67
+ "type": "string"
68
+ },
69
+ "$regex": {
70
+ "type": "string"
71
+ },
72
+ "$startsWith": {
73
+ "type": "string"
74
+ }
75
+ },
76
+ "type": "object"
77
+ },
78
+ {
79
+ "additionalProperties": false,
80
+ "properties": {
81
+ "$eq": {
82
+ "type": "string"
83
+ },
84
+ "$ne": {
85
+ "type": "string"
86
+ }
87
+ },
88
+ "type": "object"
89
+ },
90
+ {
91
+ "additionalProperties": false,
92
+ "properties": {
93
+ "$in": {
94
+ "items": {
95
+ "type": "string"
96
+ },
97
+ "type": "array"
98
+ },
99
+ "$nin": {
100
+ "items": {
101
+ "type": "string"
102
+ },
103
+ "type": "array"
104
+ }
105
+ },
106
+ "type": "object"
107
+ }
108
+ ]
109
+ },
110
+ "value": {
111
+ "anyOf": [
112
+ {
113
+ "additionalProperties": false,
114
+ "properties": {
115
+ "$endsWith": {
116
+ "type": "string"
117
+ },
118
+ "$like": {
119
+ "type": "string"
120
+ },
121
+ "$regex": {
122
+ "type": "string"
123
+ },
124
+ "$startsWith": {
125
+ "type": "string"
126
+ }
127
+ },
128
+ "type": "object"
129
+ },
130
+ {
131
+ "additionalProperties": false,
132
+ "properties": {
133
+ "$eq": {
134
+ "type": "string"
135
+ },
136
+ "$ne": {
137
+ "type": "string"
138
+ }
139
+ },
140
+ "type": "object"
141
+ },
142
+ {
143
+ "additionalProperties": false,
144
+ "properties": {
145
+ "$in": {
146
+ "items": {
147
+ "type": "string"
148
+ },
149
+ "type": "array"
150
+ },
151
+ "$nin": {
152
+ "items": {
153
+ "type": "string"
154
+ },
155
+ "type": "array"
156
+ }
157
+ },
158
+ "type": "object"
159
+ }
160
+ ]
161
+ }
162
+ },
163
+ "type": "object"
164
+ },
165
+ "FindOptions<Mock,(\"id\"|\"value\")[]>": {
166
+ "additionalProperties": false,
167
+ "description": "Type for default filtering model",
168
+ "properties": {
169
+ "filter": {
170
+ "$ref": "#/definitions/FilterType%3CMock%3E",
171
+ "description": "The fields should match this filter"
172
+ },
173
+ "order": {
174
+ "additionalProperties": false,
175
+ "description": "Sets up an order by a field and a direction",
176
+ "properties": {
177
+ "id": {
178
+ "enum": [
179
+ "ASC",
180
+ "DESC"
181
+ ],
182
+ "type": "string"
183
+ },
184
+ "value": {
185
+ "enum": [
186
+ "ASC",
187
+ "DESC"
188
+ ],
189
+ "type": "string"
190
+ }
191
+ },
192
+ "type": "object"
193
+ },
194
+ "select": {
195
+ "description": "The result set will be limited to these fields",
196
+ "items": {
197
+ "enum": [
198
+ "id",
199
+ "value"
200
+ ],
201
+ "type": "string"
202
+ },
203
+ "type": "array"
204
+ },
205
+ "skip": {
206
+ "description": "Skips the first N hit",
207
+ "type": "number"
208
+ },
209
+ "top": {
210
+ "description": "Limits the hits",
211
+ "type": "number"
212
+ }
213
+ },
214
+ "type": "object"
215
+ },
216
+ "GetCollectionEndpoint<Mock>": {
217
+ "additionalProperties": false,
218
+ "description": "Rest endpoint model for getting / querying collections",
219
+ "properties": {
220
+ "query": {
221
+ "additionalProperties": false,
222
+ "properties": {
223
+ "findOptions": {
224
+ "$ref": "#/definitions/FindOptions%3CMock%2C(%22id%22%7C%22value%22)%5B%5D%3E"
225
+ }
226
+ },
227
+ "type": "object"
228
+ },
229
+ "result": {
230
+ "$ref": "#/definitions/GetCollectionResult%3CMock%3E"
231
+ }
232
+ },
233
+ "required": [
234
+ "query",
235
+ "result"
236
+ ],
237
+ "type": "object"
238
+ },
239
+ "GetCollectionResult<Mock>": {
240
+ "additionalProperties": false,
241
+ "description": "Response Model for GetCollection",
242
+ "properties": {
243
+ "count": {
244
+ "description": "The Total count of entities",
245
+ "type": "number"
246
+ },
247
+ "entries": {
248
+ "description": "List of the selected entities",
249
+ "items": {
250
+ "$ref": "#/definitions/Mock"
251
+ },
252
+ "type": "array"
253
+ }
254
+ },
255
+ "required": [
256
+ "count",
257
+ "entries"
258
+ ],
259
+ "type": "object"
260
+ },
261
+ "GetEntityEndpoint<Mock,\"id\">": {
262
+ "additionalProperties": false,
263
+ "description": "Endpoint model for getting a single entity",
264
+ "properties": {
265
+ "query": {
266
+ "additionalProperties": false,
267
+ "properties": {
268
+ "select": {
269
+ "description": "The list of fields to select",
270
+ "items": {
271
+ "enum": [
272
+ "id",
273
+ "value"
274
+ ],
275
+ "type": "string"
276
+ },
277
+ "type": "array"
278
+ }
279
+ },
280
+ "type": "object"
281
+ },
282
+ "result": {
283
+ "$ref": "#/definitions/Mock"
284
+ },
285
+ "url": {
286
+ "additionalProperties": false,
287
+ "properties": {
288
+ "id": {
289
+ "description": "The entity's unique identifier",
290
+ "type": "string"
291
+ }
292
+ },
293
+ "required": [
294
+ "id"
295
+ ],
296
+ "type": "object"
297
+ }
298
+ },
299
+ "required": [
300
+ "query",
301
+ "url",
302
+ "result"
303
+ ],
304
+ "type": "object"
305
+ },
306
+ "Mock": {
307
+ "additionalProperties": false,
308
+ "properties": {
309
+ "id": {
310
+ "type": "string"
311
+ },
312
+ "value": {
313
+ "type": "string"
314
+ }
315
+ },
316
+ "required": [
317
+ "id",
318
+ "value"
319
+ ],
320
+ "type": "object"
321
+ },
322
+ "PatchEndpoint<Mock,\"id\">": {
323
+ "additionalProperties": false,
324
+ "description": "Endpoint model for updating entities",
325
+ "properties": {
326
+ "body": {
327
+ "additionalProperties": false,
328
+ "properties": {
329
+ "id": {
330
+ "type": "string"
331
+ },
332
+ "value": {
333
+ "type": "string"
334
+ }
335
+ },
336
+ "type": "object"
337
+ },
338
+ "result": {
339
+ "additionalProperties": false,
340
+ "type": "object"
341
+ },
342
+ "url": {
343
+ "additionalProperties": false,
344
+ "properties": {
345
+ "id": {
346
+ "type": "string"
347
+ }
348
+ },
349
+ "required": [
350
+ "id"
351
+ ],
352
+ "type": "object"
353
+ }
354
+ },
355
+ "required": [
356
+ "body",
357
+ "url",
358
+ "result"
359
+ ],
360
+ "type": "object"
361
+ },
362
+ "PostEndpoint<Mock,\"id\">": {
363
+ "additionalProperties": false,
364
+ "description": "Endpoint model for creating new entities",
365
+ "properties": {
366
+ "body": {
367
+ "$ref": "#/definitions/WithOptionalId%3CMock%2C%22id%22%3E"
368
+ },
369
+ "result": {
370
+ "$ref": "#/definitions/Mock"
371
+ }
372
+ },
373
+ "required": [
374
+ "body",
375
+ "result"
376
+ ],
377
+ "type": "object"
378
+ },
379
+ "RestApi": {
380
+ "additionalProperties": false,
381
+ "properties": {
382
+ "CONNECT": {
383
+ "additionalProperties": {
384
+ "additionalProperties": false,
385
+ "properties": {
386
+ "body": {},
387
+ "headers": {},
388
+ "query": {},
389
+ "result": {},
390
+ "url": {}
391
+ },
392
+ "required": [
393
+ "result"
394
+ ],
395
+ "type": "object"
396
+ },
397
+ "type": "object"
398
+ },
399
+ "DELETE": {
400
+ "additionalProperties": {
401
+ "additionalProperties": false,
402
+ "properties": {
403
+ "body": {},
404
+ "headers": {},
405
+ "query": {},
406
+ "result": {},
407
+ "url": {}
408
+ },
409
+ "required": [
410
+ "result"
411
+ ],
412
+ "type": "object"
413
+ },
414
+ "type": "object"
415
+ },
416
+ "GET": {
417
+ "additionalProperties": {
418
+ "additionalProperties": false,
419
+ "properties": {
420
+ "body": {},
421
+ "headers": {},
422
+ "query": {},
423
+ "result": {},
424
+ "url": {}
425
+ },
426
+ "required": [
427
+ "result"
428
+ ],
429
+ "type": "object"
430
+ },
431
+ "type": "object"
432
+ },
433
+ "HEAD": {
434
+ "additionalProperties": {
435
+ "additionalProperties": false,
436
+ "properties": {
437
+ "body": {},
438
+ "headers": {},
439
+ "query": {},
440
+ "result": {},
441
+ "url": {}
442
+ },
443
+ "required": [
444
+ "result"
445
+ ],
446
+ "type": "object"
447
+ },
448
+ "type": "object"
449
+ },
450
+ "OPTIONS": {
451
+ "additionalProperties": {
452
+ "additionalProperties": false,
453
+ "properties": {
454
+ "body": {},
455
+ "headers": {},
456
+ "query": {},
457
+ "result": {},
458
+ "url": {}
459
+ },
460
+ "required": [
461
+ "result"
462
+ ],
463
+ "type": "object"
464
+ },
465
+ "type": "object"
466
+ },
467
+ "PATCH": {
468
+ "additionalProperties": {
469
+ "additionalProperties": false,
470
+ "properties": {
471
+ "body": {},
472
+ "headers": {},
473
+ "query": {},
474
+ "result": {},
475
+ "url": {}
476
+ },
477
+ "required": [
478
+ "result"
479
+ ],
480
+ "type": "object"
481
+ },
482
+ "type": "object"
483
+ },
484
+ "POST": {
485
+ "additionalProperties": {
486
+ "additionalProperties": false,
487
+ "properties": {
488
+ "body": {},
489
+ "headers": {},
490
+ "query": {},
491
+ "result": {},
492
+ "url": {}
493
+ },
494
+ "required": [
495
+ "result"
496
+ ],
497
+ "type": "object"
498
+ },
499
+ "type": "object"
500
+ },
501
+ "PUT": {
502
+ "additionalProperties": {
503
+ "additionalProperties": false,
504
+ "properties": {
505
+ "body": {},
506
+ "headers": {},
507
+ "query": {},
508
+ "result": {},
509
+ "url": {}
510
+ },
511
+ "required": [
512
+ "result"
513
+ ],
514
+ "type": "object"
515
+ },
516
+ "type": "object"
517
+ },
518
+ "TRACE": {
519
+ "additionalProperties": {
520
+ "additionalProperties": false,
521
+ "properties": {
522
+ "body": {},
523
+ "headers": {},
524
+ "query": {},
525
+ "result": {},
526
+ "url": {}
527
+ },
528
+ "required": [
529
+ "result"
530
+ ],
531
+ "type": "object"
532
+ },
533
+ "type": "object"
534
+ }
535
+ },
536
+ "type": "object"
537
+ },
538
+ "ValidateBody": {
539
+ "additionalProperties": false,
540
+ "properties": {
541
+ "body": {
542
+ "additionalProperties": false,
543
+ "properties": {
544
+ "bar": {
545
+ "type": "number"
546
+ },
547
+ "baz": {
548
+ "type": "boolean"
549
+ },
550
+ "foo": {
551
+ "type": "string"
552
+ }
553
+ },
554
+ "required": [
555
+ "foo",
556
+ "bar",
557
+ "baz"
558
+ ],
559
+ "type": "object"
560
+ },
561
+ "result": {
562
+ "additionalProperties": false,
563
+ "properties": {
564
+ "bar": {
565
+ "type": "number"
566
+ },
567
+ "baz": {
568
+ "type": "boolean"
569
+ },
570
+ "foo": {
571
+ "type": "string"
572
+ }
573
+ },
574
+ "required": [
575
+ "foo",
576
+ "bar",
577
+ "baz"
578
+ ],
579
+ "type": "object"
580
+ }
581
+ },
582
+ "required": [
583
+ "body",
584
+ "result"
585
+ ],
586
+ "type": "object"
587
+ },
588
+ "ValidateHeaders": {
589
+ "additionalProperties": false,
590
+ "properties": {
591
+ "headers": {
592
+ "additionalProperties": false,
593
+ "properties": {
594
+ "bar": {
595
+ "type": "number"
596
+ },
597
+ "baz": {
598
+ "type": "boolean"
599
+ },
600
+ "foo": {
601
+ "type": "string"
602
+ }
603
+ },
604
+ "required": [
605
+ "foo",
606
+ "bar",
607
+ "baz"
608
+ ],
609
+ "type": "object"
610
+ },
611
+ "result": {
612
+ "additionalProperties": false,
613
+ "properties": {
614
+ "bar": {
615
+ "type": "number"
616
+ },
617
+ "baz": {
618
+ "type": "boolean"
619
+ },
620
+ "foo": {
621
+ "type": "string"
622
+ }
623
+ },
624
+ "required": [
625
+ "foo",
626
+ "bar",
627
+ "baz"
628
+ ],
629
+ "type": "object"
630
+ }
631
+ },
632
+ "required": [
633
+ "headers",
634
+ "result"
635
+ ],
636
+ "type": "object"
637
+ },
638
+ "ValidateQuery": {
639
+ "additionalProperties": false,
640
+ "properties": {
641
+ "query": {
642
+ "additionalProperties": false,
643
+ "properties": {
644
+ "bar": {
645
+ "type": "number"
646
+ },
647
+ "baz": {
648
+ "type": "boolean"
649
+ },
650
+ "foo": {
651
+ "type": "string"
652
+ }
653
+ },
654
+ "required": [
655
+ "foo",
656
+ "bar",
657
+ "baz"
658
+ ],
659
+ "type": "object"
660
+ },
661
+ "result": {
662
+ "additionalProperties": false,
663
+ "properties": {
664
+ "bar": {
665
+ "type": "number"
666
+ },
667
+ "baz": {
668
+ "type": "boolean"
669
+ },
670
+ "foo": {
671
+ "type": "string"
672
+ }
673
+ },
674
+ "required": [
675
+ "foo",
676
+ "bar",
677
+ "baz"
678
+ ],
679
+ "type": "object"
680
+ }
681
+ },
682
+ "required": [
683
+ "query",
684
+ "result"
685
+ ],
686
+ "type": "object"
687
+ },
688
+ "ValidateUrl": {
689
+ "additionalProperties": false,
690
+ "properties": {
691
+ "result": {
692
+ "additionalProperties": false,
693
+ "properties": {
694
+ "id": {
695
+ "type": "number"
696
+ }
697
+ },
698
+ "required": [
699
+ "id"
700
+ ],
701
+ "type": "object"
702
+ },
703
+ "url": {
704
+ "additionalProperties": false,
705
+ "properties": {
706
+ "id": {
707
+ "type": "number"
708
+ }
709
+ },
710
+ "required": [
711
+ "id"
712
+ ],
713
+ "type": "object"
714
+ }
715
+ },
716
+ "required": [
717
+ "url",
718
+ "result"
719
+ ],
720
+ "type": "object"
721
+ },
722
+ "ValidationApi": {
723
+ "additionalProperties": false,
724
+ "properties": {
725
+ "CONNECT": {
726
+ "additionalProperties": {
727
+ "additionalProperties": false,
728
+ "properties": {
729
+ "body": {},
730
+ "headers": {},
731
+ "query": {},
732
+ "result": {},
733
+ "url": {}
734
+ },
735
+ "required": [
736
+ "result"
737
+ ],
738
+ "type": "object"
739
+ },
740
+ "type": "object"
741
+ },
742
+ "DELETE": {
743
+ "additionalProperties": false,
744
+ "properties": {
745
+ "/mock/:id": {
746
+ "$ref": "#/definitions/DeleteEndpoint%3CMock%2C%22id%22%3E"
747
+ }
748
+ },
749
+ "required": [
750
+ "/mock/:id"
751
+ ],
752
+ "type": "object"
753
+ },
754
+ "GET": {
755
+ "additionalProperties": false,
756
+ "properties": {
757
+ "/mock": {
758
+ "$ref": "#/definitions/GetCollectionEndpoint%3CMock%3E"
759
+ },
760
+ "/mock/:id": {
761
+ "$ref": "#/definitions/GetEntityEndpoint%3CMock%2C%22id%22%3E"
762
+ },
763
+ "/validate-headers": {
764
+ "$ref": "#/definitions/ValidateHeaders"
765
+ },
766
+ "/validate-query": {
767
+ "$ref": "#/definitions/ValidateQuery"
768
+ },
769
+ "/validate-url/:id": {
770
+ "$ref": "#/definitions/ValidateUrl"
771
+ }
772
+ },
773
+ "required": [
774
+ "/validate-query",
775
+ "/validate-url/:id",
776
+ "/validate-headers",
777
+ "/mock",
778
+ "/mock/:id"
779
+ ],
780
+ "type": "object"
781
+ },
782
+ "HEAD": {
783
+ "additionalProperties": {
784
+ "additionalProperties": false,
785
+ "properties": {
786
+ "body": {},
787
+ "headers": {},
788
+ "query": {},
789
+ "result": {},
790
+ "url": {}
791
+ },
792
+ "required": [
793
+ "result"
794
+ ],
795
+ "type": "object"
796
+ },
797
+ "type": "object"
798
+ },
799
+ "OPTIONS": {
800
+ "additionalProperties": {
801
+ "additionalProperties": false,
802
+ "properties": {
803
+ "body": {},
804
+ "headers": {},
805
+ "query": {},
806
+ "result": {},
807
+ "url": {}
808
+ },
809
+ "required": [
810
+ "result"
811
+ ],
812
+ "type": "object"
813
+ },
814
+ "type": "object"
815
+ },
816
+ "PATCH": {
817
+ "additionalProperties": false,
818
+ "properties": {
819
+ "/mock/:id": {
820
+ "$ref": "#/definitions/PatchEndpoint%3CMock%2C%22id%22%3E"
821
+ }
822
+ },
823
+ "required": [
824
+ "/mock/:id"
825
+ ],
826
+ "type": "object"
827
+ },
828
+ "POST": {
829
+ "additionalProperties": false,
830
+ "properties": {
831
+ "/mock": {
832
+ "$ref": "#/definitions/PostEndpoint%3CMock%2C%22id%22%3E"
833
+ },
834
+ "/validate-body": {
835
+ "$ref": "#/definitions/ValidateBody"
836
+ }
837
+ },
838
+ "required": [
839
+ "/validate-body",
840
+ "/mock"
841
+ ],
842
+ "type": "object"
843
+ },
844
+ "PUT": {
845
+ "additionalProperties": {
846
+ "additionalProperties": false,
847
+ "properties": {
848
+ "body": {},
849
+ "headers": {},
850
+ "query": {},
851
+ "result": {},
852
+ "url": {}
853
+ },
854
+ "required": [
855
+ "result"
856
+ ],
857
+ "type": "object"
858
+ },
859
+ "type": "object"
860
+ },
861
+ "TRACE": {
862
+ "additionalProperties": {
863
+ "additionalProperties": false,
864
+ "properties": {
865
+ "body": {},
866
+ "headers": {},
867
+ "query": {},
868
+ "result": {},
869
+ "url": {}
870
+ },
871
+ "required": [
872
+ "result"
873
+ ],
874
+ "type": "object"
875
+ },
876
+ "type": "object"
877
+ }
878
+ },
879
+ "required": [
880
+ "GET",
881
+ "POST",
882
+ "PATCH",
883
+ "DELETE"
884
+ ],
885
+ "type": "object"
886
+ },
887
+ "WithOptionalId<Mock,\"id\">": {
888
+ "additionalProperties": false,
889
+ "properties": {
890
+ "id": {
891
+ "type": "string"
892
+ },
893
+ "value": {
894
+ "type": "string"
895
+ }
896
+ },
897
+ "required": [
898
+ "value"
899
+ ],
900
+ "type": "object"
901
+ }
902
+ }
903
+ }