mirror of
https://github.com/profullstack/agentbbs.git
synced 2026-08-13 22:37:28 +00:00
fix(sites): roll back failed domain claims (#119)
* test(sites): reproduce stale failed domain claims Signed-off-by: RissRIce <jsdavid278@gmail.com> * fix(sites): roll back failed domain claims Signed-off-by: RissRIce <jsdavid278@gmail.com> --------- Signed-off-by: RissRIce <jsdavid278@gmail.com>
This commit is contained in:
parent
5a1f5d90db
commit
4b815eaab8
3 changed files with 87 additions and 10 deletions
|
|
@ -72,10 +72,19 @@ func (m *Manager) Add(domain, username string) (string, error) {
|
|||
if !Valid(domain) {
|
||||
return "", ErrInvalidDomain
|
||||
}
|
||||
if err := m.st.MapDomain(domain, username); err != nil {
|
||||
created, err := m.st.MapDomain(domain, username)
|
||||
if err != nil {
|
||||
return domain, err
|
||||
}
|
||||
return domain, m.link(domain, username)
|
||||
if err := m.link(domain, username); err != nil {
|
||||
if created {
|
||||
if rollbackErr := m.st.UnmapDomain(domain, username); rollbackErr != nil {
|
||||
return domain, errors.Join(err, rollbackErr)
|
||||
}
|
||||
}
|
||||
return domain, err
|
||||
}
|
||||
return domain, nil
|
||||
}
|
||||
|
||||
// Remove unmaps a domain owned by username (DB row + symlink).
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue