@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,44 @@
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 UserKeys extends base_command_1.BaseCommand {
9
+ async run() {
10
+ const { flags } = await this.parse(UserKeys);
11
+ const token = (0, config_1.getToken)();
12
+ if (!token) {
13
+ this.error('Not authenticated. Run: oh-gc auth login');
14
+ }
15
+ const keys = await (0, user_1.getUserKeys)(token, {
16
+ page: flags.page,
17
+ per_page: flags['per-page'],
18
+ });
19
+ if (flags.json) {
20
+ (0, ui_1.printJson)(keys);
21
+ }
22
+ else {
23
+ if (keys.length === 0) {
24
+ this.log('No SSH keys found.');
25
+ return;
26
+ }
27
+ (0, ui_1.printTable)(keys.map((k) => ({
28
+ id: k.id,
29
+ title: k.title,
30
+ key: k.key.substring(0, 40) + '...',
31
+ created_at: k.created_at?.substring(0, 10) || '',
32
+ })), ['id', 'title', 'key', 'created_at']);
33
+ }
34
+ }
35
+ }
36
+ UserKeys.description = 'List SSH public keys for authenticated user';
37
+ UserKeys.examples = ['<%= config.bin %> user:keys'];
38
+ UserKeys.flags = {
39
+ ...base_command_1.BaseCommand.baseFlags,
40
+ page: core_1.Flags.integer({ description: 'Page number', default: 1 }),
41
+ 'per-page': core_1.Flags.integer({ description: 'Results per page (max 100)', default: 20 }),
42
+ };
43
+ exports.default = UserKeys;
44
+ //# sourceMappingURL=keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../src/commands/user/keys.ts"],"names":[],"mappings":";;AAAA,qDAAgD;AAChD,yCAA4C;AAC5C,yCAAuC;AACvC,iCAAgD;AAChD,sCAAmC;AAEnC,MAAqB,QAAS,SAAQ,0BAAW;IAW/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,GAAG,MAAM,IAAA,kBAAW,EAAC,KAAK,EAAE;YACpC,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC;SAC5B,CAAC,CAAA;QAEF,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,IAAA,cAAS,EAAC,IAAI,CAAC,CAAA;QACjB,CAAC;aAAM,CAAC;YACN,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtB,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;gBAC9B,OAAM;YACR,CAAC;YACD,IAAA,eAAU,EACR,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACf,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK;gBACnC,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE;aACjD,CAAC,CAAC,EACH,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,CACrC,CAAA;QACH,CAAC;IACH,CAAC;;AAvCM,oBAAW,GAAG,6CAA6C,CAAA;AAE3D,iBAAQ,GAAG,CAAC,6BAA6B,CAAC,CAAA;AAE1C,cAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,IAAI,EAAE,YAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IAC/D,UAAU,EAAE,YAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,4BAA4B,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;CACtF,CAAA;kBATkB,QAAQ"}
@@ -0,0 +1,12 @@
1
+ import { BaseCommand } from '../../base-command';
2
+ export default class UserLeaveOrg 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
+ org: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
10
+ };
11
+ run(): Promise<void>;
12
+ }
@@ -0,0 +1,29 @@
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 UserLeaveOrg extends base_command_1.BaseCommand {
8
+ async run() {
9
+ const { args } = await this.parse(UserLeaveOrg);
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.leaveOrg)(token, args.org);
15
+ this.log(`Successfully left organization "${args.org}".`);
16
+ }
17
+ }
18
+ UserLeaveOrg.description = 'Leave an organization';
19
+ UserLeaveOrg.examples = [
20
+ '<%= config.bin %> user:leave-org myorg',
21
+ ];
22
+ UserLeaveOrg.flags = {
23
+ ...base_command_1.BaseCommand.baseFlags,
24
+ };
25
+ UserLeaveOrg.args = {
26
+ org: core_1.Args.string({ description: 'Organization path', required: true }),
27
+ };
28
+ exports.default = UserLeaveOrg;
29
+ //# sourceMappingURL=leave-org.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"leave-org.js","sourceRoot":"","sources":["../../../src/commands/user/leave-org.ts"],"names":[],"mappings":";;AAAA,qDAAgD;AAChD,yCAAyC;AACzC,yCAAuC;AACvC,sCAAkC;AAElC,MAAqB,YAAa,SAAQ,0BAAW;IAenD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;QAC/C,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,eAAQ,EAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;QAE/B,IAAI,CAAC,GAAG,CAAC,mCAAmC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;IAC3D,CAAC;;AAxBM,wBAAW,GAAG,uBAAuB,CAAA;AAErC,qBAAQ,GAAG;IAChB,wCAAwC;CACzC,CAAA;AAEM,kBAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;CACzB,CAAA;AAEM,iBAAI,GAAG;IACZ,GAAG,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;CACvE,CAAA;kBAbkB,YAAY"}
@@ -0,0 +1,12 @@
1
+ import { BaseCommand } from '../../base-command';
2
+ export default class UserMembership 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
+ org: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
10
+ };
11
+ run(): Promise<void>;
12
+ }
@@ -0,0 +1,37 @@
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 UserMembership extends base_command_1.BaseCommand {
9
+ async run() {
10
+ const { flags, args } = await this.parse(UserMembership);
11
+ const token = (0, config_1.getToken)();
12
+ if (!token) {
13
+ this.error('Not authenticated. Run: oh-gc auth login');
14
+ }
15
+ const membership = await (0, user_1.getOrgMembership)(token, args.org);
16
+ if (flags.json) {
17
+ (0, ui_1.printJson)(membership);
18
+ }
19
+ else {
20
+ this.log(`Organization: ${membership.name} (${membership.path})`);
21
+ this.log(`URL: ${membership.url}`);
22
+ this.log(`User: ${membership.user.name} (${membership.user.login})`);
23
+ }
24
+ }
25
+ }
26
+ UserMembership.description = 'Get your membership in an organization';
27
+ UserMembership.examples = [
28
+ '<%= config.bin %> user:membership myorg',
29
+ ];
30
+ UserMembership.flags = {
31
+ ...base_command_1.BaseCommand.baseFlags,
32
+ };
33
+ UserMembership.args = {
34
+ org: core_1.Args.string({ description: 'Organization path', required: true }),
35
+ };
36
+ exports.default = UserMembership;
37
+ //# sourceMappingURL=membership.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"membership.js","sourceRoot":"","sources":["../../../src/commands/user/membership.ts"],"names":[],"mappings":";;AAAA,qDAAgD;AAChD,yCAAiD;AACjD,yCAAuC;AACvC,iCAAoC;AACpC,sCAAkC;AAElC,MAAqB,cAAe,SAAQ,0BAAW;IAerD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;QACxD,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,UAAU,GAAG,MAAM,IAAA,uBAAgB,EAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;QAE1D,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,IAAA,cAAS,EAAC,UAAU,CAAC,CAAA;QACvB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,iBAAiB,UAAU,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,GAAG,CAAC,CAAA;YACjE,IAAI,CAAC,GAAG,CAAC,QAAQ,UAAU,CAAC,GAAG,EAAE,CAAC,CAAA;YAClC,IAAI,CAAC,GAAG,CAAC,SAAS,UAAU,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAA;QACtE,CAAC;IACH,CAAC;;AA9BM,0BAAW,GAAG,wCAAwC,CAAA;AAEtD,uBAAQ,GAAG;IAChB,yCAAyC;CAC1C,CAAA;AAEM,oBAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;CACzB,CAAA;AAEM,mBAAI,GAAG;IACZ,GAAG,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;CACvE,CAAA;kBAbkB,cAAc"}
@@ -0,0 +1,12 @@
1
+ import { BaseCommand } from '../../base-command';
2
+ export default class UserNamespace 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
+ path: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
10
+ };
11
+ run(): Promise<void>;
12
+ }
@@ -0,0 +1,39 @@
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 UserNamespace extends base_command_1.BaseCommand {
9
+ async run() {
10
+ const { flags, args } = await this.parse(UserNamespace);
11
+ const token = (0, config_1.getToken)();
12
+ if (!token) {
13
+ this.error('Not authenticated. Run: oh-gc auth login');
14
+ }
15
+ const ns = await (0, user_1.getUserNamespace)(token, args.path);
16
+ if (flags.json) {
17
+ (0, ui_1.printJson)(ns);
18
+ }
19
+ else {
20
+ this.log(`Path: ${ns.path}`);
21
+ this.log(`Name: ${ns.name}`);
22
+ this.log(`Type: ${ns.type}`);
23
+ this.log(`URL: ${ns.html_url}`);
24
+ }
25
+ }
26
+ }
27
+ UserNamespace.description = 'Get a namespace by path';
28
+ UserNamespace.examples = [
29
+ '<%= config.bin %> user:namespace alice',
30
+ '<%= config.bin %> user:namespace myorg',
31
+ ];
32
+ UserNamespace.flags = {
33
+ ...base_command_1.BaseCommand.baseFlags,
34
+ };
35
+ UserNamespace.args = {
36
+ path: core_1.Args.string({ description: 'Namespace path', required: true }),
37
+ };
38
+ exports.default = UserNamespace;
39
+ //# sourceMappingURL=namespace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../../src/commands/user/namespace.ts"],"names":[],"mappings":";;AAAA,qDAAgD;AAChD,yCAAiD;AACjD,yCAAuC;AACvC,iCAAoC;AACpC,sCAAkC;AAElC,MAAqB,aAAc,SAAQ,0BAAW;IAgBpD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;QACvD,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,EAAE,GAAG,MAAM,IAAA,uBAAgB,EAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QAEnD,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,IAAA,cAAS,EAAC,EAAE,CAAC,CAAA;QACf,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,CAAA;YAC5B,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,CAAA;YAC5B,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,CAAA;YAC5B,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;QAClC,CAAC;IACH,CAAC;;AAhCM,yBAAW,GAAG,yBAAyB,CAAA;AAEvC,sBAAQ,GAAG;IAChB,wCAAwC;IACxC,wCAAwC;CACzC,CAAA;AAEM,mBAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;CACzB,CAAA;AAEM,kBAAI,GAAG;IACZ,IAAI,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;CACrE,CAAA;kBAdkB,aAAa"}
@@ -0,0 +1,12 @@
1
+ import { BaseCommand } from '../../base-command';
2
+ export default class UserNamespaces extends BaseCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static flags: {
6
+ mode: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
7
+ page: import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
8
+ 'per-page': import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
9
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
10
+ };
11
+ run(): Promise<void>;
12
+ }
@@ -0,0 +1,51 @@
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 UserNamespaces extends base_command_1.BaseCommand {
9
+ async run() {
10
+ const { flags } = await this.parse(UserNamespaces);
11
+ const token = (0, config_1.getToken)();
12
+ if (!token) {
13
+ this.error('Not authenticated. Run: oh-gc auth login');
14
+ }
15
+ const namespaces = await (0, user_1.getUserNamespaces)(token, {
16
+ mode: flags.mode,
17
+ page: flags.page,
18
+ perPage: flags['per-page'],
19
+ });
20
+ if (flags.json) {
21
+ (0, ui_1.printJson)(namespaces);
22
+ }
23
+ else {
24
+ if (namespaces.length === 0) {
25
+ this.log('No namespaces found.');
26
+ return;
27
+ }
28
+ (0, ui_1.printTable)(namespaces.map((ns) => ({
29
+ path: ns.path,
30
+ name: ns.name,
31
+ type: ns.type,
32
+ })), ['path', 'name', 'type']);
33
+ }
34
+ }
35
+ }
36
+ UserNamespaces.description = 'List all namespaces for authenticated user';
37
+ UserNamespaces.examples = [
38
+ '<%= config.bin %> user:namespaces',
39
+ '<%= config.bin %> user:namespaces --mode all',
40
+ ];
41
+ UserNamespaces.flags = {
42
+ ...base_command_1.BaseCommand.baseFlags,
43
+ mode: core_1.Flags.string({
44
+ description: 'Filter mode: project, intrant, or all (default)',
45
+ default: 'all',
46
+ }),
47
+ page: core_1.Flags.integer({ description: 'Page number', default: 1 }),
48
+ 'per-page': core_1.Flags.integer({ description: 'Results per page', default: 20 }),
49
+ };
50
+ exports.default = UserNamespaces;
51
+ //# sourceMappingURL=namespaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"namespaces.js","sourceRoot":"","sources":["../../../src/commands/user/namespaces.ts"],"names":[],"mappings":";;AAAA,qDAAgD;AAChD,yCAAkD;AAClD,yCAAuC;AACvC,iCAAgD;AAChD,sCAAmC;AAEnC,MAAqB,cAAe,SAAQ,0BAAW;IAkBrD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;QAClD,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,UAAU,GAAG,MAAM,IAAA,wBAAiB,EAAC,KAAK,EAAE;YAChD,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC;SAC3B,CAAC,CAAA;QAEF,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,IAAA,cAAS,EAAC,UAAU,CAAC,CAAA;QACvB,CAAC;aAAM,CAAC;YACN,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;gBAChC,OAAM;YACR,CAAC;YACD,IAAA,eAAU,EACR,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBACtB,IAAI,EAAE,EAAE,CAAC,IAAI;gBACb,IAAI,EAAE,EAAE,CAAC,IAAI;gBACb,IAAI,EAAE,EAAE,CAAC,IAAI;aACd,CAAC,CAAC,EACH,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CACzB,CAAA;QACH,CAAC;IACH,CAAC;;AA9CM,0BAAW,GAAG,4CAA4C,CAAA;AAE1D,uBAAQ,GAAG;IAChB,mCAAmC;IACnC,8CAA8C;CAC/C,CAAA;AAEM,oBAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,IAAI,EAAE,YAAK,CAAC,MAAM,CAAC;QACjB,WAAW,EAAE,iDAAiD;QAC9D,OAAO,EAAE,KAAK;KACf,CAAC;IACF,IAAI,EAAE,YAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IAC/D,UAAU,EAAE,YAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,kBAAkB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;CAC5E,CAAA;kBAhBkB,cAAc"}
@@ -0,0 +1,14 @@
1
+ import { BaseCommand } from '../../base-command';
2
+ export default class UserOrgs 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
+ static args: {
11
+ username: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
12
+ };
13
+ run(): Promise<void>;
14
+ }
@@ -0,0 +1,48 @@
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 UserOrgs extends base_command_1.BaseCommand {
9
+ async run() {
10
+ const { flags, args } = await this.parse(UserOrgs);
11
+ const token = (0, config_1.getToken)();
12
+ if (!token) {
13
+ this.error('Not authenticated. Run: oh-gc auth login');
14
+ }
15
+ const orgs = await (0, user_1.listUserOrgsByUsername)(token, args.username, {
16
+ page: flags.page,
17
+ per_page: flags['per-page'],
18
+ });
19
+ if (flags.json) {
20
+ (0, ui_1.printJson)(orgs);
21
+ }
22
+ else {
23
+ if (orgs.length === 0) {
24
+ this.log('No organizations found.');
25
+ return;
26
+ }
27
+ (0, ui_1.printTable)(orgs.map((o) => ({
28
+ login: o.login,
29
+ name: o.name,
30
+ description: o.description || '',
31
+ })), ['login', 'name', 'description']);
32
+ }
33
+ }
34
+ }
35
+ UserOrgs.description = 'List organizations a user belongs to';
36
+ UserOrgs.examples = [
37
+ '<%= config.bin %> user:orgs alice',
38
+ ];
39
+ UserOrgs.flags = {
40
+ ...base_command_1.BaseCommand.baseFlags,
41
+ page: core_1.Flags.integer({ description: 'Page number', default: 1 }),
42
+ 'per-page': core_1.Flags.integer({ description: 'Results per page (max 100)', default: 20 }),
43
+ };
44
+ UserOrgs.args = {
45
+ username: core_1.Args.string({ description: 'Username', required: true }),
46
+ };
47
+ exports.default = UserOrgs;
48
+ //# sourceMappingURL=orgs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orgs.js","sourceRoot":"","sources":["../../../src/commands/user/orgs.ts"],"names":[],"mappings":";;AAAA,qDAAgD;AAChD,yCAAuD;AACvD,yCAAuC;AACvC,iCAAgD;AAChD,sCAAyC;AAEzC,MAAqB,QAAS,SAAQ,0BAAW;IAiB/C,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAClD,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,GAAG,MAAM,IAAA,6BAAsB,EAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE;YAC9D,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC;SAC5B,CAAC,CAAA;QAEF,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,IAAA,cAAS,EAAC,IAAI,CAAC,CAAA;QACjB,CAAC;aAAM,CAAC;YACN,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtB,IAAI,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAA;gBACnC,OAAM;YACR,CAAC;YACD,IAAA,eAAU,EACR,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACf,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,EAAE;aACjC,CAAC,CAAC,EACH,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,CACjC,CAAA;QACH,CAAC;IACH,CAAC;;AA5CM,oBAAW,GAAG,sCAAsC,CAAA;AAEpD,iBAAQ,GAAG;IAChB,mCAAmC;CACpC,CAAA;AAEM,cAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,IAAI,EAAE,YAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IAC/D,UAAU,EAAE,YAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,4BAA4B,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;CACtF,CAAA;AAEM,aAAI,GAAG;IACZ,QAAQ,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;CACnE,CAAA;kBAfkB,QAAQ"}
@@ -0,0 +1,16 @@
1
+ import { BaseCommand } from '../../base-command';
2
+ export default class UserPRs extends BaseCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static flags: {
6
+ state: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
7
+ sort: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
8
+ direction: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
9
+ labels: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
10
+ scope: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, 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,68 @@
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 UserPRs extends base_command_1.BaseCommand {
9
+ async run() {
10
+ const { flags } = await this.parse(UserPRs);
11
+ const token = (0, config_1.getToken)();
12
+ if (!token) {
13
+ this.error('Not authenticated. Run: oh-gc auth login');
14
+ }
15
+ const prs = await (0, user_1.listUserPRs)(token, {
16
+ state: flags.state,
17
+ sort: flags.sort,
18
+ direction: flags.direction,
19
+ labels: flags.labels,
20
+ scope: flags.scope,
21
+ page: flags.page,
22
+ per_page: flags['per-page'],
23
+ });
24
+ if (flags.json) {
25
+ (0, ui_1.printJson)(prs);
26
+ }
27
+ else {
28
+ if (prs.length === 0) {
29
+ this.log('No pull requests found.');
30
+ return;
31
+ }
32
+ (0, ui_1.printTable)(prs.map((p) => ({
33
+ number: `#${p.number}`,
34
+ title: p.title,
35
+ draft: p.draft ? 'draft' : '',
36
+ labels: p.labels?.map((l) => l.name).join(',') || '',
37
+ })), ['number', 'title', 'draft', 'labels']);
38
+ }
39
+ }
40
+ }
41
+ UserPRs.description = 'List authenticated user pull requests across all repos';
42
+ UserPRs.examples = [
43
+ '<%= config.bin %> user:prs',
44
+ '<%= config.bin %> user:prs --state merged',
45
+ '<%= config.bin %> user:prs --scope assigned_to_me',
46
+ ];
47
+ UserPRs.flags = {
48
+ ...base_command_1.BaseCommand.baseFlags,
49
+ state: core_1.Flags.string({
50
+ description: 'PR state: open, closed, locked, merged, all',
51
+ }),
52
+ sort: core_1.Flags.string({
53
+ description: 'Sort by: created, updated, or merged_at',
54
+ default: 'created',
55
+ }),
56
+ direction: core_1.Flags.string({
57
+ description: 'Sort direction: asc or desc',
58
+ default: 'desc',
59
+ }),
60
+ labels: core_1.Flags.string({ description: 'Comma-separated label names' }),
61
+ scope: core_1.Flags.string({
62
+ description: 'Scope: need_my_approve, created_by_me, assigned_to_me, need_my_review',
63
+ }),
64
+ page: core_1.Flags.integer({ description: 'Page number', default: 1 }),
65
+ 'per-page': core_1.Flags.integer({ description: 'Results per page (max 100)', default: 20 }),
66
+ };
67
+ exports.default = UserPRs;
68
+ //# sourceMappingURL=prs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prs.js","sourceRoot":"","sources":["../../../src/commands/user/prs.ts"],"names":[],"mappings":";;AAAA,qDAAgD;AAChD,yCAA4C;AAC5C,yCAAuC;AACvC,iCAAgD;AAChD,sCAAmC;AAEnC,MAAqB,OAAQ,SAAQ,0BAAW;IA8B9C,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAC3C,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,kBAAW,EAAC,KAAK,EAAE;YACnC,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC;SAC5B,CAAC,CAAA;QAEF,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,IAAA,cAAS,EAAC,GAAG,CAAC,CAAA;QAChB,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrB,IAAI,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAA;gBACnC,OAAM;YACR,CAAC;YACD,IAAA,eAAU,EACR,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACd,MAAM,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE;gBACtB,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBAC7B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;aACrD,CAAC,CAAC,EACH,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CACvC,CAAA;QACH,CAAC;IACH,CAAC;;AA/DM,mBAAW,GAAG,wDAAwD,CAAA;AAEtE,gBAAQ,GAAG;IAChB,4BAA4B;IAC5B,2CAA2C;IAC3C,mDAAmD;CACpD,CAAA;AAEM,aAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,KAAK,EAAE,YAAK,CAAC,MAAM,CAAC;QAClB,WAAW,EAAE,6CAA6C;KAC3D,CAAC;IACF,IAAI,EAAE,YAAK,CAAC,MAAM,CAAC;QACjB,WAAW,EAAE,yCAAyC;QACtD,OAAO,EAAE,SAAS;KACnB,CAAC;IACF,SAAS,EAAE,YAAK,CAAC,MAAM,CAAC;QACtB,WAAW,EAAE,6BAA6B;QAC1C,OAAO,EAAE,MAAM;KAChB,CAAC;IACF,MAAM,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,6BAA6B,EAAE,CAAC;IACpE,KAAK,EAAE,YAAK,CAAC,MAAM,CAAC;QAClB,WAAW,EAAE,uEAAuE;KACrF,CAAC;IACF,IAAI,EAAE,YAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IAC/D,UAAU,EAAE,YAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,4BAA4B,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;CACtF,CAAA;kBA5BkB,OAAO"}
@@ -0,0 +1,16 @@
1
+ import { BaseCommand } from '../../base-command';
2
+ export default class UserSearch extends BaseCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static flags: {
6
+ sort: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
7
+ order: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
8
+ page: import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
9
+ 'per-page': import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
10
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
11
+ };
12
+ static args: {
13
+ query: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
14
+ };
15
+ run(): Promise<void>;
16
+ }
@@ -0,0 +1,57 @@
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 UserSearch extends base_command_1.BaseCommand {
9
+ async run() {
10
+ const { flags, args } = await this.parse(UserSearch);
11
+ const token = (0, config_1.getToken)();
12
+ if (!token) {
13
+ this.error('Not authenticated. Run: oh-gc auth login');
14
+ }
15
+ const users = await (0, user_1.searchUsers)(token, {
16
+ q: args.query,
17
+ page: flags.page,
18
+ per_page: flags['per-page'],
19
+ sort: flags.sort,
20
+ order: flags.order,
21
+ });
22
+ if (flags.json) {
23
+ (0, ui_1.printJson)(users);
24
+ }
25
+ else {
26
+ if (users.length === 0) {
27
+ this.log('No users found.');
28
+ return;
29
+ }
30
+ (0, ui_1.printTable)(users.map((u) => ({
31
+ login: u.login,
32
+ name: u.name || '',
33
+ })), ['login', 'name']);
34
+ }
35
+ }
36
+ }
37
+ UserSearch.description = 'Search users';
38
+ UserSearch.examples = [
39
+ '<%= config.bin %> user:search alice',
40
+ '<%= config.bin %> user:search bob --sort joined_at --order desc',
41
+ ];
42
+ UserSearch.flags = {
43
+ ...base_command_1.BaseCommand.baseFlags,
44
+ sort: core_1.Flags.string({
45
+ description: 'Sort field: joined_at (registration time), default is best match',
46
+ }),
47
+ order: core_1.Flags.string({
48
+ description: 'Sort order: asc or desc (default: desc)',
49
+ }),
50
+ page: core_1.Flags.integer({ description: 'Page number (max 100)', default: 1 }),
51
+ 'per-page': core_1.Flags.integer({ description: 'Results per page (max 50)', default: 30 }),
52
+ };
53
+ UserSearch.args = {
54
+ query: core_1.Args.string({ description: 'Search query', required: true }),
55
+ };
56
+ exports.default = UserSearch;
57
+ //# sourceMappingURL=search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/commands/user/search.ts"],"names":[],"mappings":";;AAAA,qDAAgD;AAChD,yCAA4C;AAC5C,yCAAuC;AACvC,iCAAgD;AAChD,sCAAyC;AAEzC,MAAqB,UAAW,SAAQ,0BAAW;IAwBjD,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,KAAK,GAAG,MAAM,IAAA,kBAAW,EAAC,KAAK,EAAE;YACrC,CAAC,EAAE,IAAI,CAAC,KAAK;YACb,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC;YAC3B,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAC,CAAA;QAEF,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,IAAA,cAAS,EAAC,KAAK,CAAC,CAAA;QAClB,CAAC;aAAM,CAAC;YACN,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;gBAC3B,OAAM;YACR,CAAC;YACD,IAAA,eAAU,EACR,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAChB,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE;aACnB,CAAC,CAAC,EACH,CAAC,OAAO,EAAE,MAAM,CAAC,CAClB,CAAA;QACH,CAAC;IACH,CAAC;;AArDM,sBAAW,GAAG,cAAc,CAAA;AAE5B,mBAAQ,GAAG;IAChB,qCAAqC;IACrC,iEAAiE;CAClE,CAAA;AAEM,gBAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,IAAI,EAAE,YAAK,CAAC,MAAM,CAAC;QACjB,WAAW,EAAE,kEAAkE;KAChF,CAAC;IACF,KAAK,EAAE,YAAK,CAAC,MAAM,CAAC;QAClB,WAAW,EAAE,yCAAyC;KACvD,CAAC;IACF,IAAI,EAAE,YAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,uBAAuB,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACzE,UAAU,EAAE,YAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,2BAA2B,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;CACrF,CAAA;AAEM,eAAI,GAAG;IACZ,KAAK,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;CACpE,CAAA;kBAtBkB,UAAU"}
@@ -0,0 +1,16 @@
1
+ import { BaseCommand } from '../../base-command';
2
+ export default class UserStarred extends BaseCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static flags: {
6
+ sort: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
7
+ direction: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
8
+ page: import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
9
+ 'per-page': import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
10
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
11
+ };
12
+ static args: {
13
+ username: import("@oclif/core/lib/interfaces").Arg<string | undefined, Record<string, unknown>>;
14
+ };
15
+ run(): Promise<void>;
16
+ }
@@ -0,0 +1,60 @@
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 UserStarred extends base_command_1.BaseCommand {
9
+ async run() {
10
+ const { flags, args } = await this.parse(UserStarred);
11
+ const token = (0, config_1.getToken)();
12
+ if (!token) {
13
+ this.error('Not authenticated. Run: oh-gc auth login');
14
+ }
15
+ const params = {
16
+ sort: flags.sort,
17
+ direction: flags.direction,
18
+ page: flags.page,
19
+ per_page: flags['per-page'],
20
+ };
21
+ const repos = args.username
22
+ ? await (0, user_1.getUserStarredByUsername)(token, args.username, params)
23
+ : await (0, user_1.getUserStarred)(token, params);
24
+ if (flags.json) {
25
+ (0, ui_1.printJson)(repos);
26
+ }
27
+ else {
28
+ if (repos.length === 0) {
29
+ this.log('No starred repositories found.');
30
+ return;
31
+ }
32
+ (0, ui_1.printTable)(repos.map((r) => ({
33
+ full_name: r.full_name,
34
+ namespace: r.namespace?.path || '',
35
+ })), ['full_name', 'namespace']);
36
+ }
37
+ }
38
+ }
39
+ UserStarred.description = 'List starred repositories';
40
+ UserStarred.examples = [
41
+ '<%= config.bin %> user:starred',
42
+ '<%= config.bin %> user:starred alice',
43
+ '<%= config.bin %> user:starred --sort last_push',
44
+ ];
45
+ UserStarred.flags = {
46
+ ...base_command_1.BaseCommand.baseFlags,
47
+ sort: core_1.Flags.string({
48
+ description: 'Sort by: created or last_push (default: created)',
49
+ }),
50
+ direction: core_1.Flags.string({
51
+ description: 'Sort direction: asc or desc (default: desc)',
52
+ }),
53
+ page: core_1.Flags.integer({ description: 'Page number', default: 1 }),
54
+ 'per-page': core_1.Flags.integer({ description: 'Results per page (max 100)', default: 20 }),
55
+ };
56
+ UserStarred.args = {
57
+ username: core_1.Args.string({ description: 'Username (defaults to authenticated user)' }),
58
+ };
59
+ exports.default = UserStarred;
60
+ //# sourceMappingURL=starred.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"starred.js","sourceRoot":"","sources":["../../../src/commands/user/starred.ts"],"names":[],"mappings":";;AAAA,qDAAgD;AAChD,yCAAyE;AACzE,yCAAuC;AACvC,iCAAgD;AAChD,sCAAyC;AAEzC,MAAqB,WAAY,SAAQ,0BAAW;IAyBlD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QACrD,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,MAAM,GAAG;YACb,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC;SAC5B,CAAA;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ;YACzB,CAAC,CAAC,MAAM,IAAA,+BAAwB,EAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC;YAC9D,CAAC,CAAC,MAAM,IAAA,qBAAc,EAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QAEvC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,IAAA,cAAS,EAAC,KAAK,CAAC,CAAA;QAClB,CAAC;aAAM,CAAC;YACN,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAA;gBAC1C,OAAM;YACR,CAAC;YACD,IAAA,eAAU,EACR,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAChB,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,IAAI,IAAI,EAAE;aACnC,CAAC,CAAC,EACH,CAAC,WAAW,EAAE,WAAW,CAAC,CAC3B,CAAA;QACH,CAAC;IACH,CAAC;;AAzDM,uBAAW,GAAG,2BAA2B,CAAA;AAEzC,oBAAQ,GAAG;IAChB,gCAAgC;IAChC,sCAAsC;IACtC,iDAAiD;CAClD,CAAA;AAEM,iBAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,IAAI,EAAE,YAAK,CAAC,MAAM,CAAC;QACjB,WAAW,EAAE,kDAAkD;KAChE,CAAC;IACF,SAAS,EAAE,YAAK,CAAC,MAAM,CAAC;QACtB,WAAW,EAAE,6CAA6C;KAC3D,CAAC;IACF,IAAI,EAAE,YAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IAC/D,UAAU,EAAE,YAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,4BAA4B,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;CACtF,CAAA;AAEM,gBAAI,GAAG;IACZ,QAAQ,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,2CAA2C,EAAE,CAAC;CACpF,CAAA;kBAvBkB,WAAW"}
@@ -0,0 +1,16 @@
1
+ import { BaseCommand } from '../../base-command';
2
+ export default class UserSubscriptions extends BaseCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static flags: {
6
+ sort: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
7
+ direction: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
8
+ page: import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
9
+ 'per-page': import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
10
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
11
+ };
12
+ static args: {
13
+ username: import("@oclif/core/lib/interfaces").Arg<string | undefined, Record<string, unknown>>;
14
+ };
15
+ run(): Promise<void>;
16
+ }