@cirrobio/api-client 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/.openapi-generator/FILES +11 -0
  2. package/README.md +1 -1
  3. package/dist/apis/FileApi.d.ts +14 -0
  4. package/dist/apis/FileApi.js +60 -0
  5. package/dist/apis/GovernanceApi.d.ts +127 -1
  6. package/dist/apis/GovernanceApi.js +555 -1
  7. package/dist/apis/SharingApi.d.ts +5 -3
  8. package/dist/apis/SharingApi.js +7 -1
  9. package/dist/models/AccessType.d.ts +3 -1
  10. package/dist/models/AccessType.js +2 -0
  11. package/dist/models/ClassificationInput.d.ts +6 -0
  12. package/dist/models/ClassificationInput.js +3 -0
  13. package/dist/models/ContactInput.d.ts +55 -0
  14. package/dist/models/ContactInput.js +62 -0
  15. package/dist/models/GovernanceClassification.d.ts +6 -0
  16. package/dist/models/GovernanceClassification.js +3 -0
  17. package/dist/models/GovernanceContact.d.ts +61 -0
  18. package/dist/models/GovernanceContact.js +65 -0
  19. package/dist/models/GovernanceExpiry.d.ts +44 -0
  20. package/dist/models/GovernanceExpiry.js +55 -0
  21. package/dist/models/GovernanceExpiryType.d.ts +25 -0
  22. package/dist/models/GovernanceExpiryType.js +40 -0
  23. package/dist/models/GovernanceFile.d.ts +50 -0
  24. package/dist/models/GovernanceFile.js +57 -0
  25. package/dist/models/GovernanceFileType.d.ts +23 -0
  26. package/dist/models/GovernanceFileType.js +38 -0
  27. package/dist/models/GovernanceRequirement.d.ts +108 -0
  28. package/dist/models/GovernanceRequirement.js +81 -0
  29. package/dist/models/GovernanceRequirementFile.d.ts +50 -0
  30. package/dist/models/GovernanceRequirementFile.js +57 -0
  31. package/dist/models/GovernanceScope.d.ts +23 -0
  32. package/dist/models/GovernanceScope.js +38 -0
  33. package/dist/models/GovernanceTrainingVerification.d.ts +23 -0
  34. package/dist/models/GovernanceTrainingVerification.js +38 -0
  35. package/dist/models/GovernanceType.d.ts +26 -0
  36. package/dist/models/GovernanceType.js +41 -0
  37. package/dist/models/RequirementInput.d.ts +96 -0
  38. package/dist/models/RequirementInput.js +81 -0
  39. package/dist/models/ShareDetail.d.ts +1 -1
  40. package/dist/models/ShareDetail.js +3 -3
  41. package/dist/models/index.d.ts +11 -0
  42. package/dist/models/index.js +11 -0
  43. package/dist/runtime.js +1 -1
  44. package/package.json +1 -1
  45. package/src/apis/FileApi.ts +52 -0
  46. package/src/apis/GovernanceApi.ts +457 -1
  47. package/src/apis/SharingApi.ts +16 -6
  48. package/src/models/AccessType.ts +3 -1
  49. package/src/models/ClassificationInput.ts +9 -0
  50. package/src/models/ContactInput.ts +102 -0
  51. package/src/models/GovernanceClassification.ts +9 -0
  52. package/src/models/GovernanceContact.ts +111 -0
  53. package/src/models/GovernanceExpiry.ts +88 -0
  54. package/src/models/GovernanceExpiryType.ts +39 -0
  55. package/src/models/GovernanceFile.ts +96 -0
  56. package/src/models/GovernanceFileType.ts +37 -0
  57. package/src/models/GovernanceRequirement.ts +194 -0
  58. package/src/models/GovernanceRequirementFile.ts +96 -0
  59. package/src/models/GovernanceScope.ts +37 -0
  60. package/src/models/GovernanceTrainingVerification.ts +37 -0
  61. package/src/models/GovernanceType.ts +40 -0
  62. package/src/models/RequirementInput.ts +182 -0
  63. package/src/models/ShareDetail.ts +4 -3
  64. package/src/models/index.ts +11 -0
  65. package/src/runtime.ts +1 -1
