def METHOD_NAME(self, spec) -> IssuerRegistrationResult:
    """
    Perform issuer registration, updating the related database models.
    """
    issuer_registration = spec["issuer_registration"]
    issuer = issuer_registration["issuer"]
    self.update_user(issuer)
    issuer = self.update_issuer(issuer_registration["issuer"])
    schemas, credential_types = self.update_schemas_and_ctypes(
        issuer, issuer_registration.get("credential_types", [])
    )
    return IssuerRegistrationResult(issuer, schemas, credential_types)