105 lines
2.4 KiB
Kotlin
105 lines
2.4 KiB
Kotlin
package top.fatweb.api.service.permission
|
|
|
|
import jakarta.servlet.http.HttpServletRequest
|
|
import top.fatweb.api.entity.permission.User
|
|
import top.fatweb.api.param.permission.*
|
|
import top.fatweb.api.vo.permission.LoginVo
|
|
import top.fatweb.api.vo.permission.RegisterVo
|
|
import top.fatweb.api.vo.permission.TokenVo
|
|
|
|
/**
|
|
* Authentication service interface
|
|
*
|
|
* @author FatttSnake, fatttsnake@gmail.com
|
|
* @since 1.0.0
|
|
*/
|
|
interface IAuthenticationService {
|
|
/**
|
|
* Register
|
|
*
|
|
* @param registerParam Register parameters
|
|
* @return RegisterVo object
|
|
* @author FatttSnake, fatttsnake@gmail.com
|
|
* @since 1.0.0
|
|
* @see RegisterParam
|
|
* @see RegisterVo
|
|
*/
|
|
fun register(registerParam: RegisterParam): RegisterVo
|
|
|
|
/**
|
|
* Send verify email
|
|
*
|
|
* @author FatttSnake, fatttsnake@gmail.com
|
|
* @since 1.0.0
|
|
*/
|
|
fun resend()
|
|
|
|
/**
|
|
* Verify email
|
|
*
|
|
* @param verifyParam Verify parameters
|
|
* @author FatttSnake, fatttsnake@gmail.com
|
|
* @since 1.0.0
|
|
* @see VerifyParam
|
|
*/
|
|
fun verify(verifyParam: VerifyParam)
|
|
|
|
/**
|
|
* Forget password
|
|
*
|
|
* @param request
|
|
* @param forgetParam Forget parameters
|
|
* @author FatttSnake, fatttsnake@gmail.com
|
|
* @since 1.0.0
|
|
* @see HttpServletRequest
|
|
* @see ForgetParam
|
|
*/
|
|
fun forget(request: HttpServletRequest, forgetParam: ForgetParam)
|
|
|
|
/**
|
|
* Retrieve password
|
|
*
|
|
* @param request
|
|
* @param retrieveParam Retrieve parameters
|
|
* @author FatttSnake, fatttsnake@gmail.com
|
|
* @since 1.0.0
|
|
* @see HttpServletRequest
|
|
* @see RetrieveParam
|
|
*/
|
|
fun retrieve(request: HttpServletRequest, retrieveParam: RetrieveParam)
|
|
|
|
/**
|
|
* Login
|
|
*
|
|
* @param request
|
|
* @param loginParam Login parameters
|
|
* @return LoginVo object
|
|
* @author FatttSnake, fatttsnake@gmail.com
|
|
* @since 1.0.0
|
|
* @see HttpServletRequest
|
|
* @see User
|
|
* @see LoginVo
|
|
*/
|
|
fun login(request: HttpServletRequest, loginParam: LoginParam): LoginVo
|
|
|
|
/**
|
|
* Logout
|
|
*
|
|
* @param token Token
|
|
* @return Logout result
|
|
* @author FatttSnake, fatttsnake@gmail.com
|
|
* @since 1.0.0
|
|
*/
|
|
fun logout(token: String): Boolean
|
|
|
|
/**
|
|
* Renew token
|
|
*
|
|
* @param token Token
|
|
* @return TokenVo object
|
|
* @author FatttSnake, fatttsnake@gmail.com
|
|
* @since 1.0.0
|
|
* @see TokenVo
|
|
*/
|
|
fun renewToken(token: String): TokenVo
|
|
} |