@enrichlayer/el-linear 1.9.0 → 1.10.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.
- package/README.md +13 -0
- package/dist/commands/attachments.js +2 -1
- package/dist/commands/comments.js +17 -28
- package/dist/commands/cycles.js +2 -1
- package/dist/commands/documents.js +2 -1
- package/dist/commands/graphql.js +4 -6
- package/dist/commands/issue-id.js +1 -3
- package/dist/commands/issues/description.js +2 -6
- package/dist/commands/issues/link-references.d.ts +21 -0
- package/dist/commands/issues/link-references.js +171 -0
- package/dist/commands/issues/relations.d.ts +55 -0
- package/dist/commands/issues/relations.js +132 -0
- package/dist/commands/issues.js +65 -284
- package/dist/commands/labels.js +13 -23
- package/dist/commands/project-milestones.js +13 -20
- package/dist/commands/projects.js +67 -38
- package/dist/commands/refs.js +8 -0
- package/dist/commands/releases.js +26 -30
- package/dist/commands/search.js +21 -30
- package/dist/commands/teams.js +2 -1
- package/dist/commands/templates.js +9 -14
- package/dist/commands/users.js +2 -1
- package/dist/config/resolver.js +2 -3
- package/dist/queries/attachments-types.d.ts +30 -0
- package/dist/queries/attachments-types.js +5 -0
- package/dist/queries/comments-types.d.ts +49 -0
- package/dist/queries/comments-types.js +5 -0
- package/dist/queries/documents-types.d.ts +61 -0
- package/dist/queries/documents-types.js +9 -0
- package/dist/queries/introspect-types.d.ts +57 -0
- package/dist/queries/introspect-types.js +10 -0
- package/dist/queries/issues-types.d.ts +416 -0
- package/dist/queries/issues-types.js +23 -0
- package/dist/queries/issues.d.ts +2 -0
- package/dist/queries/issues.js +22 -0
- package/dist/queries/labels-types.d.ts +64 -0
- package/dist/queries/labels-types.js +5 -0
- package/dist/queries/project-milestones-types.d.ts +91 -0
- package/dist/queries/project-milestones-types.js +10 -0
- package/dist/queries/projects-types.d.ts +75 -0
- package/dist/queries/projects-types.js +5 -0
- package/dist/queries/projects.d.ts +2 -0
- package/dist/queries/projects.js +22 -0
- package/dist/queries/releases-types.d.ts +84 -0
- package/dist/queries/releases-types.js +5 -0
- package/dist/queries/search-types.d.ts +86 -0
- package/dist/queries/search-types.js +6 -0
- package/dist/queries/templates-types.d.ts +61 -0
- package/dist/queries/templates-types.js +9 -0
- package/dist/types/linear.d.ts +8 -2
- package/dist/utils/auto-link-references.js +29 -24
- package/dist/utils/graphql-attachments-service.js +6 -9
- package/dist/utils/graphql-documents-service.js +19 -25
- package/dist/utils/graphql-issues-service.d.ts +12 -2
- package/dist/utils/graphql-issues-service.js +151 -172
- package/dist/utils/output.d.ts +2 -0
- package/dist/utils/output.js +16 -6
- package/dist/utils/workspace-url.d.ts +5 -1
- package/dist/utils/workspace-url.js +35 -5
- package/package.json +1 -1
|
@@ -1,32 +1,29 @@
|
|
|
1
1
|
import { CREATE_DOCUMENT_MUTATION, DELETE_DOCUMENT_MUTATION, GET_DOCUMENT_QUERY, LIST_DOCUMENTS_QUERY, UPDATE_DOCUMENT_MUTATION, } from "../queries/documents.js";
|
|
2
2
|
import { createGraphQLService, } from "./graphql-service.js";
|
|
3
3
|
function transformDocument(doc) {
|
|
4
|
-
const creator = doc.creator;
|
|
5
|
-
const project = doc.project;
|
|
6
|
-
const issue = doc.issue;
|
|
7
4
|
return {
|
|
8
5
|
id: doc.id,
|
|
9
6
|
title: doc.title,
|
|
10
|
-
content: doc.content
|
|
11
|
-
color: doc.color
|
|
12
|
-
icon: doc.icon
|
|
13
|
-
slugId: doc.slugId
|
|
14
|
-
url: doc.url
|
|
15
|
-
creator: creator
|
|
16
|
-
? { id: creator.id, name: creator.name }
|
|
7
|
+
content: doc.content ?? undefined,
|
|
8
|
+
color: doc.color ?? undefined,
|
|
9
|
+
icon: doc.icon ?? undefined,
|
|
10
|
+
slugId: doc.slugId ?? undefined,
|
|
11
|
+
url: doc.url ?? undefined,
|
|
12
|
+
creator: doc.creator
|
|
13
|
+
? { id: doc.creator.id, name: doc.creator.name }
|
|
17
14
|
: undefined,
|
|
18
|
-
project: project
|
|
19
|
-
? { id: project.id, name: project.name }
|
|
15
|
+
project: doc.project
|
|
16
|
+
? { id: doc.project.id, name: doc.project.name }
|
|
20
17
|
: undefined,
|
|
21
|
-
issue: issue
|
|
18
|
+
issue: doc.issue
|
|
22
19
|
? {
|
|
23
|
-
id: issue.id,
|
|
24
|
-
identifier: issue.identifier,
|
|
25
|
-
title: issue.title,
|
|
20
|
+
id: doc.issue.id,
|
|
21
|
+
identifier: doc.issue.identifier,
|
|
22
|
+
title: doc.issue.title,
|
|
26
23
|
}
|
|
27
24
|
: undefined,
|
|
28
|
-
createdAt: doc.createdAt
|
|
29
|
-
updatedAt: doc.updatedAt
|
|
25
|
+
createdAt: doc.createdAt ?? undefined,
|
|
26
|
+
updatedAt: doc.updatedAt ?? undefined,
|
|
30
27
|
};
|
|
31
28
|
}
|
|
32
29
|
class GraphQLDocumentsService {
|
|
@@ -37,7 +34,7 @@ class GraphQLDocumentsService {
|
|
|
37
34
|
async createDocument(input) {
|
|
38
35
|
const result = await this.graphqlService.rawRequest(CREATE_DOCUMENT_MUTATION, { input });
|
|
39
36
|
const createData = result.documentCreate;
|
|
40
|
-
if (!createData.success) {
|
|
37
|
+
if (!createData.success || !createData.document) {
|
|
41
38
|
throw new Error(`Failed to create document "${input.title}"${input.projectId ? ` in project ${input.projectId}` : ""}${input.teamId ? ` for team ${input.teamId}` : ""}`);
|
|
42
39
|
}
|
|
43
40
|
return transformDocument(createData.document);
|
|
@@ -45,15 +42,13 @@ class GraphQLDocumentsService {
|
|
|
45
42
|
async updateDocument(id, input) {
|
|
46
43
|
const result = await this.graphqlService.rawRequest(UPDATE_DOCUMENT_MUTATION, { id, input });
|
|
47
44
|
const updateData = result.documentUpdate;
|
|
48
|
-
if (!updateData.success) {
|
|
45
|
+
if (!updateData.success || !updateData.document) {
|
|
49
46
|
throw new Error(`Failed to update document: ${id}`);
|
|
50
47
|
}
|
|
51
48
|
return transformDocument(updateData.document);
|
|
52
49
|
}
|
|
53
50
|
async getDocument(id) {
|
|
54
|
-
const result = await this.graphqlService.rawRequest(GET_DOCUMENT_QUERY, {
|
|
55
|
-
id,
|
|
56
|
-
});
|
|
51
|
+
const result = await this.graphqlService.rawRequest(GET_DOCUMENT_QUERY, { id });
|
|
57
52
|
if (!result.document) {
|
|
58
53
|
throw new Error(`Document not found: ${id}`);
|
|
59
54
|
}
|
|
@@ -71,8 +66,7 @@ class GraphQLDocumentsService {
|
|
|
71
66
|
}
|
|
72
67
|
async deleteDocument(id) {
|
|
73
68
|
const result = await this.graphqlService.rawRequest(DELETE_DOCUMENT_MUTATION, { id });
|
|
74
|
-
|
|
75
|
-
if (!deleteData.success) {
|
|
69
|
+
if (!result.documentDelete.success) {
|
|
76
70
|
throw new Error(`Failed to delete document: ${id}`);
|
|
77
71
|
}
|
|
78
72
|
return true;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { IssueArchiveEntity, IssueNode, IssueWithCommentsNode } from "../queries/issues-types.js";
|
|
2
|
+
import type { LinearIssue } from "../types/linear.js";
|
|
2
3
|
import type { GraphQLService } from "./graphql-service.js";
|
|
3
4
|
import type { LinearService } from "./linear-service.js";
|
|
4
5
|
/**
|
|
@@ -104,6 +105,11 @@ export interface CreateIssueArgs {
|
|
|
104
105
|
/** Linear server-side template UUID for `--from-template`. */
|
|
105
106
|
templateId?: string;
|
|
106
107
|
}
|
|
108
|
+
export interface IssueArchiveOperationResult {
|
|
109
|
+
id: string;
|
|
110
|
+
entity?: IssueArchiveEntity;
|
|
111
|
+
lastSyncId: number;
|
|
112
|
+
}
|
|
107
113
|
export declare class GraphQLIssuesService {
|
|
108
114
|
private readonly graphQLService;
|
|
109
115
|
private readonly linearService;
|
|
@@ -111,6 +117,10 @@ export declare class GraphQLIssuesService {
|
|
|
111
117
|
getIssues(limit?: number): Promise<LinearIssue[]>;
|
|
112
118
|
getIssueById(issueId: string): Promise<LinearIssue>;
|
|
113
119
|
updateIssue(args: UpdateIssueArgs, labelMode?: string): Promise<LinearIssue>;
|
|
120
|
+
archiveIssue(issueId: string): Promise<IssueArchiveOperationResult>;
|
|
121
|
+
deleteIssue(issueId: string, options?: {
|
|
122
|
+
permanentlyDelete?: boolean;
|
|
123
|
+
}): Promise<IssueArchiveOperationResult>;
|
|
114
124
|
private extractMilestoneNodes;
|
|
115
125
|
private executeUpdateMutation;
|
|
116
126
|
createIssue(args: CreateIssueArgs): Promise<LinearIssue>;
|
|
@@ -144,7 +154,7 @@ export declare class GraphQLIssuesService {
|
|
|
144
154
|
private resolveStatusIdForUpdate;
|
|
145
155
|
private buildCreateResolveVariables;
|
|
146
156
|
private resolveParentId;
|
|
147
|
-
transformIssueData(issue:
|
|
157
|
+
transformIssueData(issue: IssueNode | IssueWithCommentsNode): LinearIssue;
|
|
148
158
|
private transformIssueCoreFields;
|
|
149
159
|
private transformIssueRelations;
|
|
150
160
|
private transformIssueHierarchy;
|