Laravel Upgrade
* from 5.6.x to 5.7.x * from 5.7.x to 5.8.x * from 5.8.x to 6.x * from 6.x to 7.x * from 7.x to 8.x * updated to work with php7.4 and mysql 8.x Change-Id: I5fa8af21e13ce383d6648a660b1aac7e5ce55fa5 Signed-off-by: smarcet <smarcet@gmail.com>
This commit is contained in:
parent
ee47df943e
commit
b1df7968d0
14
.zuul.yaml
14
.zuul.yaml
@ -4,8 +4,7 @@
|
||||
run: playbooks/openstackid-release-branch/run.yaml
|
||||
post-run: playbooks/openstackid-release-branch/post.yaml
|
||||
timeout: 1800
|
||||
# OpenStackID needs MYSQL 5.7.x and will fail with newer MYSQL, Bionic has Java 5.7.x.
|
||||
nodeset: ubuntu-bionic
|
||||
nodeset: ubuntu-focal
|
||||
|
||||
- job:
|
||||
# This is included into the osf/openstackid release pipeline from the
|
||||
@ -15,16 +14,13 @@
|
||||
run: playbooks/openstackid-release-master/run.yaml
|
||||
post-run: playbooks/openstackid-release-master/post.yaml
|
||||
timeout: 1800
|
||||
# OpenStackID needs MYSQL 5.7.x and will fail with newer MYSQL, Bionic has Java 5.7.x.
|
||||
nodeset: ubuntu-bionic
|
||||
nodeset: ubuntu-focal
|
||||
|
||||
- job:
|
||||
name: openstackid-unittests
|
||||
run: playbooks/openstackid-unittests/run.yaml
|
||||
timeout: 1800
|
||||
# OpenStackID needs MYSQL 5.7.x and will fail with newer MYSQL, Bionic has Java 5.7.x.
|
||||
nodeset: ubuntu-bionic
|
||||
|
||||
nodeset: ubuntu-focal
|
||||
|
||||
- project:
|
||||
name: osf/openstackid
|
||||
@ -32,12 +28,12 @@
|
||||
jobs:
|
||||
- openstackid-unittests
|
||||
- opendev-tox-docs:
|
||||
nodeset: ubuntu-bionic
|
||||
nodeset: ubuntu-focal
|
||||
gate:
|
||||
jobs:
|
||||
- openstackid-unittests
|
||||
- opendev-tox-docs:
|
||||
nodeset: ubuntu-bionic
|
||||
nodeset: ubuntu-focal
|
||||
post:
|
||||
jobs:
|
||||
- openstackid-release-branch
|
||||
|
@ -52,6 +52,11 @@ final class RebuildUserSpammerEstimator extends Command
|
||||
public function handle()
|
||||
{
|
||||
try {
|
||||
$is_enabled = boolval(Config::get("jobs.spam_processing_enabled"));
|
||||
if(!$is_enabled){
|
||||
return;
|
||||
}
|
||||
|
||||
$connections = Config::get('database.connections', []);
|
||||
$db = $connections['openstackid'] ?? [];
|
||||
$host = $db['host'] ?? '';
|
||||
@ -59,17 +64,15 @@ final class RebuildUserSpammerEstimator extends Command
|
||||
$username = $db['username'] ?? '';
|
||||
$password = $db['password'] ?? '';
|
||||
|
||||
$command = sprintf(
|
||||
'%s/app/Console/Commands/SpammerProcess/estimator_build.sh "%s" "%s" "%s" "%s" "%s"',
|
||||
base_path(),
|
||||
$command = [sprintf('%s/app/Console/Commands/SpammerProcess/estimator_build.sh', base_path()),
|
||||
base_path() . '/app/Console/Commands/SpammerProcess',
|
||||
$host,
|
||||
$username,
|
||||
$password,
|
||||
$database
|
||||
);
|
||||
];
|
||||
|
||||
Log::debug(sprintf("RebuildUserSpammerEstimator::handle running command %s", $command));
|
||||
Log::debug(sprintf("RebuildUserSpammerEstimator::handle running command %s", implode(" ", $command)));
|
||||
|
||||
$process = new Process($command);
|
||||
$process->setTimeout(PHP_INT_MAX);
|
||||
|
@ -70,6 +70,10 @@ final class UserSpammerProcessor extends Command
|
||||
public function handle()
|
||||
{
|
||||
try {
|
||||
$is_enabled = boolval(Config::get("jobs.spam_processing_enabled"));
|
||||
if(!$is_enabled){
|
||||
return;
|
||||
}
|
||||
$connections = Config::get('database.connections', []);
|
||||
$db = $connections['openstackid'] ?? [];
|
||||
$host = $db['host'] ?? '';
|
||||
@ -77,17 +81,15 @@ final class UserSpammerProcessor extends Command
|
||||
$username = $db['username'] ?? '';
|
||||
$password = $db['password'] ?? '';
|
||||
|
||||
$command = sprintf(
|
||||
'%s/app/Console/Commands/SpammerProcess/estimator_process.sh "%s" "%s" "%s" "%s" "%s"',
|
||||
base_path(),
|
||||
$command = [sprintf('%s/app/Console/Commands/SpammerProcess/estimator_process.sh',base_path()),
|
||||
base_path() . '/app/Console/Commands/SpammerProcess',
|
||||
$host,
|
||||
$username,
|
||||
$password,
|
||||
$database
|
||||
);
|
||||
];
|
||||
|
||||
Log::debug(sprintf("UserSpammerProcessor::handle running command %s", $command));
|
||||
Log::debug(sprintf("UserSpammerProcessor::handle running command %s", implode(" ",$command)));
|
||||
|
||||
$process = new Process($command);
|
||||
$process->setTimeout(PHP_INT_MAX);
|
||||
|
@ -41,10 +41,10 @@ class Kernel extends ConsoleKernel
|
||||
*/
|
||||
protected function schedule(Schedule $schedule)
|
||||
{
|
||||
$schedule->command('idp:oauth2-clean')->dailyAt("02:30")->withoutOverlapping();
|
||||
$schedule->command('idp:openid-clean')->dailyAt("03:30")->withoutOverlapping();
|
||||
$schedule->command('idp:oauth2-clean')->dailyAt("02:30")->withoutOverlapping()->onOneServer();
|
||||
$schedule->command('idp:openid-clean')->dailyAt("03:30")->withoutOverlapping()->onOneServer();
|
||||
// user spammer
|
||||
$schedule->command('user-spam:rebuild')->dailyAt("02:30")->withoutOverlapping();
|
||||
$schedule->command('user-spam:process')->dailyAt("03:30")->withoutOverlapping();
|
||||
$schedule->command('user-spam:rebuild')->dailyAt("02:30")->withoutOverlapping()->onOneServer();
|
||||
$schedule->command('user-spam:process')->dailyAt("03:30")->withoutOverlapping()->onOneServer();
|
||||
}
|
||||
}
|
||||
|
@ -11,7 +11,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
**/
|
||||
use Exception;
|
||||
use Throwable;
|
||||
use Illuminate\Validation\ValidationException;
|
||||
use Illuminate\Auth\Access\AuthorizationException;
|
||||
use Illuminate\Database\Eloquent\ModelNotFoundException;
|
||||
@ -45,7 +45,7 @@ class Handler extends ExceptionHandler
|
||||
* @param \Exception $e
|
||||
* @return void
|
||||
*/
|
||||
public function report(Exception $e)
|
||||
public function report(Throwable $e)
|
||||
{
|
||||
parent::report($e);
|
||||
}
|
||||
@ -57,7 +57,7 @@ class Handler extends ExceptionHandler
|
||||
* @param \Exception $e
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function render($request, Exception $e)
|
||||
public function render($request, Throwable $e)
|
||||
{
|
||||
return parent::render($request, $e);
|
||||
}
|
||||
|
@ -16,7 +16,7 @@ use App\Http\Utils\CountryList;
|
||||
use App\libs\Auth\Repositories\IBannedIPRepository;
|
||||
use App\libs\Auth\Repositories\IGroupRepository;
|
||||
use Auth\Repositories\IUserRepository;
|
||||
use Illuminate\Support\Facades\Input;
|
||||
use Illuminate\Support\Facades\Request;
|
||||
use Illuminate\Support\Facades\Response;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
use Illuminate\Support\Facades\View;
|
||||
@ -493,7 +493,7 @@ class AdminController extends Controller {
|
||||
|
||||
public function saveServerConfig(){
|
||||
|
||||
$values = Input::all();
|
||||
$values = Request::all();
|
||||
|
||||
$rules = array
|
||||
(
|
||||
|
@ -12,17 +12,12 @@
|
||||
* limitations under the License.
|
||||
**/
|
||||
use App\Http\Controllers\Api\JsonController;
|
||||
use App\Http\Utils\PagingConstants;
|
||||
use App\ModelSerializers\SerializerRegistry;
|
||||
use App\Services\IBaseService;
|
||||
use Illuminate\Support\Facades\Input;
|
||||
use Illuminate\Support\Facades\Request;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
use models\utils\IBaseRepository;
|
||||
use utils\Filter;
|
||||
use utils\FilterParser;
|
||||
use utils\OrderParser;
|
||||
use utils\PagingInfo;
|
||||
use Utils\Services\ILogService;
|
||||
use Exception;
|
||||
use models\exceptions\ValidationException;
|
||||
@ -84,7 +79,7 @@ abstract class APICRUDController extends JsonController
|
||||
|
||||
return $this->ok(SerializerRegistry::getInstance()->getSerializer($entity, $this->serializerType())->serialize
|
||||
(
|
||||
Input::get("expand", '')
|
||||
Request::input("expand", '')
|
||||
));
|
||||
}
|
||||
catch (EntityNotFoundException $ex2)
|
||||
@ -181,7 +176,7 @@ abstract class APICRUDController extends JsonController
|
||||
* @return array
|
||||
*/
|
||||
protected function getCreatePayload():array{
|
||||
return Input::All();
|
||||
return Request::All();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -19,7 +19,7 @@ use models\exceptions\EntityNotFoundException;
|
||||
use models\exceptions\ValidationException;
|
||||
use Utils\Services\IBannedIPService;
|
||||
use Utils\Services\ILogService;
|
||||
use Illuminate\Support\Facades\Input;
|
||||
use Illuminate\Support\Facades\Request;
|
||||
use Exception;
|
||||
/**
|
||||
* Class ApiBannedIPController
|
||||
@ -54,7 +54,7 @@ final class ApiBannedIPController extends APICRUDController
|
||||
{
|
||||
try {
|
||||
|
||||
$ip = Input::get("ip", null);
|
||||
$ip = Request::input("ip", null);
|
||||
if (!is_null($ip)) {
|
||||
$banned_ip = $this->repository->getByIp(strval($ip));
|
||||
} else {
|
||||
@ -89,7 +89,7 @@ final class ApiBannedIPController extends APICRUDController
|
||||
{
|
||||
try {
|
||||
if (is_null($id)) {
|
||||
$ip = Input::get("ip", null);
|
||||
$ip = Request::input("ip", null);
|
||||
} else {
|
||||
$banned_ip = $this->repository->getById($id);
|
||||
$ip = $banned_ip->getIp();
|
||||
|
@ -14,11 +14,10 @@
|
||||
|
||||
use App\Http\Controllers\APICRUDController;
|
||||
use OAuth2\Services\IAsymmetricKeyService;
|
||||
use models\exceptions\EntityNotFoundException;
|
||||
use Utils\Services\ILogService;
|
||||
use OAuth2\Repositories\IAsymmetricKeyRepository;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
use Illuminate\Support\Facades\Input;
|
||||
use Illuminate\Support\Facades\Request;
|
||||
use Exception;
|
||||
/**
|
||||
* Class AsymmetricKeyApiController
|
||||
|
@ -16,7 +16,6 @@ use App\Http\Utils\PagingConstants;
|
||||
use App\ModelSerializers\SerializerRegistry;
|
||||
use Exception;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\Input;
|
||||
use Illuminate\Support\Facades\Request;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
use models\exceptions\EntityNotFoundException;
|
||||
@ -372,7 +371,7 @@ final class ClientApiController extends APICRUDController
|
||||
*/
|
||||
public function getAccessTokens($id)
|
||||
{
|
||||
$values = Input::all();
|
||||
$values = Request::all();
|
||||
$rules = [
|
||||
|
||||
'page' => 'integer|min:1',
|
||||
@ -391,9 +390,9 @@ final class ClientApiController extends APICRUDController
|
||||
$page = 1;
|
||||
$per_page = PagingConstants::DefaultPageSize;;
|
||||
|
||||
if (Input::has('page')) {
|
||||
$page = intval(Input::get('page'));
|
||||
$per_page = intval(Input::get('per_page'));
|
||||
if (Request::has('page')) {
|
||||
$page = intval(Request::input('page'));
|
||||
$per_page = intval(Request::input('per_page'));
|
||||
}
|
||||
|
||||
$client = $this->repository->getClientByIdentifier($id);
|
||||
@ -436,7 +435,7 @@ final class ClientApiController extends APICRUDController
|
||||
*/
|
||||
public function getRefreshTokens($id)
|
||||
{
|
||||
$values = Input::all();
|
||||
$values = Request::all();
|
||||
$rules = [
|
||||
|
||||
'page' => 'integer|min:1',
|
||||
@ -455,9 +454,9 @@ final class ClientApiController extends APICRUDController
|
||||
$page = 1;
|
||||
$per_page = PagingConstants::DefaultPageSize;;
|
||||
|
||||
if (Input::has('page')) {
|
||||
$page = intval(Input::get('page'));
|
||||
$per_page = intval(Input::get('per_page'));
|
||||
if (Request::has('page')) {
|
||||
$page = intval(Request::input('page'));
|
||||
$per_page = intval(Request::input('per_page'));
|
||||
}
|
||||
|
||||
$client = $this->repository->getClientByIdentifier($id);
|
||||
@ -499,7 +498,7 @@ final class ClientApiController extends APICRUDController
|
||||
*/
|
||||
public function getAccessTokensByCurrentUser()
|
||||
{
|
||||
$values = Input::all();
|
||||
$values = Request::all();
|
||||
$rules = [
|
||||
|
||||
'page' => 'integer|min:1',
|
||||
@ -518,9 +517,9 @@ final class ClientApiController extends APICRUDController
|
||||
$page = 1;
|
||||
$per_page = PagingConstants::DefaultPageSize;;
|
||||
|
||||
if (Input::has('page')) {
|
||||
$page = intval(Input::get('page'));
|
||||
$per_page = intval(Input::get('per_page'));
|
||||
if (Request::has('page')) {
|
||||
$page = intval(Request::input('page'));
|
||||
$per_page = intval(Request::input('per_page'));
|
||||
}
|
||||
|
||||
$user = $this->auth_service->getCurrentUser();
|
||||
@ -558,7 +557,7 @@ final class ClientApiController extends APICRUDController
|
||||
*/
|
||||
public function getRefreshTokensByCurrentUser()
|
||||
{
|
||||
$values = Input::all();
|
||||
$values = Request::all();
|
||||
$rules = [
|
||||
|
||||
'page' => 'integer|min:1',
|
||||
@ -577,9 +576,9 @@ final class ClientApiController extends APICRUDController
|
||||
$page = 1;
|
||||
$per_page = PagingConstants::DefaultPageSize;;
|
||||
|
||||
if (Input::has('page')) {
|
||||
$page = intval(Input::get('page'));
|
||||
$per_page = intval(Input::get('per_page'));
|
||||
if (Request::has('page')) {
|
||||
$page = intval(Request::input('page'));
|
||||
$per_page = intval(Request::input('per_page'));
|
||||
}
|
||||
|
||||
$user = $this->auth_service->getCurrentUser();
|
||||
|
@ -15,7 +15,7 @@
|
||||
use OAuth2\Services\IClientPublicKeyService;
|
||||
use Utils\Services\ILogService;
|
||||
use OAuth2\Repositories\IClientPublicKeyRepository;
|
||||
use Illuminate\Support\Facades\Input;
|
||||
use Illuminate\Support\Facades\Request;
|
||||
/**
|
||||
* Class ClientPublicKeyApiController
|
||||
* @package App\Http\Controllers\Api
|
||||
@ -41,7 +41,7 @@ final class ClientPublicKeyApiController extends AsymmetricKeyApiController
|
||||
* @return array
|
||||
*/
|
||||
protected function getCreatePayload():array{
|
||||
$payload = Input::All();
|
||||
$payload = Request::All();
|
||||
return array_merge($payload, $this->extra_create_payload_params);
|
||||
}
|
||||
|
||||
|
@ -18,7 +18,7 @@ use App\ModelSerializers\SerializerRegistry;
|
||||
use App\Services\Auth\IGroupService;
|
||||
use Auth\Repositories\IUserRepository;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
use Illuminate\Support\Facades\Input;
|
||||
use Illuminate\Support\Facades\Request;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
use models\exceptions\EntityNotFoundException;
|
||||
use models\exceptions\ValidationException;
|
||||
@ -178,7 +178,7 @@ final class GroupApiController extends APICRUDController
|
||||
*/
|
||||
public function getUsersFromGroup($group_id)
|
||||
{
|
||||
$values = Input::all();
|
||||
$values = Request::all();
|
||||
$rules = [
|
||||
|
||||
'page' => 'integer|min:1',
|
||||
@ -198,15 +198,15 @@ final class GroupApiController extends APICRUDController
|
||||
$page = 1;
|
||||
$per_page = PagingConstants::DefaultPageSize;;
|
||||
|
||||
if (Input::has('page')) {
|
||||
$page = intval(Input::get('page'));
|
||||
$per_page = intval(Input::get('per_page'));
|
||||
if (Request::has('page')) {
|
||||
$page = intval(Request::input('page'));
|
||||
$per_page = intval(Request::input('per_page'));
|
||||
}
|
||||
|
||||
$filter = null;
|
||||
|
||||
if (Input::has('filter')) {
|
||||
$filter = FilterParser::parse(Input::get('filter'), [
|
||||
if (Request::has('filter')) {
|
||||
$filter = FilterParser::parse(Request::input('filter'), [
|
||||
'first_name' => ['=@', '=='],
|
||||
'last_name' => ['=@', '=='],
|
||||
'email' => ['=@', '=='],
|
||||
@ -229,11 +229,9 @@ final class GroupApiController extends APICRUDController
|
||||
|
||||
$order = null;
|
||||
|
||||
if (Input::has('order'))
|
||||
if (Request::has('order'))
|
||||
{
|
||||
$order = OrderParser::parse(Input::get('order'), [
|
||||
|
||||
]);
|
||||
$order = OrderParser::parse(Request::input('order'), []);
|
||||
}
|
||||
|
||||
$filter->addFilterCondition(FilterElement::makeEqual("group_id", $group_id));
|
||||
@ -244,7 +242,7 @@ final class GroupApiController extends APICRUDController
|
||||
(
|
||||
$data->toArray
|
||||
(
|
||||
Input::get('expand', ''),
|
||||
Request::input('expand', ''),
|
||||
[],
|
||||
[],
|
||||
[],
|
||||
|
@ -15,7 +15,7 @@
|
||||
use App\Http\Controllers\Controller;
|
||||
use Utils\Services\ILogService;
|
||||
use Illuminate\Support\Facades\Response;
|
||||
use Illuminate\Support\Facades\Input;
|
||||
use Illuminate\Support\Facades\Request;
|
||||
use Exception;
|
||||
/**
|
||||
* Class JsonController
|
||||
@ -38,8 +38,8 @@ abstract class JsonController extends Controller {
|
||||
protected function created($data='ok'){
|
||||
$res = Response::json($data, 201);
|
||||
//jsonp
|
||||
if(Input::has('callback'))
|
||||
$res->setCallback(Input::get('callback'));
|
||||
if(Request::has('callback'))
|
||||
$res->setCallback(Request::input('callback'));
|
||||
return $res;
|
||||
}
|
||||
|
||||
@ -47,8 +47,8 @@ abstract class JsonController extends Controller {
|
||||
{
|
||||
$res = Response::json($data, $has_content ? 201 : 204);
|
||||
//jsonp
|
||||
if (Input::has('callback')) {
|
||||
$res->setCallback(Input::get('callback'));
|
||||
if (Request::has('callback')) {
|
||||
$res->setCallback(Request::input('callback'));
|
||||
}
|
||||
return $res;
|
||||
}
|
||||
@ -56,16 +56,16 @@ abstract class JsonController extends Controller {
|
||||
protected function deleted($data='ok'){
|
||||
$res = Response::json($data, 204);
|
||||
//jsonp
|
||||
if(Input::has('callback'))
|
||||
$res->setCallback(Input::get('callback'));
|
||||
if(Request::has('callback'))
|
||||
$res->setCallback(Request::input('callback'));
|
||||
return $res;
|
||||
}
|
||||
|
||||
protected function ok($data = 'ok'){
|
||||
$res = Response::json($data, 200);
|
||||
//jsonp
|
||||
if(Input::has('callback'))
|
||||
$res->setCallback(Input::get('callback'));
|
||||
if(Request::has('callback'))
|
||||
$res->setCallback(Request::input('callback'));
|
||||
return $res;
|
||||
}
|
||||
|
||||
|
@ -18,9 +18,8 @@ use App\Http\Utils\HTMLCleaner;
|
||||
use App\ModelSerializers\SerializerRegistry;
|
||||
use Auth\Repositories\IUserRepository;
|
||||
use Illuminate\Http\Request as LaravelRequest;
|
||||
use Illuminate\Support\Facades\Input;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
use Illuminate\Support\Facades\Request;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
use Illuminate\Support\Facades\Response;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
use models\exceptions\EntityNotFoundException;
|
||||
@ -166,7 +165,7 @@ final class OAuth2UserApiController extends OAuth2ProtectedController
|
||||
if(!$this->resource_server_context->getCurrentUserId()){
|
||||
return $this->error403();
|
||||
}
|
||||
$payload = Input::json()->all();
|
||||
$payload = Request::json()->all();
|
||||
// Creates a Validator instance and validates the data.
|
||||
|
||||
$validation = Validator::make($payload, UserValidationRulesFactory::build($payload, true));
|
||||
|
@ -13,7 +13,6 @@
|
||||
**/
|
||||
use App\ModelSerializers\SerializerRegistry;
|
||||
use App\Services\Auth\IUserService;
|
||||
use Illuminate\Support\Facades\Input;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
use Illuminate\Support\Facades\Request;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
@ -53,7 +52,7 @@ final class OAuth2UserRegistrationRequestApiController extends OAuth2ProtectedCo
|
||||
try {
|
||||
|
||||
if(!Request::isJson()) return $this->error400();
|
||||
$payload = Input::json()->all();
|
||||
$payload = Request::json()->all();
|
||||
|
||||
// Creates a Validator instance and validates the data.
|
||||
$validation = Validator::make($payload, [
|
||||
|
@ -19,7 +19,7 @@ use App\ModelSerializers\SerializerRegistry;
|
||||
use Auth\Repositories\IUserRepository;
|
||||
use Exception;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\Input;
|
||||
use Illuminate\Support\Facades\Request;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
use models\exceptions\ValidationException;
|
||||
use OAuth2\Services\ITokenService;
|
||||
@ -155,7 +155,7 @@ final class UserApiController extends APICRUDController
|
||||
{
|
||||
|
||||
try {
|
||||
$hint = Input::get('hint', 'none');
|
||||
$hint = Request::input('hint', 'none');
|
||||
|
||||
switch ($hint) {
|
||||
case 'access-token':
|
||||
|
@ -13,9 +13,8 @@
|
||||
**/
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Support\Facades\Input;
|
||||
use Illuminate\Support\Facades\Request;
|
||||
use Illuminate\Support\Facades\Response;
|
||||
use Illuminate\Support\Facades\Session;
|
||||
use Illuminate\Support\Facades\View;
|
||||
use OAuth2\Exceptions\OAuth2BaseException;
|
||||
use OAuth2\Factories\OAuth2AuthorizationRequestFactory;
|
||||
@ -30,9 +29,7 @@ use OAuth2\Responses\OAuth2Response;
|
||||
use OAuth2\Strategies\OAuth2ResponseStrategyFactoryMethod;
|
||||
use Utils\Http\HttpContentType;
|
||||
use Utils\Services\IAuthService;
|
||||
use Illuminate\Support\Facades\Request;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
use Illuminate\Support\Facades\Redirect;
|
||||
use Exception;
|
||||
|
||||
/**
|
||||
@ -89,7 +86,7 @@ final class OAuth2ProviderController extends Controller
|
||||
(
|
||||
new OAuth2Message
|
||||
(
|
||||
Input::all()
|
||||
Request::all()
|
||||
)
|
||||
)
|
||||
);
|
||||
@ -147,7 +144,7 @@ final class OAuth2ProviderController extends Controller
|
||||
(
|
||||
new OAuth2Message
|
||||
(
|
||||
Input::all()
|
||||
Request::all()
|
||||
)
|
||||
)
|
||||
);
|
||||
@ -177,7 +174,7 @@ final class OAuth2ProviderController extends Controller
|
||||
(
|
||||
new OAuth2Message
|
||||
(
|
||||
Input::all()
|
||||
Request::all()
|
||||
)
|
||||
)
|
||||
);
|
||||
@ -209,7 +206,7 @@ final class OAuth2ProviderController extends Controller
|
||||
(
|
||||
new OAuth2Message
|
||||
(
|
||||
Input::all()
|
||||
Request::all()
|
||||
)
|
||||
)
|
||||
);
|
||||
@ -269,7 +266,7 @@ final class OAuth2ProviderController extends Controller
|
||||
(
|
||||
new OAuth2Message
|
||||
(
|
||||
Input::all()
|
||||
Request::all()
|
||||
)
|
||||
);
|
||||
|
||||
|
@ -13,7 +13,7 @@
|
||||
**/
|
||||
use App\Http\Controllers\Controller;
|
||||
use Exception;
|
||||
use Illuminate\Support\Facades\Input;
|
||||
use Illuminate\Support\Facades\Request;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
use Illuminate\Support\Facades\Response;
|
||||
use OpenId\Exceptions\InvalidOpenIdMessageException;
|
||||
@ -57,7 +57,7 @@ class OpenIdProviderController extends Controller
|
||||
public function endpoint()
|
||||
{
|
||||
try {
|
||||
$msg = new OpenIdMessage(Input::all());
|
||||
$msg = new OpenIdMessage(Request::all());
|
||||
|
||||
if (!$msg->isValid() && $this->memento_service->exists()) {
|
||||
$msg = OpenIdMessage::buildFromMemento($this->memento_service->load());
|
||||
|
@ -13,7 +13,7 @@
|
||||
**/
|
||||
use App\Http\Utils\PagingConstants;
|
||||
use App\ModelSerializers\SerializerRegistry;
|
||||
use Illuminate\Support\Facades\Input;
|
||||
use Illuminate\Support\Facades\Request;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
use utils\Filter;
|
||||
@ -63,7 +63,7 @@ trait GetAllTrait
|
||||
*/
|
||||
public function getAll()
|
||||
{
|
||||
$values = Input::all();
|
||||
$values = Request::all();
|
||||
$rules = [
|
||||
|
||||
'page' => 'integer|min:1',
|
||||
@ -83,15 +83,15 @@ trait GetAllTrait
|
||||
$page = 1;
|
||||
$per_page = PagingConstants::DefaultPageSize;;
|
||||
|
||||
if (Input::has('page')) {
|
||||
$page = intval(Input::get('page'));
|
||||
$per_page = intval(Input::get('per_page'));
|
||||
if (Request::has('page')) {
|
||||
$page = intval(Request::input('page'));
|
||||
$per_page = intval(Request::input('per_page'));
|
||||
}
|
||||
|
||||
$filter = null;
|
||||
|
||||
if (Input::has('filter')) {
|
||||
$filter = FilterParser::parse(Input::get('filter'), $this->getFilterRules());
|
||||
if (Request::has('filter')) {
|
||||
$filter = FilterParser::parse(Request::input('filter'), $this->getFilterRules());
|
||||
}
|
||||
|
||||
if(is_null($filter)) $filter = new Filter();
|
||||
@ -103,9 +103,9 @@ trait GetAllTrait
|
||||
|
||||
$order = null;
|
||||
|
||||
if (Input::has('order'))
|
||||
if (Request::has('order'))
|
||||
{
|
||||
$order = OrderParser::parse(Input::get('order'), $this->getOrderRules());
|
||||
$order = OrderParser::parse(Request::input('order'), $this->getOrderRules());
|
||||
}
|
||||
|
||||
$data = $this->repository->getAllByPage(new PagingInfo($page, $per_page), $this->applyExtraFilters($filter), $order);
|
||||
@ -114,7 +114,7 @@ trait GetAllTrait
|
||||
(
|
||||
$data->toArray
|
||||
(
|
||||
Input::get('expand', ''),
|
||||
Request::input('expand', ''),
|
||||
[],
|
||||
[],
|
||||
[],
|
||||
|
@ -17,7 +17,7 @@ use App\Http\Utils\CountryList;
|
||||
use Auth\Exceptions\AuthenticationException;
|
||||
use Auth\Exceptions\UnverifiedEmailMemberException;
|
||||
use Exception;
|
||||
use Illuminate\Support\Facades\Input;
|
||||
use Illuminate\Support\Facades\Request;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
use Illuminate\Support\Facades\Redirect;
|
||||
use Illuminate\Support\Facades\Session;
|
||||
@ -26,15 +26,12 @@ use Illuminate\Support\Facades\View;
|
||||
use OAuth2\Repositories\IApiScopeRepository;
|
||||
use OAuth2\Repositories\IClientRepository;
|
||||
use OpenId\Services\IUserService;
|
||||
use OAuth2\Services\IApiScopeService;
|
||||
use OAuth2\Services\IClientService;
|
||||
use OAuth2\Services\IMementoOAuth2SerializerService;
|
||||
use OAuth2\Services\IResourceServerService;
|
||||
use OAuth2\Services\ISecurityContextService;
|
||||
use OAuth2\Services\ITokenService;
|
||||
use OpenId\Services\IMementoOpenIdSerializerService;
|
||||
use OpenId\Services\ITrustedSitesService;
|
||||
use models\exceptions\ValidationException;
|
||||
use Services\IUserActionService;
|
||||
use Sokil\IsoCodes\IsoCodesFactory;
|
||||
use Strategies\DefaultLoginStrategy;
|
||||
@ -47,6 +44,7 @@ use Utils\IPHelper;
|
||||
use Utils\Services\IAuthService;
|
||||
use Utils\Services\IServerConfigurationService;
|
||||
use Utils\Services\IServerConfigurationService as IUtilsServerConfigurationService;
|
||||
|
||||
/**
|
||||
* Class UserController
|
||||
* @package App\Http\Controllers
|
||||
@ -167,9 +165,11 @@ final class UserController extends OpenIdController
|
||||
$this->security_context_service = $security_context_service;
|
||||
|
||||
$this->middleware(function ($request, $next) {
|
||||
Log::debug(sprintf("UserController::middleware"));
|
||||
if ($this->openid_memento_service->exists())
|
||||
{
|
||||
//openid stuff
|
||||
Log::debug(sprintf("UserController::middleware OIDC"));
|
||||
$this->login_strategy = new OpenIdLoginStrategy
|
||||
(
|
||||
$this->openid_memento_service,
|
||||
@ -188,7 +188,7 @@ final class UserController extends OpenIdController
|
||||
}
|
||||
else if ($this->oauth2_memento_service->exists())
|
||||
{
|
||||
|
||||
Log::debug(sprintf("UserController::middleware OAUTH2"));
|
||||
$this->login_strategy = new OAuth2LoginStrategy
|
||||
(
|
||||
$this->auth_service,
|
||||
@ -208,6 +208,7 @@ final class UserController extends OpenIdController
|
||||
else
|
||||
{
|
||||
//default stuff
|
||||
Log::debug(sprintf("UserController::middleware DEFAULT"));
|
||||
$this->login_strategy = new DefaultLoginStrategy($this->user_action_service, $this->auth_service);
|
||||
$this->consent_strategy = null;
|
||||
}
|
||||
@ -234,14 +235,14 @@ final class UserController extends OpenIdController
|
||||
try
|
||||
{
|
||||
|
||||
$data = Input::all();
|
||||
$data = Request::all();
|
||||
|
||||
if(isset($data['username']))
|
||||
$data['username'] = trim($data['username']);
|
||||
if(isset($data['password']))
|
||||
$data['password'] = trim($data['password']);
|
||||
|
||||
$login_attempts = intval(Input::get('login_attempts'));
|
||||
$login_attempts = intval(Request::input('login_attempts'));
|
||||
// Build the validation constraint set.
|
||||
$rules = array
|
||||
(
|
||||
@ -259,7 +260,7 @@ final class UserController extends OpenIdController
|
||||
{
|
||||
$username = $data['username'];
|
||||
$password = $data['password'];
|
||||
$remember = Input::get("remember");
|
||||
$remember = Request::input("remember");
|
||||
|
||||
$remember = !is_null($remember);
|
||||
if ($this->auth_service->login($username, $password, $remember))
|
||||
@ -336,7 +337,7 @@ final class UserController extends OpenIdController
|
||||
{
|
||||
try
|
||||
{
|
||||
$data = Input::all();
|
||||
$data = Request::all();
|
||||
$rules = array
|
||||
(
|
||||
'trust' => 'required|oauth2_trust_response',
|
||||
@ -347,10 +348,11 @@ final class UserController extends OpenIdController
|
||||
{
|
||||
if (is_null($this->consent_strategy))
|
||||
{
|
||||
return View::make("errors.404");
|
||||
Log::warning(sprintf("UserController::postConsent consent strategy is null"));
|
||||
return View::make("errors.400");
|
||||
}
|
||||
|
||||
return $this->consent_strategy->postConsent(Input::get("trust"));
|
||||
return $this->consent_strategy->postConsent(Request::input("trust"));
|
||||
}
|
||||
return Redirect::action('UserController@getConsent')->withErrors($validator);
|
||||
}
|
||||
|
@ -30,7 +30,7 @@ class Kernel extends HttpKernel
|
||||
protected $middleware = [
|
||||
\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
|
||||
\App\Http\Middleware\SingleAccessPoint::class,
|
||||
\Spatie\Cors\Cors::class,
|
||||
\Fruitcake\Cors\HandleCors::class,
|
||||
\App\Http\Middleware\ParseMultipartFormDataInputForNonPostRequests::class,
|
||||
];
|
||||
|
||||
@ -46,9 +46,9 @@ class Kernel extends HttpKernel
|
||||
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
|
||||
\Illuminate\Session\Middleware\StartSession::class,
|
||||
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
|
||||
\Illuminate\Routing\Middleware\SubstituteBindings::class,
|
||||
SecurityHTTPHeadersWriterMiddleware::class,
|
||||
],
|
||||
|
||||
'api' => [
|
||||
'ssl',
|
||||
'oauth2.endpoint',
|
||||
|
@ -15,12 +15,9 @@ use Closure;
|
||||
use Illuminate\Support\Facades\Response;
|
||||
use OAuth2\Repositories\IClientRepository;
|
||||
use Utils\Services\IAuthService;
|
||||
use Utils\Services\ServiceLocator;
|
||||
use Utils\Services\UtilsServiceCatalog;
|
||||
use OAuth2\Services\OAuth2ServiceCatalog;
|
||||
use Exception;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
use Illuminate\Support\Facades\Input;
|
||||
use Illuminate\Support\Facades\Request;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
/**
|
||||
@ -64,7 +61,7 @@ final class CurrentUserCanEditOAuth2Client
|
||||
$client_id = $route->parameter('client_id');
|
||||
|
||||
if(is_null($client_id))
|
||||
$client_id = Input::get('client_id',null);;
|
||||
$client_id = Request::input('client_id',null);;
|
||||
|
||||
$client = $this->client_repository->getClientByIdentifier($client_id);
|
||||
$user = $this->auth_service->getCurrentUser();
|
||||
|
@ -15,12 +15,9 @@ use Closure;
|
||||
use Illuminate\Support\Facades\Response;
|
||||
use OAuth2\Repositories\IClientRepository;
|
||||
use Utils\Services\IAuthService;
|
||||
use Utils\Services\ServiceLocator;
|
||||
use Utils\Services\UtilsServiceCatalog;
|
||||
use OAuth2\Services\OAuth2ServiceCatalog;
|
||||
use Exception;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
use Illuminate\Support\Facades\Input;
|
||||
use Illuminate\Support\Facades\Request;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
/**
|
||||
@ -64,7 +61,7 @@ class CurrentUserOwnsOAuth2Client
|
||||
$client_id = $route->parameter('client_id');
|
||||
|
||||
if(is_null($client_id))
|
||||
$client_id = Input::get('client_id',null);;
|
||||
$client_id = Request::input('client_id',null);;
|
||||
|
||||
$client = $this->client_repository->getClientByIdentifier($client_id);
|
||||
$user = $this->auth_service->getCurrentUser();
|
||||
|
@ -11,10 +11,8 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
**/
|
||||
use Illuminate\Contracts\Encryption\DecryptException;
|
||||
use Illuminate\Cookie\Middleware\EncryptCookies as Middleware;
|
||||
use OAuth2\Services\IPrincipalService;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
/**
|
||||
* Class EncryptCookies
|
||||
* @package App\Http\Middleware
|
||||
@ -30,30 +28,4 @@ class EncryptCookies extends Middleware
|
||||
IPrincipalService::OP_BROWSER_STATE_COOKIE_NAME
|
||||
];
|
||||
|
||||
/**
|
||||
* Decrypt the cookies on the request.
|
||||
*
|
||||
* @param \Symfony\Component\HttpFoundation\Request $request
|
||||
* @return \Symfony\Component\HttpFoundation\Request
|
||||
*/
|
||||
protected function decrypt(Request $request)
|
||||
{
|
||||
foreach ($request->cookies as $key => $cookie) {
|
||||
if ($this->isDisabled($key)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
try {
|
||||
$request->cookies->set($key, $this->decryptCookie($key, $cookie));
|
||||
} catch (DecryptException $e) {
|
||||
$request->cookies->set($key, null);
|
||||
}
|
||||
catch(\ErrorException $e1){
|
||||
$request->cookies->set($key, null);
|
||||
}
|
||||
}
|
||||
|
||||
return $request;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -12,7 +12,6 @@
|
||||
* limitations under the License.
|
||||
**/
|
||||
use Closure;
|
||||
use Illuminate\Support\Facades\Input;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
use Illuminate\Support\Facades\Request;
|
||||
use Illuminate\Support\Facades\Response;
|
||||
@ -144,7 +143,7 @@ final class OAuth2BearerAccessTokenRequestValidator
|
||||
} else {
|
||||
// http://tools.ietf.org/html/rfc6750#section-2- 2
|
||||
// if access token is not on authorization header check on POST/GET params
|
||||
$access_token_value = Input::get(OAuth2Protocol::OAuth2Protocol_AccessToken, '');
|
||||
$access_token_value = Request::input(OAuth2Protocol::OAuth2Protocol_AccessToken, '');
|
||||
}
|
||||
|
||||
if (is_null($access_token_value) || empty($access_token_value)) {
|
||||
|
@ -23,7 +23,7 @@ use libs\utils\RequestUtils;
|
||||
*/
|
||||
class SecurityHTTPHeadersWriterMiddleware
|
||||
{
|
||||
/**
|
||||
/**
|
||||
* Handle an incoming request.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
@ -34,7 +34,7 @@ class SecurityHTTPHeadersWriterMiddleware
|
||||
{
|
||||
|
||||
$response = $next($request);
|
||||
// https://www.owasp.org/index.php/List_of_useful_HTTP_headers
|
||||
// https://www.owasp.org/index.php/List_of_useful_HTTP_headers
|
||||
$response->headers->set('X-Content-Type-Options','nosniff');
|
||||
// https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection
|
||||
$response->headers->set('X-XSS-Protection','1; mode=block');
|
||||
|
@ -13,18 +13,19 @@
|
||||
**/
|
||||
use Illuminate\Mail\Message;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
use Utils\Services\ICacheService;
|
||||
use Monolog\Formatter\FormatterInterface;
|
||||
use Monolog\Handler\MailHandler;
|
||||
use Monolog\Logger;
|
||||
use Monolog\Formatter\LineFormatter;
|
||||
use Illuminate\Support\Facades\Mail;
|
||||
use Utils\Services\ICacheService;
|
||||
/**
|
||||
* Class LaravelMailerHandler
|
||||
* @package App\Http\Utils\Logs
|
||||
*/
|
||||
final class LaravelMailerHandler extends MailHandler
|
||||
{
|
||||
// seconds
|
||||
// in seconds
|
||||
const TIME_BETWEEN_ERRORS = 60 * 30;
|
||||
const SENT_ERROR_EMAIL = 'SENT_ERROR_EMAIL';
|
||||
/**
|
||||
@ -43,13 +44,13 @@ final class LaravelMailerHandler extends MailHandler
|
||||
* Optional headers for the message
|
||||
* @var array
|
||||
*/
|
||||
protected $headers = [];
|
||||
protected $headers = array();
|
||||
|
||||
/**
|
||||
* Optional parameters for the message
|
||||
* @var array
|
||||
*/
|
||||
protected $parameters = [];
|
||||
protected $parameters = array();
|
||||
|
||||
/**
|
||||
* The wordwrap length for the message
|
||||
@ -77,30 +78,29 @@ final class LaravelMailerHandler extends MailHandler
|
||||
private $cacheService;
|
||||
|
||||
/**
|
||||
* LaravelMailerHandler constructor.
|
||||
* @param ICacheService $cacheService
|
||||
* @param string|array $to The receiver of the mail
|
||||
* @param string $subject The subject of the mail
|
||||
* @param string $from The sender of the mail
|
||||
* @param int $level The minimum logging level at which this handler will be triggered
|
||||
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
||||
* @param int $maxColumnWidth The maximum column width that the message lines will have
|
||||
* @param $to
|
||||
* @param $subject
|
||||
* @param $from
|
||||
* @param int $level
|
||||
* @param bool $bubble
|
||||
* @param int $maxColumnWidth
|
||||
*/
|
||||
public function __construct(ICacheService $cacheService, $to, $subject, $from, $level = Logger::ERROR, $bubble = true, $maxColumnWidth = 70)
|
||||
{
|
||||
parent::__construct($level, $bubble);
|
||||
$this->cacheService = $cacheService;
|
||||
$this->from = $from;
|
||||
$this->to = is_array($to) ? $to : array($to);
|
||||
$this->subject = $subject;
|
||||
$this->subject = empty($subject) ? 'IDP ERROR' : $subject;
|
||||
$this->addHeader(sprintf('From: %s', $from));
|
||||
$this->maxColumnWidth = $maxColumnWidth;
|
||||
$this->cacheService = $cacheService;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add headers to the message
|
||||
*
|
||||
* @param string|array $headers Custom added headers
|
||||
* @return self
|
||||
* @param $headers
|
||||
* @return $this
|
||||
*/
|
||||
public function addHeader($headers)
|
||||
{
|
||||
@ -130,10 +130,11 @@ final class LaravelMailerHandler extends MailHandler
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
protected function send($content, array $records)
|
||||
protected function send($content, array $records):void
|
||||
{
|
||||
$content = wordwrap($content, $this->maxColumnWidth);
|
||||
|
||||
|
||||
$subject = $this->subject;
|
||||
if ($records) {
|
||||
$subjectFormatter = new LineFormatter($this->subject);
|
||||
@ -147,7 +148,7 @@ final class LaravelMailerHandler extends MailHandler
|
||||
Log::debug(sprintf("LaravelMailerHandler::send skipping exception %s %s", $subject, $content));
|
||||
return;
|
||||
}
|
||||
$this->cacheService->setSingleValue(self::SENT_ERROR_EMAIL, self::SENT_ERROR_EMAIL, LaravelMailerHandler::TIME_BETWEEN_ERRORS);
|
||||
$this->cacheService->setSingleValue(self::SENT_ERROR_EMAIL, self::SENT_ERROR_EMAIL, self::TIME_BETWEEN_ERRORS);
|
||||
}
|
||||
|
||||
foreach ($this->to as $to) {
|
||||
@ -207,4 +208,14 @@ final class LaravelMailerHandler extends MailHandler
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the default formatter.
|
||||
*
|
||||
* @return FormatterInterface
|
||||
*/
|
||||
protected function getDefaultFormatter(): FormatterInterface
|
||||
{
|
||||
return new LineFormatter();
|
||||
}
|
||||
}
|
||||
|
@ -1,424 +0,0 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Application Routes
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here is where you can register all of the routes for an application.
|
||||
| It's a breeze. Simply tell Laravel the URIs it should respond to
|
||||
| and give it the Closure to execute when that URI is requested.
|
||||
|
|
||||
*/
|
||||
|
||||
Route::pattern('id', '[0-9]+');
|
||||
Route::pattern('uri_id', '[0-9]+');
|
||||
Route::pattern('active', '(true|false)');
|
||||
Route::pattern('hint', '(access-token|refresh-token)');
|
||||
Route::pattern('scope_id', '[0-9]+');
|
||||
|
||||
Route::group(['namespace' => 'App\Http\Controllers', 'middleware' => 'web' ], function() {
|
||||
|
||||
// openid endpoints
|
||||
Route::group(array('middleware' => ['ssl']), function () {
|
||||
|
||||
Route::get('/', "HomeController@index");
|
||||
|
||||
// OpenId endpoints
|
||||
|
||||
Route::group(['namespace' => 'OpenId' ], function() {
|
||||
|
||||
Route::get('/discovery', "DiscoveryController@idp");
|
||||
Route::get("/discovery/users/{identifier}","DiscoveryController@user")->where(array('identifier' => '[\d\w\.\#]+'));
|
||||
//op endpoint url
|
||||
Route::post('/accounts/openid2', 'OpenIdProviderController@endpoint');
|
||||
Route::get('/accounts/openid2', 'OpenIdProviderController@endpoint');
|
||||
});
|
||||
|
||||
//user interaction
|
||||
Route::group(array('prefix' => 'auth'), function () {
|
||||
Route::group(array('prefix' => 'login'), function () {
|
||||
Route::get('', "UserController@getLogin");
|
||||
Route::post('', ['middleware' => 'csrf', 'uses' => 'UserController@postLogin']);
|
||||
Route::get('cancel', "UserController@cancelLogin");
|
||||
});
|
||||
|
||||
// registration routes
|
||||
Route::group(array('prefix' => 'register'), function () {
|
||||
Route::get('', 'Auth\RegisterController@showRegistrationForm');
|
||||
Route::post('', ['middleware' => 'csrf', 'uses' => 'Auth\RegisterController@register']);
|
||||
});
|
||||
|
||||
Route::group(array('prefix' => 'verification'), function () {
|
||||
Route::get('', 'Auth\EmailVerificationController@showVerificationForm');
|
||||
Route::get('{token}', 'Auth\EmailVerificationController@verify')->name("verification_verify");
|
||||
Route::post('', ['middleware' => 'csrf', 'uses' => 'Auth\EmailVerificationController@resend']);
|
||||
});
|
||||
|
||||
// password reset routes
|
||||
|
||||
Route::group(array('prefix' => 'password'), function () {
|
||||
Route::group(array('prefix' => 'set'), function () {
|
||||
Route::get('{token}', 'Auth\PasswordSetController@showPasswordSetForm')->name('password.set');
|
||||
Route::post('', ['middleware' => 'csrf', 'uses' => 'Auth\PasswordSetController@setPassword']);
|
||||
});
|
||||
|
||||
Route::group(array('prefix' => 'reset'), function () {
|
||||
Route::get('', 'Auth\ForgotPasswordController@showLinkRequestForm')->name('password.request');
|
||||
Route::get('{token}', 'Auth\ResetPasswordController@showResetForm')->name('password.reset');
|
||||
Route::post('', ['middleware' => 'csrf', 'uses' => 'Auth\ResetPasswordController@reset']);
|
||||
});
|
||||
|
||||
Route::post('email', ['middleware' => 'csrf', 'uses' => 'Auth\ForgotPasswordController@sendResetLinkEmail'])->name('password.email');
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
/*
|
||||
* If the Claimed Identifier was not previously discovered by the Relying Party
|
||||
* (the "openid.identity" in the request was "http://specs.openid.net/auth/2.0/identifier_select"
|
||||
* or a different Identifier, or if the OP is sending an unsolicited positive assertion),
|
||||
* the Relying Party MUST perform discovery on the Claimed Identifier in
|
||||
* the response to make sure that the OP is authorized to make assertions about the Claimed Identifier.
|
||||
*/
|
||||
Route::get("/{identifier}", "UserController@getIdentity");
|
||||
});
|
||||
|
||||
//oauth2 endpoints
|
||||
|
||||
Route::group(['namespace'=> 'OAuth2', 'middleware' => ['ssl']], function () {
|
||||
Route::get('/.well-known/openid-configuration', "OAuth2ProviderController@discovery");
|
||||
});
|
||||
|
||||
Route::group(['namespace' => 'OAuth2' , 'prefix' => 'oauth2', 'middleware' => ['ssl']], function () {
|
||||
|
||||
Route::get('/check-session', "OAuth2ProviderController@checkSessionIFrame");
|
||||
Route::get('/end-session', "OAuth2ProviderController@endSession");
|
||||
Route::post('/end-session', "OAuth2ProviderController@endSession");
|
||||
|
||||
//authorization endpoint
|
||||
Route::any('/auth', "OAuth2ProviderController@auth");
|
||||
// OIDC
|
||||
// certificates
|
||||
Route::get('/certs', "OAuth2ProviderController@certs");
|
||||
// discovery document
|
||||
Route::get('/.well-known/openid-configuration', "OAuth2ProviderController@discovery");
|
||||
//token endpoint
|
||||
Route::group(array('prefix' => 'token'), function () {
|
||||
Route::post('/', "OAuth2ProviderController@token");
|
||||
Route::post('/revoke', "OAuth2ProviderController@revoke");
|
||||
Route::post('/introspection', "OAuth2ProviderController@introspection");
|
||||
});
|
||||
});
|
||||
|
||||
Route::group(array('middleware' => ['ssl', 'auth']), function () {
|
||||
Route::get('/accounts/user/consent', "UserController@getConsent");
|
||||
Route::post('/accounts/user/consent', ['middleware' => 'csrf', 'uses' => 'UserController@postConsent']);
|
||||
Route::any("/accounts/user/logout", "UserController@logout");
|
||||
Route::get("/accounts/user/profile", "UserController@getProfile");
|
||||
Route::any("/accounts/user/profile/trusted_site/delete/{id}", "UserController@deleteTrustedSite");
|
||||
});
|
||||
|
||||
Route::group(['prefix' => 'admin', 'middleware' => ['ssl', 'auth']], function () {
|
||||
//client admin UI
|
||||
Route::get('clients/edit/{id}', ['middleware' => ['oauth2.currentuser.allow.client.edition'], 'uses' => 'AdminController@editRegisteredClient']);
|
||||
Route::get('clients', 'AdminController@listOAuth2Clients');
|
||||
Route::get('/grants', 'AdminController@editIssuedGrants');
|
||||
|
||||
//oauth2 server admin UI
|
||||
Route::group(['middleware' => ['oauth2.currentuser.serveradmin']], function () {
|
||||
Route::get('/api-scope-groups', 'AdminController@listApiScopeGroups');
|
||||
Route::get('/api-scope-groups/{id}', 'AdminController@editApiScopeGroup');
|
||||
Route::get('/resource-servers', 'AdminController@listResourceServers');
|
||||
Route::get('/resource-server/{id}', 'AdminController@editResourceServer');
|
||||
Route::get('/api/{id}', 'AdminController@editApi');
|
||||
Route::get('/scope/{id}', 'AdminController@editScope');
|
||||
Route::get('/endpoint/{id}', 'AdminController@editEndpoint');
|
||||
Route::get('/locked-clients', 'AdminController@listLockedClients');
|
||||
// server private keys
|
||||
Route::get('/private-keys', 'AdminController@listServerPrivateKeys');
|
||||
//security
|
||||
Route::group(array('prefix' => 'users'), function () {
|
||||
Route::get('', 'AdminController@listUsers');
|
||||
Route::group(array('prefix' => '{user_id}'), function () {
|
||||
Route::get('', 'AdminController@editUser')->name("edit_user");
|
||||
});
|
||||
});
|
||||
|
||||
Route::group(array('prefix' => 'groups'), function () {
|
||||
Route::get('', 'AdminController@listGroups');
|
||||
Route::group(array('prefix' => '{group_id}'), function () {
|
||||
Route::get('', 'AdminController@editGroup');
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Route::group(array('middleware' => ['openstackid.currentuser.serveradmin']), function () {
|
||||
Route::get('server-config', 'AdminController@listServerConfig');
|
||||
Route::post('server-config', 'AdminController@saveServerConfig');
|
||||
Route::get('banned-ips', 'AdminController@listBannedIPs');
|
||||
});
|
||||
});
|
||||
|
||||
// Admin Backend Services
|
||||
|
||||
Route::group([
|
||||
'namespace' => 'Api',
|
||||
'prefix' => 'admin/api/v1',
|
||||
'middleware' => ['ssl', 'auth']], function () {
|
||||
|
||||
Route::group(['prefix' => 'users'], function () {
|
||||
|
||||
Route::delete('/me/tokens/{value}',"UserApiController@revokeMyToken");
|
||||
Route::get('' , "UserApiController@getAll");
|
||||
Route::post('', ['middleware' => ['openstackid.currentuser.serveradmin.json'], 'uses' => "UserApiController@create"]);
|
||||
Route::put('me', "UserApiController@updateMe");
|
||||
|
||||
Route::group(['prefix' => '{id}'], function(){
|
||||
|
||||
Route::group(['prefix' => 'locked'], function(){
|
||||
Route::put('', ['middleware' => ['openstackid.currentuser.serveradmin.json'], 'uses' => 'UserApiController@unlock']);
|
||||
Route::delete('', ['middleware' => ['openstackid.currentuser.serveradmin.json'], 'uses' => 'UserApiController@lock']);
|
||||
});
|
||||
|
||||
Route::get('', ['middleware' => ['openstackid.currentuser.serveradmin.json'], 'uses' => "UserApiController@get"]);
|
||||
Route::delete('', ['middleware' => ['openstackid.currentuser.serveradmin.json'], 'uses' =>"UserApiController@delete"]);
|
||||
Route::put('', ['middleware' => ['openstackid.currentuser.serveradmin.json'], 'uses' =>"UserApiController@update"]);
|
||||
});
|
||||
});
|
||||
|
||||
Route::group(['prefix' => 'groups', 'middleware' => ['openstackid.currentuser.serveradmin.json']], function () {
|
||||
Route::get('', "GroupApiController@getAll");
|
||||
Route::post('', "GroupApiController@create");
|
||||
Route::group(['prefix' => '{id}'], function(){
|
||||
Route::get('', "GroupApiController@get");
|
||||
Route::delete('', "GroupApiController@delete");
|
||||
Route::put('', "GroupApiController@update");
|
||||
Route::group(['prefix' => 'users'], function(){
|
||||
Route::get('', "GroupApiController@getUsersFromGroup");
|
||||
Route::group(['prefix' => '{user_id}'], function(){
|
||||
Route::put('','GroupApiController@addUserToGroup');
|
||||
Route::delete('','GroupApiController@removeUserFromGroup');
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Route::group(['prefix' => 'banned-ips', 'middleware' => ['openstackid.currentuser.serveradmin.json']], function () {
|
||||
Route::get('/', "ApiBannedIPController@getAll");
|
||||
Route::group(['prefix' => '{id?}'], function(){
|
||||
Route::get('', "ApiBannedIPController@get");
|
||||
Route::delete('', "ApiBannedIPController@delete");
|
||||
});
|
||||
});
|
||||
|
||||
//client api
|
||||
Route::group(array('prefix' => 'clients'), function () {
|
||||
|
||||
Route::get('', 'ClientApiController@getAll');
|
||||
Route::post('', 'ClientApiController@create');
|
||||
|
||||
Route::group(['prefix' => '{id}'], function(){
|
||||
Route::get('', "ClientApiController@get");
|
||||
Route::put('', array('middleware' => ['oauth2.currentuser.allow.client.edition'], 'uses' => 'ClientApiController@update'));
|
||||
Route::delete('', array('middleware' => ['oauth2.currentuser.owns.client'], 'uses' => 'ClientApiController@delete'));
|
||||
// particular settings
|
||||
|
||||
Route::delete('lock', array('middleware' => ['openstackid.currentuser.serveradmin.json'], 'uses' => 'ClientApiController@unlock'));
|
||||
Route::put('secret', array('middleware' => ['oauth2.currentuser.owns.client'], 'uses' => 'ClientApiController@regenerateClientSecret'));
|
||||
Route::put('use-refresh-tokens/{use_refresh_token}', array('middleware' => ['oauth2.currentuser.allow.client.edition'], 'uses' => 'ClientApiController@setRefreshTokenClient'));
|
||||
Route::put('rotate-refresh-tokens/{rotate_refresh_token}', array('middleware' => ['oauth2.currentuser.allow.client.edition'], 'uses' => 'ClientApiController@setRotateRefreshTokenPolicy'));
|
||||
Route::get('access-tokens', array('middleware' => ['oauth2.currentuser.allow.client.edition'], 'uses' => 'ClientApiController@getAccessTokens'));
|
||||
Route::get('refresh-tokens', array('middleware' => ['oauth2.currentuser.allow.client.edition'], 'uses' => 'ClientApiController@getRefreshTokens'));
|
||||
|
||||
// public keys
|
||||
Route::group(['prefix' => 'public_keys'], function(){
|
||||
Route::post('', array('middleware' => ['oauth2.currentuser.allow.client.edition'], 'uses' => 'ClientPublicKeyApiController@_create'));
|
||||
Route::get('', array('middleware' => ['oauth2.currentuser.allow.client.edition'], 'uses' => 'ClientPublicKeyApiController@getAll'));
|
||||
Route::group(['prefix' => '{public_key_id}'], function(){
|
||||
Route::delete('', array('middleware' => ['oauth2.currentuser.allow.client.edition'], 'uses' => 'ClientPublicKeyApiController@_delete'));
|
||||
Route::put('', array('middleware' => ['oauth2.currentuser.allow.client.edition'], 'uses' => 'ClientPublicKeyApiController@_update'));
|
||||
});
|
||||
});
|
||||
//allowed redirect uris endpoints
|
||||
Route::group(['prefix' => 'uris'], function(){
|
||||
Route::get('', array('middleware' => ['oauth2.currentuser.allow.client.edition'], 'uses' => 'ClientApiController@getRegisteredUris'));
|
||||
Route::post('', array('middleware' => ['oauth2.currentuser.allow.client.edition'], 'uses' => 'ClientApiController@addAllowedRedirectUri'));
|
||||
Route::delete('{uri_id}', array('middleware' => ['oauth2.currentuser.allow.client.edition'], 'uses' => 'ClientApiController@deleteClientAllowedUri'));
|
||||
});
|
||||
|
||||
// allowed origins
|
||||
Route::group(['prefix' => 'origins'], function(){
|
||||
Route::post('', array('middleware' => ['oauth2.currentuser.allow.client.edition'], 'uses' => 'ClientApiController@addAllowedOrigin'));
|
||||
Route::delete('{origin_id}', array('middleware' => ['oauth2.currentuser.allow.client.edition'], 'uses' => 'ClientApiController@deleteClientAllowedOrigin'));
|
||||
|
||||
});
|
||||
|
||||
Route::delete('token/{value}/{hint}', array('middleware' => ['oauth2.currentuser.allow.client.edition'], 'uses' => 'ClientApiController@revokeToken'));
|
||||
// scopes
|
||||
Route::group(['prefix' => 'scopes'], function(){
|
||||
Route::put('{scope_id}', array('middleware' => ['oauth2.currentuser.allow.client.edition'], 'uses' => 'ClientApiController@addAllowedScope'));
|
||||
Route::delete('{scope_id}', array('middleware' => ['oauth2.currentuser.allow.client.edition'], 'uses' => 'ClientApiController@removeAllowedScope'));
|
||||
});
|
||||
|
||||
Route::put('active', array('middleware' => ['oauth2.currentuser.owns.client'], 'uses' => 'ClientApiController@activate'));
|
||||
Route::delete('active', array('middleware' => ['oauth2.currentuser.owns.client'], 'uses' => 'ClientApiController@deactivate'));
|
||||
});
|
||||
|
||||
Route::group(['prefix' => 'me'], function(){
|
||||
Route::get('access-tokens', array('middleware' => [], 'uses' => 'ClientApiController@getAccessTokensByCurrentUser'));
|
||||
Route::get('refresh-tokens', array('middleware' => [], 'uses' => 'ClientApiController@getRefreshTokensByCurrentUser'));
|
||||
});
|
||||
});
|
||||
|
||||
// resource servers
|
||||
Route::group(array('prefix' => 'resource-servers', 'middleware' => ['oauth2.currentuser.serveradmin.json']), function () {
|
||||
|
||||
Route::get('', "ApiResourceServerController@getAll");
|
||||
Route::post('', "ApiResourceServerController@create");
|
||||
|
||||
Route::group(['prefix' => '{id}'], function(){
|
||||
Route::get('', "ApiResourceServerController@get");
|
||||
Route::delete('', "ApiResourceServerController@delete");
|
||||
Route::put('', "ApiResourceServerController@update");
|
||||
Route::put('client-secret', "ApiResourceServerController@regenerateClientSecret");
|
||||
Route::put('active', "ApiResourceServerController@activate");
|
||||
Route::delete('active', "ApiResourceServerController@deactivate");
|
||||
});
|
||||
});
|
||||
|
||||
// api scope groups
|
||||
Route::group(['prefix' => 'api-scope-groups', 'middleware' => ['oauth2.currentuser.serveradmin.json']], function () {
|
||||
Route::get('', "ApiScopeGroupController@getAll");
|
||||
Route::post('', "ApiScopeGroupController@create");
|
||||
|
||||
Route::group(['prefix' => '{id}'], function(){
|
||||
Route::put('', "ApiScopeGroupController@update");
|
||||
Route::get('', "ApiScopeGroupController@get");
|
||||
Route::delete('', "ApiScopeGroupController@delete");
|
||||
Route::put('/active', "ApiScopeGroupController@activate");
|
||||
Route::delete('/active', "ApiScopeGroupController@deactivate");
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
// apis
|
||||
Route::group(['prefix' => 'apis', 'middleware' => ['oauth2.currentuser.serveradmin.json']], function () {
|
||||
|
||||
Route::get('', "ApiController@getAll");
|
||||
Route::post('', "ApiController@create");
|
||||
|
||||
Route::group(['prefix' => '{id}'], function(){
|
||||
Route::get('', "ApiController@get");
|
||||
Route::delete('', "ApiController@delete");
|
||||
Route::put('', "ApiController@update");
|
||||
Route::put('/active', "ApiController@activate");
|
||||
Route::delete('/active', "ApiController@deactivate");
|
||||
});
|
||||
});
|
||||
|
||||
// scopes
|
||||
Route::group(['prefix' => 'scopes', 'middleware' => ['oauth2.currentuser.serveradmin.json']], function () {
|
||||
|
||||
Route::get('/', "ApiScopeController@getAll");
|
||||
Route::post('/', "ApiScopeController@create");
|
||||
|
||||
Route::group(['prefix' => '{id}'], function(){
|
||||
Route::get('', "ApiScopeController@get");
|
||||
Route::delete('', "ApiScopeController@delete");
|
||||
Route::put('', "ApiScopeController@update");
|
||||
Route::put('/active', "ApiScopeController@activate");
|
||||
Route::delete('/active', "ApiScopeController@deactivate");
|
||||
});
|
||||
});
|
||||
|
||||
// endpoints
|
||||
Route::group(['prefix' => 'endpoints', 'middleware' => ['oauth2.currentuser.serveradmin.json']], function () {
|
||||
|
||||
Route::get('', "ApiEndpointController@getAll");
|
||||
Route::post('', "ApiEndpointController@create");
|
||||
|
||||
Route::group(['prefix' => '{id}'], function(){
|
||||
Route::get('', "ApiEndpointController@get");
|
||||
Route::delete('', "ApiEndpointController@delete");
|
||||
Route::put('', "ApiEndpointController@update");
|
||||
Route::put('/active', "ApiEndpointController@activate");
|
||||
Route::delete('/active', "ApiEndpointController@deactivate");
|
||||
Route::group(['prefix' => 'scope'], function(){
|
||||
Route::group(['prefix' => '{scope_id}'], function(){
|
||||
Route::put('', "ApiEndpointController@addRequiredScope");
|
||||
Route::delete('', "ApiEndpointController@removeRequiredScope");
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
// private keys
|
||||
Route::group(array('prefix' => 'private-keys', 'middleware' => ['oauth2.currentuser.serveradmin.json']), function () {
|
||||
Route::get('', "ServerPrivateKeyApiController@getAll");
|
||||
Route::post('', "ServerPrivateKeyApiController@create");
|
||||
|
||||
Route::group(['prefix' => '{id}'], function(){
|
||||
Route::delete('', "ServerPrivateKeyApiController@delete");
|
||||
Route::put('', "ServerPrivateKeyApiController@update");
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
});
|
||||
|
||||
// OAuth2 Protected API
|
||||
|
||||
Route::group(
|
||||
[
|
||||
'namespace' => 'App\Http\Controllers\Api\OAuth2',
|
||||
'prefix' => 'api/v1',
|
||||
'middleware' => [
|
||||
'ssl',
|
||||
'oauth2.endpoint',
|
||||
]
|
||||
], function () {
|
||||
|
||||
Route::group(['prefix' => 'users'], function () {
|
||||
Route::get('', 'OAuth2UserApiController@getAll');
|
||||
Route::get('/{id}', 'OAuth2UserApiController@get');
|
||||
|
||||
Route::group(['prefix' => 'me'], function () {
|
||||
Route::get('', 'OAuth2UserApiController@me');
|
||||
Route::match(['options','put'],'','OAuth2UserApiController@UpdateMe');
|
||||
Route::group(['prefix' => 'pic'], function () {
|
||||
Route::match(['options','put'],'','OAuth2UserApiController@UpdateMyPic');
|
||||
});
|
||||
});
|
||||
|
||||
Route::get('/info', 'OAuth2UserApiController@userInfo');
|
||||
Route::post('/info', 'OAuth2UserApiController@userInfo');
|
||||
});
|
||||
|
||||
Route::group(['prefix' => 'user-registration-requests'], function(){
|
||||
Route::match(['options','post'],'', 'OAuth2UserRegistrationRequestApiController@register');
|
||||
});
|
||||
|
||||
// 3rd Party SSO integrations
|
||||
|
||||
Route::group(['prefix' => 'sso'], function () {
|
||||
|
||||
Route::group(['prefix' => 'disqus'], function () {
|
||||
Route::group(['prefix' => '{forum_slug}'], function () {
|
||||
Route::get('profile', 'OAuth2DisqusSSOApiController@getUserProfile');
|
||||
});
|
||||
});
|
||||
|
||||
Route::group(['prefix' => 'rocket-chat'], function () {
|
||||
Route::group(['prefix' => '{forum_slug}'], function () {
|
||||
Route::get('profile', 'OAuth2RocketChatSSOApiController@getUserProfile');
|
||||
});
|
||||
});
|
||||
|
||||
Route::group(['prefix' => 'stream-chat'], function () {
|
||||
Route::group(['prefix' => '{forum_slug}'], function () {
|
||||
Route::get('profile', 'OAuth2StreamChatSSOApiController@getUserProfile');
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
@ -54,10 +54,10 @@ class ApiScope extends BaseEntity
|
||||
private $default;
|
||||
|
||||
/**
|
||||
* @ORM\Column(name="`system`", type="boolean")
|
||||
* @ORM\Column(name="`is_system`", type="boolean")
|
||||
* @var bool
|
||||
*/
|
||||
private $system;
|
||||
private $is_system;
|
||||
|
||||
/**
|
||||
* @ORM\Column(name="`assigned_by_groups`", type="boolean")
|
||||
@ -86,7 +86,7 @@ class ApiScope extends BaseEntity
|
||||
$this->short_description = null;
|
||||
$this->active = false;
|
||||
$this->default = false;
|
||||
$this->system = false;
|
||||
$this->is_system = false;
|
||||
$this->assigned_by_groups = false;
|
||||
$this->scope_groups = new ArrayCollection();
|
||||
}
|
||||
@ -144,21 +144,21 @@ class ApiScope extends BaseEntity
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getApiName():string{
|
||||
public function getApiName():?string{
|
||||
return $this->hasApi() ? $this->getApi()->getName(): null;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getApiDescription():string{
|
||||
public function getApiDescription():?string{
|
||||
return $this->hasApi() ? $this->getApi()->getDescription(): null;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getApiLogo():string{
|
||||
public function getApiLogo():?string{
|
||||
return $this->hasApi() ? $this->getApi()->getLogo(): null;
|
||||
}
|
||||
|
||||
@ -247,15 +247,15 @@ class ApiScope extends BaseEntity
|
||||
*/
|
||||
public function isSystem(): bool
|
||||
{
|
||||
return $this->system;
|
||||
return $this->is_system;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param bool $system
|
||||
* @param bool $is_system
|
||||
*/
|
||||
public function setSystem(bool $system): void
|
||||
public function setSystem(bool $is_system): void
|
||||
{
|
||||
$this->system = $system;
|
||||
$this->is_system = $is_system;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -281,6 +281,8 @@ class ApiScope extends BaseEntity
|
||||
public function __get($name) {
|
||||
if($name == 'api_id')
|
||||
return $this->getApiId();
|
||||
if($name == 'system')
|
||||
return $this->isSystem();
|
||||
return $this->{$name};
|
||||
}
|
||||
}
|
@ -13,6 +13,7 @@
|
||||
**/
|
||||
use Illuminate\Routing\Router;
|
||||
use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
/**
|
||||
* Class RouteServiceProvider
|
||||
* @package App\Providers
|
||||
@ -47,7 +48,46 @@ final class RouteServiceProvider extends ServiceProvider
|
||||
*/
|
||||
public function map(Router $router)
|
||||
{
|
||||
require app_path('Http/routes.php');
|
||||
Route::pattern('id', '[0-9]+');
|
||||
Route::pattern('uri_id', '[0-9]+');
|
||||
Route::pattern('active', '(true|false)');
|
||||
Route::pattern('hint', '(access-token|refresh-token)');
|
||||
Route::pattern('scope_id', '[0-9]+');
|
||||
|
||||
$this->mapApiRoutes();
|
||||
|
||||
$this->mapWebRoutes();
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Define the "web" routes for the application.
|
||||
*
|
||||
* These routes all receive session state, CSRF protection, etc.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
protected function mapWebRoutes()
|
||||
{
|
||||
Route::middleware('web')
|
||||
->namespace($this->namespace)
|
||||
->group(base_path('routes/web.php'));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Define the "api" routes for the application.
|
||||
*
|
||||
* These routes are typically stateless.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
protected function mapApiRoutes()
|
||||
{
|
||||
Route::middleware('api')
|
||||
->namespace('App\Http\Controllers\Api\OAuth2')
|
||||
->prefix('api/v1')
|
||||
->group(base_path('routes/api.php'));
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -32,6 +32,7 @@ use App\Repositories\IServerExtensionRepository;
|
||||
use Auth\Group;
|
||||
use Auth\User;
|
||||
use Auth\UserPasswordResetRequest;
|
||||
use Illuminate\Contracts\Support\DeferrableProvider;
|
||||
use Illuminate\Support\Facades\App;
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
use Models\BannedIP;
|
||||
@ -70,10 +71,8 @@ use OpenId\Repositories\IOpenIdTrustedSiteRepository;
|
||||
* Class RepositoriesProvider
|
||||
* @package Repositories
|
||||
*/
|
||||
final class RepositoriesProvider extends ServiceProvider
|
||||
final class RepositoriesProvider extends ServiceProvider implements DeferrableProvider
|
||||
{
|
||||
protected $defer = true;
|
||||
|
||||
public function boot(){
|
||||
}
|
||||
|
||||
|
@ -320,7 +320,7 @@ final class UserService extends AbstractService implements IUserService
|
||||
$user = $request->getOwner();
|
||||
$user->setPassword($new_password);
|
||||
$request->redeem();
|
||||
Event::fire(new UserPasswordResetSuccessful($user->getId()));
|
||||
Event::dispatch(new UserPasswordResetSuccessful($user->getId()));
|
||||
return $user;
|
||||
});
|
||||
}
|
||||
@ -417,7 +417,7 @@ final class UserService extends AbstractService implements IUserService
|
||||
$request->setOwner($user);
|
||||
$request->redeem();
|
||||
$this->user_repository->add($user);
|
||||
Event::fire(new UserPasswordResetSuccessful($user->getId()));
|
||||
Event::dispatch(new UserPasswordResetSuccessful($user->getId()));
|
||||
return $request;
|
||||
});
|
||||
}
|
||||
|
@ -123,8 +123,8 @@ final class ClientService extends AbstractService implements IClientService
|
||||
|
||||
if
|
||||
(
|
||||
Input::has(OAuth2Protocol::OAuth2Protocol_ClientAssertionType) &&
|
||||
Input::has(OAuth2Protocol::OAuth2Protocol_ClientAssertion)
|
||||
Request::has(OAuth2Protocol::OAuth2Protocol_ClientAssertionType) &&
|
||||
Request::has(OAuth2Protocol::OAuth2Protocol_ClientAssertion)
|
||||
)
|
||||
{
|
||||
Log::debug
|
||||
@ -139,8 +139,8 @@ final class ClientService extends AbstractService implements IClientService
|
||||
|
||||
return new ClientAssertionAuthenticationContext
|
||||
(
|
||||
Input::get(OAuth2Protocol::OAuth2Protocol_ClientAssertionType, ''),
|
||||
Input::get(OAuth2Protocol::OAuth2Protocol_ClientAssertion, '')
|
||||
Request::input(OAuth2Protocol::OAuth2Protocol_ClientAssertionType, ''),
|
||||
Request::input(OAuth2Protocol::OAuth2Protocol_ClientAssertion, '')
|
||||
);
|
||||
}
|
||||
|
||||
@ -189,7 +189,7 @@ final class ClientService extends AbstractService implements IClientService
|
||||
);
|
||||
}
|
||||
|
||||
if(Input::has(OAuth2Protocol::OAuth2Protocol_ClientId))
|
||||
if(Request::has(OAuth2Protocol::OAuth2Protocol_ClientId))
|
||||
{
|
||||
Log::debug
|
||||
(
|
||||
@ -204,14 +204,14 @@ final class ClientService extends AbstractService implements IClientService
|
||||
$client_secret = null;
|
||||
$auth_type = OAuth2Protocol::TokenEndpoint_AuthMethod_None;
|
||||
|
||||
if(Input::has(OAuth2Protocol::OAuth2Protocol_ClientSecret)){
|
||||
$client_secret = urldecode(Input::get(OAuth2Protocol::OAuth2Protocol_ClientSecret, ''));
|
||||
if(Request::has(OAuth2Protocol::OAuth2Protocol_ClientSecret)){
|
||||
$client_secret = urldecode(Request::input(OAuth2Protocol::OAuth2Protocol_ClientSecret, ''));
|
||||
$auth_type = OAuth2Protocol::TokenEndpoint_AuthMethod_ClientSecretPost;
|
||||
}
|
||||
|
||||
return new ClientCredentialsAuthenticationContext
|
||||
(
|
||||
urldecode(Input::get(OAuth2Protocol::OAuth2Protocol_ClientId, '')),
|
||||
urldecode(Request::input(OAuth2Protocol::OAuth2Protocol_ClientId, '')),
|
||||
$client_secret,
|
||||
$auth_type
|
||||
);
|
||||
@ -446,7 +446,7 @@ final class ClientService extends AbstractService implements IClientService
|
||||
if (is_null($client) || !$client instanceof Client) {
|
||||
throw new EntityNotFoundException(sprintf("client id %s does not exists!", $id));
|
||||
}
|
||||
Event::fire('oauth2.client.delete', [$client->getClientId()]);
|
||||
Event::dispatch('oauth2.client.delete', [$client->getClientId()]);
|
||||
$this->client_repository->delete($client);
|
||||
});
|
||||
}
|
||||
@ -485,7 +485,7 @@ final class ClientService extends AbstractService implements IClientService
|
||||
$client = $this->client_credential_generator->generate($client, true);
|
||||
$client->setEditedBy($current_user);
|
||||
|
||||
Event::fire('oauth2.client.regenerate.secret', array($client->getClientId()));
|
||||
Event::dispatch('oauth2.client.regenerate.secret', array($client->getClientId()));
|
||||
|
||||
return $client;
|
||||
});
|
||||
@ -506,7 +506,7 @@ final class ClientService extends AbstractService implements IClientService
|
||||
}
|
||||
$client->setLocked(true);
|
||||
$client->setEditedBy($this->auth_service->getCurrentUser());
|
||||
Event::fire(new OAuth2ClientLocked($client->getClientId()));
|
||||
Event::dispatch(new OAuth2ClientLocked($client->getClientId()));
|
||||
return $client;
|
||||
});
|
||||
|
||||
|
@ -13,6 +13,7 @@
|
||||
**/
|
||||
|
||||
use App\Http\Utils\IUserIPHelperProvider;
|
||||
use Illuminate\Contracts\Support\DeferrableProvider;
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
use OAuth2\Services\AccessTokenGenerator;
|
||||
use OAuth2\Services\AuthorizationCodeGenerator;
|
||||
@ -25,10 +26,8 @@ use Illuminate\Support\Facades\App;
|
||||
* Class OAuth2ServiceProvider
|
||||
* @package Services\OAuth2
|
||||
*/
|
||||
final class OAuth2ServiceProvider extends ServiceProvider
|
||||
final class OAuth2ServiceProvider extends ServiceProvider implements DeferrableProvider
|
||||
{
|
||||
protected $defer = true;
|
||||
|
||||
public function boot()
|
||||
{
|
||||
}
|
||||
|
@ -42,7 +42,9 @@ final class PrincipalService implements IPrincipalService
|
||||
$op_browser_state = Session::get(self::OPBrowserState);
|
||||
|
||||
Log::debug(sprintf("PrincipalService::get - user_id %s auth_time %s op_browser_state %s", $user_id, $auth_time, $op_browser_state));
|
||||
// overwrite it
|
||||
|
||||
// overwrite it just in case
|
||||
|
||||
Cookie::queue
|
||||
(
|
||||
IPrincipalService::OP_BROWSER_STATE_COOKIE_NAME,
|
||||
@ -55,7 +57,6 @@ final class PrincipalService implements IPrincipalService
|
||||
$raw = false,
|
||||
$sameSite = 'none'
|
||||
);
|
||||
|
||||
$principal->setState
|
||||
(
|
||||
[
|
||||
|
@ -14,6 +14,7 @@
|
||||
use OpenId\Requests\OpenIdMessageMemento;
|
||||
use OpenId\Services\IMementoOpenIdSerializerService;
|
||||
use Illuminate\Support\Facades\Session;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
/**
|
||||
* Class OpenIdMementoSessionSerializerService
|
||||
* @package Services\OpenId
|
||||
@ -28,6 +29,7 @@ class OpenIdMementoSessionSerializerService implements IMementoOpenIdSerializerS
|
||||
public function serialize(OpenIdMessageMemento $memento)
|
||||
{
|
||||
$state = base64_encode(json_encode($memento->getState()));
|
||||
Log::debug(sprintf("OpenIdMementoSessionSerializerService::serialize %s", $state));
|
||||
Session::put('openid.request.state', $state);
|
||||
Session::save();
|
||||
}
|
||||
@ -37,9 +39,14 @@ class OpenIdMementoSessionSerializerService implements IMementoOpenIdSerializerS
|
||||
*/
|
||||
public function load()
|
||||
{
|
||||
Log::debug(sprintf("OpenIdMementoSessionSerializerService::load"));
|
||||
|
||||
$state = Session::get('openid.request.state', null);
|
||||
|
||||
if(is_null($state)) return null;
|
||||
if(is_null($state)) {
|
||||
Log::warning(sprintf("OpenIdMementoSessionSerializerService::load openid.request.state is null"));
|
||||
return null;
|
||||
}
|
||||
|
||||
$state = json_decode( base64_decode($state), true);
|
||||
|
||||
@ -51,6 +58,7 @@ class OpenIdMementoSessionSerializerService implements IMementoOpenIdSerializerS
|
||||
*/
|
||||
public function forget()
|
||||
{
|
||||
Log::debug(sprintf("OpenIdMementoSessionSerializerService::forget"));
|
||||
Session::remove('openid.request.state');
|
||||
Session::save();
|
||||
}
|
||||
@ -60,6 +68,7 @@ class OpenIdMementoSessionSerializerService implements IMementoOpenIdSerializerS
|
||||
*/
|
||||
public function exists()
|
||||
{
|
||||
Log::debug(sprintf("OpenIdMementoSessionSerializerService::exists"));
|
||||
return Session::has('openid.request.state');
|
||||
}
|
||||
}
|
@ -11,6 +11,8 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
**/
|
||||
|
||||
use Illuminate\Contracts\Support\DeferrableProvider;
|
||||
use Illuminate\Support\Facades\App;
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
use OpenId\Services\NonceUniqueIdentifierGenerator;
|
||||
@ -20,9 +22,7 @@ use Utils\Services\UtilsServiceCatalog;
|
||||
* Class OpenIdProvider
|
||||
* @package Services\OpenId
|
||||
*/
|
||||
final class OpenIdProvider extends ServiceProvider {
|
||||
|
||||
protected $defer = true;
|
||||
final class OpenIdProvider extends ServiceProvider implements DeferrableProvider {
|
||||
|
||||
/**
|
||||
* Register the service provider.
|
||||
|
@ -292,12 +292,12 @@ final class UserService extends AbstractService implements IUserService
|
||||
if($former_email != $user->getEmail()){
|
||||
Log::warning(sprintf("UserService::update use id %s - email changed old %s - email new %s", $id, $former_email , $user->getEmail()));
|
||||
$user->clearEmailVerification();
|
||||
Event::fire(new UserEmailUpdated($user->getId()));
|
||||
Event::dispatch(new UserEmailUpdated($user->getId()));
|
||||
}
|
||||
|
||||
if($former_password != $user->getPassword()){
|
||||
Log::warning(sprintf("UserService::update use id %s - password changed", $id));
|
||||
Event::fire(new UserPasswordResetSuccessful($user->getId()));
|
||||
Event::dispatch(new UserPasswordResetSuccessful($user->getId()));
|
||||
}
|
||||
return $user;
|
||||
});
|
||||
|
@ -24,6 +24,7 @@ use App\Services\Auth\RocketChatSSOService;
|
||||
use App\Services\Auth\StreamChatSSOService;
|
||||
use App\Services\Auth\IStreamChatSSOService;
|
||||
use App\Services\Auth\UserService;
|
||||
use Illuminate\Contracts\Support\DeferrableProvider;
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
use Services\SecurityPolicies\AuthorizationCodeRedeemPolicy;
|
||||
use Services\SecurityPolicies\OAuth2SecurityPolicy;
|
||||
@ -35,10 +36,8 @@ use Illuminate\Support\Facades\App;
|
||||
* Class ServicesProvider
|
||||
* @package Services
|
||||
*/
|
||||
final class ServicesProvider extends ServiceProvider
|
||||
final class ServicesProvider extends ServiceProvider implements DeferrableProvider
|
||||
{
|
||||
protected $defer = true;
|
||||
|
||||
public function boot(){
|
||||
}
|
||||
|
||||
|
@ -14,6 +14,7 @@
|
||||
use App\Models\Utils\BaseEntity;
|
||||
use App\Repositories\IServerConfigurationRepository;
|
||||
use App\Services\Utils\DoctrineTransactionService;
|
||||
use Illuminate\Contracts\Support\DeferrableProvider;
|
||||
use Utils\Services\UtilsServiceCatalog;
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
use Illuminate\Support\Facades\App;
|
||||
@ -21,9 +22,7 @@ use Illuminate\Support\Facades\App;
|
||||
* Class UtilsProvider
|
||||
* @package Services\Utils
|
||||
*/
|
||||
final class UtilsProvider extends ServiceProvider {
|
||||
|
||||
protected $defer = true;
|
||||
final class UtilsProvider extends ServiceProvider implements DeferrableProvider {
|
||||
|
||||
/**
|
||||
* Register the service provider.
|
||||
|
@ -11,6 +11,8 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
**/
|
||||
|
||||
use Illuminate\Contracts\Support\DeferrableProvider;
|
||||
use Illuminate\Support\Facades\App;
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
use OAuth2\Responses\OAuth2DirectResponse;
|
||||
@ -26,11 +28,9 @@ use OAuth2\Services\OAuth2ServiceCatalog;
|
||||
* Class StrategyProvider
|
||||
* @package Strategies
|
||||
*/
|
||||
final class StrategyProvider extends ServiceProvider
|
||||
final class StrategyProvider extends ServiceProvider implements DeferrableProvider
|
||||
{
|
||||
|
||||
protected $defer = true;
|
||||
|
||||
public function boot()
|
||||
{
|
||||
}
|
||||
|
@ -293,6 +293,7 @@ final class AuthService implements IAuthService
|
||||
$rps .= '|';
|
||||
}
|
||||
if(is_null($rps)) $rps = "";
|
||||
|
||||
if (!str_contains($rps, $client_id))
|
||||
$rps .= $client_id;
|
||||
|
||||
|
@ -11,6 +11,8 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
**/
|
||||
|
||||
use Illuminate\Contracts\Support\DeferrableProvider;
|
||||
use Illuminate\Support\Facades\App;
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
use Utils\Services\UtilsServiceCatalog;
|
||||
@ -18,11 +20,9 @@ use Utils\Services\UtilsServiceCatalog;
|
||||
* Class AuthenticationServiceProvider
|
||||
* @package auth
|
||||
*/
|
||||
final class AuthenticationServiceProvider extends ServiceProvider
|
||||
final class AuthenticationServiceProvider extends ServiceProvider implements DeferrableProvider
|
||||
{
|
||||
|
||||
protected $defer = true;
|
||||
|
||||
public function boot()
|
||||
{
|
||||
}
|
||||
|
@ -889,7 +889,7 @@ class User extends BaseEntity
|
||||
public function lock()
|
||||
{
|
||||
$this->deActivate();
|
||||
Event::fire(new UserLocked($this->getId()));
|
||||
Event::dispatch(new UserLocked($this->getId()));
|
||||
return $this;
|
||||
}
|
||||
|
||||
@ -1463,7 +1463,7 @@ SQL;
|
||||
if(!$this->active) {
|
||||
$this->active = true;
|
||||
$this->spam_type = self::SpamTypeHam;
|
||||
Event::fire(new UserSpamStateUpdated(
|
||||
Event::dispatch(new UserSpamStateUpdated(
|
||||
$this->getId()
|
||||
)
|
||||
);
|
||||
@ -1474,7 +1474,7 @@ SQL;
|
||||
if( $this->active) {
|
||||
$this->active = false;
|
||||
$this->spam_type = self::SpamTypeSpam;
|
||||
Event::fire(new UserSpamStateUpdated(
|
||||
Event::dispatch(new UserSpamStateUpdated(
|
||||
$this->getId()
|
||||
)
|
||||
);
|
||||
@ -1494,11 +1494,11 @@ SQL;
|
||||
$this->active = true;
|
||||
$this->lock = false;
|
||||
$this->email_verified_date = new \DateTime('now', new \DateTimeZone('UTC'));
|
||||
Event::fire(new UserEmailVerified(
|
||||
Event::dispatch(new UserEmailVerified(
|
||||
$this->getId()
|
||||
)
|
||||
);
|
||||
Event::fire(new UserSpamStateUpdated(
|
||||
Event::dispatch(new UserSpamStateUpdated(
|
||||
$this->getId()
|
||||
)
|
||||
);
|
||||
@ -1561,7 +1561,7 @@ SQL;
|
||||
*/
|
||||
public function postPersist($args)
|
||||
{
|
||||
Event::fire(new UserCreated($this->getId()));
|
||||
Event::dispatch(new UserCreated($this->getId()));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1585,7 +1585,7 @@ SQL;
|
||||
// enqueue user for spam re checker
|
||||
Log::warning(sprintf("User::preUpdate user %s was marked for spam type reclasification.", $this->email));
|
||||
$this->resetSpamTypeClassification();
|
||||
Event::fire(new UserSpamStateUpdated($this->getId()));
|
||||
Event::dispatch(new UserSpamStateUpdated($this->getId()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -165,6 +165,6 @@ class UserPasswordResetRequest extends BaseEntity
|
||||
* @ORM\PostPersist
|
||||
*/
|
||||
public function inserted($args){
|
||||
Event::fire(new UserPasswordResetRequestCreated($this->getId()));
|
||||
Event::dispatch(new UserPasswordResetRequestCreated($this->getId()));
|
||||
}
|
||||
}
|
@ -11,15 +11,16 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
**/
|
||||
|
||||
use Illuminate\Contracts\Support\DeferrableProvider;
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
use Illuminate\Support\Facades\App;
|
||||
/**
|
||||
* Class OAuth2ServiceProvider
|
||||
* @package OAuth2
|
||||
*/
|
||||
final class OAuth2ServiceProvider extends ServiceProvider
|
||||
final class OAuth2ServiceProvider extends ServiceProvider implements DeferrableProvider
|
||||
{
|
||||
protected $defer = true;
|
||||
|
||||
public function boot()
|
||||
{
|
||||
|
@ -11,6 +11,8 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
**/
|
||||
|
||||
use Illuminate\Contracts\Support\DeferrableProvider;
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
use OpenId\Extensions\OpenIdAuthenticationExtension;
|
||||
use OpenId\Services\OpenIdServiceCatalog;
|
||||
@ -21,9 +23,7 @@ use Illuminate\Support\Facades\App;
|
||||
* Register dependencies with IOC container for package openid
|
||||
* @package OpenId
|
||||
*/
|
||||
class OpenIdServiceProvider extends ServiceProvider {
|
||||
|
||||
protected $defer = true;
|
||||
class OpenIdServiceProvider extends ServiceProvider implements DeferrableProvider {
|
||||
|
||||
public function boot(){
|
||||
}
|
||||
|
176
app/libs/Utils/Doctrine/EscapingQuoteStrategy.php
Normal file
176
app/libs/Utils/Doctrine/EscapingQuoteStrategy.php
Normal file
@ -0,0 +1,176 @@
|
||||
<?php namespace App\libs\Utils\Doctrine;
|
||||
/**
|
||||
* Copyright 2021 OpenStack Foundation
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
**/
|
||||
|
||||
use Doctrine\DBAL\Platforms\AbstractPlatform;
|
||||
use Doctrine\ORM\Mapping\QuoteStrategy;
|
||||
use Doctrine\ORM\Mapping\ClassMetadata;
|
||||
|
||||
/**
|
||||
* A set of rules for determining the physical column, alias and table quotes and automatically escape database reserved
|
||||
* keyword.
|
||||
*
|
||||
*/
|
||||
class EscapingQuoteStrategy implements QuoteStrategy
|
||||
{
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getColumnName($fieldName, ClassMetadata $class, AbstractPlatform $platform)
|
||||
{
|
||||
if (isset($class->fieldMappings[$fieldName]['quoted'])) {
|
||||
return $platform->quoteIdentifier($class->fieldMappings[$fieldName]['columnName']);
|
||||
}
|
||||
$reservedKeyList = $platform->getReservedKeywordsList();
|
||||
if ($reservedKeyList->isKeyword($fieldName)) {
|
||||
return $platform->quoteIdentifier($class->fieldMappings[$fieldName]['columnName']);
|
||||
}
|
||||
|
||||
return $class->fieldMappings[$fieldName]['columnName'];
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getTableName(ClassMetadata $class, AbstractPlatform $platform)
|
||||
{
|
||||
if (isset($class->table['quoted'])) {
|
||||
return $platform->quoteIdentifier($class->table['name']);
|
||||
}
|
||||
$reservedKeyList = $platform->getReservedKeywordsList();
|
||||
if ($reservedKeyList->isKeyword($class->table['name'])) {
|
||||
return $platform->quoteIdentifier($class->table['name']);
|
||||
}
|
||||
|
||||
return $class->table['name'];
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getSequenceName(array $definition, ClassMetadata $class, AbstractPlatform $platform)
|
||||
{
|
||||
if (isset($definition['quoted'])) {
|
||||
return $platform->quoteIdentifier($class->table['name']);
|
||||
}
|
||||
$reservedKeyList = $platform->getReservedKeywordsList();
|
||||
if ($reservedKeyList->isKeyword($definition['sequenceName'])) {
|
||||
return $platform->quoteIdentifier($definition['sequenceName']);
|
||||
}
|
||||
|
||||
return $definition['sequenceName'];
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getJoinColumnName(array $joinColumn, ClassMetadata $class, AbstractPlatform $platform)
|
||||
{
|
||||
if (isset($joinColumn['quoted'])) {
|
||||
return $platform->quoteIdentifier($joinColumn['name']);
|
||||
}
|
||||
$reservedKeyList = $platform->getReservedKeywordsList();
|
||||
if ($reservedKeyList->isKeyword($joinColumn['name'])) {
|
||||
return $platform->quoteIdentifier($joinColumn['name']);
|
||||
}
|
||||
|
||||
return $joinColumn['name'];
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getReferencedJoinColumnName(array $joinColumn, ClassMetadata $class, AbstractPlatform $platform)
|
||||
{
|
||||
if (isset($joinColumn['quoted'])) {
|
||||
return $platform->quoteIdentifier($joinColumn['referencedColumnName']);
|
||||
}
|
||||
$reservedKeyList = $platform->getReservedKeywordsList();
|
||||
if ($reservedKeyList->isKeyword($joinColumn['referencedColumnName'])) {
|
||||
return $platform->quoteIdentifier($joinColumn['referencedColumnName']);
|
||||
}
|
||||
|
||||
return $joinColumn['referencedColumnName'];
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getJoinTableName(array $association, ClassMetadata $class, AbstractPlatform $platform)
|
||||
{
|
||||
if (isset($association['joinTable']['quoted'])) {
|
||||
return $platform->quoteIdentifier($association['joinTable']['name']);
|
||||
}
|
||||
$reservedKeyList = $platform->getReservedKeywordsList();
|
||||
if ($reservedKeyList->isKeyword($association['joinTable']['name'])) {
|
||||
return $platform->quoteIdentifier($association['joinTable']['name']);
|
||||
}
|
||||
|
||||
return $association['joinTable']['name'];
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getIdentifierColumnNames(ClassMetadata $class, AbstractPlatform $platform)
|
||||
{
|
||||
$quotedColumnNames = array();
|
||||
|
||||
foreach ($class->identifier as $fieldName) {
|
||||
if (isset($class->fieldMappings[$fieldName])) {
|
||||
$quotedColumnNames[] = $this->getColumnName($fieldName, $class, $platform);
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
// Association defined as Id field
|
||||
$joinColumns = $class->associationMappings[$fieldName]['joinColumns'];
|
||||
$assocQuotedColumnNames = array_map(
|
||||
function ($joinColumn) use ($platform) {
|
||||
if (isset($joinColumn['quoted'])) {
|
||||
return $platform->quoteIdentifier($joinColumn['name']);
|
||||
}
|
||||
$reservedKeyList = $platform->getReservedKeywordsList();
|
||||
if ($reservedKeyList->isKeyword($joinColumn['name'])) {
|
||||
return $platform->quoteIdentifier($joinColumn['name']);
|
||||
}
|
||||
|
||||
return $joinColumn['name'];
|
||||
},
|
||||
$joinColumns
|
||||
);
|
||||
|
||||
$quotedColumnNames = array_merge($quotedColumnNames, $assocQuotedColumnNames);
|
||||
}
|
||||
|
||||
return $quotedColumnNames;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getColumnAlias($columnName, $counter, AbstractPlatform $platform, ClassMetadata $class = null)
|
||||
{
|
||||
// 1 ) Concatenate column name and counter
|
||||
// 2 ) Trim the column alias to the maximum identifier length of the platform.
|
||||
// If the alias is to long, characters are cut off from the beginning.
|
||||
// 3 ) Strip non alphanumeric characters
|
||||
// 4 ) Prefix with "_" if the result its numeric
|
||||
$columnName = $columnName.'_'.$counter;
|
||||
$columnName = substr($columnName, -$platform->getMaxIdentifierLength());
|
||||
$columnName = preg_replace('/[^A-Za-z0-9_]/', '', $columnName);
|
||||
$columnName = is_numeric($columnName) ? '_'.$columnName : $columnName;
|
||||
|
||||
return $platform->getSQLResultCasing($columnName);
|
||||
}
|
||||
}
|
@ -25,7 +25,7 @@ class IPHelper
|
||||
*/
|
||||
public static function getUserIp()
|
||||
{
|
||||
$ip = isset($_SERVER['HTTP_CLIENT_IP']) ? $_SERVER['HTTP_CLIENT_IP'] : isset($_SERVER['HTTP_X_FORWARDED_FOR']) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR'] ?? '';
|
||||
$ip = isset($_SERVER['HTTP_CLIENT_IP']) ? $_SERVER['HTTP_CLIENT_IP'] : (isset($_SERVER['HTTP_X_FORWARDED_FOR']) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR'] ?? '');
|
||||
Log::debug(sprintf("IPHelper::getUserIp ip %s", $ip));
|
||||
return $ip;
|
||||
}
|
||||
|
22
bindep.txt
22
bindep.txt
@ -1,21 +1,21 @@
|
||||
php7.2 [platform:dpkg]
|
||||
php7.4 [platform:dpkg]
|
||||
|
||||
php7.2-cli [platform:dpkg]
|
||||
php7.4-cli [platform:dpkg]
|
||||
|
||||
php7.2-common [platform:dpkg]
|
||||
php7.4-common [platform:dpkg]
|
||||
|
||||
php7.2-curl [platform:dpkg]
|
||||
php7.4-curl [platform:dpkg]
|
||||
|
||||
php7.2-gd [platform:dpkg]
|
||||
php7.4-gd [platform:dpkg]
|
||||
|
||||
php7.2-json [platform:dpkg]
|
||||
php7.4-json [platform:dpkg]
|
||||
|
||||
php7.2-mysqlnd [platform:dpkg]
|
||||
php7.4-mysqlnd [platform:dpkg]
|
||||
|
||||
php7.2-xml [platform:dpkg]
|
||||
php7.4-xml [platform:dpkg]
|
||||
|
||||
php7.2-mbstring [platform:dpkg]
|
||||
php7.4-mbstring [platform:dpkg]
|
||||
|
||||
php7.2-gmp [platform:dpkg]
|
||||
php7.4-gmp [platform:dpkg]
|
||||
|
||||
php7.2-ssh2 [platform:dpkg]
|
||||
php7.4-ssh2 [platform:dpkg]
|
||||
|
0
bootstrap/cache/.gitignore
vendored
Normal file → Executable file
0
bootstrap/cache/.gitignore
vendored
Normal file → Executable file
@ -19,38 +19,41 @@
|
||||
{
|
||||
"type": "vcs",
|
||||
"url": "https://github.com/smarcet/recaptcha"
|
||||
},
|
||||
{
|
||||
"type": "vcs",
|
||||
"url": "https://github.com/smarcet/doctrine_orm"
|
||||
}
|
||||
],
|
||||
"require": {
|
||||
"php": "^7.1.3",
|
||||
"php": "^7.3|^8.0",
|
||||
"ext-json": "*",
|
||||
"ext-pdo": "*",
|
||||
"beberlei/doctrineextensions": "1.1.5",
|
||||
"laravel/framework": "^8.0",
|
||||
"laravel/helpers": "^1.4",
|
||||
"laravel/tinker": "^2.5",
|
||||
"laravelcollective/html": "6.2.*",
|
||||
"fruitcake/laravel-cors": "^2.0",
|
||||
"laravel-doctrine/orm": "1.7.*",
|
||||
"laravel-doctrine/extensions": "1.4.*",
|
||||
"laravel-doctrine/migrations": "2.3.*",
|
||||
"beberlei/doctrineextensions": "1.3.*",
|
||||
"behat/transliterator": "^1.2",
|
||||
"doctrine/orm": "2.6.4",
|
||||
"doctrine/persistence": "1.1.1",
|
||||
"vladimir-yuldashev/laravel-queue-rabbitmq": "v11.1.*",
|
||||
"s-ichikawa/laravel-sendgrid-driver": "~3.0",
|
||||
"ezyang/htmlpurifier": "v4.12.0",
|
||||
"fideloper/proxy": "^4.0",
|
||||
"fideloper/proxy": "^4.4",
|
||||
"get-stream/stream-chat": "^1.1",
|
||||
"glenscott/url-normalizer": "1.4.0",
|
||||
"greggilbert/recaptcha": "dev-master",
|
||||
"guzzlehttp/guzzle": "6.3.3",
|
||||
"greggilbert/recaptcha": "dev-feature/laravel8.x",
|
||||
"guzzlehttp/guzzle": "^7.0.1",
|
||||
"ircmaxell/random-lib": "1.1.0",
|
||||
"jenssegers/agent": "2.6.3",
|
||||
"laravel-doctrine/extensions": "1.0.14",
|
||||
"laravel-doctrine/migrations": "1.2.0",
|
||||
"laravel-doctrine/orm": "1.4.11",
|
||||
"laravel/framework": "5.6.39",
|
||||
"laravel/tinker": "^1.0",
|
||||
"laravelcollective/html": "5.6.10",
|
||||
"php-opencloud/openstack": "dev-master",
|
||||
"php-opencloud/openstack": "dev-feature/guzzle_7_x",
|
||||
"phpseclib/phpseclib": "2.0.11",
|
||||
"predis/predis": "v1.0.4",
|
||||
"s-ichikawa/laravel-sendgrid-driver": "2.1.0",
|
||||
"predis/predis": "v1.1.6",
|
||||
"smarcet/jose4php": "1.0.17",
|
||||
"sokil/php-isocodes": "^3.0",
|
||||
"spatie/laravel-cors": "^1.6",
|
||||
"vladimir-yuldashev/laravel-queue-rabbitmq": "v7.5.0",
|
||||
"zendframework/zend-crypt": "3.3.0",
|
||||
"zendframework/zend-math": "3.1.1"
|
||||
},
|
||||
@ -58,9 +61,9 @@
|
||||
"filp/whoops": "^2.0",
|
||||
"fzaninotto/faker": "^1.4",
|
||||
"mockery/mockery": "^1.0",
|
||||
"nunomaduro/collision": "^2.0",
|
||||
"phpunit/phpunit": "^7.0",
|
||||
"laravel/browser-kit-testing": "4.0.2"
|
||||
"nunomaduro/collision": "^5.0",
|
||||
"phpunit/phpunit": "^9.0",
|
||||
"laravel/browser-kit-testing": "6.2.*"
|
||||
},
|
||||
"suggest":{
|
||||
"lib-openssl": "Required to use AES algorithms (except AES GCM)",
|
||||
@ -68,8 +71,6 @@
|
||||
},
|
||||
"autoload": {
|
||||
"classmap": [
|
||||
"database/seeds",
|
||||
"database/factories",
|
||||
"database",
|
||||
"app",
|
||||
"tests"
|
||||
@ -80,7 +81,9 @@
|
||||
"OAuth2\\": "app/libs/OAuth2/",
|
||||
"OpenId\\": "app/libs/OpenId/",
|
||||
"Utils\\": "app/libs/Utils/",
|
||||
"Models\\": "app/Models/"
|
||||
"Models\\": "app/Models/",
|
||||
"Database\\Factories\\": "database/factories/",
|
||||
"Database\\Seeders\\": "database/seeders/"
|
||||
}
|
||||
},
|
||||
"autoload-dev": {
|
||||
|
6630
composer.lock
generated
6630
composer.lock
generated
File diff suppressed because it is too large
Load Diff
@ -123,6 +123,7 @@ return [
|
||||
Illuminate\Foundation\Providers\FoundationServiceProvider::class,
|
||||
Illuminate\Hashing\HashServiceProvider::class,
|
||||
Illuminate\Mail\MailServiceProvider::class,
|
||||
Illuminate\Notifications\NotificationServiceProvider::class,
|
||||
Illuminate\Pagination\PaginationServiceProvider::class,
|
||||
Illuminate\Pipeline\PipelineServiceProvider::class,
|
||||
Illuminate\Queue\QueueServiceProvider::class,
|
||||
@ -132,6 +133,11 @@ return [
|
||||
Illuminate\Translation\TranslationServiceProvider::class,
|
||||
Illuminate\Validation\ValidationServiceProvider::class,
|
||||
Illuminate\View\ViewServiceProvider::class,
|
||||
|
||||
/*
|
||||
* Package Service Providers...
|
||||
*/
|
||||
|
||||
/*
|
||||
* Application Service Providers...
|
||||
*/
|
||||
@ -139,6 +145,7 @@ return [
|
||||
Repositories\RepositoriesProvider::class,
|
||||
App\Providers\AppServiceProvider::class,
|
||||
App\Providers\AuthServiceProvider::class,
|
||||
// App\Providers\BroadcastServiceProvider::class,
|
||||
App\Providers\EventServiceProvider::class,
|
||||
App\Providers\RouteServiceProvider::class,
|
||||
Services\Utils\UtilsProvider::class,
|
||||
@ -209,7 +216,6 @@ return [
|
||||
'View' => Illuminate\Support\Facades\View::class,
|
||||
'Form' => Collective\Html\FormFacade::class,
|
||||
'HTML' => Collective\Html\HtmlFacade::class,
|
||||
'Input' => Illuminate\Support\Facades\Input::class,
|
||||
'Recaptcha' => Greggilbert\Recaptcha\Facades\Recaptcha::class,
|
||||
'ServerConfigurationService' => \Services\Facades\ServerConfigurationService::class,
|
||||
'ExternalUrlService'=> \Services\Facades\ExternalUrlService::class,
|
||||
|
@ -3,61 +3,52 @@
|
||||
return [
|
||||
|
||||
/*
|
||||
* A cors profile determines which origins, methods, headers are allowed for
|
||||
* a given requests. The `DefaultProfile` reads its configuration from this
|
||||
* config file.
|
||||
*
|
||||
* You can easily create your own cors profile.
|
||||
* More info: https://github.com/spatie/laravel-cors/#creating-your-own-cors-profile
|
||||
*/
|
||||
'cors_profile' => Spatie\Cors\CorsProfile\DefaultProfile::class,
|
||||
|--------------------------------------------------------------------------
|
||||
| Cross-Origin Resource Sharing (CORS) Configuration
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may configure your settings for cross-origin resource sharing
|
||||
| or "CORS". This determines what cross-origin operations may execute
|
||||
| in web browsers. You are free to adjust these settings as needed.
|
||||
|
|
||||
| To learn more: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
|
||||
|
|
||||
*/
|
||||
|
||||
/*
|
||||
* This configuration is used by `DefaultProfile`.
|
||||
*/
|
||||
'default_profile' => [
|
||||
'paths' => ['api/*', 'oauth2/*'],
|
||||
|
||||
'allow_credentials' => false,
|
||||
|
||||
'allow_origins' => [
|
||||
'*',
|
||||
],
|
||||
|
||||
'allow_methods' => [
|
||||
'POST',
|
||||
'GET',
|
||||
'OPTIONS',
|
||||
'PUT',
|
||||
'PATCH',
|
||||
'DELETE',
|
||||
],
|
||||
|
||||
'allow_headers' => [
|
||||
'Accept',
|
||||
'Content-Type',
|
||||
'X-Auth-Token',
|
||||
'Origin',
|
||||
'Authorization',
|
||||
'X-Requested-With',
|
||||
],
|
||||
|
||||
'expose_headers' => [
|
||||
'Cache-Control',
|
||||
'Content-Language',
|
||||
'Content-Type',
|
||||
'Expires',
|
||||
'Last-Modified',
|
||||
'Pragma',
|
||||
],
|
||||
|
||||
'forbidden_response' => [
|
||||
'message' => 'Forbidden (cors).',
|
||||
'status' => 403,
|
||||
],
|
||||
|
||||
/*
|
||||
* Preflight request will respond with value for the max age header.
|
||||
*/
|
||||
'max_age' => 60 * 60 * 24,
|
||||
'allowed_methods' => [
|
||||
'POST',
|
||||
'GET',
|
||||
'OPTIONS',
|
||||
'PUT',
|
||||
'PATCH',
|
||||
'DELETE',
|
||||
],
|
||||
|
||||
'allowed_origins' => ['*'],
|
||||
|
||||
'allowed_origins_patterns' => [],
|
||||
|
||||
'allowed_headers' => [
|
||||
'Accept',
|
||||
'Content-Type',
|
||||
'X-Auth-Token',
|
||||
'Origin',
|
||||
'Authorization',
|
||||
'X-Requested-With',
|
||||
],
|
||||
|
||||
'exposed_headers' => [
|
||||
'Cache-Control',
|
||||
'Content-Language',
|
||||
'Content-Type',
|
||||
'Expires',
|
||||
'Last-Modified',
|
||||
'Pragma',
|
||||
],
|
||||
|
||||
'max_age' => 60 * 60 * 24,
|
||||
|
||||
'supports_credentials' => false,
|
||||
];
|
||||
|
@ -105,6 +105,8 @@ return [
|
||||
*/
|
||||
|
||||
'redis' => [
|
||||
|
||||
'client' => env('REDIS_CLIENT', 'predis'),
|
||||
/*
|
||||
* @see https://github.com/predis/predis/wiki/Connection-Parameters
|
||||
*/
|
||||
|
@ -1,4 +1,5 @@
|
||||
<?php
|
||||
use App\libs\Utils\Doctrine\EscapingQuoteStrategy;
|
||||
|
||||
return [
|
||||
|
||||
@ -24,6 +25,7 @@ return [
|
||||
'model' => [
|
||||
'dev' => env('APP_DEBUG', false),
|
||||
'meta' => env('DOCTRINE_METADATA', 'annotations'),
|
||||
'quote_strategy' => EscapingQuoteStrategy::class,
|
||||
'connection' => 'openstackid',
|
||||
'namespaces' => [
|
||||
'App'
|
||||
@ -236,9 +238,21 @@ return [
|
||||
],
|
||||
'log_enabled' => true,
|
||||
'file_lock_region_directory' => '/tmp'
|
||||
]
|
||||
|
||||
],
|
||||
'metadata' => [
|
||||
'driver' => env('DOCTRINE_METADATA_CACHE', env('DOCTRINE_CACHE', 'redis')),
|
||||
'namespace' => null,
|
||||
],
|
||||
'query' => [
|
||||
'driver' => env('DOCTRINE_QUERY_CACHE', env('DOCTRINE_CACHE', 'redis')),
|
||||
'namespace' => null,
|
||||
],
|
||||
'result' => [
|
||||
'driver' => env('DOCTRINE_RESULT_CACHE', env('DOCTRINE_CACHE', 'redis')),
|
||||
'namespace' => null,
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Gedmo extensions
|
||||
|
4
config/jobs.php
Normal file
4
config/jobs.php
Normal file
@ -0,0 +1,4 @@
|
||||
<?php
|
||||
return [
|
||||
'spam_processing_enabled' => env('JOBS_SPAM_PROCESSING_ENABLED', false)
|
||||
];
|
@ -1,5 +1,6 @@
|
||||
<?php
|
||||
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|
111
config/queue.php
111
config/queue.php
@ -1,4 +1,8 @@
|
||||
<?php
|
||||
$rabbit_port = intval( env('RABBITMQ_PORT', 5671) );
|
||||
$rabbit_connection = PhpAmqpLib\Connection\AMQPLazyConnection::class;
|
||||
if($rabbit_port === 5671)
|
||||
$rabbit_connection = PhpAmqpLib\Connection\AMQPSSLConnection::class;
|
||||
|
||||
return [
|
||||
|
||||
@ -48,101 +52,40 @@ return [
|
||||
'block_for' => 5,
|
||||
],
|
||||
// ...
|
||||
|
||||
'message_broker' => [
|
||||
|
||||
'driver' => 'rabbitmq',
|
||||
|
||||
'dsn' => env('RABBITMQ_DSN', null),
|
||||
|
||||
/*
|
||||
* Could be one a class that implements \Interop\Amqp\AmqpConnectionFactory for example:
|
||||
* - \EnqueueAmqpExt\AmqpConnectionFactory if you install enqueue/amqp-ext
|
||||
* - \EnqueueAmqpLib\AmqpConnectionFactory if you install enqueue/amqp-lib
|
||||
* - \EnqueueAmqpBunny\AmqpConnectionFactory if you install enqueue/amqp-bunny
|
||||
*/
|
||||
|
||||
'factory_class' => Enqueue\AmqpLib\AmqpConnectionFactory::class,
|
||||
|
||||
'host' => env('RABBITMQ_HOST', '127.0.0.1'),
|
||||
'port' => env('RABBITMQ_PORT', 5672),
|
||||
|
||||
'vhost' => env('RABBITMQ_VHOST', 'default'),
|
||||
'login' => env('RABBITMQ_LOGIN', 'guest'),
|
||||
'password' => env('RABBITMQ_PASSWORD', 'guest'),
|
||||
|
||||
'queue' => env('RABBITMQ_QUEUE', ''),
|
||||
|
||||
'options' => [
|
||||
|
||||
'exchange' => [
|
||||
|
||||
'name' => env('RABBITMQ_EXCHANGE_NAME'),
|
||||
|
||||
/*
|
||||
* Determine if exchange should be created if it does not exist.
|
||||
*/
|
||||
|
||||
'declare' => env('RABBITMQ_EXCHANGE_DECLARE', true),
|
||||
|
||||
/*
|
||||
* Read more about possible values at https://www.rabbitmq.com/tutorials/amqp-concepts.html
|
||||
*/
|
||||
|
||||
'type' => env('RABBITMQ_EXCHANGE_TYPE', \Interop\Amqp\AmqpTopic::TYPE_FANOUT),
|
||||
'passive' => env('RABBITMQ_EXCHANGE_PASSIVE', false),
|
||||
'durable' => env('RABBITMQ_EXCHANGE_DURABLE', true),
|
||||
'auto_delete' => env('RABBITMQ_EXCHANGE_AUTODELETE', true),
|
||||
'arguments' => env('RABBITMQ_EXCHANGE_ARGUMENTS'),
|
||||
'connection' => $rabbit_connection,
|
||||
'hosts' => [
|
||||
[
|
||||
'host' => env('RABBITMQ_HOST', '127.0.0.1'),
|
||||
'port' => $rabbit_port,
|
||||
'user' => env('RABBITMQ_LOGIN', 'guest'),
|
||||
'password' => env('RABBITMQ_PASSWORD', 'guest'),
|
||||
'vhost' => env('RABBITMQ_VHOST', '/'),
|
||||
],
|
||||
],
|
||||
'options' => [
|
||||
'ssl_options' => [
|
||||
// @see https://www.php.net/manual/en/context.ssl.php
|
||||
'cafile' => env('RABBITMQ_SSL_CAFILE', null),
|
||||
'local_cert' => env('RABBITMQ_SSL_LOCALCERT', null),
|
||||
'local_pk' => env('RABBITMQ_SSL_LOCALKEY', null),
|
||||
'verify_peer' => env('RABBITMQ_SSL_VERIFY_PEER', true),
|
||||
'passphrase' => env('RABBITMQ_SSL_PASSPHRASE', null),
|
||||
],
|
||||
|
||||
'queue' => [
|
||||
|
||||
/*
|
||||
* Determine if queue should be created if it does not exist.
|
||||
*/
|
||||
|
||||
'declare' => env('RABBITMQ_QUEUE_DECLARE', false),
|
||||
|
||||
/*
|
||||
* Determine if queue should be binded to the exchange created.
|
||||
*/
|
||||
|
||||
'bind' => env('RABBITMQ_QUEUE_DECLARE_BIND', false),
|
||||
|
||||
/*
|
||||
* Read more about possible values at https://www.rabbitmq.com/tutorials/amqp-concepts.html
|
||||
*/
|
||||
|
||||
'exchange' => env('RABBITMQ_EXCHANGE_NAME'),
|
||||
'exchange_type' => env('RABBITMQ_EXCHANGE_TYPE', 'fanout'),
|
||||
'passive' => env('RABBITMQ_QUEUE_PASSIVE', false),
|
||||
'durable' => env('RABBITMQ_QUEUE_DURABLE', true),
|
||||
'exclusive' => env('RABBITMQ_QUEUE_EXCLUSIVE', false),
|
||||
'auto_delete' => env('RABBITMQ_QUEUE_AUTODELETE', false),
|
||||
'arguments' => env('RABBITMQ_QUEUE_ARGUMENTS'),
|
||||
'auto_delete' => env('RABBITMQ_QUEUE_AUTODELETE', true),
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
* Determine the number of seconds to sleep if there's an error communicating with rabbitmq
|
||||
* If set to false, it'll throw an exception rather than doing the sleep for X seconds.
|
||||
*/
|
||||
|
||||
'sleep_on_error' => env('RABBITMQ_ERROR_SLEEP', 5),
|
||||
|
||||
/*
|
||||
* Optional SSL params if an SSL connection is used
|
||||
* Using an SSL connection will also require to configure your RabbitMQ to enable SSL. More details can be founds here: https://www.rabbitmq.com/ssl.html
|
||||
*/
|
||||
|
||||
'ssl_params' => [
|
||||
'ssl_on' => env('RABBITMQ_SSL', false),
|
||||
'cafile' => env('RABBITMQ_SSL_CAFILE', null),
|
||||
'local_cert' => env('RABBITMQ_SSL_LOCALCERT', null),
|
||||
'local_key' => env('RABBITMQ_SSL_LOCALKEY', null),
|
||||
'verify_peer' => env('RABBITMQ_SSL_VERIFY_PEER', false),
|
||||
'passphrase' => env('RABBITMQ_SSL_PASSPHRASE', null),
|
||||
],
|
||||
|
||||
],
|
||||
|
||||
],
|
||||
|
||||
/*
|
||||
|
@ -24,7 +24,7 @@ final class Version20190604015804 extends AbstractMigration
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function up(Schema $schema)
|
||||
public function up(Schema $schema):void
|
||||
{
|
||||
$initial_state = <<<SQL
|
||||
|
||||
@ -117,7 +117,7 @@ create table if not exists oauth2_api_scope
|
||||
description text not null,
|
||||
active tinyint(1) default '1' not null,
|
||||
`default` tinyint(1) default '0' not null,
|
||||
system tinyint(1) default '0' not null,
|
||||
`is_system` tinyint(1) default '0' not null,
|
||||
created_at timestamp default CURRENT_TIMESTAMP not null,
|
||||
updated_at timestamp default CURRENT_TIMESTAMP not null,
|
||||
api_id bigint unsigned null,
|
||||
@ -687,7 +687,7 @@ SQL;
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function down(Schema $schema)
|
||||
public function down(Schema $schema):void
|
||||
{
|
||||
(new Builder($schema))->drop('initial');
|
||||
}
|
||||
|
@ -24,7 +24,7 @@ final class Version20190604015808 extends AbstractMigration
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function up(Schema $schema)
|
||||
public function up(Schema $schema):void
|
||||
{
|
||||
if($schema->hasTable("openid_users")) {
|
||||
$this->addSql("RENAME TABLE openid_users TO users;");
|
||||
@ -36,7 +36,7 @@ final class Version20190604015808 extends AbstractMigration
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function down(Schema $schema)
|
||||
public function down(Schema $schema):void
|
||||
{
|
||||
$this->addSql("RENAME TABLE users TO openid_users;");
|
||||
|
||||
|
@ -24,7 +24,7 @@ class Version20190604024945 extends AbstractMigration
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function up(Schema $schema)
|
||||
public function up(Schema $schema):void
|
||||
{
|
||||
$builder = new Builder($schema);
|
||||
|
||||
@ -105,7 +105,7 @@ class Version20190604024945 extends AbstractMigration
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function down(Schema $schema)
|
||||
public function down(Schema $schema):void
|
||||
{
|
||||
$schema->dropTable("user_groups");
|
||||
$schema->dropTable("groups");
|
||||
|
@ -24,7 +24,7 @@ final class Version20190609163537 extends AbstractMigration
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function up(Schema $schema)
|
||||
public function up(Schema $schema):void
|
||||
{
|
||||
$builder = new Builder($schema);
|
||||
|
||||
@ -49,7 +49,7 @@ final class Version20190609163537 extends AbstractMigration
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function down(Schema $schema)
|
||||
public function down(Schema $schema):void
|
||||
{
|
||||
|
||||
}
|
||||
|
@ -24,7 +24,7 @@ class Version20190611172226 extends AbstractMigration
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function up(Schema $schema)
|
||||
public function up(Schema $schema):void
|
||||
{
|
||||
$builder = new Builder($schema);
|
||||
|
||||
@ -34,7 +34,7 @@ class Version20190611172226 extends AbstractMigration
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function down(Schema $schema)
|
||||
public function down(Schema $schema):void
|
||||
{
|
||||
|
||||
}
|
||||
|
@ -24,7 +24,7 @@ class Version20190614143948 extends AbstractMigration
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function up(Schema $schema)
|
||||
public function up(Schema $schema):void
|
||||
{
|
||||
$builder = new Builder($schema);
|
||||
|
||||
@ -43,7 +43,7 @@ class Version20190614143948 extends AbstractMigration
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function down(Schema $schema)
|
||||
public function down(Schema $schema):void
|
||||
{
|
||||
$builder = new Builder($schema);
|
||||
$builder->drop('user_password_reset_request');
|
||||
|
@ -22,7 +22,7 @@ class Version20190621173542 extends AbstractMigration
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function up(Schema $schema)
|
||||
public function up(Schema $schema):void
|
||||
{
|
||||
$sql = <<<SQL
|
||||
ALTER TABLE openid_trusted_sites DROP FOREIGN KEY openid_trusted_sites_user_id_foreign;
|
||||
@ -64,7 +64,7 @@ SQL;
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function down(Schema $schema)
|
||||
public function down(Schema $schema):void
|
||||
{
|
||||
|
||||
}
|
||||
|
@ -24,7 +24,7 @@ final class Version20190627180435 extends AbstractMigration
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function up(Schema $schema)
|
||||
public function up(Schema $schema):void
|
||||
{
|
||||
$builder = new Builder($schema);
|
||||
|
||||
@ -39,7 +39,7 @@ final class Version20190627180435 extends AbstractMigration
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function down(Schema $schema)
|
||||
public function down(Schema $schema):void
|
||||
{
|
||||
|
||||
}
|
||||
|
@ -24,7 +24,7 @@ final class Version20190729014640 extends AbstractMigration
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function up(Schema $schema)
|
||||
public function up(Schema $schema):void
|
||||
{
|
||||
|
||||
$builder = new Builder($schema);
|
||||
@ -54,7 +54,7 @@ final class Version20190729014640 extends AbstractMigration
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function down(Schema $schema)
|
||||
public function down(Schema $schema):void
|
||||
{
|
||||
$schema->dropTable("user_registration_requests");
|
||||
}
|
||||
|
@ -16,8 +16,7 @@ use Doctrine\DBAL\Schema\Schema as Schema;
|
||||
use LaravelDoctrine\ORM\Facades\EntityManager;
|
||||
use Models\OAuth2\ResourceServer;
|
||||
use Models\OAuth2\Api;
|
||||
use ApiScopeSeeder;
|
||||
use ApiEndpointSeeder;
|
||||
use Database\Seeders\SeedUtils;
|
||||
use App\libs\OAuth2\IUserScopes;
|
||||
/**
|
||||
* Class Version20190729150610
|
||||
@ -28,7 +27,7 @@ final class Version20190729150610 extends AbstractMigration
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function up(Schema $schema)
|
||||
public function up(Schema $schema):void
|
||||
{
|
||||
$resource_server_repository = EntityManager::getRepository(ResourceServer::class);
|
||||
$rs = $resource_server_repository->findOneBy([
|
||||
@ -47,7 +46,7 @@ final class Version20190729150610 extends AbstractMigration
|
||||
|
||||
EntityManager::flush();
|
||||
|
||||
\SeedUtils::seedScopes([
|
||||
SeedUtils::seedScopes([
|
||||
[
|
||||
'name' => IUserScopes::Registration,
|
||||
'short_description' => 'Allows to request user registrations.',
|
||||
@ -59,7 +58,7 @@ final class Version20190729150610 extends AbstractMigration
|
||||
|
||||
], 'user-registration');
|
||||
|
||||
\SeedUtils::seedApiEndpoints('user-registration', [
|
||||
SeedUtils::seedApiEndpoints('user-registration', [
|
||||
[
|
||||
'name' => 'request-user-registration',
|
||||
'active' => true,
|
||||
@ -77,7 +76,7 @@ final class Version20190729150610 extends AbstractMigration
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function down(Schema $schema)
|
||||
public function down(Schema $schema):void
|
||||
{
|
||||
|
||||
}
|
||||
|
@ -24,7 +24,7 @@ class Version20190828144355 extends AbstractMigration
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function up(Schema $schema)
|
||||
public function up(Schema $schema):void
|
||||
{
|
||||
$builder = new Builder($schema);
|
||||
if(!$schema->hasTable("queue_jobs")) {
|
||||
@ -56,7 +56,7 @@ class Version20190828144355 extends AbstractMigration
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function down(Schema $schema)
|
||||
public function down(Schema $schema):void
|
||||
{
|
||||
$schema->dropTable("failed_jobs");
|
||||
$schema->dropTable("jobs");
|
||||
|
@ -24,7 +24,7 @@ class Version20190828144405 extends AbstractMigration
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function up(Schema $schema)
|
||||
public function up(Schema $schema):void
|
||||
{
|
||||
$this->addSql("ALTER TABLE queue_jobs MODIFY payload longtext NOT NULL;");
|
||||
$this->addSql("ALTER TABLE queue_failed_jobs MODIFY payload longtext NOT NULL;");
|
||||
@ -34,7 +34,7 @@ class Version20190828144405 extends AbstractMigration
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function down(Schema $schema)
|
||||
public function down(Schema $schema):void
|
||||
{
|
||||
|
||||
}
|
||||
|
@ -14,6 +14,7 @@
|
||||
use App\libs\OAuth2\IUserScopes;
|
||||
use Doctrine\Migrations\AbstractMigration;
|
||||
use Doctrine\DBAL\Schema\Schema as Schema;
|
||||
use Database\Seeders\SeedUtils;
|
||||
/**
|
||||
* Class Version20190829142736
|
||||
* @package Database\Migrations
|
||||
@ -23,9 +24,9 @@ class Version20190829142736 extends AbstractMigration
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function up(Schema $schema)
|
||||
public function up(Schema $schema):void
|
||||
{
|
||||
\SeedUtils::seedScopes([
|
||||
SeedUtils::seedScopes([
|
||||
[
|
||||
'name' => IUserScopes::ReadAll,
|
||||
'short_description' => 'Allows access to users info',
|
||||
@ -36,7 +37,7 @@ class Version20190829142736 extends AbstractMigration
|
||||
],
|
||||
], 'users');
|
||||
|
||||
\SeedUtils::seedApiEndpoints('users', [
|
||||
SeedUtils::seedApiEndpoints('users', [
|
||||
// get users
|
||||
[
|
||||
'name' => 'get-users',
|
||||
@ -55,7 +56,7 @@ class Version20190829142736 extends AbstractMigration
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function down(Schema $schema)
|
||||
public function down(Schema $schema):void
|
||||
{
|
||||
|
||||
}
|
||||
|
@ -26,7 +26,7 @@ class Version20190904133943 extends AbstractMigration
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function up(Schema $schema)
|
||||
public function up(Schema $schema):void
|
||||
{
|
||||
$group = EntityManager::getRepository(Group::class)->findOneBy(['name' => 'super admins']);
|
||||
if(is_null($group)){
|
||||
@ -87,7 +87,7 @@ class Version20190904133943 extends AbstractMigration
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function down(Schema $schema)
|
||||
public function down(Schema $schema):void
|
||||
{
|
||||
|
||||
}
|
||||
|
@ -25,7 +25,7 @@ final class Version20191017190223 extends AbstractMigration
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function up(Schema $schema)
|
||||
public function up(Schema $schema):void
|
||||
{
|
||||
$builder = new Builder($schema);
|
||||
if($schema->hasTable("users") && !$builder->hasColumn("users","gender_specify") ) {
|
||||
@ -38,7 +38,7 @@ final class Version20191017190223 extends AbstractMigration
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function down(Schema $schema)
|
||||
public function down(Schema $schema):void
|
||||
{
|
||||
$builder = new Builder($schema);
|
||||
if($schema->hasTable("users") && $builder->hasColumn("users","gender_specify") ) {
|
||||
|
@ -24,7 +24,7 @@ class Version20191121032755 extends AbstractMigration
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function up(Schema $schema)
|
||||
public function up(Schema $schema):void
|
||||
{
|
||||
$this->addSql("ALTER TABLE users MODIFY identifier varchar(255) DEFAULT NULL;");
|
||||
$this->addSql("ALTER TABLE users MODIFY gender_specify varchar(255) DEFAULT NULL;");
|
||||
@ -33,7 +33,7 @@ class Version20191121032755 extends AbstractMigration
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function down(Schema $schema)
|
||||
public function down(Schema $schema):void
|
||||
{
|
||||
|
||||
}
|
||||
|
@ -24,7 +24,7 @@ class Version20200115152348 extends AbstractMigration
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function up(Schema $schema)
|
||||
public function up(Schema $schema):void
|
||||
{
|
||||
$builder = new Builder($schema);
|
||||
if($schema->hasTable("users") && !$builder->hasColumn("users","twitter_name") ) {
|
||||
@ -37,7 +37,7 @@ class Version20200115152348 extends AbstractMigration
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function down(Schema $schema)
|
||||
public function down(Schema $schema):void
|
||||
{
|
||||
$builder = new Builder($schema);
|
||||
if($schema->hasTable("users") && $builder->hasColumn("users","twitter_name") ) {
|
||||
|
@ -26,7 +26,7 @@ class Version20200306133045 extends AbstractMigration
|
||||
* @param Schema $schema
|
||||
* @throws \Doctrine\DBAL\Schema\SchemaException
|
||||
*/
|
||||
public function up(Schema $schema)
|
||||
public function up(Schema $schema):void
|
||||
{
|
||||
$builder = new Builder($schema);
|
||||
if($schema->hasTable("users") && !$builder->hasColumn("users","spam_type") ) {
|
||||
@ -81,7 +81,7 @@ class Version20200306133045 extends AbstractMigration
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function down(Schema $schema)
|
||||
public function down(Schema $schema):void
|
||||
{
|
||||
$builder = new Builder($schema);
|
||||
$builder->dropIfExists("users_email_changed");
|
||||
|
@ -22,7 +22,7 @@ class Version20200306135446 extends AbstractMigration
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function up(Schema $schema)
|
||||
public function up(Schema $schema):void
|
||||
{
|
||||
$sql = <<<SQL
|
||||
ALTER TABLE users MODIFY spam_type
|
||||
@ -52,7 +52,7 @@ SQL;
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function down(Schema $schema)
|
||||
public function down(Schema $schema):void
|
||||
{
|
||||
|
||||
}
|
||||
|
@ -24,7 +24,7 @@ class Version20200528175450 extends AbstractMigration
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function up(Schema $schema)
|
||||
public function up(Schema $schema):void
|
||||
{
|
||||
$builder = new Builder($schema);
|
||||
|
||||
@ -54,7 +54,7 @@ class Version20200528175450 extends AbstractMigration
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function down(Schema $schema)
|
||||
public function down(Schema $schema):void
|
||||
{
|
||||
$builder = new Builder($schema);
|
||||
|
||||
|
@ -14,7 +14,7 @@
|
||||
use App\libs\OAuth2\IUserScopes;
|
||||
use Doctrine\Migrations\AbstractMigration;
|
||||
use Doctrine\DBAL\Schema\Schema as Schema;
|
||||
use SeedUtils;
|
||||
use Database\Seeders\SeedUtils;
|
||||
/**
|
||||
* Class Version20200530150357
|
||||
* @package Database\Migrations
|
||||
@ -24,7 +24,7 @@ class Version20200530150357 extends AbstractMigration
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function up(Schema $schema)
|
||||
public function up(Schema $schema):void
|
||||
{
|
||||
if(!SeedUtils::seedApi("sso", "SSO Integration API")) return;
|
||||
|
||||
@ -65,7 +65,7 @@ class Version20200530150357 extends AbstractMigration
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function down(Schema $schema)
|
||||
public function down(Schema $schema):void
|
||||
{
|
||||
|
||||
}
|
||||
|
@ -24,7 +24,7 @@ class Version20200715150546 extends AbstractMigration
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function up(Schema $schema)
|
||||
public function up(Schema $schema):void
|
||||
{
|
||||
$builder = new Builder($schema);
|
||||
if($schema->hasTable("users") && !$builder->hasColumn("users","company") ) {
|
||||
@ -38,7 +38,7 @@ class Version20200715150546 extends AbstractMigration
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function down(Schema $schema)
|
||||
public function down(Schema $schema):void
|
||||
{
|
||||
$builder = new Builder($schema);
|
||||
if($schema->hasTable("users") && $builder->hasColumn("users","company") ) {
|
||||
|
@ -25,7 +25,7 @@ class Version20200715195145 extends AbstractMigration
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function up(Schema $schema)
|
||||
public function up(Schema $schema):void
|
||||
{
|
||||
$builder = new Builder($schema);
|
||||
|
||||
@ -44,7 +44,7 @@ class Version20200715195145 extends AbstractMigration
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function down(Schema $schema)
|
||||
public function down(Schema $schema):void
|
||||
{
|
||||
$builder = new Builder($schema);
|
||||
|
||||
|
@ -13,6 +13,7 @@
|
||||
**/
|
||||
use Doctrine\Migrations\AbstractMigration;
|
||||
use Doctrine\DBAL\Schema\Schema as Schema;
|
||||
use Database\Seeders\SeedUtils;
|
||||
/**
|
||||
* Class Version20200715195155
|
||||
* @package Database\Migrations
|
||||
@ -22,9 +23,9 @@ final class Version20200715195155 extends AbstractMigration
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function up(Schema $schema)
|
||||
public function up(Schema $schema):void
|
||||
{
|
||||
\SeedUtils::seedApiEndpoints('sso', [
|
||||
SeedUtils::seedApiEndpoints('sso', [
|
||||
[
|
||||
'name' => 'sso-stream-chat',
|
||||
'active' => true,
|
||||
@ -40,7 +41,7 @@ final class Version20200715195155 extends AbstractMigration
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function down(Schema $schema)
|
||||
public function down(Schema $schema):void
|
||||
{
|
||||
|
||||
}
|
||||
|
@ -24,7 +24,7 @@ class Version20200803193707 extends AbstractMigration
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function up(Schema $schema)
|
||||
public function up(Schema $schema):void
|
||||
{
|
||||
$builder = new Builder($schema);
|
||||
if($schema->hasTable("users") && !$builder->hasColumn("users","pic") ) {
|
||||
@ -37,7 +37,7 @@ class Version20200803193707 extends AbstractMigration
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function down(Schema $schema)
|
||||
public function down(Schema $schema):void
|
||||
{
|
||||
|
||||
$builder = new Builder($schema);
|
||||
|
@ -14,7 +14,7 @@
|
||||
use App\libs\OAuth2\IUserScopes;
|
||||
use Doctrine\Migrations\AbstractMigration;
|
||||
use Doctrine\DBAL\Schema\Schema as Schema;
|
||||
use SeedUtils;
|
||||
use Database\Seeders\SeedUtils;
|
||||
/**
|
||||
* Class Version20200811151509
|
||||
* @package Database\Migrations
|
||||
@ -24,7 +24,7 @@ class Version20200811151509 extends AbstractMigration
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function up(Schema $schema)
|
||||
public function up(Schema $schema):void
|
||||
{
|
||||
|
||||
SeedUtils::seedScopes([
|
||||
@ -76,7 +76,7 @@ class Version20200811151509 extends AbstractMigration
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function down(Schema $schema)
|
||||
public function down(Schema $schema):void
|
||||
{
|
||||
|
||||
}
|
||||
|
@ -22,7 +22,7 @@ class Version20200910212216 extends AbstractMigration
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function up(Schema $schema)
|
||||
public function up(Schema $schema):void
|
||||
{
|
||||
$group = EntityManager::getRepository(Group::class)->findOneBy(['name' => 'chat qa']);
|
||||
if(is_null($group)){
|
||||
@ -50,7 +50,7 @@ class Version20200910212216 extends AbstractMigration
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function down(Schema $schema)
|
||||
public function down(Schema $schema):void
|
||||
{
|
||||
|
||||
}
|
||||
|
@ -24,7 +24,7 @@ class Version20201105184620 extends AbstractMigration
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function up(Schema $schema)
|
||||
public function up(Schema $schema):void
|
||||
{
|
||||
$builder = new Builder($schema);
|
||||
if($schema->hasTable("users") && !$builder->hasColumn("users","job_title") ) {
|
||||
@ -37,7 +37,7 @@ class Version20201105184620 extends AbstractMigration
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function down(Schema $schema)
|
||||
public function down(Schema $schema):void
|
||||
{
|
||||
$builder = new Builder($schema);
|
||||
if($schema->hasTable("users") && $builder->hasColumn("users","job_title") ) {
|
||||
|
@ -24,7 +24,7 @@ class Version20201214162511 extends AbstractMigration
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function up(Schema $schema)
|
||||
public function up(Schema $schema):void
|
||||
{
|
||||
$builder = new Builder($schema);
|
||||
if($schema->hasTable("oauth2_client") && !$builder->hasColumn("oauth2_client","pkce_enabled") ) {
|
||||
@ -37,7 +37,7 @@ class Version20201214162511 extends AbstractMigration
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function down(Schema $schema)
|
||||
public function down(Schema $schema):void
|
||||
{
|
||||
$builder = new Builder($schema);
|
||||
if($schema->hasTable("oauth2_client") && $builder->hasColumn("oauth2_client","pkce_enabled") ) {
|
||||
|
48
database/migrations/Version20210303161116.php
Normal file
48
database/migrations/Version20210303161116.php
Normal file
@ -0,0 +1,48 @@
|
||||
<?php namespace Database\Migrations;
|
||||
/**
|
||||
* Copyright 2020 OpenStack Foundation
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
**/
|
||||
use Doctrine\Migrations\AbstractMigration;
|
||||
use Doctrine\DBAL\Schema\Schema as Schema;
|
||||
use LaravelDoctrine\Migrations\Schema\Builder;
|
||||
use LaravelDoctrine\Migrations\Schema\Table;
|
||||
|
||||
/**
|
||||
* Class Version20210303161116
|
||||
* @package Database\Migrations
|
||||
*/
|
||||
class Version20210303161116 extends AbstractMigration
|
||||
{
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function up(Schema $schema): void
|
||||
{
|
||||
// make enum
|
||||
$builder = new Builder($schema);
|
||||
if($schema->hasTable("oauth2_api_scope") && $builder->hasColumn('oauth2_api_scope','system')) {
|
||||
$sql = <<<SQL
|
||||
alter table oauth2_api_scope change `system` is_system tinyint(1) default 0 not null;
|
||||
SQL;
|
||||
$this->addSql($sql);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function down(Schema $schema): void
|
||||
{
|
||||
|
||||
}
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
<?php
|
||||
<?php namespace Database\Seeders;
|
||||
/**
|
||||
* Copyright 2015 OpenStack Foundation
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
@ -1,4 +1,4 @@
|
||||
<?php
|
||||
<?php namespace Database\Seeders;
|
||||
/**
|
||||
* Copyright 2015 OpenStack Foundation
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
@ -1,4 +1,4 @@
|
||||
<?php
|
||||
<?php namespace Database\Seeders;
|
||||
/**
|
||||
* Copyright 2017 OpenStack Foundation
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
@ -1,4 +1,4 @@
|
||||
<?php
|
||||
<?php namespace Database\Seeders;
|
||||
/**
|
||||
* Copyright 2015 OpenStack Foundation
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
@ -1,4 +1,4 @@
|
||||
<?php
|
||||
<?php namespace Database\Seeders;
|
||||
/**
|
||||
* Copyright 2015 OpenStack Foundation
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
@ -1,4 +1,4 @@
|
||||
<?php
|
||||
<?php namespace Database\Seeders;
|
||||
/**
|
||||
* Copyright 2015 OpenStack Foundation
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
@ -1,4 +1,4 @@
|
||||
<?php
|
||||
<?php namespace Database\Seeders;
|
||||
/**
|
||||
* Copyright 2020 OpenStack Foundation
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
@ -1,4 +1,4 @@
|
||||
<?php
|
||||
<?php namespace Database\Seeders;
|
||||
/**
|
||||
* Copyright 2015 OpenStack Foundation
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
@ -1,4 +1,4 @@
|
||||
<?php
|
||||
<?php namespace Database\Seeders;
|
||||
/**
|
||||
* Copyright 2015 OpenStack Foundation
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
@ -48,6 +48,8 @@ use App\Models\OAuth2\Factories\ApiEndpointFactory;
|
||||
use App\libs\OAuth2\IUserScopes;
|
||||
use App\libs\Auth\Models\IGroupSlugs;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use DateTimeZone;
|
||||
use TestKeys;
|
||||
/**
|
||||
* Class OAuth2ApplicationSeeder
|
||||
* This seeder is only for testing purposes
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user