149 lines
3.6 KiB
Kotlin
149 lines
3.6 KiB
Kotlin
package top.fatweb.api.vo.permission
|
|
|
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize
|
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer
|
|
import io.swagger.v3.oas.annotations.media.Schema
|
|
import top.fatweb.api.vo.permission.base.UserInfoVo
|
|
import java.time.LocalDateTime
|
|
|
|
/**
|
|
* User with information value object
|
|
*
|
|
* @author FatttSnake, fatttsnake@gmail.com
|
|
* @since 1.0.0
|
|
*/
|
|
@Schema(description = "用户信息返回参数")
|
|
data class UserWithInfoVo(
|
|
/**
|
|
* ID
|
|
*
|
|
* @author FatttSnake, fatttsnake@gmail.com
|
|
* @since 1.0.0
|
|
*/
|
|
@JsonSerialize(using = ToStringSerializer::class)
|
|
val id: Long?,
|
|
|
|
/**
|
|
* Username
|
|
*
|
|
* @author FatttSnake, fatttsnake@gmail.com
|
|
* @since 1.0.0
|
|
*/
|
|
@Schema(description = "用户名", example = "User")
|
|
val username: String?,
|
|
|
|
/**
|
|
* Verified
|
|
*
|
|
* @author FatttSnake, fatttsnake@gmail.com
|
|
* @since 1.0.0
|
|
*/
|
|
@Schema(description = "已验证", example = "true")
|
|
val verified: Boolean?,
|
|
|
|
/**
|
|
* Locking
|
|
*
|
|
* @author FatttSnake, fatttsnake@gmail.com
|
|
* @since 1.0.0
|
|
*/
|
|
@Schema(description = "是否锁定", example = "false")
|
|
val locking: Boolean?,
|
|
|
|
/**
|
|
* Expiration time
|
|
*
|
|
* @author FatttSnake, fatttsnake@gmail.com
|
|
* @since 1.0.0
|
|
* @see LocalDateTime
|
|
*/
|
|
@Schema(description = "过期时间", example = "1900-01-01T00:00:00.000Z")
|
|
val expiration: LocalDateTime?,
|
|
|
|
/**
|
|
* Credentials expiration time
|
|
*
|
|
* @author FatttSnake, fatttsnake@gmail.com
|
|
* @since 1.0.0
|
|
* @see LocalDateTime
|
|
*/
|
|
@Schema(description = "认证过期时间", example = "1900-01-01T00:00:00.000Z")
|
|
val credentialsExpiration: LocalDateTime?,
|
|
|
|
/**
|
|
* Enable
|
|
*
|
|
* @author FatttSnake, fatttsnake@gmail.com
|
|
* @since 1.0.0
|
|
*/
|
|
@Schema(description = "是否启用", example = "true")
|
|
val enable: Boolean?,
|
|
|
|
/**
|
|
* Current login time
|
|
*
|
|
* @author FatttSnake, fatttsnake@gmail.com
|
|
* @since 1.0.0
|
|
* @see LocalDateTime
|
|
*/
|
|
@Schema(description = "当前登录时间", example = "1900-01-01T00:00:00.000Z")
|
|
val currentLoginTime: LocalDateTime?,
|
|
|
|
/**
|
|
* Current login IP
|
|
*
|
|
* @author FatttSnake, fatttsnake@gmail.com
|
|
* @since 1.0.0
|
|
*/
|
|
@Schema(description = "当前登录 IP", example = "1.1.1.1")
|
|
val currentLoginIp: String?,
|
|
|
|
/**
|
|
* Last login time
|
|
*
|
|
* @author FatttSnake, fatttsnake@gmail.com
|
|
* @since 1.0.0
|
|
* @see LocalDateTime
|
|
*/
|
|
@Schema(description = "最后登录时间", example = "1900-01-01T00:00:00.000Z")
|
|
val lastLoginTime: LocalDateTime?,
|
|
|
|
/**
|
|
* Last login IP
|
|
*
|
|
* @author FatttSnake, fatttsnake@gmail.com
|
|
* @since 1.0.0
|
|
*/
|
|
@Schema(description = "最后登录 IP", example = "1.1.1.1")
|
|
val lastLoginIp: String?,
|
|
|
|
/**
|
|
* Create time
|
|
*
|
|
* @author FatttSnake, fatttsnake@gmail.com
|
|
* @since 1.0.0
|
|
* @see LocalDateTime
|
|
*/
|
|
@Schema(description = "创建时间", example = "1900-01-01T00:00:00.000Z")
|
|
val createTime: LocalDateTime?,
|
|
|
|
/**
|
|
* Update time
|
|
*
|
|
* @author FatttSnake, fatttsnake@gmail.com
|
|
* @since 1.0.0
|
|
* @see LocalDateTime
|
|
*/
|
|
@Schema(description = "修改时间", example = "1900-01-01T00:00:00.000Z")
|
|
val updateTime: LocalDateTime?,
|
|
|
|
/**
|
|
* User information object
|
|
*
|
|
* @author FatttSnake, fatttsnake@gmail.com
|
|
* @since 1.0.0
|
|
* @see UserInfoVo
|
|
*/
|
|
@Schema(description = "用户资料")
|
|
val userInfo: UserInfoVo?
|
|
) |