Change namespace to top.fatweb.oxygen.api
This commit is contained in:
50
src/main/kotlin/top/fatweb/oxygen/api/param/PageSortParam.kt
Normal file
50
src/main/kotlin/top/fatweb/oxygen/api/param/PageSortParam.kt
Normal file
@@ -0,0 +1,50 @@
|
||||
package top.fatweb.oxygen.api.param
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema
|
||||
import jakarta.validation.constraints.Min
|
||||
|
||||
/**
|
||||
* Page sort parameters
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
open class PageSortParam {
|
||||
/**
|
||||
* Current page number
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "分页页码", defaultValue = "1", example = "1")
|
||||
@field:Min(1, message = "Pagination page number must be a positive integer")
|
||||
var currentPage: Long = 1
|
||||
|
||||
/**
|
||||
* Size of page
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "分页大小", defaultValue = "20", example = "20")
|
||||
@field:Min(1, message = "The number of data per page must be a positive integer")
|
||||
var pageSize: Long = 20
|
||||
|
||||
/**
|
||||
* Field name to sort
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "排序字段", example = "id")
|
||||
var sortField: String? = null
|
||||
|
||||
/**
|
||||
* Sort order by
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "排序方式", allowableValues = ["desc", "asc"], defaultValue = "desc", example = "desc")
|
||||
var sortOrder: String? = null
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
package top.fatweb.oxygen.api.param.api.v1.avatar
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema
|
||||
import jakarta.validation.constraints.Max
|
||||
import jakarta.validation.constraints.Pattern
|
||||
|
||||
/**
|
||||
* Avatar base parameters
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
open class AvatarBaseParam {
|
||||
/**
|
||||
* Seed to generate avatar
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "种子")
|
||||
var seed: Long? = null
|
||||
|
||||
/**
|
||||
* Size of image
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "图像大小", defaultValue = "128")
|
||||
@field:Max(256, message = "Size must be less than or equal to 256")
|
||||
var size: Int? = null
|
||||
|
||||
/**
|
||||
* Margin of image
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "外边距", defaultValue = "0")
|
||||
var margin: Int? = null
|
||||
|
||||
/**
|
||||
* Padding of image
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "内边距", defaultValue = "0")
|
||||
var padding: Int? = null
|
||||
|
||||
/**
|
||||
* List of colors to generate avatar
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(defaultValue = "颜色列表", example = "#FFFFFFAA")
|
||||
var colors: List<String>? = null
|
||||
|
||||
/**
|
||||
* Background of image
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(defaultValue = "背景颜色", example = "#FFFFFFAA")
|
||||
@field:Pattern(regexp = "^#[0-9a-fA-F]{6}|#[0-9a-fA-F]{8}$", message = "Background color must be a hex color code")
|
||||
var background: String? = null
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
package top.fatweb.oxygen.api.param.api.v1.avatar
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema
|
||||
import jakarta.validation.constraints.Max
|
||||
|
||||
/**
|
||||
* GitHub style avatar parameters
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
data class AvatarGitHubParam(
|
||||
/**
|
||||
* Size of element
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "元素大小", defaultValue = "400")
|
||||
@field:Max(1000, message = "Element size must be less than or equal to 1000")
|
||||
val elementSize: Int = 400,
|
||||
|
||||
/**
|
||||
* Precision of element
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "精确度", defaultValue = "5")
|
||||
val precision: Int = 5
|
||||
) : AvatarBaseParam()
|
||||
@@ -0,0 +1,25 @@
|
||||
package top.fatweb.oxygen.api.param.permission
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema
|
||||
import jakarta.validation.constraints.NotBlank
|
||||
import jakarta.validation.constraints.Pattern
|
||||
|
||||
/**
|
||||
* Forget password parameters
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "忘记密码请求参数")
|
||||
data class ForgetParam(
|
||||
/**
|
||||
* Email
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "邮箱", required = true, example = "user@email.com")
|
||||
@field:NotBlank(message = "Email can not be blank")
|
||||
@field:Pattern(regexp = "^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*\$", message = "Illegal email address")
|
||||
val email: String?
|
||||
)
|
||||
@@ -0,0 +1,33 @@
|
||||
package top.fatweb.oxygen.api.param.permission
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema
|
||||
import jakarta.validation.constraints.NotBlank
|
||||
|
||||
/**
|
||||
* Login parameters
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "登录请求参数")
|
||||
data class LoginParam(
|
||||
/**
|
||||
* Account
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "账户", required = true, example = "test")
|
||||
@field:NotBlank(message = "Account can not be blank")
|
||||
val account: String?,
|
||||
|
||||
/**
|
||||
* Password
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "密码", required = true)
|
||||
@field:NotBlank(message = "Password can not be blank")
|
||||
val password: String?
|
||||
)
|
||||
@@ -0,0 +1,48 @@
|
||||
package top.fatweb.oxygen.api.param.permission
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema
|
||||
import jakarta.validation.constraints.NotBlank
|
||||
import jakarta.validation.constraints.Pattern
|
||||
import jakarta.validation.constraints.Size
|
||||
|
||||
/**
|
||||
* Register parameters
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "注册请求参数")
|
||||
data class RegisterParam(
|
||||
/**
|
||||
* Username
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "用户名", required = true, example = "abc")
|
||||
@field:NotBlank(message = "Username can not be blank")
|
||||
@field:Pattern(regexp = "[a-zA-Z-_][0-9a-zA-Z-_]{2,38}", message = "Illegal username")
|
||||
val username: String?,
|
||||
|
||||
/**
|
||||
* Email
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "邮箱", required = true, example = "user@email.com")
|
||||
@field:NotBlank(message = "Email can not be blank")
|
||||
@field:Pattern(regexp = "^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*\$", message = "Illegal email address")
|
||||
val email: String?,
|
||||
|
||||
/**
|
||||
* Password
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "密码", required = true)
|
||||
@field:NotBlank(message = "Password can not be blank")
|
||||
@field:Size(min = 10, max = 30)
|
||||
val password: String?
|
||||
)
|
||||
@@ -0,0 +1,35 @@
|
||||
package top.fatweb.oxygen.api.param.permission
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema
|
||||
import jakarta.validation.constraints.NotBlank
|
||||
import jakarta.validation.constraints.Size
|
||||
|
||||
/**
|
||||
* Retrieve password parameters
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "找回密码请求参数")
|
||||
data class RetrieveParam(
|
||||
/**
|
||||
* Code
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "验证码", required = true)
|
||||
@field:NotBlank(message = "Code can not be blank")
|
||||
val code: String?,
|
||||
|
||||
/**
|
||||
* New password
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "新密码")
|
||||
@field:NotBlank(message = "New password can not be blank")
|
||||
@field:Size(min = 10, max = 30)
|
||||
val password: String?
|
||||
)
|
||||
@@ -0,0 +1,41 @@
|
||||
package top.fatweb.oxygen.api.param.permission
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema
|
||||
import jakarta.validation.constraints.NotBlank
|
||||
|
||||
/**
|
||||
* Verify email parameters
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "验证邮箱请求参数")
|
||||
data class VerifyParam(
|
||||
/**
|
||||
* Code
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "验证码", required = true)
|
||||
@field:NotBlank(message = "Code can not be blank")
|
||||
val code: String?,
|
||||
|
||||
/**
|
||||
* Nickname
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "昵称", example = "QwQ")
|
||||
val nickname: String?,
|
||||
|
||||
/**
|
||||
* Avatar
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "头像")
|
||||
val avatar: String?
|
||||
)
|
||||
@@ -0,0 +1,41 @@
|
||||
package top.fatweb.oxygen.api.param.permission.group
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema
|
||||
import jakarta.validation.constraints.NotBlank
|
||||
|
||||
/**
|
||||
* Add group parameters
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "用户组添加请求参数")
|
||||
data class GroupAddParam(
|
||||
/**
|
||||
* Name
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "用户组名称", required = true, example = "Group_1")
|
||||
@field:NotBlank(message = "Name can not be blank")
|
||||
val name: String?,
|
||||
|
||||
/**
|
||||
* Enable
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "启用", allowableValues = ["true", "false"], defaultValue = "true", example = "true")
|
||||
val enable: Boolean = true,
|
||||
|
||||
/**
|
||||
* List of role IDs
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "角色 ID 列表")
|
||||
val roleIds: List<Long>?
|
||||
)
|
||||
@@ -0,0 +1,21 @@
|
||||
package top.fatweb.oxygen.api.param.permission.group
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema
|
||||
|
||||
/**
|
||||
* Delete group parameters
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "用户组删除请求参数")
|
||||
data class GroupDeleteParam(
|
||||
/**
|
||||
* List of group IDs
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "用户组 ID 列表", required = true)
|
||||
val ids: List<Long>
|
||||
)
|
||||
@@ -0,0 +1,37 @@
|
||||
package top.fatweb.oxygen.api.param.permission.group
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema
|
||||
import top.fatweb.oxygen.api.param.PageSortParam
|
||||
|
||||
/**
|
||||
* Get group parameters
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
* @see PageSortParam
|
||||
*/
|
||||
@Schema(description = "用户组查询请求参数")
|
||||
data class GroupGetParam(
|
||||
/**
|
||||
* Name to search for
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "查询用户组名称", example = "Group_1")
|
||||
val searchName: String?,
|
||||
|
||||
/**
|
||||
* Use regex
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(
|
||||
description = "查询使用正则表达式",
|
||||
allowableValues = ["true", "false"],
|
||||
defaultValue = "false",
|
||||
example = "false"
|
||||
)
|
||||
val searchRegex: Boolean = false,
|
||||
) : PageSortParam()
|
||||
@@ -0,0 +1,52 @@
|
||||
package top.fatweb.oxygen.api.param.permission.group
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema
|
||||
import jakarta.validation.constraints.NotBlank
|
||||
import jakarta.validation.constraints.NotNull
|
||||
|
||||
/**
|
||||
* Update group parameters
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "用户组更新请求参数")
|
||||
data class GroupUpdateParam(
|
||||
/**
|
||||
* ID
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "用户组 ID", required = true)
|
||||
@field:NotNull(message = "ID can not be null")
|
||||
val id: Long?,
|
||||
|
||||
/**
|
||||
* Name
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "用户组名称", required = true, example = "Group_1")
|
||||
@field:NotBlank(message = "Name can not be blank")
|
||||
val name: String?,
|
||||
|
||||
/**
|
||||
* Enable
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "启用", allowableValues = ["true", "false"], defaultValue = "true", example = "true")
|
||||
val enable: Boolean = true,
|
||||
|
||||
/**
|
||||
* List of role IDs
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "角色 ID 列表")
|
||||
val roleIds: List<Long>?
|
||||
)
|
||||
@@ -0,0 +1,32 @@
|
||||
package top.fatweb.oxygen.api.param.permission.group
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema
|
||||
import jakarta.validation.constraints.NotNull
|
||||
|
||||
/**
|
||||
* Update status of group parameters
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "用户组更改状态请求参数")
|
||||
data class GroupUpdateStatusParam(
|
||||
/**
|
||||
* ID
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "用户组 ID", required = true)
|
||||
@field:NotNull(message = "ID can not be null")
|
||||
val id: Long?,
|
||||
|
||||
/**
|
||||
* Enable
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "启用", allowableValues = ["true", "false"], defaultValue = "true", example = "true")
|
||||
val enable: Boolean = true
|
||||
)
|
||||
@@ -0,0 +1,41 @@
|
||||
package top.fatweb.oxygen.api.param.permission.role
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema
|
||||
import jakarta.validation.constraints.NotBlank
|
||||
|
||||
/**
|
||||
* Add role parameters
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "角色添加请求参数")
|
||||
data class RoleAddParam(
|
||||
/**
|
||||
* Name
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "角色名称", required = true, example = "Role_1")
|
||||
@field:NotBlank(message = "Name can not be blank")
|
||||
val name: String?,
|
||||
|
||||
/**
|
||||
* Enable
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "启用", allowableValues = ["true", "false"], defaultValue = "true", example = "true")
|
||||
val enable: Boolean = true,
|
||||
|
||||
/**
|
||||
* List of power IDs
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "权限 ID 列表")
|
||||
val powerIds: List<Long>?
|
||||
)
|
||||
@@ -0,0 +1,21 @@
|
||||
package top.fatweb.oxygen.api.param.permission.role
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema
|
||||
|
||||
/**
|
||||
* Delete role parameters
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "角色删除请求参数")
|
||||
data class RoleDeleteParam(
|
||||
/**
|
||||
* List of role IDs
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "角色 ID 列表", required = true)
|
||||
val ids: List<Long>
|
||||
)
|
||||
@@ -0,0 +1,37 @@
|
||||
package top.fatweb.oxygen.api.param.permission.role
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema
|
||||
import top.fatweb.oxygen.api.param.PageSortParam
|
||||
|
||||
/**
|
||||
* Get role parameters
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
* @see PageSortParam
|
||||
*/
|
||||
@Schema(description = "角色查询请求参数")
|
||||
data class RoleGetParam(
|
||||
/**
|
||||
* Name to search for
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "查询角色名称", example = "Role_1")
|
||||
val searchName: String?,
|
||||
|
||||
/**
|
||||
* Use regex
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(
|
||||
description = "查询使用正则表达式",
|
||||
allowableValues = ["true", "false"],
|
||||
defaultValue = "false",
|
||||
example = "false"
|
||||
)
|
||||
val searchRegex: Boolean = false,
|
||||
) : PageSortParam()
|
||||
@@ -0,0 +1,52 @@
|
||||
package top.fatweb.oxygen.api.param.permission.role
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema
|
||||
import jakarta.validation.constraints.NotBlank
|
||||
import jakarta.validation.constraints.NotNull
|
||||
|
||||
/**
|
||||
* Update role parameters
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "角色更新请求参数")
|
||||
data class RoleUpdateParam(
|
||||
/**
|
||||
* ID
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "角色 ID", required = true)
|
||||
@field:NotNull(message = "Role id can not be null")
|
||||
val id: Long?,
|
||||
|
||||
/**
|
||||
* Name
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "角色名称", required = true, example = "Role_1")
|
||||
@field:NotBlank(message = "Name can not be blank")
|
||||
val name: String?,
|
||||
|
||||
/**
|
||||
* Enable
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "启用", allowableValues = ["true", "false"], defaultValue = "true", example = "true")
|
||||
val enable: Boolean = true,
|
||||
|
||||
/**
|
||||
* List of power IDs
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "权限 ID 列表")
|
||||
val powerIds: List<Long>?
|
||||
)
|
||||
@@ -0,0 +1,32 @@
|
||||
package top.fatweb.oxygen.api.param.permission.role
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema
|
||||
import jakarta.validation.constraints.NotNull
|
||||
|
||||
/**
|
||||
* Update status of role parameters
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "角色更改状态请求参数")
|
||||
data class RoleUpdateStatusParam(
|
||||
/**
|
||||
* ID
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "角色 ID", required = true)
|
||||
@field:NotNull(message = "Role id can not be null")
|
||||
val id: Long?,
|
||||
|
||||
/**
|
||||
* Enable
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "启用", allowableValues = ["true", "false"], defaultValue = "true", example = "true")
|
||||
val enable: Boolean = true
|
||||
)
|
||||
@@ -0,0 +1,129 @@
|
||||
package top.fatweb.oxygen.api.param.permission.user
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema
|
||||
import jakarta.validation.constraints.NotBlank
|
||||
import jakarta.validation.constraints.Pattern
|
||||
import java.time.LocalDateTime
|
||||
|
||||
/**
|
||||
* Add user parameters
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "用户添加请求参数")
|
||||
data class UserAddParam(
|
||||
/**
|
||||
* Username
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "用户名", required = true, example = "User_1")
|
||||
@field:NotBlank(message = "Username can not be blank")
|
||||
val username: String?,
|
||||
|
||||
/**
|
||||
* Password
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "密码(为空自动生成随机密码)")
|
||||
val password: String?,
|
||||
|
||||
/**
|
||||
* Verified
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "是否已验证", allowableValues = ["true", "false"], defaultValue = "false", example = "false")
|
||||
val verified: Boolean = false,
|
||||
|
||||
/**
|
||||
* Locking
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "锁定", allowableValues = ["true", "false"], defaultValue = "false", example = "false")
|
||||
val locking: Boolean = false,
|
||||
|
||||
/**
|
||||
* 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 = "启用", allowableValues = ["true", "false"], defaultValue = "true", example = "true")
|
||||
val enable: Boolean = true,
|
||||
|
||||
/**
|
||||
* Nickname
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "昵称", required = true, example = "Nickname_1")
|
||||
@field:NotBlank(message = "Nickname can not be blank")
|
||||
val nickname: String?,
|
||||
|
||||
/**
|
||||
* Avatar base63
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "头像")
|
||||
val avatar: String?,
|
||||
|
||||
/**
|
||||
* Email
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "邮箱", required = true, example = "user@email.com")
|
||||
@NotBlank(message = "Email can not be blank")
|
||||
@Pattern(regexp = "^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*\$", message = "Illegal email address")
|
||||
val email: String?,
|
||||
|
||||
/**
|
||||
* List of role IDs
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "角色 ID 列表")
|
||||
val roleIds: List<Long>?,
|
||||
|
||||
/**
|
||||
* List of group IDs
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "用户组 ID 列表")
|
||||
val groupIds: List<Long>?
|
||||
)
|
||||
@@ -0,0 +1,21 @@
|
||||
package top.fatweb.oxygen.api.param.permission.user
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema
|
||||
|
||||
/**
|
||||
* Delete user parameters
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "用户删除请求参数")
|
||||
data class UserDeleteParam(
|
||||
/**
|
||||
* List of user IDs
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "用户 ID 列表", required = true)
|
||||
val ids: List<Long>
|
||||
)
|
||||
@@ -0,0 +1,51 @@
|
||||
package top.fatweb.oxygen.api.param.permission.user
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema
|
||||
import top.fatweb.oxygen.api.param.PageSortParam
|
||||
|
||||
/**
|
||||
* Get user parameters
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
* @see PageSortParam
|
||||
*/
|
||||
@Schema(description = "用户查询请求参数")
|
||||
data class UserGetParam(
|
||||
/**
|
||||
* Type of search
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(
|
||||
description = "搜索类型",
|
||||
allowableValues = ["ALL", "ID", "USERNAME", "NICKNAME", "EMAIL"],
|
||||
defaultValue = "ALL",
|
||||
example = "ALL"
|
||||
)
|
||||
val searchType: String = "ALL",
|
||||
|
||||
/**
|
||||
* Value to search for
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "查询内容", example = "User_1")
|
||||
val searchValue: String?,
|
||||
|
||||
/**
|
||||
* Use regex
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(
|
||||
description = "查询使用正则表达式",
|
||||
allowableValues = ["true", "false"],
|
||||
defaultValue = "false",
|
||||
example = "false"
|
||||
)
|
||||
val searchRegex: Boolean = false,
|
||||
) : PageSortParam()
|
||||
@@ -0,0 +1,131 @@
|
||||
package top.fatweb.oxygen.api.param.permission.user
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema
|
||||
import jakarta.validation.constraints.NotBlank
|
||||
import jakarta.validation.constraints.NotNull
|
||||
import jakarta.validation.constraints.Pattern
|
||||
import java.time.LocalDateTime
|
||||
|
||||
/**
|
||||
* Update user parameters
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "用户更新请求参数")
|
||||
data class UserUpdateParam(
|
||||
/**
|
||||
* ID
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "用户 ID", required = true)
|
||||
@field:NotNull(message = "ID can not be null")
|
||||
val id: Long?,
|
||||
|
||||
/**
|
||||
* Username
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "用户名", required = true, example = "User_1")
|
||||
@field:NotBlank(message = "Username can not be blank")
|
||||
val username: String?,
|
||||
|
||||
/**
|
||||
* Verified
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "是否已验证", allowableValues = ["true", "false"], defaultValue = "false", example = "false")
|
||||
val verified: Boolean = false,
|
||||
|
||||
/**
|
||||
* Locking
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "锁定", allowableValues = ["true", "false"], defaultValue = "false", example = "false")
|
||||
val locking: Boolean = false,
|
||||
|
||||
/**
|
||||
* 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 = "启用", allowableValues = ["true", "false"], defaultValue = "true", example = "true")
|
||||
val enable: Boolean = true,
|
||||
|
||||
/**
|
||||
* Nickname
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "昵称", required = true, example = "Nickname_1")
|
||||
@field:NotBlank(message = "Nickname can not be blank")
|
||||
val nickname: String?,
|
||||
|
||||
/**
|
||||
* Avatar base64
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "头像")
|
||||
val avatar: String?,
|
||||
|
||||
/**
|
||||
* Email
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "邮箱", required = true, example = "user@email.com")
|
||||
@NotBlank(message = "Email can not be blank")
|
||||
@Pattern(regexp = "^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*\$", message = "Illegal email address")
|
||||
val email: String?,
|
||||
|
||||
/**
|
||||
* List of role IDs
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "角色 ID 列表")
|
||||
val roleIds: List<Long>?,
|
||||
|
||||
/**
|
||||
* List of group IDs
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "用户组 ID 列表")
|
||||
val groupIds: List<Long>?
|
||||
)
|
||||
@@ -0,0 +1,45 @@
|
||||
package top.fatweb.oxygen.api.param.permission.user
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema
|
||||
import jakarta.validation.constraints.NotBlank
|
||||
import jakarta.validation.constraints.NotNull
|
||||
import java.time.LocalDateTime
|
||||
|
||||
/**
|
||||
* Update password of user parameters
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "用户更改密码请求参数")
|
||||
data class UserUpdatePasswordParam(
|
||||
/**
|
||||
* ID
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "用户 ID", required = true)
|
||||
@field:NotNull(message = "ID can not be null")
|
||||
val id: Long?,
|
||||
|
||||
/**
|
||||
* New password
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "新密码", required = true)
|
||||
@field:NotBlank(message = "Password can not be blank")
|
||||
val password: String?,
|
||||
|
||||
/**
|
||||
* 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?
|
||||
)
|
||||
@@ -0,0 +1,45 @@
|
||||
package top.fatweb.oxygen.api.param.system
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.EnumValue
|
||||
import com.fasterxml.jackson.annotation.JsonValue
|
||||
import io.swagger.v3.oas.annotations.media.Schema
|
||||
|
||||
/**
|
||||
* Get active information parameters
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
data class ActiveInfoGetParam(
|
||||
/**
|
||||
* Scope
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(
|
||||
description = "范围",
|
||||
allowableValues = ["WEAK", "MONTH", "QUARTER", "YEAR", "TWO_YEARS", "THREE_YEARS", "FIVE_YEARS", "ALL"],
|
||||
defaultValue = "WEAK",
|
||||
example = "WEAK"
|
||||
)
|
||||
val scope: Scope = Scope.WEAK
|
||||
) {
|
||||
enum class Scope(@field:EnumValue @field:JsonValue val code: String) {
|
||||
WEAK("WEAK"),
|
||||
|
||||
MONTH("MONTH"),
|
||||
|
||||
QUARTER("QUARTER"),
|
||||
|
||||
YEAR("YEAR"),
|
||||
|
||||
TWO_YEARS("TWO_YEARS"),
|
||||
|
||||
THREE_YEARS("THREE_YEARS"),
|
||||
|
||||
FIVE_YEARS("FIVE_YEARS"),
|
||||
|
||||
ALL("ALL")
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
package top.fatweb.oxygen.api.param.system
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema
|
||||
|
||||
/**
|
||||
* Base settings parameters
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "基础设置请求参数")
|
||||
data class BaseSettingsParam(
|
||||
/**
|
||||
* Application name
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "应用名称")
|
||||
val appName: String?,
|
||||
|
||||
/**
|
||||
* Application URL
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "应用 URL")
|
||||
val appUrl: String?,
|
||||
|
||||
/**
|
||||
* Verify URL
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "验证邮箱 URL")
|
||||
val verifyUrl: String?,
|
||||
|
||||
/**
|
||||
* Retrieve URL
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "找回密码 URL")
|
||||
val retrieveUrl: String?
|
||||
)
|
||||
@@ -0,0 +1,23 @@
|
||||
package top.fatweb.oxygen.api.param.system
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema
|
||||
import jakarta.validation.constraints.NotBlank
|
||||
|
||||
/**
|
||||
* Mail send parameters
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "邮件发送请求参数")
|
||||
data class MailSendParam(
|
||||
/**
|
||||
* Receiver
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "接收者", required = true, example = "user@email.com")
|
||||
@field:NotBlank
|
||||
val to: String?
|
||||
)
|
||||
@@ -0,0 +1,76 @@
|
||||
package top.fatweb.oxygen.api.param.system
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema
|
||||
import top.fatweb.oxygen.api.settings.MailSecurityType
|
||||
|
||||
/**
|
||||
* Mail settings parameters
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "邮件设置请求参数")
|
||||
data class MailSettingsParam(
|
||||
/**
|
||||
* Host
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "SMTP 服务器")
|
||||
val host: String?,
|
||||
|
||||
/**
|
||||
* Port
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "端口号")
|
||||
val port: Int?,
|
||||
|
||||
/**
|
||||
* Security type
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "安全类型", allowableValues = ["None", "SSL/TLS", "StartTls"], defaultValue = "None")
|
||||
val securityType: MailSecurityType? = MailSecurityType.NONE,
|
||||
|
||||
/**
|
||||
* Username
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "用户名")
|
||||
val username: String?,
|
||||
|
||||
/**
|
||||
* Password
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "密码")
|
||||
val password: String?,
|
||||
|
||||
/**
|
||||
* Sender
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "发送者")
|
||||
val from: String?,
|
||||
|
||||
/**
|
||||
* Sender name
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "发送者名称")
|
||||
val fromName: String?
|
||||
)
|
||||
@@ -0,0 +1,47 @@
|
||||
package top.fatweb.oxygen.api.param.system
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.EnumValue
|
||||
import com.fasterxml.jackson.annotation.JsonValue
|
||||
import io.swagger.v3.oas.annotations.media.Schema
|
||||
|
||||
/**
|
||||
* Get online information parameters
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
data class OnlineInfoGetParam(
|
||||
/**
|
||||
* Scope
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(
|
||||
description = "范围",
|
||||
allowableValues = ["WEAK", "MONTH", "QUARTER", "YEAR", "TWO_YEARS", "THREE_YEARS", "FIVE_YEARS", "ALL"],
|
||||
defaultValue = "WEAK",
|
||||
example = "WEAK"
|
||||
)
|
||||
val scope: Scope = Scope.WEAK
|
||||
) {
|
||||
enum class Scope(@field:EnumValue @field:JsonValue val code: String) {
|
||||
DAY("DAY"),
|
||||
|
||||
WEAK("WEAK"),
|
||||
|
||||
MONTH("MONTH"),
|
||||
|
||||
QUARTER("QUARTER"),
|
||||
|
||||
YEAR("YEAR"),
|
||||
|
||||
TWO_YEARS("TWO_YEARS"),
|
||||
|
||||
THREE_YEARS("THREE_YEARS"),
|
||||
|
||||
FIVE_YEARS("FIVE_YEARS"),
|
||||
|
||||
ALL("ALL")
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,80 @@
|
||||
package top.fatweb.oxygen.api.param.system
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema
|
||||
import org.springframework.format.annotation.DateTimeFormat
|
||||
import top.fatweb.oxygen.api.param.PageSortParam
|
||||
import java.time.LocalDateTime
|
||||
|
||||
/**
|
||||
* Get system log parameters
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
* @see PageSortParam
|
||||
*/
|
||||
@Schema(description = "获取系统日志请求参数")
|
||||
data class SysLogGetParam(
|
||||
/**
|
||||
* Log type
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "类型过滤(多个使用逗号分隔)", allowableValues = ["INFO", "ERROR"], example = "INFO")
|
||||
val logType: String?,
|
||||
|
||||
/**
|
||||
* Request method to filter
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(
|
||||
description = "请求方式过滤(多个使用逗号分隔)",
|
||||
allowableValues = ["GET", "POST", "PUT", "PATCH", "DELETE", "DELETE", "OPTIONS"],
|
||||
example = "GET,POST"
|
||||
)
|
||||
val requestMethod: String?,
|
||||
|
||||
/**
|
||||
* Request URL to search for
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Schema(description = "查询请求 Url")
|
||||
val searchRequestUrl: String?,
|
||||
|
||||
/**
|
||||
* Use regex
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
/*
|
||||
@Schema(description = "查询使用正则表达式", allowableValues = ["true", "false"], defaultValue = "false")
|
||||
val searchRegex: Boolean = false,
|
||||
*/
|
||||
|
||||
/**
|
||||
* Start time to search for
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
* @see LocalDateTime
|
||||
*/
|
||||
@Schema(description = "查询开始时间", example = "1900-01-01T00:00:00.000Z")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
|
||||
val searchStartTime: LocalDateTime?,
|
||||
|
||||
/**
|
||||
* End time to search for
|
||||
*
|
||||
* @author FatttSnake, fatttsnake@gmail.com
|
||||
* @since 1.0.0
|
||||
* @see LocalDateTime
|
||||
*/
|
||||
@Schema(description = "查询结束时间", example = "1900-01-01T00:00:00.000Z")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
|
||||
val searchEndTime: LocalDateTime?
|
||||
) : PageSortParam()
|
||||
Reference in New Issue
Block a user