@testcollab/sdk 3.9.0 → 3.11.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 (37) hide show
  1. package/.openapi-generator/FILES +2 -0
  2. package/dist/apis/ProjectsApi.d.ts +5 -5
  3. package/dist/apis/ProjectsApi.js +1 -1
  4. package/dist/esm/apis/ProjectsApi.d.ts +5 -5
  5. package/dist/esm/apis/ProjectsApi.js +2 -2
  6. package/dist/esm/models/Project.d.ts +6 -0
  7. package/dist/esm/models/Project.js +2 -0
  8. package/dist/esm/models/ProjectCreatePayload.d.ts +6 -0
  9. package/dist/esm/models/ProjectCreatePayload.js +2 -0
  10. package/dist/esm/models/ProjectListItem.d.ts +93 -0
  11. package/dist/esm/models/ProjectListItem.js +72 -0
  12. package/dist/esm/models/ProjectPayload.d.ts +6 -0
  13. package/dist/esm/models/ProjectPayload.js +2 -0
  14. package/dist/esm/models/index.d.ts +1 -0
  15. package/dist/esm/models/index.js +1 -0
  16. package/dist/models/Project.d.ts +6 -0
  17. package/dist/models/Project.js +2 -0
  18. package/dist/models/ProjectCreatePayload.d.ts +6 -0
  19. package/dist/models/ProjectCreatePayload.js +2 -0
  20. package/dist/models/ProjectListItem.d.ts +93 -0
  21. package/dist/models/ProjectListItem.js +79 -0
  22. package/dist/models/ProjectPayload.d.ts +6 -0
  23. package/dist/models/ProjectPayload.js +2 -0
  24. package/dist/models/index.d.ts +1 -0
  25. package/dist/models/index.js +1 -0
  26. package/docs/Project.md +2 -0
  27. package/docs/ProjectCreatePayload.md +2 -0
  28. package/docs/ProjectListItem.md +54 -0
  29. package/docs/ProjectPayload.md +2 -0
  30. package/docs/ProjectsApi.md +2 -2
  31. package/package.json +1 -1
  32. package/src/apis/ProjectsApi.ts +8 -5
  33. package/src/models/Project.ts +8 -0
  34. package/src/models/ProjectCreatePayload.ts +8 -0
  35. package/src/models/ProjectListItem.ts +158 -0
  36. package/src/models/ProjectPayload.ts +8 -0
  37. package/src/models/index.ts +1 -0
@@ -162,6 +162,7 @@ docs/PreferencePayload.md
162
162
  docs/Project.md
163
163
  docs/ProjectActivity.md
164
164
  docs/ProjectCreatePayload.md
165
+ docs/ProjectListItem.md
165
166
  docs/ProjectMetrics.md
166
167
  docs/ProjectMini.md
167
168
  docs/ProjectMinified.md
@@ -588,6 +589,7 @@ src/models/PreferencePayload.ts
588
589
  src/models/Project.ts
589
590
  src/models/ProjectActivity.ts
590
591
  src/models/ProjectCreatePayload.ts
592
+ src/models/ProjectListItem.ts
591
593
  src/models/ProjectMetrics.ts
592
594
  src/models/ProjectMini.ts
593
595
  src/models/ProjectMinified.ts
@@ -10,7 +10,7 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  import * as runtime from '../runtime';
13
- import type { BulkActionResult, Count, Project, ProjectCreatePayload, ProjectPayload } from '../models/index';
13
+ import type { BulkActionResult, Count, Project, ProjectCreatePayload, ProjectListItem, ProjectPayload } from '../models/index';
14
14
  export interface ArchiveProjectRequest {
15
15
  id: number;
16
16
  }
