TechStacks!

<back to all web services

GetTechnologyStackPreviousVersions

TechStacks
The following routes are available for this service:
GET/techstacks/{Slug}/previous-versions
import Foundation
import ServiceStack

public class GetTechnologyStackPreviousVersions : IGet, Codable
{
    public var slug:String

    required public init(){}
}

public class GetTechnologyStackPreviousVersionsResponse : Codable
{
    public var results:[TechnologyStackHistory]

    required public init(){}
}

public class TechnologyStackHistory : TechnologyStackBase
{
    public var technologyStackId:Int
    public var operation:String
    public var technologyIds:[Int]

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case technologyStackId
        case operation
        case technologyIds
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        technologyStackId = try container.decodeIfPresent(Int.self, forKey: .technologyStackId)
        operation = try container.decodeIfPresent(String.self, forKey: .operation)
        technologyIds = try container.decodeIfPresent([Int].self, forKey: .technologyIds) ?? []
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if technologyStackId != nil { try container.encode(technologyStackId, forKey: .technologyStackId) }
        if operation != nil { try container.encode(operation, forKey: .operation) }
        if technologyIds != nil { try container.encode(technologyIds, forKey: .technologyIds) }
    }
}

public class TechnologyStackBase : Codable
{
    public var id:Int
    public var name:String
    public var vendorName:String
    public var Description:String
    public var appUrl:String
    public var screenshotUrl:String
    public var created:Date
    public var createdBy:String
    public var lastModified:Date
    public var lastModifiedBy:String
    public var isLocked:Bool
    public var ownerId:String
    public var slug:String
    // @StringLength(Int32.max)
    public var details:String

    // @StringLength(Int32.max)
    public var detailsHtml:String

    public var lastStatusUpdate:Date?
    public var organizationId:Int?
    public var commentsPostId:Int?
    public var viewCount:Int
    public var favCount:Int

    required public init(){}
}


Swift GetTechnologyStackPreviousVersions 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.

GET /techstacks/{Slug}/previous-versions HTTP/1.1 
Host: techstacks.io 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	results: 
	[
		{
			technologyStackId: 0,
			operation: String,
			technologyIds: 
			[
				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
		}
	]
}