/* Options: Date: 2026-10-01 10:23:07 Version: 6.10 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://stubbur-app.azurewebsites.net //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: JobHeartbeatReportRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ 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 json) { fromMap(json); } fromMap(Map 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 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 json) { fromMap(json); } fromMap(Map json) { item = JsonConverters.fromJson(json['item'],'JobHeartbeat',context!); statusCode = json['statusCode']; message = json['message']; return this; } Map toJson() => { 'item': JsonConverters.toJson(item,'JobHeartbeat',context!), 'statusCode': statusCode, 'message': message }; getTypeName() => "JobHeartbeatResult"; TypeContext? context = _ctx; } // @Route("/JobHeartbeat", "POST") class JobHeartbeatReportRequest implements IReturn, 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 json) { fromMap(json); } fromMap(Map json) { jobName = json['jobName']; phase = json['phase']; expectedIntervalMinutes = json['expectedIntervalMinutes']; description = json['description']; itemsProcessed = json['itemsProcessed']; resultJson = json['resultJson']; return this; } Map toJson() => { 'jobName': jobName, 'phase': phase, 'expectedIntervalMinutes': expectedIntervalMinutes, 'description': description, 'itemsProcessed': itemsProcessed, 'resultJson': resultJson }; createResponse() => JobHeartbeatResult(); getResponseTypeName() => "JobHeartbeatResult"; getTypeName() => "JobHeartbeatReportRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'stubbur_app.azurewebsites.net', types: { 'JobHeartbeat': TypeInfo(TypeOf.Class, create:() => JobHeartbeat()), 'JobHeartbeatResult': TypeInfo(TypeOf.Class, create:() => JobHeartbeatResult()), 'JobHeartbeatReportRequest': TypeInfo(TypeOf.Class, create:() => JobHeartbeatReportRequest()), });