qinglong-go/models/Envs.go

59 lines
1.5 KiB
Go
Raw Normal View History

2022-11-16 10:20:07 +00:00
package models
import (
"time"
"xorm.io/builder"
)
type Envs struct {
Id int `xorm:"pk autoincr INTEGER" json:"id,omitempty"`
Value string `xorm:"TEXT" json:"value,omitempty"`
Timestamp string `xorm:"TEXT" json:"timestamp,omitempty"`
2023-02-03 04:43:37 +00:00
Status int `xorm:"TINYINT(1)" json:"status,omitempty"`
2022-11-16 10:20:07 +00:00
Position string `xorm:"TINYINT(1)" json:"position,omitempty"`
Name string `xorm:"TEXT" json:"name,omitempty"`
Remarks string `xorm:"TEXT" json:"remarks,omitempty"`
Createdat time.Time `xorm:"not null DATETIME created" json:"createdAt"`
Updatedat time.Time `xorm:"not null DATETIME updated" json:"updatedAt"`
}
func QueryEnv(searchValue string) ([]*Envs, error) {
envs := make([]*Envs, 0)
session := engine.Table(new(Envs)).
Where(
builder.Like{"name", "%" + searchValue + "%"}.
Or(builder.Like{"value", "%" + searchValue + "%"}).
Or(builder.Like{"remarks", "%" + searchValue + "%"}))
err := session.Find(&envs)
if err != nil {
return nil, err
}
return envs, err
}
func AddEnv(envs *Envs) (int, error) {
_, err := engine.Table(envs).Insert(envs)
if err != nil {
return 0, err
}
_, _ = engine.Where("name=? and value=?", envs.Name, envs.Value).Get(envs)
return envs.Id, err
}
func GetEnv(id int) (*Envs, error) {
env := new(Envs)
_, err := engine.ID(id).Get(env)
return env, err
}
func UpdateEnv(env *Envs) error {
_, err := engine.Table(env).ID(env.Id).AllCols().Update(env)
return err
}
func DeleteEnv(id int) error {
_, err := engine.Table(new(Envs)).Delete(&Envs{Id: id})
return err
}