| GET | /notifications | Lấy danh sách các Notification mới nhất |
|---|
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using tvpl.api.ServiceModel;
using tvpl.data.Constant;
using tvpl.data.Models;
namespace tvpl.api.ServiceModel
{
///<summary>
///Lấy danh sách các Notification mới nhất của người dùng hiện tại
///</summary>
public partial class GetNotificationFilter
: PagingRequest, IGet
{
public virtual NotificationFilter Filter { get; set; }
}
public partial class NotificationResponse
: IResponseRequest
{
public NotificationResponse()
{
Notifications = new List<Notification>{};
}
public virtual int Code { get; set; }
public virtual string Message { get; set; }
public virtual List<Notification> Notifications { get; set; }
public virtual int UnreadCount { get; set; }
public virtual int TotalCount { get; set; }
}
public partial class PagingRequest
{
public virtual int Page { get; set; }
public virtual int Limit { get; set; }
}
}
namespace tvpl.data.Constant
{
public enum NotificationFilter
{
Unread,
All,
}
}
namespace tvpl.data.Models
{
public partial class Notification
: IMongoModel
{
public virtual string Id { get; set; }
public virtual int AccountId { get; set; }
[Required]
[StringLength(200)]
public virtual string Title { get; set; }
public virtual string Message { get; set; }
public virtual string Payload { get; set; }
public virtual DateTime CreatedOn { get; set; }
public virtual DateTime? ReadOn { get; set; }
public virtual DateTime? PushOn { get; set; }
public virtual DateTime? DeletedOn { get; set; }
}
}
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 /notifications HTTP/1.1 Host: etc-api.vsmlab.vn Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
code: 0,
message: String,
notifications:
[
{
id: String,
accountId: 0,
title: String,
message: String,
payload: String,
readOn: "0001-01-01T00:00:00.0000000+07:06",
pushOn: "0001-01-01T00:00:00.0000000+07:06",
deletedOn: "0001-01-01T00:00:00.0000000+07:06"
}
],
unreadCount: 0,
totalCount: 0
}