diff --git a/flexiapi/README.md b/flexiapi/README.md index 23d050c..4864ba9 100644 --- a/flexiapi/README.md +++ b/flexiapi/README.md @@ -113,7 +113,9 @@ FlexiAPI needs an empty database to run its migration. The following console com php artisan db:import {old_dbname} {old_sqlite_file_path?} --username={old_username} --password={old_password} -You can also specify the `port`, `host` and `database type` as a parameter, as well as the table name for the accounts (default `accounts`), passwords (default `passwords`) and aliases (default `aliases`). +Several other parameters are also available to customize the migration process, you can list them all using the command documentation. + + php artisan -h db:import ### Clear Expired Nonces for DIGEST authentication diff --git a/flexiapi/app/ActivationExpiration.php b/flexiapi/app/ActivationExpiration.php index 651ef2e..4ec9a27 100644 --- a/flexiapi/app/ActivationExpiration.php +++ b/flexiapi/app/ActivationExpiration.php @@ -1,4 +1,21 @@ . +*/ namespace App; diff --git a/flexiapi/app/Http/Controllers/Account/AccountController.php b/flexiapi/app/Http/Controllers/Account/AccountController.php index a6507c6..7e98e51 100644 --- a/flexiapi/app/Http/Controllers/Account/AccountController.php +++ b/flexiapi/app/Http/Controllers/Account/AccountController.php @@ -22,7 +22,6 @@ namespace App\Http\Controllers\Account; use App\Http\Controllers\Controller; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; -use Illuminate\Support\Str; use App\Account; diff --git a/flexiapi/app/Http/Controllers/Account/ProvisioningController.php b/flexiapi/app/Http/Controllers/Account/ProvisioningController.php index fce1811..e5d8795 100644 --- a/flexiapi/app/Http/Controllers/Account/ProvisioningController.php +++ b/flexiapi/app/Http/Controllers/Account/ProvisioningController.php @@ -1,4 +1,21 @@ . +*/ namespace App\Http\Controllers\Account; diff --git a/flexiapi/app/Http/Controllers/Admin/AccountController.php b/flexiapi/app/Http/Controllers/Admin/AccountController.php index ee8fac3..82a5c6e 100644 --- a/flexiapi/app/Http/Controllers/Admin/AccountController.php +++ b/flexiapi/app/Http/Controllers/Admin/AccountController.php @@ -94,6 +94,23 @@ class AccountController extends Controller return redirect()->back(); } + public function delete(Request $request, $id) + { + return view('admin.account.delete', [ + 'account' => Account::findOrFail($id) + ]); + } + + public function destroy(Request $request) + { + $account = Account::findOrFail($request->get('account_id')); + $account->delete(); + + $request->session()->flash('success', 'Account successfully destroyed'); + + return redirect()->route('admin.account.index'); + } + public function generateApiKey(Request $request) { $account = $request->user(); diff --git a/flexiapi/app/Http/Controllers/Api/EmailController.php b/flexiapi/app/Http/Controllers/Api/EmailController.php index ddf1620..d48cfbe 100644 --- a/flexiapi/app/Http/Controllers/Api/EmailController.php +++ b/flexiapi/app/Http/Controllers/Api/EmailController.php @@ -1,4 +1,21 @@ . +*/ namespace App\Http\Controllers\Api; diff --git a/flexiapi/app/Http/Controllers/Api/PasswordController.php b/flexiapi/app/Http/Controllers/Api/PasswordController.php index b39165e..6d9a39d 100644 --- a/flexiapi/app/Http/Controllers/Api/PasswordController.php +++ b/flexiapi/app/Http/Controllers/Api/PasswordController.php @@ -1,4 +1,21 @@ . +*/ namespace App\Http\Controllers\Api; diff --git a/flexiapi/app/Http/Controllers/Api/TokenController.php b/flexiapi/app/Http/Controllers/Api/TokenController.php index f46795b..6139e5e 100644 --- a/flexiapi/app/Http/Controllers/Api/TokenController.php +++ b/flexiapi/app/Http/Controllers/Api/TokenController.php @@ -1,4 +1,21 @@ . +*/ namespace App\Http\Controllers\Api; diff --git a/flexiapi/app/Mail/ChangedEmail.php b/flexiapi/app/Mail/ChangedEmail.php index e59dea0..7588efa 100644 --- a/flexiapi/app/Mail/ChangedEmail.php +++ b/flexiapi/app/Mail/ChangedEmail.php @@ -20,12 +20,9 @@ namespace App\Mail; use Illuminate\Bus\Queueable; -use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Mail\Mailable; use Illuminate\Queue\SerializesModels; -use App\Account; - class ChangedEmail extends Mailable { use Queueable, SerializesModels; diff --git a/flexiapi/app/Mail/ChangingEmail.php b/flexiapi/app/Mail/ChangingEmail.php index 146610c..50d1f70 100644 --- a/flexiapi/app/Mail/ChangingEmail.php +++ b/flexiapi/app/Mail/ChangingEmail.php @@ -20,7 +20,6 @@ namespace App\Mail; use Illuminate\Bus\Queueable; -use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Mail\Mailable; use Illuminate\Queue\SerializesModels; diff --git a/flexiapi/app/Mail/ConfirmedRegistration.php b/flexiapi/app/Mail/ConfirmedRegistration.php index 29abf20..d62ef82 100644 --- a/flexiapi/app/Mail/ConfirmedRegistration.php +++ b/flexiapi/app/Mail/ConfirmedRegistration.php @@ -20,7 +20,6 @@ namespace App\Mail; use Illuminate\Bus\Queueable; -use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Mail\Mailable; use Illuminate\Queue\SerializesModels; diff --git a/flexiapi/app/Mail/NewsletterRegistration.php b/flexiapi/app/Mail/NewsletterRegistration.php index 6bb4fac..813c964 100644 --- a/flexiapi/app/Mail/NewsletterRegistration.php +++ b/flexiapi/app/Mail/NewsletterRegistration.php @@ -20,7 +20,6 @@ namespace App\Mail; use Illuminate\Bus\Queueable; -use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Mail\Mailable; use Illuminate\Queue\SerializesModels; diff --git a/flexiapi/app/Mail/PasswordAuthentication.php b/flexiapi/app/Mail/PasswordAuthentication.php index 2c8431f..17c9005 100644 --- a/flexiapi/app/Mail/PasswordAuthentication.php +++ b/flexiapi/app/Mail/PasswordAuthentication.php @@ -20,7 +20,6 @@ namespace App\Mail; use Illuminate\Bus\Queueable; -use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Mail\Mailable; use Illuminate\Queue\SerializesModels; diff --git a/flexiapi/app/Mail/RegisterConfirmation.php b/flexiapi/app/Mail/RegisterConfirmation.php index 80d9410..6ee5ffa 100644 --- a/flexiapi/app/Mail/RegisterConfirmation.php +++ b/flexiapi/app/Mail/RegisterConfirmation.php @@ -20,7 +20,6 @@ namespace App\Mail; use Illuminate\Bus\Queueable; -use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Mail\Mailable; use Illuminate\Queue\SerializesModels; diff --git a/flexiapi/app/PhoneChangeCode.php b/flexiapi/app/PhoneChangeCode.php index 803f449..0040372 100644 --- a/flexiapi/app/PhoneChangeCode.php +++ b/flexiapi/app/PhoneChangeCode.php @@ -1,4 +1,21 @@ . +*/ namespace App; diff --git a/flexiapi/app/Token.php b/flexiapi/app/Token.php index b37fecc..e4b0166 100644 --- a/flexiapi/app/Token.php +++ b/flexiapi/app/Token.php @@ -1,4 +1,21 @@ . +*/ namespace App; diff --git a/flexiapi/app/User.php b/flexiapi/app/User.php index a46fe4c..a54807d 100644 --- a/flexiapi/app/User.php +++ b/flexiapi/app/User.php @@ -20,7 +20,6 @@ namespace App; use Illuminate\Database\Eloquent\Factories\HasFactory; -use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; diff --git a/flexiapi/composer.json b/flexiapi/composer.json index 2383b0f..dbb6221 100644 --- a/flexiapi/composer.json +++ b/flexiapi/composer.json @@ -19,6 +19,7 @@ "parsedown/laravel": "^1.2" }, "require-dev": { + "barryvdh/laravel-debugbar": "^3.6", "facade/ignition": "^2.3", "fzaninotto/faker": "^1.9", "mockery/mockery": "^1.4", diff --git a/flexiapi/composer.lock b/flexiapi/composer.lock index 57fc0a7..78f2839 100644 --- a/flexiapi/composer.lock +++ b/flexiapi/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "ed070f83583e71617c9940d4cf7c08a3", + "content-hash": "3587c34f2b45c6c30d140797a60d50b4", "packages": [ { "name": "anhskohbo/no-captcha", @@ -5072,6 +5072,91 @@ } ], "packages-dev": [ + { + "name": "barryvdh/laravel-debugbar", + "version": "v3.6.2", + "source": { + "type": "git", + "url": "https://github.com/barryvdh/laravel-debugbar.git", + "reference": "70b89754913fd89fef16d0170a91dbc2a5cd633a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/70b89754913fd89fef16d0170a91dbc2a5cd633a", + "reference": "70b89754913fd89fef16d0170a91dbc2a5cd633a", + "shasum": "" + }, + "require": { + "illuminate/routing": "^6|^7|^8", + "illuminate/session": "^6|^7|^8", + "illuminate/support": "^6|^7|^8", + "maximebf/debugbar": "^1.16.3", + "php": ">=7.2", + "symfony/debug": "^4.3|^5", + "symfony/finder": "^4.3|^5" + }, + "require-dev": { + "mockery/mockery": "^1.3.3", + "orchestra/testbench-dusk": "^4|^5|^6", + "phpunit/phpunit": "^8.5|^9.0", + "squizlabs/php_codesniffer": "^3.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.5-dev" + }, + "laravel": { + "providers": [ + "Barryvdh\\Debugbar\\ServiceProvider" + ], + "aliases": { + "Debugbar": "Barryvdh\\Debugbar\\Facade" + } + } + }, + "autoload": { + "psr-4": { + "Barryvdh\\Debugbar\\": "src/" + }, + "files": [ + "src/helpers.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Barry vd. Heuvel", + "email": "barryvdh@gmail.com" + } + ], + "description": "PHP Debugbar integration for Laravel", + "keywords": [ + "debug", + "debugbar", + "laravel", + "profiler", + "webprofiler" + ], + "support": { + "issues": "https://github.com/barryvdh/laravel-debugbar/issues", + "source": "https://github.com/barryvdh/laravel-debugbar/tree/v3.6.2" + }, + "funding": [ + { + "url": "https://fruitcake.nl", + "type": "custom" + }, + { + "url": "https://github.com/barryvdh", + "type": "github" + } + ], + "time": "2021-06-14T14:29:26+00:00" + }, { "name": "doctrine/instantiator", "version": "1.4.0", @@ -5513,6 +5598,71 @@ }, "time": "2020-07-09T08:09:16+00:00" }, + { + "name": "maximebf/debugbar", + "version": "v1.16.5", + "source": { + "type": "git", + "url": "https://github.com/maximebf/php-debugbar.git", + "reference": "6d51ee9e94cff14412783785e79a4e7ef97b9d62" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/maximebf/php-debugbar/zipball/6d51ee9e94cff14412783785e79a4e7ef97b9d62", + "reference": "6d51ee9e94cff14412783785e79a4e7ef97b9d62", + "shasum": "" + }, + "require": { + "php": "^7.1|^8", + "psr/log": "^1.0", + "symfony/var-dumper": "^2.6|^3|^4|^5" + }, + "require-dev": { + "phpunit/phpunit": "^7.5.20 || ^9.4.2" + }, + "suggest": { + "kriswallsmith/assetic": "The best way to manage assets", + "monolog/monolog": "Log using Monolog", + "predis/predis": "Redis storage" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.16-dev" + } + }, + "autoload": { + "psr-4": { + "DebugBar\\": "src/DebugBar/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Maxime Bouroumeau-Fuseau", + "email": "maxime.bouroumeau@gmail.com", + "homepage": "http://maximebf.com" + }, + { + "name": "Barry vd. Heuvel", + "email": "barryvdh@gmail.com" + } + ], + "description": "Debug bar in the browser for php application", + "homepage": "https://github.com/maximebf/php-debugbar", + "keywords": [ + "debug", + "debugbar" + ], + "support": { + "issues": "https://github.com/maximebf/php-debugbar/issues", + "source": "https://github.com/maximebf/php-debugbar/tree/v1.16.5" + }, + "time": "2020-12-07T11:07:24+00:00" + }, { "name": "mockery/mockery", "version": "1.4.3", @@ -7452,6 +7602,75 @@ ], "time": "2020-09-28T06:39:44+00:00" }, + { + "name": "symfony/debug", + "version": "v4.4.25", + "source": { + "type": "git", + "url": "https://github.com/symfony/debug.git", + "reference": "a8d2d5c94438548bff9f998ca874e202bb29d07f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/debug/zipball/a8d2d5c94438548bff9f998ca874e202bb29d07f", + "reference": "a8d2d5c94438548bff9f998ca874e202bb29d07f", + "shasum": "" + }, + "require": { + "php": ">=7.1.3", + "psr/log": "~1.0", + "symfony/polyfill-php80": "^1.15" + }, + "conflict": { + "symfony/http-kernel": "<3.4" + }, + "require-dev": { + "symfony/http-kernel": "^3.4|^4.0|^5.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Debug\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides tools to ease debugging PHP code", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/debug/tree/v4.4.25" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-05-26T17:39:37+00:00" + }, { "name": "theseer/tokenizer", "version": "1.2.0", @@ -7512,5 +7731,5 @@ "php": "^7.3" }, "platform-dev": [], - "plugin-api-version": "2.1.0" + "plugin-api-version": "2.0.0" } diff --git a/flexiapi/composer.phar b/flexiapi/composer.phar index 825d304..0108ce7 100755 Binary files a/flexiapi/composer.phar and b/flexiapi/composer.phar differ diff --git a/flexiapi/database/migrations/2020_11_30_123051_create_aliases_table.php b/flexiapi/database/migrations/2020_11_30_123051_create_aliases_table.php index 03e9ccf..e526ed2 100644 --- a/flexiapi/database/migrations/2020_11_30_123051_create_aliases_table.php +++ b/flexiapi/database/migrations/2020_11_30_123051_create_aliases_table.php @@ -1,4 +1,21 @@ . +*/ use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; diff --git a/flexiapi/database/migrations/2021_02_10_160119_add_phone_change_codes_table.php b/flexiapi/database/migrations/2021_02_10_160119_add_phone_change_codes_table.php index d8d9981..0228afb 100644 --- a/flexiapi/database/migrations/2021_02_10_160119_add_phone_change_codes_table.php +++ b/flexiapi/database/migrations/2021_02_10_160119_add_phone_change_codes_table.php @@ -1,4 +1,21 @@ . +*/ use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; diff --git a/flexiapi/database/migrations/2021_02_23_152536_create_tokens_table.php b/flexiapi/database/migrations/2021_02_23_152536_create_tokens_table.php index 12b49a2..6bf8f08 100644 --- a/flexiapi/database/migrations/2021_02_23_152536_create_tokens_table.php +++ b/flexiapi/database/migrations/2021_02_23_152536_create_tokens_table.php @@ -1,4 +1,21 @@ . +*/ use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; diff --git a/flexiapi/database/migrations/2021_03_02_151353_create_activation_expirations_table.php b/flexiapi/database/migrations/2021_03_02_151353_create_activation_expirations_table.php index 937a5ab..df6b465 100644 --- a/flexiapi/database/migrations/2021_03_02_151353_create_activation_expirations_table.php +++ b/flexiapi/database/migrations/2021_03_02_151353_create_activation_expirations_table.php @@ -1,4 +1,21 @@ . +*/ use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; diff --git a/flexiapi/resources/views/admin/account/delete.blade.php b/flexiapi/resources/views/admin/account/delete.blade.php new file mode 100644 index 0000000..0459ffd --- /dev/null +++ b/flexiapi/resources/views/admin/account/delete.blade.php @@ -0,0 +1,24 @@ +@extends('layouts.account') + +@section('breadcrumb') + + +@endsection + +@section('content') + +

