Use dedicated type for each order field

Signed-off-by: gearnode <bryan@frimin.fr>
This commit is contained in:
gearnode
2025-03-19 00:20:05 +01:00
parent c73e417e5c
commit 5a1f873d58
32 changed files with 518 additions and 119 deletions

View File

@@ -53,8 +53,13 @@ type (
}
)
func (t Task) CursorKey(orderBy page.OrderField) page.CursorKey {
return page.NewCursorKey(t.ID, t.CreatedAt)
func (t Task) CursorKey(orderBy TaskOrderField) page.CursorKey {
switch orderBy {
case TaskOrderFieldCreatedAt:
return page.NewCursorKey(t.ID, t.CreatedAt)
}
panic(fmt.Sprintf("unsupported order by: %s", orderBy))
}
func (t *Task) LoadByID(
@@ -163,7 +168,7 @@ func (t *Tasks) LoadByControlID(
conn pg.Conn,
scope Scoper,
controlID gid.GID,
cursor *page.Cursor,
cursor *page.Cursor[TaskOrderField],
) error {
q := `
SELECT