Browse Source

增加类型

dev
1549469775 3 years ago
parent
commit
4d9f26e93e
  1. 15
      source/route/api/user/index.ts
  2. 6
      source/route/index/index.ts
  3. 7
      types/global.d.ts

15
source/route/api/user/index.ts

@ -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;

6
source/route/index/index.ts

@ -6,7 +6,7 @@ import {
swagger,
validate,
} from "@noderun/hapi-router";
import { PromiseReturnValue, Req, Res, ReturnValue } from "#/global";
import { Req, Res, ReturnValue } from "#/global";
import UploadFunc from "../demo/_upload";
import Joi from "joi";
import User from "@/model/User";
@ -19,7 +19,7 @@ export default class Index{
mode: "try",
},
})
index(request: Req, h: Res): ReturnValue {
async index(request: Req, h: Res): ReturnValue {
console.log(request.auth.isAuthenticated);
// console.log(request.auth);
// if (request.isAuthenticated) {
@ -38,7 +38,7 @@ export default class Index{
@method("POST")
@auth(false)
@route("/login")
async login(request: Req, h: Res): PromiseReturnValue {
async login(request: Req, h: Res): ReturnValue {
const { username, password } = request.payload as any;
const account = <any>await User.findOne({ where: { username: username } });

7
types/global.d.ts

@ -1,6 +1,7 @@
import { Logger } from "log4js";
import { Server } from "@hapi/hapi";
import { Request, ResponseToolkit, Lifecycle } from "@hapi/hapi";
import { Model, ModelCtor } from "Sequelize";
declare global {
var server: Server;
@ -10,6 +11,9 @@ declare global {
}
declare module '@hapi/hapi' {
interface Request {
getModel(name: string): ModelCtor<Model<any, any>>
}
interface ResponseToolkit {
}
@ -17,5 +21,4 @@ declare module '@hapi/hapi' {
export declare type Req = Request
export declare type Res = ResponseToolkit
export declare type ReturnValue = Lifecycle.ReturnValue
export declare type PromiseReturnValue = Promise<Lifecycle.ReturnValue>
export declare type ReturnValue = Promise<Lifecycle.ReturnValue>
Loading…
Cancel
Save