mirror of
https://github.com/GSA/notifications-api.git
synced 2025-12-14 01:02:09 -05:00
Save normalized phone format to DB
This commit is contained in:
@@ -36,6 +36,7 @@ from sqlalchemy.dialects.postgresql import JSON, JSONB, UUID
|
||||
from sqlalchemy.ext.associationproxy import association_proxy
|
||||
from sqlalchemy.ext.declarative import declared_attr
|
||||
from sqlalchemy.ext.hybrid import hybrid_property
|
||||
from sqlalchemy.orm import validates
|
||||
from sqlalchemy.orm.collections import attribute_mapped_collection
|
||||
|
||||
from app import db, encryption
|
||||
@@ -140,6 +141,14 @@ class User(db.Model):
|
||||
secondary='user_to_organisation',
|
||||
backref='users')
|
||||
|
||||
@validates("mobile_number")
|
||||
def validate_mobile_number(self, key, number):
|
||||
try:
|
||||
if number is not None:
|
||||
return validate_phone_number(number, international=True)
|
||||
except InvalidPhoneError as err:
|
||||
raise ValueError(str(err)) from err
|
||||
|
||||
@property
|
||||
def password(self):
|
||||
raise AttributeError("Password not readable")
|
||||
@@ -708,11 +717,9 @@ class ServiceGuestList(db.Model):
|
||||
|
||||
try:
|
||||
if recipient_type == MOBILE_TYPE:
|
||||
validate_phone_number(recipient, international=True)
|
||||
instance.recipient = recipient
|
||||
instance.recipient = validate_phone_number(recipient, international=True)
|
||||
elif recipient_type == EMAIL_TYPE:
|
||||
validate_email_address(recipient)
|
||||
instance.recipient = recipient
|
||||
instance.recipient = validate_email_address(recipient)
|
||||
else:
|
||||
raise ValueError('Invalid recipient type')
|
||||
except InvalidPhoneError:
|
||||
|
||||
Reference in New Issue
Block a user