/* Options: Date: 2024-10-18 17:26:29 Version: 6.110 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://reportfiling.staging.pwc.de //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: RetrieveFiles.* //ExcludeTypes: //DefaultImports: */ export enum Verfahren { CC = 'CC', CS = 'CS', DC = 'DC', FC = 'FC', FS = 'FS', FA = 'FA', KM = 'KM', } /** @description Represent parameters to search or filter on submissions. */ // @Api(Description="Represent parameters to search or filter on submissions. ") export class SearchCriteria { /** @description Full or partial name of the item (report or protocol) to search. */ // @ApiMember(Description="Full or partial name of the item (report or protocol) to search.", Name="Name") public name: string; /** @description TThe ELMA product designation. */ // @ApiMember(Description="TThe ELMA product designation.", Name="Designation") public designation?: Verfahren; public constructor(init?: Partial) { (Object as any).assign(this, init); } } /** @description Represents a PEM-encoded certificate. */ // @Api(Description="Represents a PEM-encoded certificate.") export class PemCertificate { /** @description 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 id: string; /** @description The PEM-encoded content of the certificate. */ // @ApiMember(Description="The PEM-encoded content of the certificate.", IsRequired=true, Name="Content") public content: string; /** @description The description of the certificate. */ // @ApiMember(Description="The description of the certificate.", Name="Description") public description: string; /** @description Tags to label or identify the certificate. */ // @ApiMember(Description="Tags to label or identify the certificate.", Name="Tags") public tags: string[]; public constructor(init?: Partial) { (Object as any).assign(this, init); } } /** @description 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.") export class ElmaCredential implements IElmaCredential { /** @description 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 id: string; /** @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) */ // @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) public certificate: PemCertificate; /** @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" */ // @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 authSteuernummer: string; /** @description 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 accountId: string; /** @description 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 password: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export interface IAuthenticateRequest { credential: ElmaCredential; } export interface IStageableRequest { stagingEnabled?: boolean; } export interface ISearchRequest { searchCriteria: SearchCriteria; } /** @description Specifies a request to retrieve ELMA response files in a zip file containing retrieved protocol files from the ELMA server. */ // @Api(Description="Specifies a request to retrieve ELMA response files in a zip file containing retrieved protocol files from the ELMA server.") export class RetrieveFilesBase implements IPost, IAuthenticateRequest, IStageableRequest, ISearchRequest { /** @description The parameters to search or filter on the ELMA response files. */ // @ApiMember(Description="The parameters to search or filter on the ELMA response files.", IsRequired=true, Name="SearchCriteria") public searchCriteria: SearchCriteria; /** @description 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 credential: ElmaCredential; /** @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. */ // @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 stagingEnabled?: boolean; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export interface IElmaCredential { certificate: PemCertificate; authSteuernummer: string; accountId: string; password: string; } /** @description Represents a request to retrieve ELMA response files in a zip file containing the retrieved reports and their corresponding protocol files from the ELMA server. */ // @Route("/sync/elma/files/retrieve", "POST") // @Api(Description="Represents a request to retrieve ELMA response files in a zip file containing the retrieved reports and their corresponding protocol files from the ELMA server.") export class RetrieveFiles extends RetrieveFilesBase { public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } public getTypeName() { return 'RetrieveFiles'; } public getMethod() { return 'POST'; } public createResponse() {} }