feat: add movie tracking feature

This commit is contained in:
Simon Ding
2024-07-16 14:20:25 +08:00
parent 547db5dd4a
commit 81ebcb4870
56 changed files with 4562 additions and 3977 deletions

View File

@@ -14,8 +14,8 @@ const (
Label = "episode"
// FieldID holds the string denoting the id field in the database.
FieldID = "id"
// FieldSeriesID holds the string denoting the series_id field in the database.
FieldSeriesID = "series_id"
// FieldMediaID holds the string denoting the media_id field in the database.
FieldMediaID = "media_id"
// FieldSeasonNumber holds the string denoting the season_number field in the database.
FieldSeasonNumber = "season_number"
// FieldEpisodeNumber holds the string denoting the episode_number field in the database.
@@ -30,23 +30,23 @@ const (
FieldStatus = "status"
// FieldFileInStorage holds the string denoting the file_in_storage field in the database.
FieldFileInStorage = "file_in_storage"
// EdgeSeries holds the string denoting the series edge name in mutations.
EdgeSeries = "series"
// EdgeMedia holds the string denoting the media edge name in mutations.
EdgeMedia = "media"
// Table holds the table name of the episode in the database.
Table = "episodes"
// SeriesTable is the table that holds the series relation/edge.
SeriesTable = "episodes"
// SeriesInverseTable is the table name for the Series entity.
// It exists in this package in order to avoid circular dependency with the "series" package.
SeriesInverseTable = "series"
// SeriesColumn is the table column denoting the series relation/edge.
SeriesColumn = "series_id"
// MediaTable is the table that holds the media relation/edge.
MediaTable = "episodes"
// MediaInverseTable is the table name for the Media entity.
// It exists in this package in order to avoid circular dependency with the "media" package.
MediaInverseTable = "media"
// MediaColumn is the table column denoting the media relation/edge.
MediaColumn = "media_id"
)
// Columns holds all SQL columns for episode fields.
var Columns = []string{
FieldID,
FieldSeriesID,
FieldMediaID,
FieldSeasonNumber,
FieldEpisodeNumber,
FieldTitle,
@@ -101,9 +101,9 @@ func ByID(opts ...sql.OrderTermOption) OrderOption {
return sql.OrderByField(FieldID, opts...).ToFunc()
}
// BySeriesID orders the results by the series_id field.
func BySeriesID(opts ...sql.OrderTermOption) OrderOption {
return sql.OrderByField(FieldSeriesID, opts...).ToFunc()
// ByMediaID orders the results by the media_id field.
func ByMediaID(opts ...sql.OrderTermOption) OrderOption {
return sql.OrderByField(FieldMediaID, opts...).ToFunc()
}
// BySeasonNumber orders the results by the season_number field.
@@ -141,16 +141,16 @@ func ByFileInStorage(opts ...sql.OrderTermOption) OrderOption {
return sql.OrderByField(FieldFileInStorage, opts...).ToFunc()
}
// BySeriesField orders the results by series field.
func BySeriesField(field string, opts ...sql.OrderTermOption) OrderOption {
// ByMediaField orders the results by media field.
func ByMediaField(field string, opts ...sql.OrderTermOption) OrderOption {
return func(s *sql.Selector) {
sqlgraph.OrderByNeighborTerms(s, newSeriesStep(), sql.OrderByField(field, opts...))
sqlgraph.OrderByNeighborTerms(s, newMediaStep(), sql.OrderByField(field, opts...))
}
}
func newSeriesStep() *sqlgraph.Step {
func newMediaStep() *sqlgraph.Step {
return sqlgraph.NewStep(
sqlgraph.From(Table, FieldID),
sqlgraph.To(SeriesInverseTable, FieldID),
sqlgraph.Edge(sqlgraph.M2O, true, SeriesTable, SeriesColumn),
sqlgraph.To(MediaInverseTable, FieldID),
sqlgraph.Edge(sqlgraph.M2O, true, MediaTable, MediaColumn),
)
}

View File

@@ -54,9 +54,9 @@ func IDLTE(id int) predicate.Episode {
return predicate.Episode(sql.FieldLTE(FieldID, id))
}
// SeriesID applies equality check predicate on the "series_id" field. It's identical to SeriesIDEQ.
func SeriesID(v int) predicate.Episode {
return predicate.Episode(sql.FieldEQ(FieldSeriesID, v))
// MediaID applies equality check predicate on the "media_id" field. It's identical to MediaIDEQ.
func MediaID(v int) predicate.Episode {
return predicate.Episode(sql.FieldEQ(FieldMediaID, v))
}
// SeasonNumber applies equality check predicate on the "season_number" field. It's identical to SeasonNumberEQ.
@@ -89,34 +89,34 @@ func FileInStorage(v string) predicate.Episode {
return predicate.Episode(sql.FieldEQ(FieldFileInStorage, v))
}
// SeriesIDEQ applies the EQ predicate on the "series_id" field.
func SeriesIDEQ(v int) predicate.Episode {
return predicate.Episode(sql.FieldEQ(FieldSeriesID, v))
// MediaIDEQ applies the EQ predicate on the "media_id" field.
func MediaIDEQ(v int) predicate.Episode {
return predicate.Episode(sql.FieldEQ(FieldMediaID, v))
}
// SeriesIDNEQ applies the NEQ predicate on the "series_id" field.
func SeriesIDNEQ(v int) predicate.Episode {
return predicate.Episode(sql.FieldNEQ(FieldSeriesID, v))
// MediaIDNEQ applies the NEQ predicate on the "media_id" field.
func MediaIDNEQ(v int) predicate.Episode {
return predicate.Episode(sql.FieldNEQ(FieldMediaID, v))
}
// SeriesIDIn applies the In predicate on the "series_id" field.
func SeriesIDIn(vs ...int) predicate.Episode {
return predicate.Episode(sql.FieldIn(FieldSeriesID, vs...))
// MediaIDIn applies the In predicate on the "media_id" field.
func MediaIDIn(vs ...int) predicate.Episode {
return predicate.Episode(sql.FieldIn(FieldMediaID, vs...))
}
// SeriesIDNotIn applies the NotIn predicate on the "series_id" field.
func SeriesIDNotIn(vs ...int) predicate.Episode {
return predicate.Episode(sql.FieldNotIn(FieldSeriesID, vs...))
// MediaIDNotIn applies the NotIn predicate on the "media_id" field.
func MediaIDNotIn(vs ...int) predicate.Episode {
return predicate.Episode(sql.FieldNotIn(FieldMediaID, vs...))
}
// SeriesIDIsNil applies the IsNil predicate on the "series_id" field.
func SeriesIDIsNil() predicate.Episode {
return predicate.Episode(sql.FieldIsNull(FieldSeriesID))
// MediaIDIsNil applies the IsNil predicate on the "media_id" field.
func MediaIDIsNil() predicate.Episode {
return predicate.Episode(sql.FieldIsNull(FieldMediaID))
}
// SeriesIDNotNil applies the NotNil predicate on the "series_id" field.
func SeriesIDNotNil() predicate.Episode {
return predicate.Episode(sql.FieldNotNull(FieldSeriesID))
// MediaIDNotNil applies the NotNil predicate on the "media_id" field.
func MediaIDNotNil() predicate.Episode {
return predicate.Episode(sql.FieldNotNull(FieldMediaID))
}
// SeasonNumberEQ applies the EQ predicate on the "season_number" field.
@@ -489,21 +489,21 @@ func FileInStorageContainsFold(v string) predicate.Episode {
return predicate.Episode(sql.FieldContainsFold(FieldFileInStorage, v))
}
// HasSeries applies the HasEdge predicate on the "series" edge.
func HasSeries() predicate.Episode {
// HasMedia applies the HasEdge predicate on the "media" edge.
func HasMedia() predicate.Episode {
return predicate.Episode(func(s *sql.Selector) {
step := sqlgraph.NewStep(
sqlgraph.From(Table, FieldID),
sqlgraph.Edge(sqlgraph.M2O, true, SeriesTable, SeriesColumn),
sqlgraph.Edge(sqlgraph.M2O, true, MediaTable, MediaColumn),
)
sqlgraph.HasNeighbors(s, step)
})
}
// HasSeriesWith applies the HasEdge predicate on the "series" edge with a given conditions (other predicates).
func HasSeriesWith(preds ...predicate.Series) predicate.Episode {
// HasMediaWith applies the HasEdge predicate on the "media" edge with a given conditions (other predicates).
func HasMediaWith(preds ...predicate.Media) predicate.Episode {
return predicate.Episode(func(s *sql.Selector) {
step := newSeriesStep()
step := newMediaStep()
sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) {
for _, p := range preds {
p(s)