@oh-gc/cli 0.7.1 → 0.7.3

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 (182) hide show
  1. package/README.md +74 -16
  2. package/dist/api/issues.d.ts +43 -0
  3. package/dist/api/issues.js +33 -0
  4. package/dist/api/issues.js.map +1 -1
  5. package/dist/api/prs.d.ts +52 -0
  6. package/dist/api/prs.js +63 -0
  7. package/dist/api/prs.js.map +1 -1
  8. package/dist/api/repos.d.ts +36 -0
  9. package/dist/api/repos.js +39 -0
  10. package/dist/api/repos.js.map +1 -1
  11. package/dist/api/tags.d.ts +25 -0
  12. package/dist/api/tags.js +34 -0
  13. package/dist/api/tags.js.map +1 -1
  14. package/dist/api/user.d.ts +194 -0
  15. package/dist/api/user.js +106 -0
  16. package/dist/api/user.js.map +1 -1
  17. package/dist/commands/branch/create.d.ts +14 -0
  18. package/dist/commands/branch/create.js +48 -0
  19. package/dist/commands/branch/create.js.map +1 -0
  20. package/dist/commands/branch/delete.d.ts +13 -0
  21. package/dist/commands/branch/delete.js +42 -0
  22. package/dist/commands/branch/delete.js.map +1 -0
  23. package/dist/commands/branch/protect-rule-create.d.ts +15 -0
  24. package/dist/commands/branch/protect-rule-create.js +53 -0
  25. package/dist/commands/branch/protect-rule-create.js.map +1 -0
  26. package/dist/commands/branch/protect-rule-delete.d.ts +13 -0
  27. package/dist/commands/branch/protect-rule-delete.js +42 -0
  28. package/dist/commands/branch/protect-rule-delete.js.map +1 -0
  29. package/dist/commands/branch/protect-rule-update.d.ts +15 -0
  30. package/dist/commands/branch/protect-rule-update.js +57 -0
  31. package/dist/commands/branch/protect-rule-update.js.map +1 -0
  32. package/dist/commands/branch/protect-rules.d.ts +12 -0
  33. package/dist/commands/branch/protect-rules.js +53 -0
  34. package/dist/commands/branch/protect-rules.js.map +1 -0
  35. package/dist/commands/commit/comment.d.ts +14 -0
  36. package/dist/commands/commit/comment.js +48 -0
  37. package/dist/commands/commit/comment.js.map +1 -0
  38. package/dist/commands/commit/comments.d.ts +15 -0
  39. package/dist/commands/commit/comments.js +57 -0
  40. package/dist/commands/commit/comments.js.map +1 -0
  41. package/dist/commands/file/create.d.ts +18 -0
  42. package/dist/commands/file/create.js +64 -0
  43. package/dist/commands/file/create.js.map +1 -0
  44. package/dist/commands/file/delete.d.ts +16 -0
  45. package/dist/commands/file/delete.js +56 -0
  46. package/dist/commands/file/delete.js.map +1 -0
  47. package/dist/commands/file/update.d.ts +19 -0
  48. package/dist/commands/file/update.js +69 -0
  49. package/dist/commands/file/update.js.map +1 -0
  50. package/dist/commands/issue/branches.d.ts +14 -0
  51. package/dist/commands/issue/branches.js +69 -0
  52. package/dist/commands/issue/branches.js.map +1 -0
  53. package/dist/commands/issue/comment-delete.d.ts +16 -0
  54. package/dist/commands/issue/comment-delete.js +42 -0
  55. package/dist/commands/issue/comment-delete.js.map +1 -0
  56. package/dist/commands/issue/comment-edit.d.ts +17 -0
  57. package/dist/commands/issue/comment-edit.js +48 -0
  58. package/dist/commands/issue/comment-edit.js.map +1 -0
  59. package/dist/commands/issue/comment-get.d.ts +16 -0
  60. package/dist/commands/issue/comment-get.js +50 -0
  61. package/dist/commands/issue/comment-get.js.map +1 -0
  62. package/dist/commands/issue/comment-history.d.ts +16 -0
  63. package/dist/commands/issue/comment-history.js +51 -0
  64. package/dist/commands/issue/comment-history.js.map +1 -0
  65. package/dist/commands/issue/comment-reactions.d.ts +19 -0
  66. package/dist/commands/issue/comment-reactions.js +58 -0
  67. package/dist/commands/issue/comment-reactions.js.map +1 -0
  68. package/dist/commands/issue/prs.d.ts +14 -0
  69. package/dist/commands/issue/prs.js +56 -0
  70. package/dist/commands/issue/prs.js.map +1 -0
  71. package/dist/commands/pr/assignees.d.ts +20 -0
  72. package/dist/commands/pr/assignees.js +76 -0
  73. package/dist/commands/pr/assignees.js.map +1 -0
  74. package/dist/commands/pr/comment-delete.d.ts +16 -0
  75. package/dist/commands/pr/comment-delete.js +42 -0
  76. package/dist/commands/pr/comment-delete.js.map +1 -0
  77. package/dist/commands/pr/comment-edit.d.ts +17 -0
  78. package/dist/commands/pr/comment-edit.js +48 -0
  79. package/dist/commands/pr/comment-edit.js.map +1 -0
  80. package/dist/commands/pr/comment-get.d.ts +16 -0
  81. package/dist/commands/pr/comment-get.js +49 -0
  82. package/dist/commands/pr/comment-get.js.map +1 -0
  83. package/dist/commands/pr/comment-history.d.ts +16 -0
  84. package/dist/commands/pr/comment-history.js +51 -0
  85. package/dist/commands/pr/comment-history.js.map +1 -0
  86. package/dist/commands/pr/comment-reactions.d.ts +19 -0
  87. package/dist/commands/pr/comment-reactions.js +58 -0
  88. package/dist/commands/pr/comment-reactions.js.map +1 -0
  89. package/dist/commands/pr/files.d.ts +16 -0
  90. package/dist/commands/pr/files.js +52 -0
  91. package/dist/commands/pr/files.js.map +1 -0
  92. package/dist/commands/pr/history.d.ts +16 -0
  93. package/dist/commands/pr/history.js +51 -0
  94. package/dist/commands/pr/history.js.map +1 -0
  95. package/dist/commands/pr/labels.d.ts +1 -0
  96. package/dist/commands/pr/labels.js +18 -0
  97. package/dist/commands/pr/labels.js.map +1 -1
  98. package/dist/commands/pr/linked-issues.d.ts +18 -0
  99. package/dist/commands/pr/linked-issues.js +56 -0
  100. package/dist/commands/pr/linked-issues.js.map +1 -0
  101. package/dist/commands/pr/option-reviewers.d.ts +16 -0
  102. package/dist/commands/pr/option-reviewers.js +50 -0
  103. package/dist/commands/pr/option-reviewers.js.map +1 -0
  104. package/dist/commands/pr/settings-update.d.ts +18 -0
  105. package/dist/commands/pr/settings-update.js +74 -0
  106. package/dist/commands/pr/settings-update.js.map +1 -0
  107. package/dist/commands/pr/settings.d.ts +10 -0
  108. package/dist/commands/pr/settings.js +45 -0
  109. package/dist/commands/pr/settings.js.map +1 -0
  110. package/dist/commands/search/users.d.ts +16 -0
  111. package/dist/commands/search/users.js +52 -0
  112. package/dist/commands/search/users.js.map +1 -0
  113. package/dist/commands/tag/create.d.ts +15 -0
  114. package/dist/commands/tag/create.js +58 -0
  115. package/dist/commands/tag/create.js.map +1 -0
  116. package/dist/commands/tag/delete.d.ts +13 -0
  117. package/dist/commands/tag/delete.js +42 -0
  118. package/dist/commands/tag/delete.js.map +1 -0
  119. package/dist/commands/tag/protect-create.d.ts +14 -0
  120. package/dist/commands/tag/protect-create.js +57 -0
  121. package/dist/commands/tag/protect-create.js.map +1 -0
  122. package/dist/commands/tag/protect-delete.d.ts +13 -0
  123. package/dist/commands/tag/protect-delete.js +42 -0
  124. package/dist/commands/tag/protect-delete.js.map +1 -0
  125. package/dist/commands/tag/protect-get.d.ts +13 -0
  126. package/dist/commands/tag/protect-get.js +48 -0
  127. package/dist/commands/tag/protect-get.js.map +1 -0
  128. package/dist/commands/tag/protect-update.d.ts +14 -0
  129. package/dist/commands/tag/protect-update.js +54 -0
  130. package/dist/commands/tag/protect-update.js.map +1 -0
  131. package/dist/commands/user/edit.d.ts +16 -0
  132. package/dist/commands/user/edit.js +76 -0
  133. package/dist/commands/user/edit.js.map +1 -0
  134. package/dist/commands/user/events.d.ts +14 -0
  135. package/dist/commands/user/events.js +61 -0
  136. package/dist/commands/user/events.js.map +1 -0
  137. package/dist/commands/user/issues.d.ts +16 -0
  138. package/dist/commands/user/issues.js +71 -0
  139. package/dist/commands/user/issues.js.map +1 -0
  140. package/dist/commands/user/key-add.d.ts +11 -0
  141. package/dist/commands/user/key-add.js +28 -0
  142. package/dist/commands/user/key-add.js.map +1 -0
  143. package/dist/commands/user/key-delete.d.ts +12 -0
  144. package/dist/commands/user/key-delete.js +27 -0
  145. package/dist/commands/user/key-delete.js.map +1 -0
  146. package/dist/commands/user/key-get.d.ts +12 -0
  147. package/dist/commands/user/key-get.js +36 -0
  148. package/dist/commands/user/key-get.js.map +1 -0
  149. package/dist/commands/user/keys.d.ts +11 -0
  150. package/dist/commands/user/keys.js +44 -0
  151. package/dist/commands/user/keys.js.map +1 -0
  152. package/dist/commands/user/leave-org.d.ts +12 -0
  153. package/dist/commands/user/leave-org.js +29 -0
  154. package/dist/commands/user/leave-org.js.map +1 -0
  155. package/dist/commands/user/membership.d.ts +12 -0
  156. package/dist/commands/user/membership.js +37 -0
  157. package/dist/commands/user/membership.js.map +1 -0
  158. package/dist/commands/user/namespace.d.ts +12 -0
  159. package/dist/commands/user/namespace.js +39 -0
  160. package/dist/commands/user/namespace.js.map +1 -0
  161. package/dist/commands/user/namespaces.d.ts +12 -0
  162. package/dist/commands/user/namespaces.js +51 -0
  163. package/dist/commands/user/namespaces.js.map +1 -0
  164. package/dist/commands/user/orgs.d.ts +14 -0
  165. package/dist/commands/user/orgs.js +48 -0
  166. package/dist/commands/user/orgs.js.map +1 -0
  167. package/dist/commands/user/prs.d.ts +16 -0
  168. package/dist/commands/user/prs.js +68 -0
  169. package/dist/commands/user/prs.js.map +1 -0
  170. package/dist/commands/user/search.d.ts +16 -0
  171. package/dist/commands/user/search.js +57 -0
  172. package/dist/commands/user/search.js.map +1 -0
  173. package/dist/commands/user/starred.d.ts +16 -0
  174. package/dist/commands/user/starred.js +60 -0
  175. package/dist/commands/user/starred.js.map +1 -0
  176. package/dist/commands/user/subscriptions.d.ts +16 -0
  177. package/dist/commands/user/subscriptions.js +60 -0
  178. package/dist/commands/user/subscriptions.js.map +1 -0
  179. package/dist/commands/user/update.d.ts +15 -0
  180. package/dist/commands/user/update.js +60 -0
  181. package/dist/commands/user/update.js.map +1 -0
  182. package/package.json +1 -1
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const repo_command_1 = require("../../repo-command");
5
+ const index_1 = require("../../config/index");
6
+ const tags_1 = require("../../api/tags");
7
+ const client_1 = require("../../api/client");
8
+ class TagProtectDelete extends repo_command_1.RepoCommand {
9
+ async run() {
10
+ const { args, flags } = await this.parse(TagProtectDelete);
11
+ const token = (0, index_1.getToken)();
12
+ if (!token)
13
+ this.error('Not logged in. Run: oh-gc auth login');
14
+ let owner, repo;
15
+ try {
16
+ ;
17
+ ({ owner, repo } = this.resolveRepoFromFlags(flags));
18
+ }
19
+ catch (err) {
20
+ this.error(err.message);
21
+ }
22
+ try {
23
+ await (0, tags_1.deleteProtectedTag)(token, owner, repo, args.name);
24
+ this.log(`Deleted protected tag "${args.name}"`);
25
+ }
26
+ catch (err) {
27
+ if (err instanceof client_1.GitCodeError)
28
+ this.error(err.message);
29
+ this.error('Could not connect to GitCode. Check your internet connection.');
30
+ }
31
+ }
32
+ }
33
+ TagProtectDelete.description = 'Delete a protected tag rule';
34
+ TagProtectDelete.examples = ['<%= config.bin %> tag protect-delete "v*"'];
35
+ TagProtectDelete.args = {
36
+ name: core_1.Args.string({ description: 'Protected tag name or pattern to remove', required: true }),
37
+ };
38
+ TagProtectDelete.flags = {
39
+ ...repo_command_1.RepoCommand.repoFlags,
40
+ };
41
+ exports.default = TagProtectDelete;
42
+ //# sourceMappingURL=protect-delete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protect-delete.js","sourceRoot":"","sources":["../../../src/commands/tag/protect-delete.ts"],"names":[],"mappings":";;AAAA,sCAAkC;AAClC,qDAAgD;AAChD,8CAA6C;AAC7C,yCAAmD;AACnD,6CAA+C;AAE/C,MAAqB,gBAAiB,SAAQ,0BAAW;IAYvD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;QAE1D,MAAM,KAAK,GAAG,IAAA,gBAAQ,GAAE,CAAA;QACxB,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAA;QAE9D,IAAI,KAAa,EAAE,IAAY,CAAA;QAC/B,IAAI,CAAC;YACH,CAAC;YAAA,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAA;QACvD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,KAAK,CAAE,GAAa,CAAC,OAAO,CAAC,CAAA;QACpC,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAA,yBAAkB,EAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;YACvD,IAAI,CAAC,GAAG,CAAC,0BAA0B,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;QAClD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,qBAAY;gBAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACxD,IAAI,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAA;QAC7E,CAAC;IACH,CAAC;;AA/BM,4BAAW,GAAG,6BAA6B,CAAA;AAC3C,yBAAQ,GAAG,CAAC,2CAA2C,CAAC,CAAA;AAExD,qBAAI,GAAG;IACZ,IAAI,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,yCAAyC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;CAC9F,CAAA;AAEM,sBAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;CACzB,CAAA;kBAVkB,gBAAgB"}
@@ -0,0 +1,13 @@
1
+ import { RepoCommand } from '../../repo-command';
2
+ export default class TagProtectGet extends RepoCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static args: {
6
+ name: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
7
+ };
8
+ static flags: {
9
+ repo: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
10
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
11
+ };
12
+ run(): Promise<void>;
13
+ }
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const repo_command_1 = require("../../repo-command");
5
+ const index_1 = require("../../config/index");
6
+ const tags_1 = require("../../api/tags");
7
+ const client_1 = require("../../api/client");
8
+ const index_2 = require("../../ui/index");
9
+ class TagProtectGet extends repo_command_1.RepoCommand {
10
+ async run() {
11
+ const { args, flags } = await this.parse(TagProtectGet);
12
+ const token = (0, index_1.getToken)();
13
+ if (!token)
14
+ this.error('Not logged in. Run: oh-gc auth login');
15
+ let owner, repo;
16
+ try {
17
+ ;
18
+ ({ owner, repo } = this.resolveRepoFromFlags(flags));
19
+ }
20
+ catch (err) {
21
+ this.error(err.message);
22
+ }
23
+ try {
24
+ const rule = await (0, tags_1.getProtectedTag)(token, owner, repo, args.name);
25
+ if (flags.json) {
26
+ (0, index_2.printJson)(rule);
27
+ return;
28
+ }
29
+ this.log(`Tag: ${rule.name}`);
30
+ this.log(`Level: ${rule.create_access_level} (${rule.create_access_level_desc})`);
31
+ }
32
+ catch (err) {
33
+ if (err instanceof client_1.GitCodeError)
34
+ this.error(err.message);
35
+ this.error('Could not connect to GitCode. Check your internet connection.');
36
+ }
37
+ }
38
+ }
39
+ TagProtectGet.description = 'Get protected tag details';
40
+ TagProtectGet.examples = ['<%= config.bin %> tag protect-get v1.0.0'];
41
+ TagProtectGet.args = {
42
+ name: core_1.Args.string({ description: 'Protected tag name', required: true }),
43
+ };
44
+ TagProtectGet.flags = {
45
+ ...repo_command_1.RepoCommand.repoFlags,
46
+ };
47
+ exports.default = TagProtectGet;
48
+ //# sourceMappingURL=protect-get.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protect-get.js","sourceRoot":"","sources":["../../../src/commands/tag/protect-get.ts"],"names":[],"mappings":";;AAAA,sCAAkC;AAClC,qDAAgD;AAChD,8CAA6C;AAC7C,yCAAgD;AAChD,6CAA+C;AAC/C,0CAA0C;AAE1C,MAAqB,aAAc,SAAQ,0BAAW;IAYpD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;QAEvD,MAAM,KAAK,GAAG,IAAA,gBAAQ,GAAE,CAAA;QACxB,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAA;QAE9D,IAAI,KAAa,EAAE,IAAY,CAAA;QAC/B,IAAI,CAAC;YACH,CAAC;YAAA,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAA;QACvD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,KAAK,CAAE,GAAa,CAAC,OAAO,CAAC,CAAA;QACpC,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAA,sBAAe,EAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;YAEjE,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACf,IAAA,iBAAS,EAAC,IAAI,CAAC,CAAA;gBACf,OAAM;YACR,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;YACjC,IAAI,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,mBAAmB,KAAK,IAAI,CAAC,wBAAwB,GAAG,CAAC,CAAA;QACrF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,qBAAY;gBAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACxD,IAAI,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAA;QAC7E,CAAC;IACH,CAAC;;AAtCM,yBAAW,GAAG,2BAA2B,CAAA;AACzC,sBAAQ,GAAG,CAAC,0CAA0C,CAAC,CAAA;AAEvD,kBAAI,GAAG;IACZ,IAAI,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,oBAAoB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;CACzE,CAAA;AAEM,mBAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;CACzB,CAAA;kBAVkB,aAAa"}
@@ -0,0 +1,14 @@
1
+ import { RepoCommand } from '../../repo-command';
2
+ export default class TagProtectUpdate extends RepoCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static args: {
6
+ name: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
7
+ };
8
+ static flags: {
9
+ 'access-level': import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
10
+ repo: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
11
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
12
+ };
13
+ run(): Promise<void>;
14
+ }
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const repo_command_1 = require("../../repo-command");
5
+ const index_1 = require("../../config/index");
6
+ const tags_1 = require("../../api/tags");
7
+ const client_1 = require("../../api/client");
8
+ const index_2 = require("../../ui/index");
9
+ class TagProtectUpdate extends repo_command_1.RepoCommand {
10
+ async run() {
11
+ const { args, flags } = await this.parse(TagProtectUpdate);
12
+ const token = (0, index_1.getToken)();
13
+ if (!token)
14
+ this.error('Not logged in. Run: oh-gc auth login');
15
+ let owner, repo;
16
+ try {
17
+ ;
18
+ ({ owner, repo } = this.resolveRepoFromFlags(flags));
19
+ }
20
+ catch (err) {
21
+ this.error(err.message);
22
+ }
23
+ try {
24
+ const rule = await (0, tags_1.updateProtectedTag)(token, owner, repo, {
25
+ name: args.name,
26
+ create_access_level: flags['access-level'],
27
+ });
28
+ if (flags.json) {
29
+ (0, index_2.printJson)(rule);
30
+ return;
31
+ }
32
+ this.log(`Updated protected tag "${args.name}" (access level: ${flags['access-level']})`);
33
+ }
34
+ catch (err) {
35
+ if (err instanceof client_1.GitCodeError)
36
+ this.error(err.message);
37
+ this.error('Could not connect to GitCode. Check your internet connection.');
38
+ }
39
+ }
40
+ }
41
+ TagProtectUpdate.description = 'Update a protected tag rule';
42
+ TagProtectUpdate.examples = ['<%= config.bin %> tag protect-update "v*" --access-level 30'];
43
+ TagProtectUpdate.args = {
44
+ name: core_1.Args.string({ description: 'Protected tag name or pattern', required: true }),
45
+ };
46
+ TagProtectUpdate.flags = {
47
+ ...repo_command_1.RepoCommand.repoFlags,
48
+ 'access-level': core_1.Flags.integer({
49
+ description: 'New access level (0=no one, 30=developers, 40=maintainers)',
50
+ required: true,
51
+ }),
52
+ };
53
+ exports.default = TagProtectUpdate;
54
+ //# sourceMappingURL=protect-update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protect-update.js","sourceRoot":"","sources":["../../../src/commands/tag/protect-update.ts"],"names":[],"mappings":";;AAAA,sCAAyC;AACzC,qDAAgD;AAChD,8CAA6C;AAC7C,yCAAmD;AACnD,6CAA+C;AAC/C,0CAA0C;AAE1C,MAAqB,gBAAiB,SAAQ,0BAAW;IAgBvD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;QAE1D,MAAM,KAAK,GAAG,IAAA,gBAAQ,GAAE,CAAA;QACxB,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAA;QAE9D,IAAI,KAAa,EAAE,IAAY,CAAA;QAC/B,IAAI,CAAC;YACH,CAAC;YAAA,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAA;QACvD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,KAAK,CAAE,GAAa,CAAC,OAAO,CAAC,CAAA;QACpC,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAA,yBAAkB,EAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE;gBACxD,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,mBAAmB,EAAE,KAAK,CAAC,cAAc,CAAC;aAC3C,CAAC,CAAA;YAEF,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACf,IAAA,iBAAS,EAAC,IAAI,CAAC,CAAA;gBACf,OAAM;YACR,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,0BAA0B,IAAI,CAAC,IAAI,oBAAoB,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;QAC3F,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,qBAAY;gBAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACxD,IAAI,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAA;QAC7E,CAAC;IACH,CAAC;;AA5CM,4BAAW,GAAG,6BAA6B,CAAA;AAC3C,yBAAQ,GAAG,CAAC,6DAA6D,CAAC,CAAA;AAE1E,qBAAI,GAAG;IACZ,IAAI,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,+BAA+B,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;CACpF,CAAA;AAEM,sBAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,cAAc,EAAE,YAAK,CAAC,OAAO,CAAC;QAC5B,WAAW,EAAE,4DAA4D;QACzE,QAAQ,EAAE,IAAI;KACf,CAAC;CACH,CAAA;kBAdkB,gBAAgB"}
@@ -0,0 +1,16 @@
1
+ import { BaseCommand } from '../../base-command';
2
+ export default class UserEdit extends BaseCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static flags: {
6
+ name: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
7
+ bio: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
8
+ location: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
9
+ company: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
10
+ blog: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
11
+ email: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
12
+ 'github-account': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
13
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
14
+ };
15
+ run(): Promise<void>;
16
+ }
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const base_command_1 = require("../../base-command");
4
+ const user_1 = require("../../api/user");
5
+ const config_1 = require("../../config");
6
+ const ui_1 = require("../../ui");
7
+ const core_1 = require("@oclif/core");
8
+ class UserEdit extends base_command_1.BaseCommand {
9
+ async run() {
10
+ const { flags } = await this.parse(UserEdit);
11
+ const token = (0, config_1.getToken)();
12
+ if (!token) {
13
+ this.error('Not authenticated. Run: oh-gc auth login');
14
+ }
15
+ const data = {};
16
+ if (flags.name)
17
+ data.nickname = flags.name;
18
+ if (flags.bio)
19
+ data.description = flags.bio;
20
+ if (flags.location)
21
+ data.location = flags.location;
22
+ if (flags.company)
23
+ data.company = flags.company;
24
+ if (flags.blog)
25
+ data.website = flags.blog;
26
+ if (flags.email)
27
+ data.email = flags.email;
28
+ if (flags['github-account'])
29
+ data.github_account = flags['github-account'];
30
+ if (Object.keys(data).length === 0) {
31
+ // No flags provided — show current profile
32
+ const user = await (0, user_1.getCurrentUser)(token);
33
+ if (flags.json) {
34
+ (0, ui_1.printJson)(user);
35
+ }
36
+ else {
37
+ this.log(`Login: ${user.login}`);
38
+ this.log(`Name: ${user.name || 'N/A'}`);
39
+ this.log(`Bio: ${user.bio || 'N/A'}`);
40
+ this.log(`Location: ${user.location || 'N/A'}`);
41
+ this.log(`Company: ${user.company || 'N/A'}`);
42
+ this.log(`Blog: ${user.blog || 'N/A'}`);
43
+ }
44
+ return;
45
+ }
46
+ const user = await (0, user_1.updateUser)(token, data);
47
+ if (flags.json) {
48
+ (0, ui_1.printJson)(user);
49
+ }
50
+ else {
51
+ this.log('Profile updated successfully.');
52
+ this.log(`Name: ${user.name || 'N/A'}`);
53
+ this.log(`Bio: ${user.bio || 'N/A'}`);
54
+ this.log(`Location: ${user.location || 'N/A'}`);
55
+ this.log(`Company: ${user.company || 'N/A'}`);
56
+ this.log(`Blog: ${user.blog || 'N/A'}`);
57
+ }
58
+ }
59
+ }
60
+ UserEdit.description = 'Update authenticated user profile';
61
+ UserEdit.examples = [
62
+ '<%= config.bin %> user:edit --name "New Name"',
63
+ '<%= config.bin %> user:edit --bio "My bio" --location "Beijing"',
64
+ ];
65
+ UserEdit.flags = {
66
+ ...base_command_1.BaseCommand.baseFlags,
67
+ name: core_1.Flags.string({ description: 'Display name / nickname' }),
68
+ bio: core_1.Flags.string({ description: 'Biography / description' }),
69
+ location: core_1.Flags.string({ description: 'Location' }),
70
+ company: core_1.Flags.string({ description: 'Company' }),
71
+ blog: core_1.Flags.string({ description: 'Website / blog URL' }),
72
+ email: core_1.Flags.string({ description: 'Email address' }),
73
+ 'github-account': core_1.Flags.string({ description: 'GitHub account' }),
74
+ };
75
+ exports.default = UserEdit;
76
+ //# sourceMappingURL=edit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edit.js","sourceRoot":"","sources":["../../../src/commands/user/edit.ts"],"names":[],"mappings":";;AAAA,qDAAgD;AAChD,yCAA2D;AAC3D,yCAAuC;AACvC,iCAAoC;AACpC,sCAAmC;AAEnC,MAAqB,QAAS,SAAQ,0BAAW;IAmB/C,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAC5C,MAAM,KAAK,GAAG,IAAA,iBAAQ,GAAE,CAAA;QACxB,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAA;QACxD,CAAC;QAED,MAAM,IAAI,GAA2B,EAAE,CAAA;QACvC,IAAI,KAAK,CAAC,IAAI;YAAE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAA;QAC1C,IAAI,KAAK,CAAC,GAAG;YAAE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,GAAG,CAAA;QAC3C,IAAI,KAAK,CAAC,QAAQ;YAAE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAA;QAClD,IAAI,KAAK,CAAC,OAAO;YAAE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;QAC/C,IAAI,KAAK,CAAC,IAAI;YAAE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,IAAI,CAAA;QACzC,IAAI,KAAK,CAAC,KAAK;YAAE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;QACzC,IAAI,KAAK,CAAC,gBAAgB,CAAC;YAAE,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAA;QAE1E,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,2CAA2C;YAC3C,MAAM,IAAI,GAAG,MAAM,IAAA,qBAAc,EAAC,KAAK,CAAC,CAAA;YACxC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACf,IAAA,cAAS,EAAC,IAAI,CAAC,CAAA;YACjB,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;gBAChC,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC,CAAA;gBACvC,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,GAAG,IAAI,KAAK,EAAE,CAAC,CAAA;gBACrC,IAAI,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,QAAQ,IAAI,KAAK,EAAE,CAAC,CAAA;gBAC/C,IAAI,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,OAAO,IAAI,KAAK,EAAE,CAAC,CAAA;gBAC7C,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC,CAAA;YACzC,CAAC;YACD,OAAM;QACR,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAA,iBAAU,EAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QAC1C,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,IAAA,cAAS,EAAC,IAAI,CAAC,CAAA;QACjB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAA;YACzC,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC,CAAA;YACvC,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,GAAG,IAAI,KAAK,EAAE,CAAC,CAAA;YACrC,IAAI,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,QAAQ,IAAI,KAAK,EAAE,CAAC,CAAA;YAC/C,IAAI,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,OAAO,IAAI,KAAK,EAAE,CAAC,CAAA;YAC7C,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC,CAAA;QACzC,CAAC;IACH,CAAC;;AA7DM,oBAAW,GAAG,mCAAmC,CAAA;AAEjD,iBAAQ,GAAG;IAChB,+CAA+C;IAC/C,iEAAiE;CAClE,CAAA;AAEM,cAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,IAAI,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,yBAAyB,EAAE,CAAC;IAC9D,GAAG,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,yBAAyB,EAAE,CAAC;IAC7D,QAAQ,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;IACnD,OAAO,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;IACjD,IAAI,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC;IACzD,KAAK,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;IACrD,gBAAgB,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC;CAClE,CAAA;kBAjBkB,QAAQ"}
@@ -0,0 +1,14 @@
1
+ import { BaseCommand } from '../../base-command';
2
+ export default class UserEvents extends BaseCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static flags: {
6
+ year: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
7
+ next: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
8
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
9
+ };
10
+ static args: {
11
+ username: import("@oclif/core/lib/interfaces").Arg<string | undefined, Record<string, unknown>>;
12
+ };
13
+ run(): Promise<void>;
14
+ }
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const base_command_1 = require("../../base-command");
4
+ const user_1 = require("../../api/user");
5
+ const config_1 = require("../../config");
6
+ const ui_1 = require("../../ui");
7
+ const core_1 = require("@oclif/core");
8
+ class UserEvents extends base_command_1.BaseCommand {
9
+ async run() {
10
+ const { flags, args } = await this.parse(UserEvents);
11
+ const token = (0, config_1.getToken)();
12
+ if (!token) {
13
+ this.error('Not authenticated. Run: oh-gc auth login');
14
+ }
15
+ const username = args.username;
16
+ if (!username) {
17
+ this.error('Username is required. Usage: oh-gc user:events <username>');
18
+ }
19
+ const params = {};
20
+ if (flags.year)
21
+ params.year = flags.year;
22
+ if (flags.next)
23
+ params.next = flags.next;
24
+ const result = await (0, user_1.getUserEvents)(token, username, params);
25
+ if (flags.json) {
26
+ (0, ui_1.printJson)(result);
27
+ }
28
+ else {
29
+ const events = result.events || {};
30
+ const dates = Object.keys(events).sort().reverse();
31
+ if (dates.length === 0) {
32
+ this.log('No events found.');
33
+ return;
34
+ }
35
+ for (const date of dates) {
36
+ this.log(`\n${date}`);
37
+ const dayEvents = events[date];
38
+ for (const event of dayEvents) {
39
+ const author = event.author?.name || event.author?.username || 'unknown';
40
+ this.log(` ${event.action_name} by ${author}`);
41
+ }
42
+ }
43
+ }
44
+ }
45
+ }
46
+ UserEvents.description = 'List user activity events';
47
+ UserEvents.examples = [
48
+ '<%= config.bin %> user:events',
49
+ '<%= config.bin %> user:events alice',
50
+ '<%= config.bin %> user:events alice --year 2024',
51
+ ];
52
+ UserEvents.flags = {
53
+ ...base_command_1.BaseCommand.baseFlags,
54
+ year: core_1.Flags.string({ description: 'Start year filter (e.g. 2024)' }),
55
+ next: core_1.Flags.string({ description: 'End date filter' }),
56
+ };
57
+ UserEvents.args = {
58
+ username: core_1.Args.string({ description: 'Username (defaults to "me" for current user)' }),
59
+ };
60
+ exports.default = UserEvents;
61
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/commands/user/events.ts"],"names":[],"mappings":";;AAAA,qDAAgD;AAChD,yCAA8C;AAC9C,yCAAuC;AACvC,iCAAoC;AACpC,sCAAyC;AAEzC,MAAqB,UAAW,SAAQ,0BAAW;IAmBjD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QACpD,MAAM,KAAK,GAAG,IAAA,iBAAQ,GAAE,CAAA;QACxB,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAA;QACxD,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC9B,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAA;QACzE,CAAC;QAED,MAAM,MAAM,GAAqC,EAAE,CAAA;QACnD,IAAI,KAAK,CAAC,IAAI;YAAE,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;QACxC,IAAI,KAAK,CAAC,IAAI;YAAE,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;QAExC,MAAM,MAAM,GAAG,MAAM,IAAA,oBAAa,EAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;QAE3D,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,IAAA,cAAS,EAAC,MAAM,CAAC,CAAA;QACnB,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAA;YAClC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,CAAA;YAClD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;gBAC5B,OAAM;YACR,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;gBACrB,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;gBAC9B,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;oBAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,IAAI,KAAK,CAAC,MAAM,EAAE,QAAQ,IAAI,SAAS,CAAA;oBACxE,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,WAAW,OAAO,MAAM,EAAE,CAAC,CAAA;gBACjD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;;AAtDM,sBAAW,GAAG,2BAA2B,CAAA;AAEzC,mBAAQ,GAAG;IAChB,+BAA+B;IAC/B,qCAAqC;IACrC,iDAAiD;CAClD,CAAA;AAEM,gBAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,IAAI,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,+BAA+B,EAAE,CAAC;IACpE,IAAI,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;CACvD,CAAA;AAEM,eAAI,GAAG;IACZ,QAAQ,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,8CAA8C,EAAE,CAAC;CACvF,CAAA;kBAjBkB,UAAU"}
@@ -0,0 +1,16 @@
1
+ import { BaseCommand } from '../../base-command';
2
+ export default class UserIssues extends BaseCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static flags: {
6
+ filter: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
7
+ state: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
8
+ labels: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
9
+ sort: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
10
+ direction: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
11
+ page: import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
12
+ 'per-page': import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
13
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
14
+ };
15
+ run(): Promise<void>;
16
+ }
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const base_command_1 = require("../../base-command");
4
+ const user_1 = require("../../api/user");
5
+ const config_1 = require("../../config");
6
+ const ui_1 = require("../../ui");
7
+ const core_1 = require("@oclif/core");
8
+ class UserIssues extends base_command_1.BaseCommand {
9
+ async run() {
10
+ const { flags } = await this.parse(UserIssues);
11
+ const token = (0, config_1.getToken)();
12
+ if (!token) {
13
+ this.error('Not authenticated. Run: oh-gc auth login');
14
+ }
15
+ const issues = await (0, user_1.listUserIssues)(token, {
16
+ filter: flags.filter,
17
+ state: flags.state,
18
+ labels: flags.labels,
19
+ sort: flags.sort,
20
+ direction: flags.direction,
21
+ page: flags.page,
22
+ per_page: flags['per-page'],
23
+ });
24
+ if (flags.json) {
25
+ (0, ui_1.printJson)(issues);
26
+ }
27
+ else {
28
+ if (issues.length === 0) {
29
+ this.log('No issues found.');
30
+ return;
31
+ }
32
+ (0, ui_1.printTable)(issues.map((i) => ({
33
+ number: `#${i.number}`,
34
+ title: i.title,
35
+ state: i.state,
36
+ assignee: i.assignee?.login || '-',
37
+ created: i.created_at ? (0, ui_1.formatDate)(i.created_at) : '',
38
+ })), ['number', 'title', 'state', 'assignee', 'created']);
39
+ }
40
+ }
41
+ }
42
+ UserIssues.description = 'List authenticated user issues across all repos';
43
+ UserIssues.examples = [
44
+ '<%= config.bin %> user:issues',
45
+ '<%= config.bin %> user:issues --state closed',
46
+ '<%= config.bin %> user:issues --filter created --sort updated_at',
47
+ ];
48
+ UserIssues.flags = {
49
+ ...base_command_1.BaseCommand.baseFlags,
50
+ filter: core_1.Flags.string({
51
+ description: 'Filter: assigned, created, or all',
52
+ options: ['assigned', 'created', 'all'],
53
+ }),
54
+ state: core_1.Flags.string({
55
+ description: 'Issue state: open, progressing, closed, rejected, all',
56
+ default: 'open',
57
+ }),
58
+ labels: core_1.Flags.string({ description: 'Comma-separated label names' }),
59
+ sort: core_1.Flags.string({
60
+ description: 'Sort by: created or updated_at',
61
+ default: 'created',
62
+ }),
63
+ direction: core_1.Flags.string({
64
+ description: 'Sort direction: asc or desc',
65
+ default: 'desc',
66
+ }),
67
+ page: core_1.Flags.integer({ description: 'Page number', default: 1 }),
68
+ 'per-page': core_1.Flags.integer({ description: 'Results per page (max 100)', default: 20 }),
69
+ };
70
+ exports.default = UserIssues;
71
+ //# sourceMappingURL=issues.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"issues.js","sourceRoot":"","sources":["../../../src/commands/user/issues.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { BaseCommand } from '../../base-command';
2
+ export default class UserKeyAdd extends BaseCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static flags: {
6
+ title: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
7
+ key: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
8
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
9
+ };
10
+ run(): Promise<void>;
11
+ }
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const base_command_1 = require("../../base-command");
4
+ const user_1 = require("../../api/user");
5
+ const config_1 = require("../../config");
6
+ const core_1 = require("@oclif/core");
7
+ class UserKeyAdd extends base_command_1.BaseCommand {
8
+ async run() {
9
+ const { flags } = await this.parse(UserKeyAdd);
10
+ const token = (0, config_1.getToken)();
11
+ if (!token) {
12
+ this.error('Not authenticated. Run: oh-gc auth login');
13
+ }
14
+ const key = await (0, user_1.addUserKey)(token, { title: flags.title, key: flags.key });
15
+ this.log(`SSH key "${key.title}" added successfully (ID: ${key.id})`);
16
+ }
17
+ }
18
+ UserKeyAdd.description = 'Add an SSH public key';
19
+ UserKeyAdd.examples = [
20
+ '<%= config.bin %> user:key-add --title "My Laptop" --key "ssh-rsa AAA..."',
21
+ ];
22
+ UserKeyAdd.flags = {
23
+ ...base_command_1.BaseCommand.baseFlags,
24
+ title: core_1.Flags.string({ description: 'Title for the key', required: true }),
25
+ key: core_1.Flags.string({ description: 'SSH public key content', required: true }),
26
+ };
27
+ exports.default = UserKeyAdd;
28
+ //# sourceMappingURL=key-add.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key-add.js","sourceRoot":"","sources":["../../../src/commands/user/key-add.ts"],"names":[],"mappings":";;AAAA,qDAAgD;AAChD,yCAA2C;AAC3C,yCAAuC;AACvC,sCAAyC;AAEzC,MAAqB,UAAW,SAAQ,0BAAW;IAajD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QAC9C,MAAM,KAAK,GAAG,IAAA,iBAAQ,GAAE,CAAA;QACxB,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAA;QACxD,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,IAAA,iBAAU,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAA;QAE3E,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,KAAK,6BAA6B,GAAG,CAAC,EAAE,GAAG,CAAC,CAAA;IACvE,CAAC;;AAtBM,sBAAW,GAAG,uBAAuB,CAAA;AAErC,mBAAQ,GAAG;IAChB,2EAA2E;CAC5E,CAAA;AAEM,gBAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,KAAK,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACzE,GAAG,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,wBAAwB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;CAC7E,CAAA;kBAXkB,UAAU"}
@@ -0,0 +1,12 @@
1
+ import { BaseCommand } from '../../base-command';
2
+ export default class UserKeyDelete extends BaseCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static flags: {
6
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
7
+ };
8
+ static args: {
9
+ id: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
10
+ };
11
+ run(): Promise<void>;
12
+ }
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const base_command_1 = require("../../base-command");
4
+ const user_1 = require("../../api/user");
5
+ const config_1 = require("../../config");
6
+ const core_1 = require("@oclif/core");
7
+ class UserKeyDelete extends base_command_1.BaseCommand {
8
+ async run() {
9
+ const { args } = await this.parse(UserKeyDelete);
10
+ const token = (0, config_1.getToken)();
11
+ if (!token) {
12
+ this.error('Not authenticated. Run: oh-gc auth login');
13
+ }
14
+ await (0, user_1.deleteUserKey)(token, parseInt(args.id, 10));
15
+ this.log(`SSH key ${args.id} deleted successfully.`);
16
+ }
17
+ }
18
+ UserKeyDelete.description = 'Delete an SSH public key';
19
+ UserKeyDelete.examples = ['<%= config.bin %> user:key-delete 123'];
20
+ UserKeyDelete.flags = {
21
+ ...base_command_1.BaseCommand.baseFlags,
22
+ };
23
+ UserKeyDelete.args = {
24
+ id: core_1.Args.string({ description: 'SSH key ID', required: true }),
25
+ };
26
+ exports.default = UserKeyDelete;
27
+ //# sourceMappingURL=key-delete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key-delete.js","sourceRoot":"","sources":["../../../src/commands/user/key-delete.ts"],"names":[],"mappings":";;AAAA,qDAAgD;AAChD,yCAA8C;AAC9C,yCAAuC;AACvC,sCAAkC;AAElC,MAAqB,aAAc,SAAQ,0BAAW;IAapD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;QAChD,MAAM,KAAK,GAAG,IAAA,iBAAQ,GAAE,CAAA;QACxB,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAA;QACxD,CAAC;QAED,MAAM,IAAA,oBAAa,EAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QAEjD,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,EAAE,wBAAwB,CAAC,CAAA;IACtD,CAAC;;AAtBM,yBAAW,GAAG,0BAA0B,CAAA;AAExC,sBAAQ,GAAG,CAAC,uCAAuC,CAAC,CAAA;AAEpD,mBAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;CACzB,CAAA;AAEM,kBAAI,GAAG;IACZ,EAAE,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;CAC/D,CAAA;kBAXkB,aAAa"}
@@ -0,0 +1,12 @@
1
+ import { BaseCommand } from '../../base-command';
2
+ export default class UserKeyGet extends BaseCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static flags: {
6
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
7
+ };
8
+ static args: {
9
+ id: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
10
+ };
11
+ run(): Promise<void>;
12
+ }
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const base_command_1 = require("../../base-command");
4
+ const user_1 = require("../../api/user");
5
+ const config_1 = require("../../config");
6
+ const ui_1 = require("../../ui");
7
+ const core_1 = require("@oclif/core");
8
+ class UserKeyGet extends base_command_1.BaseCommand {
9
+ async run() {
10
+ const { flags, args } = await this.parse(UserKeyGet);
11
+ const token = (0, config_1.getToken)();
12
+ if (!token) {
13
+ this.error('Not authenticated. Run: oh-gc auth login');
14
+ }
15
+ const key = await (0, user_1.getUserKey)(token, args.id);
16
+ if (flags.json) {
17
+ (0, ui_1.printJson)(key);
18
+ }
19
+ else {
20
+ this.log(`ID: ${key.id}`);
21
+ this.log(`Title: ${key.title}`);
22
+ this.log(`Key: ${key.key}`);
23
+ this.log(`Created: ${key.created_at}`);
24
+ }
25
+ }
26
+ }
27
+ UserKeyGet.description = 'View an SSH public key';
28
+ UserKeyGet.examples = ['<%= config.bin %> user key-get 12345'];
29
+ UserKeyGet.flags = {
30
+ ...base_command_1.BaseCommand.baseFlags,
31
+ };
32
+ UserKeyGet.args = {
33
+ id: core_1.Args.string({ description: 'Key ID', required: true }),
34
+ };
35
+ exports.default = UserKeyGet;
36
+ //# sourceMappingURL=key-get.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key-get.js","sourceRoot":"","sources":["../../../src/commands/user/key-get.ts"],"names":[],"mappings":";;AAAA,qDAAgD;AAChD,yCAA2C;AAC3C,yCAAuC;AACvC,iCAAoC;AACpC,sCAAkC;AAElC,MAAqB,UAAW,SAAQ,0BAAW;IAajD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QACpD,MAAM,KAAK,GAAG,IAAA,iBAAQ,GAAE,CAAA;QACxB,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAA;QACxD,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,IAAA,iBAAU,EAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;QAE5C,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,IAAA,cAAS,EAAC,GAAG,CAAC,CAAA;QAChB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,EAAE,EAAE,CAAC,CAAA;YACzB,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,KAAK,EAAE,CAAC,CAAA;YAC/B,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,GAAG,EAAE,CAAC,CAAA;YAC3B,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,UAAU,EAAE,CAAC,CAAA;QACxC,CAAC;IACH,CAAC;;AA7BM,sBAAW,GAAG,wBAAwB,CAAA;AAEtC,mBAAQ,GAAG,CAAC,sCAAsC,CAAC,CAAA;AAEnD,gBAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;CACzB,CAAA;AAEM,eAAI,GAAG;IACZ,EAAE,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;CAC3D,CAAA;kBAXkB,UAAU"}
@@ -0,0 +1,11 @@
1
+ import { BaseCommand } from '../../base-command';
2
+ export default class UserKeys extends BaseCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static flags: {
6
+ page: import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
7
+ 'per-page': import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
8
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
9
+ };
10
+ run(): Promise<void>;
11
+ }