/* Options: Date: 2024-04-30 22:09:56 Version: 8.13 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://techstacks.io //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: Overview.* //ExcludeTypes: //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,net.servicestack.client.* */ import java.math.* import java.util.* import net.servicestack.client.* @Route("/overview") open class Overview : IReturn, IGet { var reload:Boolean? = null companion object { private val responseType = OverviewResponse::class.java } override fun getResponseType(): Any? = Overview.responseType } open class OverviewResponse { var created:Date? = null var topUsers:ArrayList = ArrayList() var topTechnologies:ArrayList = ArrayList() var latestTechStacks:ArrayList = ArrayList() var popularTechStacks:ArrayList = ArrayList() var allOrganizations:ArrayList = ArrayList() var topTechnologiesByTier:HashMap> = HashMap>() var responseStatus:ResponseStatus? = null } enum class TechnologyTier { ProgrammingLanguage, Client, Http, Server, Data, SoftwareInfrastructure, OperatingSystem, HardwareInfrastructure, ThirdPartyServices, } open class TechnologyStack : TechnologyStackBase() { var id:Long? = null var name:String? = null var vendorName:String? = null var description:String? = null var appUrl:String? = null var screenshotUrl:String? = null var created:Date? = null var createdBy:String? = null var lastModified:Date? = null var lastModifiedBy:String? = null var isLocked:Boolean? = null var ownerId:String? = null var slug:String? = null @StringLength(2147483647) var details:String? = null @StringLength(2147483647) var detailsHtml:String? = null var lastStatusUpdate:Date? = null var organizationId:Int? = null var commentsPostId:Long? = null var viewCount:Int? = null var favCount:Int? = null } open class UserInfo { var userName:String? = null var avatarUrl:String? = null var stacksCount:Int? = null } open class TechnologyInfo { var tier:TechnologyTier? = null var slug:String? = null var name:String? = null var logoUrl:String? = null var stacksCount:Int? = null } open class TechStackDetails : TechnologyStackBase() { var technologyChoices:ArrayList = ArrayList() var id:Long? = null var name:String? = null var vendorName:String? = null var description:String? = null var appUrl:String? = null var screenshotUrl:String? = null var created:Date? = null var createdBy:String? = null var lastModified:Date? = null var lastModifiedBy:String? = null var isLocked:Boolean? = null var ownerId:String? = null var slug:String? = null @StringLength(2147483647) var details:String? = null @StringLength(2147483647) var detailsHtml:String? = null var lastStatusUpdate:Date? = null var organizationId:Int? = null var commentsPostId:Long? = null var viewCount:Int? = null var favCount:Int? = null } open class OrganizationInfo { var id:Int? = null var name:String? = null var slug:String? = null var refId:Long? = null var refSource:String? = null var upVotes:Long? = null var downVotes:Long? = null var membersCount:Long? = null var rank:Int? = null var disableInvites:Boolean? = null var lang:String? = null var postTypes:ArrayList? = null var moderatorPostTypes:ArrayList? = null var locked:Date? = null var labels:ArrayList = ArrayList() var categories:ArrayList = ArrayList() } open class TechnologyBase { var id:Long? = null var name:String? = null var vendorName:String? = null var vendorUrl:String? = null var productUrl:String? = null var logoUrl:String? = null var description:String? = null var created:Date? = null var createdBy:String? = null var lastModified:Date? = null var lastModifiedBy:String? = null var ownerId:String? = null var slug:String? = null var logoApproved:Boolean? = null var isLocked:Boolean? = null var tier:TechnologyTier? = null var lastStatusUpdate:Date? = null var organizationId:Int? = null var commentsPostId:Long? = null var viewCount:Int? = null var favCount:Int? = null } open class TechnologyStackBase { var id:Long? = null var name:String? = null var vendorName:String? = null var description:String? = null var appUrl:String? = null var screenshotUrl:String? = null var created:Date? = null var createdBy:String? = null var lastModified:Date? = null var lastModifiedBy:String? = null var isLocked:Boolean? = null var ownerId:String? = null var slug:String? = null @StringLength(2147483647) var details:String? = null @StringLength(2147483647) var detailsHtml:String? = null var lastStatusUpdate:Date? = null var organizationId:Int? = null var commentsPostId:Long? = null var viewCount:Int? = null var favCount:Int? = null } open class TechnologyInStack : TechnologyBase() { var technologyId:Long? = null var technologyStackId:Long? = null var justification:String? = null var id:Long? = null var name:String? = null var vendorName:String? = null var vendorUrl:String? = null var productUrl:String? = null var logoUrl:String? = null var description:String? = null var created:Date? = null var createdBy:String? = null var lastModified:Date? = null var lastModifiedBy:String? = null var ownerId:String? = null var slug:String? = null var logoApproved:Boolean? = null var isLocked:Boolean? = null var tier:TechnologyTier? = null var lastStatusUpdate:Date? = null var organizationId:Int? = null var commentsPostId:Long? = null var viewCount:Int? = null var favCount:Int? = null } open class LabelInfo { var slug:String? = null var color:String? = null } open class CategoryInfo { var id:Int? = null var name:String? = null var slug:String? = null }