Trackunit API

<back to all web services

UpdateAlarm

The following routes are available for this service:
PUT/Alarm
PUT/Alarm/{Id}
GET POST/UpdateAlarm
GET POST/UpdateAlarm/{Id}
import 'package:servicestack/servicestack.dart';

// @DataContract
class UpdateAlarmResponse implements IConvertible
{
    // @DataMember
    ResponseStatus? responseStatus;

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

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

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

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

// @DataContract
class TemperatureAlarmLimits implements IConvertible
{
    // @DataMember
    double? temperature1LowerLimit;

    // @DataMember
    double? temperature1UpperLimit;

    // @DataMember
    double? temperature2LowerLimit;

    // @DataMember
    double? temperature2UpperLimit;

    TemperatureAlarmLimits({this.temperature1LowerLimit,this.temperature1UpperLimit,this.temperature2LowerLimit,this.temperature2UpperLimit});
    TemperatureAlarmLimits.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        temperature1LowerLimit = JsonConverters.toDouble(json['temperature1LowerLimit']);
        temperature1UpperLimit = JsonConverters.toDouble(json['temperature1UpperLimit']);
        temperature2LowerLimit = JsonConverters.toDouble(json['temperature2LowerLimit']);
        temperature2UpperLimit = JsonConverters.toDouble(json['temperature2UpperLimit']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'temperature1LowerLimit': temperature1LowerLimit,
        'temperature1UpperLimit': temperature1UpperLimit,
        'temperature2LowerLimit': temperature2LowerLimit,
        'temperature2UpperLimit': temperature2UpperLimit
    };

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

// @DataContract
class ADVoltageAlarmLimits implements IConvertible
{
    // @DataMember
    double? adVoltageLowerLimit;

    // @DataMember
    double? adVoltageUpperLimit;

    ADVoltageAlarmLimits({this.adVoltageLowerLimit,this.adVoltageUpperLimit});
    ADVoltageAlarmLimits.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        adVoltageLowerLimit = JsonConverters.toDouble(json['adVoltageLowerLimit']);
        adVoltageUpperLimit = JsonConverters.toDouble(json['adVoltageUpperLimit']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'adVoltageLowerLimit': adVoltageLowerLimit,
        'adVoltageUpperLimit': adVoltageUpperLimit
    };

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

// @DataContract
class Location implements IConvertible
{
    // @DataMember
    double? latitude;

    // @DataMember
    double? longitude;

    Location({this.latitude,this.longitude});
    Location.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        latitude = JsonConverters.toDouble(json['latitude']);
        longitude = JsonConverters.toDouble(json['longitude']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'latitude': latitude,
        'longitude': longitude
    };

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

// @DataContract
class TimeOfDay implements IConvertible
{
    // @DataMember
    int? hour;

    // @DataMember
    int? minute;

    TimeOfDay({this.hour,this.minute});
    TimeOfDay.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        hour = json['hour'];
        minute = json['minute'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'hour': hour,
        'minute': minute
    };

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

// @DataContract
class UpdateAlarm implements IConvertible
{
    // @DataMember
    String? id;

    // @DataMember
    String? name;

    // @DataMember
    bool? enabled;

    // @DataMember
    bool? allUnits;

    // @DataMember
    bool? clearUnits;

    // @DataMember
    List<String>? addUnits;

    // @DataMember
    List<String>? removeUnits;

    // @DataMember
    bool? clearGroups;

    // @DataMember
    List<String>? addGroups;

    // @DataMember
    List<String>? removeGroups;

    // @DataMember
    bool? clearEmailRecipients;

    // @DataMember
    List<String>? addEmailRecipients;

    // @DataMember
    List<String>? removeEmailRecipients;

    // @DataMember
    bool? clearSystemRecipients;

    // @DataMember
    List<String>? addSystemRecipients;

    // @DataMember
    List<String>? removeSystemRecipients;

    // @DataMember
    bool? clearSmsRecipients;

    // @DataMember
    List<String>? addSmsRecipients;

    // @DataMember
    List<String>? removeSmsRecipients;

    // @DataMember
    TemperatureAlarmLimits? temperatureLimits;

    // @DataMember
    ADVoltageAlarmLimits? adVoltageLimits;

    // @DataMember
    int? adVoltageInputIndex;

