From 68f325f2fdd4c6617c261222e3d93faeaca9c955 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timoth=C3=A9e=20Jaussoin?= Date: Tue, 9 Feb 2021 14:17:10 +0100 Subject: [PATCH] Set the same behavior between API and the main form, same username between different domains are allowed Bump package number --- .../Http/Controllers/Api/Admin/AccountController.php | 11 ++++++++++- flexisip-account-manager.spec | 2 +- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/flexiapi/app/Http/Controllers/Api/Admin/AccountController.php b/flexiapi/app/Http/Controllers/Api/Admin/AccountController.php index 9aeba4a..b7f2b11 100644 --- a/flexiapi/app/Http/Controllers/Api/Admin/AccountController.php +++ b/flexiapi/app/Http/Controllers/Api/Admin/AccountController.php @@ -22,10 +22,12 @@ namespace App\Http\Controllers\Api\Admin; use App\Http\Controllers\Controller; use Illuminate\Http\Request; use Illuminate\Support\Str; +use Illuminate\Validation\Rule; use Carbon\Carbon; use App\Account; use App\Password; +use App\Rules\WithoutSpaces; use App\Helpers\Utils; use App\Http\Controllers\Account\AuthenticateController as WebAuthenticateController; @@ -68,7 +70,14 @@ class AccountController extends Controller public function store(Request $request) { $request->validate([ - 'username' => 'required|unique:external.accounts,username|filled', + 'username' => [ + 'required', + Rule::unique('external.accounts', 'username')->where(function ($query) use ($request) { + $query->where('domain', config('app.sip_domain')); + }), + 'filled', + new WithoutSpaces + ], 'algorithm' => 'required|in:SHA-256,MD5', 'password' => 'required|filled', 'domain' => 'min:3', diff --git a/flexisip-account-manager.spec b/flexisip-account-manager.spec index b376dc4..0c8756a 100644 --- a/flexisip-account-manager.spec +++ b/flexisip-account-manager.spec @@ -8,7 +8,7 @@ #%define _datadir %{_datarootdir} #%define _docdir %{_datadir}/doc -%define build_number 46 +%define build_number 47 %define var_dir /var/opt/belledonne-communications %define opt_dir /opt/belledonne-communications/share/flexisip-account-manager %define env_file "$RPM_BUILD_ROOT/etc/flexisip-account-manager/flexiapi.env"