Delete an account

+ +{!! Form::open(['route' => 'admin.account.destroy', 'method' => 'delete']) !!} + +

You are going to permanently delete the following account account. Please confirm your action.

+

{{ $account->identifier }}

+ +{!! Form::hidden('account_id', $account->id) !!} + +{!! Form::submit('Delete', ['class' => 'btn btn-danger btn-centered']) !!} +{!! Form::close() !!} + +@endsection \ No newline at end of file diff --git a/flexiapi/resources/views/admin/account/index.blade.php b/flexiapi/resources/views/admin/account/index.blade.php index 30e8144..9f60537 100644 --- a/flexiapi/resources/views/admin/account/index.blade.php +++ b/flexiapi/resources/views/admin/account/index.blade.php @@ -29,31 +29,31 @@ # - Identifier - Email + Identifier (email) Created - Tags @foreach ($accounts as $account) - {{ $account->id }} - - {{ $account->identifier }} - {{ $account->email }} - {{ $account->creation_time}} - + {{ $account->id }} +
@if ($account->activated) Activated @else Unactivated @endif @if ($account->admin) - Admin +
Admin + @endif + + {{ $account->identifier }} + @if ($account->email) + ({{ $account->email }}) @endif + {{ $account->creation_time}} @endforeach diff --git a/flexiapi/resources/views/admin/account/show.blade.php b/flexiapi/resources/views/admin/account/show.blade.php index 46a8b0b..61d285e 100644 --- a/flexiapi/resources/views/admin/account/show.blade.php +++ b/flexiapi/resources/views/admin/account/show.blade.php @@ -33,10 +33,23 @@

