/* Options: Date: 2024-10-18 04:20:30 SwiftVersion: 5.0 Version: 6.40 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://digiofficeapigateway.deltares.nl/api //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True IncludeTypes: GetRegistrationprofileDetailsWithMessageQueue.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack public class GetRegistrationprofileDetailsWithMessageQueue : IReturn, Codable { public typealias Return = RegistrationprofileDetails public var id:String? public var messageQueueId:Int? public var isOffice365Context:Bool? required public init(){} } public class RegistrationprofileDetails : Registrationprofile { public var steps:[RegistrationprofileStep] = [] public var messages:[InformationMessageBase] = [] public var readOnly:Bool? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case steps case messages case readOnly } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) steps = try container.decodeIfPresent([RegistrationprofileStep].self, forKey: .steps) ?? [] messages = try container.decodeIfPresent([InformationMessageBase].self, forKey: .messages) ?? [] readOnly = try container.decodeIfPresent(Bool.self, forKey: .readOnly) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if steps.count > 0 { try container.encode(steps, forKey: .steps) } if messages.count > 0 { try container.encode(messages, forKey: .messages) } if readOnly != nil { try container.encode(readOnly, forKey: .readOnly) } } } public class RegistrationProfileFieldStateBase : Codable { public var documentFieldID:String? public var required:Bool? public var visible:Bool? public var readonly:Bool? required public init(){} } public class RegistrationprofileStep : Codable { public var id:String? public var name:String? public var order:Int? public var layout:RegistrationprofileStepLayout? public var groups:[RegistrationprofileGroup] = [] required public init(){} } public class InformationMessageBase : IInformationMessage, Codable { public var type:MessageType? public var summary:String? public var fullMessage:String? public var fieldName:String? public var keepOpen:Bool? required public init(){} } public enum RegistrationprofileStepLayout : String, Codable { case OneColumn_12 case TwoColumn_6_6 case TwoColumn_7_5 case ThreeColumn_4_4_4 } public class RegistrationprofileGroup : Codable { public var id:String? public var name:String? public var label:String? public var order:Int? public var columnIndex:Int? public var fields:[RegistrationprofileField] = [] public var labelLayoutType:Int? required public init(){} } public enum MessageType : Int, Codable { case Information = 1 case Warning = 2 case Error = 3 case Success = 4 } public protocol IInformationMessage { // @DataMember var type:MessageType? { get set } // @DataMember var summary:String? { get set } // @DataMember var fullMessage:String? { get set } // @DataMember var fieldName:String? { get set } // @DataMember var keepOpen:Bool? { get set } } public class RegistrationprofileField : Codable { public var id:String? public var documentFieldID:String? public var label:String? public var userControlType:String? public var userControlProperties:[SerializableKeyValuePair] = [] public var hint:String? public var order:Int? public var hasDependableFields:Bool? public var entityName:String? public var state:RegistrationProfileFieldStateBase? required public init(){} } public class Registrationprofile : Codable { public var id:String? public var name:String? public var hint:String? public var order:Int? public var registerAutomatically:Bool? public var registerInBackground:Bool? public var thumbnailUrl:String? public var progCode:String? public var versionControlType:Int? public var woPlaceLogo:Int? public var woPrinterBins:String? public var selectAllFiles:Bool? required public init(){} }