/* Options: Date: 2025-12-06 08:55:13 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: GetDashboardInfo.* //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 MeetingData implements IConvertible { int? meetingId; String? startTime; String? arrivalTime; String? leftTime; String? duration; bool? showTimeFields; String? arrivalStatus; String? email; bool? hasEmail; String? contactName; double? latitude; double? longitude; String? location; String? address; String? subject; String? description; String? endTime; String? company; String? contactNumber; bool? hasContactNumber; bool? hasLocation; String? setBy; String? virtualOrInPerson; MeetingData({this.meetingId,this.startTime,this.arrivalTime,this.leftTime,this.duration,this.showTimeFields,this.arrivalStatus,this.email,this.hasEmail,this.contactName,this.latitude,this.longitude,this.location,this.address,this.subject,this.description,this.endTime,this.company,this.contactNumber,this.hasContactNumber,this.hasLocation,this.setBy,this.virtualOrInPerson}); MeetingData.fromJson(Map json) { fromMap(json); } fromMap(Map json) { meetingId = json['meetingId']; startTime = json['startTime']; arrivalTime = json['arrivalTime']; leftTime = json['leftTime']; duration = json['duration']; showTimeFields = json['showTimeFields']; arrivalStatus = json['arrivalStatus']; email = json['email']; hasEmail = json['hasEmail']; contactName = json['contactName']; latitude = JsonConverters.toDouble(json['latitude']); longitude = JsonConverters.toDouble(json['longitude']); location = json['location']; address = json['address']; subject = json['subject']; description = json['description']; endTime = json['endTime']; company = json['company']; contactNumber = json['contactNumber']; hasContactNumber = json['hasContactNumber']; hasLocation = json['hasLocation']; setBy = json['setBy']; virtualOrInPerson = json['virtualOrInPerson']; return this; } Map toJson() => { 'meetingId': meetingId, 'startTime': startTime, 'arrivalTime': arrivalTime, 'leftTime': leftTime, 'duration': duration, 'showTimeFields': showTimeFields, 'arrivalStatus': arrivalStatus, 'email': email, 'hasEmail': hasEmail, 'contactName': contactName, 'latitude': latitude, 'longitude': longitude, 'location': location, 'address': address, 'subject': subject, 'description': description, 'endTime': endTime, 'company': company, 'contactNumber': contactNumber, 'hasContactNumber': hasContactNumber, 'hasLocation': hasLocation, 'setBy': setBy, 'virtualOrInPerson': virtualOrInPerson }; getTypeName() => "MeetingData"; 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 GetDashboardInfoResponse extends ApiServiceResponse implements IConvertible { int? unreadNotificationCount; String? nextMeetingDate; int? totalMeetingsToday; int? outstandingRatingsCount; double? usersAverageRating; bool? hasSharedRatings; bool? isSalesPerson; int? usersRatingTotalVotes; int? usersRatingPosition; List? teamIds; MeetingData? nextMeeting; AttendanceEventType? attendanceEventType; int? outstandingDebriefsToReviewCount; int? outstandingTemplateApprovalsCount; GetDashboardInfoResponse({this.unreadNotificationCount,this.nextMeetingDate,this.totalMeetingsToday,this.outstandingRatingsCount,this.usersAverageRating,this.hasSharedRatings,this.isSalesPerson,this.usersRatingTotalVotes,this.usersRatingPosition,this.teamIds,this.nextMeeting,this.attendanceEventType,this.outstandingDebriefsToReviewCount,this.outstandingTemplateApprovalsCount}); GetDashboardInfoResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); unreadNotificationCount = json['unreadNotificationCount']; nextMeetingDate = json['nextMeetingDate']; totalMeetingsToday = json['totalMeetingsToday']; outstandingRatingsCount = json['outstandingRatingsCount']; usersAverageRating = JsonConverters.toDouble(json['usersAverageRating']); hasSharedRatings = json['hasSharedRatings']; isSalesPerson = json['isSalesPerson']; usersRatingTotalVotes = json['usersRatingTotalVotes']; usersRatingPosition = json['usersRatingPosition']; teamIds = JsonConverters.fromJson(json['teamIds'],'List',context!); nextMeeting = JsonConverters.fromJson(json['nextMeeting'],'MeetingData',context!); attendanceEventType = JsonConverters.fromJson(json['attendanceEventType'],'AttendanceEventType',context!); outstandingDebriefsToReviewCount = json['outstandingDebriefsToReviewCount']; outstandingTemplateApprovalsCount = json['outstandingTemplateApprovalsCount']; return this; } Map toJson() => super.toJson()..addAll({ 'unreadNotificationCount': unreadNotificationCount, 'nextMeetingDate': nextMeetingDate, 'totalMeetingsToday': totalMeetingsToday, 'outstandingRatingsCount': outstandingRatingsCount, 'usersAverageRating': usersAverageRating, 'hasSharedRatings': hasSharedRatings, 'isSalesPerson': isSalesPerson, 'usersRatingTotalVotes': usersRatingTotalVotes, 'usersRatingPosition': usersRatingPosition, 'teamIds': JsonConverters.toJson(teamIds,'List',context!), 'nextMeeting': JsonConverters.toJson(nextMeeting,'MeetingData',context!), 'attendanceEventType': JsonConverters.toJson(attendanceEventType,'AttendanceEventType',context!), 'outstandingDebriefsToReviewCount': outstandingDebriefsToReviewCount, 'outstandingTemplateApprovalsCount': outstandingTemplateApprovalsCount }); getTypeName() => "GetDashboardInfoResponse"; TypeContext? context = _ctx; } // @Route("/dashboard/info", "GET") class GetDashboardInfo extends ApiServiceRequest implements IReturn, IConvertible, IGet { GetDashboardInfo(); GetDashboardInfo.fromJson(Map json) : super.fromJson(json); fromMap(Map json) { super.fromMap(json); return this; } Map toJson() => super.toJson(); createResponse() => GetDashboardInfoResponse(); getResponseTypeName() => "GetDashboardInfoResponse"; getTypeName() => "GetDashboardInfo"; 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), 'MeetingData': TypeInfo(TypeOf.Class, create:() => MeetingData()), 'ApiServiceResponse': TypeInfo(TypeOf.Class, create:() => ApiServiceResponse()), 'GetDashboardInfoResponse': TypeInfo(TypeOf.Class, create:() => GetDashboardInfoResponse()), 'GetDashboardInfo': TypeInfo(TypeOf.Class, create:() => GetDashboardInfo()), });