summaryrefslogtreecommitdiffstats
path: root/server/models
diff options
context:
space:
mode:
Diffstat (limited to 'server/models')
-rw-r--r--server/models/client.js22
-rw-r--r--server/models/group.js19
2 files changed, 41 insertions, 0 deletions
diff --git a/server/models/client.js b/server/models/client.js
new file mode 100644
index 0000000..ad3bc28
--- /dev/null
+++ b/server/models/client.js
@@ -0,0 +1,22 @@
+'use strict'
+module.exports = (sequelize, DataTypes) => {
+ var client = sequelize.define('client', {
+ id: {
+ allowNull: false,
+ autoIncrement: true,
+ primaryKey: true,
+ type: DataTypes.INTEGER
+ },
+ name: DataTypes.STRING,
+ ip: DataTypes.STRING,
+ mac: DataTypes.STRING,
+ uuid: DataTypes.STRING
+ }, {
+ timestamps: false
+ })
+ var GroupXClient = sequelize.define('group_x_client', {}, { timestamps: false, freezeTableName: true })
+ client.associate = function (models) {
+ client.belongsToMany(models.group, { as: 'groups', through: GroupXClient, foreignKey: 'clientId', otherKey: 'groupId'})
+ }
+ return client
+}
diff --git a/server/models/group.js b/server/models/group.js
new file mode 100644
index 0000000..9151db5
--- /dev/null
+++ b/server/models/group.js
@@ -0,0 +1,19 @@
+'use strict'
+module.exports = (sequelize, DataTypes) => {
+ var group = sequelize.define('group', {
+ id: {
+ allowNull: false,
+ autoIncrement: true,
+ primaryKey: true,
+ type: DataTypes.INTEGER
+ },
+ name: DataTypes.STRING
+ }, {
+ timestamps: false
+ })
+ var GroupXGroup = sequelize.define('group_x_group', {}, { timestamps: false, freezeTableName: true })
+ group.associate = function (models) {
+ group.belongsToMany(group, { as: 'parents', through: GroupXGroup, foreignKey: 'childId', otherKey: 'parentId'})
+ }
+ return group
+}