mirror of
1
Fork 0
forgejo/models/db
Lunny Xiao dd30d9d5c0
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})
```
2023-12-07 15:27:36 +08:00
..
install Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
paginator make writing main test easier (#27270) 2023-09-28 01:38:53 +00:00
common.go Fix NuGet search endpoints (#25613) 2023-08-14 02:50:55 +00:00
consistency.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
context.go Remove GetByBean method because sometimes it's danger when query condition parameter is zero and also introduce new generic methods (#28220) 2023-12-07 15:27:36 +08:00
context_committer_test.go Fix halfCommitter and WithTx (#22366) 2023-01-09 12:19:19 -05:00
context_test.go Always reuse transaction (#22362) 2023-01-08 09:34:58 +08:00
convert.go Support converting varchar to nvarchar for mssql database (#24105) 2023-04-17 21:22:10 +08:00
engine.go Rename `Sync2` -> `Sync` (#26479) 2023-08-13 21:17:21 +02:00
engine_test.go Rename `Sync2` -> `Sync` (#26479) 2023-08-13 21:17:21 +02:00
error.go Remove GetByBean method because sometimes it's danger when query condition parameter is zero and also introduce new generic methods (#28220) 2023-12-07 15:27:36 +08:00
index.go Fix index generation parallelly failure (#25235) 2023-06-15 02:14:43 +02:00
index_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
iterate.go refactor: make db iterate context aware (#27710) 2023-10-21 10:05:29 +08:00
iterate_test.go Remove GetByBean method because sometimes it's danger when query condition parameter is zero and also introduce new generic methods (#28220) 2023-12-07 15:27:36 +08:00
list.go Use db.Find instead of writing methods for every object (#28084) 2023-11-24 03:49:41 +00:00
list_test.go Use db.Find instead of writing methods for every object (#28084) 2023-11-24 03:49:41 +00:00
log.go Replace `interface{}` with `any` (#25686) 2023-07-04 18:36:08 +00:00
main_test.go make writing main test easier (#27270) 2023-09-28 01:38:53 +00:00
name.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
search.go Split lfs size from repository size (#22900) 2023-06-28 22:41:02 +00:00
sequence.go Refactor `setting.Database.UseXXX` to methods (#23354) 2023-03-07 18:51:06 +08:00
sql_postgres_with_schema.go Fix .golangci.yml (#22868) 2023-02-11 21:44:53 +00:00