/* Options: Date: 2025-12-06 07:25:59 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: DropboxRequest.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/v1/Dropbox", "GET,POST,OPTIONS") // @Route("/v1/Dropbox/{AgentName}", "GET,OPTIONS") // @Route("/v1/Dropbox/ByAgentID/{ID}/{PageName}", "GET,OPTIONS") // @Route("/v1/Dropbox/ByAgentID/{ID}/{LoggedInAgent}/{PageName}", "GET,OPTIONS") // @Route("/v1/Dropbox/ByAgentID/{ID}", "GET,OPTIONS") // @Route("/v1/Dropbox/{AttachmentId}", "POST,OPTIONS") public class DropboxRequest : IReturn, Codable { public typealias Return = DropboxResponse public var attachment:String? public var dropbox:[Dropbox] = [] public var attachmentId:String? public var id:Int? public var loggedInAgent:Int? public var agentName:String? public var pageName:String? public var tableName:String? public var fieldName:String? public var recordIds:[Int] = [] public var isNewApplication:Bool? public var isFactFillerPro:Bool? public var agentId:Bool? public var agentEmail:String? public var fullNameAttachee:String? public var isFactFinder:Bool? public var sharedId:Int? public var sharer:Int? public var isSecurities:Bool? public var locked:Bool? required public init(){} } public class DropboxResponse : Codable { public var responseStatus:ResponseStatus? public var dropbox:[DropboxExtended] = [] required public init(){} } public class Dropbox : Codable { public var id:Int? public var attachmentId:String? public var firstName:String? public var lastName:String? public var tableName:String? public var recordId:Int? public var Description:String? public var documentType:String? public var documentGroup:String? public var dateAdded:Date? public var locked:Bool? public var fileSizeInKB:Double? required public init(){} } public class DropboxExtended : Dropbox { public var attachmentName:String? public var agentName:String? public var mimeType:String? public var isAgent:Bool? public var isContact:Bool? public var isShared:Bool? public var canShare:Bool? public var shareList:String? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case attachmentName case agentName case mimeType case isAgent case isContact case isShared case canShare case shareList } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) attachmentName = try container.decodeIfPresent(String.self, forKey: .attachmentName) agentName = try container.decodeIfPresent(String.self, forKey: .agentName) mimeType = try container.decodeIfPresent(String.self, forKey: .mimeType) isAgent = try container.decodeIfPresent(Bool.self, forKey: .isAgent) isContact = try container.decodeIfPresent(Bool.self, forKey: .isContact) isShared = try container.decodeIfPresent(Bool.self, forKey: .isShared) canShare = try container.decodeIfPresent(Bool.self, forKey: .canShare) shareList = try container.decodeIfPresent(String.self, forKey: .shareList) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if attachmentName != nil { try container.encode(attachmentName, forKey: .attachmentName) } if agentName != nil { try container.encode(agentName, forKey: .agentName) } if mimeType != nil { try container.encode(mimeType, forKey: .mimeType) } if isAgent != nil { try container.encode(isAgent, forKey: .isAgent) } if isContact != nil { try container.encode(isContact, forKey: .isContact) } if isShared != nil { try container.encode(isShared, forKey: .isShared) } if canShare != nil { try container.encode(canShare, forKey: .canShare) } if shareList != nil { try container.encode(shareList, forKey: .shareList) } } }