1
0
Fork 0
mirror of https://github.com/binwiederhier/ntfy.git synced 2025-05-31 02:29:18 +02:00

Phone number verification in publishing

This commit is contained in:
binwiederhier 2023-05-15 20:42:43 -04:00
parent 69b01bc468
commit 4b9e0c5c38
4 changed files with 35 additions and 14 deletions

View file

@ -31,14 +31,27 @@ const (
</Response>`
)
func (s *Server) convertPhoneNumber(u *user.User, phoneNumber string) (string, error) {
func (s *Server) convertPhoneNumber(u *user.User, phoneNumber string) (string, *errHTTP) {
if u == nil {
return "", fmt.Errorf("user is nil")
return "", errHTTPBadRequestAnonymousCallsNotAllowed
}
if s.config.TwilioPhoneNumberConverter == nil {
phoneNumbers, err := s.userManager.PhoneNumbers(u.ID)
if err != nil {
return "", errHTTPInternalError
} else if len(phoneNumbers) == 0 {
return "", errHTTPBadRequestPhoneNumberNotVerified
}
if toBool(phoneNumber) {
return phoneNumbers[0], nil
} else if util.Contains(phoneNumbers, phoneNumber) {
return phoneNumber, nil
}
return s.config.TwilioPhoneNumberConverter(u, phoneNumber)
for _, p := range phoneNumbers {
if p == phoneNumber {
return phoneNumber, nil
}
}
return "", errHTTPBadRequestPhoneNumberNotVerified
}
func (s *Server) callPhone(v *visitor, r *http.Request, m *message, to string) {