33 lines
585 B
Go
33 lines
585 B
Go
package business
|
|
|
|
import (
|
|
"errors"
|
|
kratoserrors "github.com/go-kratos/kratos/v3/errors"
|
|
"gorm.io/gorm"
|
|
"kra/internal/biz/business"
|
|
)
|
|
|
|
func storageError(err error) error {
|
|
if err == nil {
|
|
return nil
|
|
}
|
|
var typed *kratoserrors.Error
|
|
if errors.As(err, &typed) {
|
|
return err
|
|
}
|
|
return business.ErrStorage
|
|
}
|
|
|
|
func businessTableAvailable(db *gorm.DB, name string) (bool, error) {
|
|
tables, err := db.Migrator().GetTables()
|
|
if err != nil {
|
|
return false, business.ErrStorage
|
|
}
|
|
for _, table := range tables {
|
|
if table == name {
|
|
return true, nil
|
|
}
|
|
}
|
|
return false, nil
|
|
}
|