/* Options: Date: 2026-11-14 02:52:48 SwiftVersion: 6.0 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.dev.dynamics.trendsic.com //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True //MakePropertiesOptional: True IncludeTypes: FormDuplicateRequest.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/v1/forms/{FormUID}/duplicate", "POST") public class FormDuplicateRequest : IReturn, Codable { public typealias Return = FormResponse public var formUID:String? required public init(){} } public class FormResponse : Codable { public var form:FormDetail? public var responseStatus:ResponseStatus? required public init(){} } public class FormCard : Codable { public var formUID:String? public var name:String? public var slug:String? public var noun:String? public var numberPrefix:String? public var Description:String? public var tone:String? public var status:String? public var publishedVersionNo:Int? public var publishedAt:Date? public var publishedBy:String? public var draftDirty:Bool? public var draftUpdatedAt:Date? public var draftUpdatedBy:String? public var packLabel:String? public var settingsJson:String? public var stats:FormStats? public var offered:[String] = [] public var createdBy:String? public var createdAt:Date? public var updatedAt:Date? required public init(){} } public class FormDetail : FormCard { public var draftJson:String? public var draftRev:Int? public var sourceTemplateUID:String? public var warnings:[String] = [] public var alwaysHidden:[String] = [] required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case draftJson case draftRev case sourceTemplateUID case warnings case alwaysHidden } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) draftJson = try container.decodeIfPresent(String.self, forKey: .draftJson) draftRev = try container.decodeIfPresent(Int.self, forKey: .draftRev) sourceTemplateUID = try container.decodeIfPresent(String.self, forKey: .sourceTemplateUID) warnings = try container.decodeIfPresent([String].self, forKey: .warnings) ?? [] alwaysHidden = try container.decodeIfPresent([String].self, forKey: .alwaysHidden) ?? [] } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if draftJson != nil { try container.encode(draftJson, forKey: .draftJson) } if draftRev != nil { try container.encode(draftRev, forKey: .draftRev) } if sourceTemplateUID != nil { try container.encode(sourceTemplateUID, forKey: .sourceTemplateUID) } if warnings.count > 0 { try container.encode(warnings, forKey: .warnings) } if alwaysHidden.count > 0 { try container.encode(alwaysHidden, forKey: .alwaysHidden) } } } public class FormStats : Codable { public var total:Int? public var needDecision:Int? public var waiting:Int? public var overdue:Int? required public init(){} }