@testcollab/sdk 3.7.0 → 3.9.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 (72) hide show
  1. package/.openapi-generator/FILES +16 -0
  2. package/dist/esm/models/QacConversationFeedback.d.ts +93 -0
  3. package/dist/esm/models/QacConversationFeedback.js +80 -0
  4. package/dist/esm/models/QacConversationFeedbackPayload.d.ts +62 -0
  5. package/dist/esm/models/QacConversationFeedbackPayload.js +63 -0
  6. package/dist/esm/models/QacConversationMessage.d.ts +135 -0
  7. package/dist/esm/models/QacConversationMessage.js +105 -0
  8. package/dist/esm/models/QacConversationMessagePayload.d.ts +88 -0
  9. package/dist/esm/models/QacConversationMessagePayload.js +71 -0
  10. package/dist/esm/models/QacConversationThread.d.ts +130 -0
  11. package/dist/esm/models/QacConversationThread.js +90 -0
  12. package/dist/esm/models/QacConversationThreadPayload.d.ts +81 -0
  13. package/dist/esm/models/QacConversationThreadPayload.js +65 -0
  14. package/dist/esm/models/QacConversationThreadWithMessages.d.ts +40 -0
  15. package/dist/esm/models/QacConversationThreadWithMessages.js +45 -0
  16. package/dist/esm/models/QacConversationTokenUsage.d.ts +44 -0
  17. package/dist/esm/models/QacConversationTokenUsage.js +45 -0
  18. package/dist/esm/models/SuiteTree.d.ts +0 -6
  19. package/dist/esm/models/SuiteTree.js +0 -4
  20. package/dist/esm/models/TrainingArtifactPayload.d.ts +4 -4
  21. package/dist/esm/models/TrainingArtifactPayload.js +4 -4
  22. package/dist/esm/models/TrainingSession.d.ts +1 -0
  23. package/dist/esm/models/TrainingSession.js +2 -1
  24. package/dist/esm/models/index.d.ts +8 -0
  25. package/dist/esm/models/index.js +8 -0
  26. package/dist/models/QacConversationFeedback.d.ts +93 -0
  27. package/dist/models/QacConversationFeedback.js +88 -0
  28. package/dist/models/QacConversationFeedbackPayload.d.ts +62 -0
  29. package/dist/models/QacConversationFeedbackPayload.js +71 -0
  30. package/dist/models/QacConversationMessage.d.ts +135 -0
  31. package/dist/models/QacConversationMessage.js +113 -0
  32. package/dist/models/QacConversationMessagePayload.d.ts +88 -0
  33. package/dist/models/QacConversationMessagePayload.js +79 -0
  34. package/dist/models/QacConversationThread.d.ts +130 -0
  35. package/dist/models/QacConversationThread.js +98 -0
  36. package/dist/models/QacConversationThreadPayload.d.ts +81 -0
  37. package/dist/models/QacConversationThreadPayload.js +73 -0
  38. package/dist/models/QacConversationThreadWithMessages.d.ts +40 -0
  39. package/dist/models/QacConversationThreadWithMessages.js +52 -0
  40. package/dist/models/QacConversationTokenUsage.d.ts +44 -0
  41. package/dist/models/QacConversationTokenUsage.js +52 -0
  42. package/dist/models/SuiteTree.d.ts +0 -6
  43. package/dist/models/SuiteTree.js +0 -4
  44. package/dist/models/TrainingArtifactPayload.d.ts +4 -4
  45. package/dist/models/TrainingArtifactPayload.js +4 -4
  46. package/dist/models/TrainingSession.d.ts +1 -0
  47. package/dist/models/TrainingSession.js +2 -1
  48. package/dist/models/index.d.ts +8 -0
  49. package/dist/models/index.js +8 -0
  50. package/docs/QacConversationFeedback.md +48 -0
  51. package/docs/QacConversationFeedbackPayload.md +38 -0
  52. package/docs/QacConversationMessage.md +58 -0
  53. package/docs/QacConversationMessagePayload.md +46 -0
  54. package/docs/QacConversationThread.md +62 -0
  55. package/docs/QacConversationThreadPayload.md +46 -0
  56. package/docs/QacConversationThreadWithMessages.md +36 -0
  57. package/docs/QacConversationTokenUsage.md +38 -0
  58. package/docs/SuiteTree.md +0 -2
  59. package/docs/TrainingArtifactPayload.md +2 -2
  60. package/package.json +1 -1
  61. package/src/models/QacConversationFeedback.ts +155 -0
  62. package/src/models/QacConversationFeedbackPayload.ts +104 -0
  63. package/src/models/QacConversationMessage.ts +222 -0
  64. package/src/models/QacConversationMessagePayload.ts +136 -0
  65. package/src/models/QacConversationThread.ts +203 -0
  66. package/src/models/QacConversationThreadPayload.ts +127 -0
  67. package/src/models/QacConversationThreadWithMessages.ts +88 -0
  68. package/src/models/QacConversationTokenUsage.ts +81 -0
  69. package/src/models/SuiteTree.ts +0 -9
  70. package/src/models/TrainingArtifactPayload.ts +8 -8
  71. package/src/models/TrainingSession.ts +2 -1
  72. package/src/models/index.ts +8 -0
