Put does InsertOrUpdate

This commit is contained in:
6543 2023-02-10 05:24:26 +01:00
parent 1b6ea4b6e1
commit de175da42d
1 changed files with 17 additions and 2 deletions

View File

@ -57,8 +57,23 @@ func (x xDB) Put(domain string, cert *certificate.Resource) error {
return err
}
_, err = x.engine.Insert(c)
return err
sess := x.engine.NewSession()
if err := sess.Begin(); err != nil {
return err
}
defer sess.Close()
if exist, _ := sess.ID(c.Domain).Exist(); exist {
if _, err := sess.ID(c.Domain).Update(c); err != nil {
return err
}
} else {
if _, err = sess.Insert(c); err != nil {
return err
}
}
return sess.Commit()
}
func (x xDB) Get(domain string) (*certificate.Resource, error) {