1 | ;
|
2 |
|
3 | var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };
|
4 |
|
5 | Object.defineProperty(exports, "__esModule", {
|
6 | value: true
|
7 | });
|
8 |
|
9 | require("babel/polyfill");
|
10 |
|
11 | var _fs = require("fs");
|
12 |
|
13 | var _fs2 = _interopRequireWildcard(_fs);
|
14 |
|
15 | var _path = require("path");
|
16 |
|
17 | var _path2 = _interopRequireWildcard(_path);
|
18 |
|
19 | var _Knex = require("knex");
|
20 |
|
21 | var _Knex2 = _interopRequireWildcard(_Knex);
|
22 |
|
23 | var _Bookshelf = require("bookshelf");
|
24 |
|
25 | var _Bookshelf2 = _interopRequireWildcard(_Bookshelf);
|
26 |
|
27 | var _utils = require("../utils");
|
28 |
|
29 | var _utils2 = _interopRequireWildcard(_utils);
|
30 |
|
31 | var _defaultConfig = require("../config/bookshelf");
|
32 |
|
33 | var _defaultConfig2 = _interopRequireWildcard(_defaultConfig);
|
34 |
|
35 | ;
|
36 |
|
37 | exports["default"] = {
|
38 | loadPriority: 1000,
|
39 | startPriority: 1000,
|
40 | stopPriority: 1000,
|
41 |
|
42 | initialize: function initialize(api, next) {
|
43 | var basefiles, config, files, loadFile, regex;
|
44 |
|
45 | // namespace
|
46 | api.models = {};
|
47 | api.bookshelf = {};
|
48 |
|
49 | if (_defaultConfig2["default"][api.env]) {
|
50 | api.config.bookshelf = api.utils.hashMerge(_defaultConfig2["default"][api.env].bookshelf(api), api.config.bookshelf);
|
51 | } else {
|
52 | api.config.bookshelf = api.utils.hashMerge(_defaultConfig2["default"]["default"].bookshelf(api), api.config.bookshelf);
|
53 | }
|
54 |
|
55 | config = api.config.bookshelf;
|
56 |
|
57 | // 初期化
|
58 | api.bookshelf = _Bookshelf2["default"].initialize(_Knex2["default"](config));
|
59 |
|
60 | // モデルファイル読み込みとファイル変更の監視
|
61 | loadFile = function (file) {
|
62 | api.log("model loaded: " + file, "debug");
|
63 | delete require.cache[require.resolve(file)];
|
64 |
|
65 | // NOTE: es6.models は動的読み込みに対応していない
|
66 | require(file)(api);
|
67 |
|
68 | api.watchFileAndAct(file, function () {
|
69 | api.log("\r\n\r\n*** rebooting due to model change (" + file + ") ***\r\n\r\n", "info");
|
70 | return api.commands.restart.call(api._self);
|
71 | });
|
72 | };
|
73 |
|
74 | // モデルディレクトリのファイル一覧取得
|
75 | files = _fs2["default"].readdirSync(config.models.directory);
|
76 | files = files.filter(function (file) {
|
77 | return file.indexOf(".") !== 0;
|
78 | });
|
79 | files = files.map(function (file) {
|
80 | return _path2["default"].resolve(config.models.directory, file);
|
81 | });
|
82 |
|
83 | // ベースファイルの読み込み
|
84 | regex = /\/base\./;
|
85 | basefiles = files.filter(function (file) {
|
86 | return regex.test(file);
|
87 | });
|
88 | basefiles.forEach(function (file) {
|
89 | return loadFile(file);
|
90 | });
|
91 | files = files.filter(function (file) {
|
92 | return !regex.test(file);
|
93 | });
|
94 | files.forEach(function (file) {
|
95 | return loadFile(file);
|
96 | });
|
97 |
|
98 | // ユーティリティー読み込み
|
99 | api.bookshelf.utils = _utils2["default"](api);
|
100 |
|
101 | return next();
|
102 | },
|
103 |
|
104 | start: function start(api, next) {
|
105 | return next();
|
106 | },
|
107 |
|
108 | stop: function stop(api, next) {
|
109 | return api.bookshelf.knex.destroy(next);
|
110 | }
|
111 | };
|
112 | module.exports = exports["default"];
|
113 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluaXRpYWxpemVycy9ib29rc2hlbGYuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7UUFFTyxnQkFBZ0I7O2tCQUNSLElBQUk7Ozs7b0JBQ0YsTUFBTTs7OztvQkFDTixNQUFNOzs7O3lCQUNELFdBQVc7Ozs7cUJBQ2YsVUFBVTs7Ozs2QkFDRixxQkFBcUI7Ozs7QUFSL0MsWUFBWSxDQUFDOztxQkFVRTtBQUNiLGNBQVksRUFBRyxJQUFJO0FBQ25CLGVBQWEsRUFBRSxJQUFJO0FBQ25CLGNBQVksRUFBRyxJQUFJOztBQUVuQixZQUFVLEVBQUUsb0JBQVMsR0FBRyxFQUFFLElBQUksRUFBRTtBQUM5QixRQUFJLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUM7OztBQUc5QyxPQUFHLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztBQUNoQixPQUFHLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQzs7QUFFbkIsUUFBSSwyQkFBYyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7QUFDMUIsU0FBRyxDQUFDLE1BQU0sQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsMkJBQWMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0tBQ3pHLE1BQ0k7QUFDSCxTQUFHLENBQUMsTUFBTSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxxQ0FBcUIsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztLQUN4Rzs7QUFFRCxVQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7OztBQUc5QixPQUFHLENBQUMsU0FBUyxHQUFHLHVCQUFVLFVBQVUsQ0FBQyxrQkFBSyxNQUFNLENBQUMsQ0FBQyxDQUFDOzs7QUFHbkQsWUFBUSxHQUFHLFVBQVMsSUFBSSxFQUFFO0FBQ3hCLFNBQUcsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQzFDLGFBQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7OztBQUc1QyxBQUFDLGFBQU8sQ0FBQyxJQUFJLENBQUMsQ0FBRSxHQUFHLENBQUMsQ0FBQzs7QUFFckIsU0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsWUFBVztBQUNuQyxXQUFHLENBQUMsR0FBRyxDQUFDLDZDQUE2QyxHQUFHLElBQUksR0FBRyxlQUFlLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDeEYsZUFBTyxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO09BQzdDLENBQUMsQ0FBQztLQUNKLENBQUM7OztBQUdGLFNBQUssR0FBRyxnQkFBRyxXQUFXLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUNoRCxTQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBRSxVQUFDLElBQUk7YUFBSyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7S0FBQSxDQUFFLENBQUM7QUFDMUQsU0FBSyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUUsVUFBQyxJQUFJO2FBQUssa0JBQUssT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQztLQUFBLENBQUUsQ0FBQzs7O0FBRzNFLFNBQUssR0FBRyxVQUFVLENBQUM7QUFDbkIsYUFBUyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUUsVUFBQyxJQUFJO2FBQUssS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7S0FBQSxDQUFFLENBQUM7QUFDdkQsYUFBUyxDQUFDLE9BQU8sQ0FBRSxVQUFDLElBQUk7YUFBSyxRQUFRLENBQUMsSUFBSSxDQUFDO0tBQUEsQ0FBRSxDQUFDO0FBQzlDLFNBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFFLFVBQUMsSUFBSTthQUFLLENBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQUFBQztLQUFBLENBQUUsQ0FBQztBQUN0RCxTQUFLLENBQUMsT0FBTyxDQUFFLFVBQUMsSUFBSTthQUFLLFFBQVEsQ0FBQyxJQUFJLENBQUM7S0FBQSxDQUFFLENBQUM7OztBQUcxQyxPQUFHLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxtQkFBTSxHQUFHLENBQUMsQ0FBQzs7QUFFakMsV0FBTyxJQUFJLEVBQUUsQ0FBQztHQUNmOztBQUVELE9BQUssRUFBRSxlQUFTLEdBQUcsRUFBRSxJQUFJLEVBQUU7QUFDekIsV0FBTyxJQUFJLEVBQUUsQ0FBQztHQUNmOztBQUVELE1BQUksRUFBRSxjQUFTLEdBQUcsRUFBRSxJQUFJLEVBQUU7QUFDeEIsV0FBTyxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7R0FDekM7Q0FDRiIsImZpbGUiOiJpbml0aWFsaXplcnMvYm9va3NoZWxmLmpzIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBcImJhYmVsL3BvbHlmaWxsXCI7XG5pbXBvcnQgZnMgZnJvbSBcImZzXCI7XG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IEtuZXggZnJvbSBcImtuZXhcIjtcbmltcG9ydCBCb29rc2hlbGYgZnJvbSBcImJvb2tzaGVsZlwiO1xuaW1wb3J0IHV0aWxzIGZyb20gXCIuLi91dGlsc1wiO1xuaW1wb3J0IGRlZmF1bHRDb25maWcgZnJvbSBcIi4uL2NvbmZpZy9ib29rc2hlbGZcIjtcblxuZXhwb3J0IGRlZmF1bHQge1xuICBsb2FkUHJpb3JpdHk6ICAxMDAwLFxuICBzdGFydFByaW9yaXR5OiAxMDAwLFxuICBzdG9wUHJpb3JpdHk6ICAxMDAwLFxuXG4gIGluaXRpYWxpemU6IGZ1bmN0aW9uKGFwaSwgbmV4dCkge1xuICAgIHZhciBiYXNlZmlsZXMsIGNvbmZpZywgZmlsZXMsIGxvYWRGaWxlLCByZWdleDtcblxuICAgIC8vIG5hbWVzcGFjZVxuICAgIGFwaS5tb2RlbHMgPSB7fTtcbiAgICBhcGkuYm9va3NoZWxmID0ge307XG5cbiAgICBpZiAoZGVmYXVsdENvbmZpZ1thcGkuZW52XSkge1xuICAgICAgYXBpLmNvbmZpZy5ib29rc2hlbGYgPSBhcGkudXRpbHMuaGFzaE1lcmdlKGRlZmF1bHRDb25maWdbYXBpLmVudl0uYm9va3NoZWxmKGFwaSksIGFwaS5jb25maWcuYm9va3NoZWxmKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICBhcGkuY29uZmlnLmJvb2tzaGVsZiA9IGFwaS51dGlscy5oYXNoTWVyZ2UoZGVmYXVsdENvbmZpZy5kZWZhdWx0LmJvb2tzaGVsZihhcGkpLCBhcGkuY29uZmlnLmJvb2tzaGVsZik7XG4gICAgfVxuXG4gICAgY29uZmlnID0gYXBpLmNvbmZpZy5ib29rc2hlbGY7XG5cbiAgICAvLyDliJ3mnJ/ljJZcbiAgICBhcGkuYm9va3NoZWxmID0gQm9va3NoZWxmLmluaXRpYWxpemUoS25leChjb25maWcpKTtcblxuICAgIC8vIOODouODh+ODq+ODleOCoeOCpOODq+iqreOBv+i+vOOBv+OBqOODleOCoeOCpOODq+WkieabtOOBruebo+imllxuICAgIGxvYWRGaWxlID0gZnVuY3Rpb24oZmlsZSkge1xuICAgICAgYXBpLmxvZyhcIm1vZGVsIGxvYWRlZDogXCIgKyBmaWxlLCBcImRlYnVnXCIpO1xuICAgICAgZGVsZXRlIHJlcXVpcmUuY2FjaGVbcmVxdWlyZS5yZXNvbHZlKGZpbGUpXTtcblxuICAgICAgLy8gTk9URTogZXM2Lm1vZGVscyDjga/li5XnmoToqq3jgb/ovrzjgb/jgavlr77lv5zjgZfjgabjgYTjgarjgYRcbiAgICAgIChyZXF1aXJlKGZpbGUpKShhcGkpO1xuXG4gICAgICBhcGkud2F0Y2hGaWxlQW5kQWN0KGZpbGUsIGZ1bmN0aW9uKCkge1xuICAgICAgICBhcGkubG9nKFwiXFxyXFxuXFxyXFxuKioqIHJlYm9vdGluZyBkdWUgdG8gbW9kZWwgY2hhbmdlIChcIiArIGZpbGUgKyBcIikgKioqXFxyXFxuXFxyXFxuXCIsIFwiaW5mb1wiKTtcbiAgICAgICAgcmV0dXJuIGFwaS5jb21tYW5kcy5yZXN0YXJ0LmNhbGwoYXBpLl9zZWxmKTtcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICAvLyDjg6Ljg4fjg6vjg4fjgqPjg6zjgq/jg4jjg6rjga7jg5XjgqHjgqTjg6vkuIDopqflj5blvpdcbiAgICBmaWxlcyA9IGZzLnJlYWRkaXJTeW5jKGNvbmZpZy5tb2RlbHMuZGlyZWN0b3J5KTtcbiAgICBmaWxlcyA9IGZpbGVzLmZpbHRlciggKGZpbGUpID0+IGZpbGUuaW5kZXhPZihcIi5cIikgIT09IDAgKTtcbiAgICBmaWxlcyA9IGZpbGVzLm1hcCggKGZpbGUpID0+IHBhdGgucmVzb2x2ZShjb25maWcubW9kZWxzLmRpcmVjdG9yeSwgZmlsZSkgKTtcblxuICAgIC8vIOODmeODvOOCueODleOCoeOCpOODq+OBruiqreOBv+i+vOOBv1xuICAgIHJlZ2V4ID0gL1xcL2Jhc2VcXC4vO1xuICAgIGJhc2VmaWxlcyA9IGZpbGVzLmZpbHRlciggKGZpbGUpID0+IHJlZ2V4LnRlc3QoZmlsZSkgKTtcbiAgICBiYXNlZmlsZXMuZm9yRWFjaCggKGZpbGUpID0+IGxvYWRGaWxlKGZpbGUpICk7XG4gICAgZmlsZXMgPSBmaWxlcy5maWx0ZXIoIChmaWxlKSA9PiAhKHJlZ2V4LnRlc3QoZmlsZSkpICk7XG4gICAgZmlsZXMuZm9yRWFjaCggKGZpbGUpID0+IGxvYWRGaWxlKGZpbGUpICk7XG5cbiAgICAvLyDjg6bjg7zjg4bjgqPjg6rjg4bjgqPjg7zoqq3jgb/ovrzjgb9cbiAgICBhcGkuYm9va3NoZWxmLnV0aWxzID0gdXRpbHMoYXBpKTtcblxuICAgIHJldHVybiBuZXh0KCk7XG4gIH0sXG5cbiAgc3RhcnQ6IGZ1bmN0aW9uKGFwaSwgbmV4dCkge1xuICAgIHJldHVybiBuZXh0KCk7XG4gIH0sXG5cbiAgc3RvcDogZnVuY3Rpb24oYXBpLCBuZXh0KSB7XG4gICAgcmV0dXJuIGFwaS5ib29rc2hlbGYua25leC5kZXN0cm95KG5leHQpO1xuICB9XG59O1xuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 |
\ | No newline at end of file |