52 lines
1.6 KiB
TypeScript
52 lines
1.6 KiB
TypeScript
import {BootMixin} from '@loopback/boot';
|
|
import {ApplicationConfig} from '@loopback/core';
|
|
import {
|
|
RestExplorerBindings,
|
|
RestExplorerComponent,
|
|
} from '@loopback/rest-explorer';
|
|
import {RepositoryMixin} from '@loopback/repository';
|
|
import {RestApplication} from '@loopback/rest';
|
|
import {ServiceMixin} from '@loopback/service-proxy';
|
|
import path from 'path';
|
|
import {MySequence} from './sequence';
|
|
import {AuthenticationComponent} from '@loopback/authentication';
|
|
import {JWTAuthenticationComponent, UserServiceBindings} from '@loopback/authentication-jwt';
|
|
import {SzakdolgozatUserService} from './services';
|
|
|
|
export {ApplicationConfig};
|
|
|
|
export class SzakdolgozatBackendApplication extends BootMixin(
|
|
ServiceMixin(RepositoryMixin(RestApplication)),
|
|
) {
|
|
constructor(options: ApplicationConfig = {}) {
|
|
super(options);
|
|
|
|
// Set up the custom sequence
|
|
this.sequence(MySequence);
|
|
|
|
// Set up default home page
|
|
this.static('/', path.join(__dirname, '../public'));
|
|
|
|
// Customize @loopback/rest-explorer configuration here
|
|
this.configure(RestExplorerBindings.COMPONENT).to({
|
|
path: '/explorer',
|
|
});
|
|
this.component(RestExplorerComponent);
|
|
|
|
// Authentication
|
|
this.component(AuthenticationComponent);
|
|
this.component(JWTAuthenticationComponent);
|
|
this.service(SzakdolgozatUserService, UserServiceBindings.USER_SERVICE);
|
|
|
|
this.projectRoot = __dirname;
|
|
// Customize @loopback/boot Booter Conventions here
|
|
this.bootOptions = {
|
|
controllers: {
|
|
// Customize ControllerBooter Conventions here
|
|
dirs: ['controllers'],
|
|
extensions: ['.controller.js'],
|
|
nested: true,
|
|
},
|
|
};
|
|
}
|
|
}
|