/* Options:
Date: 2024-11-26 02:01:43
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; }
}
}