func()

in auth/import_users.go [208:252]


func (u *UserToImport) validatedUserInfo() (map[string]interface{}, error) {
	if len(u.params) == 0 {
		return nil, fmt.Errorf("no parameters are set on the user to import")
	}

	info := make(map[string]interface{})
	for k, v := range u.params {
		info[k] = v
	}

	if err := validateUID(info["localId"].(string)); err != nil {
		return nil, err
	}
	if email, ok := info["email"]; ok {
		if err := validateEmail(email.(string)); err != nil {
			return nil, err
		}
	}
	if phone, ok := info["phoneNumber"]; ok {
		if err := validatePhone(phone.(string)); err != nil {
			return nil, err
		}
	}

	if claims, ok := info["customClaims"]; ok {
		claimsMap := claims.(map[string]interface{})
		if len(claimsMap) > 0 {
			cc, err := marshalCustomClaims(claimsMap)
			if err != nil {
				return nil, err
			}
			info["customAttributes"] = cc
		}
		delete(info, "customClaims")
	}

	if providers, ok := info["providerUserInfo"]; ok {
		for _, p := range providers.([]*UserProvider) {
			if err := validateProviderUserInfo(p); err != nil {
				return nil, err
			}
		}
	}
	return info, nil
}