/* Options: Date: 2026-01-25 11:36:29 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: HoleZertifikatFingerabdruckAsync.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack /** * An asynchronous service to get the fingerprint of a specified client-side certificate */ // @Route("/HoleZertifikatFingerabdruck", "POST") // @Api(Description="An asynchronous service to get the fingerprint of a specified client-side certificate") public class HoleZertifikatFingerabdruckAsync : HoleZertifikatFingerabdruckBase, IReturn { public typealias Return = HoleZertifikatFingerabdruckResponse 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 fingerprint of a specified certificate. */ // @Api(Description="Represents a type that encapsulates the return values of the ERiC API function, which retrieves the fingerprint of a specified certificate.") public class HoleZertifikatFingerabdruckResponse : EricFehlerCodeResponse { /** * The fingerprint of the return type. */ // @ApiMember(Description="The fingerprint of the return type.") public var fingerabdruck:String? /** * The signature of the return type. */ // @ApiMember(Description="The signature of the return type.") public var signatur:String? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case fingerabdruck case signatur } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) fingerabdruck = try container.decodeIfPresent(String.self, forKey: .fingerabdruck) signatur = try container.decodeIfPresent(String.self, forKey: .signatur) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if fingerabdruck != nil { try container.encode(fingerabdruck, forKey: .fingerabdruck) } if signatur != nil { try container.encode(signatur, forKey: .signatur) } } } /** * Represents a client-side generated certificate that is protected by a password. */ // @Api(Description="Represents a client-side generated certificate that is protected by a password.") public class ClientSideCertificate : ISecuredCertificate, Codable { /** * The friendly name of the certificate. */ // @ApiMember(Description="The friendly name of the certificate.", IsRequired=true) 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.", IsRequired=true) public var pin:String? /** * The file that contains the private key. Access is protected by the PIN. */ // @ApiMember(Description="The file that contains the private key. Access is protected by the PIN.", IsRequired=true) public var privateKeyFile:BinaryFile? /** * The file that contains the certificate data and public key. */ // @ApiMember(Description="The file that contains the certificate data and public key.", IsRequired=true) public var publicKeyFile:BinaryFile? /** * Contains the checksum of the files PublicKeyFile and PrivateKeyFile. */ // @ApiMember(Description="Contains the checksum of the files PublicKeyFile and PrivateKeyFile.", IsRequired=true) public var checksumFile:BinaryFile? /** * The description for the certificate. */ // @StringLength(Int32.max) // @ApiMember(Description="The description for the certificate.") public var Description:String? /** * The tags that can be used to label or identify the certificate. */ // @ApiMember(Description="The tags that can be used to label or identify the certificate.") public var tags:[String] = [] required public init(){} } public class HoleZertifikatFingerabdruckBase : IPost, Codable { /** * The client-side certificate. Access is protected by a PIN. */ // @ApiMember(Description="The client-side certificate. Access is protected by a PIN.") public var zertifikat:ClientSideCertificate? required public init(){} } /** * Represents a generic file that contains raw data content in bytes */ // @Api(Description="Represents a generic file that contains raw data content in bytes") public class BinaryFile : FileBase { /** * The attributes of the file. */ // @ApiMember(Description="The attributes of the file.") public var metadata:FileMetadata? /** * The name of the file without information on its directory path. */ // @ApiMember(Description="The name of the file without information on its directory path.") public var name:String? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case metadata case name } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) metadata = try container.decodeIfPresent(FileMetadata.self, forKey: .metadata) name = try container.decodeIfPresent(String.self, forKey: .name) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if metadata != nil { try container.encode(metadata, forKey: .metadata) } if name != nil { try container.encode(name, forKey: .name) } } } /** * 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 information about a file or directory. */ // @Api(Description="Represents information about a file or directory.") public class FileMetadata : IFileMetadata, Codable { /** * The name of the file.For files, gets the name of the file.For directories, gets the name of the last directory in the hierarchy if a hierarchy exists; otherwise, the name of the directory. */ // @ApiMember(Description="The name of the file.\nFor files, gets the name of the file.\nFor directories, gets the name of the last directory in the hierarchy if a hierarchy exists; otherwise, the name of the directory.") public var name:String? /** * The full path of the directory or file. */ // @ApiMember(Description="The full path of the directory or file.") public var fullName:String? /** * The time the current file or directory was last accessed. */ // @ApiMember(Description="The time the current file or directory was last accessed.") public var lastAccessTime:Date? /** * The name of the file. */ // @ApiMember(Description="The name of the file.") public var lastAccessTimeUtc:Date? /** * The time when the current file or directory was last written to. */ // @ApiMember(Description="The time when the current file or directory was last written to.") public var lastWriteTime:Date? /** * The time, in coordinated universal time (UTC), when the current file or directory was last written to. */ // @ApiMember(Description="The time, in coordinated universal time (UTC), when the current file or directory was last written to.") public var lastWriteTimeUtc:Date? /** * The size, in bytes, of the current file. */ // @ApiMember(Description="The size, in bytes, of the current file.") public var length:Int? /** * The size, in bytes, of the current file. */ // @ApiMember(Description="The size, in bytes, of the current file.") public var userId:Int? /** * The file group id. */ // @ApiMember(Description="The file group id.") public var groupId:Int? /** * A value that indicates whether the others can read from this file. */ // @ApiMember(Description="A value that indicates whether the others can read from this file.") public var othersCanRead:Bool? /** * A value that indicates whether the group members can execute this file. */ // @ApiMember(Description="A value that indicates whether the group members can execute this file.") public var groupCanExecute:Bool? /** * A value that indicates whether the group members can write into this file. */ // @ApiMember(Description="A value that indicates whether the group members can write into this file.") public var groupCanWrite:Bool? /** * A value that indicates whether the group members can read from this file. */ // @ApiMember(Description="A value that indicates whether the group members can read from this file.") public var groupCanRead:Bool? /** * A value that indicates whether the owner can execute this file. */ // @ApiMember(Description="A value that indicates whether the owner can execute this file.") public var ownerCanExecute:Bool? /** * A value that indicates whether the owner can write into this file. */ // @ApiMember(Description="A value that indicates whether the owner can write into this file.") public var ownerCanWrite:Bool? /** * A value that indicates whether the owner can read from this file. */ // @ApiMember(Description="A value that indicates whether the owner can read from this file.") public var ownerCanRead:Bool? /** * A value that indicates whether others can read from this file. */ // @ApiMember(Description="A value that indicates whether others can read from this file.") public var othersCanExecute:Bool? /** * A value that indicates whether others can write into this file. */ // @ApiMember(Description="A value that indicates whether others can write into this file.") public var othersCanWrite:Bool? /** * Extensions to the file attributes. */ // @ApiMember(Description="Extensions to the file attributes.") public var extensions:[String:String] = [:] required public init(){} } public protocol IFileMetadata { var name:String? { get set } var fullName:String? { get set } var lastAccessTime:Date? { get set } var lastAccessTimeUtc:Date? { get set } var lastWriteTime:Date? { get set } var lastWriteTimeUtc:Date? { get set } var length:Int? { get set } var userId:Int? { get set } var groupId:Int? { get set } var groupCanExecute:Bool? { get set } var groupCanWrite:Bool? { get set } var groupCanRead:Bool? { get set } var ownerCanRead:Bool? { get set } var ownerCanExecute:Bool? { get set } var ownerCanWrite:Bool? { get set } var othersCanRead:Bool? { get set } var othersCanExecute:Bool? { get set } var othersCanWrite:Bool? { get set } var extensions:[String:String]? { get set } } /** * 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) } } }