mirror of
https://github.com/idanoo/autobrr
synced 2025-07-23 00:39:13 +00:00
feat(filters): list actions count (#372)
This commit is contained in:
parent
4f3091a4a7
commit
2b3fab28c1
4 changed files with 87 additions and 78 deletions
|
@ -27,18 +27,22 @@ func NewFilterRepo(log logger.Logger, db *DB) domain.FilterRepo {
|
|||
}
|
||||
|
||||
func (r *FilterRepo) ListFilters(ctx context.Context) ([]domain.Filter, error) {
|
||||
actionCountQuery := r.db.squirrel.
|
||||
Select("COUNT(*)").
|
||||
From("action a").
|
||||
Where("a.filter_id = f.id")
|
||||
|
||||
queryBuilder := r.db.squirrel.
|
||||
Select(
|
||||
"id",
|
||||
"enabled",
|
||||
"name",
|
||||
"match_releases",
|
||||
"except_releases",
|
||||
"created_at",
|
||||
"updated_at",
|
||||
"f.id",
|
||||
"f.enabled",
|
||||
"f.name",
|
||||
"f.created_at",
|
||||
"f.updated_at",
|
||||
).
|
||||
From("filter").
|
||||
OrderBy("name ASC")
|
||||
Column(sq.Alias(actionCountQuery, "action_count")).
|
||||
From("filter f").
|
||||
OrderBy("f.name ASC")
|
||||
|
||||
query, args, err := queryBuilder.ToSql()
|
||||
if err != nil {
|
||||
|
@ -56,15 +60,10 @@ func (r *FilterRepo) ListFilters(ctx context.Context) ([]domain.Filter, error) {
|
|||
for rows.Next() {
|
||||
var f domain.Filter
|
||||
|
||||
var matchReleases, exceptReleases sql.NullString
|
||||
|
||||
if err := rows.Scan(&f.ID, &f.Enabled, &f.Name, &matchReleases, &exceptReleases, &f.CreatedAt, &f.UpdatedAt); err != nil {
|
||||
if err := rows.Scan(&f.ID, &f.Enabled, &f.Name, &f.CreatedAt, &f.UpdatedAt, &f.ActionsCount); err != nil {
|
||||
return nil, errors.Wrap(err, "error scanning row")
|
||||
}
|
||||
|
||||
f.MatchReleases = matchReleases.String
|
||||
f.ExceptReleases = exceptReleases.String
|
||||
|
||||
filters = append(filters, f)
|
||||
}
|
||||
if err := rows.Err(); err != nil {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue