@regulaforensics/facesdk-webclient 5.1.0 → 5.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (253) hide show
  1. package/.github/workflows/run-smoke-test.yml +0 -3
  2. package/.github/workflows/trivy-scan.yaml +24 -0
  3. package/dist/cjs-es5/api/diagnostics-api.js +199 -0
  4. package/dist/cjs-es5/api/group-api.js +60 -60
  5. package/dist/cjs-es5/api/liveness20-api.js +14 -245
  6. package/dist/cjs-es5/api/matching-api.js +21 -21
  7. package/dist/cjs-es5/api/person-api.js +96 -189
  8. package/dist/cjs-es5/api/search-api.js +10 -10
  9. package/dist/cjs-es5/api.js +3 -2
  10. package/dist/cjs-es5/base.js +1 -1
  11. package/dist/cjs-es5/common.js +1 -1
  12. package/dist/cjs-es5/configuration.js +1 -1
  13. package/dist/cjs-es5/ext/person-api.js +1 -4
  14. package/dist/cjs-es5/models/crop.js +1 -1
  15. package/dist/cjs-es5/models/detect-request-attributes.js +16 -0
  16. package/dist/cjs-es5/models/detect-request.js +1 -1
  17. package/dist/cjs-es5/models/detect-response-all-of.js +1 -1
  18. package/dist/cjs-es5/models/detect-response.js +1 -1
  19. package/dist/cjs-es5/models/detect-result.js +1 -1
  20. package/dist/cjs-es5/models/detection-face.js +1 -1
  21. package/dist/cjs-es5/models/detection-quality.js +1 -1
  22. package/dist/cjs-es5/models/detection.js +1 -1
  23. package/dist/cjs-es5/models/face-attribute.js +37 -0
  24. package/dist/cjs-es5/models/face-image-quality-align-type.js +1 -1
  25. package/dist/cjs-es5/models/face-image-quality-groups.js +1 -1
  26. package/dist/cjs-es5/models/face-image-quality-status.js +1 -1
  27. package/dist/cjs-es5/models/face-quality-config-name.js +5 -4
  28. package/dist/cjs-es5/models/face-quality-scenarios.js +2 -2
  29. package/dist/cjs-es5/models/face-sdkresult-code.js +27 -26
  30. package/dist/cjs-es5/models/face-sdkresult.js +1 -1
  31. package/dist/cjs-es5/models/faces-response-all-of.js +1 -1
  32. package/dist/cjs-es5/models/faces-response.js +1 -1
  33. package/dist/cjs-es5/models/group-all-of.js +1 -1
  34. package/dist/cjs-es5/models/group-page-all-of.js +1 -1
  35. package/dist/cjs-es5/models/group-page.js +1 -1
  36. package/dist/cjs-es5/models/group-to-create.js +1 -1
  37. package/dist/cjs-es5/models/group.js +1 -1
  38. package/dist/cjs-es5/models/image-fields-image.js +1 -1
  39. package/dist/cjs-es5/models/image-fields.js +1 -1
  40. package/dist/cjs-es5/models/image-page-all-of.js +1 -1
  41. package/dist/cjs-es5/models/image-page.js +1 -1
  42. package/dist/cjs-es5/models/image-source.js +2 -2
  43. package/dist/cjs-es5/models/image.js +1 -1
  44. package/dist/cjs-es5/models/index.js +9 -2
  45. package/dist/cjs-es5/models/match-and-search-request-all-of-images.js +1 -1
  46. package/dist/cjs-es5/models/match-and-search-request-all-of.js +1 -1
  47. package/dist/cjs-es5/models/match-and-search-request.js +1 -1
  48. package/dist/cjs-es5/models/match-and-search-response-all-of-detections.js +1 -1
  49. package/dist/cjs-es5/models/match-and-search-response-all-of.js +1 -1
  50. package/dist/cjs-es5/models/match-and-search-response.js +1 -1
  51. package/dist/cjs-es5/models/match-image-detection.js +1 -1
  52. package/dist/cjs-es5/models/match-image-result.js +1 -1
  53. package/dist/cjs-es5/models/match-image.js +1 -1
  54. package/dist/cjs-es5/models/match-request.js +1 -1
  55. package/dist/cjs-es5/models/match-response-all-of.js +1 -1
  56. package/dist/cjs-es5/models/match-response.js +1 -1
  57. package/dist/cjs-es5/models/operation-log.js +1 -1
  58. package/dist/cjs-es5/models/output-image-params.js +1 -1
  59. package/dist/cjs-es5/models/page.js +1 -1
  60. package/dist/cjs-es5/models/person-all-of.js +1 -1
  61. package/dist/cjs-es5/models/person-created-response.js +16 -0
  62. package/dist/cjs-es5/models/person-fields.js +1 -1
  63. package/dist/cjs-es5/models/person-with-images-all-of.js +1 -1
  64. package/dist/cjs-es5/models/person-with-images.js +1 -1
  65. package/dist/cjs-es5/models/person.js +1 -1
  66. package/dist/cjs-es5/models/persons-page-all-of.js +1 -1
  67. package/dist/cjs-es5/models/persons-page.js +1 -1
  68. package/dist/cjs-es5/models/process-param.js +1 -1
  69. package/dist/cjs-es5/models/quality-config.js +1 -1
  70. package/dist/cjs-es5/models/quality-detail.js +1 -1
  71. package/dist/cjs-es5/models/quality-details-groups.js +1 -1
  72. package/dist/cjs-es5/models/quality-request.js +1 -1
  73. package/dist/cjs-es5/models/recognize-image-all-of.js +1 -1
  74. package/dist/cjs-es5/models/recognize-image.js +1 -1
  75. package/dist/cjs-es5/models/resize-options.js +16 -0
  76. package/dist/cjs-es5/models/search-bad-params.js +16 -0
  77. package/dist/cjs-es5/models/search-detection.js +16 -0
  78. package/dist/cjs-es5/models/search-parameters-create-person.js +16 -0
  79. package/dist/cjs-es5/models/search-parameters.js +1 -1
  80. package/dist/cjs-es5/models/search-person-all-of.js +1 -1
  81. package/dist/cjs-es5/models/search-person.js +1 -1
  82. package/dist/cjs-es5/models/search-request.js +1 -1
  83. package/dist/cjs-es5/models/search-result.js +1 -1
  84. package/dist/cjs-es5/models/transaction-info.js +16 -0
  85. package/dist/cjs-es5/models/update-group.js +1 -1
  86. package/dist/esm-es5/api/diagnostics-api.js +196 -0
  87. package/dist/esm-es5/api/group-api.js +60 -60
  88. package/dist/esm-es5/api/liveness20-api.js +14 -245
  89. package/dist/esm-es5/api/matching-api.js +21 -21
  90. package/dist/esm-es5/api/person-api.js +96 -189
  91. package/dist/esm-es5/api/search-api.js +10 -10
  92. package/dist/esm-es5/api.js +3 -2
  93. package/dist/esm-es5/base.js +1 -1
  94. package/dist/esm-es5/common.js +1 -1
  95. package/dist/esm-es5/configuration.js +1 -1
  96. package/dist/esm-es5/ext/person-api.js +1 -4
  97. package/dist/esm-es5/models/crop.js +1 -1
  98. package/dist/esm-es5/models/detect-request-attributes.js +14 -0
  99. package/dist/esm-es5/models/detect-request.js +1 -1
  100. package/dist/esm-es5/models/detect-response-all-of.js +1 -1
  101. package/dist/esm-es5/models/detect-response.js +1 -1
  102. package/dist/esm-es5/models/detect-result.js +1 -1
  103. package/dist/esm-es5/models/detection-face.js +1 -1
  104. package/dist/esm-es5/models/detection-quality.js +1 -1
  105. package/dist/esm-es5/models/detection.js +1 -1
  106. package/dist/esm-es5/models/face-attribute.js +34 -0
  107. package/dist/esm-es5/models/face-image-quality-align-type.js +1 -1
  108. package/dist/esm-es5/models/face-image-quality-groups.js +1 -1
  109. package/dist/esm-es5/models/face-image-quality-status.js +1 -1
  110. package/dist/esm-es5/models/face-quality-config-name.js +5 -4
  111. package/dist/esm-es5/models/face-quality-scenarios.js +2 -2
  112. package/dist/esm-es5/models/face-sdkresult-code.js +27 -26
  113. package/dist/esm-es5/models/face-sdkresult.js +1 -1
  114. package/dist/esm-es5/models/faces-response-all-of.js +1 -1
  115. package/dist/esm-es5/models/faces-response.js +1 -1
  116. package/dist/esm-es5/models/group-all-of.js +1 -1
  117. package/dist/esm-es5/models/group-page-all-of.js +1 -1
  118. package/dist/esm-es5/models/group-page.js +1 -1
  119. package/dist/esm-es5/models/group-to-create.js +1 -1
  120. package/dist/esm-es5/models/group.js +1 -1
  121. package/dist/esm-es5/models/image-fields-image.js +1 -1
  122. package/dist/esm-es5/models/image-fields.js +1 -1
  123. package/dist/esm-es5/models/image-page-all-of.js +1 -1
  124. package/dist/esm-es5/models/image-page.js +1 -1
  125. package/dist/esm-es5/models/image-source.js +2 -2
  126. package/dist/esm-es5/models/image.js +1 -1
  127. package/dist/esm-es5/models/index.js +9 -2
  128. package/dist/esm-es5/models/match-and-search-request-all-of-images.js +1 -1
  129. package/dist/esm-es5/models/match-and-search-request-all-of.js +1 -1
  130. package/dist/esm-es5/models/match-and-search-request.js +1 -1
  131. package/dist/esm-es5/models/match-and-search-response-all-of-detections.js +1 -1
  132. package/dist/esm-es5/models/match-and-search-response-all-of.js +1 -1
  133. package/dist/esm-es5/models/match-and-search-response.js +1 -1
  134. package/dist/esm-es5/models/match-image-detection.js +1 -1
  135. package/dist/esm-es5/models/match-image-result.js +1 -1
  136. package/dist/esm-es5/models/match-image.js +1 -1
  137. package/dist/esm-es5/models/match-request.js +1 -1
  138. package/dist/esm-es5/models/match-response-all-of.js +1 -1
  139. package/dist/esm-es5/models/match-response.js +1 -1
  140. package/dist/esm-es5/models/operation-log.js +1 -1
  141. package/dist/esm-es5/models/output-image-params.js +1 -1
  142. package/dist/esm-es5/models/page.js +1 -1
  143. package/dist/esm-es5/models/person-all-of.js +1 -1
  144. package/dist/esm-es5/models/person-created-response.js +14 -0
  145. package/dist/esm-es5/models/person-fields.js +1 -1
  146. package/dist/esm-es5/models/person-with-images-all-of.js +1 -1
  147. package/dist/esm-es5/models/person-with-images.js +1 -1
  148. package/dist/esm-es5/models/person.js +1 -1
  149. package/dist/esm-es5/models/persons-page-all-of.js +1 -1
  150. package/dist/esm-es5/models/persons-page.js +1 -1
  151. package/dist/esm-es5/models/process-param.js +1 -1
  152. package/dist/esm-es5/models/quality-config.js +1 -1
  153. package/dist/esm-es5/models/quality-detail.js +1 -1
  154. package/dist/esm-es5/models/quality-details-groups.js +1 -1
  155. package/dist/esm-es5/models/quality-request.js +1 -1
  156. package/dist/esm-es5/models/recognize-image-all-of.js +1 -1
  157. package/dist/esm-es5/models/recognize-image.js +1 -1
  158. package/dist/esm-es5/models/resize-options.js +14 -0
  159. package/dist/esm-es5/models/search-bad-params.js +14 -0
  160. package/dist/esm-es5/models/search-detection.js +14 -0
  161. package/dist/esm-es5/models/search-parameters-create-person.js +14 -0
  162. package/dist/esm-es5/models/search-parameters.js +1 -1
  163. package/dist/esm-es5/models/search-person-all-of.js +1 -1
  164. package/dist/esm-es5/models/search-person.js +1 -1
  165. package/dist/esm-es5/models/search-request.js +1 -1
  166. package/dist/esm-es5/models/search-result.js +1 -1
  167. package/dist/esm-es5/models/transaction-info.js +14 -0
  168. package/dist/esm-es5/models/update-group.js +1 -1
  169. package/package.json +1 -1
  170. package/src/api/diagnostics-api.ts +126 -0
  171. package/src/api/group-api.ts +79 -79
  172. package/src/api/liveness20-api.ts +14 -224
  173. package/src/api/matching-api.ts +21 -21
  174. package/src/api/person-api.ts +127 -217
  175. package/src/api/search-api.ts +12 -10
  176. package/src/api.ts +2 -1
  177. package/src/base.ts +1 -1
  178. package/src/common.ts +1 -1
  179. package/src/configuration.ts +1 -1
  180. package/src/ext/group-api.ts +5 -5
  181. package/src/ext/person-api.ts +8 -11
  182. package/src/models/crop.ts +3 -3
  183. package/src/models/detect-request-attributes.ts +31 -0
  184. package/src/models/detect-request.ts +5 -10
  185. package/src/models/detect-response-all-of.ts +1 -1
  186. package/src/models/detect-response.ts +1 -1
  187. package/src/models/detect-result.ts +1 -1
  188. package/src/models/detection-face.ts +9 -3
  189. package/src/models/detection-quality.ts +1 -1
  190. package/src/models/detection.ts +2 -2
  191. package/src/models/face-attribute.ts +42 -0
  192. package/src/models/face-image-quality-align-type.ts +1 -1
  193. package/src/models/face-image-quality-groups.ts +1 -1
  194. package/src/models/face-image-quality-status.ts +1 -1
  195. package/src/models/face-quality-config-name.ts +4 -3
  196. package/src/models/face-quality-scenarios.ts +2 -2
  197. package/src/models/face-sdkresult-code.ts +26 -25
  198. package/src/models/face-sdkresult.ts +1 -1
  199. package/src/models/faces-response-all-of.ts +1 -1
  200. package/src/models/faces-response.ts +1 -1
  201. package/src/models/group-all-of.ts +5 -5
  202. package/src/models/group-page-all-of.ts +2 -2
  203. package/src/models/group-page.ts +1 -1
  204. package/src/models/group-to-create.ts +7 -1
  205. package/src/models/group.ts +1 -1
  206. package/src/models/image-fields-image.ts +17 -4
  207. package/src/models/image-fields.ts +33 -2
  208. package/src/models/image-page-all-of.ts +1 -1
  209. package/src/models/image-page.ts +1 -1
  210. package/src/models/image-source.ts +2 -2
  211. package/src/models/image.ts +10 -10
  212. package/src/models/index.ts +8 -1
  213. package/src/models/match-and-search-request-all-of-images.ts +1 -1
  214. package/src/models/match-and-search-request-all-of.ts +8 -2
  215. package/src/models/match-and-search-request.ts +2 -1
  216. package/src/models/match-and-search-response-all-of-detections.ts +2 -2
  217. package/src/models/match-and-search-response-all-of.ts +1 -1
  218. package/src/models/match-and-search-response.ts +1 -1
  219. package/src/models/match-image-detection.ts +3 -3
  220. package/src/models/match-image-result.ts +20 -20
  221. package/src/models/match-image.ts +8 -2
  222. package/src/models/match-request.ts +3 -3
  223. package/src/models/match-response-all-of.ts +7 -7
  224. package/src/models/match-response.ts +1 -1
  225. package/src/models/operation-log.ts +2 -2
  226. package/src/models/output-image-params.ts +2 -2
  227. package/src/models/page.ts +2 -2
  228. package/src/models/person-all-of.ts +12 -6
  229. package/src/models/person-created-response.ts +43 -0
  230. package/src/models/person-fields.ts +13 -1
  231. package/src/models/person-with-images-all-of.ts +1 -1
  232. package/src/models/person-with-images.ts +1 -1
  233. package/src/models/person.ts +1 -1
  234. package/src/models/persons-page-all-of.ts +1 -1
  235. package/src/models/persons-page.ts +1 -1
  236. package/src/models/process-param.ts +7 -1
  237. package/src/models/quality-config.ts +5 -5
  238. package/src/models/quality-detail.ts +1 -1
  239. package/src/models/quality-details-groups.ts +3 -4
  240. package/src/models/quality-request.ts +2 -2
  241. package/src/models/recognize-image-all-of.ts +3 -3
  242. package/src/models/recognize-image.ts +1 -1
  243. package/src/models/resize-options.ts +42 -0
  244. package/src/models/search-bad-params.ts +42 -0
  245. package/src/models/search-detection.ts +90 -0
  246. package/src/models/search-parameters-create-person.ts +36 -0
  247. package/src/models/search-parameters.ts +7 -12
  248. package/src/models/search-person-all-of.ts +9 -2
  249. package/src/models/search-person.ts +2 -1
  250. package/src/models/search-request.ts +3 -1
  251. package/src/models/search-result.ts +3 -3
  252. package/src/models/transaction-info.ts +78 -0
  253. package/src/models/update-group.ts +5 -5
