loopback-datasource-juggler/examples/load-schemas.js

40 lines
1.0 KiB
JavaScript
Raw Normal View History

2016-04-06 14:51:49 +00:00
// Copyright IBM Corp. 2013,2016. All Rights Reserved.
// Node module: loopback-datasource-juggler
// This file is licensed under the MIT License.
// License text available at https://opensource.org/licenses/MIT
2016-10-19 21:35:26 +00:00
'use strict';
2016-04-06 14:51:49 +00:00
2013-05-24 05:20:20 +00:00
var path = require('path'),
2014-01-24 17:09:53 +00:00
fs = require('fs'),
DataSource = require('../lib/datasource').DataSource;
2013-05-24 05:20:20 +00:00
/**
2013-07-22 20:48:28 +00:00
* Load LDL schemas from a json doc
* @param schemaFile The dataSource json file
2013-05-24 05:20:20 +00:00
* @returns A map of schemas keyed by name
*/
function loadSchemasSync(schemaFile, dataSource) {
2014-01-24 17:09:53 +00:00
// Set up the data source
if (!dataSource) {
dataSource = new DataSource('memory');
}
2014-01-24 17:09:53 +00:00
// Read the dataSource JSON file
var schemas = JSON.parse(fs.readFileSync(schemaFile));
2013-05-24 05:20:20 +00:00
2014-01-24 17:09:53 +00:00
return dataSource.buildModels(schemas);
2013-05-24 05:20:20 +00:00
}
var models = loadSchemasSync(path.join(__dirname, 'jdb-schemas.json'));
for (var s in models) {
2014-01-24 17:09:53 +00:00
var m = models[s];
console.log(m.modelName, new m());
}
models = loadSchemasSync(path.join(__dirname, 'schemas.json'));
for (var s in models) {
2014-01-24 17:09:53 +00:00
var m = models[s];
console.log(m.modelName, new m());
}