| Required role: | super-admin |
| GET | /login-history |
|---|
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.Models;
namespace tvpl.api.ServiceModel
{
///<summary>
///Lấy lịch sử đăng nhập
///</summary>
public partial class LoginHistoryRequest
{
public virtual int? UserId { get; set; }
public virtual string UserName { get; set; }
public virtual DateTime? StartDate { get; set; }
public virtual DateTime? EndDate { get; set; }
public virtual int Page { get; set; }
public virtual int Limit { get; set; }
}
public partial class LoginHistoryRespnse
: IResponseRequest
{
public LoginHistoryRespnse()
{
Data = new List<UserLoginHistoryDto>{};
}
public virtual List<UserLoginHistoryDto> Data { get; set; }
public virtual int TotalRecords { get; set; }
public virtual int Code { get; set; }
public virtual string Message { get; set; }
}
}
namespace tvpl.data.Models
{
public partial class UserLoginHistory
{
public virtual int Id { get; set; }
public virtual int UserId { get; set; }
[StringLength(150)]
public virtual string UserName { get; set; }
[StringLength(45)]
public virtual string IPAddress { get; set; }
[StringLength(500)]
public virtual string DeviceInfo { get; set; }
[StringLength(50)]
public virtual string LoginStatus { get; set; }
[StringLength(500)]
public virtual string FailReason { get; set; }
[Required]
public virtual DateTime CreatedAt { get; set; }
public virtual string Provider { get; set; }
}
public partial class UserLoginHistoryDto
: UserLoginHistory
{
public virtual int? FailedLoginCount { 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 /login-history HTTP/1.1 Host: etc-api.vsmlab.vn Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
data:
[
{
failedLoginCount: 0,
id: 0,
userId: 0,
userName: String,
ipAddress: String,
deviceInfo: String,
loginStatus: String,
failReason: String,
provider: String
}
],
totalRecords: 0,
code: 0,
message: String
}