using System.Collections.ObjectModel;

namespace Valg.EVA.Skanning.Contracts.Security
{
    public static class ClaimDefinitions
    {
        public const string JobManagementAccessClaimType = "opptelling.skanning.administrere_jobbstyring"; 
        public const string ScanAccessClaimType = "opptelling.skanning.skanne"; 
        public const string VerifyAccessClaimType = "opptelling.skanning.verifisere"; 

        public const string TransferAccessClaimType = "opptelling.skanning.overføre_admin"; 

        
        public const string OperatorNameClaimType = "eva.operatorName";
        public const string RoleNameClaimType = "eva.roleName";
        public const string ElectionEventIdClaimType = "eva.electionEventId";
        public const string ElectionEventNameClaimType = "eva.electionEventName";
        public const string TokenUidClaimType = "eva.token.uid";
        public const string TokenCreatedClaimType = "eva.token.created";
        public const string TokenExpirationClaimType = "eva.token.expiration";
        public const string IsEmergencyModeClaimType = "eva.emergencymode";

        public static ReadOnlyCollection<string> EvaAccessClaimTypes => new ReadOnlyCollection<string>(
            new[]
            {
                JobManagementAccessClaimType,
                TransferAccessClaimType,
                ScanAccessClaimType,
                VerifyAccessClaimType
            });
    }
}
