/* Options: Date: 2024-10-18 17:18:24 Version: 6.110 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://reportfiling.pwc.de //GlobalNamespace: //MakePartial: True //MakeVirtual: True //MakeInternal: False //MakeDataContractsExtensible: False //AddNullableAnnotations: False //AddReturnMarker: True //AddDescriptionAsComments: True //AddDataContractAttributes: False //AddIndexesToDataMembers: False //AddGeneratedCodeAttributes: False //AddResponseStatus: False //AddImplicitVersion: //InitializeCollections: True //ExportValueTypes: False IncludeTypes: BrowseFiles.* //ExcludeTypes: //AddNamespaces: //AddDefaultXmlNamespace: http://schemas.servicestack.net/types */ using System; using System.Collections; using System.Collections.Generic; using System.Runtime.Serialization; using ServiceStack; using ServiceStack.DataAnnotations; using System.Xml.Schema; using System.Net; using PwC.Elmaas.Core.Domain.Concretes.Models; using PwC.Elmaas.Core.Services.Contracts.Requests; using PwC.Elmaas.Core.Domain.Contracts.Models; using PwC.DigitalHub.Utilities.IO.Core.Concretes.Models; using PwC.DigitalHub.Utilities.IO.Core.Contracts.Models; using PwC.Elmaas.Core.Services.Contracts.Responses; namespace PwC.DigitalHub.Utilities.IO.Core.Concretes.Models { /// ///Represents information about a file or directory. /// [Api(Description="Represents information about a file or directory.")] public partial class FileMetadata : IFileMetadata { public FileMetadata() { Extensions = new Dictionary{}; } /// ///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")] public virtual string Name { get; set; } /// ///The full path of the directory or file. /// [ApiMember(Description="The full path of the directory or file.", Name="FullName")] public virtual string FullName { get; set; } /// ///The time the current file or directory was last accessed. /// [ApiMember(Description="The time the current file or directory was last accessed.", Name="LastAccessTime")] public virtual DateTime LastAccessTime { get; set; } /// ///The name of the file. /// [ApiMember(Description="The name of the file.", Name="LastAccessTimeUtc")] public virtual DateTime LastAccessTimeUtc { get; set; } /// ///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")] public virtual DateTime LastWriteTime { get; set; } /// ///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")] public virtual DateTime LastWriteTimeUtc { get; set; } /// ///The size, in bytes, of the current file. /// [ApiMember(Description="The size, in bytes, of the current file.", Name="Length")] public virtual long Length { get; set; } /// ///The size, in bytes, of the current file. /// [ApiMember(Description="The size, in bytes, of the current file.", Name="UserId")] public virtual int UserId { get; set; } /// ///The file group id. /// [ApiMember(Description="The file group id.", Name="GroupId")] public virtual int GroupId { get; set; } /// ///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")] public virtual bool OthersCanRead { get; set; } /// ///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")] public virtual bool GroupCanExecute { get; set; } /// ///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")] public virtual bool GroupCanWrite { get; set; } /// ///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")] public virtual bool GroupCanRead { get; set; } /// ///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")] public virtual bool OwnerCanExecute { get; set; } /// ///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")] public virtual bool OwnerCanWrite { get; set; } /// ///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")] public virtual bool OwnerCanRead { get; set; } /// ///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")] public virtual bool OthersCanExecute { get; set; } /// ///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")] public virtual bool OthersCanWrite { get; set; } /// ///Extensions to the file attributes. /// [ApiMember(Description="Extensions to the file attributes.", Name="Extensions")] public virtual Dictionary Extensions { get; set; } } } namespace PwC.DigitalHub.Utilities.IO.Core.Contracts.Models { public partial interface IFileMetadata { string Name { get; set; } string FullName { get; set; } DateTime LastAccessTime { get; set; } DateTime LastAccessTimeUtc { get; set; } DateTime LastWriteTime { get; set; } DateTime LastWriteTimeUtc { get; set; } long Length { get; set; } int UserId { get; set; } int GroupId { get; set; } bool GroupCanExecute { get; set; } bool GroupCanWrite { get; set; } bool GroupCanRead { get; set; } bool OwnerCanRead { get; set; } bool OwnerCanExecute { get; set; } bool OwnerCanWrite { get; set; } bool OthersCanRead { get; set; } bool OthersCanExecute { get; set; } bool OthersCanWrite { get; set; } Dictionary Extensions { get; set; } } } namespace PwC.Elmaas.Core.Domain.Concretes.Models { public enum DirectoryType { Upload, Download, } /// ///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 partial 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")] public virtual string Id { get; set; } /// ///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(int.MaxValue)] public virtual PemCertificate Certificate { get; set; } /// ///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 virtual string AuthSteuernummer { get; set; } /// ///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 virtual string AccountId { get; set; } /// ///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 virtual string Password { get; set; } } } namespace PwC.Elmaas.Core.Domain.Contracts.Models { public partial interface IElmaCredential { PemCertificate Certificate { get; set; } string AuthSteuernummer { get; set; } string AccountId { get; set; } string Password { get; set; } } /// ///Represents a PEM-encoded certificate. /// [Api(Description="Represents a PEM-encoded certificate.")] public partial class PemCertificate { public PemCertificate() { Tags = new List{}; } /// ///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 virtual string Id { get; set; } /// ///The PEM-encoded content of the certificate. /// [ApiMember(Description="The PEM-encoded content of the certificate.", IsRequired=true, Name="Content")] public virtual string Content { get; set; } /// ///The description of the certificate. /// [ApiMember(Description="The description of the certificate.", Name="Description")] public virtual string Description { get; set; } /// ///Tags to label or identify the certificate. /// [ApiMember(Description="Tags to label or identify the certificate.", Name="Tags")] public virtual List Tags { get; set; } } } namespace PwC.Elmaas.Core.Services.Contracts.Requests { /// ///Represents a request to browse directories for files on the ELMA server. /// [Route("/sync/elma/files/browse", "POST")] [Api(Description="Represents a request to browse directories for files on the ELMA server.")] public partial class BrowseFiles : BrowseFilesBase, IReturn { } /// ///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.")] public partial class BrowseFilesBase : IPost, IAuthenticateRequest, IStageableRequest { /// ///The directory to browse for files. /// [ApiMember(Description="The directory to browse for files.", IsRequired=true, Name="DirectoryType")] public virtual DirectoryType DirectoryType { get; set; } /// ///The credential to gain access on the ELMA server. /// [ApiMember(Description="The credential to gain access on the ELMA server.", IsRequired=true, Name="Credential")] public virtual ElmaCredential Credential { get; set; } /// ///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")] public virtual bool? StagingEnabled { get; set; } } public partial interface IAuthenticateRequest { ElmaCredential Credential { get; set; } } public partial interface IStageableRequest { bool? StagingEnabled { get; set; } } } namespace PwC.Elmaas.Core.Services.Contracts.Responses { /// ///Encapsulates the results of browsing an ELMA server directory /// [Api(Description="Encapsulates the results of browsing an ELMA server directory")] public partial class BrowseResponse { public BrowseResponse() { Files = new List{}; } /// ///The files from the file browse operation. /// [ApiMember(Description="The files from the file browse operation.", Name="Files")] public virtual List Files { get; set; } /// ///The status of the file browse operation. /// [ApiMember(Description="The status of the file browse operation.", Name="ResponseStatus")] public virtual ResponseStatus ResponseStatus { get; set; } } }