/* Options: Date: 2024-11-21 21:00:43 Version: 6.111 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://sharpscript.net //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: QueryCustomers.* //ExcludeTypes: //DefaultImports: */ export interface IReturn { createResponse(): T; } // @DataContract export class QueryBase { // @DataMember(Order=1) public skip?: number; // @DataMember(Order=2) public take?: number; // @DataMember(Order=3) public orderBy: string; // @DataMember(Order=4) public orderByDesc: string; // @DataMember(Order=5) public include: string; // @DataMember(Order=6) public fields: string; // @DataMember(Order=7) public meta: { [index: string]: string; }; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class QueryDb extends QueryBase { public constructor(init?: Partial>) { super(init); (Object as any).assign(this, init); } } export class Order { public orderId: number; public customerId: string; public orderDate: string; public total: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Customer { public customerId: string; public companyName: string; public address: string; public city: string; public region: string; public postalCode: string; public country: string; public phone: string; public fax: string; public orders: Order[]; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract export class QueryResponse { // @DataMember(Order=1) public offset: number; // @DataMember(Order=2) public total: number; // @DataMember(Order=3) public results: Customer[]; // @DataMember(Order=4) public meta: { [index: string]: string; }; // @DataMember(Order=5) public responseStatus: ResponseStatus; public constructor(init?: Partial>) { (Object as any).assign(this, init); } } export class QueryCustomers extends QueryDb implements IReturn> { public customerId: string; public companyNameContains: string; public countryIn: string[]; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } public getTypeName() { return 'QueryCustomers'; } public getMethod() { return 'GET'; } public createResponse() { return new QueryResponse(); } }