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