You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
77 lines
2.0 KiB
77 lines
2.0 KiB
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 |
|
}
|
|
|