/* Options: Date: 2025-12-06 08:56:31 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: ReadAllMessages.* //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 NotificationMessageAttachment implements IConvertible { bool? isImage; bool? isPdf; bool? isWord; bool? isExcel; String? fileName; String? thumbnailUrl; String? fileUrl; NotificationMessageAttachment({this.isImage,this.isPdf,this.isWord,this.isExcel,this.fileName,this.thumbnailUrl,this.fileUrl}); NotificationMessageAttachment.fromJson(Map json) { fromMap(json); } fromMap(Map json) { isImage = json['isImage']; isPdf = json['isPdf']; isWord = json['isWord']; isExcel = json['isExcel']; fileName = json['fileName']; thumbnailUrl = json['thumbnailUrl']; fileUrl = json['fileUrl']; return this; } Map toJson() => { 'isImage': isImage, 'isPdf': isPdf, 'isWord': isWord, 'isExcel': isExcel, 'fileName': fileName, 'thumbnailUrl': thumbnailUrl, 'fileUrl': fileUrl }; getTypeName() => "NotificationMessageAttachment"; TypeContext? context = _ctx; } class NotificationMessageData implements IConvertible { String? title; String? content; String? sentBy; int? systemUserMessageId; String? dateSent; String? comment; bool? hasComment; String? commentDate; bool? hasAttachments; List? attachmentList; bool? hasRead; NotificationMessageData({this.title,this.content,this.sentBy,this.systemUserMessageId,this.dateSent,this.comment,this.hasComment,this.commentDate,this.hasAttachments,this.attachmentList,this.hasRead}); NotificationMessageData.fromJson(Map json) { fromMap(json); } fromMap(Map json) { title = json['title']; content = json['content']; sentBy = json['sentBy']; systemUserMessageId = json['systemUserMessageId']; dateSent = json['dateSent']; comment = json['comment']; hasComment = json['hasComment']; commentDate = json['commentDate']; hasAttachments = json['hasAttachments']; attachmentList = JsonConverters.fromJson(json['attachmentList'],'List',context!); hasRead = json['hasRead']; return this; } Map toJson() => { 'title': title, 'content': content, 'sentBy': sentBy, 'systemUserMessageId': systemUserMessageId, 'dateSent': dateSent, 'comment': comment, 'hasComment': hasComment, 'commentDate': commentDate, 'hasAttachments': hasAttachments, 'attachmentList': JsonConverters.toJson(attachmentList,'List',context!), 'hasRead': hasRead }; getTypeName() => "NotificationMessageData"; 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 GetNotificationMessageResponse extends ApiServiceResponse implements IConvertible { List? messages; int? unreadCount; GetNotificationMessageResponse({this.messages,this.unreadCount}); GetNotificationMessageResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); messages = JsonConverters.fromJson(json['messages'],'List',context!); unreadCount = json['unreadCount']; return this; } Map toJson() => super.toJson()..addAll({ 'messages': JsonConverters.toJson(messages,'List',context!), 'unreadCount': unreadCount }); getTypeName() => "GetNotificationMessageResponse"; TypeContext? context = _ctx; } // @Route("/notificationcentre/readall", "POST") class ReadAllMessages extends ApiServiceRequest implements IReturn, IConvertible, IPost { ReadAllMessages(); ReadAllMessages.fromJson(Map json) : super.fromJson(json); fromMap(Map json) { super.fromMap(json); return this; } Map toJson() => super.toJson(); createResponse() => GetNotificationMessageResponse(); getResponseTypeName() => "GetNotificationMessageResponse"; getTypeName() => "ReadAllMessages"; 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), 'NotificationMessageAttachment': TypeInfo(TypeOf.Class, create:() => NotificationMessageAttachment()), 'NotificationMessageData': TypeInfo(TypeOf.Class, create:() => NotificationMessageData()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'ApiServiceResponse': TypeInfo(TypeOf.Class, create:() => ApiServiceResponse()), 'GetNotificationMessageResponse': TypeInfo(TypeOf.Class, create:() => GetNotificationMessageResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'ReadAllMessages': TypeInfo(TypeOf.Class, create:() => ReadAllMessages()), });