fix: canonicalize phone numbers as E.164
This commit is contained in:
@@ -1684,7 +1684,12 @@ func (a *adapter) UserCreate(user *t.User) error {
|
||||
}
|
||||
var phone any
|
||||
if strings.TrimSpace(user.Phone) != "" {
|
||||
phone = strings.TrimSpace(user.Phone)
|
||||
canonicalPhone, err := normalizeUserPhone(user.Phone)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
user.Phone = canonicalPhone
|
||||
phone = canonicalPhone
|
||||
}
|
||||
if _, err = tx.Exec("INSERT INTO im_users(id,createdat,updatedat,state,access,phone,public,trusted) VALUES(?,?,?,?,?,?,?,?)",
|
||||
decoded_uid,
|
||||
@@ -3891,6 +3896,15 @@ func (a *adapter) DeviceDelete(uid t.Uid, deviceID string) error {
|
||||
// 2.4 Insert new credential record.
|
||||
func (a *adapter) CredUpsert(cred *t.Credential) (bool, error) {
|
||||
var err error
|
||||
if cred == nil {
|
||||
return false, t.ErrMalformed
|
||||
}
|
||||
if cred.Method == "tel" {
|
||||
cred.Value, err = normalizeUserPhone(cred.Value)
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
}
|
||||
|
||||
ctx, cancel := a.getContextForTx()
|
||||
if cancel != nil {
|
||||
|
||||
Reference in New Issue
Block a user