'use strict'
/*************************************************************************
 *
 * Troven CONFIDENTIAL
 * __________________
 *
 *  (c) 2017-2020 Troven Pty Ltd
 *  All Rights Reserved.
 *
 * NOTICE:  All information contained herein is, and remains
 * the property of Troven Pty Ltd and its licensors,
 * if any.  The intellectual and technical concepts contained
 * herein are proprietary to Troven Pty Ltd
 * and its suppliers and may be covered by International and Regional Patents,
 * patents in process, and are protected by trade secret or copyright law.
 * Dissemination of this information or reproduction of this material
 * is strictly forbidden unless prior written permission is obtained
 * from Troven Pty Ltd.
 */

// Load Chassis and the runtime configuration
import { Chassis  } from "api-service-core";
import { default_features } from "api-service-common";
import { MarkdownPlugin} from "./plugins/";
const config = require("config");

// configure a new chassis
let chassis = new Chassis(config, default_features);

// register our custom plugins
chassis.registerPlugin( new MarkdownPlugin() );
// chassis.registerPlugin( new KeycloakPlugin() );
// chassis.registerPlugin( new LocalDB() );

// // register our custom middleware
// chassis.registerFn( new PlantUML() );
// chassis.registerFn( new Markdown() );

// start the Chassis ...
chassis.start();

// requests are now served - events emitted, logs and audit trails are generated
