morleydev-hapi-core
TypeScript icon, indicating that this package has built-in type declarations

1.0.2 • Public • Published

Basic Example

import "core-js";
 
import { Provider } from "injection-js";
import { Application } from "morleydev-hapi-core/Application";
import { Configuration } from "morleydev-hapi-core/Configuration";
import { IStartup } from "morleydev-hapi-core/IStartup";
import { addControllers } from "morleydev-hapi-core/server/addControllers";
import { Controller } from "morleydev-hapi-core/server/controller";
import { HttpGet } from "morleydev-hapi-core/server/decorators/method.decorator";
import { Route } from "morleydev-hapi-core/server/decorators/route.decorator";
import { Request, Response } from "morleydev-hapi-core/server/route.model";
import { LoggerOptions, transports } from "winston";
 
export class HomeController extends Controller {
    @Route("/")
    @HttpGet()
    public async home(request: Request): Promise<Response> {
        return this.ok({ });
    }
}
 
class Startup implements IStartup {
    constructor(private config: Configuration) {
    }
 
    public configureServices(providers: Provider[]): Provider[] {
        return providers;
    }
 
    public configureControllers(controllers: (typeof Controller)[]): (typeof Controller)[] {
        return controllers.concat([ HomeController ]).concat( addControllers(__dirname + "/controllers") );
    }
 
    public configureLogger(): LoggerOptions {
        return {
            level: "info",
            transports: [
                new (transports.Console)()
            ]
        };
    }
}
 
const app = new Application(Startup);
app.run()
    .then(() => { })
    .catch(err => console.error(err));

/morleydev-hapi-core/

    Package Sidebar

    Install

    npm i morleydev-hapi-core

    Weekly Downloads

    0

    Version

    1.0.2

    License

    ISC

    Last publish

    Collaborators

    • morleydev