@oh-gc/cli 0.5.0 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +169 -74
- package/dist/api/client.d.ts +5 -0
- package/dist/api/client.js +42 -1
- package/dist/api/client.js.map +1 -1
- package/dist/api/collaborators.d.ts +32 -0
- package/dist/api/collaborators.js +23 -0
- package/dist/api/collaborators.js.map +1 -0
- package/dist/api/contents.d.ts +88 -0
- package/dist/api/contents.js +44 -0
- package/dist/api/contents.js.map +1 -0
- package/dist/api/enterprises.d.ts +55 -0
- package/dist/api/enterprises.js +16 -0
- package/dist/api/enterprises.js.map +1 -0
- package/dist/api/hooks.d.ts +35 -0
- package/dist/api/hooks.js +35 -0
- package/dist/api/hooks.js.map +1 -0
- package/dist/api/issues.d.ts +43 -0
- package/dist/api/issues.js +45 -0
- package/dist/api/issues.js.map +1 -1
- package/dist/api/labels.d.ts +27 -0
- package/dist/api/labels.js +35 -0
- package/dist/api/labels.js.map +1 -0
- package/dist/api/milestones.d.ts +34 -0
- package/dist/api/milestones.js +35 -0
- package/dist/api/milestones.js.map +1 -0
- package/dist/api/orgs.d.ts +43 -0
- package/dist/api/orgs.js +27 -0
- package/dist/api/orgs.js.map +1 -0
- package/dist/api/prs.d.ts +27 -0
- package/dist/api/prs.js +17 -0
- package/dist/api/prs.js.map +1 -1
- package/dist/api/repos.d.ts +170 -0
- package/dist/api/repos.js +68 -0
- package/dist/api/repos.js.map +1 -0
- package/dist/api/search.d.ts +49 -0
- package/dist/api/search.js +22 -0
- package/dist/api/search.js.map +1 -0
- package/dist/api/tags.d.ts +21 -0
- package/dist/api/tags.js +23 -0
- package/dist/api/tags.js.map +1 -0
- package/dist/api/user.d.ts +31 -0
- package/dist/api/user.js +21 -0
- package/dist/api/user.js.map +1 -1
- package/dist/commands/branch/get.d.ts +13 -0
- package/dist/commands/branch/get.js +50 -0
- package/dist/commands/branch/get.js.map +1 -0
- package/dist/commands/branch/list.d.ts +13 -0
- package/dist/commands/branch/list.js +55 -0
- package/dist/commands/branch/list.js.map +1 -0
- package/dist/commands/branch/protect.d.ts +17 -0
- package/dist/commands/branch/protect.js +81 -0
- package/dist/commands/branch/protect.js.map +1 -0
- package/dist/commands/collaborator/add.d.ts +14 -0
- package/dist/commands/collaborator/add.js +50 -0
- package/dist/commands/collaborator/add.js.map +1 -0
- package/dist/commands/collaborator/list.d.ts +13 -0
- package/dist/commands/collaborator/list.js +61 -0
- package/dist/commands/collaborator/list.js.map +1 -0
- package/dist/commands/collaborator/permission.d.ts +13 -0
- package/dist/commands/collaborator/permission.js +39 -0
- package/dist/commands/collaborator/permission.js.map +1 -0
- package/dist/commands/collaborator/remove.d.ts +13 -0
- package/dist/commands/collaborator/remove.js +37 -0
- package/dist/commands/collaborator/remove.js.map +1 -0
- package/dist/commands/commit/compare.d.ts +14 -0
- package/dist/commands/commit/compare.js +73 -0
- package/dist/commands/commit/compare.js.map +1 -0
- package/dist/commands/commit/diff.d.ts +13 -0
- package/dist/commands/commit/diff.js +56 -0
- package/dist/commands/commit/diff.js.map +1 -0
- package/dist/commands/commit/get.d.ts +13 -0
- package/dist/commands/commit/get.js +65 -0
- package/dist/commands/commit/get.js.map +1 -0
- package/dist/commands/commit/list.d.ts +17 -0
- package/dist/commands/commit/list.js +67 -0
- package/dist/commands/commit/list.js.map +1 -0
- package/dist/commands/file/get.d.ts +14 -0
- package/dist/commands/file/get.js +61 -0
- package/dist/commands/file/get.js.map +1 -0
- package/dist/commands/file/list.d.ts +14 -0
- package/dist/commands/file/list.js +58 -0
- package/dist/commands/file/list.js.map +1 -0
- package/dist/commands/file/raw.d.ts +14 -0
- package/dist/commands/file/raw.js +48 -0
- package/dist/commands/file/raw.js.map +1 -0
- package/dist/commands/hook/create.d.ts +17 -0
- package/dist/commands/hook/create.js +62 -0
- package/dist/commands/hook/create.js.map +1 -0
- package/dist/commands/hook/delete.d.ts +16 -0
- package/dist/commands/hook/delete.js +37 -0
- package/dist/commands/hook/delete.js.map +1 -0
- package/dist/commands/hook/get.d.ts +16 -0
- package/dist/commands/hook/get.js +46 -0
- package/dist/commands/hook/get.js.map +1 -0
- package/dist/commands/hook/list.d.ts +12 -0
- package/dist/commands/hook/list.js +47 -0
- package/dist/commands/hook/list.js.map +1 -0
- package/dist/commands/issue/close.d.ts +13 -0
- package/dist/commands/issue/close.js +34 -0
- package/dist/commands/issue/close.js.map +1 -0
- package/dist/commands/issue/comment.d.ts +3 -2
- package/dist/commands/issue/comment.js +6 -7
- package/dist/commands/issue/comment.js.map +1 -1
- package/dist/commands/issue/create.d.ts +2 -2
- package/dist/commands/issue/create.js +7 -15
- package/dist/commands/issue/create.js.map +1 -1
- package/dist/commands/issue/history.d.ts +13 -0
- package/dist/commands/issue/history.js +39 -0
- package/dist/commands/issue/history.js.map +1 -0
- package/dist/commands/issue/labels.d.ts +15 -0
- package/dist/commands/issue/labels.js +53 -0
- package/dist/commands/issue/labels.js.map +1 -0
- package/dist/commands/issue/list.d.ts +3 -2
- package/dist/commands/issue/list.js +8 -9
- package/dist/commands/issue/list.js.map +1 -1
- package/dist/commands/issue/reactions.d.ts +13 -0
- package/dist/commands/issue/reactions.js +34 -0
- package/dist/commands/issue/reactions.js.map +1 -0
- package/dist/commands/issue/reopen.d.ts +13 -0
- package/dist/commands/issue/reopen.js +34 -0
- package/dist/commands/issue/reopen.js.map +1 -0
- package/dist/commands/issue/update.d.ts +18 -0
- package/dist/commands/issue/update.js +56 -0
- package/dist/commands/issue/update.js.map +1 -0
- package/dist/commands/issue/view.d.ts +3 -2
- package/dist/commands/issue/view.js +8 -9
- package/dist/commands/issue/view.js.map +1 -1
- package/dist/commands/label/create.d.ts +15 -0
- package/dist/commands/label/create.js +56 -0
- package/dist/commands/label/create.js.map +1 -0
- package/dist/commands/label/delete.d.ts +13 -0
- package/dist/commands/label/delete.js +44 -0
- package/dist/commands/label/delete.js.map +1 -0
- package/dist/commands/label/list.d.ts +12 -0
- package/dist/commands/label/list.js +53 -0
- package/dist/commands/label/list.js.map +1 -0
- package/dist/commands/label/update.d.ts +16 -0
- package/dist/commands/label/update.js +63 -0
- package/dist/commands/label/update.js.map +1 -0
- package/dist/commands/milestone/create.d.ts +15 -0
- package/dist/commands/milestone/create.js +49 -0
- package/dist/commands/milestone/create.js.map +1 -0
- package/dist/commands/milestone/delete.d.ts +16 -0
- package/dist/commands/milestone/delete.js +37 -0
- package/dist/commands/milestone/delete.js.map +1 -0
- package/dist/commands/milestone/get.d.ts +16 -0
- package/dist/commands/milestone/get.js +48 -0
- package/dist/commands/milestone/get.js.map +1 -0
- package/dist/commands/milestone/list.d.ts +13 -0
- package/dist/commands/milestone/list.js +53 -0
- package/dist/commands/milestone/list.js.map +1 -0
- package/dist/commands/milestone/update.d.ts +20 -0
- package/dist/commands/milestone/update.js +62 -0
- package/dist/commands/milestone/update.js.map +1 -0
- package/dist/commands/org/list.d.ts +11 -0
- package/dist/commands/org/list.js +53 -0
- package/dist/commands/org/list.js.map +1 -0
- package/dist/commands/org/members.d.ts +14 -0
- package/dist/commands/org/members.js +48 -0
- package/dist/commands/org/members.js.map +1 -0
- package/dist/commands/org/view.d.ts +12 -0
- package/dist/commands/org/view.js +42 -0
- package/dist/commands/org/view.js.map +1 -0
- package/dist/commands/pr/close.d.ts +13 -0
- package/dist/commands/pr/close.js +34 -0
- package/dist/commands/pr/close.js.map +1 -0
- package/dist/commands/pr/comment.d.ts +3 -3
- package/dist/commands/pr/comment.js +7 -15
- package/dist/commands/pr/comment.js.map +1 -1
- package/dist/commands/pr/comments.d.ts +5 -2
- package/dist/commands/pr/comments.js +14 -10
- package/dist/commands/pr/comments.js.map +1 -1
- package/dist/commands/pr/commits.d.ts +3 -2
- package/dist/commands/pr/commits.js +8 -9
- package/dist/commands/pr/commits.js.map +1 -1
- package/dist/commands/pr/create.d.ts +2 -2
- package/dist/commands/pr/create.js +6 -13
- package/dist/commands/pr/create.js.map +1 -1
- package/dist/commands/pr/diff.d.ts +3 -2
- package/dist/commands/pr/diff.js +6 -7
- package/dist/commands/pr/diff.js.map +1 -1
- package/dist/commands/pr/labels.d.ts +3 -2
- package/dist/commands/pr/labels.js +8 -9
- package/dist/commands/pr/labels.js.map +1 -1
- package/dist/commands/pr/link.d.ts +3 -2
- package/dist/commands/pr/link.js +7 -8
- package/dist/commands/pr/link.js.map +1 -1
- package/dist/commands/pr/list.d.ts +3 -2
- package/dist/commands/pr/list.js +8 -9
- package/dist/commands/pr/list.js.map +1 -1
- package/dist/commands/pr/logs.d.ts +3 -2
- package/dist/commands/pr/logs.js +8 -9
- package/dist/commands/pr/logs.js.map +1 -1
- package/dist/commands/pr/merge.d.ts +3 -2
- package/dist/commands/pr/merge.js +6 -7
- package/dist/commands/pr/merge.js.map +1 -1
- package/dist/commands/pr/reactions.d.ts +13 -0
- package/dist/commands/pr/reactions.js +34 -0
- package/dist/commands/pr/reactions.js.map +1 -0
- package/dist/commands/pr/reopen.d.ts +13 -0
- package/dist/commands/pr/reopen.js +34 -0
- package/dist/commands/pr/reopen.js.map +1 -0
- package/dist/commands/pr/review.d.ts +3 -2
- package/dist/commands/pr/review.js +6 -7
- package/dist/commands/pr/review.js.map +1 -1
- package/dist/commands/pr/reviewers.d.ts +4 -3
- package/dist/commands/pr/reviewers.js +30 -10
- package/dist/commands/pr/reviewers.js.map +1 -1
- package/dist/commands/pr/test.d.ts +3 -2
- package/dist/commands/pr/test.js +6 -7
- package/dist/commands/pr/test.js.map +1 -1
- package/dist/commands/pr/testers.d.ts +4 -3
- package/dist/commands/pr/testers.js +30 -10
- package/dist/commands/pr/testers.js.map +1 -1
- package/dist/commands/pr/update.d.ts +3 -2
- package/dist/commands/pr/update.js +6 -7
- package/dist/commands/pr/update.js.map +1 -1
- package/dist/commands/pr/view.d.ts +3 -2
- package/dist/commands/pr/view.js +8 -9
- package/dist/commands/pr/view.js.map +1 -1
- package/dist/commands/release/create.d.ts +3 -2
- package/dist/commands/release/create.js +6 -14
- package/dist/commands/release/create.js.map +1 -1
- package/dist/commands/repo/get-remote.d.ts +3 -2
- package/dist/commands/repo/get-remote.js +3 -3
- package/dist/commands/repo/set-remote.d.ts +3 -2
- package/dist/commands/repo/set-remote.js +3 -3
- package/dist/commands/repo/transfer.d.ts +14 -0
- package/dist/commands/repo/transfer.js +59 -0
- package/dist/commands/repo/transfer.js.map +1 -0
- package/dist/commands/repo/update.d.ts +15 -0
- package/dist/commands/repo/update.js +66 -0
- package/dist/commands/repo/update.js.map +1 -0
- package/dist/commands/repo/view.d.ts +10 -0
- package/dist/commands/repo/view.js +50 -0
- package/dist/commands/repo/view.js.map +1 -0
- package/dist/commands/search/code.d.ts +16 -0
- package/dist/commands/search/code.js +75 -0
- package/dist/commands/search/code.js.map +1 -0
- package/dist/commands/search/issues.d.ts +16 -0
- package/dist/commands/search/issues.js +77 -0
- package/dist/commands/search/issues.js.map +1 -0
- package/dist/commands/search/repos.d.ts +16 -0
- package/dist/commands/search/repos.js +77 -0
- package/dist/commands/search/repos.js.map +1 -0
- package/dist/commands/tag/list.d.ts +12 -0
- package/dist/commands/tag/list.js +45 -0
- package/dist/commands/tag/list.js.map +1 -0
- package/dist/commands/tag/protect.d.ts +14 -0
- package/dist/commands/tag/protect.js +53 -0
- package/dist/commands/tag/protect.js.map +1 -0
- package/dist/commands/user/emails.d.ts +9 -0
- package/dist/commands/user/emails.js +33 -0
- package/dist/commands/user/emails.js.map +1 -0
- package/dist/commands/user/followers.d.ts +14 -0
- package/dist/commands/user/followers.js +92 -0
- package/dist/commands/user/followers.js.map +1 -0
- package/dist/commands/user/following.d.ts +14 -0
- package/dist/commands/user/following.js +57 -0
- package/dist/commands/user/following.js.map +1 -0
- package/dist/commands/user/view.d.ts +12 -0
- package/dist/commands/user/view.js +46 -0
- package/dist/commands/user/view.js.map +1 -0
- package/dist/git/index.js +1 -1
- package/dist/git/index.js.map +1 -1
- package/dist/repo-command.d.ts +19 -0
- package/dist/repo-command.js +29 -0
- package/dist/repo-command.js.map +1 -0
- package/dist/ui/index.d.ts +1 -1
- package/dist/ui/index.js +1 -0
- package/dist/ui/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -15,8 +15,6 @@ oh-gc pr:merge 5 --method squash
|
|
|
15
15
|
|
|
16
16
|
### npm (Recommended)
|
|
17
17
|
|
|
18
|
-
The easiest way to install `oh-gc` is via npm:
|
|
19
|
-
|
|
20
18
|
```bash
|
|
21
19
|
npm install -g @oh-gc/cli
|
|
22
20
|
oh-gc --help
|
|
@@ -61,92 +59,173 @@ oh-gc repo:set-remote upstream
|
|
|
61
59
|
|
|
62
60
|
---
|
|
63
61
|
|
|
64
|
-
##
|
|
62
|
+
## Command Index
|
|
65
63
|
|
|
66
|
-
###
|
|
64
|
+
### Authentication
|
|
67
65
|
|
|
68
|
-
| Command | Description |
|
|
69
|
-
|
|
70
|
-
| `oh-gc auth:login` | Log in with a personal access token |
|
|
71
|
-
| `oh-gc auth:logout` | Remove stored token |
|
|
72
|
-
| `oh-gc auth:status` | Show currently logged-in user |
|
|
66
|
+
| Command | Description | Docs |
|
|
67
|
+
|---------|-------------|------|
|
|
68
|
+
| `oh-gc auth:login` | Log in with a personal access token | [→ 详情](docs/commands/en/auth.md#oh-gc-authlogin) |
|
|
69
|
+
| `oh-gc auth:logout` | Remove stored token | [→ 详情](docs/commands/en/auth.md#oh-gc-authlogout) |
|
|
70
|
+
| `oh-gc auth:status` | Show currently logged-in user | [→ 详情](docs/commands/en/auth.md#oh-gc-authstatus) |
|
|
73
71
|
|
|
74
72
|
### Issues
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
| `oh-gc issue:
|
|
79
|
-
| `oh-gc issue:
|
|
80
|
-
| `oh-gc issue:
|
|
81
|
-
| `oh-gc issue:
|
|
82
|
-
| `oh-gc issue:
|
|
83
|
-
| `oh-gc issue:
|
|
84
|
-
| `oh-gc issue:
|
|
85
|
-
| `oh-gc issue:
|
|
86
|
-
| `oh-gc issue:
|
|
87
|
-
| `oh-gc issue:comment <number>` | Add a comment interactively |
|
|
88
|
-
| `oh-gc issue:comment <number> --body "..."` | Add a comment with a flag |
|
|
73
|
+
| Command | Description | Docs |
|
|
74
|
+
|---------|-------------|------|
|
|
75
|
+
| `oh-gc issue:list` | List issues | [→ 详情](docs/commands/en/issue.md#oh-gc-issuelist) |
|
|
76
|
+
| `oh-gc issue:view` | View issue details | [→ 详情](docs/commands/en/issue.md#oh-gc-issueview) |
|
|
77
|
+
| `oh-gc issue:create` | Create an issue | [→ 详情](docs/commands/en/issue.md#oh-gc-issuecreate) |
|
|
78
|
+
| `oh-gc issue:update` | Update an issue | [→ 详情](docs/commands/en/issue.md#oh-gc-issueupdate) |
|
|
79
|
+
| `oh-gc issue:close` | Close an issue | [→ 详情](docs/commands/en/issue.md#oh-gc-issueclose) |
|
|
80
|
+
| `oh-gc issue:reopen` | Reopen a closed issue | [→ 详情](docs/commands/en/issue.md#oh-gc-issuereopen) |
|
|
81
|
+
| `oh-gc issue:comment` | Add a comment | [→ 详情](docs/commands/en/issue.md#oh-gc-issuecomment) |
|
|
82
|
+
| `oh-gc issue:history` | View modification history | [→ 详情](docs/commands/en/issue.md#oh-gc-issuehistory) |
|
|
83
|
+
| `oh-gc issue:labels` | Add or remove labels | [→ 详情](docs/commands/en/issue.md#oh-gc-issuelabels) |
|
|
84
|
+
| `oh-gc issue:reactions` | List reactions | [→ 详情](docs/commands/en/issue.md#oh-gc-issuereactions) |
|
|
89
85
|
|
|
90
86
|
### Pull Requests
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
| `oh-gc pr:
|
|
95
|
-
| `oh-gc pr:
|
|
96
|
-
| `oh-gc pr:
|
|
97
|
-
| `oh-gc pr:
|
|
98
|
-
| `oh-gc pr:
|
|
99
|
-
| `oh-gc pr:
|
|
100
|
-
| `oh-gc pr:diff
|
|
101
|
-
| `oh-gc pr:
|
|
102
|
-
| `oh-gc pr:
|
|
103
|
-
| `oh-gc pr:
|
|
104
|
-
| `oh-gc pr:
|
|
105
|
-
| `oh-gc pr:
|
|
106
|
-
| `oh-gc pr:
|
|
107
|
-
| `oh-gc pr:
|
|
108
|
-
| `oh-gc pr:
|
|
109
|
-
| `oh-gc pr:
|
|
110
|
-
| `oh-gc pr:
|
|
111
|
-
| `oh-gc pr:
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
|
115
|
-
|
|
116
|
-
| `oh-gc
|
|
117
|
-
| `oh-gc
|
|
118
|
-
| `oh-gc
|
|
119
|
-
| `oh-gc
|
|
120
|
-
| `oh-gc
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
|
124
|
-
|
|
125
|
-
| `oh-gc
|
|
126
|
-
| `oh-gc
|
|
127
|
-
| `oh-gc
|
|
87
|
+
| Command | Description | Docs |
|
|
88
|
+
|---------|-------------|------|
|
|
89
|
+
| `oh-gc pr:list` | List pull requests | [→ 详情](docs/commands/en/pr.md#oh-gc-prlist) |
|
|
90
|
+
| `oh-gc pr:view` | View PR details | [→ 详情](docs/commands/en/pr.md#oh-gc-prview) |
|
|
91
|
+
| `oh-gc pr:create` | Create a pull request | [→ 详情](docs/commands/en/pr.md#oh-gc-prcreate) |
|
|
92
|
+
| `oh-gc pr:update` | Update a pull request | [→ 详情](docs/commands/en/pr.md#oh-gc-prupdate) |
|
|
93
|
+
| `oh-gc pr:close` | Close a pull request | [→ 详情](docs/commands/en/pr.md#oh-gc-prclose) |
|
|
94
|
+
| `oh-gc pr:reopen` | Reopen a closed PR | [→ 详情](docs/commands/en/pr.md#oh-gc-prreopen) |
|
|
95
|
+
| `oh-gc pr:merge` | Merge a pull request | [→ 详情](docs/commands/en/pr.md#oh-gc-prmerge) |
|
|
96
|
+
| `oh-gc pr:diff` | View PR changes | [→ 详情](docs/commands/en/pr.md#oh-gc-prdiff) |
|
|
97
|
+
| `oh-gc pr:comment` | Add a comment | [→ 详情](docs/commands/en/pr.md#oh-gc-prcomment) |
|
|
98
|
+
| `oh-gc pr:comments` | List or delete comments | [→ 详情](docs/commands/en/pr.md#oh-gc-prcomments) |
|
|
99
|
+
| `oh-gc pr:commits` | List commits in a PR | [→ 详情](docs/commands/en/pr.md#oh-gc-prcommits) |
|
|
100
|
+
| `oh-gc pr:logs` | View operation logs | [→ 详情](docs/commands/en/pr.md#oh-gc-prlogs) |
|
|
101
|
+
| `oh-gc pr:reactions` | List reactions | [→ 详情](docs/commands/en/pr.md#oh-gc-prreactions) |
|
|
102
|
+
| `oh-gc pr:reviewers` | Manage reviewers | [→ 详情](docs/commands/en/pr.md#oh-gc-prreviewers) |
|
|
103
|
+
| `oh-gc pr:testers` | Manage testers | [→ 详情](docs/commands/en/pr.md#oh-gc-prtesters) |
|
|
104
|
+
| `oh-gc pr:review` | Approve a PR review | [→ 详情](docs/commands/en/pr.md#oh-gc-prreview) |
|
|
105
|
+
| `oh-gc pr:test` | Mark test as passed | [→ 详情](docs/commands/en/pr.md#oh-gc-prtest) |
|
|
106
|
+
| `oh-gc pr:labels` | Add or remove labels | [→ 详情](docs/commands/en/pr.md#oh-gc-prlabels) |
|
|
107
|
+
| `oh-gc pr:link` | Link or unlink issues | [→ 详情](docs/commands/en/pr.md#oh-gc-prlink) |
|
|
108
|
+
|
|
109
|
+
### Repository
|
|
110
|
+
| Command | Description | Docs |
|
|
111
|
+
|---------|-------------|------|
|
|
112
|
+
| `oh-gc repo:view` | View repository info | [→ 详情](docs/commands/en/repo.md#oh-gc-repoview) |
|
|
113
|
+
| `oh-gc repo:update` | Update repository settings | [→ 详情](docs/commands/en/repo.md#oh-gc-repoupdate) |
|
|
114
|
+
| `oh-gc repo:transfer` | Transfer repository ownership | [→ 详情](docs/commands/en/repo.md#oh-gc-repotransfer) |
|
|
115
|
+
| `oh-gc repo:set-remote` | Set which remote oh-gc uses | [→ 详情](docs/commands/en/repo.md#oh-gc-reposet-remote) |
|
|
116
|
+
| `oh-gc repo:get-remote` | Show current remote | [→ 详情](docs/commands/en/repo.md#oh-gc-repoget-remote) |
|
|
117
|
+
|
|
118
|
+
### Branches
|
|
119
|
+
| Command | Description | Docs |
|
|
120
|
+
|---------|-------------|------|
|
|
121
|
+
| `oh-gc branch:list` | List branches | [→ 详情](docs/commands/en/branch.md#oh-gc-branchlist) |
|
|
122
|
+
| `oh-gc branch:get` | View branch details | [→ 详情](docs/commands/en/branch.md#oh-gc-branchget) |
|
|
123
|
+
| `oh-gc branch:protect` | Set branch protection | [→ 详情](docs/commands/en/branch.md#oh-gc-branchprotect) |
|
|
124
|
+
|
|
125
|
+
### Commits
|
|
126
|
+
| Command | Description | Docs |
|
|
127
|
+
|---------|-------------|------|
|
|
128
|
+
| `oh-gc commit:list` | List commits | [→ 详情](docs/commands/en/commit.md#oh-gc-commitlist) |
|
|
129
|
+
| `oh-gc commit:get` | View commit details | [→ 详情](docs/commands/en/commit.md#oh-gc-commitget) |
|
|
130
|
+
| `oh-gc commit:diff` | View commit diff | [→ 详情](docs/commands/en/commit.md#oh-gc-commitdiff) |
|
|
131
|
+
| `oh-gc commit:compare` | Compare two refs | [→ 详情](docs/commands/en/commit.md#oh-gc-commitcompare) |
|
|
132
|
+
|
|
133
|
+
### Files
|
|
134
|
+
| Command | Description | Docs |
|
|
135
|
+
|---------|-------------|------|
|
|
136
|
+
| `oh-gc file:get` | Get file contents (base64) | [→ 详情](docs/commands/en/file.md#oh-gc-fileget) |
|
|
137
|
+
| `oh-gc file:raw` | Get raw file contents | [→ 详情](docs/commands/en/file.md#oh-gc-fileraw) |
|
|
138
|
+
| `oh-gc file:list` | List directory contents | [→ 详情](docs/commands/en/file.md#oh-gc-filelist) |
|
|
139
|
+
|
|
140
|
+
### Labels
|
|
141
|
+
| Command | Description | Docs |
|
|
142
|
+
|---------|-------------|------|
|
|
143
|
+
| `oh-gc label:list` | List repository labels | [→ 详情](docs/commands/en/label.md#oh-gc-labellist) |
|
|
144
|
+
| `oh-gc label:create` | Create a label | [→ 详情](docs/commands/en/label.md#oh-gc-labelcreate) |
|
|
145
|
+
| `oh-gc label:update` | Update a label | [→ 详情](docs/commands/en/label.md#oh-gc-labelupdate) |
|
|
146
|
+
| `oh-gc label:delete` | Delete a label | [→ 详情](docs/commands/en/label.md#oh-gc-labeldelete) |
|
|
147
|
+
|
|
148
|
+
### Milestones
|
|
149
|
+
| Command | Description | Docs |
|
|
150
|
+
|---------|-------------|------|
|
|
151
|
+
| `oh-gc milestone:list` | List milestones | [→ 详情](docs/commands/en/milestone.md#oh-gc-milestonelist) |
|
|
152
|
+
| `oh-gc milestone:get` | View milestone details | [→ 详情](docs/commands/en/milestone.md#oh-gc-milestoneget) |
|
|
153
|
+
| `oh-gc milestone:create` | Create a milestone | [→ 详情](docs/commands/en/milestone.md#oh-gc-milestonecreate) |
|
|
154
|
+
| `oh-gc milestone:update` | Update a milestone | [→ 详情](docs/commands/en/milestone.md#oh-gc-milestoneupdate) |
|
|
155
|
+
| `oh-gc milestone:delete` | Delete a milestone | [→ 详情](docs/commands/en/milestone.md#oh-gc-milestonedelete) |
|
|
156
|
+
|
|
157
|
+
### Collaborators
|
|
158
|
+
| Command | Description | Docs |
|
|
159
|
+
|---------|-------------|------|
|
|
160
|
+
| `oh-gc collaborator:list` | List collaborators | [→ 详情](docs/commands/en/collaborator.md#oh-gc-collaboratorlist) |
|
|
161
|
+
| `oh-gc collaborator:add` | Add a collaborator | [→ 详情](docs/commands/en/collaborator.md#oh-gc-collaboratoradd) |
|
|
162
|
+
| `oh-gc collaborator:remove` | Remove a collaborator | [→ 详情](docs/commands/en/collaborator.md#oh-gc-collaboratorremove) |
|
|
163
|
+
| `oh-gc collaborator:permission` | Get permission level | [→ 详情](docs/commands/en/collaborator.md#oh-gc-collaboratorpermission) |
|
|
164
|
+
|
|
165
|
+
### Webhooks
|
|
166
|
+
| Command | Description | Docs |
|
|
167
|
+
|---------|-------------|------|
|
|
168
|
+
| `oh-gc hook:list` | List webhooks | [→ 详情](docs/commands/en/hook.md#oh-gc-hooklist) |
|
|
169
|
+
| `oh-gc hook:get` | View webhook details | [→ 详情](docs/commands/en/hook.md#oh-gc-hookget) |
|
|
170
|
+
| `oh-gc hook:create` | Create a webhook | [→ 详情](docs/commands/en/hook.md#oh-gc-hookcreate) |
|
|
171
|
+
| `oh-gc hook:delete` | Delete a webhook | [→ 详情](docs/commands/en/hook.md#oh-gc-hookdelete) |
|
|
172
|
+
|
|
173
|
+
### Tags
|
|
174
|
+
| Command | Description | Docs |
|
|
175
|
+
|---------|-------------|------|
|
|
176
|
+
| `oh-gc tag:list` | List repository tags | [→ 详情](docs/commands/en/tag.md#oh-gc-taglist) |
|
|
177
|
+
| `oh-gc tag:protect` | Protect or unprotect a tag | [→ 详情](docs/commands/en/tag.md#oh-gc-tagprotect) |
|
|
128
178
|
|
|
129
179
|
### Release
|
|
180
|
+
| Command | Description | Docs |
|
|
181
|
+
|---------|-------------|------|
|
|
182
|
+
| `oh-gc release:create` | Create a release | [→ 详情](docs/commands/en/release.md#oh-gc-releasecreate) |
|
|
183
|
+
|
|
184
|
+
### Organizations
|
|
185
|
+
| Command | Description | Docs |
|
|
186
|
+
|---------|-------------|------|
|
|
187
|
+
| `oh-gc org:list` | List your organizations | [→ 详情](docs/commands/en/org.md#oh-gc-orglist) |
|
|
188
|
+
| `oh-gc org:view` | View organization details | [→ 详情](docs/commands/en/org.md#oh-gc-orgview) |
|
|
189
|
+
| `oh-gc org:members` | List organization members | [→ 详情](docs/commands/en/org.md#oh-gc-orgmembers) |
|
|
190
|
+
|
|
191
|
+
### User
|
|
192
|
+
| Command | Description | Docs |
|
|
193
|
+
|---------|-------------|------|
|
|
194
|
+
| `oh-gc user:view` | View user profile | [→ 详情](docs/commands/en/user.md#oh-gc-userview) |
|
|
195
|
+
| `oh-gc user:emails` | List your email addresses | [→ 详情](docs/commands/en/user.md#oh-gc-useremails) |
|
|
196
|
+
| `oh-gc user:followers` | List user followers | [→ 详情](docs/commands/en/user.md#oh-gc-userfollowers) |
|
|
197
|
+
| `oh-gc user:following` | List followed users | [→ 详情](docs/commands/en/user.md#oh-gc-userfollowing) |
|
|
198
|
+
|
|
199
|
+
### Search
|
|
200
|
+
| Command | Description | Docs |
|
|
201
|
+
|---------|-------------|------|
|
|
202
|
+
| `oh-gc search:repos` | Search repositories | [→ 详情](docs/commands/en/search.md#oh-gc-searchrepos) |
|
|
203
|
+
| `oh-gc search:issues` | Search issues and PRs | [→ 详情](docs/commands/en/search.md#oh-gc-searchissues) |
|
|
204
|
+
| `oh-gc search:code` | Search code | [→ 详情](docs/commands/en/search.md#oh-gc-searchcode) |
|
|
205
|
+
|
|
206
|
+
---
|
|
130
207
|
|
|
131
|
-
|
|
132
|
-
|---|---|
|
|
133
|
-
| `oh-gc release:create [VERSION]` | Build, test, and publish a release |
|
|
134
|
-
| `oh-gc release:create v0.3.0` | Create specific version |
|
|
135
|
-
| `oh-gc release:create --prerelease` | Create prerelease |
|
|
208
|
+
## Repository Flag
|
|
136
209
|
|
|
137
|
-
|
|
210
|
+
Most commands that operate on a repository support the `--repo` flag, which allows you to specify a target repository without being inside a git clone:
|
|
138
211
|
|
|
139
|
-
|
|
|
140
|
-
|
|
141
|
-
|
|
|
142
|
-
| `oh-gc repo:set-remote <name>` | Set which remote `oh-gc` uses |
|
|
212
|
+
| Flag | Description |
|
|
213
|
+
|------|-------------|
|
|
214
|
+
| `--repo owner/repo` | Target repository in OWNER/REPO format |
|
|
143
215
|
|
|
144
|
-
|
|
216
|
+
Examples:
|
|
217
|
+
```bash
|
|
218
|
+
oh-gc issue:list --repo openharmony/arkui_ace_engine
|
|
219
|
+
oh-gc issue:create --repo owner/repo --title "Bug report"
|
|
220
|
+
oh-gc pr:view 123 --repo owner/repo
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
## Global Flags
|
|
145
224
|
|
|
146
225
|
All commands support:
|
|
147
226
|
|
|
148
227
|
| Flag | Description |
|
|
149
|
-
|
|
228
|
+
|------|-------------|
|
|
150
229
|
| `--json` | Output raw JSON instead of formatted table |
|
|
151
230
|
| `--help` | Show command help |
|
|
152
231
|
|
|
@@ -160,9 +239,9 @@ Stored at `~/.config/gitcode-cli/config.json`. Set via `oh-gc auth:login`, remov
|
|
|
160
239
|
|
|
161
240
|
### Remote
|
|
162
241
|
|
|
163
|
-
By default `oh-gc` uses the `origin` remote. To use a different remote for
|
|
242
|
+
By default `oh-gc` uses the `origin` remote. To use a different remote for run `oh-gc repo:set-remote <name>`. This writes a `.gitcode/oh-gc-config.json` file in the repo root:
|
|
164
243
|
|
|
165
|
-
```json
|
|
244
|
+
```json
|
|
166
245
|
{ "remote": "upstream" }
|
|
167
246
|
```
|
|
168
247
|
|
|
@@ -174,6 +253,22 @@ You can commit or gitignore the `.gitcode/` directory — `oh-gc` never modifies
|
|
|
174
253
|
|
|
175
254
|
---
|
|
176
255
|
|
|
256
|
+
## AI Skill
|
|
257
|
+
|
|
258
|
+
`oh-gc` ships with a skill file that teaches AI assistants (Claude Code, OpenCode, Gemini CLI) how to use the CLI. To install:
|
|
259
|
+
|
|
260
|
+
```bash
|
|
261
|
+
curl -fsSL https://raw.gitcode.com/guozejun/ohos_gitcode_cli/raw/master/skills/gitcode-cli/INSTALL.md
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
Or ask your AI assistant to fetch and follow the instructions from:
|
|
265
|
+
|
|
266
|
+
```
|
|
267
|
+
https://raw.gitcode.com/guozejun/ohos_gitcode_cli/raw/master/skills/gitcode-cli/INSTALL.md
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
---
|
|
271
|
+
|
|
177
272
|
## Exit Codes
|
|
178
273
|
|
|
179
274
|
- `0` — success
|
package/dist/api/client.d.ts
CHANGED
|
@@ -2,6 +2,11 @@ export declare class GitCodeError extends Error {
|
|
|
2
2
|
statusCode: number;
|
|
3
3
|
constructor(statusCode: number, message: string);
|
|
4
4
|
}
|
|
5
|
+
export declare function rawApiRequest(path: string, token: string, options?: {
|
|
6
|
+
method?: string;
|
|
7
|
+
body?: unknown;
|
|
8
|
+
query?: Record<string, string | number | boolean | undefined>;
|
|
9
|
+
}): Promise<string>;
|
|
5
10
|
export declare function apiRequest<T>(path: string, token: string, options?: {
|
|
6
11
|
method?: string;
|
|
7
12
|
body?: unknown;
|
package/dist/api/client.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.GitCodeError = void 0;
|
|
4
|
+
exports.rawApiRequest = rawApiRequest;
|
|
4
5
|
exports.apiRequest = apiRequest;
|
|
5
6
|
const BASE_URL = 'https://api.gitcode.com/api/v5';
|
|
6
7
|
class GitCodeError extends Error {
|
|
@@ -11,9 +12,50 @@ class GitCodeError extends Error {
|
|
|
11
12
|
}
|
|
12
13
|
}
|
|
13
14
|
exports.GitCodeError = GitCodeError;
|
|
15
|
+
async function rawApiRequest(path, token, options = {}) {
|
|
16
|
+
const { method = 'GET', body, query } = options;
|
|
17
|
+
const url = new URL(`${BASE_URL}${path}`);
|
|
18
|
+
// Always include access_token in query for GitCode API compatibility
|
|
19
|
+
url.searchParams.set('access_token', token);
|
|
20
|
+
if (query) {
|
|
21
|
+
for (const [key, value] of Object.entries(query)) {
|
|
22
|
+
if (value !== undefined)
|
|
23
|
+
url.searchParams.set(key, String(value));
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
let response;
|
|
27
|
+
try {
|
|
28
|
+
response = await fetch(url.toString(), {
|
|
29
|
+
method,
|
|
30
|
+
headers: {
|
|
31
|
+
'Content-Type': 'application/json',
|
|
32
|
+
Accept: 'text/plain',
|
|
33
|
+
},
|
|
34
|
+
body: body !== undefined ? JSON.stringify(body) : undefined,
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
throw new GitCodeError(0, 'Could not connect to GitCode. Check your internet connection.');
|
|
39
|
+
}
|
|
40
|
+
if (response.status === 401) {
|
|
41
|
+
await response.text().catch(() => { });
|
|
42
|
+
throw new GitCodeError(401, 'Authentication failed. Check your token or run: gc auth login');
|
|
43
|
+
}
|
|
44
|
+
if (response.status === 429) {
|
|
45
|
+
await response.text().catch(() => { });
|
|
46
|
+
throw new GitCodeError(429, 'Rate limit exceeded. Try again shortly.');
|
|
47
|
+
}
|
|
48
|
+
if (!response.ok) {
|
|
49
|
+
const text = await response.text();
|
|
50
|
+
throw new GitCodeError(response.status, `API error ${response.status}: ${text}`);
|
|
51
|
+
}
|
|
52
|
+
return response.text();
|
|
53
|
+
}
|
|
14
54
|
async function apiRequest(path, token, options = {}) {
|
|
15
55
|
const { method = 'GET', body, query } = options;
|
|
16
56
|
const url = new URL(`${BASE_URL}${path}`);
|
|
57
|
+
// Always include access_token in query for GitCode API compatibility
|
|
58
|
+
url.searchParams.set('access_token', token);
|
|
17
59
|
if (query) {
|
|
18
60
|
for (const [key, value] of Object.entries(query)) {
|
|
19
61
|
if (value !== undefined)
|
|
@@ -25,7 +67,6 @@ async function apiRequest(path, token, options = {}) {
|
|
|
25
67
|
response = await fetch(url.toString(), {
|
|
26
68
|
method,
|
|
27
69
|
headers: {
|
|
28
|
-
Authorization: `Bearer ${token}`,
|
|
29
70
|
'Content-Type': 'application/json',
|
|
30
71
|
Accept: 'application/json',
|
|
31
72
|
},
|
package/dist/api/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":";;;AASA,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export interface Collaborator {
|
|
2
|
+
login: string;
|
|
3
|
+
id: number;
|
|
4
|
+
avatar_url: string;
|
|
5
|
+
type: string;
|
|
6
|
+
permissions?: {
|
|
7
|
+
admin?: boolean;
|
|
8
|
+
maintain?: boolean;
|
|
9
|
+
push?: boolean;
|
|
10
|
+
triage?: boolean;
|
|
11
|
+
pull?: boolean;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
export interface CollaboratorPermission {
|
|
15
|
+
permission: 'admin' | 'maintain' | 'write' | 'triage' | 'read' | 'none';
|
|
16
|
+
user: {
|
|
17
|
+
login: string;
|
|
18
|
+
id: number;
|
|
19
|
+
avatar_url: string;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
export interface AddCollaboratorParams {
|
|
23
|
+
permission?: 'pull' | 'triage' | 'push' | 'maintain' | 'admin';
|
|
24
|
+
}
|
|
25
|
+
export declare function listCollaborators(token: string, owner: string, repo: string, params?: {
|
|
26
|
+
page?: number;
|
|
27
|
+
per_page?: number;
|
|
28
|
+
affiliation?: 'outside' | 'direct' | 'all';
|
|
29
|
+
}): Promise<Collaborator[]>;
|
|
30
|
+
export declare function addCollaborator(token: string, owner: string, repo: string, username: string, params?: AddCollaboratorParams): Promise<Collaborator>;
|
|
31
|
+
export declare function removeCollaborator(token: string, owner: string, repo: string, username: string): Promise<void>;
|
|
32
|
+
export declare function getCollaboratorPermission(token: string, owner: string, repo: string, username: string): Promise<CollaboratorPermission>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.listCollaborators = listCollaborators;
|
|
4
|
+
exports.addCollaborator = addCollaborator;
|
|
5
|
+
exports.removeCollaborator = removeCollaborator;
|
|
6
|
+
exports.getCollaboratorPermission = getCollaboratorPermission;
|
|
7
|
+
const client_1 = require("./client");
|
|
8
|
+
// --- Collaborator API Functions ---
|
|
9
|
+
async function listCollaborators(token, owner, repo, params = {}) {
|
|
10
|
+
return (0, client_1.apiRequest)(`/repos/${owner}/${repo}/collaborators`, token, {
|
|
11
|
+
query: params,
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
async function addCollaborator(token, owner, repo, username, params = {}) {
|
|
15
|
+
return (0, client_1.apiRequest)(`/repos/${owner}/${repo}/collaborators/${username}`, token, { method: 'PUT', body: params });
|
|
16
|
+
}
|
|
17
|
+
async function removeCollaborator(token, owner, repo, username) {
|
|
18
|
+
return (0, client_1.apiRequest)(`/repos/${owner}/${repo}/collaborators/${username}`, token, { method: 'DELETE' });
|
|
19
|
+
}
|
|
20
|
+
async function getCollaboratorPermission(token, owner, repo, username) {
|
|
21
|
+
return (0, client_1.apiRequest)(`/repos/${owner}/${repo}/collaborators/${username}/permission`, token);
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=collaborators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collaborators.js","sourceRoot":"","sources":["../../src/api/collaborators.ts"],"names":[],"mappings":";;AAiCA,8CASC;AAED,0CAYC;AAED,gDAWC;AAED,8DAUC;AAjFD,qCAAqC;AA+BrC,qCAAqC;AAE9B,KAAK,UAAU,iBAAiB,CACrC,KAAa,EACb,KAAa,EACb,IAAY,EACZ,SAA2F,EAAE;IAE7F,OAAO,IAAA,mBAAU,EAAiB,UAAU,KAAK,IAAI,IAAI,gBAAgB,EAAE,KAAK,EAAE;QAChF,KAAK,EAAE,MAAqD;KAC7D,CAAC,CAAA;AACJ,CAAC;AAEM,KAAK,UAAU,eAAe,CACnC,KAAa,EACb,KAAa,EACb,IAAY,EACZ,QAAgB,EAChB,SAAgC,EAAE;IAElC,OAAO,IAAA,mBAAU,EACf,UAAU,KAAK,IAAI,IAAI,kBAAkB,QAAQ,EAAE,EACnD,KAAK,EACL,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAChC,CAAA;AACH,CAAC;AAEM,KAAK,UAAU,kBAAkB,CACtC,KAAa,EACb,KAAa,EACb,IAAY,EACZ,QAAgB;IAEhB,OAAO,IAAA,mBAAU,EACf,UAAU,KAAK,IAAI,IAAI,kBAAkB,QAAQ,EAAE,EACnD,KAAK,EACL,EAAE,MAAM,EAAE,QAAQ,EAAE,CACrB,CAAA;AACH,CAAC;AAEM,KAAK,UAAU,yBAAyB,CAC7C,KAAa,EACb,KAAa,EACb,IAAY,EACZ,QAAgB;IAEhB,OAAO,IAAA,mBAAU,EACf,UAAU,KAAK,IAAI,IAAI,kBAAkB,QAAQ,aAAa,EAC9D,KAAK,CACN,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
export interface FileContent {
|
|
2
|
+
name: string;
|
|
3
|
+
path: string;
|
|
4
|
+
sha: string;
|
|
5
|
+
size: number;
|
|
6
|
+
url: string;
|
|
7
|
+
html_url: string;
|
|
8
|
+
git_url: string;
|
|
9
|
+
download_url: string;
|
|
10
|
+
type: 'file';
|
|
11
|
+
content?: string;
|
|
12
|
+
encoding?: string;
|
|
13
|
+
target?: string;
|
|
14
|
+
submodule_git_url?: string;
|
|
15
|
+
}
|
|
16
|
+
export interface DirectoryItem {
|
|
17
|
+
name: string;
|
|
18
|
+
path: string;
|
|
19
|
+
sha: string;
|
|
20
|
+
size: number;
|
|
21
|
+
url: string;
|
|
22
|
+
html_url: string;
|
|
23
|
+
git_url: string;
|
|
24
|
+
download_url?: string;
|
|
25
|
+
type: 'file' | 'dir' | 'symlink' | 'submodule';
|
|
26
|
+
target?: string;
|
|
27
|
+
}
|
|
28
|
+
export interface GetFileOptions {
|
|
29
|
+
ref?: string;
|
|
30
|
+
}
|
|
31
|
+
export declare function getFile(token: string, owner: string, repo: string, path: string, options?: GetFileOptions): Promise<FileContent>;
|
|
32
|
+
export declare function getRawFile(token: string, owner: string, repo: string, path: string, ref: string): Promise<string>;
|
|
33
|
+
export declare function listDirectory(token: string, owner: string, repo: string, path?: string, options?: GetFileOptions): Promise<DirectoryItem[]>;
|
|
34
|
+
export declare function createFile(token: string, owner: string, repo: string, path: string, params: {
|
|
35
|
+
message: string;
|
|
36
|
+
content: string;
|
|
37
|
+
branch?: string;
|
|
38
|
+
author?: {
|
|
39
|
+
name: string;
|
|
40
|
+
email: string;
|
|
41
|
+
};
|
|
42
|
+
committer?: {
|
|
43
|
+
name: string;
|
|
44
|
+
email: string;
|
|
45
|
+
};
|
|
46
|
+
}): Promise<{
|
|
47
|
+
content: FileContent | null;
|
|
48
|
+
commit: {
|
|
49
|
+
sha: string;
|
|
50
|
+
};
|
|
51
|
+
}>;
|
|
52
|
+
export declare function updateFile(token: string, owner: string, repo: string, path: string, params: {
|
|
53
|
+
message: string;
|
|
54
|
+
content: string;
|
|
55
|
+
sha: string;
|
|
56
|
+
branch?: string;
|
|
57
|
+
author?: {
|
|
58
|
+
name: string;
|
|
59
|
+
email: string;
|
|
60
|
+
};
|
|
61
|
+
committer?: {
|
|
62
|
+
name: string;
|
|
63
|
+
email: string;
|
|
64
|
+
};
|
|
65
|
+
}): Promise<{
|
|
66
|
+
content: FileContent | null;
|
|
67
|
+
commit: {
|
|
68
|
+
sha: string;
|
|
69
|
+
};
|
|
70
|
+
}>;
|
|
71
|
+
export declare function deleteFile(token: string, owner: string, repo: string, path: string, params: {
|
|
72
|
+
message: string;
|
|
73
|
+
sha: string;
|
|
74
|
+
branch?: string;
|
|
75
|
+
author?: {
|
|
76
|
+
name: string;
|
|
77
|
+
email: string;
|
|
78
|
+
};
|
|
79
|
+
committer?: {
|
|
80
|
+
name: string;
|
|
81
|
+
email: string;
|
|
82
|
+
};
|
|
83
|
+
}): Promise<{
|
|
84
|
+
commit: {
|
|
85
|
+
sha: string;
|
|
86
|
+
};
|
|
87
|
+
content: null;
|
|
88
|
+
}>;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getFile = getFile;
|
|
4
|
+
exports.getRawFile = getRawFile;
|
|
5
|
+
exports.listDirectory = listDirectory;
|
|
6
|
+
exports.createFile = createFile;
|
|
7
|
+
exports.updateFile = updateFile;
|
|
8
|
+
exports.deleteFile = deleteFile;
|
|
9
|
+
const client_1 = require("./client");
|
|
10
|
+
// --- File API Functions ---
|
|
11
|
+
async function getFile(token, owner, repo, path, options = {}) {
|
|
12
|
+
return (0, client_1.apiRequest)(`/repos/${owner}/${repo}/contents/${path}`, token, {
|
|
13
|
+
query: options,
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
async function getRawFile(token, owner, repo, path, ref) {
|
|
17
|
+
// Raw file endpoint returns text, not JSON - use fetch directly
|
|
18
|
+
const BASE_URL = 'https://api.gitcode.com/api/v5';
|
|
19
|
+
const url = new URL(`${BASE_URL}/repos/${owner}/${repo}/raw/${path}`);
|
|
20
|
+
url.searchParams.set('ref', ref);
|
|
21
|
+
const response = await fetch(url.toString(), {
|
|
22
|
+
headers: {
|
|
23
|
+
Authorization: `Bearer ${token}`,
|
|
24
|
+
Accept: 'text/plain',
|
|
25
|
+
},
|
|
26
|
+
});
|
|
27
|
+
if (!response.ok) {
|
|
28
|
+
throw new Error(`Failed to get raw file: ${response.status}`);
|
|
29
|
+
}
|
|
30
|
+
return response.text();
|
|
31
|
+
}
|
|
32
|
+
async function listDirectory(token, owner, repo, path = '', options = {}) {
|
|
33
|
+
return (0, client_1.apiRequest)(`/repos/${owner}/${repo}/contents/${path}`, token, { query: options });
|
|
34
|
+
}
|
|
35
|
+
async function createFile(token, owner, repo, path, params) {
|
|
36
|
+
return (0, client_1.apiRequest)(`/repos/${owner}/${repo}/contents/${path}`, token, { method: 'PUT', body: params });
|
|
37
|
+
}
|
|
38
|
+
async function updateFile(token, owner, repo, path, params) {
|
|
39
|
+
return (0, client_1.apiRequest)(`/repos/${owner}/${repo}/contents/${path}`, token, { method: 'PUT', body: params });
|
|
40
|
+
}
|
|
41
|
+
async function deleteFile(token, owner, repo, path, params) {
|
|
42
|
+
return (0, client_1.apiRequest)(`/repos/${owner}/${repo}/contents/${path}`, token, { method: 'DELETE', body: params });
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=contents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contents.js","sourceRoot":"","sources":["../../src/api/contents.ts"],"names":[],"mappings":";;AAuCA,0BAUC;AAED,gCAwBC;AAED,sCAYC;AAED,gCAkBC;AAED,gCAmBC;AAED,gCAkBC;AAtJD,qCAAqC;AAqCrC,6BAA6B;AAEtB,KAAK,UAAU,OAAO,CAC3B,KAAa,EACb,KAAa,EACb,IAAY,EACZ,IAAY,EACZ,UAA0B,EAAE;IAE5B,OAAO,IAAA,mBAAU,EAAc,UAAU,KAAK,IAAI,IAAI,aAAa,IAAI,EAAE,EAAE,KAAK,EAAE;QAChF,KAAK,EAAE,OAA6C;KACrD,CAAC,CAAA;AACJ,CAAC;AAEM,KAAK,UAAU,UAAU,CAC9B,KAAa,EACb,KAAa,EACb,IAAY,EACZ,IAAY,EACZ,GAAW;IAEX,gEAAgE;IAChE,MAAM,QAAQ,GAAG,gCAAgC,CAAA;IACjD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,QAAQ,UAAU,KAAK,IAAI,IAAI,QAAQ,IAAI,EAAE,CAAC,CAAA;IACrE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IAEhC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;QAC3C,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,KAAK,EAAE;YAChC,MAAM,EAAE,YAAY;SACrB;KACF,CAAC,CAAA;IAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,2BAA2B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;IAC/D,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAA;AACxB,CAAC;AAEM,KAAK,UAAU,aAAa,CACjC,KAAa,EACb,KAAa,EACb,IAAY,EACZ,OAAe,EAAE,EACjB,UAA0B,EAAE;IAE5B,OAAO,IAAA,mBAAU,EACf,UAAU,KAAK,IAAI,IAAI,aAAa,IAAI,EAAE,EAC1C,KAAK,EACL,EAAE,KAAK,EAAE,OAA6C,EAAE,CACzD,CAAA;AACH,CAAC;AAEM,KAAK,UAAU,UAAU,CAC9B,KAAa,EACb,KAAa,EACb,IAAY,EACZ,IAAY,EACZ,MAMC;IAED,OAAO,IAAA,mBAAU,EACf,UAAU,KAAK,IAAI,IAAI,aAAa,IAAI,EAAE,EAC1C,KAAK,EACL,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAChC,CAAA;AACH,CAAC;AAEM,KAAK,UAAU,UAAU,CAC9B,KAAa,EACb,KAAa,EACb,IAAY,EACZ,IAAY,EACZ,MAOC;IAED,OAAO,IAAA,mBAAU,EACf,UAAU,KAAK,IAAI,IAAI,aAAa,IAAI,EAAE,EAC1C,KAAK,EACL,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAChC,CAAA;AACH,CAAC;AAEM,KAAK,UAAU,UAAU,CAC9B,KAAa,EACb,KAAa,EACb,IAAY,EACZ,IAAY,EACZ,MAMC;IAED,OAAO,IAAA,mBAAU,EACf,UAAU,KAAK,IAAI,IAAI,aAAa,IAAI,EAAE,EAC1C,KAAK,EACL,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CACnC,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
export interface Enterprise {
|
|
2
|
+
id: number;
|
|
3
|
+
name: string;
|
|
4
|
+
slug: string;
|
|
5
|
+
description?: string;
|
|
6
|
+
avatar_url: string;
|
|
7
|
+
members_count?: number;
|
|
8
|
+
}
|
|
9
|
+
export interface EnterpriseMember {
|
|
10
|
+
id: number;
|
|
11
|
+
login: string;
|
|
12
|
+
name: string;
|
|
13
|
+
avatar_url: string;
|
|
14
|
+
email?: string;
|
|
15
|
+
role?: string;
|
|
16
|
+
}
|
|
17
|
+
export interface EnterpriseIssue {
|
|
18
|
+
id: number;
|
|
19
|
+
number: string;
|
|
20
|
+
title: string;
|
|
21
|
+
state: string;
|
|
22
|
+
html_url: string;
|
|
23
|
+
user: {
|
|
24
|
+
login: string;
|
|
25
|
+
name: string;
|
|
26
|
+
};
|
|
27
|
+
repository?: {
|
|
28
|
+
full_name: string;
|
|
29
|
+
};
|
|
30
|
+
created_at: string;
|
|
31
|
+
updated_at: string;
|
|
32
|
+
}
|
|
33
|
+
export interface EnterpriseLabel {
|
|
34
|
+
id: number;
|
|
35
|
+
name: string;
|
|
36
|
+
color: string;
|
|
37
|
+
description?: string;
|
|
38
|
+
}
|
|
39
|
+
export declare function listEnterpriseIssues(token: string, enterprise: string, params?: {
|
|
40
|
+
state?: 'open' | 'closed' | 'all';
|
|
41
|
+
labels?: string;
|
|
42
|
+
sort?: 'created' | 'updated';
|
|
43
|
+
direction?: 'asc' | 'desc';
|
|
44
|
+
page?: number;
|
|
45
|
+
per_page?: number;
|
|
46
|
+
}): Promise<EnterpriseIssue[]>;
|
|
47
|
+
export declare function listEnterpriseMembers(token: string, enterprise: string, params?: {
|
|
48
|
+
page?: number;
|
|
49
|
+
per_page?: number;
|
|
50
|
+
role?: 'member' | 'admin';
|
|
51
|
+
}): Promise<EnterpriseMember[]>;
|
|
52
|
+
export declare function listEnterpriseLabels(token: string, enterprise: string, params?: {
|
|
53
|
+
page?: number;
|
|
54
|
+
per_page?: number;
|
|
55
|
+
}): Promise<EnterpriseLabel[]>;
|