|
|
@ -12,6 +12,7 @@ import * as bcrypt from "bcrypt"; |
|
|
|
import * as jwt from "jsonwebtoken"; |
|
|
|
import * as Joi from "joi"; |
|
|
|
import { UserSchema } from "@/schema"; |
|
|
|
import { ReturnValue, Req, Res } from "#/global"; |
|
|
|
|
|
|
|
export default class { |
|
|
|
@validate({ |
|
|
@ -20,8 +21,8 @@ export default class { |
|
|
|
@method("POST") |
|
|
|
@swagger("用户注册", "返回注册用户的信息", ["api"]) |
|
|
|
@auth(false) |
|
|
|
async register(request, h) { |
|
|
|
let { username, password, email } = request.payload; |
|
|
|
async register(request: Req, h: Res): ReturnValue { |
|
|
|
let { username, password, email } = request.payload as any; |
|
|
|
if (!username) username = email; |
|
|
|
logger.trace(username, email); |
|
|
|
try { |
|
|
@ -39,7 +40,7 @@ export default class { |
|
|
|
} |
|
|
|
|
|
|
|
@method("POST") |
|
|
|
async logout(request, h) { |
|
|
|
async logout(request: Req, h: Res): ReturnValue { |
|
|
|
request.cookieAuth.clear(); |
|
|
|
return gSuccess("success"); |
|
|
|
} |
|
|
@ -53,8 +54,8 @@ export default class { |
|
|
|
@auth(false) |
|
|
|
@method("POST") |
|
|
|
@swagger("用户登录", "返回注册用户的信息", ["api"]) |
|
|
|
async login(request, h) { |
|
|
|
let { username, password } = request.payload; |
|
|
|
async login(request: Req, h: Res): ReturnValue { |
|
|
|
let { username, password } = request.payload as any; |
|
|
|
const result = <any>await User.findOne({ where: { username: username } }); |
|
|
|
if (result == null) { |
|
|
|
return gFail(null, "不存在该用户"); |
|
|
@ -76,7 +77,7 @@ export default class { |
|
|
|
@method("DELETE") |
|
|
|
@auth() |
|
|
|
@swagger("删除用户", "删除用户账号", ["sum"]) |
|
|
|
async del(request, h) { |
|
|
|
async del(request: Req, h: Res): ReturnValue { |
|
|
|
const { id } = request.auth.credentials; |
|
|
|
let result = await User.findOne({ where: { id: id } }); |
|
|
|
if (result == null) { |
|
|
@ -93,7 +94,7 @@ export default class { |
|
|
|
}).unknown(), // 注意加上这个
|
|
|
|
}) |
|
|
|
@swagger("获取用户信息", "返回注册用户的信息", ["用户操作", "api"]) |
|
|
|
async userinfo(request, h) { |
|
|
|
async userinfo(request: Req, h: Res): ReturnValue { |
|
|
|
console.log(request); |
|
|
|
const { id } = request.auth.credentials; |
|
|
|
|
|
|
|