Built motion from commit 503e72f.|0.0.143
[motion.git] / server / models / module.js
index 1dd28cb..845f4ba 100644 (file)
@@ -1 +1,41 @@
-var _0x764b=["\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[_0x764b[0]]=function(_0x948fx1,_0x948fx2){var _0x948fx3=_0x948fx1[_0x764b[6]](_0x764b[1],{name:{type:_0x948fx2[_0x764b[2]],unique:true,allowNull:false,validate:{notEmpty:true}},title:_0x948fx2[_0x764b[2]]},{tableName:_0x764b[3],associate:function(_0x948fx4){_0x948fx3[_0x764b[5]](_0x948fx4.User,{through:_0x764b[4]})}});return _0x948fx3}
\ 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;
+};