| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- import { Configuration, Inject } from '@tsed/di';
- import { PlatformApplication } from '@tsed/common';
- import '@tsed/platform-express'; // /!\ keep this import
- import bodyParser from 'body-parser';
- import compress from 'compression';
- import cookieParser from 'cookie-parser';
- import methodOverride from 'method-override';
- import '@tsed/swagger';
- import '@tsed/typeorm';
- import { ConnectionOptions } from 'typeorm';
- export const rootDir = __dirname;
- const connectionOptions: ConnectionOptions = {
- type: process.env.TYPEORM_CONNECTION,
- database: process.env.TYPEORM_DATABASE,
- } as ConnectionOptions;
- @Configuration({
- rootDir,
- acceptMimes: ['application/json'],
- httpPort: process.env.PORT || 8080,
- httpsPort: false, // CHANGE
- mount: {
- '/': [
- `${rootDir}/controllers/*.ts`,
- `${rootDir}/middlewares/*.ts`,
- ],
- },
- typeorm: [
- {
- ...connectionOptions,
- entities: [
- `${__dirname}/entity/*{.ts,.js}`,
- ],
- migrations: [
- `${__dirname}/migrations/*{.ts,.js}`,
- ],
- subscribers: [
- `${__dirname}/subscriber/*{.ts,.js}`,
- ],
- } as ConnectionOptions,
- ],
- swagger: [
- {
- path: '/docs',
- specVersion: '3.0.1',
- },
- ],
- exclude: [
- '**/*.spec.ts',
- ],
- })
- export class Server {
- @Inject()
- app: PlatformApplication;
- @Configuration()
- settings: Configuration;
- $beforeRoutesInit(): void {
- this.app
- .use(cookieParser())
- .use(compress({}))
- .use(methodOverride())
- .use(bodyParser.json())
- .use(bodyParser.urlencoded({
- extended: true,
- }));
- }
- }
|