(r *http.Request, params *OtpParams)
| 209 | } |
| 210 | |
| 211 | func (a *API) shouldCreateUser(r *http.Request, params *OtpParams) (bool, error) { |
| 212 | ctx := r.Context() |
| 213 | db := a.db.WithContext(ctx) |
| 214 | |
| 215 | if !params.CreateUser { |
| 216 | ctx := r.Context() |
| 217 | aud := a.requestAud(ctx, r) |
| 218 | var err error |
| 219 | if params.Email != "" { |
| 220 | params.Email, err = a.validateEmail(params.Email) |
| 221 | if err != nil { |
| 222 | return false, err |
| 223 | } |
| 224 | _, err = models.FindUserByEmailAndAudience(db, params.Email, aud) |
| 225 | } else if params.Phone != "" { |
| 226 | params.Phone, err = validatePhone(params.Phone) |
| 227 | if err != nil { |
| 228 | return false, err |
| 229 | } |
| 230 | _, err = models.FindUserByPhoneAndAudience(db, params.Phone, aud) |
| 231 | } |
| 232 | |
| 233 | if err != nil && models.IsNotFoundError(err) { |
| 234 | return false, nil |
| 235 | } |
| 236 | } |
| 237 | return true, nil |
| 238 | } |
no test coverage detected