api/graph: Fix duplicates in User.trackers query
Fixes: https://todo.sr.ht/~sircmpwn/todo.sr.ht/273
This commit is contained in:
parent
268dacdc07
commit
75add26e2f
|
@ -91,15 +91,15 @@ func (t *Tracker) QueryWithCursor(ctx context.Context, runner sq.BaseRunner,
|
||||||
q = q.
|
q = q.
|
||||||
OrderBy(database.WithAlias(t.alias, "id")+" DESC").
|
OrderBy(database.WithAlias(t.alias, "id")+" DESC").
|
||||||
Limit(uint64(cur.Count+1)).
|
Limit(uint64(cur.Count+1)).
|
||||||
LeftJoin(`user_access tr_ua ON tr_ua.tracker_id = tr.id AND tr_ua.user_id = ?`, auser.UserID).
|
LeftJoin(`user_access ua ON ua.tracker_id = tr.id AND ua.user_id = ?`, auser.UserID).
|
||||||
Column(`COALESCE(
|
Column(`COALESCE(
|
||||||
tr_ua.permissions,
|
ua.permissions,
|
||||||
CASE WHEN tr.owner_id = ?
|
CASE WHEN tr.owner_id = ?
|
||||||
THEN ?
|
THEN ?
|
||||||
ELSE tr.default_access
|
ELSE tr.default_access
|
||||||
END)`,
|
END)`,
|
||||||
auser.UserID, ACCESS_ALL).
|
auser.UserID, ACCESS_ALL).
|
||||||
Column(`tr_ua.id`)
|
Column(`ua.id`)
|
||||||
|
|
||||||
if rows, err = q.RunWith(runner).QueryContext(ctx); err != nil {
|
if rows, err = q.RunWith(runner).QueryContext(ctx); err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
|
|
|
@ -3225,7 +3225,6 @@ func (r *userResolver) Trackers(ctx context.Context, obj *model.User, cursor *co
|
||||||
query := database.
|
query := database.
|
||||||
Select(ctx, tracker).
|
Select(ctx, tracker).
|
||||||
From(`tracker tr`).
|
From(`tracker tr`).
|
||||||
LeftJoin(`user_access ua ON ua.tracker_id = tr.id`).
|
|
||||||
Where(sq.And{
|
Where(sq.And{
|
||||||
sq.Expr(`tr.owner_id = ?`, obj.ID),
|
sq.Expr(`tr.owner_id = ?`, obj.ID),
|
||||||
sq.Or{
|
sq.Or{
|
||||||
|
|
Loading…
Reference in New Issue