Smail/server/services/del_email/del_email.go
Jinnrry 2660fc7b13
V2.4.7 (#112)
1、添加单测用例
2、mysql初始化bug修复
3、邮件删除bug修复
2024-04-30 14:43:37 +08:00

36 lines
714 B
Go

package del_email
import (
"pmail/db"
"pmail/models"
"pmail/services/auth"
"pmail/utils/context"
"pmail/utils/errors"
"xorm.io/builder"
)
func DelEmail(ctx *context.Context, ids []int) error {
var emails []*models.Email
err := db.Instance.Table("email").Where(builder.In("id", ids)).Find(&emails)
if err != nil {
return errors.Wrap(err)
}
for _, email := range emails {
// 检查是否有权限
hasAuth := auth.HasAuth(ctx, email)
if !hasAuth {
return errors.New("No Auth!")
}
email.Status = 3
}
_, err = db.Instance.Table("email").Where(builder.In("id", ids)).Cols("status").Update(map[string]interface{}{"status": 3})
if err != nil {
return errors.Wrap(err)
}
return nil
}