@@ -5,7 +5,7 @@
5
5
  * Regula FaceSDK Web API
6
6
  * Regula FaceSDK Web API # Clients * [JavaScript](https://github.com/regulaforensics/FaceSDK-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/FaceSDK-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/FaceSDK-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/FaceSDK-web-csharp-client) client for .NET & .NET Core
7
7
  *
8
- * The version of the OpenAPI document: 4.1.3
8
+ * The version of the OpenAPI document: 5.2.0
9
9
  *
10
10
  *
11
11
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -91,7 +91,7 @@ exports.GroupApiAxiosParamCreator = function (configuration) {
91
91
  *
92
92
  * @summary Create group
93
93
  * @param {GroupToCreate} groupToCreate Request body for the group to create.
94
- * @param {string} [xRequestID]
94
+ * @param {string} [xRequestID] Request header label.
95
95
  * @param {*} [options] Override http request option.
96
96
  * @throws {RequiredError}
97
97
  */
@@ -128,8 +128,8 @@ exports.GroupApiAxiosParamCreator = function (configuration) {
128
128
  /**
129
129
  *
130
130
  * @summary Delete group
131
- * @param {number} groupId Group ID.
132
- * @param {string} [xRequestID]
131
+ * @param {string} groupId Group ID.
132
+ * @param {string} [xRequestID] Request header label.
133
133
  * @param {*} [options] Override http request option.
134
134
  * @throws {RequiredError}
135
135
  */
@@ -140,8 +140,8 @@ exports.GroupApiAxiosParamCreator = function (configuration) {
140
140
  return __generator(this, function (_a) {
141
141
  // verify required parameter 'groupId' is not null or undefined
142
142
  common_1.assertParamExists('deleteGroup', 'groupId', groupId);
143
- localVarPath = "/api/groups/{group_id}"
144
- .replace("{" + "group_id" + "}", encodeURIComponent(String(groupId)));
143
+ localVarPath = "/api/groups/{groupId}"
144
+ .replace("{" + "groupId" + "}", encodeURIComponent(String(groupId)));
145
145
  localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL);
146
146
  if (configuration) {
147
147
  baseOptions = configuration.baseOptions;
@@ -167,7 +167,7 @@ exports.GroupApiAxiosParamCreator = function (configuration) {
167
167
  * @summary Get groups
168
168
  * @param {number} page The page number to get a list of persons or groups.
169
169
  * @param {number} size The page size with a list of persons or groups, items.
170
- * @param {string} [xRequestID]
170
+ * @param {string} [xRequestID] Request header label.
171
171
  * @param {*} [options] Override http request option.
172
172
  * @throws {RequiredError}
173
173
  */
@@ -212,8 +212,8 @@ exports.GroupApiAxiosParamCreator = function (configuration) {
212
212
  * @summary Get group persons
213
213
  * @param {number} page The page number to get a list of persons or groups.
214
214
  * @param {number} size The page size with a list of persons or groups, items.
215
- * @param {number} groupId Group ID.
216
- * @param {string} [xRequestID]
215
+ * @param {string} groupId Group ID.
216
+ * @param {string} [xRequestID] Request header label.
217
217
  * @param {*} [options] Override http request option.
218
218
  * @throws {RequiredError}
219
219
  */
@@ -228,8 +228,8 @@ exports.GroupApiAxiosParamCreator = function (configuration) {
228
228
  common_1.assertParamExists('getAllPersonsByGroupId', 'size', size);
229
229
  // verify required parameter 'groupId' is not null or undefined
230
230
  common_1.assertParamExists('getAllPersonsByGroupId', 'groupId', groupId);
231
- localVarPath = "/api/groups/{group_id}/persons"
232
- .replace("{" + "group_id" + "}", encodeURIComponent(String(groupId)));
231
+ localVarPath = "/api/groups/{groupId}/persons"
232
+ .replace("{" + "groupId" + "}", encodeURIComponent(String(groupId)));
233
233
  localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL);
234
234
  if (configuration) {
235
235
  baseOptions = configuration.baseOptions;
@@ -259,8 +259,8 @@ exports.GroupApiAxiosParamCreator = function (configuration) {
259
259
  /**
260
260
  *
261
261
  * @summary Get group
262
- * @param {number} groupId Group ID.
263
- * @param {string} [xRequestID]
262
+ * @param {string} groupId Group ID.
263
+ * @param {string} [xRequestID] Request header label.
264
264
  * @param {*} [options] Override http request option.
265
265
  * @throws {RequiredError}
266
266
  */
@@ -271,8 +271,8 @@ exports.GroupApiAxiosParamCreator = function (configuration) {
271
271
  return __generator(this, function (_a) {
272
272
  // verify required parameter 'groupId' is not null or undefined
273
273
  common_1.assertParamExists('getGroup', 'groupId', groupId);
274
- localVarPath = "/api/groups/{group_id}"
275
- .replace("{" + "group_id" + "}", encodeURIComponent(String(groupId)));
274
+ localVarPath = "/api/groups/{groupId}"
275
+ .replace("{" + "groupId" + "}", encodeURIComponent(String(groupId)));
276
276
  localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL);
277
277
  if (configuration) {
278
278
  baseOptions = configuration.baseOptions;
@@ -296,9 +296,9 @@ exports.GroupApiAxiosParamCreator = function (configuration) {
296
296
  /**
297
297
  *
298
298
  * @summary Update group
299
- * @param {number} groupId Group ID.
299
+ * @param {string} groupId Group ID.
300
300
  * @param {GroupToCreate} groupToCreate Request body for the group to update.
301
- * @param {string} [xRequestID]
301
+ * @param {string} [xRequestID] Request header label.
302
302
  * @param {*} [options] Override http request option.
303
303
  * @throws {RequiredError}
304
304
  */
@@ -311,8 +311,8 @@ exports.GroupApiAxiosParamCreator = function (configuration) {
311
311
  common_1.assertParamExists('updateGroup', 'groupId', groupId);
312
312
  // verify required parameter 'groupToCreate' is not null or undefined
313
313
  common_1.assertParamExists('updateGroup', 'groupToCreate', groupToCreate);
314
- localVarPath = "/api/groups/{group_id}"
315
- .replace("{" + "group_id" + "}", encodeURIComponent(String(groupId)));
314
+ localVarPath = "/api/groups/{groupId}"
315
+ .replace("{" + "groupId" + "}", encodeURIComponent(String(groupId)));
316
316
  localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL);
317
317
  if (configuration) {
318
318
  baseOptions = configuration.baseOptions;
@@ -338,9 +338,9 @@ exports.GroupApiAxiosParamCreator = function (configuration) {
338
338
  /**
339
339
  *
340
340
  * @summary Add/remove persons to group
341
- * @param {number} groupId Group ID.
341
+ * @param {string} groupId Group ID.
342
342
  * @param {UpdateGroup} updateGroup Request body for person IDs to add or remove.
343
- * @param {string} [xRequestID]
343
+ * @param {string} [xRequestID] Request header label.
344
344
  * @param {*} [options] Override http request option.
345
345
  * @throws {RequiredError}
346
346
  */
@@ -353,8 +353,8 @@ exports.GroupApiAxiosParamCreator = function (configuration) {
353
353
  common_1.assertParamExists('updatePersonsInGroup', 'groupId', groupId);
354
354
  // verify required parameter 'updateGroup' is not null or undefined
355
355
  common_1.assertParamExists('updatePersonsInGroup', 'updateGroup', updateGroup);
356
- localVarPath = "/api/groups/{group_id}/persons"
357
- .replace("{" + "group_id" + "}", encodeURIComponent(String(groupId)));
356
+ localVarPath = "/api/groups/{groupId}/persons"
357
+ .replace("{" + "groupId" + "}", encodeURIComponent(String(groupId)));
358
358
  localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL);
359
359
  if (configuration) {
360
360
  baseOptions = configuration.baseOptions;
@@ -390,7 +390,7 @@ exports.GroupApiFp = function (configuration) {
390
390
  *
391
391
  * @summary Create group
392
392
  * @param {GroupToCreate} groupToCreate Request body for the group to create.
393
- * @param {string} [xRequestID]
393
+ * @param {string} [xRequestID] Request header label.
394
394
  * @param {*} [options] Override http request option.
395
395
  * @throws {RequiredError}
396
396
  */
@@ -410,8 +410,8 @@ exports.GroupApiFp = function (configuration) {
410
410
  /**
411
411
  *
412
412
  * @summary Delete group
413
- * @param {number} groupId Group ID.
414
- * @param {string} [xRequestID]
413
+ * @param {string} groupId Group ID.
414
+ * @param {string} [xRequestID] Request header label.
415
415
  * @param {*} [options] Override http request option.
416
416
  * @throws {RequiredError}
417
417
  */
@@ -433,7 +433,7 @@ exports.GroupApiFp = function (configuration) {
433
433
  * @summary Get groups
434
434
  * @param {number} page The page number to get a list of persons or groups.
435
435
  * @param {number} size The page size with a list of persons or groups, items.
436
- * @param {string} [xRequestID]
436
+ * @param {string} [xRequestID] Request header label.
437
437
  * @param {*} [options] Override http request option.
438
438
  * @throws {RequiredError}
439
439
  */
@@ -455,8 +455,8 @@ exports.GroupApiFp = function (configuration) {
455
455
  * @summary Get group persons
456
456
  * @param {number} page The page number to get a list of persons or groups.
457
457
  * @param {number} size The page size with a list of persons or groups, items.
458
- * @param {number} groupId Group ID.
459
- * @param {string} [xRequestID]
458
+ * @param {string} groupId Group ID.
459
+ * @param {string} [xRequestID] Request header label.
460
460
  * @param {*} [options] Override http request option.
461
461
  * @throws {RequiredError}
462
462
  */
@@ -476,8 +476,8 @@ exports.GroupApiFp = function (configuration) {
476
476
  /**
477
477
  *
478
478
  * @summary Get group
479
- * @param {number} groupId Group ID.
480
- * @param {string} [xRequestID]
479
+ * @param {string} groupId Group ID.
480
+ * @param {string} [xRequestID] Request header label.
481
481
  * @param {*} [options] Override http request option.
482
482
  * @throws {RequiredError}
483
483
  */
@@ -497,9 +497,9 @@ exports.GroupApiFp = function (configuration) {
497
497
  /**
498
498
  *
499
499
  * @summary Update group
500
- * @param {number} groupId Group ID.
500
+ * @param {string} groupId Group ID.
501
501
  * @param {GroupToCreate} groupToCreate Request body for the group to update.
502
- * @param {string} [xRequestID]
502
+ * @param {string} [xRequestID] Request header label.
503
503
  * @param {*} [options] Override http request option.
504
504
  * @throws {RequiredError}
505
505
  */
@@ -519,9 +519,9 @@ exports.GroupApiFp = function (configuration) {
519
519
  /**
520
520
  *
521
521
  * @summary Add/remove persons to group
522
- * @param {number} groupId Group ID.
522
+ * @param {string} groupId Group ID.
523
523
  * @param {UpdateGroup} updateGroup Request body for person IDs to add or remove.
524
- * @param {string} [xRequestID]
524
+ * @param {string} [xRequestID] Request header label.
525
525
  * @param {*} [options] Override http request option.
526
526
  * @throws {RequiredError}
527
527
  */
@@ -551,7 +551,7 @@ exports.GroupApiFactory = function (configuration, basePath, axios) {
551
551
  *
552
552
  * @summary Create group
553
553
  * @param {GroupToCreate} groupToCreate Request body for the group to create.
554
- * @param {string} [xRequestID]
554
+ * @param {string} [xRequestID] Request header label.
555
555
  * @param {*} [options] Override http request option.
556
556
  * @throws {RequiredError}
557
557
  */
@@ -561,8 +561,8 @@ exports.GroupApiFactory = function (configuration, basePath, axios) {
561
561
  /**
562
562
  *
563
563
  * @summary Delete group
564
- * @param {number} groupId Group ID.
565
- * @param {string} [xRequestID]
564
+ * @param {string} groupId Group ID.
565
+ * @param {string} [xRequestID] Request header label.
566
566
  * @param {*} [options] Override http request option.
567
567
  * @throws {RequiredError}
568
568
  */
@@ -574,7 +574,7 @@ exports.GroupApiFactory = function (configuration, basePath, axios) {
574
574
  * @summary Get groups
575
575
  * @param {number} page The page number to get a list of persons or groups.
576
576
  * @param {number} size The page size with a list of persons or groups, items.
577
- * @param {string} [xRequestID]
577
+ * @param {string} [xRequestID] Request header label.
578
578
  * @param {*} [options] Override http request option.
579
579
  * @throws {RequiredError}
580
580
  */
@@ -586,8 +586,8 @@ exports.GroupApiFactory = function (configuration, basePath, axios) {
586
586
  * @summary Get group persons
587
587
  * @param {number} page The page number to get a list of persons or groups.
588
588
  * @param {number} size The page size with a list of persons or groups, items.
589
- * @param {number} groupId Group ID.
590
- * @param {string} [xRequestID]
589
+ * @param {string} groupId Group ID.
590
+ * @param {string} [xRequestID] Request header label.
591
591
  * @param {*} [options] Override http request option.
592
592
  * @throws {RequiredError}
593
593
  */
@@ -597,8 +597,8 @@ exports.GroupApiFactory = function (configuration, basePath, axios) {
597
597
  /**
598
598
  *
599
599
  * @summary Get group
600
- * @param {number} groupId Group ID.
601
- * @param {string} [xRequestID]
600
+ * @param {string} groupId Group ID.
601
+ * @param {string} [xRequestID] Request header label.
602
602
  * @param {*} [options] Override http request option.
603
603
  * @throws {RequiredError}
604
604
  */
@@ -608,9 +608,9 @@ exports.GroupApiFactory = function (configuration, basePath, axios) {
608
608
  /**
609
609
  *
610
610
  * @summary Update group
611
- * @param {number} groupId Group ID.
611
+ * @param {string} groupId Group ID.
612
612
  * @param {GroupToCreate} groupToCreate Request body for the group to update.
613
- * @param {string} [xRequestID]
613
+ * @param {string} [xRequestID] Request header label.
614
614
  * @param {*} [options] Override http request option.
615
615
  * @throws {RequiredError}
616
616
  */
@@ -620,9 +620,9 @@ exports.GroupApiFactory = function (configuration, basePath, axios) {
620
620
  /**
621
621
  *
622
622
  * @summary Add/remove persons to group
623
- * @param {number} groupId Group ID.
623
+ * @param {string} groupId Group ID.
624
624
  * @param {UpdateGroup} updateGroup Request body for person IDs to add or remove.
625
- * @param {string} [xRequestID]
625
+ * @param {string} [xRequestID] Request header label.
626
626
  * @param {*} [options] Override http request option.
627
627
  * @throws {RequiredError}
628
628
  */
@@ -646,7 +646,7 @@ var GroupApi = /** @class */ (function (_super) {
646
646
  *
647
647
  * @summary Create group
648
648
  * @param {GroupToCreate} groupToCreate Request body for the group to create.
649
- * @param {string} [xRequestID]
649
+ * @param {string} [xRequestID] Request header label.
650
650
  * @param {*} [options] Override http request option.
651
651
  * @throws {RequiredError}
652
652
  * @memberof GroupApi
@@ -658,8 +658,8 @@ var GroupApi = /** @class */ (function (_super) {
658
658
  /**
659
659
  *
660
660
  * @summary Delete group
661
- * @param {number} groupId Group ID.
662
- * @param {string} [xRequestID]
661
+ * @param {string} groupId Group ID.
662
+ * @param {string} [xRequestID] Request header label.
663
663
  * @param {*} [options] Override http request option.
664
664
  * @throws {RequiredError}
665
665
  * @memberof GroupApi
@@ -673,7 +673,7 @@ var GroupApi = /** @class */ (function (_super) {
673
673
  * @summary Get groups
674
674
  * @param {number} page The page number to get a list of persons or groups.
675
675
  * @param {number} size The page size with a list of persons or groups, items.
676
- * @param {string} [xRequestID]
676
+ * @param {string} [xRequestID] Request header label.
677
677
  * @param {*} [options] Override http request option.
678
678
  * @throws {RequiredError}
679
679
  * @memberof GroupApi
@@ -687,8 +687,8 @@ var GroupApi = /** @class */ (function (_super) {
687
687
  * @summary Get group persons
688
688
  * @param {number} page The page number to get a list of persons or groups.
689
689
  * @param {number} size The page size with a list of persons or groups, items.
690
- * @param {number} groupId Group ID.
691
- * @param {string} [xRequestID]
690
+ * @param {string} groupId Group ID.
691
+ * @param {string} [xRequestID] Request header label.
692
692
  * @param {*} [options] Override http request option.
693
693
  * @throws {RequiredError}
694
694
  * @memberof GroupApi
@@ -700,8 +700,8 @@ var GroupApi = /** @class */ (function (_super) {
700
700
  /**
701
701
  *
702
702
  * @summary Get group
703
- * @param {number} groupId Group ID.
704
- * @param {string} [xRequestID]
703
+ * @param {string} groupId Group ID.
704
+ * @param {string} [xRequestID] Request header label.
705
705
  * @param {*} [options] Override http request option.
706
706
  * @throws {RequiredError}
707
707
  * @memberof GroupApi
@@ -713,9 +713,9 @@ var GroupApi = /** @class */ (function (_super) {
713
713
  /**
714
714
  *
715
715
  * @summary Update group
716
- * @param {number} groupId Group ID.
716
+ * @param {string} groupId Group ID.
717
717
  * @param {GroupToCreate} groupToCreate Request body for the group to update.
718
- * @param {string} [xRequestID]
718
+ * @param {string} [xRequestID] Request header label.
719
719
  * @param {*} [options] Override http request option.
720
720
  * @throws {RequiredError}
721
721
  * @memberof GroupApi
@@ -727,9 +727,9 @@ var GroupApi = /** @class */ (function (_super) {
727
727
  /**
728
728
  *
729
729
  * @summary Add/remove persons to group
730
- * @param {number} groupId Group ID.
730
+ * @param {string} groupId Group ID.
731
731
  * @param {UpdateGroup} updateGroup Request body for person IDs to add or remove.
732
- * @param {string} [xRequestID]
732
+ * @param {string} [xRequestID] Request header label.
733
733
  * @param {*} [options] Override http request option.
734
734
  * @throws {RequiredError}
735
735
  * @memberof GroupApi
@@ -741,4 +741,4 @@ var GroupApi = /** @class */ (function (_super) {
741
741
  return GroupApi;
742
742
  }(base_1.BaseAPI));
743
743
  exports.GroupApi = GroupApi;
744
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaS9ncm91cC1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLG9CQUFvQjtBQUNwQixvQkFBb0I7QUFDcEI7Ozs7Ozs7Ozs7R0FVRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBR0gsK0JBQXFGO0FBRXJGLHlEQUF5RDtBQUN6RCxhQUFhO0FBQ2Isb0NBQTZOO0FBQzdOLGFBQWE7QUFDYixnQ0FBNkY7QUFhN0Y7OztHQUdHO0FBQ1UsUUFBQSx5QkFBeUIsR0FBRyxVQUFVLGFBQTZCO0lBQXZDLGlCQTBUeEM7SUF6VEcsT0FBTztRQUNIOzs7Ozs7O1dBT0c7UUFDSCxXQUFXLEVBQUUsVUFBTyxhQUE0QixFQUFFLFVBQW1CLEVBQUUsT0FBZ0M7WUFBaEMsd0JBQUEsRUFBQSxZQUFnQzs7OztvQkFDbkcscUVBQXFFO29CQUNyRSwwQkFBaUIsQ0FBQyxhQUFhLEVBQUUsZUFBZSxFQUFFLGFBQWEsQ0FBQyxDQUFBO29CQUMxRCxZQUFZLEdBQUcsYUFBYSxDQUFDO29CQUU3QixjQUFjLEdBQUcsSUFBSSxHQUFHLENBQUMsWUFBWSxFQUFFLHVCQUFjLENBQUMsQ0FBQztvQkFFN0QsSUFBSSxhQUFhLEVBQUU7d0JBQ2YsV0FBVyxHQUFHLGFBQWEsQ0FBQyxXQUFXLENBQUM7cUJBQzNDO29CQUVLLHNCQUFzQix1QkFBSyxNQUFNLEVBQUUsTUFBTSxJQUFLLFdBQVcsR0FBSyxPQUFPLENBQUMsQ0FBQztvQkFDdkUsdUJBQXVCLEdBQUcsRUFBUyxDQUFDO29CQUNwQyxzQkFBc0IsR0FBRyxFQUFTLENBQUM7b0JBRXpDLElBQUksVUFBVSxLQUFLLFNBQVMsSUFBSSxVQUFVLEtBQUssSUFBSSxFQUFFO3dCQUNqRCx1QkFBdUIsQ0FBQyxhQUFhLENBQUMsR0FBRyxNQUFNLENBQUMsVUFBVSxD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
744
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaS9ncm91cC1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLG9CQUFvQjtBQUNwQixvQkFBb0I7QUFDcEI7Ozs7Ozs7Ozs7R0FVRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBR0gsK0JBQXFGO0FBRXJGLHlEQUF5RDtBQUN6RCxhQUFhO0FBQ2Isb0NBQTZOO0FBQzdOLGFBQWE7QUFDYixnQ0FBNkY7QUFhN0Y7OztHQUdHO0FBQ1UsUUFBQSx5QkFBeUIsR0FBRyxVQUFVLGFBQTZCO0lBQXZDLGlCQTBUeEM7SUF6VEcsT0FBTztRQUNIOzs7Ozs7O1dBT0c7UUFDSCxXQUFXLEVBQUUsVUFBTyxhQUE0QixFQUFFLFVBQW1CLEVBQUUsT0FBZ0M7WUFBaEMsd0JBQUEsRUFBQSxZQUFnQzs7OztvQkFDbkcscUVBQXFFO29CQUNyRSwwQkFBaUIsQ0FBQyxhQUFhLEVBQUUsZUFBZSxFQUFFLGFBQWEsQ0FBQyxDQUFBO29CQUMxRCxZQUFZLEdBQUcsYUFBYSxDQUFDO29CQUU3QixjQUFjLEdBQUcsSUFBSSxHQUFHLENBQUMsWUFBWSxFQUFFLHVCQUFjLENBQUMsQ0FBQztvQkFFN0QsSUFBSSxhQUFhLEVBQUU7d0JBQ2YsV0FBVyxHQUFHLGFBQWEsQ0FBQyxXQUFXLENBQUM7cUJBQzNDO29CQUVLLHNCQUFzQix1QkFBSyxNQUFNLEVBQUUsTUFBTSxJQUFLLFdBQVcsR0FBSyxPQUFPLENBQUMsQ0FBQztvQkFDdkUsdUJBQXVCLEdBQUcsRUFBUyxDQUFDO29CQUNwQyxzQkFBc0IsR0FBRyxFQUFTLENBQUM7b0JBRXpDLElBQUksVUFBVSxLQUFLLFNBQVMsSUFBSSxVQUFVLEtBQUssSUFBSSxFQUFFO3dCQUNqRCx1QkFBdUIsQ0FBQyxhQUFhLENBQUMsR0FBRyxNQUFNLENBQUMsVUFBVSxD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