| 123456789101112131415161718192021222324252627282930313233 |
- package auth
- import (
- log "github.com/sirupsen/logrus"
- "pmail/dto"
- "pmail/models"
- "pmail/mysql"
- "strings"
- )
- // HasAuth 检查当前用户是否有某个邮件的auth
- func HasAuth(ctx *dto.Context, email *models.Email) bool {
- // 获取当前用户的auth
- var auth []models.UserAuth
- err := mysql.Instance.Select(&auth, mysql.WithContext(ctx, "select * from user_auth where user_id = ?"), ctx.UserInfo.ID)
- if err != nil {
- log.WithContext(ctx).Errorf("SQL error:%+v", err)
- return false
- }
- var hasAuth bool
- for _, userAuth := range auth {
- if userAuth.EmailAccount == "*" {
- hasAuth = true
- break
- } else if strings.Contains(email.Bcc, ctx.UserInfo.Account) || strings.Contains(email.Cc, ctx.UserInfo.Account) || strings.Contains(email.To, ctx.UserInfo.Account) {
- hasAuth = true
- break
- }
- }
- return hasAuth
- }
|