GET | /v1/GetUserCurrentDataProcess |
---|
import Foundation
import ServiceStack
public class CurrentDataProcessRequest : IGet, Codable
{
required public init(){}
}
public class CurrentDataProcessResponse : DataProcessJob
{
public var type:Int
public var totalRecords:Int
public var originalFileName:String
public var dateStarted:String
public var dateFinished:String
public var dataProcessResultLogs:[DataProcessLog] = []
public var failedCount:Int
public var successCount:Int
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case type
case totalRecords
case originalFileName
case dateStarted
case dateFinished
case dataProcessResultLogs
case failedCount
case successCount
}
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
type = try container.decodeIfPresent(Int.self, forKey: .type)
totalRecords = try container.decodeIfPresent(Int.self, forKey: .totalRecords)
originalFileName = try container.decodeIfPresent(String.self, forKey: .originalFileName)
dateStarted = try container.decodeIfPresent(String.self, forKey: .dateStarted)
dateFinished = try container.decodeIfPresent(String.self, forKey: .dateFinished)
dataProcessResultLogs = try container.decodeIfPresent([DataProcessLog].self, forKey: .dataProcessResultLogs) ?? []
failedCount = try container.decodeIfPresent(Int.self, forKey: .failedCount)
successCount = try container.decodeIfPresent(Int.self, forKey: .successCount)
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
if type != nil { try container.encode(type, forKey: .type) }
if totalRecords != nil { try container.encode(totalRecords, forKey: .totalRecords) }
if originalFileName != nil { try container.encode(originalFileName, forKey: .originalFileName) }
if dateStarted != nil { try container.encode(dateStarted, forKey: .dateStarted) }
if dateFinished != nil { try container.encode(dateFinished, forKey: .dateFinished) }
if dataProcessResultLogs.count > 0 { try container.encode(dataProcessResultLogs, forKey: .dataProcessResultLogs) }
if failedCount != nil { try container.encode(failedCount, forKey: .failedCount) }
if successCount != nil { try container.encode(successCount, forKey: .successCount) }
}
}
public class DataProcessJob : Codable
{
public var id:Int
public var gasId:String
public var dateCreated:String
public var processedRecords:Int
public var status:Int
public var statusName:String
public var fileName:String
required public init(){}
}
public class DataProcessLog : Codable
{
public var id:Int
public var dataProcess_Id:Int
public var rowNumber:Int
public var failureReasonId:Int
public var failureReason:String
public var metaData:String
public var metaData2:String
public var hasFailed:Bool
required public init(){}
}
Swift CurrentDataProcessRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /v1/GetUserCurrentDataProcess HTTP/1.1 Host: uat-api-vehicle-mgt-mb-dhc.rapp-customers.co.uk Accept: text/jsv
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { type: 0, totalRecords: 0, originalFileName: String, dateStarted: String, dateFinished: String, dataProcessResultLogs: [ { id: 0, dataProcess_Id: 0, rowNumber: 0, failureReasonId: 0, failureReason: String, metaData: String, metaData2: String, hasFailed: False } ], failedCount: 0, successCount: 0, id: 0, gasId: String, dateCreated: String, processedRecords: 0, status: 0, statusName: String, fileName: String }