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.
41 lines
1.0 KiB
41 lines
1.0 KiB
import { Logger } from "log4js"
|
|
import { Server } from "@hapi/hapi"
|
|
import { Request, ResponseToolkit, Lifecycle } from "@hapi/hapi"
|
|
import { TUserModel } from "@/models/user"
|
|
import { TColorModel } from "@/models/color"
|
|
import yar from "@hapi/yar"
|
|
import { TAttachmentModel } from "@/models/Attachment"
|
|
|
|
declare global {
|
|
var server: Server
|
|
var logger: Logger
|
|
var loggerSite: Logger
|
|
var loggerSQL: Logger
|
|
}
|
|
|
|
interface Models {
|
|
user: TUserModel
|
|
color: TColorModel
|
|
attachment: TAttachmentModel
|
|
}
|
|
|
|
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>
|
|
|