mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-09-28 14:32:03 +00:00
refactoring separate model & module
This commit is contained in:
parent
720367af68
commit
e7759d0784
13 changed files with 16 additions and 17 deletions
|
@ -16,9 +16,8 @@ type Sut struct {
|
||||||
func (sut Sut) Validate() []string {
|
func (sut Sut) Validate() []string {
|
||||||
if sut.valid {
|
if sut.valid {
|
||||||
return []string{}
|
return []string{}
|
||||||
} else {
|
|
||||||
return []string{"invalid"}
|
|
||||||
}
|
}
|
||||||
|
return []string{"invalid"}
|
||||||
}
|
}
|
||||||
|
|
||||||
func Test_IsValid(t *testing.T) {
|
func Test_IsValid(t *testing.T) {
|
||||||
|
|
|
@ -8,7 +8,7 @@ import (
|
||||||
"net/http"
|
"net/http"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
forgefed_model "code.gitea.io/gitea/models/forgefed"
|
"code.gitea.io/gitea/modules/forgefed"
|
||||||
"code.gitea.io/gitea/modules/log"
|
"code.gitea.io/gitea/modules/log"
|
||||||
"code.gitea.io/gitea/modules/setting"
|
"code.gitea.io/gitea/modules/setting"
|
||||||
"code.gitea.io/gitea/modules/web"
|
"code.gitea.io/gitea/modules/web"
|
||||||
|
@ -36,7 +36,7 @@ func Repository(ctx *context.APIContext) {
|
||||||
// "$ref": "#/responses/ActivityPub"
|
// "$ref": "#/responses/ActivityPub"
|
||||||
|
|
||||||
link := fmt.Sprintf("%s/api/v1/activitypub/repository-id/%d", strings.TrimSuffix(setting.AppURL, "/"), ctx.Repo.Repository.ID)
|
link := fmt.Sprintf("%s/api/v1/activitypub/repository-id/%d", strings.TrimSuffix(setting.AppURL, "/"), ctx.Repo.Repository.ID)
|
||||||
repo := forgefed_model.RepositoryNew(ap.IRI(link))
|
repo := forgefed.RepositoryNew(ap.IRI(link))
|
||||||
|
|
||||||
repo.Name = ap.NaturalLanguageValuesNew()
|
repo.Name = ap.NaturalLanguageValuesNew()
|
||||||
err := repo.Name.Set("en", ap.Content(ctx.Repo.Repository.Name))
|
err := repo.Name.Set("en", ap.Content(ctx.Repo.Repository.Name))
|
||||||
|
|
|
@ -6,8 +6,8 @@ package activitypub
|
||||||
import (
|
import (
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"code.gitea.io/gitea/models/forgefed"
|
|
||||||
"code.gitea.io/gitea/modules/activitypub"
|
"code.gitea.io/gitea/modules/activitypub"
|
||||||
|
"code.gitea.io/gitea/modules/forgefed"
|
||||||
"code.gitea.io/gitea/modules/log"
|
"code.gitea.io/gitea/modules/log"
|
||||||
"code.gitea.io/gitea/services/context"
|
"code.gitea.io/gitea/services/context"
|
||||||
|
|
||||||
|
|
|
@ -73,7 +73,6 @@ import (
|
||||||
|
|
||||||
actions_model "code.gitea.io/gitea/models/actions"
|
actions_model "code.gitea.io/gitea/models/actions"
|
||||||
auth_model "code.gitea.io/gitea/models/auth"
|
auth_model "code.gitea.io/gitea/models/auth"
|
||||||
"code.gitea.io/gitea/models/forgefed"
|
|
||||||
issues_model "code.gitea.io/gitea/models/issues"
|
issues_model "code.gitea.io/gitea/models/issues"
|
||||||
"code.gitea.io/gitea/models/organization"
|
"code.gitea.io/gitea/models/organization"
|
||||||
"code.gitea.io/gitea/models/perm"
|
"code.gitea.io/gitea/models/perm"
|
||||||
|
@ -81,6 +80,7 @@ import (
|
||||||
repo_model "code.gitea.io/gitea/models/repo"
|
repo_model "code.gitea.io/gitea/models/repo"
|
||||||
"code.gitea.io/gitea/models/unit"
|
"code.gitea.io/gitea/models/unit"
|
||||||
user_model "code.gitea.io/gitea/models/user"
|
user_model "code.gitea.io/gitea/models/user"
|
||||||
|
"code.gitea.io/gitea/modules/forgefed"
|
||||||
"code.gitea.io/gitea/modules/log"
|
"code.gitea.io/gitea/modules/log"
|
||||||
"code.gitea.io/gitea/modules/setting"
|
"code.gitea.io/gitea/modules/setting"
|
||||||
api "code.gitea.io/gitea/modules/structs"
|
api "code.gitea.io/gitea/modules/structs"
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
package swagger
|
package swagger
|
||||||
|
|
||||||
import (
|
import (
|
||||||
ffed "code.gitea.io/gitea/models/forgefed"
|
ffed "code.gitea.io/gitea/modules/forgefed"
|
||||||
api "code.gitea.io/gitea/modules/structs"
|
api "code.gitea.io/gitea/modules/structs"
|
||||||
"code.gitea.io/gitea/services/forms"
|
"code.gitea.io/gitea/services/forms"
|
||||||
)
|
)
|
||||||
|
|
|
@ -7,7 +7,7 @@ import (
|
||||||
"context"
|
"context"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"code.gitea.io/gitea/models/forgefed"
|
fm "code.gitea.io/gitea/modules/forgefed"
|
||||||
"code.gitea.io/gitea/modules/log"
|
"code.gitea.io/gitea/modules/log"
|
||||||
"code.gitea.io/gitea/modules/validation"
|
"code.gitea.io/gitea/modules/validation"
|
||||||
)
|
)
|
||||||
|
@ -20,7 +20,7 @@ import (
|
||||||
// Star the repo if it wasn't already stared
|
// Star the repo if it wasn't already stared
|
||||||
// Do some mitigation against out of order attacks
|
// Do some mitigation against out of order attacks
|
||||||
func ProcessLikeActivity(ctx context.Context, form any, repositoryID int64) (int, string, error) {
|
func ProcessLikeActivity(ctx context.Context, form any, repositoryID int64) (int, string, error) {
|
||||||
activity := form.(*forgefed.ForgeLike)
|
activity := form.(*fm.ForgeLike)
|
||||||
if res, err := validation.IsValid(activity); !res {
|
if res, err := validation.IsValid(activity); !res {
|
||||||
return http.StatusNotAcceptable, "Invalid activity", err
|
return http.StatusNotAcceptable, "Invalid activity", err
|
||||||
}
|
}
|
||||||
|
|
2
templates/swagger/v1_json.tmpl
generated
2
templates/swagger/v1_json.tmpl
generated
|
@ -21389,7 +21389,7 @@
|
||||||
"ForgeLike": {
|
"ForgeLike": {
|
||||||
"description": "ForgeLike activity data type",
|
"description": "ForgeLike activity data type",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"x-go-package": "code.gitea.io/gitea/models/forgefed"
|
"x-go-package": "code.gitea.io/gitea/modules/forgefed"
|
||||||
},
|
},
|
||||||
"GPGKey": {
|
"GPGKey": {
|
||||||
"description": "GPGKey a user GPG key to sign commit and tag in repository",
|
"description": "GPGKey a user GPG key to sign commit and tag in repository",
|
||||||
|
|
|
@ -11,9 +11,9 @@ import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"code.gitea.io/gitea/models/db"
|
"code.gitea.io/gitea/models/db"
|
||||||
forgefed_model "code.gitea.io/gitea/models/forgefed"
|
|
||||||
"code.gitea.io/gitea/models/user"
|
"code.gitea.io/gitea/models/user"
|
||||||
"code.gitea.io/gitea/modules/activitypub"
|
"code.gitea.io/gitea/modules/activitypub"
|
||||||
|
forgefed_modules "code.gitea.io/gitea/modules/forgefed"
|
||||||
"code.gitea.io/gitea/modules/setting"
|
"code.gitea.io/gitea/modules/setting"
|
||||||
"code.gitea.io/gitea/routers"
|
"code.gitea.io/gitea/routers"
|
||||||
|
|
||||||
|
@ -35,7 +35,7 @@ func TestActivityPubRepository(t *testing.T) {
|
||||||
body := resp.Body.Bytes()
|
body := resp.Body.Bytes()
|
||||||
assert.Contains(t, string(body), "@context")
|
assert.Contains(t, string(body), "@context")
|
||||||
|
|
||||||
var repository forgefed_model.Repository
|
var repository forgefed_modules.Repository
|
||||||
err := repository.UnmarshalJSON(body)
|
err := repository.UnmarshalJSON(body)
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
@ -81,12 +81,12 @@ func TestActivityPubRepositoryInboxValid(t *testing.T) {
|
||||||
repositoryID := 2
|
repositoryID := 2
|
||||||
c, err := activitypub.NewClient(db.DefaultContext, actionsUser, "not used")
|
c, err := activitypub.NewClient(db.DefaultContext, actionsUser, "not used")
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
repoInboxUrl := fmt.Sprintf("%s/api/v1/activitypub/repository-id/%v/inbox",
|
repoInboxURL := fmt.Sprintf("%s/api/v1/activitypub/repository-id/%v/inbox",
|
||||||
srv.URL, repositoryID)
|
srv.URL, repositoryID)
|
||||||
|
|
||||||
activity := []byte(fmt.Sprintf(`{"type":"Like","startTime":"2024-03-27T00:00:00Z","actor":"%s/api/v1/activitypub/user-id/2","object":"%s/api/v1/activitypub/repository-id/%v"}`,
|
activity := []byte(fmt.Sprintf(`{"type":"Like","startTime":"2024-03-27T00:00:00Z","actor":"%s/api/v1/activitypub/user-id/2","object":"%s/api/v1/activitypub/repository-id/%v"}`,
|
||||||
srv.URL, srv.URL, repositoryID))
|
srv.URL, srv.URL, repositoryID))
|
||||||
resp, err := c.Post(activity, repoInboxUrl)
|
resp, err := c.Post(activity, repoInboxURL)
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
assert.Equal(t, http.StatusNoContent, resp.StatusCode)
|
assert.Equal(t, http.StatusNoContent, resp.StatusCode)
|
||||||
})
|
})
|
||||||
|
@ -114,11 +114,11 @@ func TestActivityPubRepositoryInboxInvalid(t *testing.T) {
|
||||||
repositoryID := 2
|
repositoryID := 2
|
||||||
c, err := activitypub.NewClient(db.DefaultContext, actionsUser, "not used")
|
c, err := activitypub.NewClient(db.DefaultContext, actionsUser, "not used")
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
repoInboxUrl := fmt.Sprintf("%s/api/v1/activitypub/repository-id/%v/inbox",
|
repoInboxURL := fmt.Sprintf("%s/api/v1/activitypub/repository-id/%v/inbox",
|
||||||
srv.URL, repositoryID)
|
srv.URL, repositoryID)
|
||||||
|
|
||||||
activity := []byte(fmt.Sprintf(`{"type":"Wrong"}`))
|
activity := []byte(`{"type":"Wrong"}`)
|
||||||
resp, err := c.Post(activity, repoInboxUrl)
|
resp, err := c.Post(activity, repoInboxURL)
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
assert.Equal(t, http.StatusNotAcceptable, resp.StatusCode)
|
assert.Equal(t, http.StatusNotAcceptable, resp.StatusCode)
|
||||||
})
|
})
|
||||||
|
|
Loading…
Reference in a new issue