mirror of
https://gitlab.linphone.org/BC/public/flexisip-account-manager.git
synced 2026-01-17 10:08:05 +00:00
Fix GH-15 Add password import from CSV
This commit is contained in:
parent
963a85bd5e
commit
1d29bac386
7 changed files with 50 additions and 19 deletions
|
|
@ -14,13 +14,13 @@ rocky9-deploy:
|
|||
- rocky9-package
|
||||
- rocky9-test
|
||||
|
||||
debian11-deploy:
|
||||
extends: .deploy
|
||||
script:
|
||||
- ./deploy_packages.sh debian bullseye
|
||||
needs:
|
||||
- debian11-package
|
||||
- debian11-test
|
||||
#debian11-deploy:
|
||||
# extends: .deploy
|
||||
# script:
|
||||
# - ./deploy_packages.sh debian bullseye
|
||||
# needs:
|
||||
# - debian11-package
|
||||
# - debian11-test
|
||||
|
||||
debian12-deploy:
|
||||
extends: .deploy
|
||||
|
|
|
|||
|
|
@ -16,9 +16,9 @@ rocky9-package:
|
|||
script:
|
||||
- make rpm-el9
|
||||
|
||||
debian11-package:
|
||||
extends: .debian_package
|
||||
image: gitlab.linphone.org:4567/bc/public/docker/debian11-php:$DEBIAN_11_IMAGE_VERSION
|
||||
#debian11-package:
|
||||
# extends: .debian_package
|
||||
# image: gitlab.linphone.org:4567/bc/public/docker/debian11-php:$DEBIAN_11_IMAGE_VERSION
|
||||
|
||||
debian12-package:
|
||||
extends: .debian_package
|
||||
|
|
|
|||
|
|
@ -21,11 +21,11 @@ rocky9-test:
|
|||
- php artisan key:generate
|
||||
- vendor/bin/phpunit --log-junit $CI_PROJECT_DIR/flexiapi_phpunit.log
|
||||
|
||||
debian11-test:
|
||||
extends: .debian-test
|
||||
image: gitlab.linphone.org:4567/bc/public/docker/debian11-php:$DEBIAN_11_IMAGE_VERSION
|
||||
needs:
|
||||
- debian11-package
|
||||
#debian11-test:
|
||||
# extends: .debian-test
|
||||
# image: gitlab.linphone.org:4567/bc/public/docker/debian11-php:$DEBIAN_11_IMAGE_VERSION
|
||||
# needs:
|
||||
# - debian11-package
|
||||
|
||||
debian12-test:
|
||||
extends: .debian-test
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
variables:
|
||||
ROCKY_8_IMAGE_VERSION: 20241112_111033_update_package_and_dependencies
|
||||
ROCKY_9_IMAGE_VERSION: 20241112_115442_add_php_sodium
|
||||
DEBIAN_11_IMAGE_VERSION: 20241112_113527_update_package_and_dependencies
|
||||
DEBIAN_12_IMAGE_VERSION: 20241112_113948_update_package_and_dependencies
|
||||
# DEBIAN_11_IMAGE_VERSION: 20241204_161845_update_download_linphone_org
|
||||
DEBIAN_12_IMAGE_VERSION: 20241204_162237_update_download_linphone_org
|
||||
PHP_REDIS_REMI_VERSION: php-pecl-redis5-5.3.6-1
|
||||
PHP_IGBINARY_REMI_VERSION: php-pecl-igbinary-3.2.14-1
|
||||
PHP_MSGPACK_REMI_VERSION: php-pecl-msgpack-2.2.0-1
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ v1.6
|
|||
- Fix FLEXIAPI-239 Ensure to return the correct error codes as stated in the RFC6750 section 3.1
|
||||
- Fix FLEXIAPI-238 Replace Material Icons with Phosphor
|
||||
- Fix FLEXIAPI-240 Update the Docker images
|
||||
- Fix GH-15 Add password import from CSV
|
||||
|
||||
v1.5
|
||||
---
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@
|
|||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Account;
|
||||
use App\Password;
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Support\Collection;
|
||||
use Illuminate\Http\Request;
|
||||
|
|
@ -166,7 +167,7 @@ class AccountImportController extends Controller
|
|||
$accounts = [];
|
||||
$now = \Carbon\Carbon::now();
|
||||
|
||||
$admins = $phones = [];
|
||||
$admins = $phones = $passwords = [];
|
||||
|
||||
foreach ($lines as $line) {
|
||||
if ($line->role == 'admin') {
|
||||
|
|
@ -177,6 +178,10 @@ class AccountImportController extends Controller
|
|||
$phones[$line->username] = $line->phone;
|
||||
}
|
||||
|
||||
if (!empty($line->password)) {
|
||||
$passwords[$line->username] = $line->password;
|
||||
}
|
||||
|
||||
array_push($accounts, [
|
||||
'username' => $line->username,
|
||||
'domain' => $request->get('domain'),
|
||||
|
|
@ -199,6 +204,31 @@ class AccountImportController extends Controller
|
|||
$account->admin = true;
|
||||
}
|
||||
|
||||
// Set passwords
|
||||
|
||||
$passwordsToInsert = [];
|
||||
|
||||
$passwordAccounts = Account::whereIn('username', array_keys($passwords))
|
||||
->where('domain', $request->get('domain'))
|
||||
->get();
|
||||
|
||||
$algorithm = config('app.account_default_password_algorithm');
|
||||
|
||||
foreach ($passwordAccounts as $passwordAccount) {
|
||||
array_push($passwordsToInsert, [
|
||||
'account_id' => $passwordAccount->id,
|
||||
'password' => bchash(
|
||||
$passwordAccount->username,
|
||||
config('app.account_realm') ?? $request->get('domain'),
|
||||
$passwords[$passwordAccount->username],
|
||||
$algorithm
|
||||
),
|
||||
'algorithm' => $algorithm
|
||||
]);
|
||||
}
|
||||
|
||||
Password::insert($passwordsToInsert);
|
||||
|
||||
// Set admins accounts
|
||||
foreach ($phones as $username => $phone) {
|
||||
$account = Account::where('username', $username)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
Username,Password,Role,Status,Phone,Email
|
||||
john,number9,user,active,+12341234,john@lennon.com
|
||||
paul,a_day_in_the_life,admin,active,,paul@apple.com
|
||||
ringo,allUneedIsL3ve,user,unactove,+123456,ringo@star.co.uk
|
||||
ringo,allUneedIsL3ve,user,unactive,+123456,ringo@star.co.uk
|
||||
|
Loading…
Add table
Reference in a new issue