@@ -0,0 +1,102 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Cirro Data
5
+ * Cirro Data Platform service API
6
+ *
7
+ * The version of the OpenAPI document: latest
8
+ * Contact: support@cirro.bio
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
+ import { exists, mapValues } from '../runtime';
16
+ /**
17
+ *
18
+ * @export
19
+ * @interface ContactInput
20
+ */
21
+ export interface ContactInput {
22
+ /**
23
+ *
24
+ * @type {string}
25
+ * @memberof ContactInput
26
+ */
27
+ title: string;
28
+ /**
29
+ *
30
+ * @type {string}
31
+ * @memberof ContactInput
32
+ */
33
+ description: string;
34
+ /**
35
+ *
36
+ * @type {string}
37
+ * @memberof ContactInput
38
+ */
39
+ name: string;
40
+ /**
41
+ *
42
+ * @type {string}
43
+ * @memberof ContactInput
44
+ */
45
+ phone: string;
46
+ /**
47
+ *
48
+ * @type {string}
49
+ * @memberof ContactInput
50
+ */
51
+ email: string;
52
+ }
53
+
54
+ /**
55
+ * Check if a given object implements the ContactInput interface.
56
+ */
57
+ export function instanceOfContactInput(value: object): boolean {
58
+ let isInstance = true;
59
+ isInstance = isInstance && "title" in value;
60
+ isInstance = isInstance && "description" in value;
61
+ isInstance = isInstance && "name" in value;
62
+ isInstance = isInstance && "phone" in value;
63
+ isInstance = isInstance && "email" in value;
64
+
65
+ return isInstance;
66
+ }
67
+
68
+ export function ContactInputFromJSON(json: any): ContactInput {
69
+ return ContactInputFromJSONTyped(json, false);
70
+ }
71
+
72
+ export function ContactInputFromJSONTyped(json: any, ignoreDiscriminator: boolean): ContactInput {
73
+ if ((json === undefined) || (json === null)) {
74
+ return json;
75
+ }
76
+ return {
77
+
78
+ 'title': json['title'],
79
+ 'description': json['description'],
80
+ 'name': json['name'],
81
+ 'phone': json['phone'],
82
+ 'email': json['email'],
83
+ };
84
+ }
85
+
86
+ export function ContactInputToJSON(value?: ContactInput | null): any {
87
+ if (value === undefined) {
88
+ return undefined;
89
+ }
90
+ if (value === null) {
91
+ return null;
92
+ }
93
+ return {
94
+
95
+ 'title': value.title,
96
+ 'description': value.description,
97
+ 'name': value.name,
98
+ 'phone': value.phone,
99
+ 'email': value.email,
100
+ };
101
+ }
102
+
@@ -37,6 +37,12 @@ export interface GovernanceClassification {
37
37
  * @memberof GovernanceClassification
38
38
  */
39
39
  description: string;
40
+ /**
41
+ *
42
+ * @type {Array<string>}
43
+ * @memberof GovernanceClassification
44
+ */
45
+ requirementIds: Array<string>;
40
46
  /**
41
47
  *
42
48
  * @type {string}
@@ -65,6 +71,7 @@ export function instanceOfGovernanceClassification(value: object): boolean {
65
71
  isInstance = isInstance && "id" in value;
66
72
  isInstance = isInstance && "name" in value;
67
73
  isInstance = isInstance && "description" in value;
74
+ isInstance = isInstance && "requirementIds" in value;
68
75
  isInstance = isInstance && "createdBy" in value;
69
76
  isInstance = isInstance && "createdAt" in value;
70
77
  isInstance = isInstance && "updatedAt" in value;
@@ -85,6 +92,7 @@ export function GovernanceClassificationFromJSONTyped(json: any, ignoreDiscrimin
85
92
  'id': json['id'],
86
93
  'name': json['name'],
87
94
  'description': json['description'],
95
+ 'requirementIds': json['requirementIds'],
88
96
  'createdBy': json['createdBy'],
89
97
  'createdAt': (new Date(json['createdAt'])),
90
98
  'updatedAt': (new Date(json['updatedAt'])),
@@ -103,6 +111,7 @@ export function GovernanceClassificationToJSON(value?: GovernanceClassification
103
111
  'id': value.id,
104
112
  'name': value.name,
105
113
  'description': value.description,
114
+ 'requirementIds': value.requirementIds,
106
115
  'createdBy': value.createdBy,
107
116
  'createdAt': (value.createdAt.toISOString()),
108
117
  'updatedAt': (value.updatedAt.toISOString()),
@@ -0,0 +1,111 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Cirro Data
5
+ * Cirro Data Platform service API
6
+ *
7
+ * The version of the OpenAPI document: latest
8
+ * Contact: support@cirro.bio
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
+ import { exists, mapValues } from '../runtime';
16
+ /**
17
+ *
18
+ * @export
19
+ * @interface GovernanceContact
20
+ */
21
+ export interface GovernanceContact {
22
+ /**
23
+ *
24
+ * @type {string}
25
+ * @memberof GovernanceContact
26
+ */
27
+ id: string;
28
+ /**
29
+ *
30
+ * @type {string}
31
+ * @memberof GovernanceContact
32
+ */
33
+ title: string;
34
+ /**
35
+ *
36
+ * @type {string}
37
+ * @memberof GovernanceContact
38
+ */
39
+ description: string;
40
+ /**
41
+ *
42
+ * @type {string}
43
+ * @memberof GovernanceContact
44
+ */
45
+ name: string;
46
+ /**
47
+ *
48
+ * @type {string}
49
+ * @memberof GovernanceContact
50
+ */
51
+ phone: string;
52
+ /**
53
+ *
54
+ * @type {string}
55
+ * @memberof GovernanceContact
56
+ */
57
+ email: string;
58
+ }
59
+
60
+ /**
61
+ * Check if a given object implements the GovernanceContact interface.
62
+ */
63
+ export function instanceOfGovernanceContact(value: object): boolean {
64
+ let isInstance = true;
65
+ isInstance = isInstance && "id" in value;
66
+ isInstance = isInstance && "title" in value;
67
+ isInstance = isInstance && "description" in value;
68
+ isInstance = isInstance && "name" in value;
69
+ isInstance = isInstance && "phone" in value;
70
+ isInstance = isInstance && "email" in value;
71
+
72
+ return isInstance;
73
+ }
74
+
75
+ export function GovernanceContactFromJSON(json: any): GovernanceContact {
76
+ return GovernanceContactFromJSONTyped(json, false);
77
+ }
78
+
79
+ export function GovernanceContactFromJSONTyped(json: any, ignoreDiscriminator: boolean): GovernanceContact {
80
+ if ((json === undefined) || (json === null)) {
81
+ return json;
82
+ }
83
+ return {
84
+
85
+ 'id': json['id'],
86
+ 'title': json['title'],
87
+ 'description': json['description'],
88
+ 'name': json['name'],
89
+ 'phone': json['phone'],
90
+ 'email': json['email'],
91
+ };
92
+ }
93
+
94
+ export function GovernanceContactToJSON(value?: GovernanceContact | null): any {
95
+ if (value === undefined) {
96
+ return undefined;
97
+ }
98
+ if (value === null) {
99
+ return null;
100
+ }
101
+ return {
102
+
103
+ 'id': value.id,
104
+ 'title': value.title,
105
+ 'description': value.description,
106
+ 'name': value.name,
107
+ 'phone': value.phone,
108
+ 'email': value.email,
109
+ };
110
+ }
111
+
@@ -0,0 +1,88 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Cirro Data
5
+ * Cirro Data Platform service API
6
+ *
7
+ * The version of the OpenAPI document: latest
8
+ * Contact: support@cirro.bio
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
+ import { exists, mapValues } from '../runtime';
16
+ import type { GovernanceExpiryType } from './GovernanceExpiryType';
17
+ import {
18
+ GovernanceExpiryTypeFromJSON,
19
+ GovernanceExpiryTypeFromJSONTyped,
20
+ GovernanceExpiryTypeToJSON,
21
+ } from './GovernanceExpiryType';
22
+
23
+ /**
24
+ *
25
+ * @export
26
+ * @interface GovernanceExpiry
27
+ */
28
+ export interface GovernanceExpiry {
29
+ /**
30
+ *
31
+ * @type {GovernanceExpiryType}
32
+ * @memberof GovernanceExpiry
33
+ */
34
+ type?: GovernanceExpiryType;
35
+ /**
36
+ * The number of days for a relative expiration
37
+ * @type {number}
38
+ * @memberof GovernanceExpiry
39
+ */
40
+ days?: number | null;
41
+ /**
42
+ * The date for an absolute expiration
43
+ * @type {Date}
44
+ * @memberof GovernanceExpiry
45
+ */
46
+ date?: Date | null;
47
+ }
48
+
49
+ /**
50
+ * Check if a given object implements the GovernanceExpiry interface.
51
+ */
52
+ export function instanceOfGovernanceExpiry(value: object): boolean {
53
+ let isInstance = true;
54
+
55
+ return isInstance;
56
+ }
57
+
58
+ export function GovernanceExpiryFromJSON(json: any): GovernanceExpiry {
59
+ return GovernanceExpiryFromJSONTyped(json, false);
60
+ }
61
+
62
+ export function GovernanceExpiryFromJSONTyped(json: any, ignoreDiscriminator: boolean): GovernanceExpiry {
63
+ if ((json === undefined) || (json === null)) {
64
+ return json;
65
+ }
66
+ return {
67
+
68
+ 'type': !exists(json, 'type') ? undefined : GovernanceExpiryTypeFromJSON(json['type']),
69
+ 'days': !exists(json, 'days') ? undefined : json['days'],
70
+ 'date': !exists(json, 'date') ? undefined : (json['date'] === null ? null : new Date(json['date'])),
71
+ };
72
+ }
73
+
74
+ export function GovernanceExpiryToJSON(value?: GovernanceExpiry | null): any {
75
+ if (value === undefined) {
76
+ return undefined;
77
+ }
78
+ if (value === null) {
79
+ return null;
80
+ }
81
+ return {
82
+
83
+ 'type': GovernanceExpiryTypeToJSON(value.type),
84
+ 'days': value.days,
85
+ 'date': value.date === undefined ? undefined : (value.date === null ? null : value.date.toISOString()),
86
+ };
87
+ }
88
+
@@ -0,0 +1,39 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Cirro Data
5
+ * Cirro Data Platform service API
6
+ *
7
+ * The version of the OpenAPI document: latest
8
+ * Contact: support@cirro.bio
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
+ * The expiry conditions that can be applied to governance requirements.
17
+ * @export
18
+ * @enum {string}
19
+ */
20
+ export enum GovernanceExpiryType {
21
+ None = 'NONE',
22
+ Absolute = 'ABSOLUTE',
23
+ RelativeEnactment = 'RELATIVE_ENACTMENT',
24
+ RelativeCompletion = 'RELATIVE_COMPLETION'
25
+ }
26
+
27
+
28
+ export function GovernanceExpiryTypeFromJSON(json: any): GovernanceExpiryType {
29
+ return GovernanceExpiryTypeFromJSONTyped(json, false);
30
+ }
31
+
32
+ export function GovernanceExpiryTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): GovernanceExpiryType {
33
+ return json as GovernanceExpiryType;
34
+ }
35
+
36
+ export function GovernanceExpiryTypeToJSON(value?: GovernanceExpiryType | null): any {
37
+ return value as any;
38
+ }
39
+
@@ -0,0 +1,96 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Cirro Data
5
+ * Cirro Data Platform service API
6
+ *
7
+ * The version of the OpenAPI document: latest
8
+ * Contact: support@cirro.bio
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
+ import { exists, mapValues } from '../runtime';
16
+ import type { GovernanceFileType } from './GovernanceFileType';
17
+ import {
18
+ GovernanceFileTypeFromJSON,
19
+ GovernanceFileTypeFromJSONTyped,
20
+ GovernanceFileTypeToJSON,
21
+ } from './GovernanceFileType';
22
+
23
+ /**
24
+ *
25
+ * @export
26
+ * @interface GovernanceFile
27
+ */
28
+ export interface GovernanceFile {
29
+ /**
30
+ * The title of the resource visible to users
31
+ * @type {string}
32
+ * @memberof GovernanceFile
33
+ */
34
+ name?: string;
35
+ /**
36
+ * A description of the resource visible to users
37
+ * @type {string}
38
+ * @memberof GovernanceFile
39
+ */
40
+ description?: string;
41
+ /**
42
+ * The file name without path or the full link path
43
+ * @type {string}
44
+ * @memberof GovernanceFile
45
+ */
46
+ src?: string;
47
+ /**
48
+ *
49
+ * @type {GovernanceFileType}
50
+ * @memberof GovernanceFile
51
+ */
52
+ type?: GovernanceFileType;
53
+ }
54
+
55
+ /**
56
+ * Check if a given object implements the GovernanceFile interface.
57
+ */
58
+ export function instanceOfGovernanceFile(value: object): boolean {
59
+ let isInstance = true;
60
+
61
+ return isInstance;
62
+ }
63
+
64
+ export function GovernanceFileFromJSON(json: any): GovernanceFile {
65
+ return GovernanceFileFromJSONTyped(json, false);
66
+ }
67
+
68
+ export function GovernanceFileFromJSONTyped(json: any, ignoreDiscriminator: boolean): GovernanceFile {
69
+ if ((json === undefined) || (json === null)) {
70
+ return json;
71
+ }
72
+ return {
73
+
74
+ 'name': !exists(json, 'name') ? undefined : json['name'],
75
+ 'description': !exists(json, 'description') ? undefined : json['description'],
76
+ 'src': !exists(json, 'src') ? undefined : json['src'],
77
+ 'type': !exists(json, 'type') ? undefined : GovernanceFileTypeFromJSON(json['type']),
78
+ };
79
+ }
80
+
81
+ export function GovernanceFileToJSON(value?: GovernanceFile | null): any {
82
+ if (value === undefined) {
83
+ return undefined;
84
+ }
85
+ if (value === null) {
86
+ return null;
87
+ }
88
+ return {
89
+
90
+ 'name': value.name,
91
+ 'description': value.description,
92
+ 'src': value.src,
93
+ 'type': GovernanceFileTypeToJSON(value.type),
94
+ };
95
+ }
96
+
@@ -0,0 +1,37 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Cirro Data
5
+ * Cirro Data Platform service API
6
+ *
7
+ * The version of the OpenAPI document: latest
8
+ * Contact: support@cirro.bio
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
+ * The options for supplementals for governance requirements
17
+ * @export
18
+ * @enum {string}
19
+ */
20
+ export enum GovernanceFileType {
21
+ File = 'FILE',
22
+ Link = 'LINK'
23
+ }
24
+
25
+
26
+ export function GovernanceFileTypeFromJSON(json: any): GovernanceFileType {
27
+ return GovernanceFileTypeFromJSONTyped(json, false);
28
+ }
29
+
30
+ export function GovernanceFileTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): GovernanceFileType {
31
+ return json as GovernanceFileType;
32
+ }
33
+
34
+ export function GovernanceFileTypeToJSON(value?: GovernanceFileType | null): any {
35
+ return value as any;
36
+ }
37
+
@@ -0,0 +1,194 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Cirro Data
5
+ * Cirro Data Platform service API
6
+ *
7
+ * The version of the OpenAPI document: latest
8
+ * Contact: support@cirro.bio
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
+ import { exists, mapValues } from '../runtime';
16
+ import type { GovernanceExpiry } from './GovernanceExpiry';
17
+ import {
18
+ GovernanceExpiryFromJSON,
19
+ GovernanceExpiryFromJSONTyped,
20
+ GovernanceExpiryToJSON,
21
+ } from './GovernanceExpiry';
22
+ import type { GovernanceFile } from './GovernanceFile';
23
+ import {
24
+ GovernanceFileFromJSON,
25
+ GovernanceFileFromJSONTyped,
26
+ GovernanceFileToJSON,
27
+ } from './GovernanceFile';
28
+ import type { GovernanceScope } from './GovernanceScope';
29
+ import {
30
+ GovernanceScopeFromJSON,
31
+ GovernanceScopeFromJSONTyped,
32
+ GovernanceScopeToJSON,
33
+ } from './GovernanceScope';
34
+ import type { GovernanceTrainingVerification } from './GovernanceTrainingVerification';
35
+ import {
36
+ GovernanceTrainingVerificationFromJSON,
37
+ GovernanceTrainingVerificationFromJSONTyped,
38
+ GovernanceTrainingVerificationToJSON,
39
+ } from './GovernanceTrainingVerification';
40
+ import type { GovernanceType } from './GovernanceType';
41
+ import {
42
+ GovernanceTypeFromJSON,
43
+ GovernanceTypeFromJSONTyped,
44
+ GovernanceTypeToJSON,
45
+ } from './GovernanceType';
46
+
47
+ /**
48
+ *
49
+ * @export
50
+ * @interface GovernanceRequirement
51
+ */
52
+ export interface GovernanceRequirement {
53
+ /**
54
+ * The unique identifier for the requirement
55
+ * @type {string}
56
+ * @memberof GovernanceRequirement
57
+ */
58
+ id: string;
59
+ /**
60
+ * The name of the requirement
61
+ * @type {string}
62
+ * @memberof GovernanceRequirement
63
+ */
64
+ name?: string;
65
+ /**
66
+ * A brief description of the requirement
67
+ * @type {string}
68
+ * @memberof GovernanceRequirement
69
+ */
70
+ description?: string;
71
+ /**
72
+ *
73
+ * @type {GovernanceType}
74
+ * @memberof GovernanceRequirement
75
+ */
76
+ type?: GovernanceType;
77
+ /**
78
+ * The full S3 path where files for the requirement are saved
79
+ * @type {string}
80
+ * @memberof GovernanceRequirement
81
+ */
82
+ path?: string;
83
+ /**
84
+ *
85
+ * @type {GovernanceScope}
86
+ * @memberof GovernanceRequirement
87
+ */
88
+ scope?: GovernanceScope;
89
+ /**
90
+ *
91
+ * @type {GovernanceScope}
92
+ * @memberof GovernanceRequirement
93
+ */
94
+ acceptance?: GovernanceScope;
95
+ /**
96
+ * The IDs of governance contacts assigned to the requirement.
97
+ * @type {Array<string>}
98
+ * @memberof GovernanceRequirement
99
+ */
100
+ contactIds?: Array<string> | null;
101
+ /**
102
+ *
103
+ * @type {GovernanceExpiry}
104
+ * @memberof GovernanceRequirement
105
+ */
106
+ expiration: GovernanceExpiry;
107
+ /**
108
+ * Optional files with extra information, e.g. templates for documents, links, etc
109
+ * @type {Array<GovernanceFile>}
110
+ * @memberof GovernanceRequirement
111
+ */
112
+ supplementalDocs?: Array<GovernanceFile> | null;
113
+ /**
114
+ *
115
+ * @type {GovernanceFile}
116
+ * @memberof GovernanceRequirement
117
+ */
118
+ file?: GovernanceFile | null;
119
+ /**
120
+ *
121
+ * @type {GovernanceScope}
122
+ * @memberof GovernanceRequirement
123
+ */
124
+ authorship?: GovernanceScope | null;
125
+ /**
126
+ *
127
+ * @type {GovernanceTrainingVerification}
128
+ * @memberof GovernanceRequirement
129
+ */
130
+ verification?: GovernanceTrainingVerification | null;
131
+ }
132
+
133
+ /**
134
+ * Check if a given object implements the GovernanceRequirement interface.
135
+ */
136
+ export function instanceOfGovernanceRequirement(value: object): boolean {
137
+ let isInstance = true;
138
+ isInstance = isInstance && "id" in value;
139
+ isInstance = isInstance && "expiration" in value;
140
+
141
+ return isInstance;
142
+ }
143
+
144
+ export function GovernanceRequirementFromJSON(json: any): GovernanceRequirement {
145
+ return GovernanceRequirementFromJSONTyped(json, false);
146
+ }
147
+
148
+ export function GovernanceRequirementFromJSONTyped(json: any, ignoreDiscriminator: boolean): GovernanceRequirement {
149
+ if ((json === undefined) || (json === null)) {
150
+ return json;
151
+ }
152
+ return {
153
+
154
+ 'id': json['id'],
155
+ 'name': !exists(json, 'name') ? undefined : json['name'],
156
+ 'description': !exists(json, 'description') ? undefined : json['description'],
157
+ 'type': !exists(json, 'type') ? undefined : GovernanceTypeFromJSON(json['type']),
158
+ 'path': !exists(json, 'path') ? undefined : json['path'],
159
+ 'scope': !exists(json, 'scope') ? undefined : GovernanceScopeFromJSON(json['scope']),
160
+ 'acceptance': !exists(json, 'acceptance') ? undefined : GovernanceScopeFromJSON(json['acceptance']),
161
+ 'contactIds': !exists(json, 'contactIds') ? undefined : json['contactIds'],
162
+ 'expiration': GovernanceExpiryFromJSON(json['expiration']),
163
+ 'supplementalDocs': !exists(json, 'supplementalDocs') ? undefined : (json['supplementalDocs'] === null ? null : (json['supplementalDocs'] as Array<any>).map(GovernanceFileFromJSON)),
164
+ 'file': !exists(json, 'file') ? undefined : GovernanceFileFromJSON(json['file']),
165
+ 'authorship': !exists(json, 'authorship') ? undefined : GovernanceScopeFromJSON(json['authorship']),
166
+ 'verification': !exists(json, 'verification') ? undefined : GovernanceTrainingVerificationFromJSON(json['verification']),
167
+ };
168
+ }
169
+
170
+ export function GovernanceRequirementToJSON(value?: GovernanceRequirement | null): any {
171
+ if (value === undefined) {
172
+ return undefined;
173
+ }
174
+ if (value === null) {
175
+ return null;
176
+ }
177
+ return {
178
+
179
+ 'id': value.id,
180
+ 'name': value.name,
181
+ 'description': value.description,
182
+ 'type': GovernanceTypeToJSON(value.type),
183
+ 'path': value.path,
184
+ 'scope': GovernanceScopeToJSON(value.scope),
185
+ 'acceptance': GovernanceScopeToJSON(value.acceptance),
186
+ 'contactIds': value.contactIds,
187
+ 'expiration': GovernanceExpiryToJSON(value.expiration),
188
+ 'supplementalDocs': value.supplementalDocs === undefined ? undefined : (value.supplementalDocs === null ? null : (value.supplementalDocs as Array<any>).map(GovernanceFileToJSON)),
189
+ 'file': GovernanceFileToJSON(value.file),
190
+ 'authorship': GovernanceScopeToJSON(value.authorship),
191
+ 'verification': GovernanceTrainingVerificationToJSON(value.verification),
192
+ };
193
+ }
194
+