@emilgroup/tenant-sdk 1.15.0 → 1.16.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.
- package/.openapi-generator/FILES +0 -1
- package/README.md +2 -2
- package/api/custom-schema-api.ts +36 -22
- package/api/data-report-api.ts +50 -36
- package/api/invite-users-api.ts +32 -18
- package/api/list-organization-invitations-api.ts +32 -18
- package/api/organizations-api.ts +28 -14
- package/api/roles-api.ts +22 -22
- package/api/settings-api.ts +4 -4
- package/api/users-api.ts +32 -18
- package/base.ts +6 -1
- package/configuration.ts +1 -1
- package/dist/api/custom-schema-api.d.ts +28 -19
- package/dist/api/custom-schema-api.js +26 -20
- package/dist/api/data-report-api.d.ts +38 -29
- package/dist/api/data-report-api.js +35 -29
- package/dist/api/invite-users-api.d.ts +24 -15
- package/dist/api/invite-users-api.js +22 -16
- package/dist/api/list-organization-invitations-api.d.ts +24 -15
- package/dist/api/list-organization-invitations-api.js +22 -16
- package/dist/api/organizations-api.d.ts +20 -11
- package/dist/api/organizations-api.js +18 -12
- package/dist/api/roles-api.d.ts +22 -22
- package/dist/api/roles-api.js +13 -13
- package/dist/api/settings-api.d.ts +4 -4
- package/dist/api/settings-api.js +4 -4
- package/dist/api/users-api.d.ts +24 -15
- package/dist/api/users-api.js +22 -16
- package/dist/base.d.ts +1 -0
- package/dist/base.js +5 -1
- package/dist/configuration.js +0 -7
- package/dist/models/batch-delete-request-dto.d.ts +2 -2
- package/dist/models/create-data-report-request-dto.d.ts +1 -1
- package/dist/models/create-role-request-dto.d.ts +2 -2
- package/dist/models/custom-field-dto.d.ts +37 -4
- package/dist/models/custom-field-dto.js +5 -2
- package/dist/models/data-report-class.d.ts +1 -1
- package/dist/models/disable-users-request-dto.d.ts +2 -2
- package/dist/models/enable-users-request-dto.d.ts +2 -2
- package/dist/models/index.d.ts +0 -1
- package/dist/models/index.js +0 -1
- package/dist/models/inline-response200.d.ts +6 -6
- package/dist/models/inline-response503.d.ts +6 -6
- package/dist/models/invite-class.d.ts +7 -0
- package/dist/models/invite-org-request-dto.d.ts +1 -1
- package/dist/models/invite-users-request-dto.d.ts +6 -0
- package/dist/models/organization-class.d.ts +6 -0
- package/dist/models/run-data-report-response-class.d.ts +2 -2
- package/dist/models/update-data-report-request-dto.d.ts +1 -1
- package/dist/models/update-role-request-dto.d.ts +2 -2
- package/dist/models/user-class.d.ts +7 -6
- package/models/batch-delete-request-dto.ts +2 -2
- package/models/create-data-report-request-dto.ts +1 -1
- package/models/create-role-request-dto.ts +2 -2
- package/models/custom-field-dto.ts +38 -5
- package/models/data-report-class.ts +1 -1
- package/models/disable-users-request-dto.ts +2 -2
- package/models/enable-users-request-dto.ts +2 -2
- package/models/index.ts +0 -1
- package/models/inline-response200.ts +6 -6
- package/models/inline-response503.ts +6 -6
- package/models/invite-class.ts +7 -0
- package/models/invite-org-request-dto.ts +1 -1
- package/models/invite-users-request-dto.ts +6 -0
- package/models/organization-class.ts +6 -0
- package/models/run-data-report-response-class.ts +2 -2
- package/models/update-data-report-request-dto.ts +1 -1
- package/models/update-role-request-dto.ts +2 -2
- package/models/user-class.ts +7 -6
- package/package.json +1 -1
- package/dist/models/set-user-setting-response-class.d.ts +0 -36
- package/dist/models/set-user-setting-response-class.js +0 -15
- package/models/set-user-setting-response-class.ts +0 -42
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
* https://openapi-generator.tech
|
|
10
10
|
* Do not edit the class manually.
|
|
11
11
|
*/
|
|
12
|
+
import { OrganizationClass } from './organization-class';
|
|
12
13
|
import { RoleClass } from './role-class';
|
|
13
14
|
import { SubscriptionClass } from './subscription-class';
|
|
14
15
|
/**
|
|
@@ -59,12 +60,6 @@ export interface UserClass {
|
|
|
59
60
|
* @memberof UserClass
|
|
60
61
|
*/
|
|
61
62
|
'sub': string;
|
|
62
|
-
/**
|
|
63
|
-
* tenant id
|
|
64
|
-
* @type {number}
|
|
65
|
-
* @memberof UserClass
|
|
66
|
-
*/
|
|
67
|
-
'tenantId'?: number;
|
|
68
63
|
/**
|
|
69
64
|
* roles associated with the user
|
|
70
65
|
* @type {Array<RoleClass>}
|
|
@@ -95,4 +90,10 @@ export interface UserClass {
|
|
|
95
90
|
* @memberof UserClass
|
|
96
91
|
*/
|
|
97
92
|
'updatedAt': string;
|
|
93
|
+
/**
|
|
94
|
+
* Organization associated with the user
|
|
95
|
+
* @type {OrganizationClass}
|
|
96
|
+
* @memberof UserClass
|
|
97
|
+
*/
|
|
98
|
+
'organization': OrganizationClass;
|
|
98
99
|
}
|
|
@@ -28,7 +28,7 @@ export interface CreateDataReportRequestDto {
|
|
|
28
28
|
*/
|
|
29
29
|
'code': string;
|
|
30
30
|
/**
|
|
31
|
-
* A slug is a human-readable, unique identifier, used to identify a resource
|
|
31
|
+
* A slug is a human-readable, unique identifier, used to identify a resource instead of a less human-readable identifier like an id.
|
|
32
32
|
* @type {string}
|
|
33
33
|
* @memberof CreateDataReportRequestDto
|
|
34
34
|
*/
|
|
@@ -34,9 +34,9 @@ export interface CreateRoleRequestDto {
|
|
|
34
34
|
'description': string;
|
|
35
35
|
/**
|
|
36
36
|
* Permission ids for the role
|
|
37
|
-
* @type {Array<
|
|
37
|
+
* @type {Array<number>}
|
|
38
38
|
* @memberof CreateRoleRequestDto
|
|
39
39
|
*/
|
|
40
|
-
'permissionIds': Array<
|
|
40
|
+
'permissionIds': Array<number>;
|
|
41
41
|
}
|
|
42
42
|
|
|
@@ -32,6 +32,12 @@ export interface CustomFieldDto {
|
|
|
32
32
|
* @memberof CustomFieldDto
|
|
33
33
|
*/
|
|
34
34
|
'label'?: string;
|
|
35
|
+
/**
|
|
36
|
+
* The type of the custom field. Supported types are: string, number, boolean, array, object, date, dateTime, phoneNumber, email, url
|
|
37
|
+
* @type {string}
|
|
38
|
+
* @memberof CustomFieldDto
|
|
39
|
+
*/
|
|
40
|
+
'type': CustomFieldDtoTypeEnum;
|
|
35
41
|
/**
|
|
36
42
|
* Indicates whether the customField is required
|
|
37
43
|
* @type {boolean}
|
|
@@ -67,13 +73,37 @@ export interface CustomFieldDto {
|
|
|
67
73
|
* @type {object}
|
|
68
74
|
* @memberof CustomFieldDto
|
|
69
75
|
*/
|
|
70
|
-
'options'
|
|
76
|
+
'options'?: object;
|
|
71
77
|
/**
|
|
72
|
-
*
|
|
78
|
+
* The minimum number of items allowed for array fields.
|
|
79
|
+
* @type {number}
|
|
80
|
+
* @memberof CustomFieldDto
|
|
81
|
+
*/
|
|
82
|
+
'minItems'?: number;
|
|
83
|
+
/**
|
|
84
|
+
* The maximum number of items allowed for array fields.
|
|
85
|
+
* @type {number}
|
|
86
|
+
* @memberof CustomFieldDto
|
|
87
|
+
*/
|
|
88
|
+
'maxItems'?: number;
|
|
89
|
+
/**
|
|
90
|
+
* Defines the structure of items for array fields.
|
|
91
|
+
* @type {CustomFieldDto}
|
|
92
|
+
* @memberof CustomFieldDto
|
|
93
|
+
*/
|
|
94
|
+
'items'?: CustomFieldDto;
|
|
95
|
+
/**
|
|
96
|
+
* Defines the properties for object fields.
|
|
97
|
+
* @type {object}
|
|
98
|
+
* @memberof CustomFieldDto
|
|
99
|
+
*/
|
|
100
|
+
'properties'?: object;
|
|
101
|
+
/**
|
|
102
|
+
* Defines the regex expression for string field.
|
|
73
103
|
* @type {string}
|
|
74
104
|
* @memberof CustomFieldDto
|
|
75
105
|
*/
|
|
76
|
-
'
|
|
106
|
+
'regexExpression'?: string;
|
|
77
107
|
}
|
|
78
108
|
|
|
79
109
|
export const CustomFieldDtoTypeEnum = {
|
|
@@ -81,9 +111,12 @@ export const CustomFieldDtoTypeEnum = {
|
|
|
81
111
|
Number: 'number',
|
|
82
112
|
Boolean: 'boolean',
|
|
83
113
|
Date: 'date',
|
|
84
|
-
DateTime: '
|
|
114
|
+
DateTime: 'dateTime',
|
|
85
115
|
Email: 'email',
|
|
86
|
-
Object: 'object'
|
|
116
|
+
Object: 'object',
|
|
117
|
+
Phone: 'phone',
|
|
118
|
+
Url: 'url',
|
|
119
|
+
Array: 'array'
|
|
87
120
|
} as const;
|
|
88
121
|
|
|
89
122
|
export type CustomFieldDtoTypeEnum = typeof CustomFieldDtoTypeEnum[keyof typeof CustomFieldDtoTypeEnum];
|
|
@@ -34,7 +34,7 @@ export interface DataReportClass {
|
|
|
34
34
|
*/
|
|
35
35
|
'code': string;
|
|
36
36
|
/**
|
|
37
|
-
* A slug is a human-readable, unique identifier, used to identify a resource
|
|
37
|
+
* A slug is a human-readable, unique identifier, used to identify a resource instead of a less human-readable identifier like an id.
|
|
38
38
|
* @type {string}
|
|
39
39
|
* @memberof DataReportClass
|
|
40
40
|
*/
|
package/models/index.ts
CHANGED
|
@@ -55,7 +55,6 @@ export * from './role-class';
|
|
|
55
55
|
export * from './run-data-report-request-dto';
|
|
56
56
|
export * from './run-data-report-response-class';
|
|
57
57
|
export * from './set-setting-request-dto';
|
|
58
|
-
export * from './set-user-setting-response-class';
|
|
59
58
|
export * from './subscription-class';
|
|
60
59
|
export * from './tenant-admin-user-dto';
|
|
61
60
|
export * from './tenant-settings-class';
|
|
@@ -28,21 +28,21 @@ export interface InlineResponse200 {
|
|
|
28
28
|
'status'?: string;
|
|
29
29
|
/**
|
|
30
30
|
*
|
|
31
|
-
* @type {{ [key: string]: { [key: string]:
|
|
31
|
+
* @type {{ [key: string]: { [key: string]: object; }; }}
|
|
32
32
|
* @memberof InlineResponse200
|
|
33
33
|
*/
|
|
34
|
-
'info'?: { [key: string]: { [key: string]:
|
|
34
|
+
'info'?: { [key: string]: { [key: string]: object; }; } | null;
|
|
35
35
|
/**
|
|
36
36
|
*
|
|
37
|
-
* @type {{ [key: string]: { [key: string]:
|
|
37
|
+
* @type {{ [key: string]: { [key: string]: object; }; }}
|
|
38
38
|
* @memberof InlineResponse200
|
|
39
39
|
*/
|
|
40
|
-
'error'?: { [key: string]: { [key: string]:
|
|
40
|
+
'error'?: { [key: string]: { [key: string]: object; }; } | null;
|
|
41
41
|
/**
|
|
42
42
|
*
|
|
43
|
-
* @type {{ [key: string]: { [key: string]:
|
|
43
|
+
* @type {{ [key: string]: { [key: string]: object; }; }}
|
|
44
44
|
* @memberof InlineResponse200
|
|
45
45
|
*/
|
|
46
|
-
'details'?: { [key: string]: { [key: string]:
|
|
46
|
+
'details'?: { [key: string]: { [key: string]: object; }; };
|
|
47
47
|
}
|
|
48
48
|
|
|
@@ -28,21 +28,21 @@ export interface InlineResponse503 {
|
|
|
28
28
|
'status'?: string;
|
|
29
29
|
/**
|
|
30
30
|
*
|
|
31
|
-
* @type {{ [key: string]: { [key: string]:
|
|
31
|
+
* @type {{ [key: string]: { [key: string]: object; }; }}
|
|
32
32
|
* @memberof InlineResponse503
|
|
33
33
|
*/
|
|
34
|
-
'info'?: { [key: string]: { [key: string]:
|
|
34
|
+
'info'?: { [key: string]: { [key: string]: object; }; } | null;
|
|
35
35
|
/**
|
|
36
36
|
*
|
|
37
|
-
* @type {{ [key: string]: { [key: string]:
|
|
37
|
+
* @type {{ [key: string]: { [key: string]: object; }; }}
|
|
38
38
|
* @memberof InlineResponse503
|
|
39
39
|
*/
|
|
40
|
-
'error'?: { [key: string]: { [key: string]:
|
|
40
|
+
'error'?: { [key: string]: { [key: string]: object; }; } | null;
|
|
41
41
|
/**
|
|
42
42
|
*
|
|
43
|
-
* @type {{ [key: string]: { [key: string]:
|
|
43
|
+
* @type {{ [key: string]: { [key: string]: object; }; }}
|
|
44
44
|
* @memberof InlineResponse503
|
|
45
45
|
*/
|
|
46
|
-
'details'?: { [key: string]: { [key: string]:
|
|
46
|
+
'details'?: { [key: string]: { [key: string]: object; }; };
|
|
47
47
|
}
|
|
48
48
|
|
package/models/invite-class.ts
CHANGED
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
*/
|
|
14
14
|
|
|
15
15
|
|
|
16
|
+
import { OrganizationClass } from './organization-class';
|
|
16
17
|
import { RoleClass } from './role-class';
|
|
17
18
|
|
|
18
19
|
/**
|
|
@@ -57,5 +58,11 @@ export interface InviteClass {
|
|
|
57
58
|
* @memberof InviteClass
|
|
58
59
|
*/
|
|
59
60
|
'updatedAt': string;
|
|
61
|
+
/**
|
|
62
|
+
* Organization associated with the user
|
|
63
|
+
* @type {OrganizationClass}
|
|
64
|
+
* @memberof InviteClass
|
|
65
|
+
*/
|
|
66
|
+
'organization': OrganizationClass;
|
|
60
67
|
}
|
|
61
68
|
|
|
@@ -39,7 +39,7 @@ export interface InviteOrgRequestDto {
|
|
|
39
39
|
*/
|
|
40
40
|
'name': string;
|
|
41
41
|
/**
|
|
42
|
-
*
|
|
42
|
+
* Identifier for the organization. Restrictions: should have at least 3 characters; should not exceed 63 characters; must be unique within the hierarchy scope; only lowercase letters (a-z), digits (0-9), and underscores (_) are allowed; will be part of the organization\'s ERN; the ERN length must not exceed 63 characters, including the slug.
|
|
43
43
|
* @type {string}
|
|
44
44
|
* @memberof InviteOrgRequestDto
|
|
45
45
|
*/
|
|
@@ -32,5 +32,11 @@ export interface InviteUsersRequestDto {
|
|
|
32
32
|
* @memberof InviteUsersRequestDto
|
|
33
33
|
*/
|
|
34
34
|
'roleIds': Array<number>;
|
|
35
|
+
/**
|
|
36
|
+
* Organization associated with the users.
|
|
37
|
+
* @type {number}
|
|
38
|
+
* @memberof InviteUsersRequestDto
|
|
39
|
+
*/
|
|
40
|
+
'organizationId'?: number;
|
|
35
41
|
}
|
|
36
42
|
|
|
@@ -38,6 +38,12 @@ export interface OrganizationClass {
|
|
|
38
38
|
* @memberof OrganizationClass
|
|
39
39
|
*/
|
|
40
40
|
'parentId'?: number;
|
|
41
|
+
/**
|
|
42
|
+
* Parent organization name
|
|
43
|
+
* @type {string}
|
|
44
|
+
* @memberof OrganizationClass
|
|
45
|
+
*/
|
|
46
|
+
'parentName': string;
|
|
41
47
|
/**
|
|
42
48
|
* Emil Resources Names (ERN) identifies the most specific owner of a resource.
|
|
43
49
|
* @type {string}
|
|
@@ -22,9 +22,9 @@
|
|
|
22
22
|
export interface RunDataReportResponseClass {
|
|
23
23
|
/**
|
|
24
24
|
* Report results as an array of objects (each row is an object).
|
|
25
|
-
* @type {Array<
|
|
25
|
+
* @type {Array<object>}
|
|
26
26
|
* @memberof RunDataReportResponseClass
|
|
27
27
|
*/
|
|
28
|
-
'data': Array<
|
|
28
|
+
'data': Array<object>;
|
|
29
29
|
}
|
|
30
30
|
|
|
@@ -28,7 +28,7 @@ export interface UpdateDataReportRequestDto {
|
|
|
28
28
|
*/
|
|
29
29
|
'code': string;
|
|
30
30
|
/**
|
|
31
|
-
* A slug is a human-readable, unique identifier, used to identify a resource
|
|
31
|
+
* A slug is a human-readable, unique identifier, used to identify a resource instead of a less human-readable identifier like an id.
|
|
32
32
|
* @type {string}
|
|
33
33
|
* @memberof UpdateDataReportRequestDto
|
|
34
34
|
*/
|
|
@@ -40,9 +40,9 @@ export interface UpdateRoleRequestDto {
|
|
|
40
40
|
'description': string;
|
|
41
41
|
/**
|
|
42
42
|
* Permission ids for the role
|
|
43
|
-
* @type {Array<
|
|
43
|
+
* @type {Array<number>}
|
|
44
44
|
* @memberof UpdateRoleRequestDto
|
|
45
45
|
*/
|
|
46
|
-
'permissionIds': Array<
|
|
46
|
+
'permissionIds': Array<number>;
|
|
47
47
|
}
|
|
48
48
|
|
package/models/user-class.ts
CHANGED
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
*/
|
|
14
14
|
|
|
15
15
|
|
|
16
|
+
import { OrganizationClass } from './organization-class';
|
|
16
17
|
import { RoleClass } from './role-class';
|
|
17
18
|
import { SubscriptionClass } from './subscription-class';
|
|
18
19
|
|
|
@@ -64,12 +65,6 @@ export interface UserClass {
|
|
|
64
65
|
* @memberof UserClass
|
|
65
66
|
*/
|
|
66
67
|
'sub': string;
|
|
67
|
-
/**
|
|
68
|
-
* tenant id
|
|
69
|
-
* @type {number}
|
|
70
|
-
* @memberof UserClass
|
|
71
|
-
*/
|
|
72
|
-
'tenantId'?: number;
|
|
73
68
|
/**
|
|
74
69
|
* roles associated with the user
|
|
75
70
|
* @type {Array<RoleClass>}
|
|
@@ -100,5 +95,11 @@ export interface UserClass {
|
|
|
100
95
|
* @memberof UserClass
|
|
101
96
|
*/
|
|
102
97
|
'updatedAt': string;
|
|
98
|
+
/**
|
|
99
|
+
* Organization associated with the user
|
|
100
|
+
* @type {OrganizationClass}
|
|
101
|
+
* @memberof UserClass
|
|
102
|
+
*/
|
|
103
|
+
'organization': OrganizationClass;
|
|
103
104
|
}
|
|
104
105
|
|
package/package.json
CHANGED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* EMIL Tenant Service
|
|
3
|
-
* The EMIL TenantService API description
|
|
4
|
-
*
|
|
5
|
-
* The version of the OpenAPI document: 1.0
|
|
6
|
-
* Contact: kontakt@emil.de
|
|
7
|
-
*
|
|
8
|
-
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
9
|
-
* https://openapi-generator.tech
|
|
10
|
-
* Do not edit the class manually.
|
|
11
|
-
*/
|
|
12
|
-
/**
|
|
13
|
-
*
|
|
14
|
-
* @export
|
|
15
|
-
* @interface SetUserSettingResponseClass
|
|
16
|
-
*/
|
|
17
|
-
export interface SetUserSettingResponseClass {
|
|
18
|
-
/**
|
|
19
|
-
* Setting key.
|
|
20
|
-
* @type {string}
|
|
21
|
-
* @memberof SetUserSettingResponseClass
|
|
22
|
-
*/
|
|
23
|
-
'key': string;
|
|
24
|
-
/**
|
|
25
|
-
* Setting value.
|
|
26
|
-
* @type {string}
|
|
27
|
-
* @memberof SetUserSettingResponseClass
|
|
28
|
-
*/
|
|
29
|
-
'value': string;
|
|
30
|
-
/**
|
|
31
|
-
* Type indicates whether the setting applies to user or tenant.
|
|
32
|
-
* @type {string}
|
|
33
|
-
* @memberof SetUserSettingResponseClass
|
|
34
|
-
*/
|
|
35
|
-
'type': string;
|
|
36
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/* tslint:disable */
|
|
3
|
-
/* eslint-disable */
|
|
4
|
-
/**
|
|
5
|
-
* EMIL Tenant Service
|
|
6
|
-
* The EMIL TenantService API description
|
|
7
|
-
*
|
|
8
|
-
* The version of the OpenAPI document: 1.0
|
|
9
|
-
* Contact: kontakt@emil.de
|
|
10
|
-
*
|
|
11
|
-
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
12
|
-
* https://openapi-generator.tech
|
|
13
|
-
* Do not edit the class manually.
|
|
14
|
-
*/
|
|
15
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
/* tslint:disable */
|
|
2
|
-
/* eslint-disable */
|
|
3
|
-
/**
|
|
4
|
-
* EMIL Tenant Service
|
|
5
|
-
* The EMIL TenantService API description
|
|
6
|
-
*
|
|
7
|
-
* The version of the OpenAPI document: 1.0
|
|
8
|
-
* Contact: kontakt@emil.de
|
|
9
|
-
*
|
|
10
|
-
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
11
|
-
* https://openapi-generator.tech
|
|
12
|
-
* Do not edit the class manually.
|
|
13
|
-
*/
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
*
|
|
19
|
-
* @export
|
|
20
|
-
* @interface SetUserSettingResponseClass
|
|
21
|
-
*/
|
|
22
|
-
export interface SetUserSettingResponseClass {
|
|
23
|
-
/**
|
|
24
|
-
* Setting key.
|
|
25
|
-
* @type {string}
|
|
26
|
-
* @memberof SetUserSettingResponseClass
|
|
27
|
-
*/
|
|
28
|
-
'key': string;
|
|
29
|
-
/**
|
|
30
|
-
* Setting value.
|
|
31
|
-
* @type {string}
|
|
32
|
-
* @memberof SetUserSettingResponseClass
|
|
33
|
-
*/
|
|
34
|
-
'value': string;
|
|
35
|
-
/**
|
|
36
|
-
* Type indicates whether the setting applies to user or tenant.
|
|
37
|
-
* @type {string}
|
|
38
|
-
* @memberof SetUserSettingResponseClass
|
|
39
|
-
*/
|
|
40
|
-
'type': string;
|
|
41
|
-
}
|
|
42
|
-
|