Show the actual total number of tasks pending

This commit is contained in:
Eli Ribble 2026-03-12 00:30:19 +00:00
parent 40e7c8fdbe
commit 6d1003dcbd
No known key found for this signature in database
2 changed files with 23 additions and 6 deletions

View file

@ -29,9 +29,29 @@ type reviewTaskPool struct {
}
type contentListReviewTaskPool struct {
Tasks []reviewTaskPool `json:"tasks"`
Total int32 `json:"total"`
}
func listReviewTaskPool(ctx context.Context, r *http.Request, org *models.Organization, user *models.User, query queryParams) (*contentListReviewTaskPool, *nhttp.ErrorWithStatus) {
limit := 20
if query.Limit != nil {
limit = *query.Limit
}
type _RowTotal struct {
Total int32 `db:"total"`
}
row_total, err := bob.One(ctx, db.PGInstance.BobDB, psql.Select(
sm.Columns(
"COUNT(*) AS total",
),
sm.From("review_task"),
sm.Where(psql.Quote("review_task", "organization_id").EQ(psql.Arg(org.ID))),
sm.Where(psql.Quote("review_task", "reviewed").IsNull()),
), scan.StructMapper[_RowTotal]())
if err != nil {
return nil, nhttp.NewError("failed to total count: %w", err)
}
type _Row struct {
Address types.Address `db:"address"`
Condition string `db:"condition"`
@ -46,10 +66,6 @@ func listReviewTaskPool(ctx context.Context, r *http.Request, org *models.Organi
Title string `db:"title"`
Type string `db:"type"`
}
limit := 20
if query.Limit != nil {
limit = *query.Limit
}
rows, err := bob.All(ctx, db.PGInstance.BobDB, psql.Select(
sm.Columns(
"feature_pool.condition AS condition",
@ -96,7 +112,7 @@ func listReviewTaskPool(ctx context.Context, r *http.Request, org *models.Organi
sm.Limit(limit),
), scan.StructMapper[_Row]())
if err != nil {
return nil, nhttp.NewError("failed to get signals: %w", err)
return nil, nhttp.NewError("failed to get review tasks: %w", err)
}
users_by_id, err := platform.UsersByID(ctx, org)
if err != nil {
@ -120,5 +136,6 @@ func listReviewTaskPool(ctx context.Context, r *http.Request, org *models.Organi
}
return &contentListReviewTaskPool{
Tasks: tasks,
Total: row_total.Total,
}, nil
}