TechStacks!

<back to all web services

GetUserFeed

User
Requires Authentication
The following routes are available for this service:
All Verbs/my-feed
import java.math.*
import java.util.*
import net.servicestack.client.*


@ValidateRequest(Validator="IsAuthenticated")
open class GetUserFeed : IGet
{
}

open class GetUserFeedResponse
{
    var results:ArrayList<TechStackDetails> = ArrayList<TechStackDetails>()
}

open class TechStackDetails : TechnologyStackBase()
{
    var technologyChoices:ArrayList<TechnologyInStack> = ArrayList<TechnologyInStack>()
    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 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 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,
}

Kotlin GetUserFeed DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /my-feed HTTP/1.1 
Host: techstacks.io 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	results: 
	[
		{
			technologyChoices: 
			[
				{
					technologyId: 0,
					technologyStackId: 0,
					justification: String,
					id: 0,
					name: String,
					vendorName: String,
					vendorUrl: String,
					productUrl: String,
					logoUrl: String,
					description: String,
					created: 0001-01-01,
					createdBy: String,
					lastModified: 0001-01-01,
					lastModifiedBy: String,
					ownerId: String,
					slug: String,
					logoApproved: False,
					isLocked: False,
					tier: ProgrammingLanguage,
					lastStatusUpdate: 0001-01-01,
					organizationId: 0,
					commentsPostId: 0,
					viewCount: 0,
					favCount: 0
				}
			],
			id: 0,
			name: String,
			vendorName: String,
			description: String,
			appUrl: String,
			screenshotUrl: String,
			created: 0001-01-01,
			createdBy: String,
			lastModified: 0001-01-01,
			lastModifiedBy: String,
			isLocked: False,
			ownerId: String,
			slug: String,
			details: String,
			detailsHtml: String,
			lastStatusUpdate: 0001-01-01,
			organizationId: 0,
			commentsPostId: 0,
			viewCount: 0,
			favCount: 0
		}
	]
}