Built motion from commit 503e72f.|0.0.143
[motion.git] / server / models / module.js
index 9acdc1e..845f4ba 100644 (file)
@@ -1 +1,41 @@
-var _0x5fb4=["\x65\x78\x70\x6F\x72\x74\x73","\x4D\x6F\x64\x75\x6C\x65","\x53\x54\x52\x49\x4E\x47","\x6D\x6F\x64\x75\x6C\x65\x73","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6D\x6F\x64\x75\x6C\x65\x73","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F\x4D\x61\x6E\x79","\x64\x65\x66\x69\x6E\x65"];module[_0x5fb4[0]]=function(_0x2cc2x1,_0x2cc2x2){var _0x2cc2x3=_0x2cc2x1[_0x5fb4[6]](_0x5fb4[1],{name:{type:_0x2cc2x2[_0x5fb4[2]],unique:true,allowNull:false,validate:{notEmpty:true}},title:_0x2cc2x2[_0x5fb4[2]]},{tableName:_0x5fb4[3],associate:function(_0x2cc2x4){_0x2cc2x3[_0x5fb4[5]](_0x2cc2x4.User,{through:_0x5fb4[4]})}});return _0x2cc2x3;};
\ No newline at end of file
+/**
+ * Module Model
+ */
+
+module.exports = function(sequelize, DataTypes) {
+
+  var Module = sequelize.define('Module', {
+    name: {
+      type: DataTypes.STRING,
+      allowNull: false,
+      validate: {
+        notEmpty: true
+      }
+    },
+    title: DataTypes.STRING,
+    path: DataTypes.STRING
+  }, {
+    tableName: 'modules',
+    associate: function(models) {
+      Module.belongsToMany(models.User, {
+        through: models.UserHasModule,
+        required: false
+      });
+      Module.hasMany(models.Module, {
+        as: 'SubModules'
+      });
+      Module.addScope('submodules', {
+        include: [{
+          model: models.Module,
+          as: 'SubModules',
+          required: false,
+          include: [{
+            all: true
+          }]
+        }]
+      });
+    }
+  });
+
+  return Module;
+};