/* Options: Date: 2024-12-22 13:04:11 Version: 8.51 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://techstacks.io //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: FindTechStacks.* //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 TechnologyStackBase { public id: number; public name: string; public vendorName: string; public description: string; public appUrl: string; public screenshotUrl: string; public created: string; public createdBy: string; public lastModified: string; public lastModifiedBy: string; public isLocked: boolean; public ownerId: string; public slug: string; // @StringLength(2147483647) public details: string; // @StringLength(2147483647) public detailsHtml: string; public lastStatusUpdate?: string; public organizationId?: number; public commentsPostId?: number; public viewCount: number; public favCount: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class TechnologyStack extends TechnologyStackBase { public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class TechnologyStackView { public id?: number; public name: string; public vendorName: string; public description: string; public appUrl: string; public screenshotUrl: string; public created?: string; public createdBy: string; public lastModified?: string; public lastModifiedBy: string; public isLocked?: boolean; public ownerId: string; public slug: string; public details: string; public detailsHtml: string; public lastStatusUpdate?: string; public organizationId?: number; public commentsPostId?: number; public viewCount?: number; public favCount?: number; 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: TechnologyStackView[]; // @DataMember(Order=4) public meta: { [index:string]: string; }; // @DataMember(Order=5) public responseStatus: ResponseStatus; public constructor(init?: Partial>) { (Object as any).assign(this, init); } } // @Route("/techstacks/search") // @AutoQueryViewer(DefaultSearchField="Description", DefaultSearchText="ServiceStack", DefaultSearchType="Contains", Description="Explore different Technology Stacks", IconUrl="material-icons:cloud", Title="Find Technology Stacks") export class FindTechStacks extends QueryDb implements IReturn> { public ids: number[]; public name: string; public vendorName: string; public nameContains: string; public vendorNameContains: string; public descriptionContains: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } public getTypeName() { return 'FindTechStacks'; } public getMethod() { return 'GET'; } public createResponse() { return new QueryResponse(); } }