diff --git a/internal/database/filter.go b/internal/database/filter.go index c094a27..31f86d9 100644 --- a/internal/database/filter.go +++ b/internal/database/filter.go @@ -4,7 +4,6 @@ import ( "context" "database/sql" "strings" - "time" "github.com/lib/pq" "github.com/rs/zerolog/log" @@ -36,9 +35,8 @@ func (r *FilterRepo) ListFilters() ([]domain.Filter, error) { var f domain.Filter var matchReleases, exceptReleases sql.NullString - var createdAt, updatedAt string - if err := rows.Scan(&f.ID, &f.Enabled, &f.Name, &matchReleases, &exceptReleases, &createdAt, &updatedAt); err != nil { + if err := rows.Scan(&f.ID, &f.Enabled, &f.Name, &matchReleases, &exceptReleases, &f.CreatedAt, &f.UpdatedAt); err != nil { log.Error().Stack().Err(err).Msg("filters_list: error scanning data to struct") } if err != nil { @@ -48,12 +46,6 @@ func (r *FilterRepo) ListFilters() ([]domain.Filter, error) { f.MatchReleases = matchReleases.String f.ExceptReleases = exceptReleases.String - ua, _ := time.Parse(time.RFC3339, updatedAt) - ca, _ := time.Parse(time.RFC3339, createdAt) - - f.UpdatedAt = ua - f.CreatedAt = ca - filters = append(filters, f) } if err := rows.Err(); err != nil { @@ -78,9 +70,8 @@ func (r *FilterRepo) FindByID(filterID int) (*domain.Filter, error) { var minSize, maxSize, matchReleases, exceptReleases, matchReleaseGroups, exceptReleaseGroups, freeleechPercent, shows, seasons, episodes, years, matchCategories, exceptCategories, matchUploaders, exceptUploaders, tags, exceptTags sql.NullString var useRegex, scene, freeleech sql.NullBool var delay sql.NullInt32 - var createdAt, updatedAt string - if err := row.Scan(&f.ID, &f.Enabled, &f.Name, &minSize, &maxSize, &delay, &matchReleases, &exceptReleases, &useRegex, &matchReleaseGroups, &exceptReleaseGroups, &scene, &freeleech, &freeleechPercent, &shows, &seasons, &episodes, pq.Array(&f.Resolutions), pq.Array(&f.Codecs), pq.Array(&f.Sources), pq.Array(&f.Containers), &years, &matchCategories, &exceptCategories, &matchUploaders, &exceptUploaders, &tags, &exceptTags, &createdAt, &updatedAt); err != nil { + if err := row.Scan(&f.ID, &f.Enabled, &f.Name, &minSize, &maxSize, &delay, &matchReleases, &exceptReleases, &useRegex, &matchReleaseGroups, &exceptReleaseGroups, &scene, &freeleech, &freeleechPercent, &shows, &seasons, &episodes, pq.Array(&f.Resolutions), pq.Array(&f.Codecs), pq.Array(&f.Sources), pq.Array(&f.Containers), &years, &matchCategories, &exceptCategories, &matchUploaders, &exceptUploaders, &tags, &exceptTags, &f.CreatedAt, &f.UpdatedAt); err != nil { log.Error().Stack().Err(err).Msgf("filter: %v : error scanning data to struct", filterID) return nil, err } @@ -107,47 +98,9 @@ func (r *FilterRepo) FindByID(filterID int) (*domain.Filter, error) { f.Scene = scene.Bool f.Freeleech = freeleech.Bool - updatedTime, _ := time.Parse(time.RFC3339, updatedAt) - createdTime, _ := time.Parse(time.RFC3339, createdAt) - - f.UpdatedAt = updatedTime - f.CreatedAt = createdTime - return &f, nil } -// TODO remove -func (r *FilterRepo) FindFiltersForSite(site string) ([]domain.Filter, error) { - //r.db.lock.RLock() - //defer r.db.lock.RUnlock() - - rows, err := r.db.handler.Query("SELECT id, enabled, name, match_releases, except_releases, created_at, updated_at FROM filter WHERE match_sites LIKE ?", site) - if err != nil { - log.Fatal().Err(err) - } - - defer rows.Close() - - var filters []domain.Filter - for rows.Next() { - var f domain.Filter - - if err := rows.Scan(&f.ID, &f.Enabled, &f.Name, pq.Array(&f.MatchReleases), pq.Array(&f.ExceptReleases), &f.CreatedAt, &f.UpdatedAt); err != nil { - log.Error().Stack().Err(err).Msg("error scanning data to struct") - } - if err != nil { - return nil, err - } - - filters = append(filters, f) - } - if err := rows.Err(); err != nil { - return nil, err - } - - return filters, nil -} - // FindByIndexerIdentifier find active filters only func (r *FilterRepo) FindByIndexerIdentifier(indexer string) ([]domain.Filter, error) { //r.db.lock.RLock() @@ -204,9 +157,8 @@ func (r *FilterRepo) FindByIndexerIdentifier(indexer string) ([]domain.Filter, e var minSize, maxSize, matchReleases, exceptReleases, matchReleaseGroups, exceptReleaseGroups, freeleechPercent, shows, seasons, episodes, years, matchCategories, exceptCategories, matchUploaders, exceptUploaders, tags, exceptTags sql.NullString var useRegex, scene, freeleech sql.NullBool var delay sql.NullInt32 - var createdAt, updatedAt string - if err := rows.Scan(&f.ID, &f.Enabled, &f.Name, &minSize, &maxSize, &delay, &matchReleases, &exceptReleases, &useRegex, &matchReleaseGroups, &exceptReleaseGroups, &scene, &freeleech, &freeleechPercent, &shows, &seasons, &episodes, pq.Array(&f.Resolutions), pq.Array(&f.Codecs), pq.Array(&f.Sources), pq.Array(&f.Containers), &years, &matchCategories, &exceptCategories, &matchUploaders, &exceptUploaders, &tags, &exceptTags, &createdAt, &updatedAt); err != nil { + if err := rows.Scan(&f.ID, &f.Enabled, &f.Name, &minSize, &maxSize, &delay, &matchReleases, &exceptReleases, &useRegex, &matchReleaseGroups, &exceptReleaseGroups, &scene, &freeleech, &freeleechPercent, &shows, &seasons, &episodes, pq.Array(&f.Resolutions), pq.Array(&f.Codecs), pq.Array(&f.Sources), pq.Array(&f.Containers), &years, &matchCategories, &exceptCategories, &matchUploaders, &exceptUploaders, &tags, &exceptTags, &f.CreatedAt, &f.UpdatedAt); err != nil { log.Error().Stack().Err(err).Msg("error scanning data to struct") return nil, err } @@ -233,12 +185,6 @@ func (r *FilterRepo) FindByIndexerIdentifier(indexer string) ([]domain.Filter, e f.Scene = scene.Bool f.Freeleech = freeleech.Bool - updatedTime, _ := time.Parse(time.RFC3339, updatedAt) - createdTime, _ := time.Parse(time.RFC3339, createdAt) - - f.UpdatedAt = updatedTime - f.CreatedAt = createdTime - filters = append(filters, f) } if err := rows.Err(); err != nil { diff --git a/internal/database/release.go b/internal/database/release.go index 5fb9248..07d7625 100644 --- a/internal/database/release.go +++ b/internal/database/release.go @@ -3,8 +3,6 @@ package database import ( "context" "database/sql" - "time" - sq "github.com/Masterminds/squirrel" "github.com/lib/pq" "github.com/rs/zerolog/log" @@ -53,7 +51,7 @@ func (repo *ReleaseRepo) StoreReleaseActionStatus(ctx context.Context, a *domain Update("release_action_status"). Set("status", a.Status). Set("rejections", pq.Array(a.Rejections)). - Set("timestamp", time.Now().Format(time.RFC3339)). + Set("timestamp", a.Timestamp). Where("id = ?", a.ID). Where("release_id = ?", a.ReleaseID). ToSql() @@ -142,9 +140,8 @@ func (repo *ReleaseRepo) Find(ctx context.Context, params domain.QueryParams) ([ var rls domain.Release var indexer, filter sql.NullString - var timestamp string - if err := rows.Scan(&rls.ID, &rls.FilterStatus, pq.Array(&rls.Rejections), &indexer, &filter, &rls.Protocol, &rls.Title, &rls.TorrentName, &rls.Size, ×tamp, &countItems); err != nil { + if err := rows.Scan(&rls.ID, &rls.FilterStatus, pq.Array(&rls.Rejections), &indexer, &filter, &rls.Protocol, &rls.Title, &rls.TorrentName, &rls.Size, &rls.Timestamp, &countItems); err != nil { log.Error().Stack().Err(err).Msg("release.find: error scanning data to struct") return res, 0, 0, err } @@ -152,9 +149,6 @@ func (repo *ReleaseRepo) Find(ctx context.Context, params domain.QueryParams) ([ rls.Indexer = indexer.String rls.FilterName = filter.String - ca, _ := time.Parse(time.RFC3339, timestamp) - rls.Timestamp = ca - // get action status actionStatus, err := repo.GetActionStatusByReleaseID(ctx, rls.ID) if err != nil { @@ -206,16 +200,11 @@ func (repo *ReleaseRepo) GetActionStatusByReleaseID(ctx context.Context, release for rows.Next() { var rls domain.ReleaseActionStatus - var timestamp string - - if err := rows.Scan(&rls.ID, &rls.Status, &rls.Action, &rls.Type, pq.Array(&rls.Rejections), ×tamp); err != nil { + if err := rows.Scan(&rls.ID, &rls.Status, &rls.Action, &rls.Type, pq.Array(&rls.Rejections), &rls.Timestamp); err != nil { log.Error().Stack().Err(err).Msg("release.find: error scanning data to struct") return res, err } - ca, _ := time.Parse(time.RFC3339, timestamp) - rls.Timestamp = ca - res = append(res, rls) } diff --git a/internal/domain/filter.go b/internal/domain/filter.go index c3e8ed5..beba471 100644 --- a/internal/domain/filter.go +++ b/internal/domain/filter.go @@ -12,7 +12,6 @@ https://autodl-community.github.io/autodl-irssi/configuration/filter/ type FilterRepo interface { FindByID(filterID int) (*Filter, error) - FindFiltersForSite(site string) ([]Filter, error) FindByIndexerIdentifier(indexer string) ([]Filter, error) ListFilters() ([]Filter, error) Store(filter Filter) (*Filter, error)