const zephyr = require('commander');
const chalk = require('chalk');
const cp = require('child_process').spawn;
+const fs = require('fs');
zephyr
.usage('[action]')
-process.env.NODE_ENV = 'production';
-process.env.ZEPHYR_MODE = 'DEBUG';
+process.env.NODE_ENV = 'debug';
const npm = cp('node', ['--harmony', process.env.ZEPHYR_HOME + '/server/app/']);
npm.stdout.on('data', function (data) {
DB()
.then(function(db) {
var form = new formidable.IncomingForm();
- form.uploadDir = __dirname + '/../../../../user-specific-files/workspace';
+ if(process.env['NODE_ENV'] === 'debug') {
+ form.uploadDir = __dirname + '/../../../../user-specific-files/workspace.debug';
+ } else {
+ form.uploadDir = __dirname + '/../../../../user-specific-files/workspace';
+ }
form.parse(req, function(err, fields, files) {
var parentDirectory = fields['parentDirectory'];
var server = app.listen(config.port, config.ip, function () {
console.log('Zephyr listening at http://%s:%s', config.ip, config.port);
console.log(app.get('env'))
- console.log(process.env.ZEPHYR_MODE);
});
var io = require('socket.io').listen(server)
parentId: '',
fileType: 0
};
- if(process.env.ZEPHYR_MODE === 'DEBUG') {
+ if(process.env.NODE_ENV === 'debug') {
return Files.create(root);
}
})
})
.then(function(fileId) {
var q = {
- where: {
- name: fileName,
- parentId: fileId
+ where: {
+ name: fileName,
+ parentId: fileId
}
};
return Files.findOne(q)
})
.then(function(fileId) {
var q = {
- where: {
- name: fileName,
- parentId: fileId
+ where: {
+ name: fileName,
+ parentId: fileId
}
};
return Files.findOne(q)
* @constructor
* @returns {promise}
*/
- if(process.env['NODE_ENV'] === 'production') {
- var dbPath = __dirname + '/../../user-specific-files/db/db.workspace';
- dbOption.storage = dbPath;
+ /**
+ * productionモード時は、db.workspaceを永続化させる
+ * DEBUGモードの時は、db.debugを実行毎に作成する。
+ * DEBUGモードの時は、sync()の中で、/レコードがFilesテーブルに追加される。
+ * モードの切り替えは環境変数NODE_ENVで行っている。
+ * zephyr serveコマンドが実行されるとNODE_ENV = 'production'
+ * zephyr debugコマンドが実行されるとNODE_ENV = 'debug'
+ * となる。
+ * それぞれの設定は$ZEOHYR_HOME/cli/zephyr-serve, $ZEPHYR_HOME/zephyre_debugを参照
+ */
+
+ var dbPath;
+ if(process.env['NODE_ENV'] === 'production') {
+ dbPath = __dirname + '/../../user-specific-files/db/db.workspace';
// if doesn't exist workspace.db, create.
try {
fs.accessSync(dbPath, fs.R_OK | fs.W_OK);
} catch(e) {
fs.writeFileSync(dbPath, '');
}
+
+ } else if(process.env['NODE_ENV'] === 'debug') {
+ dbPath = __dirname + '/../../user-specific-files/db/db.debug';
+ try {
+ fs.accessSync(dbPath, fs.R_OK | fs.W_OK);
+ fs.unlinkSync(dbPath);
+ } catch(e) {
+ }
+
+ fs.writeFileSync(dbPath, '');
}
+
+ dbOption.storage = dbPath;
+
sequelize = new Sequelize('','','', dbOption);
var Files = sequelize.define('file', {