/* Options: Date: 2024-10-18 17:18:08 SwiftVersion: 5.0 Version: 6.110 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://reportfiling.pwc.de //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True IncludeTypes: BatchDeleteElmaCredentials.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack /** * Represents a service to delete multiple ELMA credentials. */ // @Route("/sync/elma/credentials/batch/delete", "POST") // @Api(Description="Represents a service to delete multiple ELMA credentials.") public class BatchDeleteElmaCredentials : BatchDeleteElmaCredentialsBase, IReturn { public typealias Return = [ElmaCredentialResponse] 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 the credentials of a user to authenticate the access of an ELMA server. */ // @Api(Description="Represents the credentials of a user to authenticate the access of an ELMA server.") public class ElmaCredential : IElmaCredential, Codable { /** * The unique identifier of this instance. This identifer is only relevant in the context of data storage and retrieval. */ // @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") public var id:String /** * 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 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(Int32.max) public var certificate:PemCertificate? /** * 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 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) public var authSteuernummer:String? /** * The account identifier of a BZSt-Online Portal (BOP) user. 10-character text field that may only contain numbers (0-9). */ // @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) public var accountId:String? /** * The password to protect the certificate from unauthorized access. */ // @ApiMember(Description="The password to protect the certificate from unauthorized access.", IsRequired=true, Name="Password") public var password:String required public init(){} } /** * Represents a PEM-encoded certificate. */ // @Api(Description="Represents a PEM-encoded certificate.") public class PemCertificate : Codable { /** * The unique identifier (e.g. the file name) of the certificate. */ // @ApiMember(Description="The unique identifier (e.g. the file name) of the certificate.", IsRequired=true, Name="Id") public var id:String /** * The PEM-encoded content of the certificate. */ // @ApiMember(Description="The PEM-encoded content of the certificate.", IsRequired=true, Name="Content") public var content:String /** * The description of the certificate. */ // @ApiMember(Description="The description of the certificate.", Name="Description") public var Description:String /** * Tags to label or identify the certificate. */ // @ApiMember(Description="Tags to label or identify the certificate.", Name="Tags") public var tags:[String] = [] required public init(){} } /** * Specfies a service to delete multiple ELMA credentials. */ // @Api(Description="Specfies a service to delete multiple ELMA credentials.") public class BatchDeleteElmaCredentialsBase : IPost, Codable { /** * The ELMA credentials to delete. */ // @ApiMember(Description="The ELMA credentials to delete.", IsRequired=true, Name="Credentials") public var credentials:[ElmaCredential] = [] required public init(){} } public protocol IElmaCredential { var certificate:PemCertificate { get set } var authSteuernummer:String { get set } var accountId:String { get set } var password:String { get set } } /** * 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. */ // @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.") public class ElmaCredentialResponse : Codable { /** * The unique identifier of the response. */ // @ApiMember(Description="The unique identifier of the response.", Name="Id") public var id:String /** * The encapsulated ELMA credential. */ // @ApiMember(Description="The encapsulated ELMA credential.", Name="Credential") public var credential:ElmaCredential /** * The status of the response. */ // @ApiMember(Description="The status of the response.", Name="ResponseStatus") public var responseStatus:ResponseStatus required public init(){} }