Mercedes.VehicleManagement.API

<back to all web services

CurrentDataProcessRequest

Requires Authentication
The following routes are available for this service:
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

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