refac: migration crash, real-database tests, site deleted during create, ruels out of the repo, lists
This commit is contained in:
1 parent
680b9a1308
commit
9d284e65a9
62 files changed
+1858
-987
No files matched your search
@@ -0,0 +1,36 @@
|
||||
package useCases
|
||||
|
||||
import (
|
||||
"RenewCMS/internal/domain/language"
|
||||
"RenewCMS/internal/domain/transaction"
|
||||
"context"
|
||||
)
|
||||
|
||||
type ConfirmDefaultLanguageUseCase struct {
|
||||
transactor transaction.Transactor
|
||||
}
|
||||
|
||||
func NewConfirmDefaultLanguageUseCase(transactor transaction.Transactor) *ConfirmDefaultLanguageUseCase {
|
||||
return &ConfirmDefaultLanguageUseCase{transactor}
|
||||
}
|
||||
|
||||
func (u *ConfirmDefaultLanguageUseCase) Confirm(ctx context.Context, siteID uint32) error {
|
||||
return u.transactor.Run(ctx, func(tx transaction.Repositories) error {
|
||||
languages, err := tx.Languages.LockSiteLanguages(siteID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defaultLanguage, found := language.DefaultOf(languages)
|
||||
if !found {
|
||||
return language.ErrNoDefaultLanguage
|
||||
}
|
||||
if defaultLanguage.Confirmed {
|
||||
return nil
|
||||
}
|
||||
if err := tx.Languages.MarkConfirmed(siteID, defaultLanguage.Tag); err != nil {
|
||||
return err
|
||||
}
|
||||
_, err = tx.Articles.AssignUnassignedLanguage(siteID, defaultLanguage.Tag)
|
||||
return err
|
||||
})
|
||||
}
|
||||
Reference in new issue
Block a user