first commit
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace app\common\service\pharmacy;
|
||||
|
||||
final class PharmacyUploadPermissionAlias
|
||||
{
|
||||
public const LEGACY_URI = 'tcm.prescriptionorder/submitgancaorecipel';
|
||||
public const CANONICAL_URI = 'tcm.prescriptionorder/uploadtopharmacy';
|
||||
public const RECONCILE_URI = 'tcm.prescriptionorder/confirmgancaosubmission';
|
||||
|
||||
public static function canonicalUri(string $uri): string
|
||||
{
|
||||
$uri = strtolower($uri);
|
||||
return in_array($uri, [self::LEGACY_URI, self::CANONICAL_URI], true)
|
||||
? self::CANONICAL_URI
|
||||
: $uri;
|
||||
}
|
||||
|
||||
public static function isControlled(string $uri): bool
|
||||
{
|
||||
return in_array(strtolower($uri), [self::LEGACY_URI, self::CANONICAL_URI, self::RECONCILE_URI], true);
|
||||
}
|
||||
|
||||
/** @param array<int,string> $adminUris */
|
||||
public static function allows(string $accessUri, array $adminUris): bool
|
||||
{
|
||||
$canonicalAccess = self::canonicalUri($accessUri);
|
||||
foreach ($adminUris as $uri) {
|
||||
if (self::canonicalUri((string) $uri) === $canonicalAccess) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user