""" Options: Date: 2026-01-25 18:52:31 Version: 8.90 Tip: To override a DTO option, remove "#" prefix before updating BaseUrl: https://taxfiling.staging.pwc.de #GlobalNamespace: #AddServiceStackTypes: True #AddResponseStatus: False #AddImplicitVersion: #AddDescriptionAsComments: True IncludeTypes: HolePortalZertifikatEigenschaften.* #ExcludeTypes: #DefaultImports: datetime,decimal,marshmallow.fields:*,servicestack:*,typing:*,dataclasses:dataclass/field,dataclasses_json:dataclass_json/LetterCase/Undefined/config,enum:Enum/IntEnum #DataClass: #DataClassJson: """ import datetime import decimal from marshmallow.fields import * from servicestack import * from typing import * from dataclasses import dataclass, field from dataclasses_json import dataclass_json, LetterCase, Undefined, config from enum import Enum, IntEnum Object = TypeVar('Object') # @Api(Description="Represents a base class for a file with raw data.") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class FileBase: """ Represents a base class for a file with raw data. """ # @ApiMember(Description="The raw data content of the file in bytes.", Name="Content") content: Optional[bytes] = None """ The raw data content of the file in bytes. """ # @Api(Description="Represents a portal certificate that is protected by a password.") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class PortalCertificate(FileBase, ISecuredCertificate): """ Represents a portal certificate that is protected by a password. """ # @ApiMember(Description="The file name of the certificate.") # @StringLength(128) name: Optional[str] = None """ The file name of the certificate. """ # @StringLength(255) # @ApiMember(Description="The password to protect the certificate from unauthorized access.") pin: Optional[str] = None """ The password to protect the certificate from unauthorized access. """ # @StringLength(2147483647) # @ApiMember(Description="The description of the certificate.") description: Optional[str] = None """ The description of the certificate. """ # @ApiMember(Description="Tags that can be used to label or identify the certificate.") tags: List[str] = field(default_factory=list) """ Tags that can be used to label or identify the certificate. """ # @Api(Description="A base service to get the properties of a specified portal certificate.") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class HolePortalZertifikatEigenschaftenBase(IReturn[HoleZertifikatEigenschaftenResponse], IPost): """ A base service to get the properties of a specified portal certificate. """ # @ApiMember(Description="The portal certificate.", Name="Zertifikat") zertifikat: Optional[PortalCertificate] = None """ The portal certificate. """ @staticmethod def response_type(): return HoleZertifikatEigenschaftenResponse # @Api(Description="Represent issuer details of a certificate.") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class Info: """ Represent issuer details of a certificate. """ # @ApiMember(Description="The name of the issuer detail.") name: Optional[str] = None """ The name of the issuer detail. """ # @ApiMember(Description="The value of the issuer detail.") wert: Optional[str] = None """ The value of the issuer detail. """ # @Api(Description="Represents an issuer of certificates.") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class Issuer: """ Represents an issuer of certificates. """ # @ApiMember(Description="Details about the issuer of certificates.") infos: List[Info] = field(default_factory=list) """ Details about the issuer of certificates. """ # @Api(Description="Represents the subject of the certificate.") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class Subjekt: """ Represents the subject of the certificate. """ # @ApiMember(Description="Details about the subject of the certificate.") infos: List[Info] = field(default_factory=list) """ Details about the subject of the certificate. """ class Identifikationsmerkmaltyp(str, Enum): """ Represents a type of Identification characteristic. Identification marker that was specified when the certificate was generated. For portal certificates usually tax number or identification number. """ UNBEKANNT = 'Unbekannt' STEUERNUMMER = 'Steuernummer' IDENTIFIKATIONSNUMMER = 'Identifikationsnummer' BZ_ST_NUMMER = 'BZStNummer' BEARBEITERNUMMER = 'Bearbeiternummer' CLIENTERZEUGT = 'Clienterzeugt' class Registrierertyp(str, Enum): """ Represents a type of registrar. Contains informatiom on the type of person or organization, for which a certificate is issued. Often 'Person' or 'Organisation'. """ UNBEKANNT = 'Unbekannt' PERSON = 'Person' ORGANISATION = 'Organisation' RECHTEVERWALTER = 'Rechteverwalter' BZ_ST_INLAND = 'BZStInland' BZ_ST_AUSLAND = 'BZStAusland' BZ_ST_KEVIZZ = 'BZStKevizz' class VerifikationsartTyp(str, Enum): """ Represents a type of verification. Contains information on the verification of a person or organisation by an issuer of certificates. """ UNBEKANNT = 'Unbekannt' POSTWEG = 'Postweg' NEUERPERSONALAUSWEIS = 'Neuerpersonalausweis' class TokenTyp(str, Enum): """ Represents a type of token.Contains information about the type of token used to create a certificate. """ UNBEKANNT = 'Unbekannt' SOFTWARE = 'Software' STICK = 'Stick' KARTE = 'Karte' AUSWEIS = 'Ausweis' # @Api(Description="Represents the characteristics of a certificate.") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class Zertifikateigenschaften: """ Represents the characteristics of a certificate. """ # @ApiMember(Description="The start validity date of the certificate.") ausgestellt_am: Optional[datetime.datetime] = None """ The start validity date of the certificate. """ # @ApiMember(Description="The expiry date of the certificate.") gueltig_bis: Optional[datetime.datetime] = None """ The expiry date of the certificate. """ # @ApiMember(Description="The signing algorithm and Object Identifier (for more information on OIDs, please see 'http://www.oid-info.com/')") signaturalgorithmus: Optional[str] = None """ The signing algorithm and Object Identifier (for more information on OIDs, please see 'http://www.oid-info.com/') """ # @ApiMember(Description="The MD5-hash of the public key.") public_key_m_d5: Optional[str] = None """ The MD5-hash of the public key. """ # @ApiMember(Description="The SHA1-hash of the public key.") public_key_s_h_a1: Optional[str] = None """ The SHA1-hash of the public key. """ # @ApiMember(Description="The key length of the public key in units of bits. For example '2048 bits'") public_key_bit_length: int = 0 """ The key length of the public key in units of bits. For example '2048 bits' """ # @ApiMember(Description="The issuer of the certificate.") issuer: Optional[Issuer] = None """ The issuer of the certificate. """ # @ApiMember(Description="The subject of the certificate.") subjekt: Optional[Subjekt] = None """ The subject of the certificate. """ # @ApiMember(Description="The identification characteristics of the certificate.") identifikationsmerkmaltyp: Optional[Identifikationsmerkmaltyp] = None """ The identification characteristics of the certificate. """ # @ApiMember(Description="The type of registrar, to which the key is issued.") registrierertyp: Optional[Registrierertyp] = None """ The type of registrar, to which the key is issued. """ # @ApiMember(Description="The type of verification conducted for the person or organisation, to which the certificate is issued.") verifikationsart: Optional[VerifikationsartTyp] = None """ The type of verification conducted for the person or organisation, to which the certificate is issued. """ # @ApiMember(Description="The type of token used to create the certificate.") token_typ: Optional[TokenTyp] = None """ The type of token used to create the certificate. """ # @ApiMember(Description="Is the certificate is a test certificate? True if it is a test certificate; otherwise false.") testzertifikat: Optional[bool] = None """ Is the certificate is a test certificate? True if it is a test certificate; otherwise false. """ # @Api(Description="Represents a list of properties for a specified certificate.") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class EricHoleZertifikatEigenschaften: """ Represents a list of properties for a specified certificate. """ # @ApiMember(Description="The properties of the certificate used for signing. These are not available for client-side certificates.") signaturzertifikateigenschaften: Optional[Zertifikateigenschaften] = None """ The properties of the certificate used for signing. These are not available for client-side certificates. """ # @ApiMember(Description="The properties of certificates used for encryption.") verschluesselungszertifikateigenschaften: Optional[Zertifikateigenschaften] = None """ The properties of certificates used for encryption. """ class ISecuredCertificate: pin: Optional[str] = None # @Api(Description="Represent a base response that encapsulate any ERiC API function return value.") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class EricFehlerCodeResponse(ServiceReponseBase): """ Represent a base response that encapsulate any ERiC API function return value. """ # @ApiMember(Description="The status code that the ERiC API function returns.") status_code: Optional[EricFehlerCode] = None """ The status code that the ERiC API function returns. """ # @ApiMember(Description="The status message that the ERiC API function returns.") status_text: Optional[str] = None """ The status message that the ERiC API function returns. """ # @Api(Description="Represents a type that encapsulates the return values of the ERiC API function, which retrieves the details of a certificate.") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class HoleZertifikatEigenschaftenResponse(EricFehlerCodeResponse): """ Represents a type that encapsulates the return values of the ERiC API function, which retrieves the details of a certificate. """ # @ApiMember(Description="The list of test fiscal authoririties.") rueckgabe: Optional[EricHoleZertifikatEigenschaften] = None """ The list of test fiscal authoririties. """ # @Route("/HolePortalZertifikatEigenschaften", "POST") # @Api(Description="A synchronous service to get the properties of a specified portal certificate.") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class HolePortalZertifikatEigenschaften(HolePortalZertifikatEigenschaftenBase, IReturn[HoleZertifikatEigenschaftenResponse]): """ A synchronous service to get the properties of a specified portal certificate. """ pass