/* Options: Date: 2026-04-04 06:46:14 Version: 8.52 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://pfapi.pstpf.com.au/api //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: LogDeviceStatus.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; /** * Logs details of an event(crash,error,unexpected result) and the device status at the time of the event. */ // @Api(Description="Logs details of an event(crash,error,unexpected result) and the device status at the time of the event.") class LogDeviceStatus implements IReturn, IConvertible, IPost { /** * Guid of the Appliance this Device is logging an event status for. */ // @ApiMember(DataType="Guid", Description="Guid of the Appliance this Device is logging an event status for.", IsRequired=true, Name="ApplianceId", ParameterType="query") String? ApplianceId; /** * Guid representing the saved Device */ // @ApiMember(DataType="Guid", Description="Guid representing the saved Device", IsRequired=true, Name="DeviceId", ParameterType="query") String? DeviceId; /** * The latitude the device was last located at. */ // @ApiMember(DataType="double", Description="The latitude the device was last located at.", IsRequired=true, Name="Latitude", ParameterType="query") double? Latitude; /** * The longitude the device was last located at. */ // @ApiMember(DataType="double", Description="The longitude the device was last located at.", IsRequired=true, Name="Longitude", ParameterType="query") double? Longitude; /** * Name of the event we're logging. */ // @ApiMember(DataType="string", Description="Name of the event we're logging.", Name="EventName", ParameterType="query") String? EventName; /** * Details of the event up to (255 char). */ // @ApiMember(DataType="string", Description="Details of the event up to (255 char).", Name="EventDetail1", ParameterType="query") String? EventDetail1; /** * Details of the event up to (255 char). */ // @ApiMember(DataType="string", Description="Details of the event up to (255 char).", Name="EventDetail2", ParameterType="query") String? EventDetail2; /** * Details of the event up to (255 char). */ // @ApiMember(DataType="string", Description="Details of the event up to (255 char).", Name="EventDetail3", ParameterType="query") String? EventDetail3; /** * Details of the event up to (255 char). */ // @ApiMember(DataType="string", Description="Details of the event up to (255 char).", Name="EventDetail4", ParameterType="query") String? EventDetail4; /** * Details of the event up to (255 char). */ // @ApiMember(DataType="string", Description="Details of the event up to (255 char).", Name="EventDetail5", ParameterType="query") String? EventDetail5; /** * Details of the event up to (255 char). */ // @ApiMember(DataType="string", Description="Details of the event up to (255 char).", Name="Orientation", ParameterType="query") String? Orientation; /** * The device internet connection status. */ // @ApiMember(DataType="string", Description="The device internet connection status.", Name="InternetConnectionStatus", ParameterType="query") String? InternetConnectionStatus; /** * Unlimited text field for logging details of the event. */ // @ApiMember(DataType="string", Description="Unlimited text field for logging details of the event.", Name="Log", ParameterType="query") String? Log; /** * Date and Time of the event. */ // @ApiMember(DataType="DateTime", Description="Date and Time of the event.", Name="Event", ParameterType="query") DateTime? Event; /** * True if the device is in portrait mode. */ // @ApiMember(DataType="bool", Description="True if the device is in portrait mode.", Name="IsInPortrait", ParameterType="query") bool? IsInPortrait; /** * True if the device is in landscape mode. */ // @ApiMember(DataType="bool", Description="True if the device is in landscape mode.", Name="IsInLandscape", ParameterType="query") bool? IsInLandscape; /** * True if cellular data is enabled. */ // @ApiMember(DataType="bool", Description="True if cellular data is enabled.", Name="CellularDataEnabled", ParameterType="query") bool? CellularDataEnabled; /** * True if data roaming is enabled. */ // @ApiMember(DataType="bool", Description="True if data roaming is enabled.", Name="DataRoamingEnabled", ParameterType="query") bool? DataRoamingEnabled; /** * True if the network is available. */ // @ApiMember(DataType="bool", Description="True if the network is available.", Name="IsNetworkAvailable", ParameterType="query") bool? IsNetworkAvailable; /** * True if the device can send an sms. */ // @ApiMember(DataType="bool", Description="True if the device can send an sms.", Name="CanSendSMS", ParameterType="query") bool? CanSendSMS; /** * True if the battery is charging. */ // @ApiMember(DataType="bool", Description="True if the battery is charging.", Name="BatteryCharging", ParameterType="query") bool? BatteryCharging; /** * The amount of battery life left as a percentage. */ // @ApiMember(DataType="int", Description="The amount of battery life left as a percentage.", Name="BatteryLevel", ParameterType="query") int? BatteryLevel; /** * The Guid of a saved Media Object. */ // @ApiMember(DataType="Guid", Description="The Guid of a saved Media Object.", Name="MediaFileId1", ParameterType="query") String? MediaFileId1; /** * The Guid of a saved Media Object. */ // @ApiMember(DataType="Guid", Description="The Guid of a saved Media Object.", Name="MediaFileId2", ParameterType="query") String? MediaFileId2; LogDeviceStatus({this.ApplianceId,this.DeviceId,this.Latitude,this.Longitude,this.EventName,this.EventDetail1,this.EventDetail2,this.EventDetail3,this.EventDetail4,this.EventDetail5,this.Orientation,this.InternetConnectionStatus,this.Log,this.Event,this.IsInPortrait,this.IsInLandscape,this.CellularDataEnabled,this.DataRoamingEnabled,this.IsNetworkAvailable,this.CanSendSMS,this.BatteryCharging,this.BatteryLevel,this.MediaFileId1,this.MediaFileId2}); LogDeviceStatus.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ApplianceId = json['ApplianceId']; DeviceId = json['DeviceId']; Latitude = JsonConverters.toDouble(json['Latitude']); Longitude = JsonConverters.toDouble(json['Longitude']); EventName = json['EventName']; EventDetail1 = json['EventDetail1']; EventDetail2 = json['EventDetail2']; EventDetail3 = json['EventDetail3']; EventDetail4 = json['EventDetail4']; EventDetail5 = json['EventDetail5']; Orientation = json['Orientation']; InternetConnectionStatus = json['InternetConnectionStatus']; Log = json['Log']; Event = JsonConverters.fromJson(json['Event'],'DateTime',context!); IsInPortrait = json['IsInPortrait']; IsInLandscape = json['IsInLandscape']; CellularDataEnabled = json['CellularDataEnabled']; DataRoamingEnabled = json['DataRoamingEnabled']; IsNetworkAvailable = json['IsNetworkAvailable']; CanSendSMS = json['CanSendSMS']; BatteryCharging = json['BatteryCharging']; BatteryLevel = json['BatteryLevel']; MediaFileId1 = json['MediaFileId1']; MediaFileId2 = json['MediaFileId2']; return this; } Map toJson() => { 'ApplianceId': ApplianceId, 'DeviceId': DeviceId, 'Latitude': Latitude, 'Longitude': Longitude, 'EventName': EventName, 'EventDetail1': EventDetail1, 'EventDetail2': EventDetail2, 'EventDetail3': EventDetail3, 'EventDetail4': EventDetail4, 'EventDetail5': EventDetail5, 'Orientation': Orientation, 'InternetConnectionStatus': InternetConnectionStatus, 'Log': Log, 'Event': JsonConverters.toJson(Event,'DateTime',context!), 'IsInPortrait': IsInPortrait, 'IsInLandscape': IsInLandscape, 'CellularDataEnabled': CellularDataEnabled, 'DataRoamingEnabled': DataRoamingEnabled, 'IsNetworkAvailable': IsNetworkAvailable, 'CanSendSMS': CanSendSMS, 'BatteryCharging': BatteryCharging, 'BatteryLevel': BatteryLevel, 'MediaFileId1': MediaFileId1, 'MediaFileId2': MediaFileId2 }; createResponse() => ResponseStatus(); getResponseTypeName() => "ResponseStatus"; getTypeName() => "LogDeviceStatus"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'pfapi.pstpf.com.au', types: { 'LogDeviceStatus': TypeInfo(TypeOf.Class, create:() => LogDeviceStatus()), });