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 .xml suffix or ?format=xml

HTTP + XML

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: application/xml
Content-Type: application/xml
Content-Length: length

<JobHeartbeatReportRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/TicketUserServices.ServiceModel">
  <Description>String</Description>
  <ExpectedIntervalMinutes>0</ExpectedIntervalMinutes>
  <ItemsProcessed>0</ItemsProcessed>
  <JobName>String</JobName>
  <Phase>String</Phase>
  <ResultJson>String</ResultJson>
</JobHeartbeatReportRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<JobHeartbeatResult xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/TicketUserServices.ServiceModel">
  <Item xmlns:d2p1="http://schemas.datacontract.org/2004/07/TicketUserServices.ServiceModel.Types">
    <d2p1:ConsecutiveFailures>0</d2p1:ConsecutiveFailures>
    <d2p1:Description>String</d2p1:Description>
    <d2p1:Enabled>false</d2p1:Enabled>
    <d2p1:ExpectedIntervalMinutes>0</d2p1:ExpectedIntervalMinutes>
    <d2p1:ItemsProcessed>0</d2p1:ItemsProcessed>
    <d2p1:JobName>String</d2p1:JobName>
    <d2p1:LastOkAt>0001-01-01T00:00:00</d2p1:LastOkAt>
    <d2p1:LastResultJson>String</d2p1:LastResultJson>
    <d2p1:LastRunAt>0001-01-01T00:00:00</d2p1:LastRunAt>
    <d2p1:UpdatedAt>0001-01-01T00:00:00</d2p1:UpdatedAt>
  </Item>
  <Message>String</Message>
  <StatusCode>0</StatusCode>
</JobHeartbeatResult>