From e7759d0784ed90eb379b0d96d50f7bf2a000bc17 Mon Sep 17 00:00:00 2001 From: Michael Jerger Date: Fri, 3 May 2024 08:12:04 +0200 Subject: [PATCH] refactoring separate model & module --- {models => modules}/forgefed/activity.go | 0 {models => modules}/forgefed/activity_test.go | 0 {models => modules}/forgefed/forgefed.go | 0 {models => modules}/forgefed/repository.go | 0 {models => modules}/forgefed/repository_test.go | 0 modules/validation/validatable_test.go | 3 +-- routers/api/v1/activitypub/repository.go | 4 ++-- routers/api/v1/activitypub/response.go | 2 +- routers/api/v1/api.go | 2 +- routers/api/v1/swagger/options.go | 2 +- services/federation/federation_service.go | 4 ++-- templates/swagger/v1_json.tmpl | 2 +- .../integration/api_activitypub_repository_test.go | 14 +++++++------- 13 files changed, 16 insertions(+), 17 deletions(-) rename {models => modules}/forgefed/activity.go (100%) rename {models => modules}/forgefed/activity_test.go (100%) rename {models => modules}/forgefed/forgefed.go (100%) rename {models => modules}/forgefed/repository.go (100%) rename {models => modules}/forgefed/repository_test.go (100%) diff --git a/models/forgefed/activity.go b/modules/forgefed/activity.go similarity index 100% rename from models/forgefed/activity.go rename to modules/forgefed/activity.go diff --git a/models/forgefed/activity_test.go b/modules/forgefed/activity_test.go similarity index 100% rename from models/forgefed/activity_test.go rename to modules/forgefed/activity_test.go diff --git a/models/forgefed/forgefed.go b/modules/forgefed/forgefed.go similarity index 100% rename from models/forgefed/forgefed.go rename to modules/forgefed/forgefed.go diff --git a/models/forgefed/repository.go b/modules/forgefed/repository.go similarity index 100% rename from models/forgefed/repository.go rename to modules/forgefed/repository.go diff --git a/models/forgefed/repository_test.go b/modules/forgefed/repository_test.go similarity index 100% rename from models/forgefed/repository_test.go rename to modules/forgefed/repository_test.go diff --git a/modules/validation/validatable_test.go b/modules/validation/validatable_test.go index 19bda27173..fdc21f3223 100644 --- a/modules/validation/validatable_test.go +++ b/modules/validation/validatable_test.go @@ -16,9 +16,8 @@ type Sut struct { func (sut Sut) Validate() []string { if sut.valid { return []string{} - } else { - return []string{"invalid"} } + return []string{"invalid"} } func Test_IsValid(t *testing.T) { diff --git a/routers/api/v1/activitypub/repository.go b/routers/api/v1/activitypub/repository.go index 65d5fc9074..a9e94f289a 100644 --- a/routers/api/v1/activitypub/repository.go +++ b/routers/api/v1/activitypub/repository.go @@ -8,7 +8,7 @@ import ( "net/http" "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/setting" "code.gitea.io/gitea/modules/web" @@ -36,7 +36,7 @@ func Repository(ctx *context.APIContext) { // "$ref": "#/responses/ActivityPub" 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() err := repo.Name.Set("en", ap.Content(ctx.Repo.Repository.Name)) diff --git a/routers/api/v1/activitypub/response.go b/routers/api/v1/activitypub/response.go index 1eca027f30..a2a053b34a 100644 --- a/routers/api/v1/activitypub/response.go +++ b/routers/api/v1/activitypub/response.go @@ -6,8 +6,8 @@ package activitypub import ( "net/http" - "code.gitea.io/gitea/models/forgefed" "code.gitea.io/gitea/modules/activitypub" + "code.gitea.io/gitea/modules/forgefed" "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/services/context" diff --git a/routers/api/v1/api.go b/routers/api/v1/api.go index 4a1d1785eb..0911c868fd 100644 --- a/routers/api/v1/api.go +++ b/routers/api/v1/api.go @@ -73,7 +73,6 @@ import ( actions_model "code.gitea.io/gitea/models/actions" auth_model "code.gitea.io/gitea/models/auth" - "code.gitea.io/gitea/models/forgefed" issues_model "code.gitea.io/gitea/models/issues" "code.gitea.io/gitea/models/organization" "code.gitea.io/gitea/models/perm" @@ -81,6 +80,7 @@ import ( repo_model "code.gitea.io/gitea/models/repo" "code.gitea.io/gitea/models/unit" 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/setting" api "code.gitea.io/gitea/modules/structs" diff --git a/routers/api/v1/swagger/options.go b/routers/api/v1/swagger/options.go index 55effaab6f..e6f6f009ce 100644 --- a/routers/api/v1/swagger/options.go +++ b/routers/api/v1/swagger/options.go @@ -5,7 +5,7 @@ package swagger import ( - ffed "code.gitea.io/gitea/models/forgefed" + ffed "code.gitea.io/gitea/modules/forgefed" api "code.gitea.io/gitea/modules/structs" "code.gitea.io/gitea/services/forms" ) diff --git a/services/federation/federation_service.go b/services/federation/federation_service.go index 2d7215ff70..478b00df96 100644 --- a/services/federation/federation_service.go +++ b/services/federation/federation_service.go @@ -7,7 +7,7 @@ import ( "context" "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/validation" ) @@ -20,7 +20,7 @@ import ( // Star the repo if it wasn't already stared // Do some mitigation against out of order attacks 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 { return http.StatusNotAcceptable, "Invalid activity", err } diff --git a/templates/swagger/v1_json.tmpl b/templates/swagger/v1_json.tmpl index de293b2170..b8ef5668db 100644 --- a/templates/swagger/v1_json.tmpl +++ b/templates/swagger/v1_json.tmpl @@ -21389,7 +21389,7 @@ "ForgeLike": { "description": "ForgeLike activity data type", "type": "object", - "x-go-package": "code.gitea.io/gitea/models/forgefed" + "x-go-package": "code.gitea.io/gitea/modules/forgefed" }, "GPGKey": { "description": "GPGKey a user GPG key to sign commit and tag in repository", diff --git a/tests/integration/api_activitypub_repository_test.go b/tests/integration/api_activitypub_repository_test.go index 60d7e32822..19bf1cf094 100644 --- a/tests/integration/api_activitypub_repository_test.go +++ b/tests/integration/api_activitypub_repository_test.go @@ -11,9 +11,9 @@ import ( "testing" "code.gitea.io/gitea/models/db" - forgefed_model "code.gitea.io/gitea/models/forgefed" "code.gitea.io/gitea/models/user" "code.gitea.io/gitea/modules/activitypub" + forgefed_modules "code.gitea.io/gitea/modules/forgefed" "code.gitea.io/gitea/modules/setting" "code.gitea.io/gitea/routers" @@ -35,7 +35,7 @@ func TestActivityPubRepository(t *testing.T) { body := resp.Body.Bytes() assert.Contains(t, string(body), "@context") - var repository forgefed_model.Repository + var repository forgefed_modules.Repository err := repository.UnmarshalJSON(body) assert.NoError(t, err) @@ -81,12 +81,12 @@ func TestActivityPubRepositoryInboxValid(t *testing.T) { repositoryID := 2 c, err := activitypub.NewClient(db.DefaultContext, actionsUser, "not used") 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) 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)) - resp, err := c.Post(activity, repoInboxUrl) + resp, err := c.Post(activity, repoInboxURL) assert.NoError(t, err) assert.Equal(t, http.StatusNoContent, resp.StatusCode) }) @@ -114,11 +114,11 @@ func TestActivityPubRepositoryInboxInvalid(t *testing.T) { repositoryID := 2 c, err := activitypub.NewClient(db.DefaultContext, actionsUser, "not used") 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) - activity := []byte(fmt.Sprintf(`{"type":"Wrong"}`)) - resp, err := c.Post(activity, repoInboxUrl) + activity := []byte(`{"type":"Wrong"}`) + resp, err := c.Post(activity, repoInboxURL) assert.NoError(t, err) assert.Equal(t, http.StatusNotAcceptable, resp.StatusCode) })