| Required role: | super-admin |
| GET | /login-history |
|---|
import java.math.*
import java.util.*
import net.servicestack.client.*
import com.google.gson.annotations.*
import com.google.gson.reflect.*
/**
* Lấy lịch sử đăng nhập
*/
open class LoginHistoryRequest
{
var userId:Int? = null
var userName:String? = null
var startDate:Date? = null
var endDate:Date? = null
var page:Int? = null
var limit:Int? = null
}
open class LoginHistoryRespnse : IResponseRequest
{
@SerializedName("data") var Data:ArrayList<UserLoginHistoryDto> = ArrayList<UserLoginHistoryDto>()
var totalRecords:Int? = null
var code:Int? = null
var message:String? = null
}
open class UserLoginHistoryDto : UserLoginHistory()
{
var failedLoginCount:Int? = null
}
open class UserLoginHistory
{
var id:Int? = null
var userId:Int? = null
@StringLength(150)
var userName:String? = null
@StringLength(45)
var ipAddress:String? = null
@StringLength(500)
var deviceInfo:String? = null
@StringLength(50)
var loginStatus:String? = null
@StringLength(500)
var failReason:String? = null
@Required()
var createdAt:Date? = null
var provider:String? = null
}
Kotlin LoginHistoryRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
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: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<LoginHistoryRespnse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/tvpl.api.ServiceModel">
<Code>0</Code>
<Data xmlns:d2p1="http://schemas.datacontract.org/2004/07/tvpl.data.Models">
<d2p1:UserLoginHistoryDto>
<d2p1:CreatedAt>0001-01-01T00:00:00</d2p1:CreatedAt>
<d2p1:DeviceInfo>String</d2p1:DeviceInfo>
<d2p1:FailReason>String</d2p1:FailReason>
<d2p1:IPAddress>String</d2p1:IPAddress>
<d2p1:Id>0</d2p1:Id>
<d2p1:LoginStatus>String</d2p1:LoginStatus>
<d2p1:Provider>String</d2p1:Provider>
<d2p1:UserId>0</d2p1:UserId>
<d2p1:UserName>String</d2p1:UserName>
<d2p1:FailedLoginCount>0</d2p1:FailedLoginCount>
</d2p1:UserLoginHistoryDto>
</Data>
<Message>String</Message>
<TotalRecords>0</TotalRecords>
</LoginHistoryRespnse>