2013-12-25 04:05:20 +04:00
|
|
|
var migrations = require('../data/migration'),
|
2014-03-24 17:49:23 +04:00
|
|
|
_ = require('lodash'),
|
|
|
|
when = require('when');
|
2013-06-01 18:47:41 +04:00
|
|
|
|
2013-06-25 15:43:15 +04:00
|
|
|
module.exports = {
|
|
|
|
Post: require('./post').Post,
|
|
|
|
User: require('./user').User,
|
|
|
|
Role: require('./role').Role,
|
|
|
|
Permission: require('./permission').Permission,
|
|
|
|
Settings: require('./settings').Settings,
|
2013-08-21 16:55:58 +04:00
|
|
|
Tag: require('./tag').Tag,
|
2013-11-21 00:36:02 +04:00
|
|
|
Base: require('./base'),
|
2013-11-24 18:29:36 +04:00
|
|
|
Session: require('./session').Session,
|
2014-02-12 07:40:39 +04:00
|
|
|
App: require('./app').App,
|
2013-11-24 18:29:36 +04:00
|
|
|
|
2013-06-25 15:43:15 +04:00
|
|
|
init: function () {
|
2013-07-27 23:41:10 +04:00
|
|
|
return migrations.init();
|
2013-08-03 19:11:16 +04:00
|
|
|
},
|
2013-12-25 04:05:20 +04:00
|
|
|
// ### deleteAllContent
|
|
|
|
// Delete all content from the database (posts, tags, tags_posts)
|
|
|
|
deleteAllContent: function () {
|
|
|
|
var self = this;
|
|
|
|
|
|
|
|
return self.Post.browse().then(function (posts) {
|
2014-03-24 17:49:23 +04:00
|
|
|
return when.all(_.map(posts.toJSON(), function (post) {
|
|
|
|
return self.Post.destroy(post.id);
|
|
|
|
}));
|
2013-12-25 04:05:20 +04:00
|
|
|
}).then(function () {
|
2014-03-24 17:49:23 +04:00
|
|
|
return self.Tag.browse().then(function (tags) {
|
|
|
|
return when.all(_.map(tags.toJSON(), function (tag) {
|
|
|
|
return self.Tag.destroy(tag.id);
|
|
|
|
}));
|
2013-12-25 04:05:20 +04:00
|
|
|
});
|
|
|
|
});
|
2013-06-25 15:43:15 +04:00
|
|
|
}
|
|
|
|
};
|