/* Options: Date: 2024-04-29 02:51:48 Version: 8.13 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: Overview.* //ExcludeTypes: //DefaultImports: */ export interface IReturn { createResponse(): T; } export interface IGet { } export enum TechnologyTier { ProgrammingLanguage = 'ProgrammingLanguage', Client = 'Client', Http = 'Http', Server = 'Server', Data = 'Data', SoftwareInfrastructure = 'SoftwareInfrastructure', OperatingSystem = 'OperatingSystem', HardwareInfrastructure = 'HardwareInfrastructure', ThirdPartyServices = 'ThirdPartyServices', } 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 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) { super(init); (Object as any).assign(this, init); } } // @DataContract export class ResponseError { // @DataMember(Order=1) public errorCode: string; // @DataMember(Order=2) public fieldName: string; // @DataMember(Order=3) public message: string; // @DataMember(Order=4) public meta: { [index: string]: string; }; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract export class ResponseStatus { // @DataMember(Order=1) public errorCode: string; // @DataMember(Order=2) public message: string; // @DataMember(Order=3) public stackTrace: string; // @DataMember(Order=4) public errors: ResponseError[]; // @DataMember(Order=5) public meta: { [index: string]: string; }; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class UserInfo { public userName: string; public avatarUrl: string; public stacksCount: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class TechnologyInfo { public tier: TechnologyTier; public slug: string; public name: string; public logoUrl: string; public stacksCount: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class TechnologyBase { public id: number; public name: string; public vendorName: string; public vendorUrl: string; public productUrl: string; public logoUrl: string; public description: string; public created: string; public createdBy: string; public lastModified: string; public lastModifiedBy: string; public ownerId: string; public slug: string; public logoApproved: boolean; public isLocked: boolean; public tier: TechnologyTier; 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 TechnologyInStack extends TechnologyBase { public technologyId: number; public technologyStackId: number; public justification: string; public id: number; public name: string; public vendorName: string; public vendorUrl: string; public productUrl: string; public logoUrl: string; public description: string; public created: string; public createdBy: string; public lastModified: string; public lastModifiedBy: string; public ownerId: string; public slug: string; public logoApproved: boolean; public isLocked: boolean; public tier: TechnologyTier; public lastStatusUpdate?: string; public organizationId?: number; public commentsPostId?: number; public viewCount: number; public favCount: number; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class TechStackDetails extends TechnologyStackBase { public technologyChoices: TechnologyInStack[]; 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) { super(init); (Object as any).assign(this, init); } } export class LabelInfo { public slug: string; public color: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class CategoryInfo { public id: number; public name: string; public slug: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class OrganizationInfo { public id: number; public name: string; public slug: string; public refId?: number; public refSource: string; public upVotes?: number; public downVotes?: number; public membersCount: number; public rank: number; public disableInvites?: boolean; public lang: string; public postTypes: string[]; public moderatorPostTypes: string[]; public locked?: string; public labels: LabelInfo[]; public categories: CategoryInfo[]; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class OverviewResponse { public created: string; public topUsers: UserInfo[]; public topTechnologies: TechnologyInfo[]; public latestTechStacks: TechStackDetails[]; public popularTechStacks: TechnologyStack[]; public allOrganizations: OrganizationInfo[]; public topTechnologiesByTier: { [index: string]: TechnologyInfo[]; }; public responseStatus: ResponseStatus; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @Route("/overview") export class Overview implements IReturn, IGet { public reload: boolean; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'Overview'; } public getMethod() { return 'GET'; } public createResponse() { return new OverviewResponse(); } }