@@ -0,0 +1,222 @@
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 { UserMinified } from './UserMinified';
17
+ import {
18
+ UserMinifiedFromJSON,
19
+ UserMinifiedFromJSONTyped,
20
+ UserMinifiedToJSON,
21
+ UserMinifiedToJSONTyped,
22
+ } from './UserMinified';
23
+ import type { QacConversationTokenUsage } from './QacConversationTokenUsage';
24
+ import {
25
+ QacConversationTokenUsageFromJSON,
26
+ QacConversationTokenUsageFromJSONTyped,
27
+ QacConversationTokenUsageToJSON,
28
+ QacConversationTokenUsageToJSONTyped,
29
+ } from './QacConversationTokenUsage';
30
+ import type { Upload } from './Upload';
31
+ import {
32
+ UploadFromJSON,
33
+ UploadFromJSONTyped,
34
+ UploadToJSON,
35
+ UploadToJSONTyped,
36
+ } from './Upload';
37
+
38
+ /**
39
+ *
40
+ * @export
41
+ * @interface QacConversationMessage
42
+ */
43
+ export interface QacConversationMessage {
44
+ /**
45
+ *
46
+ * @type {number}
47
+ * @memberof QacConversationMessage
48
+ */
49
+ id: number;
50
+ /**
51
+ *
52
+ * @type {number}
53
+ * @memberof QacConversationMessage
54
+ */
55
+ thread: number;
56
+ /**
57
+ *
58
+ * @type {string}
59
+ * @memberof QacConversationMessage
60
+ */
61
+ authorType: QacConversationMessageAuthorTypeEnum;
62
+ /**
63
+ *
64
+ * @type {UserMinified}
65
+ * @memberof QacConversationMessage
66
+ */
67
+ author?: UserMinified;
68
+ /**
69
+ *
70
+ * @type {string}
71
+ * @memberof QacConversationMessage
72
+ */
73
+ role?: QacConversationMessageRoleEnum;
74
+ /**
75
+ *
76
+ * @type {string}
77
+ * @memberof QacConversationMessage
78
+ */
79
+ content: string;
80
+ /**
81
+ *
82
+ * @type {string}
83
+ * @memberof QacConversationMessage
84
+ */
85
+ contentHtml?: string;
86
+ /**
87
+ *
88
+ * @type {Array<Upload>}
89
+ * @memberof QacConversationMessage
90
+ */
91
+ attachments?: Array<Upload>;
92
+ /**
93
+ *
94
+ * @type {string}
95
+ * @memberof QacConversationMessage
96
+ */
97
+ status: QacConversationMessageStatusEnum;
98
+ /**
99
+ *
100
+ * @type {string}
101
+ * @memberof QacConversationMessage
102
+ */
103
+ errorReason?: string;
104
+ /**
105
+ *
106
+ * @type {QacConversationTokenUsage}
107
+ * @memberof QacConversationMessage
108
+ */
109
+ tokenUsage?: QacConversationTokenUsage;
110
+ /**
111
+ * Time when the activity was performed
112
+ * @type {string}
113
+ * @memberof QacConversationMessage
114
+ */
115
+ createdAt: string;
116
+ /**
117
+ * Time when the activity was performed
118
+ * @type {string}
119
+ * @memberof QacConversationMessage
120
+ */
121
+ updatedAt?: string;
122
+ }
123
+
124
+
125
+ /**
126
+ * @export
127
+ */
128
+ export const QacConversationMessageAuthorTypeEnum = {
129
+ User: 'user',
130
+ Copilot: 'copilot',
131
+ System: 'system'
132
+ } as const;
133
+ export type QacConversationMessageAuthorTypeEnum = typeof QacConversationMessageAuthorTypeEnum[keyof typeof QacConversationMessageAuthorTypeEnum];
134
+
135
+ /**
136
+ * @export
137
+ */
138
+ export const QacConversationMessageRoleEnum = {
139
+ User: 'user',
140
+ Assistant: 'assistant',
141
+ System: 'system'
142
+ } as const;
143
+ export type QacConversationMessageRoleEnum = typeof QacConversationMessageRoleEnum[keyof typeof QacConversationMessageRoleEnum];
144
+
145
+ /**
146
+ * @export
147
+ */
148
+ export const QacConversationMessageStatusEnum = {
149
+ Queued: 'queued',
150
+ InProgress: 'in_progress',
151
+ Completed: 'completed',
152
+ Error: 'error'
153
+ } as const;
154
+ export type QacConversationMessageStatusEnum = typeof QacConversationMessageStatusEnum[keyof typeof QacConversationMessageStatusEnum];
155
+
156
+
157
+ /**
158
+ * Check if a given object implements the QacConversationMessage interface.
159
+ */
160
+ export function instanceOfQacConversationMessage(value: object): value is QacConversationMessage {
161
+ if (!('id' in value) || value['id'] === undefined) return false;
162
+ if (!('thread' in value) || value['thread'] === undefined) return false;
163
+ if (!('authorType' in value) || value['authorType'] === undefined) return false;
164
+ if (!('content' in value) || value['content'] === undefined) return false;
165
+ if (!('status' in value) || value['status'] === undefined) return false;
166
+ if (!('createdAt' in value) || value['createdAt'] === undefined) return false;
167
+ return true;
168
+ }
169
+
170
+ export function QacConversationMessageFromJSON(json: any): QacConversationMessage {
171
+ return QacConversationMessageFromJSONTyped(json, false);
172
+ }
173
+
174
+ export function QacConversationMessageFromJSONTyped(json: any, ignoreDiscriminator: boolean): QacConversationMessage {
175
+ if (json == null) {
176
+ return json;
177
+ }
178
+ return {
179
+
180
+ 'id': json['id'],
181
+ 'thread': json['thread'],
182
+ 'authorType': json['author_type'],
183
+ 'author': json['author'] == null ? undefined : UserMinifiedFromJSON(json['author']),
184
+ 'role': json['role'] == null ? undefined : json['role'],
185
+ 'content': json['content'],
186
+ 'contentHtml': json['content_html'] == null ? undefined : json['content_html'],
187
+ 'attachments': json['attachments'] == null ? undefined : ((json['attachments'] as Array<any>).map(UploadFromJSON)),
188
+ 'status': json['status'],
189
+ 'errorReason': json['error_reason'] == null ? undefined : json['error_reason'],
190
+ 'tokenUsage': json['token_usage'] == null ? undefined : QacConversationTokenUsageFromJSON(json['token_usage']),
191
+ 'createdAt': json['created_at'],
192
+ 'updatedAt': json['updated_at'] == null ? undefined : json['updated_at'],
193
+ };
194
+ }
195
+
196
+ export function QacConversationMessageToJSON(json: any): QacConversationMessage {
197
+ return QacConversationMessageToJSONTyped(json, false);
198
+ }
199
+
200
+ export function QacConversationMessageToJSONTyped(value?: QacConversationMessage | null, ignoreDiscriminator: boolean = false): any {
201
+ if (value == null) {
202
+ return value;
203
+ }
204
+
205
+ return {
206
+
207
+ 'id': value['id'],
208
+ 'thread': value['thread'],
209
+ 'author_type': value['authorType'],
210
+ 'author': UserMinifiedToJSON(value['author']),
211
+ 'role': value['role'],
212
+ 'content': value['content'],
213
+ 'content_html': value['contentHtml'],
214
+ 'attachments': value['attachments'] == null ? undefined : ((value['attachments'] as Array<any>).map(UploadToJSON)),
215
+ 'status': value['status'],
216
+ 'error_reason': value['errorReason'],
217
+ 'token_usage': QacConversationTokenUsageToJSON(value['tokenUsage']),
218
+ 'created_at': value['createdAt'],
219
+ 'updated_at': value['updatedAt'],
220
+ };
221
+ }
222
+
@@ -0,0 +1,136 @@
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
+ /**
17
+ *
18
+ * @export
19
+ * @interface QacConversationMessagePayload
20
+ */
21
+ export interface QacConversationMessagePayload {
22
+ /**
23
+ *
24
+ * @type {number}
25
+ * @memberof QacConversationMessagePayload
26
+ */
27
+ thread?: number;
28
+ /**
29
+ *
30
+ * @type {string}
31
+ * @memberof QacConversationMessagePayload
32
+ */
33
+ authorType?: QacConversationMessagePayloadAuthorTypeEnum;
34
+ /**
35
+ *
36
+ * @type {string}
37
+ * @memberof QacConversationMessagePayload
38
+ */
39
+ role?: QacConversationMessagePayloadRoleEnum;
40
+ /**
41
+ *
42
+ * @type {string}
43
+ * @memberof QacConversationMessagePayload
44
+ */
45
+ content: string;
46
+ /**
47
+ *
48
+ * @type {string}
49
+ * @memberof QacConversationMessagePayload
50
+ */
51
+ contentHtml?: string;
52
+ /**
53
+ * Upload IDs returned by upload path
54
+ * @type {Array<number>}
55
+ * @memberof QacConversationMessagePayload
56
+ */
57
+ attachments?: Array<number>;
58
+ /**
59
+ * Optional metadata such as browser, environment or locale
60
+ * @type {{ [key: string]: any; }}
61
+ * @memberof QacConversationMessagePayload
62
+ */
63
+ metadata?: { [key: string]: any; };
64
+ }
65
+
66
+
67
+ /**
68
+ * @export
69
+ */
70
+ export const QacConversationMessagePayloadAuthorTypeEnum = {
71
+ User: 'user',
72
+ Copilot: 'copilot',
73
+ System: 'system'
74
+ } as const;
75
+ export type QacConversationMessagePayloadAuthorTypeEnum = typeof QacConversationMessagePayloadAuthorTypeEnum[keyof typeof QacConversationMessagePayloadAuthorTypeEnum];
76
+
77
+ /**
78
+ * @export
79
+ */
80
+ export const QacConversationMessagePayloadRoleEnum = {
81
+ User: 'user',
82
+ Assistant: 'assistant',
83
+ System: 'system'
84
+ } as const;
85
+ export type QacConversationMessagePayloadRoleEnum = typeof QacConversationMessagePayloadRoleEnum[keyof typeof QacConversationMessagePayloadRoleEnum];
86
+
87
+
88
+ /**
89
+ * Check if a given object implements the QacConversationMessagePayload interface.
90
+ */
91
+ export function instanceOfQacConversationMessagePayload(value: object): value is QacConversationMessagePayload {
92
+ if (!('content' in value) || value['content'] === undefined) return false;
93
+ return true;
94
+ }
95
+
96
+ export function QacConversationMessagePayloadFromJSON(json: any): QacConversationMessagePayload {
97
+ return QacConversationMessagePayloadFromJSONTyped(json, false);
98
+ }
99
+
100
+ export function QacConversationMessagePayloadFromJSONTyped(json: any, ignoreDiscriminator: boolean): QacConversationMessagePayload {
101
+ if (json == null) {
102
+ return json;
103
+ }
104
+ return {
105
+
106
+ 'thread': json['thread'] == null ? undefined : json['thread'],
107
+ 'authorType': json['author_type'] == null ? undefined : json['author_type'],
108
+ 'role': json['role'] == null ? undefined : json['role'],
109
+ 'content': json['content'],
110
+ 'contentHtml': json['content_html'] == null ? undefined : json['content_html'],
111
+ 'attachments': json['attachments'] == null ? undefined : json['attachments'],
112
+ 'metadata': json['metadata'] == null ? undefined : json['metadata'],
113
+ };
114
+ }
115
+
116
+ export function QacConversationMessagePayloadToJSON(json: any): QacConversationMessagePayload {
117
+ return QacConversationMessagePayloadToJSONTyped(json, false);
118
+ }
119
+
120
+ export function QacConversationMessagePayloadToJSONTyped(value?: QacConversationMessagePayload | null, ignoreDiscriminator: boolean = false): any {
121
+ if (value == null) {
122
+ return value;
123
+ }
124
+
125
+ return {
126
+
127
+ 'thread': value['thread'],
128
+ 'author_type': value['authorType'],
129
+ 'role': value['role'],
130
+ 'content': value['content'],
131
+ 'content_html': value['contentHtml'],
132
+ 'attachments': value['attachments'],
133
+ 'metadata': value['metadata'],
134
+ };
135
+ }
136
+
@@ -0,0 +1,203 @@
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 { UserMinified } from './UserMinified';
17
+ import {
18
+ UserMinifiedFromJSON,
19
+ UserMinifiedFromJSONTyped,
20
+ UserMinifiedToJSON,
21
+ UserMinifiedToJSONTyped,
22
+ } from './UserMinified';
23
+
24
+ /**
25
+ *
26
+ * @export
27
+ * @interface QacConversationThread
28
+ */
29
+ export interface QacConversationThread {
30
+ /**
31
+ *
32
+ * @type {number}
33
+ * @memberof QacConversationThread
34
+ */
35
+ id: number;
36
+ /**
37
+ *
38
+ * @type {number}
39
+ * @memberof QacConversationThread
40
+ */
41
+ project?: number;
42
+ /**
43
+ *
44
+ * @type {number}
45
+ * @memberof QacConversationThread
46
+ */
47
+ company: number;
48
+ /**
49
+ *
50
+ * @type {UserMinified}
51
+ * @memberof QacConversationThread
52
+ */
53
+ createdBy?: UserMinified;
54
+ /**
55
+ *
56
+ * @type {string}
57
+ * @memberof QacConversationThread
58
+ */
59
+ title?: string;
60
+ /**
61
+ *
62
+ * @type {string}
63
+ * @memberof QacConversationThread
64
+ */
65
+ status: QacConversationThreadStatusEnum;
66
+ /**
67
+ * Origin URL where the conversation was started
68
+ * @type {string}
69
+ * @memberof QacConversationThread
70
+ */
71
+ sourceUrl: string;
72
+ /**
73
+ * Flexible JSON for linking related entities (e.g., test_case, run, requirement, suite)
74
+ * @type {{ [key: string]: any; }}
75
+ * @memberof QacConversationThread
76
+ */
77
+ contextRefs?: { [key: string]: any; };
78
+ /**
79
+ *
80
+ * @type {number}
81
+ * @memberof QacConversationThread
82
+ */
83
+ messagesCount: number;
84
+ /**
85
+ * Time when the activity was performed
86
+ * @type {string}
87
+ * @memberof QacConversationThread
88
+ */
89
+ lastMessageAt?: string;
90
+ /**
91
+ *
92
+ * @type {string}
93
+ * @memberof QacConversationThread
94
+ */
95
+ lastMessagePreview?: string;
96
+ /**
97
+ *
98
+ * @type {boolean}
99
+ * @memberof QacConversationThread
100
+ */
101
+ pinned?: boolean;
102
+ /**
103
+ * Optional metadata such as browser, environment or locale
104
+ * @type {{ [key: string]: any; }}
105
+ * @memberof QacConversationThread
106
+ */
107
+ metadata?: { [key: string]: any; };
108
+ /**
109
+ * Time when the activity was performed
110
+ * @type {string}
111
+ * @memberof QacConversationThread
112
+ */
113
+ createdAt: string;
114
+ /**
115
+ * Time when the activity was performed
116
+ * @type {string}
117
+ * @memberof QacConversationThread
118
+ */
119
+ updatedAt?: string;
120
+ }
121
+
122
+
123
+ /**
124
+ * @export
125
+ */
126
+ export const QacConversationThreadStatusEnum = {
127
+ Open: 'open',
128
+ Closed: 'closed',
129
+ Archived: 'archived'
130
+ } as const;
131
+ export type QacConversationThreadStatusEnum = typeof QacConversationThreadStatusEnum[keyof typeof QacConversationThreadStatusEnum];
132
+
133
+
134
+ /**
135
+ * Check if a given object implements the QacConversationThread interface.
136
+ */
137
+ export function instanceOfQacConversationThread(value: object): value is QacConversationThread {
138
+ if (!('id' in value) || value['id'] === undefined) return false;
139
+ if (!('company' in value) || value['company'] === undefined) return false;
140
+ if (!('status' in value) || value['status'] === undefined) return false;
141
+ if (!('sourceUrl' in value) || value['sourceUrl'] === undefined) return false;
142
+ if (!('messagesCount' in value) || value['messagesCount'] === undefined) return false;
143
+ if (!('createdAt' in value) || value['createdAt'] === undefined) return false;
144
+ return true;
145
+ }
146
+
147
+ export function QacConversationThreadFromJSON(json: any): QacConversationThread {
148
+ return QacConversationThreadFromJSONTyped(json, false);
149
+ }
150
+
151
+ export function QacConversationThreadFromJSONTyped(json: any, ignoreDiscriminator: boolean): QacConversationThread {
152
+ if (json == null) {
153
+ return json;
154
+ }
155
+ return {
156
+
157
+ 'id': json['id'],
158
+ 'project': json['project'] == null ? undefined : json['project'],
159
+ 'company': json['company'],
160
+ 'createdBy': json['created_by'] == null ? undefined : UserMinifiedFromJSON(json['created_by']),
161
+ 'title': json['title'] == null ? undefined : json['title'],
162
+ 'status': json['status'],
163
+ 'sourceUrl': json['source_url'],
164
+ 'contextRefs': json['context_refs'] == null ? undefined : json['context_refs'],
165
+ 'messagesCount': json['messages_count'],
166
+ 'lastMessageAt': json['last_message_at'] == null ? undefined : json['last_message_at'],
167
+ 'lastMessagePreview': json['last_message_preview'] == null ? undefined : json['last_message_preview'],
168
+ 'pinned': json['pinned'] == null ? undefined : json['pinned'],
169
+ 'metadata': json['metadata'] == null ? undefined : json['metadata'],
170
+ 'createdAt': json['created_at'],
171
+ 'updatedAt': json['updated_at'] == null ? undefined : json['updated_at'],
172
+ };
173
+ }
174
+
175
+ export function QacConversationThreadToJSON(json: any): QacConversationThread {
176
+ return QacConversationThreadToJSONTyped(json, false);
177
+ }
178
+
179
+ export function QacConversationThreadToJSONTyped(value?: QacConversationThread | null, ignoreDiscriminator: boolean = false): any {
180
+ if (value == null) {
181
+ return value;
182
+ }
183
+
184
+ return {
185
+
186
+ 'id': value['id'],
187
+ 'project': value['project'],
188
+ 'company': value['company'],
189
+ 'created_by': UserMinifiedToJSON(value['createdBy']),
190
+ 'title': value['title'],
191
+ 'status': value['status'],
192
+ 'source_url': value['sourceUrl'],
193
+ 'context_refs': value['contextRefs'],
194
+ 'messages_count': value['messagesCount'],
195
+ 'last_message_at': value['lastMessageAt'],
196
+ 'last_message_preview': value['lastMessagePreview'],
197
+ 'pinned': value['pinned'],
198
+ 'metadata': value['metadata'],
199
+ 'created_at': value['createdAt'],
200
+ 'updated_at': value['updatedAt'],
201
+ };
202
+ }
203
+
@@ -0,0 +1,127 @@
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
+ /**
17
+ *
18
+ * @export
19
+ * @interface QacConversationThreadPayload
20
+ */
21
+ export interface QacConversationThreadPayload {
22
+ /**
23
+ * Project ID for the thread
24
+ * @type {number}
25
+ * @memberof QacConversationThreadPayload
26
+ */
27
+ project?: number;
28
+ /**
29
+ * Company ID for the thread
30
+ * @type {number}
31
+ * @memberof QacConversationThreadPayload
32
+ */
33
+ company: number;
34
+ /**
35
+ *
36
+ * @type {string}
37
+ * @memberof QacConversationThreadPayload
38
+ */
39
+ title?: string;
40
+ /**
41
+ *
42
+ * @type {string}
43
+ * @memberof QacConversationThreadPayload
44
+ */
45
+ status?: QacConversationThreadPayloadStatusEnum;
46
+ /**
47
+ * Origin URL where the conversation was started
48
+ * @type {string}
49
+ * @memberof QacConversationThreadPayload
50
+ */
51
+ sourceUrl: string;
52
+ /**
53
+ * Flexible JSON for linking related entities (e.g., test_case, run, requirement, suite)
54
+ * @type {{ [key: string]: any; }}
55
+ * @memberof QacConversationThreadPayload
56
+ */
57
+ contextRefs?: { [key: string]: any; };
58
+ /**
59
+ * Optional metadata such as browser, environment or locale
60
+ * @type {{ [key: string]: any; }}
61
+ * @memberof QacConversationThreadPayload
62
+ */
63
+ metadata?: { [key: string]: any; };
64
+ }
65
+
66
+
67
+ /**
68
+ * @export
69
+ */
70
+ export const QacConversationThreadPayloadStatusEnum = {
71
+ Open: 'open',
72
+ Closed: 'closed',
73
+ Archived: 'archived'
74
+ } as const;
75
+ export type QacConversationThreadPayloadStatusEnum = typeof QacConversationThreadPayloadStatusEnum[keyof typeof QacConversationThreadPayloadStatusEnum];
76
+
77
+
78
+ /**
79
+ * Check if a given object implements the QacConversationThreadPayload interface.
80
+ */
81
+ export function instanceOfQacConversationThreadPayload(value: object): value is QacConversationThreadPayload {
82
+ if (!('company' in value) || value['company'] === undefined) return false;
83
+ if (!('sourceUrl' in value) || value['sourceUrl'] === undefined) return false;
84
+ return true;
85
+ }
86
+
87
+ export function QacConversationThreadPayloadFromJSON(json: any): QacConversationThreadPayload {
88
+ return QacConversationThreadPayloadFromJSONTyped(json, false);
89
+ }
90
+
91
+ export function QacConversationThreadPayloadFromJSONTyped(json: any, ignoreDiscriminator: boolean): QacConversationThreadPayload {
92
+ if (json == null) {
93
+ return json;
94
+ }
95
+ return {
96
+
97
+ 'project': json['project'] == null ? undefined : json['project'],
98
+ 'company': json['company'],
99
+ 'title': json['title'] == null ? undefined : json['title'],
100
+ 'status': json['status'] == null ? undefined : json['status'],
101
+ 'sourceUrl': json['source_url'],
102
+ 'contextRefs': json['context_refs'] == null ? undefined : json['context_refs'],
103
+ 'metadata': json['metadata'] == null ? undefined : json['metadata'],
104
+ };
105
+ }
106
+
107
+ export function QacConversationThreadPayloadToJSON(json: any): QacConversationThreadPayload {
108
+ return QacConversationThreadPayloadToJSONTyped(json, false);
109
+ }
110
+
111
+ export function QacConversationThreadPayloadToJSONTyped(value?: QacConversationThreadPayload | null, ignoreDiscriminator: boolean = false): any {
112
+ if (value == null) {
113
+ return value;
114
+ }
115
+
116
+ return {
117
+
118
+ 'project': value['project'],
119
+ 'company': value['company'],
120
+ 'title': value['title'],
121
+ 'status': value['status'],
122
+ 'source_url': value['sourceUrl'],
123
+ 'context_refs': value['contextRefs'],
124
+ 'metadata': value['metadata'],
125
+ };
126
+ }
127
+