| GET | /notificationcentre/ |
|---|
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<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
apiKey = json['apiKey'];
latitude = JsonConverters.toDouble(json['latitude']);
longitude = JsonConverters.toDouble(json['longitude']);
return this;
}
Map<String, dynamic> toJson() => {
'apiKey': apiKey,
'latitude': latitude,
'longitude': longitude
};
getTypeName() => "ApiServiceRequest";
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<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
description = json['description'];
heading = json['heading'];
wasSuccessful = json['wasSuccessful'];
modelState = JsonConverters.fromJson(json['modelState'],'dynamic',context!);
return this;
}
Map<String, dynamic> toJson() => {
'description': description,
'heading': heading,
'wasSuccessful': wasSuccessful,
'modelState': JsonConverters.toJson(modelState,'dynamic',context!)
};
getTypeName() => "ApiServiceResponse";
TypeContext? context = _ctx;
}
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<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> 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<String, dynamic> 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<NotificationMessageAttachment>? 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<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> 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<NotificationMessageAttachment>',context!);
hasRead = json['hasRead'];
return this;
}
Map<String, dynamic> toJson() => {
'title': title,
'content': content,
'sentBy': sentBy,
'systemUserMessageId': systemUserMessageId,
'dateSent': dateSent,
'comment': comment,
'hasComment': hasComment,
'commentDate': commentDate,
'hasAttachments': hasAttachments,
'attachmentList': JsonConverters.toJson(attachmentList,'List<NotificationMessageAttachment>',context!),
'hasRead': hasRead
};
getTypeName() => "NotificationMessageData";
TypeContext? context = _ctx;
}
class GetNotificationMessageResponse extends ApiServiceResponse implements IConvertible
{
List<NotificationMessageData>? messages;
int? unreadCount;
GetNotificationMessageResponse({this.messages,this.unreadCount});
GetNotificationMessageResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
messages = JsonConverters.fromJson(json['messages'],'List<NotificationMessageData>',context!);
unreadCount = json['unreadCount'];
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'messages': JsonConverters.toJson(messages,'List<NotificationMessageData>',context!),
'unreadCount': unreadCount
});
getTypeName() => "GetNotificationMessageResponse";
TypeContext? context = _ctx;
}
class GetNotificationMessage extends ApiServiceRequest implements IConvertible
{
String? searchTerm;
int? systemUserMessageId;
GetNotificationMessage({this.searchTerm,this.systemUserMessageId});
GetNotificationMessage.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
searchTerm = json['searchTerm'];
systemUserMessageId = json['systemUserMessageId'];
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'searchTerm': searchTerm,
'systemUserMessageId': systemUserMessageId
});
getTypeName() => "GetNotificationMessage";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'cochraneplus_api_dev.happen.zone', types: <String, TypeInfo> {
'ApiServiceRequest': TypeInfo(TypeOf.Class, create:() => ApiServiceRequest()),
'ApiServiceResponse': TypeInfo(TypeOf.Class, create:() => ApiServiceResponse()),
'NotificationMessageAttachment': TypeInfo(TypeOf.Class, create:() => NotificationMessageAttachment()),
'NotificationMessageData': TypeInfo(TypeOf.Class, create:() => NotificationMessageData()),
'List<NotificationMessageAttachment>': TypeInfo(TypeOf.Class, create:() => <NotificationMessageAttachment>[]),
'GetNotificationMessageResponse': TypeInfo(TypeOf.Class, create:() => GetNotificationMessageResponse()),
'List<NotificationMessageData>': TypeInfo(TypeOf.Class, create:() => <NotificationMessageData>[]),
'GetNotificationMessage': TypeInfo(TypeOf.Class, create:() => GetNotificationMessage()),
});
Dart GetNotificationMessage DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /notificationcentre/ HTTP/1.1 Host: cochraneplus-api-dev.happen.zone Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
messages:
[
{
}
],
unreadCount: 0,
description: String,
heading: String,
wasSuccessful: False,
modelState: {}
}