/* Options: Date: 2024-04-27 07:09:20 SwiftVersion: 5.0 Version: 8.13 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://techstacks.io //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True IncludeTypes: RemoveFavoriteTechStack.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/favorites/techtacks/{TechnologyStackId}", "DELETE") public class RemoveFavoriteTechStack : IReturn, IDelete, Codable { public typealias Return = FavoriteTechStackResponse public var technologyStackId:Int required public init(){} } public class FavoriteTechStackResponse : Codable { public var result:TechnologyStack required public init(){} } public class TechnologyStack : TechnologyStackBase { 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 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) 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 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(){} }