summaryrefslogtreecommitdiffstats
path: root/services/repository
diff options
context:
space:
mode:
authorLunny Xiao <xiaolunwen@gmail.com>2023-12-07 15:27:36 +0800
committerGitHub <noreply@github.com>2023-12-07 15:27:36 +0800
commitdd30d9d5c0f577cb6e084aae6de2752ad43474d8 (patch)
tree1e3799a672a23424484b849827ba39eae447856a /services/repository
parentbeb71f5ef6e8074dc744ac995c15f7b5947a3f2e (diff)
downloadgitea-dd30d9d5c0f577cb6e084aae6de2752ad43474d8.tar.gz
gitea-dd30d9d5c0f577cb6e084aae6de2752ad43474d8.zip
Remove GetByBean method because sometimes it's danger when query condition parameter is zero and also introduce new generic methods (#28220)
The function `GetByBean` has an obvious defect that when the fields are empty values, it will be ignored. Then users will get a wrong result which is possibly used to make a security problem. To avoid the possibility, this PR removed function `GetByBean` and all references. And some new generic functions have been introduced to be used. The recommand usage like below. ```go // if query an object according id obj, err := db.GetByID[Object](ctx, id) // query with other conditions obj, err := db.Get[Object](ctx, builder.Eq{"a": a, "b":b}) ```
Diffstat (limited to 'services/repository')
-rw-r--r--services/repository/files/update.go2
-rw-r--r--services/repository/files/upload.go2
-rw-r--r--services/repository/lfs_test.go2
3 files changed, 3 insertions, 3 deletions
diff --git a/services/repository/files/update.go b/services/repository/files/update.go
index 2a08bcbace..42b98a2739 100644
--- a/services/repository/files/update.go
+++ b/services/repository/files/update.go
@@ -438,7 +438,7 @@ func CreateOrUpdateFile(ctx context.Context, t *TemporaryUploadRepository, file
if lfsMetaObject != nil {
// We have an LFS object - create it
- lfsMetaObject, err = git_model.NewLFSMetaObject(ctx, lfsMetaObject)
+ lfsMetaObject, err = git_model.NewLFSMetaObject(ctx, lfsMetaObject.RepositoryID, lfsMetaObject.Pointer)
if err != nil {
return err
}
diff --git a/services/repository/files/upload.go b/services/repository/files/upload.go
index f4e1da7bb1..6a1f2ccd16 100644
--- a/services/repository/files/upload.go
+++ b/services/repository/files/upload.go
@@ -143,7 +143,7 @@ func UploadRepoFiles(ctx context.Context, repo *repo_model.Repository, doer *use
if infos[i].lfsMetaObject == nil {
continue
}
- infos[i].lfsMetaObject, err = git_model.NewLFSMetaObject(ctx, infos[i].lfsMetaObject)
+ infos[i].lfsMetaObject, err = git_model.NewLFSMetaObject(ctx, infos[i].lfsMetaObject.RepositoryID, infos[i].lfsMetaObject.Pointer)
if err != nil {
// OK Now we need to cleanup
return cleanUpAfterFailure(ctx, &infos, t, err)
diff --git a/services/repository/lfs_test.go b/services/repository/lfs_test.go
index 61348143d0..ee0b8f6b89 100644
--- a/services/repository/lfs_test.go
+++ b/services/repository/lfs_test.go
@@ -52,7 +52,7 @@ func storeObjectInRepo(t *testing.T, repositoryID int64, content *[]byte) string
pointer, err := lfs.GeneratePointer(bytes.NewReader(*content))
assert.NoError(t, err)
- _, err = git_model.NewLFSMetaObject(db.DefaultContext, &git_model.LFSMetaObject{Pointer: pointer, RepositoryID: repositoryID})
+ _, err = git_model.NewLFSMetaObject(db.DefaultContext, repositoryID, pointer)
assert.NoError(t, err)
contentStore := lfs.NewContentStore()
exist, err := contentStore.Exists(pointer)