feat: download tmdb img & change name_cn

This commit is contained in:
Simon Ding
2024-07-14 11:59:06 +08:00
parent 294ab45218
commit 32787c5ed3
21 changed files with 197 additions and 192 deletions

View File

@@ -90,8 +90,8 @@ var (
{Name: "id", Type: field.TypeInt, Increment: true},
{Name: "tmdb_id", Type: field.TypeInt},
{Name: "imdb_id", Type: field.TypeString, Nullable: true},
{Name: "name", Type: field.TypeString},
{Name: "name_en", Type: field.TypeString, Nullable: true},
{Name: "name_cn", Type: field.TypeString},
{Name: "name_en", Type: field.TypeString},
{Name: "original_name", Type: field.TypeString},
{Name: "overview", Type: field.TypeString},
{Name: "poster_path", Type: field.TypeString, Nullable: true},

View File

@@ -2974,7 +2974,7 @@ type SeriesMutation struct {
tmdb_id *int
addtmdb_id *int
imdb_id *string
name *string
name_cn *string
name_en *string
original_name *string
overview *string
@@ -3196,40 +3196,40 @@ func (m *SeriesMutation) ResetImdbID() {
delete(m.clearedFields, series.FieldImdbID)
}
// SetName sets the "name" field.
func (m *SeriesMutation) SetName(s string) {
m.name = &s
// SetNameCn sets the "name_cn" field.
func (m *SeriesMutation) SetNameCn(s string) {
m.name_cn = &s
}
// Name returns the value of the "name" field in the mutation.
func (m *SeriesMutation) Name() (r string, exists bool) {
v := m.name
// NameCn returns the value of the "name_cn" field in the mutation.
func (m *SeriesMutation) NameCn() (r string, exists bool) {
v := m.name_cn
if v == nil {
return
}
return *v, true
}
// OldName returns the old "name" field's value of the Series entity.
// OldNameCn returns the old "name_cn" field's value of the Series entity.
// If the Series object wasn't provided to the builder, the object is fetched from the database.
// An error is returned if the mutation operation is not UpdateOne, or the database query fails.
func (m *SeriesMutation) OldName(ctx context.Context) (v string, err error) {
func (m *SeriesMutation) OldNameCn(ctx context.Context) (v string, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldName is only allowed on UpdateOne operations")
return v, errors.New("OldNameCn is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldName requires an ID field in the mutation")
return v, errors.New("OldNameCn requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldName: %w", err)
return v, fmt.Errorf("querying old value for OldNameCn: %w", err)
}
return oldValue.Name, nil
return oldValue.NameCn, nil
}
// ResetName resets all changes to the "name" field.
func (m *SeriesMutation) ResetName() {
m.name = nil
// ResetNameCn resets all changes to the "name_cn" field.
func (m *SeriesMutation) ResetNameCn() {
m.name_cn = nil
}
// SetNameEn sets the "name_en" field.
@@ -3263,22 +3263,9 @@ func (m *SeriesMutation) OldNameEn(ctx context.Context) (v string, err error) {
return oldValue.NameEn, nil
}
// ClearNameEn clears the value of the "name_en" field.
func (m *SeriesMutation) ClearNameEn() {
m.name_en = nil
m.clearedFields[series.FieldNameEn] = struct{}{}
}
// NameEnCleared returns if the "name_en" field was cleared in this mutation.
func (m *SeriesMutation) NameEnCleared() bool {
_, ok := m.clearedFields[series.FieldNameEn]
return ok
}
// ResetNameEn resets all changes to the "name_en" field.
func (m *SeriesMutation) ResetNameEn() {
m.name_en = nil
delete(m.clearedFields, series.FieldNameEn)
}
// SetOriginalName sets the "original_name" field.
@@ -3675,8 +3662,8 @@ func (m *SeriesMutation) Fields() []string {
if m.imdb_id != nil {
fields = append(fields, series.FieldImdbID)
}
if m.name != nil {
fields = append(fields, series.FieldName)
if m.name_cn != nil {
fields = append(fields, series.FieldNameCn)
}
if m.name_en != nil {
fields = append(fields, series.FieldNameEn)
@@ -3714,8 +3701,8 @@ func (m *SeriesMutation) Field(name string) (ent.Value, bool) {
return m.TmdbID()
case series.FieldImdbID:
return m.ImdbID()
case series.FieldName:
return m.Name()
case series.FieldNameCn:
return m.NameCn()
case series.FieldNameEn:
return m.NameEn()
case series.FieldOriginalName:
@@ -3745,8 +3732,8 @@ func (m *SeriesMutation) OldField(ctx context.Context, name string) (ent.Value,
return m.OldTmdbID(ctx)
case series.FieldImdbID:
return m.OldImdbID(ctx)
case series.FieldName:
return m.OldName(ctx)
case series.FieldNameCn:
return m.OldNameCn(ctx)
case series.FieldNameEn:
return m.OldNameEn(ctx)
case series.FieldOriginalName:
@@ -3786,12 +3773,12 @@ func (m *SeriesMutation) SetField(name string, value ent.Value) error {
}
m.SetImdbID(v)
return nil
case series.FieldName:
case series.FieldNameCn:
v, ok := value.(string)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetName(v)
m.SetNameCn(v)
return nil
case series.FieldNameEn:
v, ok := value.(string)
@@ -3909,9 +3896,6 @@ func (m *SeriesMutation) ClearedFields() []string {
if m.FieldCleared(series.FieldImdbID) {
fields = append(fields, series.FieldImdbID)
}
if m.FieldCleared(series.FieldNameEn) {
fields = append(fields, series.FieldNameEn)
}
if m.FieldCleared(series.FieldPosterPath) {
fields = append(fields, series.FieldPosterPath)
}
@@ -3935,9 +3919,6 @@ func (m *SeriesMutation) ClearField(name string) error {
case series.FieldImdbID:
m.ClearImdbID()
return nil
case series.FieldNameEn:
m.ClearNameEn()
return nil
case series.FieldPosterPath:
m.ClearPosterPath()
return nil
@@ -3958,8 +3939,8 @@ func (m *SeriesMutation) ResetField(name string) error {
case series.FieldImdbID:
m.ResetImdbID()
return nil
case series.FieldName:
m.ResetName()
case series.FieldNameCn:
m.ResetNameCn()
return nil
case series.FieldNameEn:
m.ResetNameEn()

View File

@@ -18,8 +18,8 @@ func (Series) Fields() []ent.Field {
return []ent.Field{
field.Int("tmdb_id"),
field.String("imdb_id").Optional(),
field.String("name"),
field.String("name_en").Optional(),
field.String("name_cn"),
field.String("name_en"),
field.String("original_name"),
field.String("overview"),
field.String("poster_path").Optional(),

View File

@@ -21,8 +21,8 @@ type Series struct {
TmdbID int `json:"tmdb_id,omitempty"`
// ImdbID holds the value of the "imdb_id" field.
ImdbID string `json:"imdb_id,omitempty"`
// Name holds the value of the "name" field.
Name string `json:"name,omitempty"`
// NameCn holds the value of the "name_cn" field.
NameCn string `json:"name_cn,omitempty"`
// NameEn holds the value of the "name_en" field.
NameEn string `json:"name_en,omitempty"`
// OriginalName holds the value of the "original_name" field.
@@ -70,7 +70,7 @@ func (*Series) scanValues(columns []string) ([]any, error) {
switch columns[i] {
case series.FieldID, series.FieldTmdbID, series.FieldStorageID:
values[i] = new(sql.NullInt64)
case series.FieldImdbID, series.FieldName, series.FieldNameEn, series.FieldOriginalName, series.FieldOverview, series.FieldPosterPath, series.FieldAirDate, series.FieldResolution:
case series.FieldImdbID, series.FieldNameCn, series.FieldNameEn, series.FieldOriginalName, series.FieldOverview, series.FieldPosterPath, series.FieldAirDate, series.FieldResolution:
values[i] = new(sql.NullString)
case series.FieldCreatedAt:
values[i] = new(sql.NullTime)
@@ -107,11 +107,11 @@ func (s *Series) assignValues(columns []string, values []any) error {
} else if value.Valid {
s.ImdbID = value.String
}
case series.FieldName:
case series.FieldNameCn:
if value, ok := values[i].(*sql.NullString); !ok {
return fmt.Errorf("unexpected type %T for field name", values[i])
return fmt.Errorf("unexpected type %T for field name_cn", values[i])
} else if value.Valid {
s.Name = value.String
s.NameCn = value.String
}
case series.FieldNameEn:
if value, ok := values[i].(*sql.NullString); !ok {
@@ -208,8 +208,8 @@ func (s *Series) String() string {
builder.WriteString("imdb_id=")
builder.WriteString(s.ImdbID)
builder.WriteString(", ")
builder.WriteString("name=")
builder.WriteString(s.Name)
builder.WriteString("name_cn=")
builder.WriteString(s.NameCn)
builder.WriteString(", ")
builder.WriteString("name_en=")
builder.WriteString(s.NameEn)

View File

@@ -18,8 +18,8 @@ const (
FieldTmdbID = "tmdb_id"
// FieldImdbID holds the string denoting the imdb_id field in the database.
FieldImdbID = "imdb_id"
// FieldName holds the string denoting the name field in the database.
FieldName = "name"
// FieldNameCn holds the string denoting the name_cn field in the database.
FieldNameCn = "name_cn"
// FieldNameEn holds the string denoting the name_en field in the database.
FieldNameEn = "name_en"
// FieldOriginalName holds the string denoting the original_name field in the database.
@@ -54,7 +54,7 @@ var Columns = []string{
FieldID,
FieldTmdbID,
FieldImdbID,
FieldName,
FieldNameCn,
FieldNameEn,
FieldOriginalName,
FieldOverview,
@@ -102,9 +102,9 @@ func ByImdbID(opts ...sql.OrderTermOption) OrderOption {
return sql.OrderByField(FieldImdbID, opts...).ToFunc()
}
// ByName orders the results by the name field.
func ByName(opts ...sql.OrderTermOption) OrderOption {
return sql.OrderByField(FieldName, opts...).ToFunc()
// ByNameCn orders the results by the name_cn field.
func ByNameCn(opts ...sql.OrderTermOption) OrderOption {
return sql.OrderByField(FieldNameCn, opts...).ToFunc()
}
// ByNameEn orders the results by the name_en field.

View File

@@ -65,9 +65,9 @@ func ImdbID(v string) predicate.Series {
return predicate.Series(sql.FieldEQ(FieldImdbID, v))
}
// Name applies equality check predicate on the "name" field. It's identical to NameEQ.
func Name(v string) predicate.Series {
return predicate.Series(sql.FieldEQ(FieldName, v))
// NameCn applies equality check predicate on the "name_cn" field. It's identical to NameCnEQ.
func NameCn(v string) predicate.Series {
return predicate.Series(sql.FieldEQ(FieldNameCn, v))
}
// NameEn applies equality check predicate on the "name_en" field. It's identical to NameEnEQ.
@@ -225,69 +225,69 @@ func ImdbIDContainsFold(v string) predicate.Series {
return predicate.Series(sql.FieldContainsFold(FieldImdbID, v))
}
// NameEQ applies the EQ predicate on the "name" field.
func NameEQ(v string) predicate.Series {
return predicate.Series(sql.FieldEQ(FieldName, v))
// NameCnEQ applies the EQ predicate on the "name_cn" field.
func NameCnEQ(v string) predicate.Series {
return predicate.Series(sql.FieldEQ(FieldNameCn, v))
}
// NameNEQ applies the NEQ predicate on the "name" field.
func NameNEQ(v string) predicate.Series {
return predicate.Series(sql.FieldNEQ(FieldName, v))
// NameCnNEQ applies the NEQ predicate on the "name_cn" field.
func NameCnNEQ(v string) predicate.Series {
return predicate.Series(sql.FieldNEQ(FieldNameCn, v))
}
// NameIn applies the In predicate on the "name" field.
func NameIn(vs ...string) predicate.Series {
return predicate.Series(sql.FieldIn(FieldName, vs...))
// NameCnIn applies the In predicate on the "name_cn" field.
func NameCnIn(vs ...string) predicate.Series {
return predicate.Series(sql.FieldIn(FieldNameCn, vs...))
}
// NameNotIn applies the NotIn predicate on the "name" field.
func NameNotIn(vs ...string) predicate.Series {
return predicate.Series(sql.FieldNotIn(FieldName, vs...))
// NameCnNotIn applies the NotIn predicate on the "name_cn" field.
func NameCnNotIn(vs ...string) predicate.Series {
return predicate.Series(sql.FieldNotIn(FieldNameCn, vs...))
}
// NameGT applies the GT predicate on the "name" field.
func NameGT(v string) predicate.Series {
return predicate.Series(sql.FieldGT(FieldName, v))
// NameCnGT applies the GT predicate on the "name_cn" field.
func NameCnGT(v string) predicate.Series {
return predicate.Series(sql.FieldGT(FieldNameCn, v))
}
// NameGTE applies the GTE predicate on the "name" field.
func NameGTE(v string) predicate.Series {
return predicate.Series(sql.FieldGTE(FieldName, v))
// NameCnGTE applies the GTE predicate on the "name_cn" field.
func NameCnGTE(v string) predicate.Series {
return predicate.Series(sql.FieldGTE(FieldNameCn, v))
}
// NameLT applies the LT predicate on the "name" field.
func NameLT(v string) predicate.Series {
return predicate.Series(sql.FieldLT(FieldName, v))
// NameCnLT applies the LT predicate on the "name_cn" field.
func NameCnLT(v string) predicate.Series {
return predicate.Series(sql.FieldLT(FieldNameCn, v))
}
// NameLTE applies the LTE predicate on the "name" field.
func NameLTE(v string) predicate.Series {
return predicate.Series(sql.FieldLTE(FieldName, v))
// NameCnLTE applies the LTE predicate on the "name_cn" field.
func NameCnLTE(v string) predicate.Series {
return predicate.Series(sql.FieldLTE(FieldNameCn, v))
}
// NameContains applies the Contains predicate on the "name" field.
func NameContains(v string) predicate.Series {
return predicate.Series(sql.FieldContains(FieldName, v))
// NameCnContains applies the Contains predicate on the "name_cn" field.
func NameCnContains(v string) predicate.Series {
return predicate.Series(sql.FieldContains(FieldNameCn, v))
}
// NameHasPrefix applies the HasPrefix predicate on the "name" field.
func NameHasPrefix(v string) predicate.Series {
return predicate.Series(sql.FieldHasPrefix(FieldName, v))
// NameCnHasPrefix applies the HasPrefix predicate on the "name_cn" field.
func NameCnHasPrefix(v string) predicate.Series {
return predicate.Series(sql.FieldHasPrefix(FieldNameCn, v))
}
// NameHasSuffix applies the HasSuffix predicate on the "name" field.
func NameHasSuffix(v string) predicate.Series {
return predicate.Series(sql.FieldHasSuffix(FieldName, v))
// NameCnHasSuffix applies the HasSuffix predicate on the "name_cn" field.
func NameCnHasSuffix(v string) predicate.Series {
return predicate.Series(sql.FieldHasSuffix(FieldNameCn, v))
}
// NameEqualFold applies the EqualFold predicate on the "name" field.
func NameEqualFold(v string) predicate.Series {
return predicate.Series(sql.FieldEqualFold(FieldName, v))
// NameCnEqualFold applies the EqualFold predicate on the "name_cn" field.
func NameCnEqualFold(v string) predicate.Series {
return predicate.Series(sql.FieldEqualFold(FieldNameCn, v))
}
// NameContainsFold applies the ContainsFold predicate on the "name" field.
func NameContainsFold(v string) predicate.Series {
return predicate.Series(sql.FieldContainsFold(FieldName, v))
// NameCnContainsFold applies the ContainsFold predicate on the "name_cn" field.
func NameCnContainsFold(v string) predicate.Series {
return predicate.Series(sql.FieldContainsFold(FieldNameCn, v))
}
// NameEnEQ applies the EQ predicate on the "name_en" field.
@@ -345,16 +345,6 @@ func NameEnHasSuffix(v string) predicate.Series {
return predicate.Series(sql.FieldHasSuffix(FieldNameEn, v))
}
// NameEnIsNil applies the IsNil predicate on the "name_en" field.
func NameEnIsNil() predicate.Series {
return predicate.Series(sql.FieldIsNull(FieldNameEn))
}
// NameEnNotNil applies the NotNil predicate on the "name_en" field.
func NameEnNotNil() predicate.Series {
return predicate.Series(sql.FieldNotNull(FieldNameEn))
}
// NameEnEqualFold applies the EqualFold predicate on the "name_en" field.
func NameEnEqualFold(v string) predicate.Series {
return predicate.Series(sql.FieldEqualFold(FieldNameEn, v))

View File

@@ -41,9 +41,9 @@ func (sc *SeriesCreate) SetNillableImdbID(s *string) *SeriesCreate {
return sc
}
// SetName sets the "name" field.
func (sc *SeriesCreate) SetName(s string) *SeriesCreate {
sc.mutation.SetName(s)
// SetNameCn sets the "name_cn" field.
func (sc *SeriesCreate) SetNameCn(s string) *SeriesCreate {
sc.mutation.SetNameCn(s)
return sc
}
@@ -53,14 +53,6 @@ func (sc *SeriesCreate) SetNameEn(s string) *SeriesCreate {
return sc
}
// SetNillableNameEn sets the "name_en" field if the given value is not nil.
func (sc *SeriesCreate) SetNillableNameEn(s *string) *SeriesCreate {
if s != nil {
sc.SetNameEn(*s)
}
return sc
}
// SetOriginalName sets the "original_name" field.
func (sc *SeriesCreate) SetOriginalName(s string) *SeriesCreate {
sc.mutation.SetOriginalName(s)
@@ -212,8 +204,11 @@ func (sc *SeriesCreate) check() error {
if _, ok := sc.mutation.TmdbID(); !ok {
return &ValidationError{Name: "tmdb_id", err: errors.New(`ent: missing required field "Series.tmdb_id"`)}
}
if _, ok := sc.mutation.Name(); !ok {
return &ValidationError{Name: "name", err: errors.New(`ent: missing required field "Series.name"`)}
if _, ok := sc.mutation.NameCn(); !ok {
return &ValidationError{Name: "name_cn", err: errors.New(`ent: missing required field "Series.name_cn"`)}
}
if _, ok := sc.mutation.NameEn(); !ok {
return &ValidationError{Name: "name_en", err: errors.New(`ent: missing required field "Series.name_en"`)}
}
if _, ok := sc.mutation.OriginalName(); !ok {
return &ValidationError{Name: "original_name", err: errors.New(`ent: missing required field "Series.original_name"`)}
@@ -264,9 +259,9 @@ func (sc *SeriesCreate) createSpec() (*Series, *sqlgraph.CreateSpec) {
_spec.SetField(series.FieldImdbID, field.TypeString, value)
_node.ImdbID = value
}
if value, ok := sc.mutation.Name(); ok {
_spec.SetField(series.FieldName, field.TypeString, value)
_node.Name = value
if value, ok := sc.mutation.NameCn(); ok {
_spec.SetField(series.FieldNameCn, field.TypeString, value)
_node.NameCn = value
}
if value, ok := sc.mutation.NameEn(); ok {
_spec.SetField(series.FieldNameEn, field.TypeString, value)

View File

@@ -70,16 +70,16 @@ func (su *SeriesUpdate) ClearImdbID() *SeriesUpdate {
return su
}
// SetName sets the "name" field.
func (su *SeriesUpdate) SetName(s string) *SeriesUpdate {
su.mutation.SetName(s)
// SetNameCn sets the "name_cn" field.
func (su *SeriesUpdate) SetNameCn(s string) *SeriesUpdate {
su.mutation.SetNameCn(s)
return su
}
// SetNillableName sets the "name" field if the given value is not nil.
func (su *SeriesUpdate) SetNillableName(s *string) *SeriesUpdate {
// SetNillableNameCn sets the "name_cn" field if the given value is not nil.
func (su *SeriesUpdate) SetNillableNameCn(s *string) *SeriesUpdate {
if s != nil {
su.SetName(*s)
su.SetNameCn(*s)
}
return su
}
@@ -98,12 +98,6 @@ func (su *SeriesUpdate) SetNillableNameEn(s *string) *SeriesUpdate {
return su
}
// ClearNameEn clears the value of the "name_en" field.
func (su *SeriesUpdate) ClearNameEn() *SeriesUpdate {
su.mutation.ClearNameEn()
return su
}
// SetOriginalName sets the "original_name" field.
func (su *SeriesUpdate) SetOriginalName(s string) *SeriesUpdate {
su.mutation.SetOriginalName(s)
@@ -310,15 +304,12 @@ func (su *SeriesUpdate) sqlSave(ctx context.Context) (n int, err error) {
if su.mutation.ImdbIDCleared() {
_spec.ClearField(series.FieldImdbID, field.TypeString)
}
if value, ok := su.mutation.Name(); ok {
_spec.SetField(series.FieldName, field.TypeString, value)
if value, ok := su.mutation.NameCn(); ok {
_spec.SetField(series.FieldNameCn, field.TypeString, value)
}
if value, ok := su.mutation.NameEn(); ok {
_spec.SetField(series.FieldNameEn, field.TypeString, value)
}
if su.mutation.NameEnCleared() {
_spec.ClearField(series.FieldNameEn, field.TypeString)
}
if value, ok := su.mutation.OriginalName(); ok {
_spec.SetField(series.FieldOriginalName, field.TypeString, value)
}
@@ -455,16 +446,16 @@ func (suo *SeriesUpdateOne) ClearImdbID() *SeriesUpdateOne {
return suo
}
// SetName sets the "name" field.
func (suo *SeriesUpdateOne) SetName(s string) *SeriesUpdateOne {
suo.mutation.SetName(s)
// SetNameCn sets the "name_cn" field.
func (suo *SeriesUpdateOne) SetNameCn(s string) *SeriesUpdateOne {
suo.mutation.SetNameCn(s)
return suo
}
// SetNillableName sets the "name" field if the given value is not nil.
func (suo *SeriesUpdateOne) SetNillableName(s *string) *SeriesUpdateOne {
// SetNillableNameCn sets the "name_cn" field if the given value is not nil.
func (suo *SeriesUpdateOne) SetNillableNameCn(s *string) *SeriesUpdateOne {
if s != nil {
suo.SetName(*s)
suo.SetNameCn(*s)
}
return suo
}
@@ -483,12 +474,6 @@ func (suo *SeriesUpdateOne) SetNillableNameEn(s *string) *SeriesUpdateOne {
return suo
}
// ClearNameEn clears the value of the "name_en" field.
func (suo *SeriesUpdateOne) ClearNameEn() *SeriesUpdateOne {
suo.mutation.ClearNameEn()
return suo
}
// SetOriginalName sets the "original_name" field.
func (suo *SeriesUpdateOne) SetOriginalName(s string) *SeriesUpdateOne {
suo.mutation.SetOriginalName(s)
@@ -725,15 +710,12 @@ func (suo *SeriesUpdateOne) sqlSave(ctx context.Context) (_node *Series, err err
if suo.mutation.ImdbIDCleared() {
_spec.ClearField(series.FieldImdbID, field.TypeString)
}
if value, ok := suo.mutation.Name(); ok {
_spec.SetField(series.FieldName, field.TypeString, value)
if value, ok := suo.mutation.NameCn(); ok {
_spec.SetField(series.FieldNameCn, field.TypeString, value)
}
if value, ok := suo.mutation.NameEn(); ok {
_spec.SetField(series.FieldNameEn, field.TypeString, value)
}
if suo.mutation.NameEnCleared() {
_spec.ClearField(series.FieldNameEn, field.TypeString)
}
if value, ok := suo.mutation.OriginalName(); ok {
_spec.SetField(series.FieldOriginalName, field.TypeString, value)
}