@handsondigital/idplugger-admin 2.2.3 → 2.2.5

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.
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- ## @handsondigital/idplugger-admin@2.2.3
1
+ ## @handsondigital/idplugger-admin@2.2.5
2
2
 
3
3
  This generator creates TypeScript/JavaScript client that utilizes [axios](https://github.com/axios/axios). The generated Node module can be used in the following environments:
4
4
 
@@ -36,7 +36,7 @@ navigate to the folder of your consuming project and run one of the following co
36
36
  _published:_
37
37
 
38
38
  ```
39
- npm install @handsondigital/idplugger-admin@2.2.3 --save
39
+ npm install @handsondigital/idplugger-admin@2.2.5 --save
40
40
  ```
41
41
 
42
42
  _unPublished (not recommended):_
package/api.ts CHANGED
@@ -3188,14 +3188,18 @@ export const ApiLogsApiAxiosParamCreator = function (configuration?: Configurati
3188
3188
  /**
3189
3189
  *
3190
3190
  * @summary List API logs
3191
- * @param {string} [q] Search text
3192
- * @param {string} [date] Filter by date (YYYY-MM-DD)
3191
+ * @param {string} [path] Filter by request path (partial match)
3192
+ * @param {string} [method] Filter by HTTP method (GET, POST, PUT, DELETE, etc.)
3193
+ * @param {number} [status] Filter by HTTP status code
3194
+ * @param {string} [username] Filter by API username
3195
+ * @param {string} [from] Filter by start date (YYYY-MM-DD)
3196
+ * @param {string} [to] Filter by end date (YYYY-MM-DD)
3193
3197
  * @param {number} [page] Page number for pagination
3194
3198
  * @param {number} [perPage] Number of items per page
3195
3199
  * @param {*} [options] Override http request option.
3196
3200
  * @throws {RequiredError}
3197
3201
  */
3198
- adminLogsGet: async (q?: string, date?: string, page?: number, perPage?: number, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
3202
+ adminLogsGet: async (path?: string, method?: string, status?: number, username?: string, from?: string, to?: string, page?: number, perPage?: number, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
3199
3203
  const localVarPath = `/admin/logs`;
3200
3204
  // use dummy base URL string because the URL constructor only accepts absolute URLs.
3201
3205
  const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
@@ -3208,14 +3212,32 @@ export const ApiLogsApiAxiosParamCreator = function (configuration?: Configurati
3208
3212
  const localVarHeaderParameter = {} as any;
3209
3213
  const localVarQueryParameter = {} as any;
3210
3214
 
3211
- if (q !== undefined) {
3212
- localVarQueryParameter['q'] = q;
3215
+ if (path !== undefined) {
3216
+ localVarQueryParameter['path'] = path;
3213
3217
  }
3214
3218
 
3215
- if (date !== undefined) {
3216
- localVarQueryParameter['date'] = (date as any instanceof Date) ?
3217
- (date as any).toISOString().substring(0,10) :
3218
- date;
3219
+ if (method !== undefined) {
3220
+ localVarQueryParameter['method'] = method;
3221
+ }
3222
+
3223
+ if (status !== undefined) {
3224
+ localVarQueryParameter['status'] = status;
3225
+ }
3226
+
3227
+ if (username !== undefined) {
3228
+ localVarQueryParameter['username'] = username;
3229
+ }
3230
+
3231
+ if (from !== undefined) {
3232
+ localVarQueryParameter['from'] = (from as any instanceof Date) ?
3233
+ (from as any).toISOString().substring(0,10) :
3234
+ from;
3235
+ }
3236
+
3237
+ if (to !== undefined) {
3238
+ localVarQueryParameter['to'] = (to as any instanceof Date) ?
3239
+ (to as any).toISOString().substring(0,10) :
3240
+ to;
3219
3241
  }
3220
3242
 
3221
3243
  if (page !== undefined) {
@@ -3284,15 +3306,19 @@ export const ApiLogsApiFp = function(configuration?: Configuration) {
3284
3306
  /**
3285
3307
  *
3286
3308
  * @summary List API logs
3287
- * @param {string} [q] Search text
3288
- * @param {string} [date] Filter by date (YYYY-MM-DD)
3309
+ * @param {string} [path] Filter by request path (partial match)
3310
+ * @param {string} [method] Filter by HTTP method (GET, POST, PUT, DELETE, etc.)
3311
+ * @param {number} [status] Filter by HTTP status code
3312
+ * @param {string} [username] Filter by API username
3313
+ * @param {string} [from] Filter by start date (YYYY-MM-DD)
3314
+ * @param {string} [to] Filter by end date (YYYY-MM-DD)
3289
3315
  * @param {number} [page] Page number for pagination
3290
3316
  * @param {number} [perPage] Number of items per page
3291
3317
  * @param {*} [options] Override http request option.
3292
3318
  * @throws {RequiredError}
3293
3319
  */
3294
- async adminLogsGet(q?: string, date?: string, page?: number, perPage?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiLogPaginated>> {
3295
- const localVarAxiosArgs = await localVarAxiosParamCreator.adminLogsGet(q, date, page, perPage, options);
3320
+ async adminLogsGet(path?: string, method?: string, status?: number, username?: string, from?: string, to?: string, page?: number, perPage?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiLogPaginated>> {
3321
+ const localVarAxiosArgs = await localVarAxiosParamCreator.adminLogsGet(path, method, status, username, from, to, page, perPage, options);
3296
3322
  const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
3297
3323
  const localVarOperationServerBasePath = operationServerMap['ApiLogsApi.adminLogsGet']?.[localVarOperationServerIndex]?.url;
3298
3324
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
@@ -3328,7 +3354,7 @@ export const ApiLogsApiFactory = function (configuration?: Configuration, basePa
3328
3354
  * @throws {RequiredError}
3329
3355
  */
3330
3356
  adminLogsGet(requestParameters: ApiLogsApiAdminLogsGetRequest = {}, options?: RawAxiosRequestConfig): AxiosPromise<ApiLogPaginated> {
3331
- return localVarFp.adminLogsGet(requestParameters.q, requestParameters.date, requestParameters.page, requestParameters.perPage, options).then((request) => request(axios, basePath));
3357
+ return localVarFp.adminLogsGet(requestParameters.path, requestParameters.method, requestParameters.status, requestParameters.username, requestParameters.from, requestParameters.to, requestParameters.page, requestParameters.perPage, options).then((request) => request(axios, basePath));
3332
3358
  },
3333
3359
  /**
3334
3360
  *
@@ -3350,18 +3376,46 @@ export const ApiLogsApiFactory = function (configuration?: Configuration, basePa
3350
3376
  */
3351
3377
  export interface ApiLogsApiAdminLogsGetRequest {
3352
3378
  /**
3353
- * Search text
3379
+ * Filter by request path (partial match)
3354
3380
  * @type {string}
3355
3381
  * @memberof ApiLogsApiAdminLogsGet
3356
3382
  */
3357
- readonly q?: string
3383
+ readonly path?: string
3358
3384
 
3359
3385
  /**
3360
- * Filter by date (YYYY-MM-DD)
3386
+ * Filter by HTTP method (GET, POST, PUT, DELETE, etc.)
3361
3387
  * @type {string}
3362
3388
  * @memberof ApiLogsApiAdminLogsGet
3363
3389
  */
3364
- readonly date?: string
3390
+ readonly method?: string
3391
+
3392
+ /**
3393
+ * Filter by HTTP status code
3394
+ * @type {number}
3395
+ * @memberof ApiLogsApiAdminLogsGet
3396
+ */
3397
+ readonly status?: number
3398
+
3399
+ /**
3400
+ * Filter by API username
3401
+ * @type {string}
3402
+ * @memberof ApiLogsApiAdminLogsGet
3403
+ */
3404
+ readonly username?: string
3405
+
3406
+ /**
3407
+ * Filter by start date (YYYY-MM-DD)
3408
+ * @type {string}
3409
+ * @memberof ApiLogsApiAdminLogsGet
3410
+ */
3411
+ readonly from?: string
3412
+
3413
+ /**
3414
+ * Filter by end date (YYYY-MM-DD)
3415
+ * @type {string}
3416
+ * @memberof ApiLogsApiAdminLogsGet
3417
+ */
3418
+ readonly to?: string
3365
3419
 
3366
3420
  /**
3367
3421
  * Page number for pagination
@@ -3408,7 +3462,7 @@ export class ApiLogsApi extends BaseAPI {
3408
3462
  * @memberof ApiLogsApi
3409
3463
  */
3410
3464
  public adminLogsGet(requestParameters: ApiLogsApiAdminLogsGetRequest = {}, options?: RawAxiosRequestConfig) {
3411
- return ApiLogsApiFp(this.configuration).adminLogsGet(requestParameters.q, requestParameters.date, requestParameters.page, requestParameters.perPage, options).then((request) => request(this.axios, this.basePath));
3465
+ return ApiLogsApiFp(this.configuration).adminLogsGet(requestParameters.path, requestParameters.method, requestParameters.status, requestParameters.username, requestParameters.from, requestParameters.to, requestParameters.page, requestParameters.perPage, options).then((request) => request(this.axios, this.basePath));
3412
3466
  }
3413
3467
 
3414
3468
  /**
package/dist/api.d.ts CHANGED
@@ -3178,14 +3178,18 @@ export declare const ApiLogsApiAxiosParamCreator: (configuration?: Configuration
3178
3178
  /**
3179
3179
  *
3180
3180
  * @summary List API logs
3181
- * @param {string} [q] Search text
3182
- * @param {string} [date] Filter by date (YYYY-MM-DD)
3181
+ * @param {string} [path] Filter by request path (partial match)
3182
+ * @param {string} [method] Filter by HTTP method (GET, POST, PUT, DELETE, etc.)
3183
+ * @param {number} [status] Filter by HTTP status code
3184
+ * @param {string} [username] Filter by API username
3185
+ * @param {string} [from] Filter by start date (YYYY-MM-DD)
3186
+ * @param {string} [to] Filter by end date (YYYY-MM-DD)
3183
3187
  * @param {number} [page] Page number for pagination
3184
3188
  * @param {number} [perPage] Number of items per page
3185
3189
  * @param {*} [options] Override http request option.
3186
3190
  * @throws {RequiredError}
3187
3191
  */
3188
- adminLogsGet: (q?: string, date?: string, page?: number, perPage?: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
3192
+ adminLogsGet: (path?: string, method?: string, status?: number, username?: string, from?: string, to?: string, page?: number, perPage?: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
3189
3193
  /**
3190
3194
  *
3191
3195
  * @summary Get specific API log
@@ -3203,14 +3207,18 @@ export declare const ApiLogsApiFp: (configuration?: Configuration) => {
3203
3207
  /**
3204
3208
  *
3205
3209
  * @summary List API logs
3206
- * @param {string} [q] Search text
3207
- * @param {string} [date] Filter by date (YYYY-MM-DD)
3210
+ * @param {string} [path] Filter by request path (partial match)
3211
+ * @param {string} [method] Filter by HTTP method (GET, POST, PUT, DELETE, etc.)
3212
+ * @param {number} [status] Filter by HTTP status code
3213
+ * @param {string} [username] Filter by API username
3214
+ * @param {string} [from] Filter by start date (YYYY-MM-DD)
3215
+ * @param {string} [to] Filter by end date (YYYY-MM-DD)
3208
3216
  * @param {number} [page] Page number for pagination
3209
3217
  * @param {number} [perPage] Number of items per page
3210
3218
  * @param {*} [options] Override http request option.
3211
3219
  * @throws {RequiredError}
3212
3220
  */
3213
- adminLogsGet(q?: string, date?: string, page?: number, perPage?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiLogPaginated>>;
3221
+ adminLogsGet(path?: string, method?: string, status?: number, username?: string, from?: string, to?: string, page?: number, perPage?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiLogPaginated>>;
3214
3222
  /**
3215
3223
  *
3216
3224
  * @summary Get specific API log
@@ -3249,17 +3257,41 @@ export declare const ApiLogsApiFactory: (configuration?: Configuration, basePath
3249
3257
  */
3250
3258
  export interface ApiLogsApiAdminLogsGetRequest {
3251
3259
  /**
3252
- * Search text
3260
+ * Filter by request path (partial match)
3253
3261
  * @type {string}
3254
3262
  * @memberof ApiLogsApiAdminLogsGet
3255
3263
  */
3256
- readonly q?: string;
3264
+ readonly path?: string;
3257
3265
  /**
3258
- * Filter by date (YYYY-MM-DD)
3266
+ * Filter by HTTP method (GET, POST, PUT, DELETE, etc.)
3259
3267
  * @type {string}
3260
3268
  * @memberof ApiLogsApiAdminLogsGet
3261
3269
  */
3262
- readonly date?: string;
3270
+ readonly method?: string;
3271
+ /**
3272
+ * Filter by HTTP status code
3273
+ * @type {number}
3274
+ * @memberof ApiLogsApiAdminLogsGet
3275
+ */
3276
+ readonly status?: number;
3277
+ /**
3278
+ * Filter by API username
3279
+ * @type {string}
3280
+ * @memberof ApiLogsApiAdminLogsGet
3281
+ */
3282
+ readonly username?: string;
3283
+ /**
3284
+ * Filter by start date (YYYY-MM-DD)
3285
+ * @type {string}
3286
+ * @memberof ApiLogsApiAdminLogsGet
3287
+ */
3288
+ readonly from?: string;
3289
+ /**
3290
+ * Filter by end date (YYYY-MM-DD)
3291
+ * @type {string}
3292
+ * @memberof ApiLogsApiAdminLogsGet
3293
+ */
3294
+ readonly to?: string;
3263
3295
  /**
3264
3296
  * Page number for pagination
3265
3297
  * @type {number}
package/dist/api.js CHANGED
@@ -191,19 +191,23 @@ var ApiLogsApiAxiosParamCreator = function (configuration) {
191
191
  /**
192
192
  *
193
193
  * @summary List API logs
194
- * @param {string} [q] Search text
195
- * @param {string} [date] Filter by date (YYYY-MM-DD)
194
+ * @param {string} [path] Filter by request path (partial match)
195
+ * @param {string} [method] Filter by HTTP method (GET, POST, PUT, DELETE, etc.)
196
+ * @param {number} [status] Filter by HTTP status code
197
+ * @param {string} [username] Filter by API username
198
+ * @param {string} [from] Filter by start date (YYYY-MM-DD)
199
+ * @param {string} [to] Filter by end date (YYYY-MM-DD)
196
200
  * @param {number} [page] Page number for pagination
197
201
  * @param {number} [perPage] Number of items per page
198
202
  * @param {*} [options] Override http request option.
199
203
  * @throws {RequiredError}
200
204
  */
201
- adminLogsGet: function (q_1, date_1, page_1, perPage_1) {
205
+ adminLogsGet: function (path_1, method_1, status_1, username_1, from_1, to_1, page_1, perPage_1) {
202
206
  var args_1 = [];
203
- for (var _i = 4; _i < arguments.length; _i++) {
204
- args_1[_i - 4] = arguments[_i];
207
+ for (var _i = 8; _i < arguments.length; _i++) {
208
+ args_1[_i - 8] = arguments[_i];
205
209
  }
206
- return __awaiter(_this, __spreadArray([q_1, date_1, page_1, perPage_1], args_1, true), void 0, function (q, date, page, perPage, options) {
210
+ return __awaiter(_this, __spreadArray([path_1, method_1, status_1, username_1, from_1, to_1, page_1, perPage_1], args_1, true), void 0, function (path, method, status, username, from, to, page, perPage, options) {
207
211
  var localVarPath, localVarUrlObj, baseOptions, localVarRequestOptions, localVarHeaderParameter, localVarQueryParameter, headersFromBaseOptions;
208
212
  if (options === void 0) { options = {}; }
209
213
  return __generator(this, function (_a) {
@@ -215,13 +219,27 @@ var ApiLogsApiAxiosParamCreator = function (configuration) {
215
219
  localVarRequestOptions = __assign(__assign({ method: 'GET' }, baseOptions), options);
216
220
  localVarHeaderParameter = {};
217
221
  localVarQueryParameter = {};
218
- if (q !== undefined) {
219
- localVarQueryParameter['q'] = q;
222
+ if (path !== undefined) {
223
+ localVarQueryParameter['path'] = path;
220
224
  }
221
- if (date !== undefined) {
222
- localVarQueryParameter['date'] = (date instanceof Date) ?
223
- date.toISOString().substring(0, 10) :
224
- date;
225
+ if (method !== undefined) {
226
+ localVarQueryParameter['method'] = method;
227
+ }
228
+ if (status !== undefined) {
229
+ localVarQueryParameter['status'] = status;
230
+ }
231
+ if (username !== undefined) {
232
+ localVarQueryParameter['username'] = username;
233
+ }
234
+ if (from !== undefined) {
235
+ localVarQueryParameter['from'] = (from instanceof Date) ?
236
+ from.toISOString().substring(0, 10) :
237
+ from;
238
+ }
239
+ if (to !== undefined) {
240
+ localVarQueryParameter['to'] = (to instanceof Date) ?
241
+ to.toISOString().substring(0, 10) :
242
+ to;
225
243
  }
226
244
  if (page !== undefined) {
227
245
  localVarQueryParameter['page'] = page;
@@ -289,20 +307,24 @@ var ApiLogsApiFp = function (configuration) {
289
307
  /**
290
308
  *
291
309
  * @summary List API logs
292
- * @param {string} [q] Search text
293
- * @param {string} [date] Filter by date (YYYY-MM-DD)
310
+ * @param {string} [path] Filter by request path (partial match)
311
+ * @param {string} [method] Filter by HTTP method (GET, POST, PUT, DELETE, etc.)
312
+ * @param {number} [status] Filter by HTTP status code
313
+ * @param {string} [username] Filter by API username
314
+ * @param {string} [from] Filter by start date (YYYY-MM-DD)
315
+ * @param {string} [to] Filter by end date (YYYY-MM-DD)
294
316
  * @param {number} [page] Page number for pagination
295
317
  * @param {number} [perPage] Number of items per page
296
318
  * @param {*} [options] Override http request option.
297
319
  * @throws {RequiredError}
298
320
  */
299
- adminLogsGet: function (q, date, page, perPage, options) {
321
+ adminLogsGet: function (path, method, status, username, from, to, page, perPage, options) {
300
322
  return __awaiter(this, void 0, void 0, function () {
301
323
  var localVarAxiosArgs, localVarOperationServerIndex, localVarOperationServerBasePath;
302
324
  var _a, _b, _c;
303
325
  return __generator(this, function (_d) {
304
326
  switch (_d.label) {
305
- case 0: return [4 /*yield*/, localVarAxiosParamCreator.adminLogsGet(q, date, page, perPage, options)];
327
+ case 0: return [4 /*yield*/, localVarAxiosParamCreator.adminLogsGet(path, method, status, username, from, to, page, perPage, options)];
306
328
  case 1:
307
329
  localVarAxiosArgs = _d.sent();
308
330
  localVarOperationServerIndex = (_a = configuration === null || configuration === void 0 ? void 0 : configuration.serverIndex) !== null && _a !== void 0 ? _a : 0;
@@ -354,7 +376,7 @@ var ApiLogsApiFactory = function (configuration, basePath, axios) {
354
376
  */
355
377
  adminLogsGet: function (requestParameters, options) {
356
378
  if (requestParameters === void 0) { requestParameters = {}; }
357
- return localVarFp.adminLogsGet(requestParameters.q, requestParameters.date, requestParameters.page, requestParameters.perPage, options).then(function (request) { return request(axios, basePath); });
379
+ return localVarFp.adminLogsGet(requestParameters.path, requestParameters.method, requestParameters.status, requestParameters.username, requestParameters.from, requestParameters.to, requestParameters.page, requestParameters.perPage, options).then(function (request) { return request(axios, basePath); });
358
380
  },
359
381
  /**
360
382
  *
@@ -391,7 +413,7 @@ var ApiLogsApi = /** @class */ (function (_super) {
391
413
  ApiLogsApi.prototype.adminLogsGet = function (requestParameters, options) {
392
414
  var _this = this;
393
415
  if (requestParameters === void 0) { requestParameters = {}; }
394
- return (0, exports.ApiLogsApiFp)(this.configuration).adminLogsGet(requestParameters.q, requestParameters.date, requestParameters.page, requestParameters.perPage, options).then(function (request) { return request(_this.axios, _this.basePath); });
416
+ return (0, exports.ApiLogsApiFp)(this.configuration).adminLogsGet(requestParameters.path, requestParameters.method, requestParameters.status, requestParameters.username, requestParameters.from, requestParameters.to, requestParameters.page, requestParameters.perPage, options).then(function (request) { return request(_this.axios, _this.basePath); });
395
417
  };
396
418
  /**
397
419
  *
@@ -22,14 +22,22 @@ import {
22
22
  const configuration = new Configuration();
23
23
  const apiInstance = new ApiLogsApi(configuration);
24
24
 
25
- let q: string; //Search text (optional) (default to undefined)
26
- let date: string; //Filter by date (YYYY-MM-DD) (optional) (default to undefined)
25
+ let path: string; //Filter by request path (partial match) (optional) (default to undefined)
26
+ let method: string; //Filter by HTTP method (GET, POST, PUT, DELETE, etc.) (optional) (default to undefined)
27
+ let status: number; //Filter by HTTP status code (optional) (default to undefined)
28
+ let username: string; //Filter by API username (optional) (default to undefined)
29
+ let from: string; //Filter by start date (YYYY-MM-DD) (optional) (default to undefined)
30
+ let to: string; //Filter by end date (YYYY-MM-DD) (optional) (default to undefined)
27
31
  let page: number; //Page number for pagination (optional) (default to 1)
28
32
  let perPage: number; //Number of items per page (optional) (default to 15)
29
33
 
30
34
  const { status, data } = await apiInstance.adminLogsGet(
31
- q,
32
- date,
35
+ path,
36
+ method,
37
+ status,
38
+ username,
39
+ from,
40
+ to,
33
41
  page,
34
42
  perPage
35
43
  );
@@ -39,8 +47,12 @@ const { status, data } = await apiInstance.adminLogsGet(
39
47
 
40
48
  |Name | Type | Description | Notes|
41
49
  |------------- | ------------- | ------------- | -------------|
42
- | **q** | [**string**] | Search text | (optional) defaults to undefined|
43
- | **date** | [**string**] | Filter by date (YYYY-MM-DD) | (optional) defaults to undefined|
50
+ | **path** | [**string**] | Filter by request path (partial match) | (optional) defaults to undefined|
51
+ | **method** | [**string**] | Filter by HTTP method (GET, POST, PUT, DELETE, etc.) | (optional) defaults to undefined|
52
+ | **status** | [**number**] | Filter by HTTP status code | (optional) defaults to undefined|
53
+ | **username** | [**string**] | Filter by API username | (optional) defaults to undefined|
54
+ | **from** | [**string**] | Filter by start date (YYYY-MM-DD) | (optional) defaults to undefined|
55
+ | **to** | [**string**] | Filter by end date (YYYY-MM-DD) | (optional) defaults to undefined|
44
56
  | **page** | [**number**] | Page number for pagination | (optional) defaults to 1|
45
57
  | **perPage** | [**number**] | Number of items per page | (optional) defaults to 15|
46
58
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@handsondigital/idplugger-admin",
3
- "version": "2.2.3",
3
+ "version": "2.2.5",
4
4
  "description": "OpenAPI client for @handsondigital/idplugger-admin",
5
5
  "author": "OpenAPI-Generator Contributors",
6
6
  "repository": {