Mercedes.Agency.Orchestration.API

<back to all web services

HealthRequest

The following routes are available for this service:
GET/status
import 'package:servicestack/servicestack.dart';

enum HealthStatus
{
    Unhealthy,
    Degraded,
    Healthy,
}

class HealthCheckReportEntry implements IConvertible
{
    String? Key;
    String? Description;
    Duration? Duration;
    HealthStatus? Status;
    String? Error;

    HealthCheckReportEntry({this.Key,this.Description,this.Duration,this.Status,this.Error});
    HealthCheckReportEntry.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Key = json['Key'];
        Description = json['Description'];
        Duration = JsonConverters.fromJson(json['Duration'],'Duration',context!);
        Status = JsonConverters.fromJson(json['Status'],'HealthStatus',context!);
        Error = json['Error'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Key': Key,
        'Description': Description,
        'Duration': JsonConverters.toJson(Duration,'Duration',context!),
        'Status': JsonConverters.toJson(Status,'HealthStatus',context!),
        'Error': Error
    };

    getTypeName() => "HealthCheckReportEntry";
    TypeContext? context = _ctx;
}

class HealthCheckReport implements IConvertible
{
    HealthStatus? Status;
    Duration? Duration;
    String? Version;
    String? BuildDate;
    List<HealthCheckReportEntry>? Entries;

    HealthCheckReport({this.Status,this.Duration,this.Version,this.BuildDate,this.Entries});
    HealthCheckReport.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Status = JsonConverters.fromJson(json['Status'],'HealthStatus',context!);
        Duration = JsonConverters.fromJson(json['Duration'],'Duration',context!);
        Version = json['Version'];
        BuildDate = json['BuildDate'];
        Entries = JsonConverters.fromJson(json['Entries'],'List<HealthCheckReportEntry>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Status': JsonConverters.toJson(Status,'HealthStatus',context!),
        'Duration': JsonConverters.toJson(Duration,'Duration',context!),
        'Version': Version,
        'BuildDate': BuildDate,
        'Entries': JsonConverters.toJson(Entries,'List<HealthCheckReportEntry>',context!)
    };

    getTypeName() => "HealthCheckReport";
    TypeContext? context = _ctx;
}

class HealthResponse implements IConvertible
{
    HealthCheckReport? Result;

    HealthResponse({this.Result});
    HealthResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Result = JsonConverters.fromJson(json['Result'],'HealthCheckReport',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Result': JsonConverters.toJson(Result,'HealthCheckReport',context!)
    };

    getTypeName() => "HealthResponse";
    TypeContext? context = _ctx;
}

class HealthRequest implements IGet, IConvertible
{
    HealthRequest();
    HealthRequest.fromJson(Map<String, dynamic> json) : super();
    fromMap(Map<String, dynamic> json) {
        return this;
    }

    Map<String, dynamic> toJson() => {};
    getTypeName() => "HealthRequest";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'prod_api_agency_orch_mb_dhc.rapp_customers.co.uk', types: <String, TypeInfo> {
    'HealthStatus': TypeInfo(TypeOf.Enum, enumValues:HealthStatus.values),
    'HealthCheckReportEntry': TypeInfo(TypeOf.Class, create:() => HealthCheckReportEntry()),
    'HealthCheckReport': TypeInfo(TypeOf.Class, create:() => HealthCheckReport()),
    'List<HealthCheckReportEntry>': TypeInfo(TypeOf.Class, create:() => <HealthCheckReportEntry>[]),
    'HealthResponse': TypeInfo(TypeOf.Class, create:() => HealthResponse()),
    'HealthRequest': TypeInfo(TypeOf.Class, create:() => HealthRequest()),
});

Dart HealthRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv

HTTP + CSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

GET /status HTTP/1.1 
Host: prod-api-agency-orch-mb-dhc.rapp-customers.co.uk 
Accept: text/csv
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"Result":{"Status":"Unhealthy","Duration":"PT0S","Version":"String","BuildDate":"String"}}