mirror of
https://github.com/idanoo/autobrr
synced 2025-07-23 16:59:12 +00:00
fix: date parsing (#80)
This commit is contained in:
parent
d3c0b32199
commit
47031358b0
3 changed files with 6 additions and 72 deletions
|
@ -4,7 +4,6 @@ import (
|
||||||
"context"
|
"context"
|
||||||
"database/sql"
|
"database/sql"
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
|
||||||
|
|
||||||
"github.com/lib/pq"
|
"github.com/lib/pq"
|
||||||
"github.com/rs/zerolog/log"
|
"github.com/rs/zerolog/log"
|
||||||
|
@ -36,9 +35,8 @@ func (r *FilterRepo) ListFilters() ([]domain.Filter, error) {
|
||||||
var f domain.Filter
|
var f domain.Filter
|
||||||
|
|
||||||
var matchReleases, exceptReleases sql.NullString
|
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")
|
log.Error().Stack().Err(err).Msg("filters_list: error scanning data to struct")
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -48,12 +46,6 @@ func (r *FilterRepo) ListFilters() ([]domain.Filter, error) {
|
||||||
f.MatchReleases = matchReleases.String
|
f.MatchReleases = matchReleases.String
|
||||||
f.ExceptReleases = exceptReleases.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)
|
filters = append(filters, f)
|
||||||
}
|
}
|
||||||
if err := rows.Err(); err != nil {
|
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 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 useRegex, scene, freeleech sql.NullBool
|
||||||
var delay sql.NullInt32
|
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)
|
log.Error().Stack().Err(err).Msgf("filter: %v : error scanning data to struct", filterID)
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
@ -107,47 +98,9 @@ func (r *FilterRepo) FindByID(filterID int) (*domain.Filter, error) {
|
||||||
f.Scene = scene.Bool
|
f.Scene = scene.Bool
|
||||||
f.Freeleech = freeleech.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
|
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
|
// FindByIndexerIdentifier find active filters only
|
||||||
func (r *FilterRepo) FindByIndexerIdentifier(indexer string) ([]domain.Filter, error) {
|
func (r *FilterRepo) FindByIndexerIdentifier(indexer string) ([]domain.Filter, error) {
|
||||||
//r.db.lock.RLock()
|
//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 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 useRegex, scene, freeleech sql.NullBool
|
||||||
var delay sql.NullInt32
|
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")
|
log.Error().Stack().Err(err).Msg("error scanning data to struct")
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
@ -233,12 +185,6 @@ func (r *FilterRepo) FindByIndexerIdentifier(indexer string) ([]domain.Filter, e
|
||||||
f.Scene = scene.Bool
|
f.Scene = scene.Bool
|
||||||
f.Freeleech = freeleech.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)
|
filters = append(filters, f)
|
||||||
}
|
}
|
||||||
if err := rows.Err(); err != nil {
|
if err := rows.Err(); err != nil {
|
||||||
|
|
|
@ -3,8 +3,6 @@ package database
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"database/sql"
|
"database/sql"
|
||||||
"time"
|
|
||||||
|
|
||||||
sq "github.com/Masterminds/squirrel"
|
sq "github.com/Masterminds/squirrel"
|
||||||
"github.com/lib/pq"
|
"github.com/lib/pq"
|
||||||
"github.com/rs/zerolog/log"
|
"github.com/rs/zerolog/log"
|
||||||
|
@ -53,7 +51,7 @@ func (repo *ReleaseRepo) StoreReleaseActionStatus(ctx context.Context, a *domain
|
||||||
Update("release_action_status").
|
Update("release_action_status").
|
||||||
Set("status", a.Status).
|
Set("status", a.Status).
|
||||||
Set("rejections", pq.Array(a.Rejections)).
|
Set("rejections", pq.Array(a.Rejections)).
|
||||||
Set("timestamp", time.Now().Format(time.RFC3339)).
|
Set("timestamp", a.Timestamp).
|
||||||
Where("id = ?", a.ID).
|
Where("id = ?", a.ID).
|
||||||
Where("release_id = ?", a.ReleaseID).
|
Where("release_id = ?", a.ReleaseID).
|
||||||
ToSql()
|
ToSql()
|
||||||
|
@ -142,9 +140,8 @@ func (repo *ReleaseRepo) Find(ctx context.Context, params domain.QueryParams) ([
|
||||||
var rls domain.Release
|
var rls domain.Release
|
||||||
|
|
||||||
var indexer, filter sql.NullString
|
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")
|
log.Error().Stack().Err(err).Msg("release.find: error scanning data to struct")
|
||||||
return res, 0, 0, err
|
return res, 0, 0, err
|
||||||
}
|
}
|
||||||
|
@ -152,9 +149,6 @@ func (repo *ReleaseRepo) Find(ctx context.Context, params domain.QueryParams) ([
|
||||||
rls.Indexer = indexer.String
|
rls.Indexer = indexer.String
|
||||||
rls.FilterName = filter.String
|
rls.FilterName = filter.String
|
||||||
|
|
||||||
ca, _ := time.Parse(time.RFC3339, timestamp)
|
|
||||||
rls.Timestamp = ca
|
|
||||||
|
|
||||||
// get action status
|
// get action status
|
||||||
actionStatus, err := repo.GetActionStatusByReleaseID(ctx, rls.ID)
|
actionStatus, err := repo.GetActionStatusByReleaseID(ctx, rls.ID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -206,16 +200,11 @@ func (repo *ReleaseRepo) GetActionStatusByReleaseID(ctx context.Context, release
|
||||||
for rows.Next() {
|
for rows.Next() {
|
||||||
var rls domain.ReleaseActionStatus
|
var rls domain.ReleaseActionStatus
|
||||||
|
|
||||||
var timestamp string
|
if err := rows.Scan(&rls.ID, &rls.Status, &rls.Action, &rls.Type, pq.Array(&rls.Rejections), &rls.Timestamp); err != nil {
|
||||||
|
|
||||||
if err := rows.Scan(&rls.ID, &rls.Status, &rls.Action, &rls.Type, pq.Array(&rls.Rejections), ×tamp); err != nil {
|
|
||||||
log.Error().Stack().Err(err).Msg("release.find: error scanning data to struct")
|
log.Error().Stack().Err(err).Msg("release.find: error scanning data to struct")
|
||||||
return res, err
|
return res, err
|
||||||
}
|
}
|
||||||
|
|
||||||
ca, _ := time.Parse(time.RFC3339, timestamp)
|
|
||||||
rls.Timestamp = ca
|
|
||||||
|
|
||||||
res = append(res, rls)
|
res = append(res, rls)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,6 @@ https://autodl-community.github.io/autodl-irssi/configuration/filter/
|
||||||
|
|
||||||
type FilterRepo interface {
|
type FilterRepo interface {
|
||||||
FindByID(filterID int) (*Filter, error)
|
FindByID(filterID int) (*Filter, error)
|
||||||
FindFiltersForSite(site string) ([]Filter, error)
|
|
||||||
FindByIndexerIdentifier(indexer string) ([]Filter, error)
|
FindByIndexerIdentifier(indexer string) ([]Filter, error)
|
||||||
ListFilters() ([]Filter, error)
|
ListFilters() ([]Filter, error)
|
||||||
Store(filter Filter) (*Filter, error)
|
Store(filter Filter) (*Filter, error)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue