/* Options: Date: 2024-12-22 12:39:19 SwiftVersion: 6.0 Version: 8.51 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://techstacks.io //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True //MakePropertiesOptional: True IncludeTypes: QueryPosts.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/posts", "GET") public class QueryPosts : QueryDb, IReturn { public typealias Return = QueryResponse public var ids:[Int]? public var organizationId:Int? public var organizationIds:[Int]? public var types:[String]? public var anyTechnologyIds:[Int]? public var `is`:[String]? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case ids case organizationId case organizationIds case types case anyTechnologyIds case `is` } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) ids = try container.decodeIfPresent([Int].self, forKey: .ids) ?? [] organizationId = try container.decodeIfPresent(Int.self, forKey: .organizationId) organizationIds = try container.decodeIfPresent([Int].self, forKey: .organizationIds) ?? [] types = try container.decodeIfPresent([String].self, forKey: .types) ?? [] anyTechnologyIds = try container.decodeIfPresent([Int].self, forKey: .anyTechnologyIds) ?? [] `is` = try container.decodeIfPresent([String].self, forKey: .`is`) ?? [] } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if ids != nil { try container.encode(ids, forKey: .ids) } if organizationId != nil { try container.encode(organizationId, forKey: .organizationId) } if organizationIds != nil { try container.encode(organizationIds, forKey: .organizationIds) } if types != nil { try container.encode(types, forKey: .types) } if anyTechnologyIds != nil { try container.encode(anyTechnologyIds, forKey: .anyTechnologyIds) } if `is` != nil { try container.encode(`is`, forKey: .`is`) } } } public class Post : Codable { public var id:Int? public var organizationId:Int? public var userId:Int? public var type:PostType? public var categoryId:Int? public var title:String? public var slug:String? public var url:String? public var imageUrl:String? // @StringLength(Int32.max) public var content:String? // @StringLength(Int32.max) public var contentHtml:String? public var pinCommentId:Int? public var technologyIds:[Int]? public var fromDate:Date? public var toDate:Date? public var location:String? public var metaType:String? public var meta:String? public var approved:Bool? public var upVotes:Int? public var downVotes:Int? public var points:Int? public var views:Int? public var favorites:Int? public var subscribers:Int? public var replyCount:Int? public var commentsCount:Int? public var wordCount:Int? public var reportCount:Int? public var linksCount:Int? public var linkedToCount:Int? public var score:Int? public var rank:Int? public var labels:[String]? public var refUserIds:[Int]? public var refLinks:[String]? public var muteUserIds:[Int]? public var lastCommentDate:Date? public var lastCommentId:Int? public var lastCommentUserId:Int? public var deleted:Date? public var deletedBy:String? public var locked:Date? public var lockedBy:String? public var hidden:Date? public var hiddenBy:String? public var status:String? public var statusDate:Date? public var statusBy:String? public var archived:Bool? public var bumped:Date? public var created:Date? public var createdBy:String? public var modified:Date? public var modifiedBy:String? public var refId:Int? public var refSource:String? public var refUrn:String? required public init(){} } public enum PostType : String, Codable { case Announcement case Post case Showcase case Question case Request }