From a52b610effe7f5746e28eab1fd871ad5278cec9e Mon Sep 17 00:00:00 2001 From: Gusted Date: Thu, 30 Jan 2025 11:55:50 +0100 Subject: [PATCH 01/26] chore: Remove `GetTopicByName` - Introduced in bec69f702ba8ecdc9a77db34ff94b7e55879be59 and removed in the same commit (only usage was in testing code). --- .deadcode-out | 4 ---- models/repo/topic.go | 33 --------------------------------- models/repo/topic_test.go | 3 +-- 3 files changed, 1 insertion(+), 39 deletions(-) diff --git a/.deadcode-out b/.deadcode-out index 70a74128eb..59f82f0167 100644 --- a/.deadcode-out +++ b/.deadcode-out @@ -67,10 +67,6 @@ code.gitea.io/gitea/models/project code.gitea.io/gitea/models/repo DeleteAttachmentsByIssue FindReposMapByIDs - IsErrTopicNotExist - ErrTopicNotExist.Error - ErrTopicNotExist.Unwrap - GetTopicByName WatchRepoMode code.gitea.io/gitea/models/user diff --git a/models/repo/topic.go b/models/repo/topic.go index 6db6c8aef8..2f14ff7f62 100644 --- a/models/repo/topic.go +++ b/models/repo/topic.go @@ -5,14 +5,12 @@ package repo import ( "context" - "fmt" "regexp" "strings" "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/container" "code.gitea.io/gitea/modules/timeutil" - "code.gitea.io/gitea/modules/util" "xorm.io/builder" ) @@ -39,26 +37,6 @@ type RepoTopic struct { //revive:disable-line:exported TopicID int64 `xorm:"pk"` } -// ErrTopicNotExist represents an error that a topic is not exist -type ErrTopicNotExist struct { - Name string -} - -// IsErrTopicNotExist checks if an error is an ErrTopicNotExist. -func IsErrTopicNotExist(err error) bool { - _, ok := err.(ErrTopicNotExist) - return ok -} - -// Error implements error interface -func (err ErrTopicNotExist) Error() string { - return fmt.Sprintf("topic is not exist [name: %s]", err.Name) -} - -func (err ErrTopicNotExist) Unwrap() error { - return util.ErrNotExist -} - // ValidateTopic checks a topic by length and match pattern rules func ValidateTopic(topic string) bool { return len(topic) <= 35 && topicPattern.MatchString(topic) @@ -91,17 +69,6 @@ func SanitizeAndValidateTopics(topics []string) (validTopics, invalidTopics []st return validTopics, invalidTopics } -// GetTopicByName retrieves topic by name -func GetTopicByName(ctx context.Context, name string) (*Topic, error) { - var topic Topic - if has, err := db.GetEngine(ctx).Where("name = ?", name).Get(&topic); err != nil { - return nil, err - } else if !has { - return nil, ErrTopicNotExist{name} - } - return &topic, nil -} - // addTopicByNameToRepo adds a topic name to a repo and increments the topic count. // Returns topic after the addition func addTopicByNameToRepo(ctx context.Context, repoID int64, topicName string) (*Topic, error) { diff --git a/models/repo/topic_test.go b/models/repo/topic_test.go index 45cee524b6..f87ef2bcdf 100644 --- a/models/repo/topic_test.go +++ b/models/repo/topic_test.go @@ -52,8 +52,7 @@ func TestAddTopic(t *testing.T) { require.NoError(t, repo_model.SaveTopics(db.DefaultContext, 2, "golang", "gitea")) repo2NrOfTopics = 2 totalNrOfTopics++ - topic, err := repo_model.GetTopicByName(db.DefaultContext, "gitea") - require.NoError(t, err) + topic := unittest.AssertExistsAndLoadBean(t, &repo_model.Topic{Name: "gitea"}) assert.EqualValues(t, 1, topic.RepoCount) topics, _, err = repo_model.FindTopics(db.DefaultContext, &repo_model.FindTopicOptions{}) From 748162427378d0431183cd921b8edd9e5fa731fe Mon Sep 17 00:00:00 2001 From: Gusted Date: Thu, 30 Jan 2025 12:01:51 +0100 Subject: [PATCH 02/26] chore: Remove `FindReposMapByIDs` - Introduced in 8ce1b539b1aaf242903b5b0c342dd592bd8da8d9 and removed in beb71f5ef6e8074dc744ac995c15f7b5947a3f2e. --- .deadcode-out | 1 - models/repo/repo_list.go | 5 ----- 2 files changed, 6 deletions(-) diff --git a/.deadcode-out b/.deadcode-out index 59f82f0167..9eb1748f84 100644 --- a/.deadcode-out +++ b/.deadcode-out @@ -66,7 +66,6 @@ code.gitea.io/gitea/models/project code.gitea.io/gitea/models/repo DeleteAttachmentsByIssue - FindReposMapByIDs WatchRepoMode code.gitea.io/gitea/models/user diff --git a/models/repo/repo_list.go b/models/repo/repo_list.go index 693f8f12af..25329ae712 100644 --- a/models/repo/repo_list.go +++ b/models/repo/repo_list.go @@ -21,11 +21,6 @@ import ( "xorm.io/builder" ) -// FindReposMapByIDs find repos as map -func FindReposMapByIDs(ctx context.Context, repoIDs []int64, res map[int64]*Repository) error { - return db.GetEngine(ctx).In("id", repoIDs).Find(&res) -} - // RepositoryListDefaultPageSize is the default number of repositories // to load in memory when running administrative tasks on all (or almost // all) of them. From 901b32ce166b047ad9106d0672f6961599c50ef4 Mon Sep 17 00:00:00 2001 From: Gusted Date: Thu, 30 Jan 2025 12:04:14 +0100 Subject: [PATCH 03/26] chore: Remove `DeleteAttachmentsByIssue` - Introduced in 4617bef8954deeef5bd2ba36d84aba3b05a4dd83 and removed in ab2d0b3b442a2dc9ad0197f6e97760f5dd6148d6. --- .deadcode-out | 1 - models/repo/attachment.go | 10 ---------- models/repo/attachment_test.go | 6 +----- 3 files changed, 1 insertion(+), 16 deletions(-) diff --git a/.deadcode-out b/.deadcode-out index 9eb1748f84..40c1ec7e01 100644 --- a/.deadcode-out +++ b/.deadcode-out @@ -65,7 +65,6 @@ code.gitea.io/gitea/models/project ChangeProjectStatus code.gitea.io/gitea/models/repo - DeleteAttachmentsByIssue WatchRepoMode code.gitea.io/gitea/models/user diff --git a/models/repo/attachment.go b/models/repo/attachment.go index 128bcebb60..b95d785fa5 100644 --- a/models/repo/attachment.go +++ b/models/repo/attachment.go @@ -219,16 +219,6 @@ func DeleteAttachments(ctx context.Context, attachments []*Attachment, remove bo return int(cnt), nil } -// DeleteAttachmentsByIssue deletes all attachments associated with the given issue. -func DeleteAttachmentsByIssue(ctx context.Context, issueID int64, remove bool) (int, error) { - attachments, err := GetAttachmentsByIssueID(ctx, issueID) - if err != nil { - return 0, err - } - - return DeleteAttachments(ctx, attachments, remove) -} - // DeleteAttachmentsByComment deletes all attachments associated with the given comment. func DeleteAttachmentsByComment(ctx context.Context, commentID int64, remove bool) (int, error) { attachments, err := GetAttachmentsByCommentID(ctx, commentID) diff --git a/models/repo/attachment_test.go b/models/repo/attachment_test.go index 23945ba1d3..881a40c3e7 100644 --- a/models/repo/attachment_test.go +++ b/models/repo/attachment_test.go @@ -46,11 +46,7 @@ func TestGetByCommentOrIssueID(t *testing.T) { func TestDeleteAttachments(t *testing.T) { require.NoError(t, unittest.PrepareTestDatabase()) - count, err := repo_model.DeleteAttachmentsByIssue(db.DefaultContext, 4, false) - require.NoError(t, err) - assert.Equal(t, 2, count) - - count, err = repo_model.DeleteAttachmentsByComment(db.DefaultContext, 2, false) + count, err := repo_model.DeleteAttachmentsByComment(db.DefaultContext, 2, false) require.NoError(t, err) assert.Equal(t, 2, count) From 8c3bfcac3b2b2ce13a03e2b84c9ca7e02db2abd6 Mon Sep 17 00:00:00 2001 From: Gusted Date: Thu, 30 Jan 2025 12:12:49 +0100 Subject: [PATCH 04/26] chore: Remove `UpdateColumnSorting` - Introduced in c69c01d2b6b08a89448b5596fd2233fa4e802ac3 and removed in the same commit, no usage at all. --- .deadcode-out | 1 - models/project/column.go | 14 -------------- 2 files changed, 15 deletions(-) diff --git a/.deadcode-out b/.deadcode-out index 40c1ec7e01..3bf759ffe0 100644 --- a/.deadcode-out +++ b/.deadcode-out @@ -61,7 +61,6 @@ code.gitea.io/gitea/models/perm/access GetRepoWriters code.gitea.io/gitea/models/project - UpdateColumnSorting ChangeProjectStatus code.gitea.io/gitea/models/repo diff --git a/models/project/column.go b/models/project/column.go index 222f448599..b30aab4699 100644 --- a/models/project/column.go +++ b/models/project/column.go @@ -305,20 +305,6 @@ func SetDefaultColumn(ctx context.Context, projectID, columnID int64) error { }) } -// UpdateColumnSorting update project column sorting -func UpdateColumnSorting(ctx context.Context, cl ColumnList) error { - return db.WithTx(ctx, func(ctx context.Context) error { - for i := range cl { - if _, err := db.GetEngine(ctx).ID(cl[i].ID).Cols( - "sorting", - ).Update(cl[i]); err != nil { - return err - } - } - return nil - }) -} - func GetColumnsByIDs(ctx context.Context, projectID int64, columnsIDs []int64) (ColumnList, error) { columns := make([]*Column, 0, 5) if err := db.GetEngine(ctx). From b7b52fd04d80c3ad55d9c7f05374396b8adb7ab5 Mon Sep 17 00:00:00 2001 From: Gusted Date: Thu, 30 Jan 2025 12:16:12 +0100 Subject: [PATCH 05/26] chore: Remove `ChangeProjectStatus` - Introduced in 4027c5dd7c11c1256094e202be591ec1b86a011e and removed in the same commit (only used for testing code). --- .deadcode-out | 3 --- models/project/project.go | 15 --------------- models/project/project_test.go | 2 +- 3 files changed, 1 insertion(+), 19 deletions(-) diff --git a/.deadcode-out b/.deadcode-out index 3bf759ffe0..7f8ba47e2a 100644 --- a/.deadcode-out +++ b/.deadcode-out @@ -60,9 +60,6 @@ code.gitea.io/gitea/models/organization code.gitea.io/gitea/models/perm/access GetRepoWriters -code.gitea.io/gitea/models/project - ChangeProjectStatus - code.gitea.io/gitea/models/repo WatchRepoMode diff --git a/models/project/project.go b/models/project/project.go index beffffcdfc..6c2b02487d 100644 --- a/models/project/project.go +++ b/models/project/project.go @@ -368,21 +368,6 @@ func ChangeProjectStatusByRepoIDAndID(ctx context.Context, repoID, projectID int return committer.Commit() } -// ChangeProjectStatus toggle a project between opened and closed -func ChangeProjectStatus(ctx context.Context, p *Project, isClosed bool) error { - ctx, committer, err := db.TxContext(ctx) - if err != nil { - return err - } - defer committer.Close() - - if err := changeProjectStatus(ctx, p, isClosed); err != nil { - return err - } - - return committer.Commit() -} - func changeProjectStatus(ctx context.Context, p *Project, isClosed bool) error { p.IsClosed = isClosed p.ClosedDateUnix = timeutil.TimeStampNow() diff --git a/models/project/project_test.go b/models/project/project_test.go index 8c660b929a..cef2ea17bd 100644 --- a/models/project/project_test.go +++ b/models/project/project_test.go @@ -75,7 +75,7 @@ func TestProject(t *testing.T) { assert.Equal(t, project.Title, projectFromDB.Title) - require.NoError(t, ChangeProjectStatus(db.DefaultContext, project, true)) + require.NoError(t, ChangeProjectStatusByRepoIDAndID(db.DefaultContext, project.RepoID, project.ID, true)) // Retrieve from DB afresh to check if it is truly closed projectFromDB, err = GetProjectByID(db.DefaultContext, project.ID) From c4b2352c6c31b5c89cee28392dc6d4c99cab423d Mon Sep 17 00:00:00 2001 From: Gusted Date: Fri, 31 Jan 2025 10:39:36 +0100 Subject: [PATCH 06/26] chore: Remove `LimitedReaderCloser` - Introduced in 511f6138d4b5b7a464a8fa3d7f8fc52bec3789a4 and removed in 270aab429ef025df9a0b9bf9e3982729ae8df449. --- .deadcode-out | 2 -- modules/git/utils.go | 27 --------------------------- 2 files changed, 29 deletions(-) diff --git a/.deadcode-out b/.deadcode-out index 7f8ba47e2a..892dd0ca9c 100644 --- a/.deadcode-out +++ b/.deadcode-out @@ -119,8 +119,6 @@ code.gitea.io/gitea/modules/git openRepositoryWithDefaultContext IsTagExist ToEntryMode - LimitedReaderCloser.Read - LimitedReaderCloser.Close code.gitea.io/gitea/modules/gitgraph Parser.Reset diff --git a/modules/git/utils.go b/modules/git/utils.go index 53211c6451..b84df47916 100644 --- a/modules/git/utils.go +++ b/modules/git/utils.go @@ -7,7 +7,6 @@ import ( "crypto/sha1" "encoding/hex" "fmt" - "io" "os" "strconv" "strings" @@ -105,32 +104,6 @@ func ParseBool(value string) (result, valid bool) { return intValue != 0, true } -// LimitedReaderCloser is a limited reader closer -type LimitedReaderCloser struct { - R io.Reader - C io.Closer - N int64 -} - -// Read implements io.Reader -func (l *LimitedReaderCloser) Read(p []byte) (n int, err error) { - if l.N <= 0 { - _ = l.C.Close() - return 0, io.EOF - } - if int64(len(p)) > l.N { - p = p[0:l.N] - } - n, err = l.R.Read(p) - l.N -= int64(n) - return n, err -} - -// Close implements io.Closer -func (l *LimitedReaderCloser) Close() error { - return l.C.Close() -} - func HashFilePathForWebUI(s string) string { h := sha1.New() _, _ = h.Write([]byte(s)) From 56c757561f17f41b3fe2ee15770dbc36e7d3fabd Mon Sep 17 00:00:00 2001 From: Gusted Date: Fri, 31 Jan 2025 10:54:26 +0100 Subject: [PATCH 07/26] chore: Remove `ErrInvalidConfiguration` - Introduced in 6b1266b6b32c3a1c4a02c7e913a2c5fdfe0d2b4a and removed in 6f9c278559789066aa831c1df25b0d866103d02d. --- .deadcode-out | 4 ---- modules/storage/storage.go | 19 ------------------- 2 files changed, 23 deletions(-) diff --git a/.deadcode-out b/.deadcode-out index 892dd0ca9c..b370a3b02a 100644 --- a/.deadcode-out +++ b/.deadcode-out @@ -201,10 +201,6 @@ code.gitea.io/gitea/modules/setting GitConfigType.GetOption InitLoggersForTest -code.gitea.io/gitea/modules/storage - ErrInvalidConfiguration.Error - IsErrInvalidConfiguration - code.gitea.io/gitea/modules/structs ParseCreateHook ParsePushHook diff --git a/modules/storage/storage.go b/modules/storage/storage.go index d944b8618f..453d755fbb 100644 --- a/modules/storage/storage.go +++ b/modules/storage/storage.go @@ -18,25 +18,6 @@ import ( // ErrURLNotSupported represents url is not supported var ErrURLNotSupported = errors.New("url method not supported") -// ErrInvalidConfiguration is called when there is invalid configuration for a storage -type ErrInvalidConfiguration struct { - cfg any - err error -} - -func (err ErrInvalidConfiguration) Error() string { - if err.err != nil { - return fmt.Sprintf("Invalid Configuration Argument: %v: Error: %v", err.cfg, err.err) - } - return fmt.Sprintf("Invalid Configuration Argument: %v", err.cfg) -} - -// IsErrInvalidConfiguration checks if an error is an ErrInvalidConfiguration -func IsErrInvalidConfiguration(err error) bool { - _, ok := err.(ErrInvalidConfiguration) - return ok -} - type Type = setting.StorageType // NewStorageFunc is a function that creates a storage From 6062ba36f243bf7e7e677ff25b11e7bdd71d8ea0 Mon Sep 17 00:00:00 2001 From: Gusted Date: Fri, 31 Jan 2025 11:11:05 +0100 Subject: [PATCH 08/26] chore: Remove `ActionsRunnerRegister` - Introduced in e90db3f5cc612bd8cec39d234f5408aff1425409 and it was never used and it would've never worked. --- .deadcode-out | 3 --- modules/private/forgejo_actions.go | 32 ------------------------------ 2 files changed, 35 deletions(-) delete mode 100644 modules/private/forgejo_actions.go diff --git a/.deadcode-out b/.deadcode-out index b370a3b02a..976e0b28e5 100644 --- a/.deadcode-out +++ b/.deadcode-out @@ -176,9 +176,6 @@ code.gitea.io/gitea/modules/markup/mdstripper code.gitea.io/gitea/modules/markup/orgmode RenderString -code.gitea.io/gitea/modules/private - ActionsRunnerRegister - code.gitea.io/gitea/modules/process Manager.ExecTimeout diff --git a/modules/private/forgejo_actions.go b/modules/private/forgejo_actions.go deleted file mode 100644 index 133d5e253f..0000000000 --- a/modules/private/forgejo_actions.go +++ /dev/null @@ -1,32 +0,0 @@ -// SPDX-License-Identifier: MIT - -package private - -import ( - "context" - - "code.gitea.io/gitea/modules/setting" -) - -type ActionsRunnerRegisterRequest struct { - Token string - Scope string - Labels []string - Name string - Version string -} - -func ActionsRunnerRegister(ctx context.Context, token, scope string, labels []string, name, version string) (string, ResponseExtra) { - reqURL := setting.LocalURL + "api/internal/actions/register" - - req := newInternalRequest(ctx, reqURL, "POST", ActionsRunnerRegisterRequest{ - Token: token, - Scope: scope, - Labels: labels, - Name: name, - Version: version, - }) - - resp, extra := requestJSONResp(req, &ResponseText{}) - return resp.Text, extra -} From 552cfe75f5c999bb0e8650e2a3b89e4c2374f6e3 Mon Sep 17 00:00:00 2001 From: Gusted Date: Fri, 31 Jan 2025 11:12:31 +0100 Subject: [PATCH 09/26] chore: Remove `TemporaryUploadRepository.GetLastCommit` - Introduced in 2262811e407facea09047e94aa1850c192511587 and removed in the same commit. Never used. --- .deadcode-out | 2 -- services/repository/files/temp_repo.go | 18 ------------------ 2 files changed, 20 deletions(-) diff --git a/.deadcode-out b/.deadcode-out index 976e0b28e5..6c59cb031b 100644 --- a/.deadcode-out +++ b/.deadcode-out @@ -265,8 +265,6 @@ code.gitea.io/gitea/services/repository code.gitea.io/gitea/services/repository/files ContentType.String GetFileResponseFromCommit - TemporaryUploadRepository.GetLastCommit - TemporaryUploadRepository.GetLastCommitByRef code.gitea.io/gitea/services/webhook NewNotifier diff --git a/services/repository/files/temp_repo.go b/services/repository/files/temp_repo.go index 6e7570b82c..30d95ba9ab 100644 --- a/services/repository/files/temp_repo.go +++ b/services/repository/files/temp_repo.go @@ -212,24 +212,6 @@ func (t *TemporaryUploadRepository) WriteTree() (string, error) { return strings.TrimSpace(stdout), nil } -// GetLastCommit gets the last commit ID SHA of the repo -func (t *TemporaryUploadRepository) GetLastCommit() (string, error) { - return t.GetLastCommitByRef("HEAD") -} - -// GetLastCommitByRef gets the last commit ID SHA of the repo by ref -func (t *TemporaryUploadRepository) GetLastCommitByRef(ref string) (string, error) { - if ref == "" { - ref = "HEAD" - } - stdout, _, err := git.NewCommand(t.ctx, "rev-parse").AddDynamicArguments(ref).RunStdString(&git.RunOpts{Dir: t.basePath}) - if err != nil { - log.Error("Unable to get last ref for %s in temporary repo: %s(%s): Error: %v", ref, t.repo.FullName(), t.basePath, err) - return "", fmt.Errorf("Unable to rev-parse %s in temporary repo for: %s Error: %w", ref, t.repo.FullName(), err) - } - return strings.TrimSpace(stdout), nil -} - // CommitTree creates a commit from a given tree for the user with provided message func (t *TemporaryUploadRepository) CommitTree(parent string, author, committer *user_model.User, treeHash, message string, signoff bool) (string, error) { return t.CommitTreeWithDate(parent, author, committer, treeHash, message, signoff, time.Now(), time.Now()) From 4d8f1e3e4bb61df318dcd1024822c877c0da308a Mon Sep 17 00:00:00 2001 From: Gusted Date: Fri, 31 Jan 2025 11:16:10 +0100 Subject: [PATCH 10/26] chore: Remove `DeadlineForm` - Introduced in 1a97030017cd09b75f6c8d484e075f4eced1e001 and removed in ef6813abc9277f29515cb571c4c4ddc373482e58. --- .deadcode-out | 3 --- services/forms/repo_form.go | 11 ----------- 2 files changed, 14 deletions(-) diff --git a/.deadcode-out b/.deadcode-out index 6c59cb031b..6043eb64ba 100644 --- a/.deadcode-out +++ b/.deadcode-out @@ -253,9 +253,6 @@ code.gitea.io/gitea/services/context code.gitea.io/gitea/services/convert ToSecret -code.gitea.io/gitea/services/forms - DeadlineForm.Validate - code.gitea.io/gitea/services/pull IsCommitStatusContextSuccess diff --git a/services/forms/repo_form.go b/services/forms/repo_form.go index 1ce9b298ad..8253a8957b 100644 --- a/services/forms/repo_form.go +++ b/services/forms/repo_form.go @@ -740,17 +740,6 @@ type SaveTopicForm struct { Topics []string `binding:"topics;Required;"` } -// DeadlineForm hold the validation rules for deadlines -type DeadlineForm struct { - DateString string `form:"date" binding:"Required;Size(10)"` -} - -// Validate validates the fields -func (f *DeadlineForm) Validate(req *http.Request, errs binding.Errors) binding.Errors { - ctx := context.GetValidateContext(req) - return middleware.Validate(errs, ctx.Data, f, ctx.Locale) -} - type CommitNotesForm struct { Notes string } From 2d81bdbeb6502683aadf5e976fb3056be776fa73 Mon Sep 17 00:00:00 2001 From: Gusted Date: Fri, 31 Jan 2025 11:22:17 +0100 Subject: [PATCH 11/26] chore: Remove `DeleteLocaleCookie` - Introduced in 9b261f52f074fcc11fd705dae63084364c4f7adf and removed in 5b9557aef59b190c55de9ea218bf51152bc04786. --- .deadcode-out | 3 --- modules/web/middleware/locale.go | 6 ------ 2 files changed, 9 deletions(-) diff --git a/.deadcode-out b/.deadcode-out index 6043eb64ba..4e72fc8649 100644 --- a/.deadcode-out +++ b/.deadcode-out @@ -233,9 +233,6 @@ code.gitea.io/gitea/modules/web RouteMock RouteMockReset -code.gitea.io/gitea/modules/web/middleware - DeleteLocaleCookie - code.gitea.io/gitea/modules/zstd NewWriter Writer.Write diff --git a/modules/web/middleware/locale.go b/modules/web/middleware/locale.go index 1f37407201..9653a6f349 100644 --- a/modules/web/middleware/locale.go +++ b/modules/web/middleware/locale.go @@ -53,9 +53,3 @@ func Locale(resp http.ResponseWriter, req *http.Request) translation.Locale { func SetLocaleCookie(resp http.ResponseWriter, lang string, maxAge int) { SetSiteCookie(resp, "lang", lang, maxAge) } - -// DeleteLocaleCookie convenience function to delete the locale cookie consistently -// Setting the lang cookie will trigger the middleware to reset the language to previous state. -func DeleteLocaleCookie(resp http.ResponseWriter) { - SetSiteCookie(resp, "lang", "", -1) -} From 5cc5c877a57faec43cf2fd071a7f4a748fdf6f7a Mon Sep 17 00:00:00 2001 From: Gusted Date: Fri, 31 Jan 2025 11:25:05 +0100 Subject: [PATCH 12/26] chore: Remove `ToSecret` - Introduced in 23addde28ebd69ef2c1cec6a63123c87ec8bffe9 and removed in 8cd46024fdcdaf04cd09be2c25db673e99b0a024. --- .deadcode-out | 3 --- services/convert/secret.go | 18 ------------------ 2 files changed, 21 deletions(-) delete mode 100644 services/convert/secret.go diff --git a/.deadcode-out b/.deadcode-out index 4e72fc8649..403aa87743 100644 --- a/.deadcode-out +++ b/.deadcode-out @@ -247,9 +247,6 @@ code.gitea.io/gitea/routers/web/org code.gitea.io/gitea/services/context GetPrivateContext -code.gitea.io/gitea/services/convert - ToSecret - code.gitea.io/gitea/services/pull IsCommitStatusContextSuccess diff --git a/services/convert/secret.go b/services/convert/secret.go deleted file mode 100644 index dd7b9f0a6a..0000000000 --- a/services/convert/secret.go +++ /dev/null @@ -1,18 +0,0 @@ -// Copyright 2023 The Gitea Authors. All rights reserved. -// SPDX-License-Identifier: MIT - -package convert - -import ( - secret_model "code.gitea.io/gitea/models/secret" - api "code.gitea.io/gitea/modules/structs" -) - -// ToSecret converts Secret to API format -func ToSecret(secret *secret_model.Secret) *api.Secret { - result := &api.Secret{ - Name: secret.Name, - } - - return result -} From 0ae59b7de7b76f1a2261d80e66db5178af45d479 Mon Sep 17 00:00:00 2001 From: Gusted Date: Fri, 31 Jan 2025 11:28:09 +0100 Subject: [PATCH 13/26] chore: Remove `ParseCreateHook` - Introduced in e378648c79489e0e65e0a4e1a1b3e0b1ad1f554f and removed in the same commit. No usage. --- .deadcode-out | 1 - modules/structs/hook.go | 20 -------------------- 2 files changed, 21 deletions(-) diff --git a/.deadcode-out b/.deadcode-out index 403aa87743..3e3bd9968b 100644 --- a/.deadcode-out +++ b/.deadcode-out @@ -199,7 +199,6 @@ code.gitea.io/gitea/modules/setting InitLoggersForTest code.gitea.io/gitea/modules/structs - ParseCreateHook ParsePushHook code.gitea.io/gitea/modules/sync diff --git a/modules/structs/hook.go b/modules/structs/hook.go index a41e172253..b3fdeb7f17 100644 --- a/modules/structs/hook.go +++ b/modules/structs/hook.go @@ -141,26 +141,6 @@ func (p *CreatePayload) JSONPayload() ([]byte, error) { return json.MarshalIndent(p, "", " ") } -// ParseCreateHook parses create event hook content. -func ParseCreateHook(raw []byte) (*CreatePayload, error) { - hook := new(CreatePayload) - if err := json.Unmarshal(raw, hook); err != nil { - return nil, err - } - - // it is possible the JSON was parsed, however, - // was not from Gogs (maybe was from Bitbucket) - // So we'll check to be sure certain key fields - // were populated - switch { - case hook.Repo == nil: - return nil, ErrInvalidReceiveHook - case len(hook.Ref) == 0: - return nil, ErrInvalidReceiveHook - } - return hook, nil -} - // ________ .__ __ // \______ \ ____ | | _____/ |_ ____ // | | \_/ __ \| | _/ __ \ __\/ __ \ From 1b10046e1ad20e9ee0a482b4b45edd69e745e58c Mon Sep 17 00:00:00 2001 From: Gusted Date: Fri, 31 Jan 2025 11:28:54 +0100 Subject: [PATCH 14/26] chore: Remove `ParsePushHook` - Introduced in e378648c79489e0e65e0a4e1a1b3e0b1ad1f554f and removed in the same commit. No usage. --- .deadcode-out | 3 --- modules/structs/hook.go | 16 ---------------- 2 files changed, 19 deletions(-) diff --git a/.deadcode-out b/.deadcode-out index 3e3bd9968b..811b093fe9 100644 --- a/.deadcode-out +++ b/.deadcode-out @@ -198,9 +198,6 @@ code.gitea.io/gitea/modules/setting GitConfigType.GetOption InitLoggersForTest -code.gitea.io/gitea/modules/structs - ParsePushHook - code.gitea.io/gitea/modules/sync StatusTable.Start StatusTable.IsRunning diff --git a/modules/structs/hook.go b/modules/structs/hook.go index b3fdeb7f17..10b3a9db9b 100644 --- a/modules/structs/hook.go +++ b/modules/structs/hook.go @@ -272,22 +272,6 @@ func (p *PushPayload) JSONPayload() ([]byte, error) { return json.MarshalIndent(p, "", " ") } -// ParsePushHook parses push event hook content. -func ParsePushHook(raw []byte) (*PushPayload, error) { - hook := new(PushPayload) - if err := json.Unmarshal(raw, hook); err != nil { - return nil, err - } - - switch { - case hook.Repo == nil: - return nil, ErrInvalidReceiveHook - case len(hook.Ref) == 0: - return nil, ErrInvalidReceiveHook - } - return hook, nil -} - // Branch returns branch name from a payload func (p *PushPayload) Branch() string { return strings.ReplaceAll(p.Ref, "refs/heads/", "") From 5423e22aeb6a7c9bd100c071a8e738e8876f9572 Mon Sep 17 00:00:00 2001 From: Gusted Date: Fri, 31 Jan 2025 11:44:22 +0100 Subject: [PATCH 15/26] chore: Remove `GetSourceByName` - Introduced in 54556053420a8ca37dbd53fbdb6f9251a2db63d9 and removed in the same commit. Usage was purely testing code. --- .deadcode-out | 1 - models/auth/source.go | 11 ----------- tests/integration/integration_test.go | 8 ++------ 3 files changed, 2 insertions(+), 18 deletions(-) diff --git a/.deadcode-out b/.deadcode-out index 811b093fe9..e0d158d709 100644 --- a/.deadcode-out +++ b/.deadcode-out @@ -23,7 +23,6 @@ code.gitea.io/gitea/models/actions ScheduleList.LoadRepos code.gitea.io/gitea/models/auth - GetSourceByName WebAuthnCredentials code.gitea.io/gitea/models/db diff --git a/models/auth/source.go b/models/auth/source.go index d03d4975dc..214eb3afa0 100644 --- a/models/auth/source.go +++ b/models/auth/source.go @@ -299,17 +299,6 @@ func GetSourceByID(ctx context.Context, id int64) (*Source, error) { return source, nil } -func GetSourceByName(ctx context.Context, name string) (*Source, error) { - source := &Source{} - has, err := db.GetEngine(ctx).Where("name = ?", name).Get(source) - if err != nil { - return nil, err - } else if !has { - return nil, ErrSourceNotExist{} - } - return source, nil -} - // UpdateSource updates a Source record in DB. func UpdateSource(ctx context.Context, source *Source) error { var originalSource *Source diff --git a/tests/integration/integration_test.go b/tests/integration/integration_test.go index 06d2586d1c..7866d297e2 100644 --- a/tests/integration/integration_test.go +++ b/tests/integration/integration_test.go @@ -298,9 +298,7 @@ func addAuthSource(t *testing.T, payload map[string]string) *auth.Source { payload["_csrf"] = GetCSRF(t, session, "/admin/auths/new") req := NewRequestWithValues(t, "POST", "/admin/auths/new", payload) session.MakeRequest(t, req, http.StatusSeeOther) - source, err := auth.GetSourceByName(context.Background(), payload["name"]) - require.NoError(t, err) - return source + return unittest.AssertExistsAndLoadBean(t, &auth.Source{Name: payload["name"]}) } func authSourcePayloadOAuth2(name string) map[string]string { @@ -358,9 +356,7 @@ func createRemoteAuthSource(t *testing.T, name, url, matchingSource string) *aut MatchingSource: matchingSource, }, })) - source, err := auth.GetSourceByName(context.Background(), name) - require.NoError(t, err) - return source + return unittest.AssertExistsAndLoadBean(t, &auth.Source{Name: name}) } func createUser(ctx context.Context, t testing.TB, user *user_model.User) func() { From 581a2ca34118a8ac7658d9e87cbf03d01d024401 Mon Sep 17 00:00:00 2001 From: Gusted Date: Fri, 31 Jan 2025 12:00:21 +0100 Subject: [PATCH 16/26] chore: Remove `ScheduleList` - Introduced in 0d55f64e6cd3de2e1e5c0ee795605823efb14231 and removed in df1e7d0067bb39913eb681ccc920649884fb1938. --- .deadcode-out | 6 --- models/actions/schedule.go | 24 ++++++++++ models/actions/schedule_list.go | 83 --------------------------------- 3 files changed, 24 insertions(+), 89 deletions(-) delete mode 100644 models/actions/schedule_list.go diff --git a/.deadcode-out b/.deadcode-out index e0d158d709..348941965d 100644 --- a/.deadcode-out +++ b/.deadcode-out @@ -16,12 +16,6 @@ code.gitea.io/gitea/models IsErrSHANotFound IsErrMergeDivergingFastForwardOnly -code.gitea.io/gitea/models/actions - ScheduleList.GetUserIDs - ScheduleList.GetRepoIDs - ScheduleList.LoadTriggerUser - ScheduleList.LoadRepos - code.gitea.io/gitea/models/auth WebAuthnCredentials diff --git a/models/actions/schedule.go b/models/actions/schedule.go index 8b7e6ec44f..f14625c740 100644 --- a/models/actions/schedule.go +++ b/models/actions/schedule.go @@ -14,6 +14,8 @@ import ( "code.gitea.io/gitea/modules/timeutil" "code.gitea.io/gitea/modules/util" webhook_module "code.gitea.io/gitea/modules/webhook" + + "xorm.io/builder" ) // ActionSchedule represents a schedule of a workflow file @@ -140,3 +142,25 @@ func CleanRepoScheduleTasks(ctx context.Context, repo *repo_model.Repository, ca } return nil } + +type FindScheduleOptions struct { + db.ListOptions + RepoID int64 + OwnerID int64 +} + +func (opts FindScheduleOptions) ToConds() builder.Cond { + cond := builder.NewCond() + if opts.RepoID > 0 { + cond = cond.And(builder.Eq{"repo_id": opts.RepoID}) + } + if opts.OwnerID > 0 { + cond = cond.And(builder.Eq{"owner_id": opts.OwnerID}) + } + + return cond +} + +func (opts FindScheduleOptions) ToOrders() string { + return "`id` DESC" +} diff --git a/models/actions/schedule_list.go b/models/actions/schedule_list.go deleted file mode 100644 index 5361b94801..0000000000 --- a/models/actions/schedule_list.go +++ /dev/null @@ -1,83 +0,0 @@ -// Copyright 2023 The Gitea Authors. All rights reserved. -// SPDX-License-Identifier: MIT - -package actions - -import ( - "context" - - "code.gitea.io/gitea/models/db" - repo_model "code.gitea.io/gitea/models/repo" - user_model "code.gitea.io/gitea/models/user" - "code.gitea.io/gitea/modules/container" - - "xorm.io/builder" -) - -type ScheduleList []*ActionSchedule - -// GetUserIDs returns a slice of user's id -func (schedules ScheduleList) GetUserIDs() []int64 { - return container.FilterSlice(schedules, func(schedule *ActionSchedule) (int64, bool) { - return schedule.TriggerUserID, true - }) -} - -func (schedules ScheduleList) GetRepoIDs() []int64 { - return container.FilterSlice(schedules, func(schedule *ActionSchedule) (int64, bool) { - return schedule.RepoID, true - }) -} - -func (schedules ScheduleList) LoadTriggerUser(ctx context.Context) error { - userIDs := schedules.GetUserIDs() - users := make(map[int64]*user_model.User, len(userIDs)) - if err := db.GetEngine(ctx).In("id", userIDs).Find(&users); err != nil { - return err - } - for _, schedule := range schedules { - if schedule.TriggerUserID == user_model.ActionsUserID { - schedule.TriggerUser = user_model.NewActionsUser() - } else { - schedule.TriggerUser = users[schedule.TriggerUserID] - if schedule.TriggerUser == nil { - schedule.TriggerUser = user_model.NewGhostUser() - } - } - } - return nil -} - -func (schedules ScheduleList) LoadRepos(ctx context.Context) error { - repoIDs := schedules.GetRepoIDs() - repos, err := repo_model.GetRepositoriesMapByIDs(ctx, repoIDs) - if err != nil { - return err - } - for _, schedule := range schedules { - schedule.Repo = repos[schedule.RepoID] - } - return nil -} - -type FindScheduleOptions struct { - db.ListOptions - RepoID int64 - OwnerID int64 -} - -func (opts FindScheduleOptions) ToConds() builder.Cond { - cond := builder.NewCond() - if opts.RepoID > 0 { - cond = cond.And(builder.Eq{"repo_id": opts.RepoID}) - } - if opts.OwnerID > 0 { - cond = cond.And(builder.Eq{"owner_id": opts.OwnerID}) - } - - return cond -} - -func (opts FindScheduleOptions) ToOrders() string { - return "`id` DESC" -} From 61f01f35ae2a9d89be089dc9309c05b5867ede83 Mon Sep 17 00:00:00 2001 From: Gusted Date: Fri, 31 Jan 2025 13:39:42 +0100 Subject: [PATCH 17/26] chore: Remove `ErrUpdateTaskNotExist` - Introduced in f255b1e86dae17dc0221b537d85f25bfa72a7912 and removed in cd1821a7e292b05e04fcc2a969b42d06ab512849. --- .deadcode-out | 3 --- models/error.go | 19 ------------------- 2 files changed, 22 deletions(-) diff --git a/.deadcode-out b/.deadcode-out index 348941965d..054a5cfc07 100644 --- a/.deadcode-out +++ b/.deadcode-out @@ -10,9 +10,6 @@ code.gitea.io/gitea/cmd/forgejo ContextSetStdin code.gitea.io/gitea/models - IsErrUpdateTaskNotExist - ErrUpdateTaskNotExist.Error - ErrUpdateTaskNotExist.Unwrap IsErrSHANotFound IsErrMergeDivergingFastForwardOnly diff --git a/models/error.go b/models/error.go index 75c53245de..658bdc165c 100644 --- a/models/error.go +++ b/models/error.go @@ -151,25 +151,6 @@ func (err *ErrInvalidCloneAddr) Unwrap() error { return util.ErrInvalidArgument } -// ErrUpdateTaskNotExist represents a "UpdateTaskNotExist" kind of error. -type ErrUpdateTaskNotExist struct { - UUID string -} - -// IsErrUpdateTaskNotExist checks if an error is a ErrUpdateTaskNotExist. -func IsErrUpdateTaskNotExist(err error) bool { - _, ok := err.(ErrUpdateTaskNotExist) - return ok -} - -func (err ErrUpdateTaskNotExist) Error() string { - return fmt.Sprintf("update task does not exist [uuid: %s]", err.UUID) -} - -func (err ErrUpdateTaskNotExist) Unwrap() error { - return util.ErrNotExist -} - // ErrInvalidTagName represents a "InvalidTagName" kind of error. type ErrInvalidTagName struct { TagName string From 6fd9c065dc925ff1f2506a7faad1dd69996d9bcf Mon Sep 17 00:00:00 2001 From: Gusted Date: Fri, 31 Jan 2025 13:44:01 +0100 Subject: [PATCH 18/26] chore: Remove `BreakWriter` - Introduced in 99efa02edf4e3750e19bc28f7b856791356d1583 and removed in 6e226057933389710f2451b148faef8ed5ea1ca1. --- .deadcode-out | 3 -- modules/charset/breakwriter.go | 43 ------------------ modules/charset/breakwriter_test.go | 68 ----------------------------- 3 files changed, 114 deletions(-) delete mode 100644 modules/charset/breakwriter.go delete mode 100644 modules/charset/breakwriter_test.go diff --git a/.deadcode-out b/.deadcode-out index 054a5cfc07..7f3e77017a 100644 --- a/.deadcode-out +++ b/.deadcode-out @@ -83,9 +83,6 @@ code.gitea.io/gitea/modules/cache WithNoCacheContext RemoveContextData -code.gitea.io/gitea/modules/charset - BreakWriter.Write - code.gitea.io/gitea/modules/emoji ReplaceCodes diff --git a/modules/charset/breakwriter.go b/modules/charset/breakwriter.go deleted file mode 100644 index a87e846466..0000000000 --- a/modules/charset/breakwriter.go +++ /dev/null @@ -1,43 +0,0 @@ -// Copyright 2022 The Gitea Authors. All rights reserved. -// SPDX-License-Identifier: MIT - -package charset - -import ( - "bytes" - "io" -) - -// BreakWriter wraps an io.Writer to always write '\n' as '
' -type BreakWriter struct { - io.Writer -} - -// Write writes the provided byte slice transparently replacing '\n' with '
' -func (b *BreakWriter) Write(bs []byte) (n int, err error) { - pos := 0 - for pos < len(bs) { - idx := bytes.IndexByte(bs[pos:], '\n') - if idx < 0 { - wn, err := b.Writer.Write(bs[pos:]) - return n + wn, err - } - - if idx > 0 { - wn, err := b.Writer.Write(bs[pos : pos+idx]) - n += wn - if err != nil { - return n, err - } - } - - if _, err = b.Writer.Write([]byte("
")); err != nil { - return n, err - } - pos += idx + 1 - - n++ - } - - return n, err -} diff --git a/modules/charset/breakwriter_test.go b/modules/charset/breakwriter_test.go deleted file mode 100644 index 5eeeedc4e2..0000000000 --- a/modules/charset/breakwriter_test.go +++ /dev/null @@ -1,68 +0,0 @@ -// Copyright 2022 The Gitea Authors. All rights reserved. -// SPDX-License-Identifier: MIT - -package charset - -import ( - "strings" - "testing" -) - -func TestBreakWriter_Write(t *testing.T) { - tests := []struct { - name string - kase string - expect string - wantErr bool - }{ - { - name: "noline", - kase: "abcdefghijklmnopqrstuvwxyz", - expect: "abcdefghijklmnopqrstuvwxyz", - }, - { - name: "endline", - kase: "abcdefghijklmnopqrstuvwxyz\n", - expect: "abcdefghijklmnopqrstuvwxyz
", - }, - { - name: "startline", - kase: "\nabcdefghijklmnopqrstuvwxyz", - expect: "
abcdefghijklmnopqrstuvwxyz", - }, - { - name: "onlyline", - kase: "\n\n\n", - expect: "


", - }, - { - name: "empty", - kase: "", - expect: "", - }, - { - name: "midline", - kase: "\nabc\ndefghijkl\nmnopqrstuvwxy\nz", - expect: "
abc
defghijkl
mnopqrstuvwxy
z", - }, - } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - buf := &strings.Builder{} - b := &BreakWriter{ - Writer: buf, - } - n, err := b.Write([]byte(tt.kase)) - if (err != nil) != tt.wantErr { - t.Errorf("BreakWriter.Write() error = %v, wantErr %v", err, tt.wantErr) - return - } - if n != len(tt.kase) { - t.Errorf("BreakWriter.Write() = %v, want %v", n, len(tt.kase)) - } - if buf.String() != tt.expect { - t.Errorf("BreakWriter.Write() wrote %q, want %v", buf.String(), tt.expect) - } - }) - } -} From d2701877c0e58ecf5b2b98ad53461826d30d75c6 Mon Sep 17 00:00:00 2001 From: Gusted Date: Fri, 31 Jan 2025 13:50:07 +0100 Subject: [PATCH 19/26] chore: Remove `IsTagExist` - Introduced in 1ebb35b98889ff77299f24d82da426b434b0cca0 and removed in 2af67f6044af1cad7136ce8c123e37ab090ca9bc. --- .deadcode-out | 1 - modules/git/repo_tag.go | 6 ------ 2 files changed, 7 deletions(-) diff --git a/.deadcode-out b/.deadcode-out index 7f3e77017a..e4f832d13d 100644 --- a/.deadcode-out +++ b/.deadcode-out @@ -104,7 +104,6 @@ code.gitea.io/gitea/modules/git CommitChangesWithArgs SetUpdateHook openRepositoryWithDefaultContext - IsTagExist ToEntryMode code.gitea.io/gitea/modules/gitgraph diff --git a/modules/git/repo_tag.go b/modules/git/repo_tag.go index 3b48b1fb9b..4466d8e5c0 100644 --- a/modules/git/repo_tag.go +++ b/modules/git/repo_tag.go @@ -5,7 +5,6 @@ package git import ( - "context" "errors" "fmt" "io" @@ -20,11 +19,6 @@ import ( // TagPrefix tags prefix path on the repository const TagPrefix = "refs/tags/" -// IsTagExist returns true if given tag exists in the repository. -func IsTagExist(ctx context.Context, repoPath, name string) bool { - return IsReferenceExist(ctx, repoPath, TagPrefix+name) -} - // CreateTag create one tag in the repository func (repo *Repository) CreateTag(name, revision string) error { _, _, err := NewCommand(repo.Ctx, "tag").AddDashesAndList(name, revision).RunStdString(&RunOpts{Dir: repo.Path}) From e2dfdcdabdeeecbdbab962f791f49a6a1039198e Mon Sep 17 00:00:00 2001 From: Gusted Date: Fri, 31 Jan 2025 14:00:16 +0100 Subject: [PATCH 20/26] chore: Remove `UsersInTeamsCount` - Introduced in 9681c8373426e8364760f033b9935b81b9276351 and removed in bac4b78e0908c0cb01a3842436950c7bcf793cf9. --- .deadcode-out | 1 - models/organization/team_test.go | 14 -------------- models/organization/team_user.go | 11 ----------- 3 files changed, 26 deletions(-) diff --git a/.deadcode-out b/.deadcode-out index e4f832d13d..a5246cb2a7 100644 --- a/.deadcode-out +++ b/.deadcode-out @@ -45,7 +45,6 @@ code.gitea.io/gitea/models/organization GetTeamNamesByID UpdateTeamUnits SearchMembersOptions.ToConds - UsersInTeamsCount code.gitea.io/gitea/models/perm/access GetRepoWriters diff --git a/models/organization/team_test.go b/models/organization/team_test.go index 601d136d87..64cc68b064 100644 --- a/models/organization/team_test.go +++ b/models/organization/team_test.go @@ -188,20 +188,6 @@ func TestHasTeamRepo(t *testing.T) { test(2, 5, false) } -func TestUsersInTeamsCount(t *testing.T) { - require.NoError(t, unittest.PrepareTestDatabase()) - - test := func(teamIDs, userIDs []int64, expected int64) { - count, err := organization.UsersInTeamsCount(db.DefaultContext, teamIDs, userIDs) - require.NoError(t, err) - assert.Equal(t, expected, count) - } - - test([]int64{2}, []int64{1, 2, 3, 4}, 1) // only userid 2 - test([]int64{1, 2, 3, 4, 5}, []int64{2, 5}, 2) // userid 2,4 - test([]int64{1, 2, 3, 4, 5}, []int64{2, 3, 5}, 3) // userid 2,4,5 -} - func TestInconsistentOwnerTeam(t *testing.T) { defer unittest.OverrideFixtures( unittest.FixturesOptions{ diff --git a/models/organization/team_user.go b/models/organization/team_user.go index ab767db200..f7fa136498 100644 --- a/models/organization/team_user.go +++ b/models/organization/team_user.go @@ -76,14 +76,3 @@ func GetTeamMembers(ctx context.Context, opts *SearchMembersOptions) ([]*user_mo func IsUserInTeams(ctx context.Context, userID int64, teamIDs []int64) (bool, error) { return db.GetEngine(ctx).Where("uid=?", userID).In("team_id", teamIDs).Exist(new(TeamUser)) } - -// UsersInTeamsCount counts the number of users which are in userIDs and teamIDs -func UsersInTeamsCount(ctx context.Context, userIDs, teamIDs []int64) (int64, error) { - var ids []int64 - if err := db.GetEngine(ctx).In("uid", userIDs).In("team_id", teamIDs). - Table("team_user"). - Cols("uid").GroupBy("uid").Find(&ids); err != nil { - return 0, err - } - return int64(len(ids)), nil -} From 66d252bc2b1299a62f7f93f8e8985deb2fbeaa91 Mon Sep 17 00:00:00 2001 From: Gusted Date: Fri, 31 Jan 2025 14:14:36 +0100 Subject: [PATCH 21/26] chore: Remove `GetTeamNamesByID` - Introduced in 9ff4e1d2d9636ea8aa328427f1d31c962221263e and removed in b3a6596b54bdfa75b9f82c4d73185e676c32727f. --- .deadcode-out | 1 - models/organization/team.go | 16 ---------------- 2 files changed, 17 deletions(-) diff --git a/.deadcode-out b/.deadcode-out index a5246cb2a7..f63a880743 100644 --- a/.deadcode-out +++ b/.deadcode-out @@ -42,7 +42,6 @@ code.gitea.io/gitea/models/issues IsErrIssueWasClosed code.gitea.io/gitea/models/organization - GetTeamNamesByID UpdateTeamUnits SearchMembersOptions.ToConds diff --git a/models/organization/team.go b/models/organization/team.go index ddff32cb8c..5065a1a1d5 100644 --- a/models/organization/team.go +++ b/models/organization/team.go @@ -247,22 +247,6 @@ func GetTeamByID(ctx context.Context, teamID int64) (*Team, error) { return t, nil } -// GetTeamNamesByID returns team's lower name from a list of team ids. -func GetTeamNamesByID(ctx context.Context, teamIDs []int64) ([]string, error) { - if len(teamIDs) == 0 { - return []string{}, nil - } - - var teamNames []string - err := db.GetEngine(ctx).Table("team"). - Select("lower_name"). - In("id", teamIDs). - Asc("name"). - Find(&teamNames) - - return teamNames, err -} - // IncrTeamRepoNum increases the number of repos for the given team by 1 func IncrTeamRepoNum(ctx context.Context, teamID int64) error { _, err := db.GetEngine(ctx).Incr("num_repos").ID(teamID).Update(new(Team)) From 9a406757f5b9c145a89a666edfd1099bd2950611 Mon Sep 17 00:00:00 2001 From: Gusted Date: Fri, 31 Jan 2025 14:17:52 +0100 Subject: [PATCH 22/26] chore: Remove `UpdateTeamUnits` - Introduced in 0b3ea428477b9da33f40252e79aafe85b09526f3 and removed in b7221bec34fd49495234a18c26e4f5d81483e102. --- .deadcode-out | 1 - models/organization/team_unit.go | 21 --------------------- modules/repository/collaborator_test.go | 3 +-- 3 files changed, 1 insertion(+), 24 deletions(-) diff --git a/.deadcode-out b/.deadcode-out index f63a880743..dcae3a4367 100644 --- a/.deadcode-out +++ b/.deadcode-out @@ -42,7 +42,6 @@ code.gitea.io/gitea/models/issues IsErrIssueWasClosed code.gitea.io/gitea/models/organization - UpdateTeamUnits SearchMembersOptions.ToConds code.gitea.io/gitea/models/perm/access diff --git a/models/organization/team_unit.go b/models/organization/team_unit.go index 3087b70770..b5237c2c58 100644 --- a/models/organization/team_unit.go +++ b/models/organization/team_unit.go @@ -28,24 +28,3 @@ func (t *TeamUnit) Unit() unit.Unit { func getUnitsByTeamID(ctx context.Context, teamID int64) (units []*TeamUnit, err error) { return units, db.GetEngine(ctx).Where("team_id = ?", teamID).Find(&units) } - -// UpdateTeamUnits updates a teams's units -func UpdateTeamUnits(ctx context.Context, team *Team, units []TeamUnit) (err error) { - ctx, committer, err := db.TxContext(ctx) - if err != nil { - return err - } - defer committer.Close() - - if _, err = db.GetEngine(ctx).Where("team_id = ?", team.ID).Delete(new(TeamUnit)); err != nil { - return err - } - - if len(units) > 0 { - if err = db.Insert(ctx, units); err != nil { - return err - } - } - - return committer.Commit() -} diff --git a/modules/repository/collaborator_test.go b/modules/repository/collaborator_test.go index 3844197bf1..63352e33e8 100644 --- a/modules/repository/collaborator_test.go +++ b/modules/repository/collaborator_test.go @@ -272,8 +272,7 @@ func TestRepoPermissionPrivateOrgRepo(t *testing.T) { // update team information and then check permission team := unittest.AssertExistsAndLoadBean(t, &organization.Team{ID: 5}) - err = organization.UpdateTeamUnits(db.DefaultContext, team, nil) - require.NoError(t, err) + unittest.AssertSuccessfulDelete(t, &organization.TeamUnit{TeamID: team.ID}) perm, err = access_model.GetUserRepoPermission(db.DefaultContext, repo, owner) require.NoError(t, err) for _, unit := range repo.Units { From 4cdfe27c8f5faf64bac4f5893107b7d92210e466 Mon Sep 17 00:00:00 2001 From: Gusted Date: Fri, 31 Jan 2025 14:23:10 +0100 Subject: [PATCH 23/26] chore: Remove `IsXXX` - Introduced in 812cfd0ad9bb and removed in the same commit. No usage. --- .deadcode-out | 4 ---- modules/markup/markdown/ast.go | 28 ---------------------------- 2 files changed, 32 deletions(-) diff --git a/.deadcode-out b/.deadcode-out index dcae3a4367..0b567fffee 100644 --- a/.deadcode-out +++ b/.deadcode-out @@ -142,10 +142,6 @@ code.gitea.io/gitea/modules/markup/console RenderString code.gitea.io/gitea/modules/markup/markdown - IsDetails - IsSummary - IsTaskCheckBoxListItem - IsIcon RenderRawString code.gitea.io/gitea/modules/markup/markdown/math diff --git a/modules/markup/markdown/ast.go b/modules/markup/markdown/ast.go index 7f0ac6a92c..c2fbbe6692 100644 --- a/modules/markup/markdown/ast.go +++ b/modules/markup/markdown/ast.go @@ -34,13 +34,6 @@ func NewDetails() *Details { } } -// IsDetails returns true if the given node implements the Details interface, -// otherwise false. -func IsDetails(node ast.Node) bool { - _, ok := node.(*Details) - return ok -} - // Summary is a block that contains the summary of details block type Summary struct { ast.BaseBlock @@ -66,13 +59,6 @@ func NewSummary() *Summary { } } -// IsSummary returns true if the given node implements the Summary interface, -// otherwise false. -func IsSummary(node ast.Node) bool { - _, ok := node.(*Summary) - return ok -} - // TaskCheckBoxListItem is a block that represents a list item of a markdown block with a checkbox type TaskCheckBoxListItem struct { *ast.ListItem @@ -103,13 +89,6 @@ func NewTaskCheckBoxListItem(listItem *ast.ListItem) *TaskCheckBoxListItem { } } -// IsTaskCheckBoxListItem returns true if the given node implements the TaskCheckBoxListItem interface, -// otherwise false. -func IsTaskCheckBoxListItem(node ast.Node) bool { - _, ok := node.(*TaskCheckBoxListItem) - return ok -} - // Icon is an inline for a fomantic icon type Icon struct { ast.BaseInline @@ -139,13 +118,6 @@ func NewIcon(name string) *Icon { } } -// IsIcon returns true if the given node implements the Icon interface, -// otherwise false. -func IsIcon(node ast.Node) bool { - _, ok := node.(*Icon) - return ok -} - // ColorPreview is an inline for a color preview type ColorPreview struct { ast.BaseInline From 5d52f88c9cff60c7920a8246dc3e56387ba74a1c Mon Sep 17 00:00:00 2001 From: Gusted Date: Fri, 31 Jan 2025 14:25:33 +0100 Subject: [PATCH 24/26] chore: Remove `WithXXXParser` - Introduced in 88c2e2436001c868c2583950b5f9eb0516424b7d and removed in the same commit. No usage. --- .deadcode-out | 4 ---- modules/markup/markdown/math/math.go | 22 ---------------------- 2 files changed, 26 deletions(-) diff --git a/.deadcode-out b/.deadcode-out index 0b567fffee..b420bf15dd 100644 --- a/.deadcode-out +++ b/.deadcode-out @@ -144,10 +144,6 @@ code.gitea.io/gitea/modules/markup/console code.gitea.io/gitea/modules/markup/markdown RenderRawString -code.gitea.io/gitea/modules/markup/markdown/math - WithInlineDollarParser - WithBlockDollarParser - code.gitea.io/gitea/modules/markup/mdstripper stripRenderer.AddOptions StripMarkdown diff --git a/modules/markup/markdown/math/math.go b/modules/markup/markdown/math/math.go index 3d9f376bc6..4126dc9ad6 100644 --- a/modules/markup/markdown/math/math.go +++ b/modules/markup/markdown/math/math.go @@ -39,28 +39,6 @@ func Enabled(enable ...bool) Option { }) } -// WithInlineDollarParser enables or disables the parsing of $...$ -func WithInlineDollarParser(enable ...bool) Option { - value := true - if len(enable) > 0 { - value = enable[0] - } - return extensionFunc(func(e *Extension) { - e.parseDollarInline = value - }) -} - -// WithBlockDollarParser enables or disables the parsing of $$...$$ -func WithBlockDollarParser(enable ...bool) Option { - value := true - if len(enable) > 0 { - value = enable[0] - } - return extensionFunc(func(e *Extension) { - e.parseDollarBlock = value - }) -} - // Math represents a math extension with default rendered delimiters var Math = &Extension{ enabled: true, From 039a679ccb4cf192148a8db364932bdb7762ac91 Mon Sep 17 00:00:00 2001 From: Gusted Date: Fri, 31 Jan 2025 14:30:23 +0100 Subject: [PATCH 25/26] chore: Remove `IsCommitStatusContextSuccess` - Introduced in 04ca7f004710de2b408f558f6f148894aa61ba57 and removed in 81daf26878d8a7e14c172fc39fc55c36281b1898. --- .deadcode-out | 3 --- services/pull/commit_status.go | 30 ------------------------------ 2 files changed, 33 deletions(-) diff --git a/.deadcode-out b/.deadcode-out index b420bf15dd..e38f3b634e 100644 --- a/.deadcode-out +++ b/.deadcode-out @@ -218,9 +218,6 @@ code.gitea.io/gitea/routers/web/org code.gitea.io/gitea/services/context GetPrivateContext -code.gitea.io/gitea/services/pull - IsCommitStatusContextSuccess - code.gitea.io/gitea/services/repository IsErrForkAlreadyExist diff --git a/services/pull/commit_status.go b/services/pull/commit_status.go index 0d4763a838..2c77d9cf4e 100644 --- a/services/pull/commit_status.go +++ b/services/pull/commit_status.go @@ -71,36 +71,6 @@ func MergeRequiredContextsCommitStatus(commitStatuses []*git_model.CommitStatus, return returnedStatus } -// IsCommitStatusContextSuccess returns true if all required status check contexts succeed. -func IsCommitStatusContextSuccess(commitStatuses []*git_model.CommitStatus, requiredContexts []string) bool { - // If no specific context is required, require that last commit status is a success - if len(requiredContexts) == 0 { - status := git_model.CalcCommitStatus(commitStatuses) - if status == nil || status.State != structs.CommitStatusSuccess { - return false - } - return true - } - - for _, ctx := range requiredContexts { - var found bool - for _, commitStatus := range commitStatuses { - if commitStatus.Context == ctx { - if commitStatus.State != structs.CommitStatusSuccess { - return false - } - - found = true - break - } - } - if !found { - return false - } - } - return true -} - // IsPullCommitStatusPass returns if all required status checks PASS func IsPullCommitStatusPass(ctx context.Context, pr *issues_model.PullRequest) (bool, error) { pb, err := git_model.GetFirstMatchProtectedBranchRule(ctx, pr.BaseRepoID, pr.BaseBranch) From 1ee9e88809cbac3115015b32379473d1bede97c9 Mon Sep 17 00:00:00 2001 From: Gusted Date: Fri, 31 Jan 2025 14:33:03 +0100 Subject: [PATCH 26/26] chore: Remove `GetFileResponseFromCommit` - Introduced in 2262811e407facea09047e94aa1850c192511587 and removed in 275d4b7e3f4595206e5c4b1657d4f6d6969d9ce2. --- .deadcode-out | 1 - services/repository/files/file.go | 13 ---- services/repository/files/file_test.go | 89 -------------------------- 3 files changed, 103 deletions(-) diff --git a/.deadcode-out b/.deadcode-out index e38f3b634e..403a6e40d2 100644 --- a/.deadcode-out +++ b/.deadcode-out @@ -223,7 +223,6 @@ code.gitea.io/gitea/services/repository code.gitea.io/gitea/services/repository/files ContentType.String - GetFileResponseFromCommit code.gitea.io/gitea/services/webhook NewNotifier diff --git a/services/repository/files/file.go b/services/repository/files/file.go index 852cca0371..7884d880e0 100644 --- a/services/repository/files/file.go +++ b/services/repository/files/file.go @@ -33,19 +33,6 @@ func GetFilesResponseFromCommit(ctx context.Context, repo *repo_model.Repository return filesResponse, nil } -// GetFileResponseFromCommit Constructs a FileResponse from a Commit object -func GetFileResponseFromCommit(ctx context.Context, repo *repo_model.Repository, commit *git.Commit, branch, treeName string) (*api.FileResponse, error) { - fileContents, _ := GetContents(ctx, repo, treeName, branch, false) // ok if fails, then will be nil - fileCommitResponse, _ := GetFileCommitResponse(repo, commit) // ok if fails, then will be nil - verification := GetPayloadCommitVerification(ctx, commit) - fileResponse := &api.FileResponse{ - Content: fileContents, - Commit: fileCommitResponse, - Verification: verification, - } - return fileResponse, nil -} - // constructs a FileResponse with the file at the index from FilesResponse func GetFileResponseFromFilesResponse(filesResponse *api.FilesResponse, index int) *api.FileResponse { content := &api.ContentsResponse{} diff --git a/services/repository/files/file_test.go b/services/repository/files/file_test.go index 7c387e2dd5..db2f4403f4 100644 --- a/services/repository/files/file_test.go +++ b/services/repository/files/file_test.go @@ -6,15 +6,7 @@ package files import ( "testing" - "code.gitea.io/gitea/models/db" - repo_model "code.gitea.io/gitea/models/repo" - "code.gitea.io/gitea/models/unittest" - "code.gitea.io/gitea/modules/gitrepo" - "code.gitea.io/gitea/modules/setting" - api "code.gitea.io/gitea/modules/structs" - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" ) func TestCleanUploadFileName(t *testing.T) { @@ -32,84 +24,3 @@ func TestCleanUploadFileName(t *testing.T) { assert.EqualValues(t, expectedCleanName, cleanName) }) } - -func getExpectedFileResponse() *api.FileResponse { - treePath := "README.md" - sha := "4b4851ad51df6a7d9f25c979345979eaeb5b349f" - encoding := "base64" - content := "IyByZXBvMQoKRGVzY3JpcHRpb24gZm9yIHJlcG8x" - selfURL := setting.AppURL + "api/v1/repos/user2/repo1/contents/" + treePath + "?ref=master" - htmlURL := setting.AppURL + "user2/repo1/src/branch/master/" + treePath - gitURL := setting.AppURL + "api/v1/repos/user2/repo1/git/blobs/" + sha - downloadURL := setting.AppURL + "user2/repo1/raw/branch/master/" + treePath - return &api.FileResponse{ - Content: &api.ContentsResponse{ - Name: treePath, - Path: treePath, - SHA: sha, - LastCommitSHA: "65f1bf27bc3bf70f64657658635e66094edbcb4d", - Type: "file", - Size: 30, - Encoding: &encoding, - Content: &content, - URL: &selfURL, - HTMLURL: &htmlURL, - GitURL: &gitURL, - DownloadURL: &downloadURL, - Links: &api.FileLinksResponse{ - Self: &selfURL, - GitURL: &gitURL, - HTMLURL: &htmlURL, - }, - }, - Commit: &api.FileCommitResponse{ - CommitMeta: api.CommitMeta{ - URL: "https://try.gitea.io/api/v1/repos/user2/repo1/git/commits/65f1bf27bc3bf70f64657658635e66094edbcb4d", - SHA: "65f1bf27bc3bf70f64657658635e66094edbcb4d", - }, - HTMLURL: "https://try.gitea.io/user2/repo1/commit/65f1bf27bc3bf70f64657658635e66094edbcb4d", - Author: &api.CommitUser{ - Identity: api.Identity{ - Name: "user1", - Email: "address1@example.com", - }, - Date: "2017-03-19T20:47:59Z", - }, - Committer: &api.CommitUser{ - Identity: api.Identity{ - Name: "Ethan Koenig", - Email: "ethantkoenig@gmail.com", - }, - Date: "2017-03-19T20:47:59Z", - }, - Parents: []*api.CommitMeta{}, - Message: "Initial commit\n", - Tree: &api.CommitMeta{ - URL: "https://try.gitea.io/api/v1/repos/user2/repo1/git/trees/2a2f1d4670728a2e10049e345bd7a276468beab6", - SHA: "2a2f1d4670728a2e10049e345bd7a276468beab6", - }, - }, - Verification: &api.PayloadCommitVerification{ - Verified: false, - Reason: "gpg.error.not_signed_commit", - Signature: "", - Payload: "", - }, - } -} - -func TestGetFileResponseFromCommit(t *testing.T) { - unittest.PrepareTestEnv(t) - - repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 1}) - branch := repo.DefaultBranch - treePath := "README.md" - gitRepo, _ := gitrepo.OpenRepository(db.DefaultContext, repo) - defer gitRepo.Close() - commit, _ := gitRepo.GetBranchCommit(branch) - expectedFileResponse := getExpectedFileResponse() - - fileResponse, err := GetFileResponseFromCommit(db.DefaultContext, repo, commit, branch, treePath) - require.NoError(t, err) - assert.EqualValues(t, expectedFileResponse, fileResponse) -}