UNPKG

@universis/dining

Version:

Universis api for dining

36 lines (31 loc) 1.06 kB
import {FileSchemaLoaderStrategy} from "@themost/data"; import path from 'path'; /** * A schema loader for loading extra data models */ export class DiningSchemaLoader extends FileSchemaLoaderStrategy { /** * @param {ConfigurationBase} config */ constructor(config) { super(config); // set model path this.setModelPath(path.resolve(__dirname, 'config/models')); } getModelDefinition(name) { const model = super.getModelDefinition.bind(this)(name); if (model) { if (Array.isArray(model.eventListeners) ) { model.eventListeners.forEach(eventListener => { if (eventListener.type.indexOf('.') === 0) { eventListener.type = path.resolve(__dirname, eventListener.type); } }); } if (model.classPath && model.classPath.indexOf('.')===0) { model.classPath= path.resolve(__dirname, model.classPath); } } return model; } }