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] = []
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(){ super.init() }
private enum CodingKeys : String, CodingKey {
case technologyStackId
case operation
case technologyIds
case id
case name
case vendorName
case Description
case appUrl
case screenshotUrl
case created
case createdBy
case lastModified
case lastModifiedBy
case isLocked
case ownerId
case slug
case details
case detailsHtml
case lastStatusUpdate
case organizationId
case commentsPostId
case viewCount
case favCount
}
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) ?? []
id = try container.decodeIfPresent(Int.self, forKey: .id)
name = try container.decodeIfPresent(String.self, forKey: .name)
vendorName = try container.decodeIfPresent(String.self, forKey: .vendorName)
Description = try container.decodeIfPresent(String.self, forKey: .Description)
appUrl = try container.decodeIfPresent(String.self, forKey: .appUrl)
screenshotUrl = try container.decodeIfPresent(String.self, forKey: .screenshotUrl)
created = try container.decodeIfPresent(Date.self, forKey: .created)
createdBy = try container.decodeIfPresent(String.self, forKey: .createdBy)
lastModified = try container.decodeIfPresent(Date.self, forKey: .lastModified)
lastModifiedBy = try container.decodeIfPresent(String.self, forKey: .lastModifiedBy)
isLocked = try container.decodeIfPresent(Bool.self, forKey: .isLocked)
ownerId = try container.decodeIfPresent(String.self, forKey: .ownerId)
slug = try container.decodeIfPresent(String.self, forKey: .slug)
details = try container.decodeIfPresent(String.self, forKey: .details)
detailsHtml = try container.decodeIfPresent(String.self, forKey: .detailsHtml)
lastStatusUpdate = try container.decodeIfPresent(Date.self, forKey: .lastStatusUpdate)
organizationId = try container.decodeIfPresent(Int.self, forKey: .organizationId)
commentsPostId = try container.decodeIfPresent(Int.self, forKey: .commentsPostId)
viewCount = try container.decodeIfPresent(Int.self, forKey: .viewCount)
favCount = try container.decodeIfPresent(Int.self, forKey: .favCount)
}
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.count > 0 { try container.encode(technologyIds, forKey: .technologyIds) }
if id != nil { try container.encode(id, forKey: .id) }
if name != nil { try container.encode(name, forKey: .name) }
if vendorName != nil { try container.encode(vendorName, forKey: .vendorName) }
if Description != nil { try container.encode(Description, forKey: .Description) }
if appUrl != nil { try container.encode(appUrl, forKey: .appUrl) }
if screenshotUrl != nil { try container.encode(screenshotUrl, forKey: .screenshotUrl) }
if created != nil { try container.encode(created, forKey: .created) }
if createdBy != nil { try container.encode(createdBy, forKey: .createdBy) }
if lastModified != nil { try container.encode(lastModified, forKey: .lastModified) }
if lastModifiedBy != nil { try container.encode(lastModifiedBy, forKey: .lastModifiedBy) }
if isLocked != nil { try container.encode(isLocked, forKey: .isLocked) }
if ownerId != nil { try container.encode(ownerId, forKey: .ownerId) }
if slug != nil { try container.encode(slug, forKey: .slug) }
if details != nil { try container.encode(details, forKey: .details) }
if detailsHtml != nil { try container.encode(detailsHtml, forKey: .detailsHtml) }
if lastStatusUpdate != nil { try container.encode(lastStatusUpdate, forKey: .lastStatusUpdate) }
if organizationId != nil { try container.encode(organizationId, forKey: .organizationId) }
if commentsPostId != nil { try container.encode(commentsPostId, forKey: .commentsPostId) }
if viewCount != nil { try container.encode(viewCount, forKey: .viewCount) }
if favCount != nil { try container.encode(favCount, forKey: .favCount) }
}
}
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 .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
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: application/json
HTTP/1.1 200 OK Content-Type: application/json 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-01T00:00:00.0000000","createdBy":"String","lastModified":"0001-01-01T00:00:00.0000000","lastModifiedBy":"String","isLocked":false,"ownerId":"String","slug":"String","details":"String","detailsHtml":"String","lastStatusUpdate":"0001-01-01T00:00:00.0000000","organizationId":0,"commentsPostId":0,"viewCount":0,"favCount":0}]}