| /* |
| ============LICENSE_START========================================== |
| =================================================================== |
| Copyright (C) 2018-19 IBM Intellectual Property. All rights reserved. |
| =================================================================== |
| |
| Unless otherwise specified, all software contained herein is licensed |
| under the Apache License, Version 2.0 (the License); |
| you may not use this software except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| ============LICENSE_END============================================ |
| */ |
| |
| 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 * as path from 'path'; |
| import { MySequence } from './sequence'; |
| |
| export class CdsUiServerApplication 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.bind(RestExplorerBindings.CONFIG).to({ |
| path: '/explorer', |
| }); |
| this.component(RestExplorerComponent); |
| |
| this.projectRoot = __dirname; |
| // Customize @loopback/boot Booter Conventions here |
| this.bootOptions = { |
| controllers: { |
| // Customize ControllerBooter Conventions here |
| dirs: ['controllers'], |
| extensions: ['.controller.js'], |
| nested: true, |
| }, |
| }; |
| } |
| } |