Source code for acapy_agent.anoncreds.default.did_web.registry

"""DID Web Registry."""

import logging
import re
from typing import Optional, Pattern, Sequence

from ....config.injection_context import InjectionContext
from ....core.profile import Profile
from ...base import BaseAnonCredsRegistrar, BaseAnonCredsResolver
from ...models.credential_definition import CredDef, CredDefResult, GetCredDefResult
from ...models.revocation import (
    GetRevListResult,
    GetRevRegDefResult,
    RevList,
    RevListResult,
    RevRegDef,
    RevRegDefResult,
)
from ...models.schema import AnonCredsSchema, GetSchemaResult, SchemaResult
from ...models.schema_info import AnonCredsSchemaInfo

LOGGER = logging.getLogger(__name__)


[docs] class DIDWebRegistry(BaseAnonCredsResolver, BaseAnonCredsRegistrar): """DIDWebRegistry.""" def __init__(self): """Initialize an instance. Args: None """ self._supported_identifiers_regex = re.compile( r"^did:web:[a-z0-9]+(?:\.[a-z0-9]+)*(?::\d+)?(?:\/[^#\s]*)?(?:#.*)?\s*$" ) @property def supported_identifiers_regex(self) -> Pattern: """Supported Identifiers Regular Expression.""" return self._supported_identifiers_regex # TODO: fix regex (too general)
[docs] async def setup(self, context: InjectionContext) -> None: """Setup.""" LOGGER.info("Successfully registered DIDWebRegistry")
[docs] async def get_schema(self, profile: Profile, schema_id: str) -> GetSchemaResult: """Get a schema from the registry.""" raise NotImplementedError()
[docs] async def register_schema( self, profile: Profile, schema: AnonCredsSchema, options: Optional[dict] = None, ) -> SchemaResult: """Register a schema on the registry.""" raise NotImplementedError()
[docs] async def get_credential_definition( self, profile: Profile, credential_definition_id: str ) -> GetCredDefResult: """Get a credential definition from the registry.""" raise NotImplementedError()
[docs] async def register_credential_definition( self, profile: Profile, schema: GetSchemaResult, credential_definition: CredDef, options: Optional[dict] = None, ) -> CredDefResult: """Register a credential definition on the registry.""" raise NotImplementedError()
[docs] async def get_revocation_registry_definition( self, profile: Profile, revocation_registry_id: str ) -> GetRevRegDefResult: """Get a revocation registry definition from the registry.""" raise NotImplementedError()
[docs] async def register_revocation_registry_definition( self, profile: Profile, revocation_registry_definition: RevRegDef, options: Optional[dict] = None, ) -> RevRegDefResult: """Register a revocation registry definition on the registry.""" raise NotImplementedError()
[docs] async def get_revocation_list( self, profile: Profile, revocation_registry_id: str, timestamp_from: Optional[int] = 0, timestamp_to: Optional[int] = None, ) -> GetRevListResult: """Get a revocation list from the registry.""" raise NotImplementedError()
[docs] async def register_revocation_list( self, profile: Profile, rev_reg_def: RevRegDef, rev_list: RevList, options: Optional[dict] = None, ) -> RevListResult: """Register a revocation list on the registry.""" raise NotImplementedError()
[docs] async def update_revocation_list( self, profile: Profile, rev_reg_def: RevRegDef, prev_list: RevList, curr_list: RevList, revoked: Sequence[int], options: Optional[dict] = None, ) -> RevListResult: """Update a revocation list on the registry.""" raise NotImplementedError()
[docs] async def get_schema_info_by_id( self, profile: Profile, schema_id: str ) -> AnonCredsSchemaInfo: """Get a schema info from the registry.""" return await super().get_schema_info_by_id(profile, schema_id)