/* Options: Date: 2024-04-28 05:22:22 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: SessionInfo.* //ExcludeTypes: //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,net.servicestack.client.* */ import java.math.* import java.util.* import net.servicestack.client.* @Route("/my-session") @ValidateRequest(Validator="IsAuthenticated") open class SessionInfo : IReturn, IGet { companion object { private val responseType = SessionInfoResponse::class.java } override fun getResponseType(): Any? = SessionInfo.responseType } open class SessionInfoResponse { var created:Date? = null var id:String? = null var referrerUrl:String? = null var userAuthId:String? = null var userAuthName:String? = null var userName:String? = null var displayName:String? = null var firstName:String? = null var lastName:String? = null var email:String? = null var createdAt:Date? = null var lastModified:Date? = null var roles:ArrayList = ArrayList() var permissions:ArrayList = ArrayList() var isAuthenticated:Boolean? = null var authProvider:String? = null var profileUrl:String? = null var githubProfileUrl:String? = null var twitterProfileUrl:String? = null var accessToken:String? = null var avatarUrl:String? = null var techStacks:ArrayList = ArrayList() var favoriteTechStacks:ArrayList = ArrayList() var favoriteTechnologies:ArrayList = ArrayList() var userActivity:UserActivity? = null var members:ArrayList = ArrayList() var memberInvites:ArrayList = ArrayList() var subscriptions:ArrayList = ArrayList() var responseStatus:ResponseStatus? = null } open class Technology : 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 } 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 OrganizationMember { var id:Int? = null var organizationId:Int? = null var userId:Int? = null var userName:String? = null var isOwner:Boolean? = null var isModerator:Boolean? = null var denyAll:Boolean? = null var denyPosts:Boolean? = null var denyComments:Boolean? = null var notes:String? = null } open class OrganizationMemberInvite { var id:Int? = null var organizationId:Int? = null var userId:Int? = null var userName:String? = null var dismissed:Date? = null } open class OrganizationSubscription { var id:Long? = null var organizationId:Int? = null var userId:Int? = null var userName:String? = null var postTypes:ArrayList? = null var frequencyDays:Int? = null var lastSyncedId:Long? = null var lastSynced:Date? = null var created:Date? = null } open class UserActivity { var id:Int? = null var userName:String? = null var karma:Int? = null var technologyCount:Int? = null var techStacksCount:Int? = null var postsCount:Int? = null var postUpVotes:Int? = null var postDownVotes:Int? = null var commentUpVotes:Int? = null var commentDownVotes:Int? = null var postCommentsCount:Int? = null var pinnedCommentCount:Int? = null var postReportCount:Int? = null var postCommentReportCount:Int? = null var created:Date? = null var modified:Date? = null } 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 }