TicketUserServices

<back to all web services

JobHeartbeatReportRequest

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

class JobHeartbeat implements IConvertible
{
    // @StringLength(100)
    String? jobName;

    // @StringLength(400)
    String? description;

    int? expectedIntervalMinutes;
    DateTime? lastRunAt;
    DateTime? lastOkAt;
    // @StringLength(2147483647)
    String? lastResultJson;

    int? itemsProcessed;
    int? consecutiveFailures;
    bool? enabled;
    DateTime? updatedAt;

    JobHeartbeat({this.jobName,this.description,this.expectedIntervalMinutes,this.lastRunAt,this.lastOkAt,this.lastResultJson,this.itemsProcessed,this.consecutiveFailures,this.enabled,this.updatedAt});
    JobHeartbeat.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        jobName = json['jobName'];
        description = json['description'];
        expectedIntervalMinutes = json['expectedIntervalMinutes'];
        lastRunAt = JsonConverters.fromJson(json['lastRunAt'],'DateTime',context!);
        lastOkAt = JsonConverters.fromJson(json['lastOkAt'],'DateTime',context!);
        lastResultJson = json['lastResultJson'];
        itemsProcessed = json['itemsProcessed'];
        consecutiveFailures = json['consecutiveFailures'];
        enabled = json['enabled'];
        updatedAt = JsonConverters.fromJson(json['updatedAt'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'jobName': jobName,
        'description': description,
        'expectedIntervalMinutes': expectedIntervalMinutes,
        'lastRunAt': JsonConverters.toJson(lastRunAt,'DateTime',context!),
        'lastOkAt': JsonConverters.toJson(lastOkAt,'DateTime',context!),
        'lastResultJson': lastResultJson,
        'itemsProcessed': itemsProcessed,
        'consecutiveFailures': consecutiveFailures,
        'enabled': enabled,
        'updatedAt': JsonConverters.toJson(updatedAt,'DateTime',context!)
    };

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

class JobHeartbeatResult implements IConvertible
{
    JobHeartbeat? item;
    int? statusCode;
    String? message;

    JobHeartbeatResult({this.item,this.statusCode,this.message});
    JobHeartbeatResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

    Map<String, dynamic> toJson() => {
        'item': JsonConverters.toJson(item,'JobHeartbeat',context!),
        'statusCode': statusCode,
        'message': message
    };

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

class JobHeartbeatReportRequest implements IConvertible
{
    String? jobName;
    String? phase;
    int? expectedIntervalMinutes;
    String? description;
    int? itemsProcessed;
    String? resultJson;

    JobHeartbeatReportRequest({this.jobName,this.phase,this.expectedIntervalMinutes,this.description,this.itemsProcessed,this.resultJson});
    JobHeartbeatReportRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        jobName = json['jobName'];
        phase = json['phase'];
        expectedIntervalMinutes = json['expectedIntervalMinutes'];
        description = json['description'];
        itemsProcessed = json['itemsProcessed'];
        resultJson = json['resultJson'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'jobName': jobName,
        'phase': phase,
        'expectedIntervalMinutes': expectedIntervalMinutes,
        'description': description,
        'itemsProcessed': itemsProcessed,
        'resultJson': resultJson
    };

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

TypeContext _ctx = TypeContext(library: 'stubbur_app.azurewebsites.net', types: <String, TypeInfo> {
    'JobHeartbeat': TypeInfo(TypeOf.Class, create:() => JobHeartbeat()),
    'JobHeartbeatResult': TypeInfo(TypeOf.Class, create:() => JobHeartbeatResult()),
    'JobHeartbeatReportRequest': TypeInfo(TypeOf.Class, create:() => JobHeartbeatReportRequest()),
});

Dart JobHeartbeatReportRequest 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.

POST /JobHeartbeat HTTP/1.1 
Host: stubbur-app.azurewebsites.net 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"jobName":"String","phase":"String","expectedIntervalMinutes":0,"description":"String","itemsProcessed":0,"resultJson":"String"}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"item":{"jobName":"String","description":"String","expectedIntervalMinutes":0,"lastRunAt":"0001-01-01T00:00:00.0000000","lastOkAt":"0001-01-01T00:00:00.0000000","lastResultJson":"String","itemsProcessed":0,"consecutiveFailures":0,"enabled":false,"updatedAt":"0001-01-01T00:00:00.0000000"},"statusCode":0,"message":"String"}