From ad69828d6088598651b02d95eec67b4a347486da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timoth=C3=A9e=20Jaussoin?= Date: Mon, 10 May 2021 17:07:35 +0200 Subject: [PATCH] Use the external DB configuration as the local DB configuration by default This allows admin to store all the tables in one unique DB --- flexiapi/.env.example | 4 +-- flexiapi/README.md | 9 +++++-- flexiapi/composer.lock | 46 +++++++++++++++++----------------- flexiapi/composer.phar | Bin 2200574 -> 2216568 bytes flexiapi/config/database.php | 10 ++++++-- flexisip-account-manager.spec | 2 +- 6 files changed, 41 insertions(+), 30 deletions(-) diff --git a/flexiapi/.env.example b/flexiapi/.env.example index dbf1138..17ad82a 100644 --- a/flexiapi/.env.example +++ b/flexiapi/.env.example @@ -28,8 +28,8 @@ PRIVACY_POLICY_URL= # A URL pointing to the Privacy Policy LOG_CHANNEL=stack -# Local FlexiAPI database -DB_DATABASE=/var/www/flexiapi/db.sqlite +# Local FlexiAPI database, deprecated, the external database is used +# DB_DATABASE=/var/www/flexiapi/db.sqlite # External FlexiSIP database DB_EXTERNAL_DRIVER=mysql diff --git a/flexiapi/README.md b/flexiapi/README.md index 0344c42..308659d 100644 --- a/flexiapi/README.md +++ b/flexiapi/README.md @@ -17,11 +17,16 @@ Clone the repository, install the dependencies and generate a key. composer install --no-dev php artisan key:generate -Then configure the two databases connections in the `.env` file (from the `.env.example` one). And migrate the tables. +Then configure the database connection in the `.env` file (from the `.env.example` one). And migrate the tables. php artisan migrate -The local one (that is by default using SQLite) is used to store authentications sessions. The remote one should be configured to connect directly to the Flexisip database. +FlexiAPI can store its local tables in a separate SQLite database. To enable it uncomment and complete the following configuration in the .env file + + # DB_DRIVER=sqlite + # DB_DATABASE=/home/edhelas/Repositories/flexisip-account-manager/flexiapi/storage/db.sqlite + +By default both local and remote data are stored in the Flexisip account database. You can configure it using the `DB_EXTERNAL_*` parameters in the `.env` file. You can also run the test suit using `phpunit`. diff --git a/flexiapi/composer.lock b/flexiapi/composer.lock index 58f8749..e6f29eb 100644 --- a/flexiapi/composer.lock +++ b/flexiapi/composer.lock @@ -1115,16 +1115,16 @@ }, { "name": "league/commonmark", - "version": "1.6.0", + "version": "1.6.1", "source": { "type": "git", "url": "https://github.com/thephpleague/commonmark.git", - "reference": "19a9673b833cc37770439097b381d86cd125bfe8" + "reference": "2651c497f005de305c7ba3f232cbd87b8c00ee8c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/19a9673b833cc37770439097b381d86cd125bfe8", - "reference": "19a9673b833cc37770439097b381d86cd125bfe8", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/2651c497f005de305c7ba3f232cbd87b8c00ee8c", + "reference": "2651c497f005de305c7ba3f232cbd87b8c00ee8c", "shasum": "" }, "require": { @@ -1212,7 +1212,7 @@ "type": "tidelift" } ], - "time": "2021-05-01T19:00:49+00:00" + "time": "2021-05-08T16:08:00+00:00" }, { "name": "league/flysystem", @@ -1556,16 +1556,16 @@ }, { "name": "nikic/php-parser", - "version": "v4.10.4", + "version": "v4.10.5", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "c6d052fc58cb876152f89f532b95a8d7907e7f0e" + "reference": "4432ba399e47c66624bc73c8c0f811e5c109576f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/c6d052fc58cb876152f89f532b95a8d7907e7f0e", - "reference": "c6d052fc58cb876152f89f532b95a8d7907e7f0e", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/4432ba399e47c66624bc73c8c0f811e5c109576f", + "reference": "4432ba399e47c66624bc73c8c0f811e5c109576f", "shasum": "" }, "require": { @@ -1606,9 +1606,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.10.4" + "source": "https://github.com/nikic/PHP-Parser/tree/v4.10.5" }, - "time": "2020-12-20T10:01:03+00:00" + "time": "2021-05-03T19:11:20+00:00" }, { "name": "opis/closure", @@ -1998,16 +1998,16 @@ }, { "name": "psr/log", - "version": "1.1.3", + "version": "1.1.4", "source": { "type": "git", "url": "https://github.com/php-fig/log.git", - "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc" + "reference": "d49695b909c3b7628b6289db5479a1c204601f11" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc", - "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc", + "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11", + "reference": "d49695b909c3b7628b6289db5479a1c204601f11", "shasum": "" }, "require": { @@ -2031,7 +2031,7 @@ "authors": [ { "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "homepage": "https://www.php-fig.org/" } ], "description": "Common interface for logging libraries", @@ -2042,9 +2042,9 @@ "psr-3" ], "support": { - "source": "https://github.com/php-fig/log/tree/1.1.3" + "source": "https://github.com/php-fig/log/tree/1.1.4" }, - "time": "2020-03-23T09:12:05+00:00" + "time": "2021-05-03T11:20:27+00:00" }, { "name": "psr/simple-cache", @@ -5033,16 +5033,16 @@ }, { "name": "facade/ignition", - "version": "2.8.4", + "version": "2.9.0", "source": { "type": "git", "url": "https://github.com/facade/ignition.git", - "reference": "87fb348dab0ae1a7c206c3e902a5a44ba541742f" + "reference": "e7db3b601ce742568b92648818ef903904d20164" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/facade/ignition/zipball/87fb348dab0ae1a7c206c3e902a5a44ba541742f", - "reference": "87fb348dab0ae1a7c206c3e902a5a44ba541742f", + "url": "https://api.github.com/repos/facade/ignition/zipball/e7db3b601ce742568b92648818ef903904d20164", + "reference": "e7db3b601ce742568b92648818ef903904d20164", "shasum": "" }, "require": { @@ -5106,7 +5106,7 @@ "issues": "https://github.com/facade/ignition/issues", "source": "https://github.com/facade/ignition" }, - "time": "2021-04-29T13:55:26+00:00" + "time": "2021-05-05T06:45:12+00:00" }, { "name": "facade/ignition-contracts", diff --git a/flexiapi/composer.phar b/flexiapi/composer.phar index 9efd41a1a7d8f65bd599d1b7a7198440665ca4f6..76d6ceb2772aa232fde7e7d4bb76abd471bdd1bb 100755 GIT binary patch delta 49331 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ΝwTID7 z{Bg#$fM0?7%%fxcQ5YX{gw0s zjQ`ZU3H}9W?-RTQXuq33g6^CEM~ZLo_@4pBGx2r&=W)G*dj$mJmhgAug*mScu2bIG z!oLx_N!dv93Fb>%`3v#m@|mU>Xv%@5)&C=QJO59d{#~A*`7fNtYY=#R3a@@(?@K8B zF}TIOu)+TYX3U3e{!>`Iuie834^KDnlaN-pfv?8GVDHWRpWqcTbu%#Sq92d4nX3_h z2w2tK3e1BNTW;fP@$TyG;h(}Zd?(+_0{X3c_-2@T<`0ka+gOetd4fN|T=4`yjhnmS zFn={#a+rT5gs(Zw{{@uu9O19Qqv;&yFPwSb^qCWU?cDx&=o$WFb0Q7G6!Xw?{EiE1 z*FTupfcC#9WHE`=0{p=YX17!@v~Tjt1$av=QwV6h;6~Rk<)Q0n0c+Ov)2__|4Y|Hh?5fg}D+@+Wx2>KLr@K(Wfctv8ID@xuj02DfN-|Yg$DBAag zfX#gP9f22jX?Roso1MA&QNiAY3-N&i&s;whTm?Cg{8W$|Dnei^JBg-$DO!ZSI>B4a zxE>dr!VO<0T1YUaLxR!Sw>HNG7cD{F%|a3LykM*XS@Bo*5$VZyHgnFpdze{)po`!$>maq(dX@um04S0H|?-Am8xbq%h$B=N* zZ|)IJ%!OCpE1ZSD4?Q~|@a(VbUS6tU&I5LHK)!)?XA(U^#eyTO>k~$0rvu z-#;bHzjBXLf+p91P?{% zL_f;EFRTE0{(a#=AYb`Fh?QmL1EFTPe&7EP&#>r3%lHOP_33FC0!*?uF8#l*ODfsB##&S7dnc67D-$R1g z*!vgmIP;}dlNmhSf00g#@iX=+?c@%udKOIZ*`GUXlNk`R%!2sjxt9W6{^;b;?^|&H zWODY^qnCjvhhzIE+fYZu9wiWdlwc|cCVzq1uRb)n5)a?;Kf4x zfM3i?wP<9?oazK0c-t(x7*ap8S@eAnCs>nYq(;%dVFA6?DtZ>T_U|^)<{1_5Vy8#| zLy&ET4-%D}qL&t;T|M6TaL(#U_z27~)97O4*&$kvuJwuT#oM2UE*l5$!*Rdp3&UdX z`9;^^05b@Pwk?=@t-Gq0uc42_pqu`CMD*gEN%N>rv>x$yfa|k?R|K9HcZilT(jB6c znBhw^qM;MS2lFCqUwZeEq6ja(BV`djiry@Xt~`59G0K`)$xK&80=)9}bVcic{H!aw zdpM3#Pn6+6!c#ZQ4(zfoiu%AGnCTag=#S9Y;jf4eVsUW&cSP^bE}ql(iMWV-RJ5Gg zd!J|paG3e-e$hu~dmL_*O#?9YI(AUB7I-*k!J~d$^de^I$RUw)Isc|>*LU})cGllI Z+<51aKfd>k*UnL|n*YDxJF5V$`VS7`!Ak%D diff --git a/flexiapi/config/database.php b/flexiapi/config/database.php index f98d178..7e944ea 100644 --- a/flexiapi/config/database.php +++ b/flexiapi/config/database.php @@ -53,9 +53,15 @@ return [ 'connections' => [ 'local' => [ - 'driver' => env('DB_DRIVER', 'sqlite'), + 'driver' => env('DB_DRIVER', env('DB_EXTERNAL_DRIVER', 'mysql')), 'url' => env('DATABASE_URL'), - 'database' => env('DB_DATABASE', database_path('database.sqlite')), + 'host' => env('DB_EXTERNAL_HOST', '127.0.0.1'), + 'port' => env('DB_EXTERNAL_PORT', '3306'), + 'database' => env('DB_DATABASE', env('DB_EXTERNAL_DATABASE', database_path('database.sqlite'))), + 'username' => env('DB_EXTERNAL_USERNAME', 'forge'), + 'password' => env('DB_EXTERNAL_PASSWORD', ''), + 'charset' => env('DB_EXTERNAL_DRIVER', 'mysql') == 'mysql' ? 'utf8mb4' : null, + 'collation' => env('DB_EXTERNAL_DRIVER', 'mysql') == 'mysql' ? 'utf8mb4_unicode_ci' : null, 'prefix' => '', 'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true), ], diff --git a/flexisip-account-manager.spec b/flexisip-account-manager.spec index 148a6de..6167f8e 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 70 +%define build_number 71 %define var_dir /var/opt/belledonne-communications %define opt_dir /opt/belledonne-communications/share/flexisip-account-manager