Files
cloud-services/pkg/db/queries/swversion_rxswin.go

68 lines
1.6 KiB
Go

package queries
import (
"fiskerinc.com/modules/common"
"github.com/go-pg/pg/v10/orm"
"github.com/pkg/errors"
)
type SwVersionRxSwinInterface interface {
SelectByVersion(version string, options *PageQueryOptions) ([]common.SwVersionRxSwin, error)
SelectCountByVersion(version string) (int, error)
Insert(swVersionRxSwin *common.SwVersionRxSwin) (orm.Result, error)
Delete(model *common.SwVersionRxSwin) (orm.Result, error)
}
type SwVersionRxSwin struct {
QueryBase
}
func (svrs *SwVersionRxSwin) SelectByVersion(version string, options *PageQueryOptions) ([]common.SwVersionRxSwin, error) {
swVersionRxSwins := []common.SwVersionRxSwin{}
query := svrs.GetDBConn().Model(&swVersionRxSwins).Where("version = ?", version)
svrs.pageQuery(query, options)
err := query.Select()
return swVersionRxSwins, errors.WithStack(err)
}
func (svrs *SwVersionRxSwin) SelectCountByVersion(version string) (int, error) {
query := svrs.GetDBConn().Model(&[]common.SwVersionRxSwin{}).Where("version = ?", version)
return query.Count()
}
func (svrs *SwVersionRxSwin) Insert(swVersionRxSwin *common.SwVersionRxSwin) (orm.Result, error) {
return svrs.insert(swVersionRxSwin)
}
func (svrs *SwVersionRxSwin) Delete(model *common.SwVersionRxSwin) (orm.Result, error) {
var err error
total := &ORMResults{}
tx, err := svrs.GetDBConn().Begin()
if err != nil {
return total, err
}
defer func() {
if err != nil {
tx.Rollback()
}
tx.Close()
}()
result, err := tx.Model(model).WherePK().Delete()
if err != nil {
return total, err
}
total.AddResult(result)
err = tx.Commit()
if err != nil {
return total, err
}
return total, nil
}