@oh-gc/cli 0.7.2 → 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 (59) hide show
  1. package/README.md +38 -16
  2. package/dist/api/user.d.ts +194 -0
  3. package/dist/api/user.js +106 -0
  4. package/dist/api/user.js.map +1 -1
  5. package/dist/commands/search/users.d.ts +16 -0
  6. package/dist/commands/search/users.js +52 -0
  7. package/dist/commands/search/users.js.map +1 -0
  8. package/dist/commands/user/edit.d.ts +16 -0
  9. package/dist/commands/user/edit.js +76 -0
  10. package/dist/commands/user/edit.js.map +1 -0
  11. package/dist/commands/user/events.d.ts +14 -0
  12. package/dist/commands/user/events.js +61 -0
  13. package/dist/commands/user/events.js.map +1 -0
  14. package/dist/commands/user/issues.d.ts +16 -0
  15. package/dist/commands/user/issues.js +71 -0
  16. package/dist/commands/user/issues.js.map +1 -0
  17. package/dist/commands/user/key-add.d.ts +11 -0
  18. package/dist/commands/user/key-add.js +28 -0
  19. package/dist/commands/user/key-add.js.map +1 -0
  20. package/dist/commands/user/key-delete.d.ts +12 -0
  21. package/dist/commands/user/key-delete.js +27 -0
  22. package/dist/commands/user/key-delete.js.map +1 -0
  23. package/dist/commands/user/key-get.d.ts +12 -0
  24. package/dist/commands/user/key-get.js +36 -0
  25. package/dist/commands/user/key-get.js.map +1 -0
  26. package/dist/commands/user/keys.d.ts +11 -0
  27. package/dist/commands/user/keys.js +44 -0
  28. package/dist/commands/user/keys.js.map +1 -0
  29. package/dist/commands/user/leave-org.d.ts +12 -0
  30. package/dist/commands/user/leave-org.js +29 -0
  31. package/dist/commands/user/leave-org.js.map +1 -0
  32. package/dist/commands/user/membership.d.ts +12 -0
  33. package/dist/commands/user/membership.js +37 -0
  34. package/dist/commands/user/membership.js.map +1 -0
  35. package/dist/commands/user/namespace.d.ts +12 -0
  36. package/dist/commands/user/namespace.js +39 -0
  37. package/dist/commands/user/namespace.js.map +1 -0
  38. package/dist/commands/user/namespaces.d.ts +12 -0
  39. package/dist/commands/user/namespaces.js +51 -0
  40. package/dist/commands/user/namespaces.js.map +1 -0
  41. package/dist/commands/user/orgs.d.ts +14 -0
  42. package/dist/commands/user/orgs.js +48 -0
  43. package/dist/commands/user/orgs.js.map +1 -0
  44. package/dist/commands/user/prs.d.ts +16 -0
  45. package/dist/commands/user/prs.js +68 -0
  46. package/dist/commands/user/prs.js.map +1 -0
  47. package/dist/commands/user/search.d.ts +16 -0
  48. package/dist/commands/user/search.js +57 -0
  49. package/dist/commands/user/search.js.map +1 -0
  50. package/dist/commands/user/starred.d.ts +16 -0
  51. package/dist/commands/user/starred.js +60 -0
  52. package/dist/commands/user/starred.js.map +1 -0
  53. package/dist/commands/user/subscriptions.d.ts +16 -0
  54. package/dist/commands/user/subscriptions.js +60 -0
  55. package/dist/commands/user/subscriptions.js.map +1 -0
  56. package/dist/commands/user/update.d.ts +15 -0
  57. package/dist/commands/user/update.js +60 -0
  58. package/dist/commands/user/update.js.map +1 -0
  59. package/package.json +1 -1
@@ -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
+ }
@@ -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"}