@if ($account->admin) - Activated Remove admin role + Admin Remove admin role @else - Unactivated Add admin role + Not Admin Add admin role @endif

+Delete the account + +@if ($account->confirmation_key) +

Provisioning

+

Share the following picture with the user or the one-time-use link bellow.

+ +
+ +
+

The following link can only be visited once

+ +@endif + @endsection \ No newline at end of file diff --git a/flexiapi/routes/web.php b/flexiapi/routes/web.php index 8a950ae..ed0e7bf 100644 --- a/flexiapi/routes/web.php +++ b/flexiapi/routes/web.php @@ -73,4 +73,7 @@ Route::group(['middleware' => 'auth.admin'], function () { Route::get('admin/accounts/{id}/deactivate', 'Admin\AccountController@deactivate')->name('admin.account.deactivate'); Route::get('admin/accounts/{id}/admin', 'Admin\AccountController@admin')->name('admin.account.admin'); Route::get('admin/accounts/{id}/unadmin', 'Admin\AccountController@unadmin')->name('admin.account.unadmin'); + + Route::get('admin/accounts/{id}/delete', 'Admin\AccountController@delete')->name('admin.account.delete'); + Route::delete('admin/accounts', 'Admin\AccountController@destroy')->name('admin.account.destroy'); }); \ No newline at end of file diff --git a/flexisip-account-manager.spec b/flexisip-account-manager.spec index 199afcb..b5af33a 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 85 +%define build_number 86 %define var_dir /var/opt/belledonne-communications %define opt_dir /opt/belledonne-communications/share/flexisip-account-manager