/* Options: Date: 2025-12-06 08:55:27 Version: 8.0 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://cochraneplus-api-dev.happen.zone //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: GetAttendanceSessionInfoRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; class ApiServiceRequest implements IServiceRequest, IHasApiKey, IHasDeviceInfo, IConvertible { /** * The API Key required for authentication */ // @ApiMember(DataType="string", Description="The API Key required for authentication", IsRequired=true) String? apiKey; /** * Latitude of the user making this request */ // @ApiMember(DataType="double", Description="Latitude of the user making this request") double? latitude; /** * Longitude of the user making this request */ // @ApiMember(DataType="double", Description="Longitude of the user making this request") double? longitude; ApiServiceRequest({this.apiKey,this.latitude,this.longitude}); ApiServiceRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { apiKey = json['apiKey']; latitude = JsonConverters.toDouble(json['latitude']); longitude = JsonConverters.toDouble(json['longitude']); return this; } Map toJson() => { 'apiKey': apiKey, 'latitude': latitude, 'longitude': longitude }; getTypeName() => "ApiServiceRequest"; TypeContext? context = _ctx; } abstract class IServiceRequest { } abstract class IHasApiKey { String? apiKey; } abstract class IHasDeviceInfo { } class AttendanceEventType { static const AttendanceEventType ClockOut = const AttendanceEventType._(0); static const AttendanceEventType ClockIn = const AttendanceEventType._(1); static const AttendanceEventType StartLunch = const AttendanceEventType._(2); static const AttendanceEventType EndLunch = const AttendanceEventType._(3); static const AttendanceEventType StartBreak = const AttendanceEventType._(4); static const AttendanceEventType EndBreak = const AttendanceEventType._(5); final int _value; const AttendanceEventType._(this._value); int get value => _value; static List get values => const [ClockOut,ClockIn,StartLunch,EndLunch,StartBreak,EndBreak]; } class AttendanceEventData implements IConvertible { AttendanceEventType? type; String? time; String? location; AttendanceEventData({this.type,this.time,this.location}); AttendanceEventData.fromJson(Map json) { fromMap(json); } fromMap(Map json) { type = JsonConverters.fromJson(json['type'],'AttendanceEventType',context!); time = json['time']; location = json['location']; return this; } Map toJson() => { 'type': JsonConverters.toJson(type,'AttendanceEventType',context!), 'time': time, 'location': location }; getTypeName() => "AttendanceEventData"; TypeContext? context = _ctx; } class AttendanceSessionInfo implements IConvertible { int? attendanceSessionId; double? attendanceGoalTime; String? attendanceGoalTimeValue; List? attendanceEvents; String? startDate; String? endDate; bool? isClockedIn; double? timeElapsed; AttendanceEventType? latestEventType; double? totalBreakTime; double? totalLunchTime; bool? isNew; AttendanceSessionInfo({this.attendanceSessionId,this.attendanceGoalTime,this.attendanceGoalTimeValue,this.attendanceEvents,this.startDate,this.endDate,this.isClockedIn,this.timeElapsed,this.latestEventType,this.totalBreakTime,this.totalLunchTime,this.isNew}); AttendanceSessionInfo.fromJson(Map json) { fromMap(json); } fromMap(Map json) { attendanceSessionId = json['attendanceSessionId']; attendanceGoalTime = JsonConverters.toDouble(json['attendanceGoalTime']); attendanceGoalTimeValue = json['attendanceGoalTimeValue']; attendanceEvents = JsonConverters.fromJson(json['attendanceEvents'],'List',context!); startDate = json['startDate']; endDate = json['endDate']; isClockedIn = json['isClockedIn']; timeElapsed = JsonConverters.toDouble(json['timeElapsed']); latestEventType = JsonConverters.fromJson(json['latestEventType'],'AttendanceEventType',context!); totalBreakTime = JsonConverters.toDouble(json['totalBreakTime']); totalLunchTime = JsonConverters.toDouble(json['totalLunchTime']); isNew = json['isNew']; return this; } Map toJson() => { 'attendanceSessionId': attendanceSessionId, 'attendanceGoalTime': attendanceGoalTime, 'attendanceGoalTimeValue': attendanceGoalTimeValue, 'attendanceEvents': JsonConverters.toJson(attendanceEvents,'List',context!), 'startDate': startDate, 'endDate': endDate, 'isClockedIn': isClockedIn, 'timeElapsed': timeElapsed, 'latestEventType': JsonConverters.toJson(latestEventType,'AttendanceEventType',context!), 'totalBreakTime': totalBreakTime, 'totalLunchTime': totalLunchTime, 'isNew': isNew }; getTypeName() => "AttendanceSessionInfo"; TypeContext? context = _ctx; } class ApiServiceResponse implements IServiceResponse, IConvertible { String? description; String? heading; bool? wasSuccessful; dynamic? modelState; ApiServiceResponse({this.description,this.heading,this.wasSuccessful,this.modelState}); ApiServiceResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { description = json['description']; heading = json['heading']; wasSuccessful = json['wasSuccessful']; modelState = JsonConverters.fromJson(json['modelState'],'dynamic',context!); return this; } Map toJson() => { 'description': description, 'heading': heading, 'wasSuccessful': wasSuccessful, 'modelState': JsonConverters.toJson(modelState,'dynamic',context!) }; getTypeName() => "ApiServiceResponse"; TypeContext? context = _ctx; } class GetAttendanceSessionInfoResponse extends ApiServiceResponse implements IConvertible { AttendanceSessionInfo? sessionInfo; GetAttendanceSessionInfoResponse({this.sessionInfo}); GetAttendanceSessionInfoResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); sessionInfo = JsonConverters.fromJson(json['sessionInfo'],'AttendanceSessionInfo',context!); return this; } Map toJson() => super.toJson()..addAll({ 'sessionInfo': JsonConverters.toJson(sessionInfo,'AttendanceSessionInfo',context!) }); getTypeName() => "GetAttendanceSessionInfoResponse"; TypeContext? context = _ctx; } // @Route("/attendance/sessioninfo", "GET") class GetAttendanceSessionInfoRequest extends ApiServiceRequest implements IReturn, IConvertible, IGet { GetAttendanceSessionInfoRequest(); GetAttendanceSessionInfoRequest.fromJson(Map json) : super.fromJson(json); fromMap(Map json) { super.fromMap(json); return this; } Map toJson() => super.toJson(); createResponse() => GetAttendanceSessionInfoResponse(); getResponseTypeName() => "GetAttendanceSessionInfoResponse"; getTypeName() => "GetAttendanceSessionInfoRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'cochraneplus_api_dev.happen.zone', types: { 'ApiServiceRequest': TypeInfo(TypeOf.Class, create:() => ApiServiceRequest()), 'IServiceRequest': TypeInfo(TypeOf.Interface), 'IHasApiKey': TypeInfo(TypeOf.Interface), 'IHasDeviceInfo': TypeInfo(TypeOf.Interface), 'AttendanceEventType': TypeInfo(TypeOf.Enum, enumValues:AttendanceEventType.values), 'AttendanceEventData': TypeInfo(TypeOf.Class, create:() => AttendanceEventData()), 'AttendanceSessionInfo': TypeInfo(TypeOf.Class, create:() => AttendanceSessionInfo()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'ApiServiceResponse': TypeInfo(TypeOf.Class, create:() => ApiServiceResponse()), 'GetAttendanceSessionInfoResponse': TypeInfo(TypeOf.Class, create:() => GetAttendanceSessionInfoResponse()), 'GetAttendanceSessionInfoRequest': TypeInfo(TypeOf.Class, create:() => GetAttendanceSessionInfoRequest()), });