Files
zyt/server/app/common/service/pharmacy/PharmacyUploadPermissionAlias.php
T
2026-07-22 14:50:34 +08:00

39 lines
1.1 KiB
PHP

<?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;
}
}