api/graph: Remove usage of database.Apply
This commit is contained in:
parent
5e95e4ebb6
commit
02b9b60e94
|
@ -3,7 +3,7 @@ module git.sr.ht/~sircmpwn/todo.sr.ht/api
|
|||
go 1.15
|
||||
|
||||
require (
|
||||
git.sr.ht/~sircmpwn/core-go v0.0.0-20211218082756-f762ad220360
|
||||
git.sr.ht/~sircmpwn/core-go v0.0.0-20220314110514-33bc768cc765
|
||||
github.com/99designs/gqlgen v0.14.0
|
||||
github.com/Masterminds/squirrel v1.4.0
|
||||
github.com/emersion/go-message v0.15.0
|
||||
|
|
|
@ -33,6 +33,8 @@ cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9
|
|||
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
|
||||
git.sr.ht/~sircmpwn/core-go v0.0.0-20211218082756-f762ad220360 h1:KZwWE8xwafnRCldGTHeeuYH3QKhlrgsCqukIgXHzUgs=
|
||||
git.sr.ht/~sircmpwn/core-go v0.0.0-20211218082756-f762ad220360/go.mod h1:uUqzeO5OLl/nRZfPk0igIAweRZiVwUmu/OGYfjS9fWc=
|
||||
git.sr.ht/~sircmpwn/core-go v0.0.0-20220314110514-33bc768cc765 h1:QE7Jv8FFOct82B/voDbTQ5UWfrMOhuyj4LxQx2UU/28=
|
||||
git.sr.ht/~sircmpwn/core-go v0.0.0-20220314110514-33bc768cc765/go.mod h1:uUqzeO5OLl/nRZfPk0igIAweRZiVwUmu/OGYfjS9fWc=
|
||||
git.sr.ht/~sircmpwn/dowork v0.0.0-20210820133136-d3970e97def3 h1:9WCv5cK67s2SiY/R4DWT/OchEsFnfYDz3lbevKxZ4QI=
|
||||
git.sr.ht/~sircmpwn/dowork v0.0.0-20210820133136-d3970e97def3/go.mod h1:8neHEO3503w/rNtttnR0JFpQgM/GFhaafVwvkPsFIDw=
|
||||
git.sr.ht/~sircmpwn/getopt v0.0.0-20191230200459-23622cc906b3 h1:4wDp4BKF7NQqoh73VXpZsB/t1OEhDpz/zEpmdQfbjDk=
|
||||
|
|
|
@ -198,15 +198,22 @@ func (r *mutationResolver) CreateTracker(ctx context.Context, name string, descr
|
|||
}
|
||||
|
||||
func (r *mutationResolver) UpdateTracker(ctx context.Context, id int, input map[string]interface{}) (*model.Tracker, error) {
|
||||
query := sq.Update("tracker").
|
||||
PlaceholderFormat(sq.Dollar)
|
||||
|
||||
valid := valid.New(ctx).WithInput(input)
|
||||
|
||||
valid.OptionalString("description", func(desc string) {
|
||||
valid.Expect(len(desc) < 8192,
|
||||
"Description must be fewer than 8192 characters").
|
||||
WithField("description")
|
||||
if !valid.Ok() {
|
||||
return
|
||||
}
|
||||
query = query.Set(`description`, desc)
|
||||
})
|
||||
valid.OptionalString("visibility", func(vis string) {
|
||||
input["visibility"] = model.Visibility(vis)
|
||||
query = query.Set(`visibility`, vis)
|
||||
})
|
||||
if !valid.Ok() {
|
||||
return nil, nil
|
||||
|
@ -223,7 +230,7 @@ func (r *mutationResolver) UpdateTracker(ctx context.Context, id int, input map[
|
|||
if err := database.WithTx(ctx, nil, func(tx *sql.Tx) error {
|
||||
var err error
|
||||
if len(input) != 0 {
|
||||
_, err = database.Apply(tracker, input).
|
||||
_, err = query.
|
||||
Where(database.WithAlias(tracker.Alias(), `id`)+"= ?", tracker.ID).
|
||||
Set(database.WithAlias(tracker.Alias(), `updated`),
|
||||
sq.Expr(`now() at time zone 'utc'`)).
|
||||
|
@ -554,17 +561,32 @@ func (r *mutationResolver) CreateLabel(ctx context.Context, trackerID int, name
|
|||
}
|
||||
|
||||
func (r *mutationResolver) UpdateLabel(ctx context.Context, id int, input map[string]interface{}) (*model.Label, error) {
|
||||
query := sq.Update("label").
|
||||
PlaceholderFormat(sq.Dollar)
|
||||
|
||||
valid := valid.New(ctx).WithInput(input)
|
||||
valid.OptionalString("foregroundColor", func(foreground string) {
|
||||
_, err := parseColor(foreground)
|
||||
valid.Expect(err == nil, err.Error()).WithField("foregroundColor")
|
||||
if !valid.Ok() {
|
||||
return
|
||||
}
|
||||
query = query.Set(`text_color`, foreground)
|
||||
})
|
||||
valid.OptionalString("backgroundColor", func(background string) {
|
||||
_, err := parseColor(background)
|
||||
valid.Expect(err == nil, err.Error()).WithField("backgroundColor")
|
||||
if !valid.Ok() {
|
||||
return
|
||||
}
|
||||
query = query.Set(`color`, background)
|
||||
})
|
||||
valid.OptionalString("name", func(name string) {
|
||||
valid.Expect(len(name) != 0, "Name cannot be empty").WithField(name)
|
||||
if !valid.Ok() {
|
||||
return
|
||||
}
|
||||
query = query.Set(`name`, name)
|
||||
})
|
||||
if !valid.Ok() {
|
||||
return nil, nil
|
||||
|
@ -585,7 +607,7 @@ func (r *mutationResolver) UpdateLabel(ctx context.Context, id int, input map[st
|
|||
if err := database.WithTx(ctx, nil, func(tx *sql.Tx) error {
|
||||
var err error
|
||||
if len(input) != 0 {
|
||||
_, err = database.Apply(label, input).
|
||||
_, err = query.
|
||||
Where(database.WithAlias(label.Alias(), `id`)+"= ?", id).
|
||||
RunWith(tx).
|
||||
ExecContext(ctx)
|
||||
|
|
Loading…
Reference in New Issue