You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
952 B
39 lines
952 B
import { Logger } from "log4js"
|
|
import { Server } from "@hapi/hapi"
|
|
import { Request, ResponseToolkit, Lifecycle } from "@hapi/hapi"
|
|
import { TUserModel } from "@/models/user"
|
|
import yar from "@hapi/yar"
|
|
import { TUserInfoModel } from "@/models/user_info"
|
|
|
|
declare global {
|
|
var server: Server
|
|
var logger: Logger
|
|
var loggerSite: Logger
|
|
var loggerSQL: Logger
|
|
}
|
|
|
|
interface Models {
|
|
user: TUserModel
|
|
user_info: TUserInfoModel
|
|
}
|
|
|
|
declare module "sequelize" {
|
|
namespace Model {
|
|
export let associate: (models: Models) => void
|
|
}
|
|
}
|
|
|
|
declare module "@hapi/hapi" {
|
|
interface Request {
|
|
getModel<T extends keyof Models, M extends Models[T]>(name: T): M
|
|
yar: yar.Yar
|
|
}
|
|
interface Server {
|
|
yar: yar.ServerYar
|
|
}
|
|
interface ResponseToolkit {}
|
|
}
|
|
|
|
export declare type Req = Request
|
|
export declare type Res = ResponseToolkit
|
|
export declare type ReturnValue = Promise<Lifecycle.ReturnValue>
|
|
|