78 lines
2.0 KiB
Go
78 lines
2.0 KiB
Go
|
package v2
|
||
|
|
||
|
import (
|
||
|
"database/sql"
|
||
|
|
||
|
"go-common/app/infra/config/model"
|
||
|
"go-common/library/ecode"
|
||
|
"go-common/library/log"
|
||
|
)
|
||
|
|
||
|
// BuildsByAppID get builds by app id.
|
||
|
func (d *Dao) BuildsByAppID(appID int64) (builds []string, err error) {
|
||
|
var rows *sql.Rows
|
||
|
if rows, err = d.DB.Select("name").Model(&model.Build{}).Where("app_id = ? ", appID).Rows(); err != nil {
|
||
|
log.Error("BuildsByAppID(%v) error(%v)", appID, err)
|
||
|
return
|
||
|
}
|
||
|
defer rows.Close()
|
||
|
for rows.Next() {
|
||
|
var build string
|
||
|
if err = rows.Scan(&build); err != nil {
|
||
|
log.Error("BuildsByAppID(%v) error(%v)", appID, err)
|
||
|
return
|
||
|
}
|
||
|
builds = append(builds, build)
|
||
|
}
|
||
|
if len(builds) == 0 {
|
||
|
err = ecode.NothingFound
|
||
|
}
|
||
|
return
|
||
|
}
|
||
|
|
||
|
// BuildsByAppIDs get builds by app id.
|
||
|
func (d *Dao) BuildsByAppIDs(appIDs []int64) (builds []string, err error) {
|
||
|
var rows *sql.Rows
|
||
|
if rows, err = d.DB.Select("name").Model(&model.Build{}).Where("app_id in (?) ", appIDs).Rows(); err != nil {
|
||
|
log.Error("BuildsByAppIDs(%v) error(%v)", appIDs, err)
|
||
|
return
|
||
|
}
|
||
|
defer rows.Close()
|
||
|
for rows.Next() {
|
||
|
var build string
|
||
|
if err = rows.Scan(&build); err != nil {
|
||
|
log.Error("BuildsByAppIDs(%v) error(%v)", appIDs, err)
|
||
|
return
|
||
|
}
|
||
|
builds = append(builds, build)
|
||
|
}
|
||
|
if len(builds) == 0 {
|
||
|
err = ecode.NothingFound
|
||
|
}
|
||
|
return
|
||
|
}
|
||
|
|
||
|
// TagID get TagID by ID.
|
||
|
func (d *Dao) TagID(appID int64, build string) (tagID int64, err error) {
|
||
|
row := d.DB.Select("tag_id").Where("app_id =? and name= ?", appID, build).Model(&model.Build{}).Row()
|
||
|
if err = row.Scan(&tagID); err != nil {
|
||
|
log.Error("TagID(%v) error(%v)", build, err)
|
||
|
if err == sql.ErrNoRows {
|
||
|
err = ecode.NothingFound
|
||
|
}
|
||
|
}
|
||
|
return
|
||
|
}
|
||
|
|
||
|
// BuildID get build by ID.
|
||
|
func (d *Dao) BuildID(appID int64, build string) (buildID int64, err error) {
|
||
|
row := d.DB.Select("id").Where("app_id =? and name= ?", appID, build).Model(&model.Build{}).Row()
|
||
|
if err = row.Scan(&buildID); err != nil {
|
||
|
log.Error("buildID(%v) error(%v)", buildID, err)
|
||
|
if err == sql.ErrNoRows {
|
||
|
err = ecode.NothingFound
|
||
|
}
|
||
|
}
|
||
|
return
|
||
|
}
|