go-sdk/docs/migrate-v0.12-to-v0.13.md
6543 fb42ca1c8d Introduce NotifySubjectState (#520)
close #515

Reviewed-on: gitea/go-sdk#520
Reviewed-by: Andrew Thornton <art27@cantab.net>
Reviewed-by: techknowlogick <techknowlogick@gitea.io>
Co-authored-by: 6543 <6543@obermui.de>
Co-committed-by: 6543 <6543@obermui.de>
2021-07-01 05:06:50 +08:00

3.2 KiB

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.

EditMilestoneOption use StateType

Instead of a raw string StateType is now used for State too.
just replace old strings with new enum.

Pulls:

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:

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:

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:

All Function return http responce

All functions got one new return (Responce)!
If you just like to migrate, add _, before the error return.

example:

- 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:

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: