/* Options: Date: 2025-06-07 16:13:07 SwiftVersion: 5.0 Version: 8.12 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://soluser-recaudo.sgsas.co //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True IncludeTypes: CreateUserAdm.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/admin/crearusuario") public class CreateUserAdm : GuardarDatosFormaRS, IReturn { public typealias Return = GuardarDatosFormaRS public var identificacion:String public var nombres:String public var direccion:String public var telefonos:String public var email:String public var usuarioCreo:String public var estado:String public var loginAdicional:String public var id:Int public var codSistema:Int public var codEmpresa:Int public var success:Bool public var error:String public var datosLlaveMaestro:[String:Object] = [:] public var novedadesDetalles:[GuardarDatosFormaDetalleRS] = [] public var respuestaProcAlmacenado:ExecuteDBFunctionRS required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case identificacion case nombres case direccion case telefonos case email case usuarioCreo case estado case loginAdicional case id case codSistema case codEmpresa case success case error case datosLlaveMaestro case novedadesDetalles case respuestaProcAlmacenado } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) identificacion = try container.decodeIfPresent(String.self, forKey: .identificacion) nombres = try container.decodeIfPresent(String.self, forKey: .nombres) direccion = try container.decodeIfPresent(String.self, forKey: .direccion) telefonos = try container.decodeIfPresent(String.self, forKey: .telefonos) email = try container.decodeIfPresent(String.self, forKey: .email) usuarioCreo = try container.decodeIfPresent(String.self, forKey: .usuarioCreo) estado = try container.decodeIfPresent(String.self, forKey: .estado) loginAdicional = try container.decodeIfPresent(String.self, forKey: .loginAdicional) id = try container.decodeIfPresent(Int.self, forKey: .id) codSistema = try container.decodeIfPresent(Int.self, forKey: .codSistema) codEmpresa = try container.decodeIfPresent(Int.self, forKey: .codEmpresa) success = try container.decodeIfPresent(Bool.self, forKey: .success) error = try container.decodeIfPresent(String.self, forKey: .error) datosLlaveMaestro = try container.decodeIfPresent([String:Object].self, forKey: .datosLlaveMaestro) ?? [:] novedadesDetalles = try container.decodeIfPresent([GuardarDatosFormaDetalleRS].self, forKey: .novedadesDetalles) ?? [] respuestaProcAlmacenado = try container.decodeIfPresent(ExecuteDBFunctionRS.self, forKey: .respuestaProcAlmacenado) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if identificacion != nil { try container.encode(identificacion, forKey: .identificacion) } if nombres != nil { try container.encode(nombres, forKey: .nombres) } if direccion != nil { try container.encode(direccion, forKey: .direccion) } if telefonos != nil { try container.encode(telefonos, forKey: .telefonos) } if email != nil { try container.encode(email, forKey: .email) } if usuarioCreo != nil { try container.encode(usuarioCreo, forKey: .usuarioCreo) } if estado != nil { try container.encode(estado, forKey: .estado) } if loginAdicional != nil { try container.encode(loginAdicional, forKey: .loginAdicional) } if id != nil { try container.encode(id, forKey: .id) } if codSistema != nil { try container.encode(codSistema, forKey: .codSistema) } if codEmpresa != nil { try container.encode(codEmpresa, forKey: .codEmpresa) } if success != nil { try container.encode(success, forKey: .success) } if error != nil { try container.encode(error, forKey: .error) } if datosLlaveMaestro.count > 0 { try container.encode(datosLlaveMaestro, forKey: .datosLlaveMaestro) } if novedadesDetalles.count > 0 { try container.encode(novedadesDetalles, forKey: .novedadesDetalles) } if respuestaProcAlmacenado != nil { try container.encode(respuestaProcAlmacenado, forKey: .respuestaProcAlmacenado) } } } public class GuardarDatosFormaRS : Codable { public var success:Bool public var error:String public var datosLlaveMaestro:[String:Object] = [:] public var novedadesDetalles:[GuardarDatosFormaDetalleRS] = [] public var respuestaProcAlmacenado:ExecuteDBFunctionRS required public init(){} } public class GuardarDatosFormaDetalleRS : Codable { public var idDetalle:Double public var novedades:[NovedadesCarga] = [] required public init(){} } public class NovedadesCarga : Codable { public var fila:Int public var columna:Int public var tipoError:String public var novedad:String required public init(){} } public class ExecuteDBFunctionRS : GeneralRS { //respuesta:Object ignored. Type could not be extended in Swift public var idEjecucion:Double public var urlArchivo:String public var tipoRespuesta:String public var background:Bool public var tiempoRespuestaBD:Int public var tiempoRespuestaTotal:Int /** * Id del código de respuesta 1: Correcto, -1: Error */ // @ApiMember(DataType="int", Description="Id del código de respuesta 1: Correcto, -1: Error", IsRequired=true, ParameterType="body") public var codigo:Int /** * Mensaje que se envía al ejecutar el servicio */ // @ApiMember(DataType="string", Description="Mensaje que se envía al ejecutar el servicio", IsRequired=true, ParameterType="body") public var mensaje:String required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case respuesta case idEjecucion case urlArchivo case tipoRespuesta case background case tiempoRespuestaBD case tiempoRespuestaTotal case codigo case mensaje } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) respuesta = try container.decodeIfPresent(Object.self, forKey: .respuesta) idEjecucion = try container.decodeIfPresent(Double.self, forKey: .idEjecucion) urlArchivo = try container.decodeIfPresent(String.self, forKey: .urlArchivo) tipoRespuesta = try container.decodeIfPresent(String.self, forKey: .tipoRespuesta) background = try container.decodeIfPresent(Bool.self, forKey: .background) tiempoRespuestaBD = try container.decodeIfPresent(Int.self, forKey: .tiempoRespuestaBD) tiempoRespuestaTotal = try container.decodeIfPresent(Int.self, forKey: .tiempoRespuestaTotal) codigo = try container.decodeIfPresent(Int.self, forKey: .codigo) mensaje = try container.decodeIfPresent(String.self, forKey: .mensaje) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if respuesta != nil { try container.encode(respuesta, forKey: .respuesta) } if idEjecucion != nil { try container.encode(idEjecucion, forKey: .idEjecucion) } if urlArchivo != nil { try container.encode(urlArchivo, forKey: .urlArchivo) } if tipoRespuesta != nil { try container.encode(tipoRespuesta, forKey: .tipoRespuesta) } if background != nil { try container.encode(background, forKey: .background) } if tiempoRespuestaBD != nil { try container.encode(tiempoRespuestaBD, forKey: .tiempoRespuestaBD) } if tiempoRespuestaTotal != nil { try container.encode(tiempoRespuestaTotal, forKey: .tiempoRespuestaTotal) } if codigo != nil { try container.encode(codigo, forKey: .codigo) } if mensaje != nil { try container.encode(mensaje, forKey: .mensaje) } } }