@teemill/projects 1.0.0 → 1.0.2

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 (57) hide show
  1. package/.openapi-generator/FILES +13 -6
  2. package/README.md +3 -3
  3. package/dist/apis/IntegrationsApi.d.ts +58 -0
  4. package/dist/apis/IntegrationsApi.js +221 -0
  5. package/dist/apis/ProjectsApi.d.ts +77 -0
  6. package/dist/apis/ProjectsApi.js +304 -0
  7. package/dist/apis/index.d.ts +2 -0
  8. package/dist/apis/index.js +20 -0
  9. package/dist/index.d.ts +3 -13
  10. package/dist/index.js +5 -15
  11. package/dist/models/ApiError.d.ts +37 -0
  12. package/dist/models/ApiError.js +53 -0
  13. package/dist/models/Integration.d.ts +56 -0
  14. package/dist/models/Integration.js +62 -0
  15. package/dist/models/IntegrationInfo.d.ts +49 -0
  16. package/dist/models/IntegrationInfo.js +59 -0
  17. package/dist/models/IntegrationsResponse.d.ts +32 -0
  18. package/dist/models/IntegrationsResponse.js +51 -0
  19. package/dist/models/Project.d.ts +50 -0
  20. package/dist/models/Project.js +60 -0
  21. package/dist/models/ProjectLogo.d.ts +37 -0
  22. package/dist/models/ProjectLogo.js +52 -0
  23. package/dist/models/ProjectsResponse.d.ts +32 -0
  24. package/dist/models/ProjectsResponse.js +51 -0
  25. package/dist/models/index.d.ts +7 -0
  26. package/dist/models/index.js +25 -0
  27. package/dist/runtime.d.ts +182 -0
  28. package/dist/runtime.js +562 -0
  29. package/package.json +3 -15
  30. package/src/apis/IntegrationsApi.ts +149 -0
  31. package/src/apis/ProjectsApi.ts +200 -0
  32. package/src/apis/index.ts +4 -0
  33. package/src/index.ts +5 -0
  34. package/src/models/ApiError.ts +74 -0
  35. package/src/models/Integration.ts +107 -0
  36. package/src/models/IntegrationInfo.ts +93 -0
  37. package/src/models/IntegrationsResponse.ts +73 -0
  38. package/src/models/Project.ts +99 -0
  39. package/src/models/ProjectLogo.ts +73 -0
  40. package/src/models/ProjectsResponse.ts +73 -0
  41. package/src/models/index.ts +9 -0
  42. package/src/runtime.ts +431 -0
  43. package/tsconfig.json +2 -3
  44. package/api.ts +0 -462
  45. package/base.ts +0 -72
  46. package/common.ts +0 -150
  47. package/configuration.ts +0 -101
  48. package/dist/api.d.ts +0 -274
  49. package/dist/api.js +0 -489
  50. package/dist/base.d.ts +0 -54
  51. package/dist/base.js +0 -80
  52. package/dist/common.d.ts +0 -65
  53. package/dist/common.js +0 -252
  54. package/dist/configuration.d.ts +0 -83
  55. package/dist/configuration.js +0 -44
  56. package/git_push.sh +0 -57
  57. package/index.ts +0 -18
