""" Options: Date: 2024-11-26 01:52:48 Version: 6.110 Tip: To override a DTO option, remove "#" prefix before updating BaseUrl: https://reportfiling.pwc.de #GlobalNamespace: #AddServiceStackTypes: True #AddResponseStatus: False #AddImplicitVersion: #AddDescriptionAsComments: True IncludeTypes: BatchRetrieveElmaCredentialsAsync.* #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 # @Api(Description="Represents a PEM-encoded certificate.") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class PemCertificate: """ Represents a PEM-encoded certificate. """ # @ApiMember(Description="The unique identifier (e.g. the file name) of the certificate.", IsRequired=true, Name="Id") id: Optional[str] = None """ The unique identifier (e.g. the file name) of the certificate. """ # @ApiMember(Description="The PEM-encoded content of the certificate.", IsRequired=true, Name="Content") content: Optional[str] = None """ The PEM-encoded content of the certificate. """ # @ApiMember(Description="The description of the certificate.", Name="Description") description: Optional[str] = None """ The description of the certificate. """ # @ApiMember(Description="Tags to label or identify the certificate.", Name="Tags") tags: Optional[List[str]] = None """ Tags to label or identify the certificate. """ # @Api(Description="Represents the credentials of a user to authenticate the access of an ELMA server.") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class ElmaCredential(IElmaCredential): """ Represents the credentials of a user to authenticate the access of an ELMA server. """ # @ApiMember(Description="The unique identifier of this instance. This identifer is only relevant in the context of data storage and retrieval.", IsRequired=true, Name="Id") id: Optional[str] = None """ The unique identifier of this instance. This identifer is only relevant in the context of data storage and retrieval. """ # @ApiMember(Description="The security certificate to authenticate the user and grant access to the ELMA server. This certificate is generated from the BZSt-issued *.pfx BOP certificate. More details on BOP (BZSt-Online Portal - https://www.elster.de/bportal/start)", IsRequired=true, Name="Certificate") # @Required() # @StringLength(2147483647) certificate: Optional[PemCertificate] = None """ The security certificate to authenticate the user and grant access to the ELMA server. This certificate is generated from the BZSt-issued *.pfx BOP certificate. More details on BOP (BZSt-Online Portal - https://www.elster.de/bportal/start) """ # @ApiMember(Description="The BZSt (Bundeszentralamt für Steuern) - tax number of the user. 11-character text field that may only consist of two capital letters and 9 digits (0-9). The fiscal authority BZSt provides this number during registration at the BOP (BZSt-Online Portal - https://www.elster.de/bportal/start). The number is available in the private area of the BOP user account under \"My BOP\" under the \"Registration Information\"", IsRequired=true, Name="AuthSteuernummer") # @Required() # @StringLength(11) auth_steuernummer: Optional[str] = None """ The BZSt (Bundeszentralamt für Steuern) - tax number of the user. 11-character text field that may only consist of two capital letters and 9 digits (0-9). The fiscal authority BZSt provides this number during registration at the BOP (BZSt-Online Portal - https://www.elster.de/bportal/start). The number is available in the private area of the BOP user account under "My BOP" under the "Registration Information" """ # @ApiMember(Description="The account identifier of a BZSt-Online Portal (BOP) user. 10-character text field that may only contain numbers (0-9).", IsRequired=true, Name="AccountId") # @Required() # @StringLength(10) account_id: Optional[str] = None """ The account identifier of a BZSt-Online Portal (BOP) user. 10-character text field that may only contain numbers (0-9). """ # @ApiMember(Description="The password to protect the certificate from unauthorized access.", IsRequired=true, Name="Password") password: Optional[str] = None """ The password to protect the certificate from unauthorized access. """ # @Api(Description="Represents the search criteria for an ELMA credential.") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class CredentialSearchCriteria: """ Represents the search criteria for an ELMA credential. """ # @ApiMember(Description="The unique identifier of the credential.", Name="Id") id: Optional[str] = None """ The unique identifier of the credential. """ # @ApiMember(Description="The BZSt (Bundeszentralamt für Steuern) - tax number of the user. 11-character text field that may only consist of two capital letters and 9 digits (0-9). The fiscal authority BZSt provides this number during registration at the BOP (BZSt-Online Portal - https://www.elster.de/bportal/start). The number is available in the private area of the BOP user account under \"My BOP\" under the \"Registration Information\"", Name="AuthSteuernummer") auth_steuernummer: Optional[str] = None """ The BZSt (Bundeszentralamt für Steuern) - tax number of the user. 11-character text field that may only consist of two capital letters and 9 digits (0-9). The fiscal authority BZSt provides this number during registration at the BOP (BZSt-Online Portal - https://www.elster.de/bportal/start). The number is available in the private area of the BOP user account under "My BOP" under the "Registration Information" """ # @ApiMember(Description="The account identifier of a BZSt-Online Portal (BOP) user. 10-character text field that may only contain numbers (0-9).", Name="AccountId") account_id: Optional[str] = None """ The account identifier of a BZSt-Online Portal (BOP) user. 10-character text field that may only contain numbers (0-9). """ # @Api(Description="Specfies a service to retrieve ELMA credentials.") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class BatchRetrieveElmaCredentialsBase(IReturn[List[ElmaCredentialResponse]], IPost): """ Specfies a service to retrieve ELMA credentials. """ # @ApiMember(Description="The parameters used to search for credentials.", IsRequired=true, Name="SearchCriteria") search_criteria: Optional[List[CredentialSearchCriteria]] = None """ The parameters used to search for credentials. """ @staticmethod def response_type(): return List[ElmaCredentialResponse] class IElmaCredential: certificate: Optional[PemCertificate] = None auth_steuernummer: Optional[str] = None account_id: Optional[str] = None password: Optional[str] = None # @Api(Description="Represents a service response that encapsulates an ELMA credential. The password of the ELMA credential in this response is encrypted and can only be decrypted by the owner of the private key.") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class ElmaCredentialResponse: """ Represents a service response that encapsulates an ELMA credential. The password of the ELMA credential in this response is encrypted and can only be decrypted by the owner of the private key. """ # @ApiMember(Description="The unique identifier of the response.", Name="Id") id: Optional[str] = None """ The unique identifier of the response. """ # @ApiMember(Description="The encapsulated ELMA credential.", Name="Credential") credential: Optional[ElmaCredential] = None """ The encapsulated ELMA credential. """ # @ApiMember(Description="The status of the response.", Name="ResponseStatus") response_status: Optional[ResponseStatus] = None """ The status of the response. """ # @Route("/async/elma/credentials/batch", "POST") # @Api(Description="Represents a service to retrieve ELMA credentials in an asynchronous operation by using search criteria.") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class BatchRetrieveElmaCredentialsAsync(BatchRetrieveElmaCredentialsBase, IReturn[List[ElmaCredentialResponse]]): """ Represents a service to retrieve ELMA credentials in an asynchronous operation by using search criteria. """ pass