@furystack/rest-service 4.0.19

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