@makeplane/plane-node-sdk 0.1.2 → 0.1.4

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.
@@ -10,16 +10,15 @@
10
10
  */
11
11
  import type { IssueSearchItem } from './IssueSearchItem';
12
12
  /**
13
- * Serializer for work item search result data formatting.
13
+ * Search results for work items.
14
14
  *
15
- * Provides standardized search result structure including work item identifiers,
16
- * project context, and workspace information for search API responses.
15
+ * Provides list of issues with their identifiers, names, and project context.
17
16
  * @export
18
17
  * @interface IssueSearch
19
18
  */
20
19
  export interface IssueSearch {
21
20
  /**
22
- * Array of search result issues
21
+ *
23
22
  * @type {Array<IssueSearchItem>}
24
23
  * @memberof IssueSearch
25
24
  */
@@ -17,6 +17,7 @@ export * from './IssueAttachment';
17
17
  export * from './IssueAttachmentUploadRequest';
18
18
  export * from './IssueComment';
19
19
  export * from './IssueCommentCreateRequest';
20
+ export * from './IssueDetail';
20
21
  export * from './IssueExpand';
21
22
  export * from './IssueForIntakeRequest';
22
23
  export * from './IssueLink';
@@ -26,6 +27,7 @@ export * from './IssuePropertyAPIRequest';
26
27
  export * from './IssuePropertyOptionAPI';
27
28
  export * from './IssuePropertyOptionAPIRequest';
28
29
  export * from './IssuePropertyValueAPI';
30
+ export * from './IssuePropertyValueAPIDetail';
29
31
  export * from './IssuePropertyValueAPIRequest';
30
32
  export * from './IssueRequest';
31
33
  export * from './IssueSearch';
@@ -36,7 +38,6 @@ export * from './IssueWorkLogAPI';
36
38
  export * from './IssueWorkLogAPIRequest';
37
39
  export * from './Label';
38
40
  export * from './LabelCreateUpdateRequest';
39
- export * from './LabelLite';
40
41
  export * from './Module';
41
42
  export * from './ModuleCreateRequest';
42
43
  export * from './ModuleIssue';
@@ -34,6 +34,7 @@ __exportStar(require("./IssueAttachment"), exports);
34
34
  __exportStar(require("./IssueAttachmentUploadRequest"), exports);
35
35
  __exportStar(require("./IssueComment"), exports);
36
36
  __exportStar(require("./IssueCommentCreateRequest"), exports);
37
+ __exportStar(require("./IssueDetail"), exports);
37
38
  __exportStar(require("./IssueExpand"), exports);
38
39
  __exportStar(require("./IssueForIntakeRequest"), exports);
39
40
  __exportStar(require("./IssueLink"), exports);
@@ -43,6 +44,7 @@ __exportStar(require("./IssuePropertyAPIRequest"), exports);
43
44
  __exportStar(require("./IssuePropertyOptionAPI"), exports);
44
45
  __exportStar(require("./IssuePropertyOptionAPIRequest"), exports);
45
46
  __exportStar(require("./IssuePropertyValueAPI"), exports);
47
+ __exportStar(require("./IssuePropertyValueAPIDetail"), exports);
46
48
  __exportStar(require("./IssuePropertyValueAPIRequest"), exports);
47
49
  __exportStar(require("./IssueRequest"), exports);
48
50
  __exportStar(require("./IssueSearch"), exports);
@@ -53,7 +55,6 @@ __exportStar(require("./IssueWorkLogAPI"), exports);
53
55
  __exportStar(require("./IssueWorkLogAPIRequest"), exports);
54
56
  __exportStar(require("./Label"), exports);
55
57
  __exportStar(require("./LabelCreateUpdateRequest"), exports);
56
- __exportStar(require("./LabelLite"), exports);
57
58
  __exportStar(require("./Module"), exports);
58
59
  __exportStar(require("./ModuleCreateRequest"), exports);
59
60
  __exportStar(require("./ModuleIssue"), exports);
@@ -8,7 +8,7 @@ export declare class OAuthApi extends runtime.BaseAPI {
8
8
  private clientSecret;
9
9
  private redirectUri;
10
10
  private baseUrl;
11
- constructor(configuration: runtime.Configuration, oauthConfig: {
11
+ constructor(configuration: runtime.Configuration, oauthConfig?: {
12
12
  clientId: string;
13
13
  clientSecret: string;
14
14
  redirectUri: string;
package/dist/oauth/api.js CHANGED
@@ -60,10 +60,12 @@ var OAuthApi = /** @class */ (function (_super) {
60
60
  __extends(OAuthApi, _super);
61
61
  function OAuthApi(configuration, oauthConfig) {
62
62
  var _this = _super.call(this, configuration) || this;
63
- _this.clientId = oauthConfig.clientId;
64
- _this.clientSecret = oauthConfig.clientSecret;
65
- _this.redirectUri = oauthConfig.redirectUri;
66
- _this.baseUrl = configuration.basePath || "https://api.plane.so";
63
+ if (oauthConfig) {
64
+ _this.clientId = oauthConfig.clientId;
65
+ _this.clientSecret = oauthConfig.clientSecret;
66
+ _this.redirectUri = oauthConfig.redirectUri;
67
+ _this.baseUrl = configuration.basePath || "https://api.plane.so";
68
+ }
67
69
  return _this;
68
70
  }
69
71
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@makeplane/plane-node-sdk",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "description": "Node SDK for Plane",
5
5
  "author": "Plane <support@plane.so>",
6
6
  "repository": {
@@ -19,6 +19,7 @@ import type {
19
19
  IssuePropertyOptionAPI,
20
20
  IssuePropertyOptionAPIRequest,
21
21
  IssuePropertyValueAPI,
22
+ IssuePropertyValueAPIDetail,
22
23
  IssuePropertyValueAPIRequest,
23
24
  PatchedIssuePropertyAPIRequest,
24
25
  PatchedIssuePropertyOptionAPIRequest,
@@ -34,6 +35,8 @@ import {
34
35
  IssuePropertyOptionAPIRequestToJSON,
35
36
  IssuePropertyValueAPIFromJSON,
36
37
  IssuePropertyValueAPIToJSON,
38
+ IssuePropertyValueAPIDetailFromJSON,
39
+ IssuePropertyValueAPIDetailToJSON,
37
40
  IssuePropertyValueAPIRequestFromJSON,
38
41
  IssuePropertyValueAPIRequestToJSON,
39
42
  PatchedIssuePropertyAPIRequestFromJSON,
@@ -500,7 +503,7 @@ export class WorkItemPropertiesApi extends runtime.BaseAPI {
500
503
  * List issue properties
501
504
  * List issue properties
502
505
  */
503
- async listIssuePropertiesRaw(requestParameters: ListIssuePropertiesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<IssuePropertyAPI>> {
506
+ async listIssuePropertiesRaw(requestParameters: ListIssuePropertiesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<IssuePropertyAPI>>> {
504
507
  if (requestParameters['projectId'] == null) {
505
508
  throw new runtime.RequiredError(
506
509
  'projectId',
@@ -547,14 +550,14 @@ export class WorkItemPropertiesApi extends runtime.BaseAPI {
547
550
  query: queryParameters,
548
551
  }, initOverrides);
549
552
 
550
- return new runtime.JSONApiResponse(response, (jsonValue) => IssuePropertyAPIFromJSON(jsonValue));
553
+ return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(IssuePropertyAPIFromJSON));
551
554
  }
552
555
 
553
556
  /**
554
557
  * List issue properties
555
558
  * List issue properties
556
559
  */
557
- async listIssueProperties(requestParameters: ListIssuePropertiesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<IssuePropertyAPI> {
560
+ async listIssueProperties(requestParameters: ListIssuePropertiesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<IssuePropertyAPI>> {
558
561
  const response = await this.listIssuePropertiesRaw(requestParameters, initOverrides);
559
562
  return await response.value();
560
563
  }
@@ -563,7 +566,7 @@ export class WorkItemPropertiesApi extends runtime.BaseAPI {
563
566
  * List issue property options
564
567
  * List issue property options
565
568
  */
566
- async listIssuePropertyOptionsRaw(requestParameters: ListIssuePropertyOptionsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<IssuePropertyOptionAPI>> {
569
+ async listIssuePropertyOptionsRaw(requestParameters: ListIssuePropertyOptionsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<IssuePropertyOptionAPI>>> {
567
570
  if (requestParameters['projectId'] == null) {
568
571
  throw new runtime.RequiredError(
569
572
  'projectId',
@@ -610,14 +613,14 @@ export class WorkItemPropertiesApi extends runtime.BaseAPI {
610
613
  query: queryParameters,
611
614
  }, initOverrides);
612
615
 
613
- return new runtime.JSONApiResponse(response, (jsonValue) => IssuePropertyOptionAPIFromJSON(jsonValue));
616
+ return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(IssuePropertyOptionAPIFromJSON));
614
617
  }
615
618
 
616
619
  /**
617
620
  * List issue property options
618
621
  * List issue property options
619
622
  */
620
- async listIssuePropertyOptions(requestParameters: ListIssuePropertyOptionsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<IssuePropertyOptionAPI> {
623
+ async listIssuePropertyOptions(requestParameters: ListIssuePropertyOptionsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<IssuePropertyOptionAPI>> {
621
624
  const response = await this.listIssuePropertyOptionsRaw(requestParameters, initOverrides);
622
625
  return await response.value();
623
626
  }
@@ -626,7 +629,7 @@ export class WorkItemPropertiesApi extends runtime.BaseAPI {
626
629
  * List issue property values
627
630
  * List issue property values
628
631
  */
629
- async listIssuePropertyValuesRaw(requestParameters: ListIssuePropertyValuesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<IssuePropertyValueAPI>> {
632
+ async listIssuePropertyValuesRaw(requestParameters: ListIssuePropertyValuesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<IssuePropertyValueAPIDetail>>> {
630
633
  if (requestParameters['issueId'] == null) {
631
634
  throw new runtime.RequiredError(
632
635
  'issueId',
@@ -680,14 +683,14 @@ export class WorkItemPropertiesApi extends runtime.BaseAPI {
680
683
  query: queryParameters,
681
684
  }, initOverrides);
682
685
 
683
- return new runtime.JSONApiResponse(response, (jsonValue) => IssuePropertyValueAPIFromJSON(jsonValue));
686
+ return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(IssuePropertyValueAPIDetailFromJSON));
684
687
  }
685
688
 
686
689
  /**
687
690
  * List issue property values
688
691
  * List issue property values
689
692
  */
690
- async listIssuePropertyValues(requestParameters: ListIssuePropertyValuesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<IssuePropertyValueAPI> {
693
+ async listIssuePropertyValues(requestParameters: ListIssuePropertyValuesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<IssuePropertyValueAPIDetail>> {
691
694
  const response = await this.listIssuePropertyValuesRaw(requestParameters, initOverrides);
692
695
  return await response.value();
693
696
  }
@@ -15,6 +15,7 @@
15
15
  import * as runtime from '../runtime';
16
16
  import type {
17
17
  Issue,
18
+ IssueDetail,
18
19
  IssueRequest,
19
20
  IssueSearch,
20
21
  PaginatedWorkItemResponse,
@@ -23,6 +24,8 @@ import type {
23
24
  import {
24
25
  IssueFromJSON,
25
26
  IssueToJSON,
27
+ IssueDetailFromJSON,
28
+ IssueDetailToJSON,
26
29
  IssueRequestFromJSON,
27
30
  IssueRequestToJSON,
28
31
  IssueSearchFromJSON,
@@ -373,7 +376,7 @@ export class WorkItemsApi extends runtime.BaseAPI {
373
376
  * Retrieve details of a specific work item.
374
377
  * Retrieve work item
375
378
  */
376
- async retrieveWorkItemRaw(requestParameters: RetrieveWorkItemRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Issue>> {
379
+ async retrieveWorkItemRaw(requestParameters: RetrieveWorkItemRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<IssueDetail>> {
377
380
  if (requestParameters['pk'] == null) {
378
381
  throw new runtime.RequiredError(
379
382
  'pk',
@@ -440,14 +443,14 @@ export class WorkItemsApi extends runtime.BaseAPI {
440
443
  query: queryParameters,
441
444
  }, initOverrides);
442
445
 
443
- return new runtime.JSONApiResponse(response, (jsonValue) => IssueFromJSON(jsonValue));
446
+ return new runtime.JSONApiResponse(response, (jsonValue) => IssueDetailFromJSON(jsonValue));
444
447
  }
445
448
 
446
449
  /**
447
450
  * Retrieve details of a specific work item.
448
451
  * Retrieve work item
449
452
  */
450
- async retrieveWorkItem(requestParameters: RetrieveWorkItemRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Issue> {
453
+ async retrieveWorkItem(requestParameters: RetrieveWorkItemRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<IssueDetail> {
451
454
  const response = await this.retrieveWorkItemRaw(requestParameters, initOverrides);
452
455
  return await response.value();
453
456
  }
@@ -0,0 +1,319 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * The Plane REST API
5
+ * The Plane REST API Visit our quick start guide and full API documentation at [developers.plane.so](https://developers.plane.so/api-reference/introduction).
6
+ *
7
+ * The version of the API Spec: 0.0.1
8
+ * Contact: support@plane.so
9
+ *
10
+ * NOTE: This class is auto generated.
11
+ * Do not edit the class manually.
12
+ */
13
+
14
+ import { mapValues } from '../runtime';
15
+ import type { PriorityEnum } from './PriorityEnum';
16
+ import {
17
+ PriorityEnumFromJSON,
18
+ PriorityEnumFromJSONTyped,
19
+ PriorityEnumToJSON,
20
+ PriorityEnumToJSONTyped,
21
+ } from './PriorityEnum';
22
+ import type { Label } from './Label';
23
+ import {
24
+ LabelFromJSON,
25
+ LabelFromJSONTyped,
26
+ LabelToJSON,
27
+ LabelToJSONTyped,
28
+ } from './Label';
29
+ import type { UserLite } from './UserLite';
30
+ import {
31
+ UserLiteFromJSON,
32
+ UserLiteFromJSONTyped,
33
+ UserLiteToJSON,
34
+ UserLiteToJSONTyped,
35
+ } from './UserLite';
36
+
37
+ /**
38
+ * Comprehensive work item serializer with full relationship management.
39
+ *
40
+ * Handles complete work item lifecycle including assignees, labels, validation,
41
+ * and related model updates. Supports dynamic field expansion and HTML content processing.
42
+ * @export
43
+ * @interface IssueDetail
44
+ */
45
+ export interface IssueDetail {
46
+ /**
47
+ *
48
+ * @type {string}
49
+ * @memberof IssueDetail
50
+ */
51
+ readonly id?: string;
52
+ /**
53
+ *
54
+ * @type {Array<UserLite>}
55
+ * @memberof IssueDetail
56
+ */
57
+ assignees: Array<UserLite>;
58
+ /**
59
+ *
60
+ * @type {Array<Label>}
61
+ * @memberof IssueDetail
62
+ */
63
+ labels: Array<Label>;
64
+ /**
65
+ *
66
+ * @type {string}
67
+ * @memberof IssueDetail
68
+ */
69
+ typeId?: string | null;
70
+ /**
71
+ *
72
+ * @type {Date}
73
+ * @memberof IssueDetail
74
+ */
75
+ readonly createdAt?: Date;
76
+ /**
77
+ *
78
+ * @type {Date}
79
+ * @memberof IssueDetail
80
+ */
81
+ readonly updatedAt?: Date;
82
+ /**
83
+ *
84
+ * @type {Date}
85
+ * @memberof IssueDetail
86
+ */
87
+ deletedAt?: Date | null;
88
+ /**
89
+ *
90
+ * @type {number}
91
+ * @memberof IssueDetail
92
+ */
93
+ point?: number | null;
94
+ /**
95
+ *
96
+ * @type {string}
97
+ * @memberof IssueDetail
98
+ */
99
+ name: string;
100
+ /**
101
+ *
102
+ * @type {string}
103
+ * @memberof IssueDetail
104
+ */
105
+ descriptionHtml?: string;
106
+ /**
107
+ *
108
+ * @type {string}
109
+ * @memberof IssueDetail
110
+ */
111
+ descriptionStripped?: string | null;
112
+ /**
113
+ *
114
+ * @type {string}
115
+ * @memberof IssueDetail
116
+ */
117
+ readonly descriptionBinary?: string | null;
118
+ /**
119
+ *
120
+ * @type {PriorityEnum}
121
+ * @memberof IssueDetail
122
+ */
123
+ priority?: PriorityEnum;
124
+ /**
125
+ *
126
+ * @type {Date}
127
+ * @memberof IssueDetail
128
+ */
129
+ startDate?: Date | null;
130
+ /**
131
+ *
132
+ * @type {Date}
133
+ * @memberof IssueDetail
134
+ */
135
+ targetDate?: Date | null;
136
+ /**
137
+ *
138
+ * @type {number}
139
+ * @memberof IssueDetail
140
+ */
141
+ sequenceId?: number;
142
+ /**
143
+ *
144
+ * @type {number}
145
+ * @memberof IssueDetail
146
+ */
147
+ sortOrder?: number;
148
+ /**
149
+ *
150
+ * @type {Date}
151
+ * @memberof IssueDetail
152
+ */
153
+ completedAt?: Date | null;
154
+ /**
155
+ *
156
+ * @type {Date}
157
+ * @memberof IssueDetail
158
+ */
159
+ archivedAt?: Date | null;
160
+ /**
161
+ *
162
+ * @type {boolean}
163
+ * @memberof IssueDetail
164
+ */
165
+ isDraft?: boolean;
166
+ /**
167
+ *
168
+ * @type {string}
169
+ * @memberof IssueDetail
170
+ */
171
+ externalSource?: string | null;
172
+ /**
173
+ *
174
+ * @type {string}
175
+ * @memberof IssueDetail
176
+ */
177
+ externalId?: string | null;
178
+ /**
179
+ *
180
+ * @type {string}
181
+ * @memberof IssueDetail
182
+ */
183
+ createdBy?: string | null;
184
+ /**
185
+ *
186
+ * @type {string}
187
+ * @memberof IssueDetail
188
+ */
189
+ readonly updatedBy?: string | null;
190
+ /**
191
+ *
192
+ * @type {string}
193
+ * @memberof IssueDetail
194
+ */
195
+ readonly project?: string;
196
+ /**
197
+ *
198
+ * @type {string}
199
+ * @memberof IssueDetail
200
+ */
201
+ readonly workspace?: string;
202
+ /**
203
+ *
204
+ * @type {string}
205
+ * @memberof IssueDetail
206
+ */
207
+ parent?: string | null;
208
+ /**
209
+ *
210
+ * @type {string}
211
+ * @memberof IssueDetail
212
+ */
213
+ state?: string | null;
214
+ /**
215
+ *
216
+ * @type {string}
217
+ * @memberof IssueDetail
218
+ */
219
+ estimatePoint?: string | null;
220
+ /**
221
+ *
222
+ * @type {string}
223
+ * @memberof IssueDetail
224
+ */
225
+ type?: string | null;
226
+ }
227
+
228
+
229
+
230
+ /**
231
+ * Check if a given object implements the IssueDetail interface.
232
+ */
233
+ export function instanceOfIssueDetail(value: object): value is IssueDetail {
234
+ if (!('assignees' in value) || value['assignees'] === undefined) return false;
235
+ if (!('labels' in value) || value['labels'] === undefined) return false;
236
+ if (!('name' in value) || value['name'] === undefined) return false;
237
+ return true;
238
+ }
239
+
240
+ export function IssueDetailFromJSON(json: any): IssueDetail {
241
+ return IssueDetailFromJSONTyped(json, false);
242
+ }
243
+
244
+ export function IssueDetailFromJSONTyped(json: any, ignoreDiscriminator: boolean): IssueDetail {
245
+ if (json == null) {
246
+ return json;
247
+ }
248
+ return {
249
+
250
+ 'id': json['id'] == null ? undefined : json['id'],
251
+ 'assignees': ((json['assignees'] as Array<any>).map(UserLiteFromJSON)),
252
+ 'labels': ((json['labels'] as Array<any>).map(LabelFromJSON)),
253
+ 'typeId': json['type_id'] == null ? undefined : json['type_id'],
254
+ 'createdAt': json['created_at'] == null ? undefined : (new Date(json['created_at'])),
255
+ 'updatedAt': json['updated_at'] == null ? undefined : (new Date(json['updated_at'])),
256
+ 'deletedAt': json['deleted_at'] == null ? undefined : (new Date(json['deleted_at'])),
257
+ 'point': json['point'] == null ? undefined : json['point'],
258
+ 'name': json['name'],
259
+ 'descriptionHtml': json['description_html'] == null ? undefined : json['description_html'],
260
+ 'descriptionStripped': json['description_stripped'] == null ? undefined : json['description_stripped'],
261
+ 'descriptionBinary': json['description_binary'] == null ? undefined : json['description_binary'],
262
+ 'priority': json['priority'] == null ? undefined : PriorityEnumFromJSON(json['priority']),
263
+ 'startDate': json['start_date'] == null ? undefined : (new Date(json['start_date'])),
264
+ 'targetDate': json['target_date'] == null ? undefined : (new Date(json['target_date'])),
265
+ 'sequenceId': json['sequence_id'] == null ? undefined : json['sequence_id'],
266
+ 'sortOrder': json['sort_order'] == null ? undefined : json['sort_order'],
267
+ 'completedAt': json['completed_at'] == null ? undefined : (new Date(json['completed_at'])),
268
+ 'archivedAt': json['archived_at'] == null ? undefined : (new Date(json['archived_at'])),
269
+ 'isDraft': json['is_draft'] == null ? undefined : json['is_draft'],
270
+ 'externalSource': json['external_source'] == null ? undefined : json['external_source'],
271
+ 'externalId': json['external_id'] == null ? undefined : json['external_id'],
272
+ 'createdBy': json['created_by'] == null ? undefined : json['created_by'],
273
+ 'updatedBy': json['updated_by'] == null ? undefined : json['updated_by'],
274
+ 'project': json['project'] == null ? undefined : json['project'],
275
+ 'workspace': json['workspace'] == null ? undefined : json['workspace'],
276
+ 'parent': json['parent'] == null ? undefined : json['parent'],
277
+ 'state': json['state'] == null ? undefined : json['state'],
278
+ 'estimatePoint': json['estimate_point'] == null ? undefined : json['estimate_point'],
279
+ 'type': json['type'] == null ? undefined : json['type'],
280
+ };
281
+ }
282
+
283
+ export function IssueDetailToJSON(json: any): IssueDetail {
284
+ return IssueDetailToJSONTyped(json, false);
285
+ }
286
+
287
+ export function IssueDetailToJSONTyped(value?: Omit<IssueDetail, 'id'|'created_at'|'updated_at'|'description_binary'|'updated_by'|'project'|'workspace'> | null, ignoreDiscriminator: boolean = false): any {
288
+ if (value == null) {
289
+ return value;
290
+ }
291
+
292
+ return {
293
+
294
+ 'assignees': ((value['assignees'] as Array<any>).map(UserLiteToJSON)),
295
+ 'labels': ((value['labels'] as Array<any>).map(LabelToJSON)),
296
+ 'type_id': value['typeId'],
297
+ 'deleted_at': value['deletedAt'] == null ? undefined : ((value['deletedAt'] as any).toISOString()),
298
+ 'point': value['point'],
299
+ 'name': value['name'],
300
+ 'description_html': value['descriptionHtml'],
301
+ 'description_stripped': value['descriptionStripped'],
302
+ 'priority': PriorityEnumToJSON(value['priority']),
303
+ 'start_date': value['startDate'] == null ? undefined : ((value['startDate'] as any).toISOString().substring(0,10)),
304
+ 'target_date': value['targetDate'] == null ? undefined : ((value['targetDate'] as any).toISOString().substring(0,10)),
305
+ 'sequence_id': value['sequenceId'],
306
+ 'sort_order': value['sortOrder'],
307
+ 'completed_at': value['completedAt'] == null ? undefined : ((value['completedAt'] as any).toISOString()),
308
+ 'archived_at': value['archivedAt'] == null ? undefined : ((value['archivedAt'] as any).toISOString().substring(0,10)),
309
+ 'is_draft': value['isDraft'],
310
+ 'external_source': value['externalSource'],
311
+ 'external_id': value['externalId'],
312
+ 'created_by': value['createdBy'],
313
+ 'parent': value['parent'],
314
+ 'state': value['state'],
315
+ 'estimate_point': value['estimatePoint'],
316
+ 'type': value['type'],
317
+ };
318
+ }
319
+
@@ -26,13 +26,6 @@ import {
26
26
  StateLiteToJSON,
27
27
  StateLiteToJSONTyped,
28
28
  } from './StateLite';
29
- import type { LabelLite } from './LabelLite';
30
- import {
31
- LabelLiteFromJSON,
32
- LabelLiteFromJSONTyped,
33
- LabelLiteToJSON,
34
- LabelLiteToJSONTyped,
35
- } from './LabelLite';
36
29
  import type { CycleLite } from './CycleLite';
37
30
  import {
38
31
  CycleLiteFromJSON,
@@ -47,13 +40,6 @@ import {
47
40
  ModuleLiteToJSON,
48
41
  ModuleLiteToJSONTyped,
49
42
  } from './ModuleLite';
50
- import type { UserLite } from './UserLite';
51
- import {
52
- UserLiteFromJSON,
53
- UserLiteFromJSONTyped,
54
- UserLiteToJSON,
55
- UserLiteToJSONTyped,
56
- } from './UserLite';
57
43
 
58
44
  /**
59
45
  * Extended work item serializer with full relationship expansion.
@@ -84,16 +70,16 @@ export interface IssueExpand {
84
70
  readonly module?: ModuleLite;
85
71
  /**
86
72
  *
87
- * @type {Array<LabelLite>}
73
+ * @type {string}
88
74
  * @memberof IssueExpand
89
75
  */
90
- readonly labels?: Array<LabelLite>;
76
+ readonly labels?: string;
91
77
  /**
92
78
  *
93
- * @type {Array<UserLite>}
79
+ * @type {string}
94
80
  * @memberof IssueExpand
95
81
  */
96
- readonly assignees?: Array<UserLite>;
82
+ readonly assignees?: string;
97
83
  /**
98
84
  *
99
85
  * @type {StateLite}
@@ -281,8 +267,8 @@ export function IssueExpandFromJSONTyped(json: any, ignoreDiscriminator: boolean
281
267
  'id': json['id'] == null ? undefined : json['id'],
282
268
  'cycle': json['cycle'] == null ? undefined : CycleLiteFromJSON(json['cycle']),
283
269
  'module': json['module'] == null ? undefined : ModuleLiteFromJSON(json['module']),
284
- 'labels': json['labels'] == null ? undefined : ((json['labels'] as Array<any>).map(LabelLiteFromJSON)),
285
- 'assignees': json['assignees'] == null ? undefined : ((json['assignees'] as Array<any>).map(UserLiteFromJSON)),
270
+ 'labels': json['labels'] == null ? undefined : json['labels'],
271
+ 'assignees': json['assignees'] == null ? undefined : json['assignees'],
286
272
  'state': json['state'] == null ? undefined : StateLiteFromJSON(json['state']),
287
273
  'createdAt': json['created_at'] == null ? undefined : (new Date(json['created_at'])),
288
274
  'updatedAt': json['updated_at'] == null ? undefined : (new Date(json['updated_at'])),