@bretwardjames/ghp-core 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -75,6 +75,7 @@ __export(queries_exports, {
75
75
  REPOSITORY_ID_QUERY: () => REPOSITORY_ID_QUERY,
76
76
  REPOSITORY_PROJECTS_QUERY: () => REPOSITORY_PROJECTS_QUERY,
77
77
  UPDATE_ISSUE_BODY_MUTATION: () => UPDATE_ISSUE_BODY_MUTATION,
78
+ UPDATE_ISSUE_MUTATION: () => UPDATE_ISSUE_MUTATION,
78
79
  UPDATE_ISSUE_TYPE_MUTATION: () => UPDATE_ISSUE_TYPE_MUTATION,
79
80
  UPDATE_ITEM_FIELD_MUTATION: () => UPDATE_ITEM_FIELD_MUTATION,
80
81
  UPDATE_ITEM_STATUS_MUTATION: () => UPDATE_ITEM_STATUS_MUTATION,
@@ -430,6 +431,15 @@ var UPDATE_ISSUE_BODY_MUTATION = `
430
431
  }
431
432
  }
432
433
  `;
434
+ var UPDATE_ISSUE_MUTATION = `
435
+ mutation($issueId: ID!, $title: String, $body: String) {
436
+ updateIssue(input: { id: $issueId, title: $title, body: $body }) {
437
+ issue {
438
+ id
439
+ }
440
+ }
441
+ }
442
+ `;
433
443
 
434
444
  // src/github-api.ts
435
445
  function createAuthError(message, type, details) {
@@ -968,6 +978,30 @@ var GitHubAPI = class {
968
978
  return false;
969
979
  }
970
980
  }
981
+ /**
982
+ * Update an issue's title and/or body
983
+ */
984
+ async updateIssue(repo, issueNumber, updates) {
985
+ if (!this.graphqlWithAuth) throw new Error("Not authenticated");
986
+ try {
987
+ const issueResponse = await this.graphqlWithAuth(ISSUE_FOR_UPDATE_QUERY, {
988
+ owner: repo.owner,
989
+ name: repo.name,
990
+ number: issueNumber
991
+ });
992
+ if (!issueResponse.repository.issue) {
993
+ return false;
994
+ }
995
+ await this.graphqlWithAuth(UPDATE_ISSUE_MUTATION, {
996
+ issueId: issueResponse.repository.issue.id,
997
+ title: updates.title,
998
+ body: updates.body
999
+ });
1000
+ return true;
1001
+ } catch {
1002
+ return false;
1003
+ }
1004
+ }
971
1005
  };
972
1006
 
973
1007
  // src/branch-linker.ts
package/dist/index.d.cts CHANGED
@@ -517,6 +517,13 @@ declare class GitHubAPI {
517
517
  * Update an issue's body/description
518
518
  */
519
519
  updateIssueBody(repo: RepoInfo, issueNumber: number, body: string): Promise<boolean>;
520
+ /**
521
+ * Update an issue's title and/or body
522
+ */
523
+ updateIssue(repo: RepoInfo, issueNumber: number, updates: {
524
+ title?: string;
525
+ body?: string;
526
+ }): Promise<boolean>;
520
527
  }
521
528
 
522
529
  /**
@@ -862,6 +869,10 @@ declare const UPDATE_ISSUE_TYPE_MUTATION = "\n mutation($issueId: ID!, $issue
862
869
  * Mutation to update issue body/description
863
870
  */
864
871
  declare const UPDATE_ISSUE_BODY_MUTATION = "\n mutation($issueId: ID!, $body: String!) {\n updateIssue(input: { id: $issueId, body: $body }) {\n issue {\n id\n }\n }\n }\n";
872
+ /**
873
+ * Mutation to update issue title and/or body
874
+ */
875
+ declare const UPDATE_ISSUE_MUTATION = "\n mutation($issueId: ID!, $title: String, $body: String) {\n updateIssue(input: { id: $issueId, title: $title, body: $body }) {\n issue {\n id\n }\n }\n }\n";
865
876
 
866
877
  declare const queries_ADD_COMMENT_MUTATION: typeof ADD_COMMENT_MUTATION;
867
878
  declare const queries_ADD_LABELS_MUTATION: typeof ADD_LABELS_MUTATION;
@@ -883,12 +894,13 @@ declare const queries_REMOVE_LABELS_MUTATION: typeof REMOVE_LABELS_MUTATION;
883
894
  declare const queries_REPOSITORY_ID_QUERY: typeof REPOSITORY_ID_QUERY;
884
895
  declare const queries_REPOSITORY_PROJECTS_QUERY: typeof REPOSITORY_PROJECTS_QUERY;
885
896
  declare const queries_UPDATE_ISSUE_BODY_MUTATION: typeof UPDATE_ISSUE_BODY_MUTATION;
897
+ declare const queries_UPDATE_ISSUE_MUTATION: typeof UPDATE_ISSUE_MUTATION;
886
898
  declare const queries_UPDATE_ISSUE_TYPE_MUTATION: typeof UPDATE_ISSUE_TYPE_MUTATION;
887
899
  declare const queries_UPDATE_ITEM_FIELD_MUTATION: typeof UPDATE_ITEM_FIELD_MUTATION;
888
900
  declare const queries_UPDATE_ITEM_STATUS_MUTATION: typeof UPDATE_ITEM_STATUS_MUTATION;
889
901
  declare const queries_VIEWER_QUERY: typeof VIEWER_QUERY;
890
902
  declare namespace queries {
891
- export { queries_ADD_COMMENT_MUTATION as ADD_COMMENT_MUTATION, queries_ADD_LABELS_MUTATION as ADD_LABELS_MUTATION, queries_ADD_TO_PROJECT_MUTATION as ADD_TO_PROJECT_MUTATION, queries_COLLABORATORS_QUERY as COLLABORATORS_QUERY, queries_CREATE_ISSUE_MUTATION as CREATE_ISSUE_MUTATION, queries_ISSUES_WITH_LABEL_QUERY as ISSUES_WITH_LABEL_QUERY, queries_ISSUE_AND_LABEL_QUERY as ISSUE_AND_LABEL_QUERY, queries_ISSUE_DETAILS_QUERY as ISSUE_DETAILS_QUERY, queries_ISSUE_FOR_UPDATE_QUERY as ISSUE_FOR_UPDATE_QUERY, queries_ISSUE_NODE_ID_QUERY as ISSUE_NODE_ID_QUERY, queries_ISSUE_TYPES_QUERY as ISSUE_TYPES_QUERY, queries_LABEL_EXISTS_QUERY as LABEL_EXISTS_QUERY, queries_PROJECT_FIELDS_QUERY as PROJECT_FIELDS_QUERY, queries_PROJECT_ITEMS_QUERY as PROJECT_ITEMS_QUERY, queries_PROJECT_VIEWS_QUERY as PROJECT_VIEWS_QUERY, queries_RECENT_ISSUES_QUERY as RECENT_ISSUES_QUERY, queries_REMOVE_LABELS_MUTATION as REMOVE_LABELS_MUTATION, queries_REPOSITORY_ID_QUERY as REPOSITORY_ID_QUERY, queries_REPOSITORY_PROJECTS_QUERY as REPOSITORY_PROJECTS_QUERY, queries_UPDATE_ISSUE_BODY_MUTATION as UPDATE_ISSUE_BODY_MUTATION, queries_UPDATE_ISSUE_TYPE_MUTATION as UPDATE_ISSUE_TYPE_MUTATION, queries_UPDATE_ITEM_FIELD_MUTATION as UPDATE_ITEM_FIELD_MUTATION, queries_UPDATE_ITEM_STATUS_MUTATION as UPDATE_ITEM_STATUS_MUTATION, queries_VIEWER_QUERY as VIEWER_QUERY };
903
+ export { queries_ADD_COMMENT_MUTATION as ADD_COMMENT_MUTATION, queries_ADD_LABELS_MUTATION as ADD_LABELS_MUTATION, queries_ADD_TO_PROJECT_MUTATION as ADD_TO_PROJECT_MUTATION, queries_COLLABORATORS_QUERY as COLLABORATORS_QUERY, queries_CREATE_ISSUE_MUTATION as CREATE_ISSUE_MUTATION, queries_ISSUES_WITH_LABEL_QUERY as ISSUES_WITH_LABEL_QUERY, queries_ISSUE_AND_LABEL_QUERY as ISSUE_AND_LABEL_QUERY, queries_ISSUE_DETAILS_QUERY as ISSUE_DETAILS_QUERY, queries_ISSUE_FOR_UPDATE_QUERY as ISSUE_FOR_UPDATE_QUERY, queries_ISSUE_NODE_ID_QUERY as ISSUE_NODE_ID_QUERY, queries_ISSUE_TYPES_QUERY as ISSUE_TYPES_QUERY, queries_LABEL_EXISTS_QUERY as LABEL_EXISTS_QUERY, queries_PROJECT_FIELDS_QUERY as PROJECT_FIELDS_QUERY, queries_PROJECT_ITEMS_QUERY as PROJECT_ITEMS_QUERY, queries_PROJECT_VIEWS_QUERY as PROJECT_VIEWS_QUERY, queries_RECENT_ISSUES_QUERY as RECENT_ISSUES_QUERY, queries_REMOVE_LABELS_MUTATION as REMOVE_LABELS_MUTATION, queries_REPOSITORY_ID_QUERY as REPOSITORY_ID_QUERY, queries_REPOSITORY_PROJECTS_QUERY as REPOSITORY_PROJECTS_QUERY, queries_UPDATE_ISSUE_BODY_MUTATION as UPDATE_ISSUE_BODY_MUTATION, queries_UPDATE_ISSUE_MUTATION as UPDATE_ISSUE_MUTATION, queries_UPDATE_ISSUE_TYPE_MUTATION as UPDATE_ISSUE_TYPE_MUTATION, queries_UPDATE_ITEM_FIELD_MUTATION as UPDATE_ITEM_FIELD_MUTATION, queries_UPDATE_ITEM_STATUS_MUTATION as UPDATE_ITEM_STATUS_MUTATION, queries_VIEWER_QUERY as VIEWER_QUERY };
892
904
  }
893
905
 
894
906
  export { type AssigneeInfo, type AuthError, type BranchLink, BranchLinker, type Collaborator, type DateFieldValue, type FieldInfo, type FieldValue, type FieldValueConnection, GitHubAPI, type GitHubAPIOptions, type GitOptions, type IssueDetails, type IssueReference, type IterationFieldValue, type LabelInfo, type NumberFieldValue, type Project, type ProjectConfig, type ProjectItem, type ProjectItemContent, type ProjectItemsQueryResponse, type ProjectV2, type ProjectV2Field, type ProjectV2Item, type ProjectV2View, type ProjectWithViews, type ProjectsQueryResponse, type RepoInfo, type SingleSelectFieldValue, type StatusField, type StorageAdapter, type TextFieldValue, type TokenProvider, branchExists, buildIssueUrl, buildOrgProjectUrl, buildProjectUrl, buildPullRequestUrl, buildRepoUrl, checkoutBranch, createBranch, createInMemoryAdapter, detectRepository, fetchOrigin, generateBranchName, getCommitsAhead, getCommitsBehind, getCurrentBranch, getDefaultBranch, getRepositoryRoot, hasUncommittedChanges, isGitRepository, parseGitHubUrl, parseIssueUrl, pullLatest, queries, sanitizeForBranchName };
package/dist/index.d.ts CHANGED
@@ -517,6 +517,13 @@ declare class GitHubAPI {
517
517
  * Update an issue's body/description
518
518
  */
519
519
  updateIssueBody(repo: RepoInfo, issueNumber: number, body: string): Promise<boolean>;
520
+ /**
521
+ * Update an issue's title and/or body
522
+ */
523
+ updateIssue(repo: RepoInfo, issueNumber: number, updates: {
524
+ title?: string;
525
+ body?: string;
526
+ }): Promise<boolean>;
520
527
  }
521
528
 
522
529
  /**
@@ -862,6 +869,10 @@ declare const UPDATE_ISSUE_TYPE_MUTATION = "\n mutation($issueId: ID!, $issue
862
869
  * Mutation to update issue body/description
863
870
  */
864
871
  declare const UPDATE_ISSUE_BODY_MUTATION = "\n mutation($issueId: ID!, $body: String!) {\n updateIssue(input: { id: $issueId, body: $body }) {\n issue {\n id\n }\n }\n }\n";
872
+ /**
873
+ * Mutation to update issue title and/or body
874
+ */
875
+ declare const UPDATE_ISSUE_MUTATION = "\n mutation($issueId: ID!, $title: String, $body: String) {\n updateIssue(input: { id: $issueId, title: $title, body: $body }) {\n issue {\n id\n }\n }\n }\n";
865
876
 
866
877
  declare const queries_ADD_COMMENT_MUTATION: typeof ADD_COMMENT_MUTATION;
867
878
  declare const queries_ADD_LABELS_MUTATION: typeof ADD_LABELS_MUTATION;
@@ -883,12 +894,13 @@ declare const queries_REMOVE_LABELS_MUTATION: typeof REMOVE_LABELS_MUTATION;
883
894
  declare const queries_REPOSITORY_ID_QUERY: typeof REPOSITORY_ID_QUERY;
884
895
  declare const queries_REPOSITORY_PROJECTS_QUERY: typeof REPOSITORY_PROJECTS_QUERY;
885
896
  declare const queries_UPDATE_ISSUE_BODY_MUTATION: typeof UPDATE_ISSUE_BODY_MUTATION;
897
+ declare const queries_UPDATE_ISSUE_MUTATION: typeof UPDATE_ISSUE_MUTATION;
886
898
  declare const queries_UPDATE_ISSUE_TYPE_MUTATION: typeof UPDATE_ISSUE_TYPE_MUTATION;
887
899
  declare const queries_UPDATE_ITEM_FIELD_MUTATION: typeof UPDATE_ITEM_FIELD_MUTATION;
888
900
  declare const queries_UPDATE_ITEM_STATUS_MUTATION: typeof UPDATE_ITEM_STATUS_MUTATION;
889
901
  declare const queries_VIEWER_QUERY: typeof VIEWER_QUERY;
890
902
  declare namespace queries {
891
- export { queries_ADD_COMMENT_MUTATION as ADD_COMMENT_MUTATION, queries_ADD_LABELS_MUTATION as ADD_LABELS_MUTATION, queries_ADD_TO_PROJECT_MUTATION as ADD_TO_PROJECT_MUTATION, queries_COLLABORATORS_QUERY as COLLABORATORS_QUERY, queries_CREATE_ISSUE_MUTATION as CREATE_ISSUE_MUTATION, queries_ISSUES_WITH_LABEL_QUERY as ISSUES_WITH_LABEL_QUERY, queries_ISSUE_AND_LABEL_QUERY as ISSUE_AND_LABEL_QUERY, queries_ISSUE_DETAILS_QUERY as ISSUE_DETAILS_QUERY, queries_ISSUE_FOR_UPDATE_QUERY as ISSUE_FOR_UPDATE_QUERY, queries_ISSUE_NODE_ID_QUERY as ISSUE_NODE_ID_QUERY, queries_ISSUE_TYPES_QUERY as ISSUE_TYPES_QUERY, queries_LABEL_EXISTS_QUERY as LABEL_EXISTS_QUERY, queries_PROJECT_FIELDS_QUERY as PROJECT_FIELDS_QUERY, queries_PROJECT_ITEMS_QUERY as PROJECT_ITEMS_QUERY, queries_PROJECT_VIEWS_QUERY as PROJECT_VIEWS_QUERY, queries_RECENT_ISSUES_QUERY as RECENT_ISSUES_QUERY, queries_REMOVE_LABELS_MUTATION as REMOVE_LABELS_MUTATION, queries_REPOSITORY_ID_QUERY as REPOSITORY_ID_QUERY, queries_REPOSITORY_PROJECTS_QUERY as REPOSITORY_PROJECTS_QUERY, queries_UPDATE_ISSUE_BODY_MUTATION as UPDATE_ISSUE_BODY_MUTATION, queries_UPDATE_ISSUE_TYPE_MUTATION as UPDATE_ISSUE_TYPE_MUTATION, queries_UPDATE_ITEM_FIELD_MUTATION as UPDATE_ITEM_FIELD_MUTATION, queries_UPDATE_ITEM_STATUS_MUTATION as UPDATE_ITEM_STATUS_MUTATION, queries_VIEWER_QUERY as VIEWER_QUERY };
903
+ export { queries_ADD_COMMENT_MUTATION as ADD_COMMENT_MUTATION, queries_ADD_LABELS_MUTATION as ADD_LABELS_MUTATION, queries_ADD_TO_PROJECT_MUTATION as ADD_TO_PROJECT_MUTATION, queries_COLLABORATORS_QUERY as COLLABORATORS_QUERY, queries_CREATE_ISSUE_MUTATION as CREATE_ISSUE_MUTATION, queries_ISSUES_WITH_LABEL_QUERY as ISSUES_WITH_LABEL_QUERY, queries_ISSUE_AND_LABEL_QUERY as ISSUE_AND_LABEL_QUERY, queries_ISSUE_DETAILS_QUERY as ISSUE_DETAILS_QUERY, queries_ISSUE_FOR_UPDATE_QUERY as ISSUE_FOR_UPDATE_QUERY, queries_ISSUE_NODE_ID_QUERY as ISSUE_NODE_ID_QUERY, queries_ISSUE_TYPES_QUERY as ISSUE_TYPES_QUERY, queries_LABEL_EXISTS_QUERY as LABEL_EXISTS_QUERY, queries_PROJECT_FIELDS_QUERY as PROJECT_FIELDS_QUERY, queries_PROJECT_ITEMS_QUERY as PROJECT_ITEMS_QUERY, queries_PROJECT_VIEWS_QUERY as PROJECT_VIEWS_QUERY, queries_RECENT_ISSUES_QUERY as RECENT_ISSUES_QUERY, queries_REMOVE_LABELS_MUTATION as REMOVE_LABELS_MUTATION, queries_REPOSITORY_ID_QUERY as REPOSITORY_ID_QUERY, queries_REPOSITORY_PROJECTS_QUERY as REPOSITORY_PROJECTS_QUERY, queries_UPDATE_ISSUE_BODY_MUTATION as UPDATE_ISSUE_BODY_MUTATION, queries_UPDATE_ISSUE_MUTATION as UPDATE_ISSUE_MUTATION, queries_UPDATE_ISSUE_TYPE_MUTATION as UPDATE_ISSUE_TYPE_MUTATION, queries_UPDATE_ITEM_FIELD_MUTATION as UPDATE_ITEM_FIELD_MUTATION, queries_UPDATE_ITEM_STATUS_MUTATION as UPDATE_ITEM_STATUS_MUTATION, queries_VIEWER_QUERY as VIEWER_QUERY };
892
904
  }
893
905
 
894
906
  export { type AssigneeInfo, type AuthError, type BranchLink, BranchLinker, type Collaborator, type DateFieldValue, type FieldInfo, type FieldValue, type FieldValueConnection, GitHubAPI, type GitHubAPIOptions, type GitOptions, type IssueDetails, type IssueReference, type IterationFieldValue, type LabelInfo, type NumberFieldValue, type Project, type ProjectConfig, type ProjectItem, type ProjectItemContent, type ProjectItemsQueryResponse, type ProjectV2, type ProjectV2Field, type ProjectV2Item, type ProjectV2View, type ProjectWithViews, type ProjectsQueryResponse, type RepoInfo, type SingleSelectFieldValue, type StatusField, type StorageAdapter, type TextFieldValue, type TokenProvider, branchExists, buildIssueUrl, buildOrgProjectUrl, buildProjectUrl, buildPullRequestUrl, buildRepoUrl, checkoutBranch, createBranch, createInMemoryAdapter, detectRepository, fetchOrigin, generateBranchName, getCommitsAhead, getCommitsBehind, getCurrentBranch, getDefaultBranch, getRepositoryRoot, hasUncommittedChanges, isGitRepository, parseGitHubUrl, parseIssueUrl, pullLatest, queries, sanitizeForBranchName };
package/dist/index.js CHANGED
@@ -30,6 +30,7 @@ __export(queries_exports, {
30
30
  REPOSITORY_ID_QUERY: () => REPOSITORY_ID_QUERY,
31
31
  REPOSITORY_PROJECTS_QUERY: () => REPOSITORY_PROJECTS_QUERY,
32
32
  UPDATE_ISSUE_BODY_MUTATION: () => UPDATE_ISSUE_BODY_MUTATION,
33
+ UPDATE_ISSUE_MUTATION: () => UPDATE_ISSUE_MUTATION,
33
34
  UPDATE_ISSUE_TYPE_MUTATION: () => UPDATE_ISSUE_TYPE_MUTATION,
34
35
  UPDATE_ITEM_FIELD_MUTATION: () => UPDATE_ITEM_FIELD_MUTATION,
35
36
  UPDATE_ITEM_STATUS_MUTATION: () => UPDATE_ITEM_STATUS_MUTATION,
@@ -385,6 +386,15 @@ var UPDATE_ISSUE_BODY_MUTATION = `
385
386
  }
386
387
  }
387
388
  `;
389
+ var UPDATE_ISSUE_MUTATION = `
390
+ mutation($issueId: ID!, $title: String, $body: String) {
391
+ updateIssue(input: { id: $issueId, title: $title, body: $body }) {
392
+ issue {
393
+ id
394
+ }
395
+ }
396
+ }
397
+ `;
388
398
 
389
399
  // src/github-api.ts
390
400
  function createAuthError(message, type, details) {
@@ -923,6 +933,30 @@ var GitHubAPI = class {
923
933
  return false;
924
934
  }
925
935
  }
936
+ /**
937
+ * Update an issue's title and/or body
938
+ */
939
+ async updateIssue(repo, issueNumber, updates) {
940
+ if (!this.graphqlWithAuth) throw new Error("Not authenticated");
941
+ try {
942
+ const issueResponse = await this.graphqlWithAuth(ISSUE_FOR_UPDATE_QUERY, {
943
+ owner: repo.owner,
944
+ name: repo.name,
945
+ number: issueNumber
946
+ });
947
+ if (!issueResponse.repository.issue) {
948
+ return false;
949
+ }
950
+ await this.graphqlWithAuth(UPDATE_ISSUE_MUTATION, {
951
+ issueId: issueResponse.repository.issue.id,
952
+ title: updates.title,
953
+ body: updates.body
954
+ });
955
+ return true;
956
+ } catch {
957
+ return false;
958
+ }
959
+ }
926
960
  };
927
961
 
928
962
  // src/branch-linker.ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bretwardjames/ghp-core",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "Shared core library for GitHub Projects tools",
5
5
  "main": "dist/index.cjs",
6
6
  "module": "dist/index.js",