/* Options: Date: 2026-01-26 02:34:20 SwiftVersion: 6.0 Version: 8.90 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://taxfiling.staging.pwc.de //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True //MakePropertiesOptional: True IncludeTypes: HolePortalZertifikatEigenschaftenAsync.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack /** * An asynchronous service to get the properties of a specified portal certificate. */ // @Route("/HolePortalZertifikatEigenschaftenAsync", "POST") // @Api(Description="An asynchronous service to get the properties of a specified portal certificate.") public class HolePortalZertifikatEigenschaftenAsync : HolePortalZertifikatEigenschaftenBase, IReturn { public typealias Return = HoleZertifikatEigenschaftenResponse required public init(){ super.init() } required public init(from decoder: Decoder) throws { try super.init(from: decoder) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) } } /** * Represents a type that encapsulates the return values of the ERiC API function, which retrieves the details of a certificate. */ // @Api(Description="Represents a type that encapsulates the return values of the ERiC API function, which retrieves the details of a certificate.") public class HoleZertifikatEigenschaftenResponse : EricFehlerCodeResponse { /** * The list of test fiscal authoririties. */ // @ApiMember(Description="The list of test fiscal authoririties.") public var rueckgabe:EricHoleZertifikatEigenschaften? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case rueckgabe } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) rueckgabe = try container.decodeIfPresent(EricHoleZertifikatEigenschaften.self, forKey: .rueckgabe) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if rueckgabe != nil { try container.encode(rueckgabe, forKey: .rueckgabe) } } } /** * Represents a portal certificate that is protected by a password. */ // @Api(Description="Represents a portal certificate that is protected by a password.") public class PortalCertificate : FileBase, ISecuredCertificate { /** * The file name of the certificate. */ // @ApiMember(Description="The file name of the certificate.") // @StringLength(128) public var name:String? /** * The password to protect the certificate from unauthorized access. */ // @StringLength(255) // @ApiMember(Description="The password to protect the certificate from unauthorized access.") public var pin:String? /** * The description of the certificate. */ // @StringLength(Int32.max) // @ApiMember(Description="The description of the certificate.") public var Description:String? /** * Tags that can be used to label or identify the certificate. */ // @ApiMember(Description="Tags that can be used to label or identify the certificate.") public var tags:[String] = [] required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case name case pin case Description case tags } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) name = try container.decodeIfPresent(String.self, forKey: .name) pin = try container.decodeIfPresent(String.self, forKey: .pin) Description = try container.decodeIfPresent(String.self, forKey: .Description) tags = try container.decodeIfPresent([String].self, forKey: .tags) ?? [] } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if name != nil { try container.encode(name, forKey: .name) } if pin != nil { try container.encode(pin, forKey: .pin) } if Description != nil { try container.encode(Description, forKey: .Description) } if tags.count > 0 { try container.encode(tags, forKey: .tags) } } } /** * A base service to get the properties of a specified portal certificate. */ // @Api(Description="A base service to get the properties of a specified portal certificate.") public class HolePortalZertifikatEigenschaftenBase : IPost, Codable { /** * The portal certificate. */ // @ApiMember(Description="The portal certificate.", Name="Zertifikat") public var zertifikat:PortalCertificate? required public init(){} } /** * Represents a list of properties for a specified certificate. */ // @Api(Description="Represents a list of properties for a specified certificate.") public class EricHoleZertifikatEigenschaften : Codable { /** * The properties of the certificate used for signing. These are not available for client-side certificates. */ // @ApiMember(Description="The properties of the certificate used for signing. These are not available for client-side certificates.") public var signaturzertifikateigenschaften:Zertifikateigenschaften? /** * The properties of certificates used for encryption. */ // @ApiMember(Description="The properties of certificates used for encryption.") public var verschluesselungszertifikateigenschaften:Zertifikateigenschaften? required public init(){} } /** * Represents a base class for a file with raw data. */ // @Api(Description="Represents a base class for a file with raw data.") public class FileBase : Codable { /** * The raw data content of the file in bytes. */ // @ApiMember(Description="The raw data content of the file in bytes.", Name="Content") public var content:[UInt8]? required public init(){} } public protocol ISecuredCertificate { var pin:String? { get set } } /** * Represents the characteristics of a certificate. */ // @Api(Description="Represents the characteristics of a certificate.") public class Zertifikateigenschaften : Codable { /** * The start validity date of the certificate. */ // @ApiMember(Description="The start validity date of the certificate.") public var ausgestelltAm:Date? /** * The expiry date of the certificate. */ // @ApiMember(Description="The expiry date of the certificate.") public var gueltigBis:Date? /** * The signing algorithm and Object Identifier (for more information on OIDs, please see 'http://www.oid-info.com/') */ // @ApiMember(Description="The signing algorithm and Object Identifier (for more information on OIDs, please see 'http://www.oid-info.com/')") public var signaturalgorithmus:String? /** * The MD5-hash of the public key. */ // @ApiMember(Description="The MD5-hash of the public key.") public var publicKeyMD5:String? /** * The SHA1-hash of the public key. */ // @ApiMember(Description="The SHA1-hash of the public key.") public var publicKeySHA1:String? /** * The key length of the public key in units of bits. For example '2048 bits' */ // @ApiMember(Description="The key length of the public key in units of bits. For example '2048 bits'") public var publicKeyBitLength:Int? /** * The issuer of the certificate. */ // @ApiMember(Description="The issuer of the certificate.") public var issuer:Issuer? /** * The subject of the certificate. */ // @ApiMember(Description="The subject of the certificate.") public var subjekt:Subjekt? /** * The identification characteristics of the certificate. */ // @ApiMember(Description="The identification characteristics of the certificate.") public var identifikationsmerkmaltyp:Identifikationsmerkmaltyp? /** * The type of registrar, to which the key is issued. */ // @ApiMember(Description="The type of registrar, to which the key is issued.") public var registrierertyp:Registrierertyp? /** * The type of verification conducted for the person or organisation, to which the certificate is issued. */ // @ApiMember(Description="The type of verification conducted for the person or organisation, to which the certificate is issued.") public var verifikationsart:VerifikationsartTyp? /** * The type of token used to create the certificate. */ // @ApiMember(Description="The type of token used to create the certificate.") public var tokenTyp:TokenTyp? /** * Is the certificate is a test certificate? True if it is a test certificate; otherwise false. */ // @ApiMember(Description="Is the certificate is a test certificate? True if it is a test certificate; otherwise false.") public var testzertifikat:Bool? required public init(){} } /** * Represents an issuer of certificates. */ // @Api(Description="Represents an issuer of certificates.") public class Issuer : Codable { /** * Details about the issuer of certificates. */ // @ApiMember(Description="Details about the issuer of certificates.") public var infos:[Info] = [] required public init(){} } /** * Represents the subject of the certificate. */ // @Api(Description="Represents the subject of the certificate.") public class Subjekt : Codable { /** * Details about the subject of the certificate. */ // @ApiMember(Description="Details about the subject of the certificate.") public var infos:[Info] = [] required public init(){} } /** * 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. */ public enum Identifikationsmerkmaltyp : String, Codable { case Unbekannt case Steuernummer case Identifikationsnummer case BZStNummer case Bearbeiternummer case Clienterzeugt } /** * Represents a type of registrar. Contains informatiom on the type of person or organization, for which a certificate is issued. Often 'Person' or 'Organisation'. */ public enum Registrierertyp : String, Codable { case Unbekannt case Person case Organisation case Rechteverwalter case BZStInland case BZStAusland case BZStKevizz } /** * Represents a type of verification. Contains information on the verification of a person or organisation by an issuer of certificates. */ public enum VerifikationsartTyp : String, Codable { case Unbekannt case Postweg case Neuerpersonalausweis } /** * Represents a type of token.Contains information about the type of token used to create a certificate. */ public enum TokenTyp : String, Codable { case Unbekannt case Software case Stick case Karte case Ausweis } /** * Represent issuer details of a certificate. */ // @Api(Description="Represent issuer details of a certificate.") public class Info : Codable { /** * The name of the issuer detail. */ // @ApiMember(Description="The name of the issuer detail.") public var name:String? /** * The value of the issuer detail. */ // @ApiMember(Description="The value of the issuer detail.") public var wert:String? required public init(){} } /** * Represent a base response that encapsulate any ERiC API function return value. */ // @Api(Description="Represent a base response that encapsulate any ERiC API function return value.") public class EricFehlerCodeResponse : ServiceReponseBase { /** * The status code that the ERiC API function returns. */ // @ApiMember(Description="The status code that the ERiC API function returns.") public var statusCode:EricFehlerCode? /** * The status message that the ERiC API function returns. */ // @ApiMember(Description="The status message that the ERiC API function returns.") public var statusText:String? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case statusCode case statusText } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) statusCode = try container.decodeIfPresent(EricFehlerCode.self, forKey: .statusCode) statusText = try container.decodeIfPresent(String.self, forKey: .statusText) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if statusCode != nil { try container.encode(statusCode, forKey: .statusCode) } if statusText != nil { try container.encode(statusText, forKey: .statusText) } } }