Make final corrections before fork is finalized (#3)
Reviewed-on: https://codeberg.org/mvdkleijn/forgejo-sdk/pulls/3 Co-authored-by: Martijn van der Kleijn <martijn.niji@gmail.com> Co-committed-by: Martijn van der Kleijn <martijn.niji@gmail.com>
This commit is contained in:
parent
9bcec8a3b0
commit
f4c493667c
8 changed files with 3 additions and 302 deletions
|
@ -4,7 +4,7 @@ repo: mvdkleijn/forgejo-sdk
|
|||
# Service type (forgejo or github)
|
||||
service: forgejo
|
||||
|
||||
# Base URL for Gitea instance if using gitea service type (optional)
|
||||
# Base URL for Forgejo instance if using forgejo service type (optional)
|
||||
# Default: https://forgejo.org
|
||||
base-url: https://forgejo.org
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@ Please be kind, remember that Forgejo SDK comes at no cost to you, and you're ge
|
|||
|
||||
The project welcomes submissions but please let everyone know what you're working on if you want to change or add something to the Forgejo SDK repository.
|
||||
|
||||
Before starting to write something new for the Forgejo SDK project, please [file an issue](https://coderberg.org/mvdkleijn/forgejo-sdk/issues/new).
|
||||
Before starting to write something new for the Forgejo SDK project, please [file an issue](https://codeberg.org/mvdkleijn/forgejo-sdk/issues/new).
|
||||
|
||||
## Testing redux
|
||||
|
||||
|
|
|
@ -1,118 +0,0 @@
|
|||
# Migration Guide: v0.11 to v0.12
|
||||
|
||||
v0.12.0 introduces a number of breaking changes, through which it should not be difficult to migrate.
|
||||
Just follow this guid and if you still encounter problems, ask for help on discord or feel free to create an issue.
|
||||
|
||||
<!-- toc -->
|
||||
|
||||
- [List Functions now always need an ListOption as argument (#205) (#243) (244)](#List-Functions-now-always-need-an-ListOption-as-argument)
|
||||
- [Authentification was removed from all Functions (#241) (#335)](Authentification-was-removed-from-all-Functions)
|
||||
- [Some Functions where deleted (#247) (#262)](Some-Functions-where-deleted)
|
||||
- [SearchUsers arguments are move to an Option struct (#248)](SearchUsers-arguments-are-move-to-an-Option-struct)
|
||||
- [RepoTopics functions now expect and return string slice directly (#276)](ListRepoTopics-return-now-string-slice-directly)
|
||||
- [MergePullRequestOption field names changed and Enum is now used (#328)](MergePullRequestOption-field-names-changed-and-Enum-is-now-used)
|
||||
|
||||
<!-- tocstop -->
|
||||
|
||||
## List Functions now always need an ListOption as argument
|
||||
|
||||
since paggination is introduced in gitea v1.12.0 for all list endpoints,
|
||||
all List Functions acept at least **Page** and **PageSize**.
|
||||
|
||||
If the function had had already an Option struct as argument this one is now extendet,
|
||||
if not a new Options type was created.
|
||||
|
||||
- migrate old paggination arguments to the new One.
|
||||
- add a empty Option struct if a new one was created.
|
||||
|
||||
Pulls:
|
||||
|
||||
- [#205 Add Pagination Options for List Requests](https://gitea.com/gitea/go-sdk/pulls/205)
|
||||
- [#243 Add ListIssueCommentOptions for optional param](https://gitea.com/gitea/go-sdk/pulls/243)
|
||||
- [#244 Add ListMilestoneOption to ListRepoMilestones](https://gitea.com/gitea/go-sdk/pulls/244)
|
||||
|
||||
## Authentification was removed from all Functions
|
||||
|
||||
for Authentification the default credentials/token is used,
|
||||
witch was set on Client initialisation.
|
||||
|
||||
for RepoWatch functions remove arguments:
|
||||
|
||||
- GetWatchedRepos: password (second)
|
||||
- WatchRepo: username (first), password (second)
|
||||
- UnWatchRepo: username (first), password (second)
|
||||
|
||||
for Token functions remove:
|
||||
|
||||
- the first two argument (user & password),
|
||||
these functions still relay on BasicAuth so if not done,
|
||||
just set username, password and optional otp before executing them.
|
||||
|
||||
```go
|
||||
client.SetBasicAuth(username, password)
|
||||
client.SetOTP(otp)
|
||||
```
|
||||
|
||||
Pulls:
|
||||
|
||||
- [#241 Refactor RepoWatch](https://gitea.com/gitea/go-sdk/pulls/241)
|
||||
- [#335 Support 2FA for basic auth & Refactor Token functions](https://gitea.com/gitea/go-sdk/pulls/335)
|
||||
|
||||
## Some Functions where deleted
|
||||
|
||||
Functions where deleted because they where only workarounds
|
||||
or are helper functions witch could be replaced easely.
|
||||
|
||||
- BasicAuthEncode
|
||||
if you realy need this just copy the function into your project:
|
||||
```go
|
||||
func BasicAuthEncode(user, pass string) string {
|
||||
return base64.StdEncoding.EncodeToString([]byte(user + ":" + pass))
|
||||
}
|
||||
```
|
||||
- ListUserIssues
|
||||
If you realy need this just use the Workaround witch was removed with #262
|
||||
and If you have time a pull upstream to gitea for a real API is always wellcome
|
||||
|
||||
Pulls:
|
||||
|
||||
- [#247 Fix & Refactor UserApp Functions](https://gitea.com/gitea/go-sdk/pulls/247)
|
||||
- [#262 Remove ListUserIssues](https://gitea.com/gitea/go-sdk/pulls/262)
|
||||
|
||||
## SearchUsers arguments are move to an Option struct
|
||||
|
||||
Old:
|
||||
`client.SearchUsers(query, limit)`
|
||||
New:
|
||||
`client.SearchUsers(SearchUsersOption{KeyWord: "query", Page: 1, PageSize: limit})`
|
||||
|
||||
Pull: [#248 extend SearchUsers](https://gitea.com/gitea/go-sdk/pulls/248)
|
||||
|
||||
## ListRepoTopics return now string slice directly
|
||||
|
||||
ListRepoTopics returned a struct with Topics string slice.
|
||||
Now it return the falue of this string slice directly
|
||||
|
||||
Old:
|
||||
|
||||
```go
|
||||
client.SetRepoTopics(user, repo, TopicsList{topic_slice})
|
||||
```
|
||||
|
||||
New:
|
||||
|
||||
```go
|
||||
client.SetRepoTopics(user, repo, topic_slice)
|
||||
```
|
||||
|
||||
Pull: [#276 Refactor List/SetRepoTopics](https://gitea.com/gitea/go-sdk/pulls/276)
|
||||
|
||||
## MergePullRequestOption field names changed and Enum is now used
|
||||
|
||||
Rename **MergeTitleField** to **Title**
|
||||
Rename **MergeMessageField** to **Message**
|
||||
|
||||
Do is now called Style and expect predefined falues:
|
||||
MergeStyleMerge, MergeStyleRebase, MergeStyleRebaseMerge & MergeStyleSquash
|
||||
|
||||
Pull: [#328 PullMerge: use enum for MergeStyle](https://gitea.com/gitea/go-sdk/pulls/328)
|
|
@ -1,87 +0,0 @@
|
|||
# Migration Guide: v0.12 to v0.13
|
||||
|
||||
v0.13.0 introduces a number of breaking changes, through which it should not be difficult to migrate.
|
||||
Just follow this guid and if you still encounter problems, ask for help on discord or feel free to create an issue.
|
||||
|
||||
<!-- toc -->
|
||||
|
||||
- [EditMilestoneOption use StateType (#350)](#EditMilestoneOption-use-StateType)
|
||||
- [RepoSearch Options Struct was rewritten (#346)](#RepoSearch-Options-Struct-was-rewritten)
|
||||
- [Variable Renames (#386)](#Variable-Renames)
|
||||
- [Change Type of Permission Field (#408)](#Change-Type-of-Permission-Field)
|
||||
- [All Function return http responce (#416)](#All-Function-return-http-responce)
|
||||
- [NewClient has new Option Interface (#417)](#NewClient-has-new-Option-Interface)
|
||||
|
||||
<!-- tocstop -->
|
||||
|
||||
## EditMilestoneOption use StateType
|
||||
|
||||
Instead of a raw string StateType is now used for State too.
|
||||
just replace old strings with new enum.
|
||||
|
||||
|
||||
Pulls:
|
||||
- [#350 EditMilestoneOption also use StateType](https://gitea.com/gitea/go-sdk/pulls/350)
|
||||
|
||||
|
||||
## RepoSearch Options Struct was rewritten
|
||||
|
||||
Since the API itself is ugly and there was no nameconvention whats o ever.
|
||||
You easely can pass the wrong options and dont get the result you want.
|
||||
|
||||
Now it is rewritten and translated for the API.
|
||||
The easyest way to migrate is to look at who this function is used and rewritten that code block.
|
||||
|
||||
If there is a special edgecase you have you can pass a `RawQuery` to the API endpoint.
|
||||
|
||||
Pulls:
|
||||
- [#346 Refactor RepoSearch to be easy usable](https://gitea.com/gitea/go-sdk/pulls/346)
|
||||
|
||||
|
||||
## Variable Renames
|
||||
|
||||
Some names of strcut options have been renamed to describe there function/usecase more precisely.
|
||||
if you use `CreateOrgOption` somewhere just rename `UserName` to `Name`.
|
||||
|
||||
Pulls:
|
||||
- [#386 CreateOrgOption rename UserName to Name](https://gitea.com/gitea/go-sdk/pulls/386)
|
||||
|
||||
## Change Type of Permission Field
|
||||
|
||||
The following functions are affected: ListOrgTeams, ListMyTeams, GetTeam, CreateTeam, EditTeam and AddCollaborator
|
||||
|
||||
The `Permission` field has changed type from `string` to `AccessMode`,
|
||||
which represent the raw strings you must use before.
|
||||
Just replace the string with the AccessMode equivalent.
|
||||
|
||||
Pulls:
|
||||
- [#408 Use enum AccessMode for OrgTeam and Collaborator functions](https://gitea.com/gitea/go-sdk/pulls/408)
|
||||
|
||||
|
||||
## All Function return http responce
|
||||
|
||||
All functions got one new return (`Responce`)!
|
||||
If you just like to migrate, add `_,` before the error return.
|
||||
|
||||
example:
|
||||
```diff
|
||||
- user, err := c.GetMyUserInfo()
|
||||
+ user, _, err := c.GetMyUserInfo()
|
||||
```
|
||||
|
||||
If you like to check responce if an error ocure, make sure responce is not nil!
|
||||
If an error ocure before an http request (e.g. gitea is to old), it will be nil.
|
||||
|
||||
Pulls:
|
||||
- [#416 All Function return http responce](https://gitea.com/gitea/go-sdk/pulls/416)
|
||||
|
||||
|
||||
## NewClient has new Option Interface
|
||||
|
||||
function `NewClient` use functional options now.
|
||||
If you simply like to migrate replace `client := NewClient(giteaUrl, token)` with `client, _ := NewClient(giteaURL, SetToken(token))`.
|
||||
|
||||
If you like tu utilize them, currently there are: SetContext, SetBasicAuth, SetOTP, SetToken, SetHTTPClient, SetSudo
|
||||
|
||||
Pulls:
|
||||
- [#417 Make http requests with context](https://gitea.com/gitea/go-sdk/pulls/417)
|
|
@ -1,46 +0,0 @@
|
|||
# Migration Guide: v0.13 to v0.14
|
||||
|
||||
v0.14.0 introduces a number of breaking changes, through which it should not be difficult to migrate.
|
||||
Just follow this guid and if you still encounter problems, ask for help on discord or feel free to create an issue.
|
||||
|
||||
<!-- toc -->
|
||||
|
||||
- [Removed Functions (#467)](#removed-functions)
|
||||
- [Renamed Functions (#467)](#renamed-functions)
|
||||
- [New Optional Fields (#486)](#new-optional-fields)
|
||||
- [Arguemnts are escapted by the SDK iteslve now (#273)](#escape-function-arguments)
|
||||
|
||||
<!-- tocstop -->
|
||||
|
||||
## Removed Functions
|
||||
|
||||
- for **GetUserTrackedTimes** and **GetRepoTrackedTimes** use **ListRepoTrackedTimes** with specific options set
|
||||
|
||||
Pulls:
|
||||
- [#467 Remove GetUserTrackedTimes](https://gitea.com/gitea/go-sdk/pulls/467)
|
||||
|
||||
|
||||
## Renamed Functions
|
||||
|
||||
- **ListTrackedTimes** is now **ListIssueTrackedTimes**
|
||||
|
||||
Pulls:
|
||||
- [#467 Remove & Rename TrackedTimes list functions](https://gitea.com/gitea/go-sdk/pulls/467)
|
||||
|
||||
|
||||
## New Optional Fields
|
||||
|
||||
The `EditUserOption` struct has gained several new Optional fields.
|
||||
For example Email type changed from `string` to `*string`.
|
||||
|
||||
The easiest migration path is, to wrap your options with:
|
||||
**OptionalString()**, **OptionalBool()** and **OptionalInt64()**
|
||||
|
||||
Pulls:
|
||||
- [#486 Update Structs](https://gitea.com/gitea/go-sdk/pulls/486)
|
||||
|
||||
|
||||
## Escape Function Arguments
|
||||
|
||||
String arguments like `user`, `repo`, `tag`, ... are now url/path/query escapted as they need.
|
||||
If you had issues and did escape arguments by yourselve you have to remove this now.
|
|
@ -1,20 +0,0 @@
|
|||
# Migration Guide: v0.14 to v0.15
|
||||
|
||||
v0.15.0 introduces a number of API changes, which should be simple to migrate.
|
||||
Just follow this guide and if you still encounter problems, ask for help on Discord or feel free to create an issue.
|
||||
|
||||
<!-- toc -->
|
||||
|
||||
- [Changed Struct Fields (#503) (#520)](#changed-struct-fields)
|
||||
|
||||
<!-- tocstop -->
|
||||
|
||||
## Changed Struct Fields
|
||||
|
||||
- The `State` field at **NotificationSubject** changed from **StateType** to **NotifySubjectState**, it also contains `"open"`, `"closed"` and add `"merged"`.
|
||||
- In **Issue**, **CreateIssueOption** and **EditIssueOption** structs, `Assignee` got removed. Use `Assignees`.
|
||||
- `Type` field at **CreateHookOption** now use **HookType** instead of pure string.
|
||||
|
||||
Pulls:
|
||||
- [#503 Drop deprecations](https://gitea.com/gitea/go-sdk/pulls/503)
|
||||
- [#520 Introduce NotifySubjectState](https://gitea.com/gitea/go-sdk/pulls/520)
|
|
@ -1,28 +0,0 @@
|
|||
# Migration Guide: v0.15 to v0.16
|
||||
|
||||
v0.16.0 introduces a number of API changes, which should be simple to migrate.
|
||||
Just follow this guide and if you still encounter problems, ask for help on Discord or feel free to create an issue.
|
||||
|
||||
<!-- toc -->
|
||||
|
||||
- [Upstream API changes](#upstream-api-changes)
|
||||
- [GetPullRequestDiff: add PullRequestDiffOption parameter (#542)](#getpullrequestdiff)
|
||||
|
||||
<!-- tocstop -->
|
||||
|
||||
## Upstream API changes
|
||||
|
||||
As we aim to track API changes in Gitea 1.16 with this SDK release, you may find this [summary listing of changes](https://gitea.com/gitea/go-sdk/issues/558) helpful.
|
||||
|
||||
## GetPullRequestDiff
|
||||
Added new parameter `opts PullRequestDiffOption`. Gitea 1.16 will default to omit binary file changes in diffs; if you still need that information, set `opts.Binary = true`.
|
||||
Related PRs:
|
||||
- [go-sdk#542](https://gitea.com/gitea/go-sdk/pulls/542)
|
||||
- [gitea#17158](https://github.com/go-gitea/gitea/pull/17158)
|
||||
|
||||
## ReadNotification, ReadNotifications, ReadRepoNotifications
|
||||
The function now has a new return argument. The read notifications will now be returned by Gitea 1.16. If you don't require this information, use a blank identifier for the return variable.
|
||||
|
||||
Related PRs:
|
||||
- [go-sdk#590](https://gitea.com/gitea/go-sdk/pulls/590)
|
||||
- [gitea#17064](https://github.com/go-gitea/gitea/pull/17064)
|
|
@ -36,7 +36,7 @@ func TestUserApp(t *testing.T) {
|
|||
result, _, err := c.ListAccessTokens(ListAccessTokensOptions{})
|
||||
assert.NoError(t, err)
|
||||
assert.Len(t, result, 1)
|
||||
// the gitea-admin name for the token is hardcoded in forgejo itself, until it's changed this will need to do
|
||||
// TODO: the gitea-admin name for the token is hardcoded in forgejo itself, until it's changed this will need to do
|
||||
assert.EqualValues(t, "gitea-admin", result[0].Name)
|
||||
|
||||
t1, _, err := c.CreateAccessToken(CreateAccessTokenOption{Name: "TestCreateAccessToken"})
|
||||
|
|
Loading…
Reference in a new issue