@@ -134,12 +134,12 @@ export interface ProjectsApiInterface {
134
134
  * @throws {RequiredError}
135
135
  * @memberof ProjectsApiInterface
136
136
  */
137
- getProjectsRaw(requestParameters: GetProjectsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<Project>>>;
137
+ getProjectsRaw(requestParameters: GetProjectsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ProjectListItem>>>;
138
138
  /**
139
139
  * Fetches list of projects
140
140
  * Get list of projects
141
141
  */
142
- getProjects(requestParameters: GetProjectsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<Project>>;
142
+ getProjects(requestParameters: GetProjectsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<ProjectListItem>>;
143
143
  /**
144
144
  * Populate sample data in project
145
145
  * @summary Populate sample data in project
@@ -242,12 +242,12 @@ export declare class ProjectsApi extends runtime.BaseAPI implements ProjectsApiI
242
242
  * Fetches list of projects
243
243
  * Get list of projects
244
244
  */
245
- getProjectsRaw(requestParameters: GetProjectsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<Project>>>;
245
+ getProjectsRaw(requestParameters: GetProjectsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ProjectListItem>>>;
246
246
  /**
247
247
  * Fetches list of projects
248
248
  * Get list of projects
249
249
  */
250
- getProjects(requestParameters: GetProjectsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<Project>>;
250
+ getProjects(requestParameters: GetProjectsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<ProjectListItem>>;
251
251
  /**
252
252
  * Populate sample data in project
253
253
  * Populate sample data in project
@@ -261,7 +261,7 @@ class ProjectsApi extends runtime.BaseAPI {
261
261
  headers: headerParameters,
262
262
  query: queryParameters,
263
263
  }, initOverrides);
264
- return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(index_1.ProjectFromJSON));
264
+ return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(index_1.ProjectListItemFromJSON));
265
265
  });
266
266
  }
267
267
  /**
@@ -10,7 +10,7 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  import * as runtime from '../runtime';
13
- import type { BulkActionResult, Count, Project, ProjectCreatePayload, ProjectPayload } from '../models/index';
13
+ import type { BulkActionResult, Count, Project, ProjectCreatePayload, ProjectListItem, ProjectPayload } from '../models/index';
14
14
  export interface ArchiveProjectRequest {
15
15
  id: number;
16
16
  }
@@ -134,12 +134,12 @@ export interface ProjectsApiInterface {
134
134
  * @throws {RequiredError}
135
135
  * @memberof ProjectsApiInterface
136
136
  */
137
- getProjectsRaw(requestParameters: GetProjectsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<Project>>>;
137
+ getProjectsRaw(requestParameters: GetProjectsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ProjectListItem>>>;
138
138
  /**
139
139
  * Fetches list of projects
140
140
  * Get list of projects
141
141
  */
142
- getProjects(requestParameters: GetProjectsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<Project>>;
142
+ getProjects(requestParameters: GetProjectsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<ProjectListItem>>;
143
143
  /**
144
144
  * Populate sample data in project
145
145
  * @summary Populate sample data in project
@@ -242,12 +242,12 @@ export declare class ProjectsApi extends runtime.BaseAPI implements ProjectsApiI
242
242
  * Fetches list of projects
243
243
  * Get list of projects
244
244
  */
245
- getProjectsRaw(requestParameters: GetProjectsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<Project>>>;
245
+ getProjectsRaw(requestParameters: GetProjectsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ProjectListItem>>>;
246
246
  /**
247
247
  * Fetches list of projects
248
248
  * Get list of projects
249
249
  */
250
- getProjects(requestParameters: GetProjectsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<Project>>;
250
+ getProjects(requestParameters: GetProjectsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<ProjectListItem>>;
251
251
  /**
252
252
  * Populate sample data in project
253
253
  * Populate sample data in project
@@ -21,7 +21,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
21
21
  });
22
22
  };
23
23
  import * as runtime from '../runtime';
24
- import { BulkActionResultFromJSON, CountFromJSON, ProjectFromJSON, ProjectCreatePayloadToJSON, ProjectPayloadToJSON, } from '../models/index';
24
+ import { BulkActionResultFromJSON, CountFromJSON, ProjectFromJSON, ProjectCreatePayloadToJSON, ProjectListItemFromJSON, ProjectPayloadToJSON, } from '../models/index';
25
25
  /**
26
26
  *
27
27
  */
@@ -258,7 +258,7 @@ export class ProjectsApi extends runtime.BaseAPI {
258
258
  headers: headerParameters,
259
259
  query: queryParameters,
260
260
  }, initOverrides);
261
- return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ProjectFromJSON));
261
+ return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ProjectListItemFromJSON));
262
262
  });
263
263
  }
264
264
  /**
@@ -28,6 +28,12 @@ export interface Project {
28
28
  * @memberof Project
29
29
  */
30
30
  name: string;
31
+ /**
32
+ *
33
+ * @type {string}
34
+ * @memberof Project
35
+ */
36
+ description?: string;
31
37
  /**
32
38
  *
33
39
  * @type {boolean}
@@ -38,6 +38,7 @@ export function ProjectFromJSONTyped(json, ignoreDiscriminator) {
38
38
  return {
39
39
  'id': json['id'],
40
40
  'name': json['name'],
41
+ 'description': json['description'] == null ? undefined : json['description'],
41
42
  'archived': json['archived'],
42
43
  'team': json['team'] == null ? undefined : (json['team'].map(ProjectUserMinifiedFromJSON)),
43
44
  'activity': json['activity'] == null ? undefined : json['activity'],
@@ -56,6 +57,7 @@ export function ProjectToJSONTyped(value, ignoreDiscriminator = false) {
56
57
  return {
57
58
  'id': value['id'],
58
59
  'name': value['name'],
60
+ 'description': value['description'],
59
61
  'archived': value['archived'],
60
62
  'team': value['team'] == null ? undefined : (value['team'].map(ProjectUserMinifiedToJSON)),
61
63
  'activity': value['activity'],
@@ -27,6 +27,12 @@ export interface ProjectCreatePayload {
27
27
  * @memberof ProjectCreatePayload
28
28
  */
29
29
  name: string;
30
+ /**
31
+ *
32
+ * @type {string}
33
+ * @memberof ProjectCreatePayload
34
+ */
35
+ description?: string;
30
36
  /**
31
37
  * Project ID to import users from (only allowed at the time of project create)
32
38
  * @type {number}
@@ -31,6 +31,7 @@ export function ProjectCreatePayloadFromJSONTyped(json, ignoreDiscriminator) {
31
31
  return {
32
32
  'id': json['id'] == null ? undefined : json['id'],
33
33
  'name': json['name'],
34
+ 'description': json['description'] == null ? undefined : json['description'],
34
35
  'importUsers': json['importUsers'] == null ? undefined : json['importUsers'],
35
36
  'issueManagerProfile': json['issueManagerProfile'] == null ? undefined : json['issueManagerProfile'],
36
37
  'importIssueManagerSettings': json['importIssueManagerSettings'] == null ? undefined : json['importIssueManagerSettings'],
@@ -47,6 +48,7 @@ export function ProjectCreatePayloadToJSONTyped(value, ignoreDiscriminator = fal
47
48
  return {
48
49
  'id': value['id'],
49
50
  'name': value['name'],
51
+ 'description': value['description'],
50
52
  'importUsers': value['importUsers'],
51
53
  'issueManagerProfile': value['issueManagerProfile'],
52
54
  'importIssueManagerSettings': value['importIssueManagerSettings'],
@@ -0,0 +1,93 @@
1
+ /**
2
+ * TC API
3
+ * TestCollab is a test management tool that helps development teams carry out testing effectively and avoid failures. # Introduction This is an API documentation for TestCollab 2. # Authentication TestCollab supports two forms of authentication: - An <b>API token</b> is required to make API calls. The token can be generated from user\'s profile; to obtain it login to your TestCollab account and go to [\'My Profile Settings\'](https://testcollab.io/my_profile) and switch to API Token tab. Click on \"Generate new API token\", Once the token is generated it can be sent as a query parameter for the API calls made - https://api.testcollab.io/projects?token=<generated-API-token> - <b>Bearer authentication</b> (also called token authentication) is an HTTP authentication scheme that involves security tokens called bearer tokens. You can generate bearer auth token using [Login](#operation/login) API. Send this token as the Authorization header while making requests to protected resources: `Authorization: Bearer <token>` For making API calls, we recommend using the <b>API token</b> generated from user profile page as it won\'t affect the on-going user session and will be available until it is revoked by the user who generated it. # Error Handling Error responses - `Not Found` - Error is sent when requested resource is not available. - `Unauthorized - invalid token` - Error is sent when API token sent with the request is invalid or revoked. Error contains status code 401 - `Forbidden` - Error is sent when logged in user is not part of the company, project or his role does not allow to complete given action. Response consist of 403 status code and more information is given in error message.
4
+ *
5
+ * The version of the OpenAPI document: 2.3.1
6
+ * Contact: support@testcollab.com
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
+ import type { ProjectUserMinified } from './ProjectUserMinified';
13
+ /**
14
+ *
15
+ * @export
16
+ * @interface ProjectListItem
17
+ */
18
+ export interface ProjectListItem {
19
+ /**
20
+ *
21
+ * @type {number}
22
+ * @memberof ProjectListItem
23
+ */
24
+ id: number;
25
+ /**
26
+ *
27
+ * @type {string}
28
+ * @memberof ProjectListItem
29
+ */
30
+ name: string;
31
+ /**
32
+ *
33
+ * @type {string}
34
+ * @memberof ProjectListItem
35
+ */
36
+ description?: string;
37
+ /**
38
+ *
39
+ * @type {boolean}
40
+ * @memberof ProjectListItem
41
+ */
42
+ archived: boolean;
43
+ /**
44
+ *
45
+ * @type {Array<ProjectUserMinified>}
46
+ * @memberof ProjectListItem
47
+ */
48
+ team?: Array<ProjectUserMinified>;
49
+ /**
50
+ *
51
+ * @type {string}
52
+ * @memberof ProjectListItem
53
+ */
54
+ activity?: string;
55
+ /**
56
+ *
57
+ * @type {string}
58
+ * @memberof ProjectListItem
59
+ */
60
+ createdAt: string;
61
+ /**
62
+ *
63
+ * @type {string}
64
+ * @memberof ProjectListItem
65
+ */
66
+ updatedAt: string;
67
+ /**
68
+ * Indicates that the project is a sample project or not
69
+ * @type {boolean}
70
+ * @memberof ProjectListItem
71
+ */
72
+ isSample?: boolean;
73
+ /**
74
+ * Number of test cases in the project
75
+ * @type {number}
76
+ * @memberof ProjectListItem
77
+ */
78
+ testCaseCount?: number;
79
+ /**
80
+ * Number of active test plans in the project
81
+ * @type {number}
82
+ * @memberof ProjectListItem
83
+ */
84
+ testPlanCount?: number;
85
+ }
86
+ /**
87
+ * Check if a given object implements the ProjectListItem interface.
88
+ */
89
+ export declare function instanceOfProjectListItem(value: object): value is ProjectListItem;
90
+ export declare function ProjectListItemFromJSON(json: any): ProjectListItem;
91
+ export declare function ProjectListItemFromJSONTyped(json: any, ignoreDiscriminator: boolean): ProjectListItem;
92
+ export declare function ProjectListItemToJSON(json: any): ProjectListItem;
93
+ export declare function ProjectListItemToJSONTyped(value?: ProjectListItem | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,72 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * TC API
5
+ * TestCollab is a test management tool that helps development teams carry out testing effectively and avoid failures. # Introduction This is an API documentation for TestCollab 2. # Authentication TestCollab supports two forms of authentication: - An <b>API token</b> is required to make API calls. The token can be generated from user\'s profile; to obtain it login to your TestCollab account and go to [\'My Profile Settings\'](https://testcollab.io/my_profile) and switch to API Token tab. Click on \"Generate new API token\", Once the token is generated it can be sent as a query parameter for the API calls made - https://api.testcollab.io/projects?token=<generated-API-token> - <b>Bearer authentication</b> (also called token authentication) is an HTTP authentication scheme that involves security tokens called bearer tokens. You can generate bearer auth token using [Login](#operation/login) API. Send this token as the Authorization header while making requests to protected resources: `Authorization: Bearer <token>` For making API calls, we recommend using the <b>API token</b> generated from user profile page as it won\'t affect the on-going user session and will be available until it is revoked by the user who generated it. # Error Handling Error responses - `Not Found` - Error is sent when requested resource is not available. - `Unauthorized - invalid token` - Error is sent when API token sent with the request is invalid or revoked. Error contains status code 401 - `Forbidden` - Error is sent when logged in user is not part of the company, project or his role does not allow to complete given action. Response consist of 403 status code and more information is given in error message.
6
+ *
7
+ * The version of the OpenAPI document: 2.3.1
8
+ * Contact: support@testcollab.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
+ import { ProjectUserMinifiedFromJSON, ProjectUserMinifiedToJSON, } from './ProjectUserMinified';
15
+ /**
16
+ * Check if a given object implements the ProjectListItem interface.
17
+ */
18
+ export function instanceOfProjectListItem(value) {
19
+ if (!('id' in value) || value['id'] === undefined)
20
+ return false;
21
+ if (!('name' in value) || value['name'] === undefined)
22
+ return false;
23
+ if (!('archived' in value) || value['archived'] === undefined)
24
+ return false;
25
+ if (!('createdAt' in value) || value['createdAt'] === undefined)
26
+ return false;
27
+ if (!('updatedAt' in value) || value['updatedAt'] === undefined)
28
+ return false;
29
+ return true;
30
+ }
31
+ export function ProjectListItemFromJSON(json) {
32
+ return ProjectListItemFromJSONTyped(json, false);
33
+ }
34
+ export function ProjectListItemFromJSONTyped(json, ignoreDiscriminator) {
35
+ if (json == null) {
36
+ return json;
37
+ }
38
+ return {
39
+ 'id': json['id'],
40
+ 'name': json['name'],
41
+ 'description': json['description'] == null ? undefined : json['description'],
42
+ 'archived': json['archived'],
43
+ 'team': json['team'] == null ? undefined : (json['team'].map(ProjectUserMinifiedFromJSON)),
44
+ 'activity': json['activity'] == null ? undefined : json['activity'],
45
+ 'createdAt': json['created_at'],
46
+ 'updatedAt': json['updated_at'],
47
+ 'isSample': json['is_sample'] == null ? undefined : json['is_sample'],
48
+ 'testCaseCount': json['test_case_count'] == null ? undefined : json['test_case_count'],
49
+ 'testPlanCount': json['test_plan_count'] == null ? undefined : json['test_plan_count'],
50
+ };
51
+ }
52
+ export function ProjectListItemToJSON(json) {
53
+ return ProjectListItemToJSONTyped(json, false);
54
+ }
55
+ export function ProjectListItemToJSONTyped(value, ignoreDiscriminator = false) {
56
+ if (value == null) {
57
+ return value;
58
+ }
59
+ return {
60
+ 'id': value['id'],
61
+ 'name': value['name'],
62
+ 'description': value['description'],
63
+ 'archived': value['archived'],
64
+ 'team': value['team'] == null ? undefined : (value['team'].map(ProjectUserMinifiedToJSON)),
65
+ 'activity': value['activity'],
66
+ 'created_at': value['createdAt'],
67
+ 'updated_at': value['updatedAt'],
68
+ 'is_sample': value['isSample'],
69
+ 'test_case_count': value['testCaseCount'],
70
+ 'test_plan_count': value['testPlanCount'],
71
+ };
72
+ }
@@ -27,6 +27,12 @@ export interface ProjectPayload {
27
27
  * @memberof ProjectPayload
28
28
  */
29
29
  name: string;
30
+ /**
31
+ *
32
+ * @type {string}
33
+ * @memberof ProjectPayload
34
+ */
35
+ description?: string;
30
36
  /**
31
37
  *
32
38
  * @type {boolean}
@@ -31,6 +31,7 @@ export function ProjectPayloadFromJSONTyped(json, ignoreDiscriminator) {
31
31
  return {
32
32
  'id': json['id'] == null ? undefined : json['id'],
33
33
  'name': json['name'],
34
+ 'description': json['description'] == null ? undefined : json['description'],
34
35
  'archived': json['archived'] == null ? undefined : json['archived'],
35
36
  'company': json['company'],
36
37
  };
@@ -45,6 +46,7 @@ export function ProjectPayloadToJSONTyped(value, ignoreDiscriminator = false) {
45
46
  return {
46
47
  'id': value['id'],
47
48
  'name': value['name'],
49
+ 'description': value['description'],
48
50
  'archived': value['archived'],
49
51
  'company': value['company'],
50
52
  };
@@ -145,6 +145,7 @@ export * from './PreferencePayload';
145
145
  export * from './Project';
146
146
  export * from './ProjectActivity';
147
147
  export * from './ProjectCreatePayload';
148
+ export * from './ProjectListItem';
148
149
  export * from './ProjectMetrics';
149
150
  export * from './ProjectMini';
150
151
  export * from './ProjectMinified';
@@ -147,6 +147,7 @@ export * from './PreferencePayload';
147
147
  export * from './Project';
148
148
  export * from './ProjectActivity';
149
149
  export * from './ProjectCreatePayload';
150
+ export * from './ProjectListItem';
150
151
  export * from './ProjectMetrics';
151
152
  export * from './ProjectMini';
152
153
  export * from './ProjectMinified';
@@ -28,6 +28,12 @@ export interface Project {
28
28
  * @memberof Project
29
29
  */
30
30
  name: string;
31
+ /**
32
+ *
33
+ * @type {string}
34
+ * @memberof Project
35
+ */
36
+ description?: string;
31
37
  /**
32
38
  *
33
39
  * @type {boolean}
@@ -45,6 +45,7 @@ function ProjectFromJSONTyped(json, ignoreDiscriminator) {
45
45
  return {
46
46
  'id': json['id'],
47
47
  'name': json['name'],
48
+ 'description': json['description'] == null ? undefined : json['description'],
48
49
  'archived': json['archived'],
49
50
  'team': json['team'] == null ? undefined : (json['team'].map(ProjectUserMinified_1.ProjectUserMinifiedFromJSON)),
50
51
  'activity': json['activity'] == null ? undefined : json['activity'],
@@ -63,6 +64,7 @@ function ProjectToJSONTyped(value, ignoreDiscriminator = false) {
63
64
  return {
64
65
  'id': value['id'],
65
66
  'name': value['name'],
67
+ 'description': value['description'],
66
68
  'archived': value['archived'],
67
69
  'team': value['team'] == null ? undefined : (value['team'].map(ProjectUserMinified_1.ProjectUserMinifiedToJSON)),
68
70
  'activity': value['activity'],
@@ -27,6 +27,12 @@ export interface ProjectCreatePayload {
27
27
  * @memberof ProjectCreatePayload
28
28
  */
29
29
  name: string;
30
+ /**
31
+ *
32
+ * @type {string}
33
+ * @memberof ProjectCreatePayload
34
+ */
35
+ description?: string;
30
36
  /**
31
37
  * Project ID to import users from (only allowed at the time of project create)
32
38
  * @type {number}
@@ -38,6 +38,7 @@ function ProjectCreatePayloadFromJSONTyped(json, ignoreDiscriminator) {
38
38
  return {
39
39
  'id': json['id'] == null ? undefined : json['id'],
40
40
  'name': json['name'],
41
+ 'description': json['description'] == null ? undefined : json['description'],
41
42
  'importUsers': json['importUsers'] == null ? undefined : json['importUsers'],
42
43
  'issueManagerProfile': json['issueManagerProfile'] == null ? undefined : json['issueManagerProfile'],
43
44
  'importIssueManagerSettings': json['importIssueManagerSettings'] == null ? undefined : json['importIssueManagerSettings'],
@@ -54,6 +55,7 @@ function ProjectCreatePayloadToJSONTyped(value, ignoreDiscriminator = false) {
54
55
  return {
55
56
  'id': value['id'],
56
57
  'name': value['name'],
58
+ 'description': value['description'],
57
59
  'importUsers': value['importUsers'],
58
60
  'issueManagerProfile': value['issueManagerProfile'],
59
61
  'importIssueManagerSettings': value['importIssueManagerSettings'],
@@ -0,0 +1,93 @@
1
+ /**
2
+ * TC API
3
+ * TestCollab is a test management tool that helps development teams carry out testing effectively and avoid failures. # Introduction This is an API documentation for TestCollab 2. # Authentication TestCollab supports two forms of authentication: - An <b>API token</b> is required to make API calls. The token can be generated from user\'s profile; to obtain it login to your TestCollab account and go to [\'My Profile Settings\'](https://testcollab.io/my_profile) and switch to API Token tab. Click on \"Generate new API token\", Once the token is generated it can be sent as a query parameter for the API calls made - https://api.testcollab.io/projects?token=<generated-API-token> - <b>Bearer authentication</b> (also called token authentication) is an HTTP authentication scheme that involves security tokens called bearer tokens. You can generate bearer auth token using [Login](#operation/login) API. Send this token as the Authorization header while making requests to protected resources: `Authorization: Bearer <token>` For making API calls, we recommend using the <b>API token</b> generated from user profile page as it won\'t affect the on-going user session and will be available until it is revoked by the user who generated it. # Error Handling Error responses - `Not Found` - Error is sent when requested resource is not available. - `Unauthorized - invalid token` - Error is sent when API token sent with the request is invalid or revoked. Error contains status code 401 - `Forbidden` - Error is sent when logged in user is not part of the company, project or his role does not allow to complete given action. Response consist of 403 status code and more information is given in error message.
4
+ *
5
+ * The version of the OpenAPI document: 2.3.1
6
+ * Contact: support@testcollab.com
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
+ import type { ProjectUserMinified } from './ProjectUserMinified';
13
+ /**
14
+ *
15
+ * @export
16
+ * @interface ProjectListItem
17
+ */
18
+ export interface ProjectListItem {
19
+ /**
20
+ *
21
+ * @type {number}
22
+ * @memberof ProjectListItem
23
+ */
24
+ id: number;
25
+ /**
26
+ *
27
+ * @type {string}
28
+ * @memberof ProjectListItem
29
+ */
30
+ name: string;
31
+ /**
32
+ *
33
+ * @type {string}
34
+ * @memberof ProjectListItem
35
+ */
36
+ description?: string;
37
+ /**
38
+ *
39
+ * @type {boolean}
40
+ * @memberof ProjectListItem
41
+ */
42
+ archived: boolean;
43
+ /**
44
+ *
45
+ * @type {Array<ProjectUserMinified>}
46
+ * @memberof ProjectListItem
47
+ */
48
+ team?: Array<ProjectUserMinified>;
49
+ /**
50
+ *
51
+ * @type {string}
52
+ * @memberof ProjectListItem
53
+ */
54
+ activity?: string;
55
+ /**
56
+ *
57
+ * @type {string}
58
+ * @memberof ProjectListItem
59
+ */
60
+ createdAt: string;
61
+ /**
62
+ *
63
+ * @type {string}
64
+ * @memberof ProjectListItem
65
+ */
66
+ updatedAt: string;
67
+ /**
68
+ * Indicates that the project is a sample project or not
69
+ * @type {boolean}
70
+ * @memberof ProjectListItem
71
+ */
72
+ isSample?: boolean;
73
+ /**
74
+ * Number of test cases in the project
75
+ * @type {number}
76
+ * @memberof ProjectListItem
77
+ */
78
+ testCaseCount?: number;
79
+ /**
80
+ * Number of active test plans in the project
81
+ * @type {number}
82
+ * @memberof ProjectListItem
83
+ */
84
+ testPlanCount?: number;
85
+ }
86
+ /**
87
+ * Check if a given object implements the ProjectListItem interface.
88
+ */
89
+ export declare function instanceOfProjectListItem(value: object): value is ProjectListItem;
90
+ export declare function ProjectListItemFromJSON(json: any): ProjectListItem;
91
+ export declare function ProjectListItemFromJSONTyped(json: any, ignoreDiscriminator: boolean): ProjectListItem;
92
+ export declare function ProjectListItemToJSON(json: any): ProjectListItem;
93
+ export declare function ProjectListItemToJSONTyped(value?: ProjectListItem | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * TC API
6
+ * TestCollab is a test management tool that helps development teams carry out testing effectively and avoid failures. # Introduction This is an API documentation for TestCollab 2. # Authentication TestCollab supports two forms of authentication: - An <b>API token</b> is required to make API calls. The token can be generated from user\'s profile; to obtain it login to your TestCollab account and go to [\'My Profile Settings\'](https://testcollab.io/my_profile) and switch to API Token tab. Click on \"Generate new API token\", Once the token is generated it can be sent as a query parameter for the API calls made - https://api.testcollab.io/projects?token=<generated-API-token> - <b>Bearer authentication</b> (also called token authentication) is an HTTP authentication scheme that involves security tokens called bearer tokens. You can generate bearer auth token using [Login](#operation/login) API. Send this token as the Authorization header while making requests to protected resources: `Authorization: Bearer <token>` For making API calls, we recommend using the <b>API token</b> generated from user profile page as it won\'t affect the on-going user session and will be available until it is revoked by the user who generated it. # Error Handling Error responses - `Not Found` - Error is sent when requested resource is not available. - `Unauthorized - invalid token` - Error is sent when API token sent with the request is invalid or revoked. Error contains status code 401 - `Forbidden` - Error is sent when logged in user is not part of the company, project or his role does not allow to complete given action. Response consist of 403 status code and more information is given in error message.
7
+ *
8
+ * The version of the OpenAPI document: 2.3.1
9
+ * Contact: support@testcollab.com
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 });
16
+ exports.instanceOfProjectListItem = instanceOfProjectListItem;
17
+ exports.ProjectListItemFromJSON = ProjectListItemFromJSON;
18
+ exports.ProjectListItemFromJSONTyped = ProjectListItemFromJSONTyped;
19
+ exports.ProjectListItemToJSON = ProjectListItemToJSON;
20
+ exports.ProjectListItemToJSONTyped = ProjectListItemToJSONTyped;
21
+ const ProjectUserMinified_1 = require("./ProjectUserMinified");
22
+ /**
23
+ * Check if a given object implements the ProjectListItem interface.
24
+ */
25
+ function instanceOfProjectListItem(value) {
26
+ if (!('id' in value) || value['id'] === undefined)
27
+ return false;
28
+ if (!('name' in value) || value['name'] === undefined)
29
+ return false;
30
+ if (!('archived' in value) || value['archived'] === undefined)
31
+ return false;
32
+ if (!('createdAt' in value) || value['createdAt'] === undefined)
33
+ return false;
34
+ if (!('updatedAt' in value) || value['updatedAt'] === undefined)
35
+ return false;
36
+ return true;
37
+ }
38
+ function ProjectListItemFromJSON(json) {
39
+ return ProjectListItemFromJSONTyped(json, false);
40
+ }
41
+ function ProjectListItemFromJSONTyped(json, ignoreDiscriminator) {
42
+ if (json == null) {
43
+ return json;
44
+ }
45
+ return {
46
+ 'id': json['id'],
47
+ 'name': json['name'],
48
+ 'description': json['description'] == null ? undefined : json['description'],
49
+ 'archived': json['archived'],
50
+ 'team': json['team'] == null ? undefined : (json['team'].map(ProjectUserMinified_1.ProjectUserMinifiedFromJSON)),
51
+ 'activity': json['activity'] == null ? undefined : json['activity'],
52
+ 'createdAt': json['created_at'],
53
+ 'updatedAt': json['updated_at'],
54
+ 'isSample': json['is_sample'] == null ? undefined : json['is_sample'],
55
+ 'testCaseCount': json['test_case_count'] == null ? undefined : json['test_case_count'],
56
+ 'testPlanCount': json['test_plan_count'] == null ? undefined : json['test_plan_count'],
57
+ };
58
+ }
59
+ function ProjectListItemToJSON(json) {
60
+ return ProjectListItemToJSONTyped(json, false);
61
+ }
62
+ function ProjectListItemToJSONTyped(value, ignoreDiscriminator = false) {
63
+ if (value == null) {
64
+ return value;
65
+ }
66
+ return {
67
+ 'id': value['id'],
68
+ 'name': value['name'],
69
+ 'description': value['description'],
70
+ 'archived': value['archived'],
71
+ 'team': value['team'] == null ? undefined : (value['team'].map(ProjectUserMinified_1.ProjectUserMinifiedToJSON)),
72
+ 'activity': value['activity'],
73
+ 'created_at': value['createdAt'],
74
+ 'updated_at': value['updatedAt'],
75
+ 'is_sample': value['isSample'],
76
+ 'test_case_count': value['testCaseCount'],
77
+ 'test_plan_count': value['testPlanCount'],
78
+ };
79
+ }
@@ -27,6 +27,12 @@ export interface ProjectPayload {
27
27
  * @memberof ProjectPayload
28
28
  */
29
29
  name: string;
30
+ /**
31
+ *
32
+ * @type {string}
33
+ * @memberof ProjectPayload
34
+ */
35
+ description?: string;
30
36
  /**
31
37
  *
32
38
  * @type {boolean}
@@ -38,6 +38,7 @@ function ProjectPayloadFromJSONTyped(json, ignoreDiscriminator) {
38
38
  return {
39
39
  'id': json['id'] == null ? undefined : json['id'],
40
40
  'name': json['name'],
41
+ 'description': json['description'] == null ? undefined : json['description'],
41
42
  'archived': json['archived'] == null ? undefined : json['archived'],
42
43
  'company': json['company'],
43
44
  };
@@ -52,6 +53,7 @@ function ProjectPayloadToJSONTyped(value, ignoreDiscriminator = false) {
52
53
  return {
53
54
  'id': value['id'],
54
55
  'name': value['name'],
56
+ 'description': value['description'],
55
57
  'archived': value['archived'],
56
58
  'company': value['company'],
57
59
  };
@@ -145,6 +145,7 @@ export * from './PreferencePayload';
145
145
  export * from './Project';
146
146
  export * from './ProjectActivity';
147
147
  export * from './ProjectCreatePayload';
148
+ export * from './ProjectListItem';
148
149
  export * from './ProjectMetrics';
149
150
  export * from './ProjectMini';
150
151
  export * from './ProjectMinified';
@@ -163,6 +163,7 @@ __exportStar(require("./PreferencePayload"), exports);
163
163
  __exportStar(require("./Project"), exports);
164
164
  __exportStar(require("./ProjectActivity"), exports);
165
165
  __exportStar(require("./ProjectCreatePayload"), exports);
166
+ __exportStar(require("./ProjectListItem"), exports);
166
167
  __exportStar(require("./ProjectMetrics"), exports);
167
168
  __exportStar(require("./ProjectMini"), exports);
168
169
  __exportStar(require("./ProjectMinified"), exports);
package/docs/Project.md CHANGED
@@ -8,6 +8,7 @@ Name | Type
8
8
  ------------ | -------------
9
9
  `id` | number
10
10
  `name` | string
11
+ `description` | string
11
12
  `archived` | boolean
12
13
  `team` | [Array&lt;ProjectUserMinified&gt;](ProjectUserMinified.md)
13
14
  `activity` | string
@@ -24,6 +25,7 @@ import type { Project } from '@testcollab/sdk'
24
25
  const example = {
25
26
  "id": 1,
26
27
  "name": Crowd Vox,
28
+ "description": QA workspace for the customer web app,
27
29
  "archived": false,
28
30
  "team": null,
29
31
  "activity": 2017-06-05,
@@ -8,6 +8,7 @@ Name | Type
8
8
  ------------ | -------------
9
9
  `id` | number
10
10
  `name` | string
11
+ `description` | string
11
12
  `importUsers` | number
12
13
  `issueManagerProfile` | number
13
14
  `importIssueManagerSettings` | number
@@ -22,6 +23,7 @@ import type { ProjectCreatePayload } from '@testcollab/sdk'
22
23
  const example = {
23
24
  "id": 1,
24
25
  "name": Crowd Vox,
26
+ "description": QA workspace for the customer web app,
25
27
  "importUsers": 2,
26
28
  "issueManagerProfile": null,
27
29
  "importIssueManagerSettings": 2,
@@ -0,0 +1,54 @@
1
+
2
+ # ProjectListItem
3
+
4
+
5
+ ## Properties
6
+
7
+ Name | Type
8
+ ------------ | -------------
9
+ `id` | number
10
+ `name` | string
11
+ `description` | string
12
+ `archived` | boolean
13
+ `team` | [Array&lt;ProjectUserMinified&gt;](ProjectUserMinified.md)
14
+ `activity` | string
15
+ `createdAt` | string
16
+ `updatedAt` | string
17
+ `isSample` | boolean
18
+ `testCaseCount` | number
19
+ `testPlanCount` | number
20
+
21
+ ## Example
22
+
23
+ ```typescript
24
+ import type { ProjectListItem } from '@testcollab/sdk'
25
+
26
+ // TODO: Update the object below with actual values
27
+ const example = {
28
+ "id": 1,
29
+ "name": Crowd Vox,
30
+ "description": QA workspace for the customer web app,
31
+ "archived": false,
32
+ "team": null,
33
+ "activity": 2017-06-05,
34
+ "createdAt": 2019-04-30T17:11:24.000Z,
35
+ "updatedAt": 2019-04-30T17:11:24.000Z,
36
+ "isSample": false,
37
+ "testCaseCount": 128,
38
+ "testPlanCount": 7,
39
+ } satisfies ProjectListItem
40
+
41
+ console.log(example)
42
+
43
+ // Convert the instance to a JSON string
44
+ const exampleJSON: string = JSON.stringify(example)
45
+ console.log(exampleJSON)
46
+
47
+ // Parse the JSON string back to an object
48
+ const exampleParsed = JSON.parse(exampleJSON) as ProjectListItem
49
+ console.log(exampleParsed)
50
+ ```
51
+
52
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
53
+
54
+
@@ -8,6 +8,7 @@ Name | Type
8
8
  ------------ | -------------
9
9
  `id` | number
10
10
  `name` | string
11
+ `description` | string
11
12
  `archived` | boolean
12
13
  `company` | number
13
14
 
@@ -20,6 +21,7 @@ import type { ProjectPayload } from '@testcollab/sdk'
20
21
  const example = {
21
22
  "id": 1,
22
23
  "name": Crowd Vox,
24
+ "description": QA workspace for the customer web app,
23
25
  "archived": false,
24
26
  "company": 1,
25
27
  } satisfies ProjectPayload
@@ -407,7 +407,7 @@ example().catch(console.error);
407
407
 
408
408
  ## getProjects
409
409
 
410
- > Array&lt;Project&gt; getProjects(company, limit, start, sort, filter)
410
+ > Array&lt;ProjectListItem&gt; getProjects(company, limit, start, sort, filter)
411
411
 
412
412
  Get list of projects
413
413
 
@@ -470,7 +470,7 @@ example().catch(console.error);
470
470
 
471
471
  ### Return type
472
472
 
473
- [**Array&lt;Project&gt;**](Project.md)
473
+ [**Array&lt;ProjectListItem&gt;**](ProjectListItem.md)
474
474
 
475
475
  ### Authorization
476
476
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@testcollab/sdk",
3
- "version": "3.9.0",
3
+ "version": "3.11.0",
4
4
  "description": "TestCollab SDK for public API",
5
5
  "author": "Test Collab Software LLC.",
6
6
  "repository": {
@@ -21,6 +21,7 @@ import type {
21
21
  ForbiddenError,
22
22
  Project,
23
23
  ProjectCreatePayload,
24
+ ProjectListItem,
24
25
  ProjectPayload,
25
26
  TCError,
26
27
  } from '../models/index';
@@ -37,6 +38,8 @@ import {
37
38
  ProjectToJSON,
38
39
  ProjectCreatePayloadFromJSON,
39
40
  ProjectCreatePayloadToJSON,
41
+ ProjectListItemFromJSON,
42
+ ProjectListItemToJSON,
40
43
  ProjectPayloadFromJSON,
41
44
  ProjectPayloadToJSON,
42
45
  TCErrorFromJSON,
@@ -185,13 +188,13 @@ export interface ProjectsApiInterface {
185
188
  * @throws {RequiredError}
186
189
  * @memberof ProjectsApiInterface
187
190
  */
188
- getProjectsRaw(requestParameters: GetProjectsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<Project>>>;
191
+ getProjectsRaw(requestParameters: GetProjectsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ProjectListItem>>>;
189
192
 
190
193
  /**
191
194
  * Fetches list of projects
192
195
  * Get list of projects
193
196
  */
194
- getProjects(requestParameters: GetProjectsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<Project>>;
197
+ getProjects(requestParameters: GetProjectsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<ProjectListItem>>;
195
198
 
196
199
  /**
197
200
  * Populate sample data in project
@@ -490,7 +493,7 @@ export class ProjectsApi extends runtime.BaseAPI implements ProjectsApiInterface
490
493
  * Fetches list of projects
491
494
  * Get list of projects
492
495
  */
493
- async getProjectsRaw(requestParameters: GetProjectsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<Project>>> {
496
+ async getProjectsRaw(requestParameters: GetProjectsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ProjectListItem>>> {
494
497
  if (requestParameters['company'] == null) {
495
498
  throw new runtime.RequiredError(
496
499
  'company',
@@ -540,14 +543,14 @@ export class ProjectsApi extends runtime.BaseAPI implements ProjectsApiInterface
540
543
  query: queryParameters,
541
544
  }, initOverrides);
542
545
 
543
- return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ProjectFromJSON));
546
+ return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ProjectListItemFromJSON));
544
547
  }
545
548
 
546
549
  /**
547
550
  * Fetches list of projects
548
551
  * Get list of projects
549
552
  */
550
- async getProjects(requestParameters: GetProjectsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<Project>> {
553
+ async getProjects(requestParameters: GetProjectsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<ProjectListItem>> {
551
554
  const response = await this.getProjectsRaw(requestParameters, initOverrides);
552
555
  return await response.value();
553
556
  }
@@ -39,6 +39,12 @@ export interface Project {
39
39
  * @memberof Project
40
40
  */
41
41
  name: string;
42
+ /**
43
+ *
44
+ * @type {string}
45
+ * @memberof Project
46
+ */
47
+ description?: string;
42
48
  /**
43
49
  *
44
50
  * @type {boolean}
@@ -101,6 +107,7 @@ export function ProjectFromJSONTyped(json: any, ignoreDiscriminator: boolean): P
101
107
 
102
108
  'id': json['id'],
103
109
  'name': json['name'],
110
+ 'description': json['description'] == null ? undefined : json['description'],
104
111
  'archived': json['archived'],
105
112
  'team': json['team'] == null ? undefined : ((json['team'] as Array<any>).map(ProjectUserMinifiedFromJSON)),
106
113
  'activity': json['activity'] == null ? undefined : json['activity'],
@@ -123,6 +130,7 @@ export function ProjectToJSONTyped(value?: Project | null, ignoreDiscriminator:
123
130
 
124
131
  'id': value['id'],
125
132
  'name': value['name'],
133
+ 'description': value['description'],
126
134
  'archived': value['archived'],
127
135
  'team': value['team'] == null ? undefined : ((value['team'] as Array<any>).map(ProjectUserMinifiedToJSON)),
128
136
  'activity': value['activity'],
@@ -31,6 +31,12 @@ export interface ProjectCreatePayload {
31
31
  * @memberof ProjectCreatePayload
32
32
  */
33
33
  name: string;
34
+ /**
35
+ *
36
+ * @type {string}
37
+ * @memberof ProjectCreatePayload
38
+ */
39
+ description?: string;
34
40
  /**
35
41
  * Project ID to import users from (only allowed at the time of project create)
36
42
  * @type {number}
@@ -79,6 +85,7 @@ export function ProjectCreatePayloadFromJSONTyped(json: any, ignoreDiscriminator
79
85
 
80
86
  'id': json['id'] == null ? undefined : json['id'],
81
87
  'name': json['name'],
88
+ 'description': json['description'] == null ? undefined : json['description'],
82
89
  'importUsers': json['importUsers'] == null ? undefined : json['importUsers'],
83
90
  'issueManagerProfile': json['issueManagerProfile'] == null ? undefined : json['issueManagerProfile'],
84
91
  'importIssueManagerSettings': json['importIssueManagerSettings'] == null ? undefined : json['importIssueManagerSettings'],
@@ -99,6 +106,7 @@ export function ProjectCreatePayloadToJSONTyped(value?: ProjectCreatePayload | n
99
106
 
100
107
  'id': value['id'],
101
108
  'name': value['name'],
109
+ 'description': value['description'],
102
110
  'importUsers': value['importUsers'],
103
111
  'issueManagerProfile': value['issueManagerProfile'],
104
112
  'importIssueManagerSettings': value['importIssueManagerSettings'],
@@ -0,0 +1,158 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * TC API
5
+ * TestCollab is a test management tool that helps development teams carry out testing effectively and avoid failures. # Introduction This is an API documentation for TestCollab 2. # Authentication TestCollab supports two forms of authentication: - An <b>API token</b> is required to make API calls. The token can be generated from user\'s profile; to obtain it login to your TestCollab account and go to [\'My Profile Settings\'](https://testcollab.io/my_profile) and switch to API Token tab. Click on \"Generate new API token\", Once the token is generated it can be sent as a query parameter for the API calls made - https://api.testcollab.io/projects?token=<generated-API-token> - <b>Bearer authentication</b> (also called token authentication) is an HTTP authentication scheme that involves security tokens called bearer tokens. You can generate bearer auth token using [Login](#operation/login) API. Send this token as the Authorization header while making requests to protected resources: `Authorization: Bearer <token>` For making API calls, we recommend using the <b>API token</b> generated from user profile page as it won\'t affect the on-going user session and will be available until it is revoked by the user who generated it. # Error Handling Error responses - `Not Found` - Error is sent when requested resource is not available. - `Unauthorized - invalid token` - Error is sent when API token sent with the request is invalid or revoked. Error contains status code 401 - `Forbidden` - Error is sent when logged in user is not part of the company, project or his role does not allow to complete given action. Response consist of 403 status code and more information is given in error message.
6
+ *
7
+ * The version of the OpenAPI document: 2.3.1
8
+ * Contact: support@testcollab.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 { mapValues } from '../runtime';
16
+ import type { ProjectUserMinified } from './ProjectUserMinified';
17
+ import {
18
+ ProjectUserMinifiedFromJSON,
19
+ ProjectUserMinifiedFromJSONTyped,
20
+ ProjectUserMinifiedToJSON,
21
+ ProjectUserMinifiedToJSONTyped,
22
+ } from './ProjectUserMinified';
23
+
24
+ /**
25
+ *
26
+ * @export
27
+ * @interface ProjectListItem
28
+ */
29
+ export interface ProjectListItem {
30
+ /**
31
+ *
32
+ * @type {number}
33
+ * @memberof ProjectListItem
34
+ */
35
+ id: number;
36
+ /**
37
+ *
38
+ * @type {string}
39
+ * @memberof ProjectListItem
40
+ */
41
+ name: string;
42
+ /**
43
+ *
44
+ * @type {string}
45
+ * @memberof ProjectListItem
46
+ */
47
+ description?: string;
48
+ /**
49
+ *
50
+ * @type {boolean}
51
+ * @memberof ProjectListItem
52
+ */
53
+ archived: boolean;
54
+ /**
55
+ *
56
+ * @type {Array<ProjectUserMinified>}
57
+ * @memberof ProjectListItem
58
+ */
59
+ team?: Array<ProjectUserMinified>;
60
+ /**
61
+ *
62
+ * @type {string}
63
+ * @memberof ProjectListItem
64
+ */
65
+ activity?: string;
66
+ /**
67
+ *
68
+ * @type {string}
69
+ * @memberof ProjectListItem
70
+ */
71
+ createdAt: string;
72
+ /**
73
+ *
74
+ * @type {string}
75
+ * @memberof ProjectListItem
76
+ */
77
+ updatedAt: string;
78
+ /**
79
+ * Indicates that the project is a sample project or not
80
+ * @type {boolean}
81
+ * @memberof ProjectListItem
82
+ */
83
+ isSample?: boolean;
84
+ /**
85
+ * Number of test cases in the project
86
+ * @type {number}
87
+ * @memberof ProjectListItem
88
+ */
89
+ testCaseCount?: number;
90
+ /**
91
+ * Number of active test plans in the project
92
+ * @type {number}
93
+ * @memberof ProjectListItem
94
+ */
95
+ testPlanCount?: number;
96
+ }
97
+
98
+ /**
99
+ * Check if a given object implements the ProjectListItem interface.
100
+ */
101
+ export function instanceOfProjectListItem(value: object): value is ProjectListItem {
102
+ if (!('id' in value) || value['id'] === undefined) return false;
103
+ if (!('name' in value) || value['name'] === undefined) return false;
104
+ if (!('archived' in value) || value['archived'] === undefined) return false;
105
+ if (!('createdAt' in value) || value['createdAt'] === undefined) return false;
106
+ if (!('updatedAt' in value) || value['updatedAt'] === undefined) return false;
107
+ return true;
108
+ }
109
+
110
+ export function ProjectListItemFromJSON(json: any): ProjectListItem {
111
+ return ProjectListItemFromJSONTyped(json, false);
112
+ }
113
+
114
+ export function ProjectListItemFromJSONTyped(json: any, ignoreDiscriminator: boolean): ProjectListItem {
115
+ if (json == null) {
116
+ return json;
117
+ }
118
+ return {
119
+
120
+ 'id': json['id'],
121
+ 'name': json['name'],
122
+ 'description': json['description'] == null ? undefined : json['description'],
123
+ 'archived': json['archived'],
124
+ 'team': json['team'] == null ? undefined : ((json['team'] as Array<any>).map(ProjectUserMinifiedFromJSON)),
125
+ 'activity': json['activity'] == null ? undefined : json['activity'],
126
+ 'createdAt': json['created_at'],
127
+ 'updatedAt': json['updated_at'],
128
+ 'isSample': json['is_sample'] == null ? undefined : json['is_sample'],
129
+ 'testCaseCount': json['test_case_count'] == null ? undefined : json['test_case_count'],
130
+ 'testPlanCount': json['test_plan_count'] == null ? undefined : json['test_plan_count'],
131
+ };
132
+ }
133
+
134
+ export function ProjectListItemToJSON(json: any): ProjectListItem {
135
+ return ProjectListItemToJSONTyped(json, false);
136
+ }
137
+
138
+ export function ProjectListItemToJSONTyped(value?: ProjectListItem | null, ignoreDiscriminator: boolean = false): any {
139
+ if (value == null) {
140
+ return value;
141
+ }
142
+
143
+ return {
144
+
145
+ 'id': value['id'],
146
+ 'name': value['name'],
147
+ 'description': value['description'],
148
+ 'archived': value['archived'],
149
+ 'team': value['team'] == null ? undefined : ((value['team'] as Array<any>).map(ProjectUserMinifiedToJSON)),
150
+ 'activity': value['activity'],
151
+ 'created_at': value['createdAt'],
152
+ 'updated_at': value['updatedAt'],
153
+ 'is_sample': value['isSample'],
154
+ 'test_case_count': value['testCaseCount'],
155
+ 'test_plan_count': value['testPlanCount'],
156
+ };
157
+ }
158
+
@@ -31,6 +31,12 @@ export interface ProjectPayload {
31
31
  * @memberof ProjectPayload
32
32
  */
33
33
  name: string;
34
+ /**
35
+ *
36
+ * @type {string}
37
+ * @memberof ProjectPayload
38
+ */
39
+ description?: string;
34
40
  /**
35
41
  *
36
42
  * @type {boolean}
@@ -66,6 +72,7 @@ export function ProjectPayloadFromJSONTyped(json: any, ignoreDiscriminator: bool
66
72
 
67
73
  'id': json['id'] == null ? undefined : json['id'],
68
74
  'name': json['name'],
75
+ 'description': json['description'] == null ? undefined : json['description'],
69
76
  'archived': json['archived'] == null ? undefined : json['archived'],
70
77
  'company': json['company'],
71
78
  };
@@ -84,6 +91,7 @@ export function ProjectPayloadToJSONTyped(value?: ProjectPayload | null, ignoreD
84
91
 
85
92
  'id': value['id'],
86
93
  'name': value['name'],
94
+ 'description': value['description'],
87
95
  'archived': value['archived'],
88
96
  'company': value['company'],
89
97
  };
@@ -147,6 +147,7 @@ export * from './PreferencePayload';
147
147
  export * from './Project';
148
148
  export * from './ProjectActivity';
149
149
  export * from './ProjectCreatePayload';
150
+ export * from './ProjectListItem';
150
151
  export * from './ProjectMetrics';
151
152
  export * from './ProjectMini';
152
153
  export * from './ProjectMinified';