<?php
/**
* Pimcore
*
* This source file is available under following license:
* - Pimcore Commercial License (PCL)
*
* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
* @license http://www.pimcore.org/license PCL
*/
namespace Pimcore\Bundle\OpenIdConnectBundle;
use Pimcore\Bundle\EnterpriseSubscriptionToolsBundle\Bundle\EnterpriseBundleInterface;
use Pimcore\Bundle\EnterpriseSubscriptionToolsBundle\PimcoreEnterpriseSubscriptionToolsBundle;
use Pimcore\Bundle\OpenIdConnectBundle\DependencyInjection\Compiler\ContentSecurityPolicyUrlsPass;
use Pimcore\Extension\Bundle\AbstractPimcoreBundle;
use Pimcore\Extension\Bundle\PimcoreBundleAdminClassicInterface;
use Pimcore\Extension\Bundle\Traits\BundleAdminClassicTrait;
use Pimcore\Extension\Bundle\Traits\PackageVersionTrait;
use Pimcore\HttpKernel\Bundle\DependentBundleInterface;
use Pimcore\HttpKernel\BundleCollection\BundleCollection;
use Symfony\Component\DependencyInjection\ContainerBuilder;
class PimcoreOpenIdConnectBundle extends AbstractPimcoreBundle implements DependentBundleInterface, EnterpriseBundleInterface, PimcoreBundleAdminClassicInterface
{
const OICD_CONFIG_PERMISSION_KEY = 'permission_oidc_config';
use BundleAdminClassicTrait;
// use PackageVersionTrait;
protected function getComposerPackageName(): string
{
return 'pimcore/openid-connect';
}
public function getJsPaths(): array
{
return [
'/bundles/pimcoreopenidconnect/js/pimcore/startup.js',
'/bundles/pimcoreopenidconnect/js/pimcore/configPanel.js',
'/bundles/pimcoreopenidconnect/js/ext_extensions.js'
];
}
public function getCssPaths(): array
{
return [
'/bundles/pimcoreopenidconnect/css/login.css',
'/bundles/pimcoreopenidconnect/css/admin.css',
];
}
public static function registerDependentBundles(BundleCollection $collection): void
{
$collection->addBundle(new PimcoreEnterpriseSubscriptionToolsBundle());
}
public function getBundleLicenseId(): string
{
return 'OIC';
}
/**
* @return Installer
*/
public function getInstaller(): Installer
{
return $this->container->get(Installer::class);
}
/**
* @inheritDoc
*/
public function build(ContainerBuilder $container)
{
$container->addCompilerPass(new ContentSecurityPolicyUrlsPass());
}
}