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
950 B
39 lines
950 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/UserInfo"
|
|
|
|
declare global {
|
|
var server: Server
|
|
var logger: Logger
|
|
var loggerSite: Logger
|
|
var loggerSQL: Logger
|
|
}
|
|
|
|
interface Models {
|
|
User: TUserModel
|
|
UserInfo: 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>
|
|
|