| 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
}