/* Options: Date: 2024-11-26 01:46:19 Version: 6.110 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://reportfiling.pwc.de //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: BrowseFiles.* //ExcludeTypes: //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,net.servicestack.client.* */ import java.math.* import java.util.* import net.servicestack.client.* /** * Represents a request to browse directories for files on the ELMA server. */ @Route(Path="/sync/elma/files/browse", Verbs="POST") @Api(Description="Represents a request to browse directories for files on the ELMA server.") open class BrowseFiles : BrowseFilesBase(), IReturn { companion object { private val responseType = BrowseResponse::class.java } override fun getResponseType(): Any? = BrowseFiles.responseType } /** * Encapsulates the results of browsing an ELMA server directory */ @Api(Description="Encapsulates the results of browsing an ELMA server directory") open class BrowseResponse { /** * The files from the file browse operation. */ @ApiMember(Description="The files from the file browse operation.", Name="Files") var files:ArrayList = ArrayList() /** * The status of the file browse operation. */ @ApiMember(Description="The status of the file browse operation.", Name="ResponseStatus") var responseStatus:ResponseStatus? = null } /** * 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.") open class ElmaCredential : IElmaCredential { /** * 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") var id:String? = null /** * 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(2147483647) var certificate:PemCertificate? = null /** * 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) var authSteuernummer:String? = null /** * 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) var accountId:String? = null /** * The password to protect the certificate from unauthorized access. */ @ApiMember(Description="The password to protect the certificate from unauthorized access.", IsRequired=true, Name="Password") var password:String? = null } open interface IAuthenticateRequest { var credential:ElmaCredential? } open interface IStageableRequest { var stagingEnabled:Boolean? } enum class DirectoryType { Upload, Download, } /** * Specifies a request to browse directories for files on the ELMA server. */ @Api(Description="Specifies a request to browse directories for files on the ELMA server.") open class BrowseFilesBase : IPost, IAuthenticateRequest, IStageableRequest { /** * The directory to browse for files. */ @ApiMember(Description="The directory to browse for files.", IsRequired=true, Name="DirectoryType") var directoryType:DirectoryType? = null /** * The credential to gain access on the ELMA server. */ @ApiMember(Description="The credential to gain access on the ELMA server.", IsRequired=true, Name="Credential") var credential:ElmaCredential? = null /** * Should operations be staged on the ELMA server? true: operations are executed on the Test ELMA server. false: operations are executed on the Live (Production) ELMA server. */ @ApiMember(Description="Should operations be staged on the ELMA server? true: operations are executed on the Test ELMA server. false: operations are executed on the Live (Production) ELMA server.", Name="StagingEnabled") var stagingEnabled:Boolean? = null } /** * Represents a PEM-encoded certificate. */ @Api(Description="Represents a PEM-encoded certificate.") open class PemCertificate { /** * 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") var id:String? = null /** * The PEM-encoded content of the certificate. */ @ApiMember(Description="The PEM-encoded content of the certificate.", IsRequired=true, Name="Content") var content:String? = null /** * The description of the certificate. */ @ApiMember(Description="The description of the certificate.", Name="Description") var description:String? = null /** * Tags to label or identify the certificate. */ @ApiMember(Description="Tags to label or identify the certificate.", Name="Tags") var tags:ArrayList = ArrayList() } /** * Represents information about a file or directory. */ @Api(Description="Represents information about a file or directory.") open class FileMetadata : IFileMetadata { /** * 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.", Name="Name") var name:String? = null /** * The full path of the directory or file. */ @ApiMember(Description="The full path of the directory or file.", Name="FullName") var fullName:String? = null /** * The time the current file or directory was last accessed. */ @ApiMember(Description="The time the current file or directory was last accessed.", Name="LastAccessTime") var lastAccessTime:Date? = null /** * The name of the file. */ @ApiMember(Description="The name of the file.", Name="LastAccessTimeUtc") var lastAccessTimeUtc:Date? = null /** * 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.", Name="LastAccessTime") var lastWriteTime:Date? = null /** * 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.", Name="LastWriteTimeUtc") var lastWriteTimeUtc:Date? = null /** * The size, in bytes, of the current file. */ @ApiMember(Description="The size, in bytes, of the current file.", Name="Length") var length:Long? = null /** * The size, in bytes, of the current file. */ @ApiMember(Description="The size, in bytes, of the current file.", Name="UserId") var userId:Int? = null /** * The file group id. */ @ApiMember(Description="The file group id.", Name="GroupId") var groupId:Int? = null /** * 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.", Name="OthersCanRead") var othersCanRead:Boolean? = null /** * 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.", Name="GroupCanExecute") var groupCanExecute:Boolean? = null /** * 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.", Name="GroupCanWrite") var groupCanWrite:Boolean? = null /** * 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.", Name="GroupCanRead") var groupCanRead:Boolean? = null /** * A value that indicates whether the owner can execute this file. */ @ApiMember(Description="A value that indicates whether the owner can execute this file.", Name="OwnerCanExecute") var ownerCanExecute:Boolean? = null /** * 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.", Name="OwnerCanWrite") var ownerCanWrite:Boolean? = null /** * 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.", Name="OthersCanRead") var ownerCanRead:Boolean? = null /** * A value that indicates whether others can read from this file. */ @ApiMember(Description="A value that indicates whether others can read from this file.", Name="OthersCanExecute") var othersCanExecute:Boolean? = null /** * A value that indicates whether others can write into this file. */ @ApiMember(Description="A value that indicates whether others can write into this file.", Name="OthersCanWrite") var othersCanWrite:Boolean? = null /** * Extensions to the file attributes. */ @ApiMember(Description="Extensions to the file attributes.", Name="Extensions") var extensions:HashMap = HashMap() } open interface IElmaCredential { var certificate:PemCertificate? var authSteuernummer:String? var accountId:String? var password:String? } open interface IFileMetadata { var name:String? var fullName:String? var lastAccessTime:Date? var lastAccessTimeUtc:Date? var lastWriteTime:Date? var lastWriteTimeUtc:Date? var length:Long? var userId:Int? var groupId:Int? var groupCanExecute:Boolean? var groupCanWrite:Boolean? var groupCanRead:Boolean? var ownerCanRead:Boolean? var ownerCanExecute:Boolean? var ownerCanWrite:Boolean? var othersCanRead:Boolean? var othersCanExecute:Boolean? var othersCanWrite:Boolean? var extensions:HashMap? }