    // @DataMember
    double? threshold;

    // @DataMember
    double? batteryLevel;

    // @DataMember
    Location? location;

    // @DataMember
    double? radius;

    // @DataMember
    int? inputIndex;

    // @DataMember
    double? interval;

    // @DataMember
    String? pointId;

    // @DataMember
    DateTime? expectedArrivalTime;

    // @DataMember
    double? powerLevel;

    // @DataMember
    List<String>? weekdays;

    // @DataMember
    TimeOfDay? timeStart;

    // @DataMember
    TimeOfDay? timeEnd;

    // @DataMember
    String? zoneId;

    UpdateAlarm({this.id,this.name,this.enabled,this.allUnits,this.clearUnits,this.addUnits,this.removeUnits,this.clearGroups,this.addGroups,this.removeGroups,this.clearEmailRecipients,this.addEmailRecipients,this.removeEmailRecipients,this.clearSystemRecipients,this.addSystemRecipients,this.removeSystemRecipients,this.clearSmsRecipients,this.addSmsRecipients,this.removeSmsRecipients,this.temperatureLimits,this.adVoltageLimits,this.adVoltageInputIndex,this.threshold,this.batteryLevel,this.location,this.radius,this.inputIndex,this.interval,this.pointId,this.expectedArrivalTime,this.powerLevel,this.weekdays,this.timeStart,this.timeEnd,this.zoneId});
    UpdateAlarm.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        name = json['name'];
        enabled = json['enabled'];
        allUnits = json['allUnits'];
        clearUnits = json['clearUnits'];
        addUnits = JsonConverters.fromJson(json['addUnits'],'List<String>',context!);
        removeUnits = JsonConverters.fromJson(json['removeUnits'],'List<String>',context!);
        clearGroups = json['clearGroups'];
        addGroups = JsonConverters.fromJson(json['addGroups'],'List<String>',context!);
        removeGroups = JsonConverters.fromJson(json['removeGroups'],'List<String>',context!);
        clearEmailRecipients = json['clearEmailRecipients'];
        addEmailRecipients = JsonConverters.fromJson(json['addEmailRecipients'],'List<String>',context!);
        removeEmailRecipients = JsonConverters.fromJson(json['removeEmailRecipients'],'List<String>',context!);
        clearSystemRecipients = json['clearSystemRecipients'];
        addSystemRecipients = JsonConverters.fromJson(json['addSystemRecipients'],'List<String>',context!);
        removeSystemRecipients = JsonConverters.fromJson(json['removeSystemRecipients'],'List<String>',context!);
        clearSmsRecipients = json['clearSmsRecipients'];
        addSmsRecipients = JsonConverters.fromJson(json['addSmsRecipients'],'List<String>',context!);
        removeSmsRecipients = JsonConverters.fromJson(json['removeSmsRecipients'],'List<String>',context!);
        temperatureLimits = JsonConverters.fromJson(json['temperatureLimits'],'TemperatureAlarmLimits',context!);
        adVoltageLimits = JsonConverters.fromJson(json['adVoltageLimits'],'ADVoltageAlarmLimits',context!);
        adVoltageInputIndex = json['adVoltageInputIndex'];
        threshold = JsonConverters.toDouble(json['threshold']);
        batteryLevel = JsonConverters.toDouble(json['batteryLevel']);
        location = JsonConverters.fromJson(json['location'],'Location',context!);
        radius = JsonConverters.toDouble(json['radius']);
        inputIndex = json['inputIndex'];
        interval = JsonConverters.toDouble(json['interval']);
        pointId = json['pointId'];
        expectedArrivalTime = JsonConverters.fromJson(json['expectedArrivalTime'],'DateTime',context!);
        powerLevel = JsonConverters.toDouble(json['powerLevel']);
        weekdays = JsonConverters.fromJson(json['weekdays'],'List<String>',context!);
        timeStart = JsonConverters.fromJson(json['timeStart'],'TimeOfDay',context!);
        timeEnd = JsonConverters.fromJson(json['timeEnd'],'TimeOfDay',context!);
        zoneId = json['zoneId'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'name': name,
        'enabled': enabled,
        'allUnits': allUnits,
        'clearUnits': clearUnits,
        'addUnits': JsonConverters.toJson(addUnits,'List<String>',context!),
        'removeUnits': JsonConverters.toJson(removeUnits,'List<String>',context!),
        'clearGroups': clearGroups,
        'addGroups': JsonConverters.toJson(addGroups,'List<String>',context!),
        'removeGroups': JsonConverters.toJson(removeGroups,'List<String>',context!),
        'clearEmailRecipients': clearEmailRecipients,
        'addEmailRecipients': JsonConverters.toJson(addEmailRecipients,'List<String>',context!),
        'removeEmailRecipients': JsonConverters.toJson(removeEmailRecipients,'List<String>',context!),
        'clearSystemRecipients': clearSystemRecipients,
        'addSystemRecipients': JsonConverters.toJson(addSystemRecipients,'List<String>',context!),
        'removeSystemRecipients': JsonConverters.toJson(removeSystemRecipients,'List<String>',context!),
        'clearSmsRecipients': clearSmsRecipients,
        'addSmsRecipients': JsonConverters.toJson(addSmsRecipients,'List<String>',context!),
        'removeSmsRecipients': JsonConverters.toJson(removeSmsRecipients,'List<String>',context!),
        'temperatureLimits': JsonConverters.toJson(temperatureLimits,'TemperatureAlarmLimits',context!),
        'adVoltageLimits': JsonConverters.toJson(adVoltageLimits,'ADVoltageAlarmLimits',context!),
        'adVoltageInputIndex': adVoltageInputIndex,
        'threshold': threshold,
        'batteryLevel': batteryLevel,
        'location': JsonConverters.toJson(location,'Location',context!),
        'radius': radius,
        'inputIndex': inputIndex,
        'interval': interval,
        'pointId': pointId,
        'expectedArrivalTime': JsonConverters.toJson(expectedArrivalTime,'DateTime',context!),
        'powerLevel': powerLevel,
        'weekdays': JsonConverters.toJson(weekdays,'List<String>',context!),
        'timeStart': JsonConverters.toJson(timeStart,'TimeOfDay',context!),
        'timeEnd': JsonConverters.toJson(timeEnd,'TimeOfDay',context!),
        'zoneId': zoneId
    };

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

TypeContext _ctx = TypeContext(library: 'api.trackunit.com', types: <String, TypeInfo> {
    'UpdateAlarmResponse': TypeInfo(TypeOf.Class, create:() => UpdateAlarmResponse()),
    'TemperatureAlarmLimits': TypeInfo(TypeOf.Class, create:() => TemperatureAlarmLimits()),
    'ADVoltageAlarmLimits': TypeInfo(TypeOf.Class, create:() => ADVoltageAlarmLimits()),
    'Location': TypeInfo(TypeOf.Class, create:() => Location()),
    'TimeOfDay': TypeInfo(TypeOf.Class, create:() => TimeOfDay()),
    'UpdateAlarm': TypeInfo(TypeOf.Class, create:() => UpdateAlarm()),
});

Dart UpdateAlarm DTOs

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

HTTP + OTHER

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

POST /UpdateAlarm HTTP/1.1 
Host: api.trackunit.com 
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length

{"id":"String","name":"String","enabled":false,"allUnits":false,"clearUnits":false,"addUnits":["String"],"removeUnits":["String"],"clearGroups":false,"addGroups":["String"],"removeGroups":["String"],"clearEmailRecipients":false,"addEmailRecipients":["String"],"removeEmailRecipients":["String"],"clearSystemRecipients":false,"addSystemRecipients":["String"],"removeSystemRecipients":["String"],"clearSmsRecipients":false,"addSmsRecipients":["String"],"removeSmsRecipients":["String"],"temperatureLimits":{"temperature1LowerLimit":0,"temperature1UpperLimit":0,"temperature2LowerLimit":0,"temperature2UpperLimit":0},"adVoltageLimits":{"adVoltageLowerLimit":0,"adVoltageUpperLimit":0},"adVoltageInputIndex":0,"threshold":0,"batteryLevel":0,"location":{"latitude":0,"longitude":0},"radius":0,"inputIndex":0,"interval":0,"pointId":"String","expectedArrivalTime":"0001-01-01T00:00:00.0000000Z","powerLevel":0,"weekdays":["String"],"timeStart":{"hour":0,"minute":0},"timeEnd":{"hour":0,"minute":0},"zoneId":"String"}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}