mirror of
https://github.com/shlinkio/shlink.git
synced 2026-03-06 23:33:13 +08:00
Add ORPHAN_VISITS_EXCLUDED API key role
This commit is contained in:
@@ -12,16 +12,20 @@ use Shlinkio\Shlink\Core\ShortUrl\Spec\BelongsToDomain;
|
||||
use Shlinkio\Shlink\Core\ShortUrl\Spec\BelongsToDomainInlined;
|
||||
use Shlinkio\Shlink\Rest\Entity\ApiKeyRole;
|
||||
|
||||
use function sprintf;
|
||||
|
||||
enum Role: string
|
||||
{
|
||||
case AUTHORED_SHORT_URLS = 'AUTHORED_SHORT_URLS';
|
||||
case DOMAIN_SPECIFIC = 'DOMAIN_SPECIFIC';
|
||||
case NO_ORPHAN_VISITS = 'NO_ORPHAN_VISITS';
|
||||
|
||||
public function toFriendlyName(): string
|
||||
public function toFriendlyName(array $meta): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::AUTHORED_SHORT_URLS => 'Author only',
|
||||
self::DOMAIN_SPECIFIC => 'Domain only',
|
||||
self::DOMAIN_SPECIFIC => sprintf('Domain only: %s', Role::domainAuthorityFromMeta($meta)),
|
||||
self::NO_ORPHAN_VISITS => 'No orphan visits',
|
||||
};
|
||||
}
|
||||
|
||||
@@ -30,6 +34,7 @@ enum Role: string
|
||||
return match ($this) {
|
||||
self::AUTHORED_SHORT_URLS => 'author-only',
|
||||
self::DOMAIN_SPECIFIC => 'domain-only',
|
||||
self::NO_ORPHAN_VISITS => 'no-orphan-visits',
|
||||
};
|
||||
}
|
||||
|
||||
@@ -38,6 +43,7 @@ enum Role: string
|
||||
return match ($role->role()) {
|
||||
self::AUTHORED_SHORT_URLS => new BelongsToApiKey($role->apiKey(), $context),
|
||||
self::DOMAIN_SPECIFIC => new BelongsToDomain(self::domainIdFromMeta($role->meta()), $context),
|
||||
default => Spec::andX(),
|
||||
};
|
||||
}
|
||||
|
||||
@@ -46,6 +52,7 @@ enum Role: string
|
||||
return match ($role->role()) {
|
||||
self::AUTHORED_SHORT_URLS => Spec::andX(new BelongsToApiKeyInlined($role->apiKey())),
|
||||
self::DOMAIN_SPECIFIC => Spec::andX(new BelongsToDomainInlined(self::domainIdFromMeta($role->meta()))),
|
||||
default => Spec::andX(),
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user