@@ -0,0 +1,149 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Projects API
5
+ * Manage Teemill Projects For full documentation on functionality and account settings go to [teemill.com](https://teemill.com)
6
+ *
7
+ * The version of the OpenAPI document: 1.0.2
8
+ * Contact: hello@teemill.com
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
+ import * as runtime from '../runtime';
17
+ import type {
18
+ ApiError,
19
+ Integration,
20
+ IntegrationsResponse,
21
+ } from '../models/index';
22
+ import {
23
+ ApiErrorFromJSON,
24
+ ApiErrorToJSON,
25
+ IntegrationFromJSON,
26
+ IntegrationToJSON,
27
+ IntegrationsResponseFromJSON,
28
+ IntegrationsResponseToJSON,
29
+ } from '../models/index';
30
+
31
+ export interface GetProjectIntegrationRequest {
32
+ projectId: string;
33
+ integrationId: string;
34
+ }
35
+
36
+ export interface GetProjectIntegrationsRequest {
37
+ projectId: string;
38
+ }
39
+
40
+ export interface InstallProjectIntegrationRequest {
41
+ projectId: string;
42
+ }
43
+
44
+ /**
45
+ *
46
+ */
47
+ export class IntegrationsApi extends runtime.BaseAPI {
48
+
49
+ /**
50
+ * Get an integration
51
+ * Get integration
52
+ */
53
+ async getProjectIntegrationRaw(requestParameters: GetProjectIntegrationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Integration>> {
54
+ if (requestParameters.projectId === null || requestParameters.projectId === undefined) {
55
+ throw new runtime.RequiredError('projectId','Required parameter requestParameters.projectId was null or undefined when calling getProjectIntegration.');
56
+ }
57
+
58
+ if (requestParameters.integrationId === null || requestParameters.integrationId === undefined) {
59
+ throw new runtime.RequiredError('integrationId','Required parameter requestParameters.integrationId was null or undefined when calling getProjectIntegration.');
60
+ }
61
+
62
+ const queryParameters: any = {};
63
+
64
+ const headerParameters: runtime.HTTPHeaders = {};
65
+
66
+ const response = await this.request({
67
+ path: `/dashboard/projects/{projectId}/integrations/{integrationId}`.replace(`{${"projectId"}}`, encodeURIComponent(String(requestParameters.projectId))).replace(`{${"integrationId"}}`, encodeURIComponent(String(requestParameters.integrationId))),
68
+ method: 'GET',
69
+ headers: headerParameters,
70
+ query: queryParameters,
71
+ }, initOverrides);
72
+
73
+ return new runtime.JSONApiResponse(response, (jsonValue) => IntegrationFromJSON(jsonValue));
74
+ }
75
+
76
+ /**
77
+ * Get an integration
78
+ * Get integration
79
+ */
80
+ async getProjectIntegration(requestParameters: GetProjectIntegrationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Integration> {
81
+ const response = await this.getProjectIntegrationRaw(requestParameters, initOverrides);
82
+ return await response.value();
83
+ }
84
+
85
+ /**
86
+ * List all integrations installed on a project
87
+ * List integrations
88
+ */
89
+ async getProjectIntegrationsRaw(requestParameters: GetProjectIntegrationsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<IntegrationsResponse>> {
90
+ if (requestParameters.projectId === null || requestParameters.projectId === undefined) {
91
+ throw new runtime.RequiredError('projectId','Required parameter requestParameters.projectId was null or undefined when calling getProjectIntegrations.');
92
+ }
93
+
94
+ const queryParameters: any = {};
95
+
96
+ const headerParameters: runtime.HTTPHeaders = {};
97
+
98
+ const response = await this.request({
99
+ path: `/dashboard/projects/{projectId}/integrations`.replace(`{${"projectId"}}`, encodeURIComponent(String(requestParameters.projectId))),
100
+ method: 'GET',
101
+ headers: headerParameters,
102
+ query: queryParameters,
103
+ }, initOverrides);
104
+
105
+ return new runtime.JSONApiResponse(response, (jsonValue) => IntegrationsResponseFromJSON(jsonValue));
106
+ }
107
+
108
+ /**
109
+ * List all integrations installed on a project
110
+ * List integrations
111
+ */
112
+ async getProjectIntegrations(requestParameters: GetProjectIntegrationsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<IntegrationsResponse> {
113
+ const response = await this.getProjectIntegrationsRaw(requestParameters, initOverrides);
114
+ return await response.value();
115
+ }
116
+
117
+ /**
118
+ * Install an integration on the project
119
+ * Install integration
120
+ */
121
+ async installProjectIntegrationRaw(requestParameters: InstallProjectIntegrationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Integration>> {
122
+ if (requestParameters.projectId === null || requestParameters.projectId === undefined) {
123
+ throw new runtime.RequiredError('projectId','Required parameter requestParameters.projectId was null or undefined when calling installProjectIntegration.');
124
+ }
125
+
126
+ const queryParameters: any = {};
127
+
128
+ const headerParameters: runtime.HTTPHeaders = {};
129
+
130
+ const response = await this.request({
131
+ path: `/dashboard/projects/{projectId}/integrations`.replace(`{${"projectId"}}`, encodeURIComponent(String(requestParameters.projectId))),
132
+ method: 'POST',
133
+ headers: headerParameters,
134
+ query: queryParameters,
135
+ }, initOverrides);
136
+
137
+ return new runtime.JSONApiResponse(response, (jsonValue) => IntegrationFromJSON(jsonValue));
138
+ }
139
+
140
+ /**
141
+ * Install an integration on the project
142
+ * Install integration
143
+ */
144
+ async installProjectIntegration(requestParameters: InstallProjectIntegrationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Integration> {
145
+ const response = await this.installProjectIntegrationRaw(requestParameters, initOverrides);
146
+ return await response.value();
147
+ }
148
+
149
+ }
@@ -0,0 +1,200 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Projects API
5
+ * Manage Teemill Projects For full documentation on functionality and account settings go to [teemill.com](https://teemill.com)
6
+ *
7
+ * The version of the OpenAPI document: 1.0.2
8
+ * Contact: hello@teemill.com
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
+ import * as runtime from '../runtime';
17
+ import type {
18
+ ApiError,
19
+ Project,
20
+ ProjectsResponse,
21
+ } from '../models/index';
22
+ import {
23
+ ApiErrorFromJSON,
24
+ ApiErrorToJSON,
25
+ ProjectFromJSON,
26
+ ProjectToJSON,
27
+ ProjectsResponseFromJSON,
28
+ ProjectsResponseToJSON,
29
+ } from '../models/index';
30
+
31
+ export interface DeleteProjectRequest {
32
+ projectId: string;
33
+ }
34
+
35
+ export interface GetProjectRequest {
36
+ projectId: string;
37
+ }
38
+
39
+ export interface UpdateProjectRequest {
40
+ projectId: string;
41
+ }
42
+
43
+ /**
44
+ *
45
+ */
46
+ export class ProjectsApi extends runtime.BaseAPI {
47
+
48
+ /**
49
+ * Create a new projects
50
+ * Create project
51
+ */
52
+ async createProjectRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Project>> {
53
+ const queryParameters: any = {};
54
+
55
+ const headerParameters: runtime.HTTPHeaders = {};
56
+
57
+ const response = await this.request({
58
+ path: `/dashboard/projects`,
59
+ method: 'POST',
60
+ headers: headerParameters,
61
+ query: queryParameters,
62
+ }, initOverrides);
63
+
64
+ return new runtime.JSONApiResponse(response, (jsonValue) => ProjectFromJSON(jsonValue));
65
+ }
66
+
67
+ /**
68
+ * Create a new projects
69
+ * Create project
70
+ */
71
+ async createProject(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Project> {
72
+ const response = await this.createProjectRaw(initOverrides);
73
+ return await response.value();
74
+ }
75
+
76
+ /**
77
+ * Delete a project
78
+ * Delete project
79
+ */
80
+ async deleteProjectRaw(requestParameters: DeleteProjectRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Project>> {
81
+ if (requestParameters.projectId === null || requestParameters.projectId === undefined) {
82
+ throw new runtime.RequiredError('projectId','Required parameter requestParameters.projectId was null or undefined when calling deleteProject.');
83
+ }
84
+
85
+ const queryParameters: any = {};
86
+
87
+ const headerParameters: runtime.HTTPHeaders = {};
88
+
89
+ const response = await this.request({
90
+ path: `/dashboard/projects/{projectId}`.replace(`{${"projectId"}}`, encodeURIComponent(String(requestParameters.projectId))),
91
+ method: 'DELETE',
92
+ headers: headerParameters,
93
+ query: queryParameters,
94
+ }, initOverrides);
95
+
96
+ return new runtime.JSONApiResponse(response, (jsonValue) => ProjectFromJSON(jsonValue));
97
+ }
98
+
99
+ /**
100
+ * Delete a project
101
+ * Delete project
102
+ */
103
+ async deleteProject(requestParameters: DeleteProjectRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Project> {
104
+ const response = await this.deleteProjectRaw(requestParameters, initOverrides);
105
+ return await response.value();
106
+ }
107
+
108
+ /**
109
+ * Get a project
110
+ * Get project
111
+ */
112
+ async getProjectRaw(requestParameters: GetProjectRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Project>> {
113
+ if (requestParameters.projectId === null || requestParameters.projectId === undefined) {
114
+ throw new runtime.RequiredError('projectId','Required parameter requestParameters.projectId was null or undefined when calling getProject.');
115
+ }
116
+
117
+ const queryParameters: any = {};
118
+
119
+ const headerParameters: runtime.HTTPHeaders = {};
120
+
121
+ const response = await this.request({
122
+ path: `/dashboard/projects/{projectId}`.replace(`{${"projectId"}}`, encodeURIComponent(String(requestParameters.projectId))),
123
+ method: 'GET',
124
+ headers: headerParameters,
125
+ query: queryParameters,
126
+ }, initOverrides);
127
+
128
+ return new runtime.JSONApiResponse(response, (jsonValue) => ProjectFromJSON(jsonValue));
129
+ }
130
+
131
+ /**
132
+ * Get a project
133
+ * Get project
134
+ */
135
+ async getProject(requestParameters: GetProjectRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Project> {
136
+ const response = await this.getProjectRaw(requestParameters, initOverrides);
137
+ return await response.value();
138
+ }
139
+
140
+ /**
141
+ * List all projects available
142
+ * List projects
143
+ */
144
+ async getProjectsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ProjectsResponse>> {
145
+ const queryParameters: any = {};
146
+
147
+ const headerParameters: runtime.HTTPHeaders = {};
148
+
149
+ const response = await this.request({
150
+ path: `/dashboard/projects`,
151
+ method: 'GET',
152
+ headers: headerParameters,
153
+ query: queryParameters,
154
+ }, initOverrides);
155
+
156
+ return new runtime.JSONApiResponse(response, (jsonValue) => ProjectsResponseFromJSON(jsonValue));
157
+ }
158
+
159
+ /**
160
+ * List all projects available
161
+ * List projects
162
+ */
163
+ async getProjects(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ProjectsResponse> {
164
+ const response = await this.getProjectsRaw(initOverrides);
165
+ return await response.value();
166
+ }
167
+
168
+ /**
169
+ * Update a project
170
+ * Update project
171
+ */
172
+ async updateProjectRaw(requestParameters: UpdateProjectRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Project>> {
173
+ if (requestParameters.projectId === null || requestParameters.projectId === undefined) {
174
+ throw new runtime.RequiredError('projectId','Required parameter requestParameters.projectId was null or undefined when calling updateProject.');
175
+ }
176
+
177
+ const queryParameters: any = {};
178
+
179
+ const headerParameters: runtime.HTTPHeaders = {};
180
+
181
+ const response = await this.request({
182
+ path: `/dashboard/projects/{projectId}`.replace(`{${"projectId"}}`, encodeURIComponent(String(requestParameters.projectId))),
183
+ method: 'PATCH',
184
+ headers: headerParameters,
185
+ query: queryParameters,
186
+ }, initOverrides);
187
+
188
+ return new runtime.JSONApiResponse(response, (jsonValue) => ProjectFromJSON(jsonValue));
189
+ }
190
+
191
+ /**
192
+ * Update a project
193
+ * Update project
194
+ */
195
+ async updateProject(requestParameters: UpdateProjectRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Project> {
196
+ const response = await this.updateProjectRaw(requestParameters, initOverrides);
197
+ return await response.value();
198
+ }
199
+
200
+ }
@@ -0,0 +1,4 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ export * from './IntegrationsApi';
4
+ export * from './ProjectsApi';
package/src/index.ts ADDED
@@ -0,0 +1,5 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ export * from './runtime';
4
+ export * from './apis/index';
5
+ export * from './models/index';
@@ -0,0 +1,74 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Projects API
5
+ * Manage Teemill Projects For full documentation on functionality and account settings go to [teemill.com](https://teemill.com)
6
+ *
7
+ * The version of the OpenAPI document: 1.0.2
8
+ * Contact: hello@teemill.com
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 ApiError
20
+ */
21
+ export interface ApiError {
22
+ /**
23
+ *
24
+ * @type {string}
25
+ * @memberof ApiError
26
+ */
27
+ code?: string;
28
+ /**
29
+ *
30
+ * @type {string}
31
+ * @memberof ApiError
32
+ */
33
+ message: string;
34
+ }
35
+
36
+ /**
37
+ * Check if a given object implements the ApiError interface.
38
+ */
39
+ export function instanceOfApiError(value: object): boolean {
40
+ let isInstance = true;
41
+ isInstance = isInstance && "message" in value;
42
+
43
+ return isInstance;
44
+ }
45
+
46
+ export function ApiErrorFromJSON(json: any): ApiError {
47
+ return ApiErrorFromJSONTyped(json, false);
48
+ }
49
+
50
+ export function ApiErrorFromJSONTyped(json: any, ignoreDiscriminator: boolean): ApiError {
51
+ if ((json === undefined) || (json === null)) {
52
+ return json;
53
+ }
54
+ return {
55
+
56
+ 'code': !exists(json, 'code') ? undefined : json['code'],
57
+ 'message': json['message'],
58
+ };
59
+ }
60
+
61
+ export function ApiErrorToJSON(value?: ApiError | null): any {
62
+ if (value === undefined) {
63
+ return undefined;
64
+ }
65
+ if (value === null) {
66
+ return null;
67
+ }
68
+ return {
69
+
70
+ 'code': value.code,
71
+ 'message': value.message,
72
+ };
73
+ }
74
+
@@ -0,0 +1,107 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Projects API
5
+ * Manage Teemill Projects For full documentation on functionality and account settings go to [teemill.com](https://teemill.com)
6
+ *
7
+ * The version of the OpenAPI document: 1.0.2
8
+ * Contact: hello@teemill.com
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 { IntegrationInfo } from './IntegrationInfo';
17
+ import {
18
+ IntegrationInfoFromJSON,
19
+ IntegrationInfoFromJSONTyped,
20
+ IntegrationInfoToJSON,
21
+ } from './IntegrationInfo';
22
+
23
+ /**
24
+ *
25
+ * @export
26
+ * @interface Integration
27
+ */
28
+ export interface Integration {
29
+ /**
30
+ *
31
+ * @type {number}
32
+ * @memberof Integration
33
+ */
34
+ readonly id?: number;
35
+ /**
36
+ *
37
+ * @type {string}
38
+ * @memberof Integration
39
+ */
40
+ code: string;
41
+ /**
42
+ *
43
+ * @type {object}
44
+ * @memberof Integration
45
+ */
46
+ config: object;
47
+ /**
48
+ *
49
+ * @type {IntegrationInfo}
50
+ * @memberof Integration
51
+ */
52
+ info: IntegrationInfo;
53
+ /**
54
+ *
55
+ * @type {boolean}
56
+ * @memberof Integration
57
+ */
58
+ enabled: boolean;
59
+ }
60
+
61
+ /**
62
+ * Check if a given object implements the Integration interface.
63
+ */
64
+ export function instanceOfIntegration(value: object): boolean {
65
+ let isInstance = true;
66
+ isInstance = isInstance && "code" in value;
67
+ isInstance = isInstance && "config" in value;
68
+ isInstance = isInstance && "info" in value;
69
+ isInstance = isInstance && "enabled" in value;
70
+
71
+ return isInstance;
72
+ }
73
+
74
+ export function IntegrationFromJSON(json: any): Integration {
75
+ return IntegrationFromJSONTyped(json, false);
76
+ }
77
+
78
+ export function IntegrationFromJSONTyped(json: any, ignoreDiscriminator: boolean): Integration {
79
+ if ((json === undefined) || (json === null)) {
80
+ return json;
81
+ }
82
+ return {
83
+
84
+ 'id': !exists(json, 'id') ? undefined : json['id'],
85
+ 'code': json['code'],
86
+ 'config': json['config'],
87
+ 'info': IntegrationInfoFromJSON(json['info']),
88
+ 'enabled': json['enabled'],
89
+ };
90
+ }
91
+
92
+ export function IntegrationToJSON(value?: Integration | null): any {
93
+ if (value === undefined) {
94
+ return undefined;
95
+ }
96
+ if (value === null) {
97
+ return null;
98
+ }
99
+ return {
100
+
101
+ 'code': value.code,
102
+ 'config': value.config,
103
+ 'info': IntegrationInfoToJSON(value.info),
104
+ 'enabled': value.enabled,
105
+ };
106
+ }
107
+
@@ -0,0 +1,93 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Projects API
5
+ * Manage Teemill Projects For full documentation on functionality and account settings go to [teemill.com](https://teemill.com)
6
+ *
7
+ * The version of the OpenAPI document: 1.0.2
8
+ * Contact: hello@teemill.com
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 IntegrationInfo
20
+ */
21
+ export interface IntegrationInfo {
22
+ /**
23
+ *
24
+ * @type {string}
25
+ * @memberof IntegrationInfo
26
+ */
27
+ name: string;
28
+ /**
29
+ *
30
+ * @type {string}
31
+ * @memberof IntegrationInfo
32
+ */
33
+ description: string;
34
+ /**
35
+ *
36
+ * @type {string}
37
+ * @memberof IntegrationInfo
38
+ */
39
+ author: string;
40
+ /**
41
+ *
42
+ * @type {object}
43
+ * @memberof IntegrationInfo
44
+ */
45
+ icon: object;
46
+ }
47
+
48
+ /**
49
+ * Check if a given object implements the IntegrationInfo interface.
50
+ */
51
+ export function instanceOfIntegrationInfo(value: object): boolean {
52
+ let isInstance = true;
53
+ isInstance = isInstance && "name" in value;
54
+ isInstance = isInstance && "description" in value;
55
+ isInstance = isInstance && "author" in value;
56
+ isInstance = isInstance && "icon" in value;
57
+
58
+ return isInstance;
59
+ }
60
+
61
+ export function IntegrationInfoFromJSON(json: any): IntegrationInfo {
62
+ return IntegrationInfoFromJSONTyped(json, false);
63
+ }
64
+
65
+ export function IntegrationInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): IntegrationInfo {
66
+ if ((json === undefined) || (json === null)) {
67
+ return json;
68
+ }
69
+ return {
70
+
71
+ 'name': json['name'],
72
+ 'description': json['description'],
73
+ 'author': json['author'],
74
+ 'icon': json['icon'],
75
+ };
76
+ }
77
+
78
+ export function IntegrationInfoToJSON(value?: IntegrationInfo | null): any {
79
+ if (value === undefined) {
80
+ return undefined;
81
+ }
82
+ if (value === null) {
83
+ return null;
84
+ }
85
+ return {
86
+
87
+ 'name': value.name,
88
+ 'description': value.description,
89
+ 'author': value.author,
90
+ 'icon': value.icon,
91
+ };
92
+ }
93
+