mirror of
https://github.com/stashapp/stash.git
synced 2025-12-18 04:44:37 +03:00
Use changesets correctly when updating objects (#976)
This commit is contained in:
@@ -220,7 +220,30 @@ func (_m *PerformerReaderWriter) GetPerformerImage(performerID int) ([]byte, err
|
||||
}
|
||||
|
||||
// Update provides a mock function with given fields: updatedPerformer
|
||||
func (_m *PerformerReaderWriter) Update(updatedPerformer models.Performer) (*models.Performer, error) {
|
||||
func (_m *PerformerReaderWriter) Update(updatedPerformer models.PerformerPartial) (*models.Performer, error) {
|
||||
ret := _m.Called(updatedPerformer)
|
||||
|
||||
var r0 *models.Performer
|
||||
if rf, ok := ret.Get(0).(func(models.PerformerPartial) *models.Performer); ok {
|
||||
r0 = rf(updatedPerformer)
|
||||
} else {
|
||||
if ret.Get(0) != nil {
|
||||
r0 = ret.Get(0).(*models.Performer)
|
||||
}
|
||||
}
|
||||
|
||||
var r1 error
|
||||
if rf, ok := ret.Get(1).(func(models.PerformerPartial) error); ok {
|
||||
r1 = rf(updatedPerformer)
|
||||
} else {
|
||||
r1 = ret.Error(1)
|
||||
}
|
||||
|
||||
return r0, r1
|
||||
}
|
||||
|
||||
// UpdateFull provides a mock function with given fields: updatedPerformer
|
||||
func (_m *PerformerReaderWriter) UpdateFull(updatedPerformer models.Performer) (*models.Performer, error) {
|
||||
ret := _m.Called(updatedPerformer)
|
||||
|
||||
var r0 *models.Performer
|
||||
|
||||
@@ -31,6 +31,30 @@ type Performer struct {
|
||||
UpdatedAt SQLiteTimestamp `db:"updated_at" json:"updated_at"`
|
||||
}
|
||||
|
||||
type PerformerPartial struct {
|
||||
ID int `db:"id" json:"id"`
|
||||
Checksum *string `db:"checksum" json:"checksum"`
|
||||
Name *sql.NullString `db:"name" json:"name"`
|
||||
Gender *sql.NullString `db:"gender" json:"gender"`
|
||||
URL *sql.NullString `db:"url" json:"url"`
|
||||
Twitter *sql.NullString `db:"twitter" json:"twitter"`
|
||||
Instagram *sql.NullString `db:"instagram" json:"instagram"`
|
||||
Birthdate *SQLiteDate `db:"birthdate" json:"birthdate"`
|
||||
Ethnicity *sql.NullString `db:"ethnicity" json:"ethnicity"`
|
||||
Country *sql.NullString `db:"country" json:"country"`
|
||||
EyeColor *sql.NullString `db:"eye_color" json:"eye_color"`
|
||||
Height *sql.NullString `db:"height" json:"height"`
|
||||
Measurements *sql.NullString `db:"measurements" json:"measurements"`
|
||||
FakeTits *sql.NullString `db:"fake_tits" json:"fake_tits"`
|
||||
CareerLength *sql.NullString `db:"career_length" json:"career_length"`
|
||||
Tattoos *sql.NullString `db:"tattoos" json:"tattoos"`
|
||||
Piercings *sql.NullString `db:"piercings" json:"piercings"`
|
||||
Aliases *sql.NullString `db:"aliases" json:"aliases"`
|
||||
Favorite *sql.NullBool `db:"favorite" json:"favorite"`
|
||||
CreatedAt *SQLiteTimestamp `db:"created_at" json:"created_at"`
|
||||
UpdatedAt *SQLiteTimestamp `db:"updated_at" json:"updated_at"`
|
||||
}
|
||||
|
||||
func NewPerformer(name string) *Performer {
|
||||
currentTime := time.Now()
|
||||
return &Performer{
|
||||
|
||||
@@ -21,7 +21,8 @@ type PerformerReader interface {
|
||||
|
||||
type PerformerWriter interface {
|
||||
Create(newPerformer Performer) (*Performer, error)
|
||||
Update(updatedPerformer Performer) (*Performer, error)
|
||||
Update(updatedPerformer PerformerPartial) (*Performer, error)
|
||||
UpdateFull(updatedPerformer Performer) (*Performer, error)
|
||||
// Destroy(id string) error
|
||||
UpdatePerformerImage(performerID int, image []byte) error
|
||||
// DestroyPerformerImage(performerID int) error
|
||||
@@ -80,10 +81,14 @@ func (t *performerReaderWriter) Create(newPerformer Performer) (*Performer, erro
|
||||
return t.qb.Create(newPerformer, t.tx)
|
||||
}
|
||||
|
||||
func (t *performerReaderWriter) Update(updatedPerformer Performer) (*Performer, error) {
|
||||
func (t *performerReaderWriter) Update(updatedPerformer PerformerPartial) (*Performer, error) {
|
||||
return t.qb.Update(updatedPerformer, t.tx)
|
||||
}
|
||||
|
||||
func (t *performerReaderWriter) UpdateFull(updatedPerformer Performer) (*Performer, error) {
|
||||
return t.qb.UpdateFull(updatedPerformer, t.tx)
|
||||
}
|
||||
|
||||
func (t *performerReaderWriter) UpdatePerformerImage(performerID int, image []byte) error {
|
||||
return t.qb.UpdatePerformerImage(performerID, image, t.tx)
|
||||
}
|
||||
|
||||
@@ -42,7 +42,24 @@ func (qb *PerformerQueryBuilder) Create(newPerformer Performer, tx *sqlx.Tx) (*P
|
||||
return &newPerformer, nil
|
||||
}
|
||||
|
||||
func (qb *PerformerQueryBuilder) Update(updatedPerformer Performer, tx *sqlx.Tx) (*Performer, error) {
|
||||
func (qb *PerformerQueryBuilder) Update(updatedPerformer PerformerPartial, tx *sqlx.Tx) (*Performer, error) {
|
||||
ensureTx(tx)
|
||||
_, err := tx.NamedExec(
|
||||
`UPDATE performers SET `+SQLGenKeysPartial(updatedPerformer)+` WHERE performers.id = :id`,
|
||||
updatedPerformer,
|
||||
)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var ret Performer
|
||||
if err := tx.Get(&ret, `SELECT * FROM performers WHERE id = ? LIMIT 1`, updatedPerformer.ID); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &ret, nil
|
||||
}
|
||||
|
||||
func (qb *PerformerQueryBuilder) UpdateFull(updatedPerformer Performer, tx *sqlx.Tx) (*Performer, error) {
|
||||
ensureTx(tx)
|
||||
_, err := tx.NamedExec(
|
||||
`UPDATE performers SET `+SQLGenKeys(updatedPerformer)+` WHERE performers.id = :id`,
|
||||
|
||||
Reference in New Issue
Block a user