Put does InsertOrUpdate

This commit is contained in:
6543 2023-02-10 05:24:26 +01:00
parent 1b6ea4b6e1
commit de175da42d

View file

@ -57,9 +57,24 @@ func (x xDB) Put(domain string, cert *certificate.Resource) error {
return err return err
} }
_, err = x.engine.Insert(c) sess := x.engine.NewSession()
if err := sess.Begin(); err != nil {
return err 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) { func (x xDB) Get(domain string) (*certificate.Resource, error) {
// TODO: do we need this or can we just go with domain name for wildcard cert // TODO: do we need this or can we just go with domain name for wildcard cert