summaryrefslogtreecommitdiffstats
path: root/server/models
diff options
context:
space:
mode:
authorUdo Walter2018-07-19 05:58:05 +0200
committerUdo Walter2018-07-19 05:58:05 +0200
commit039be437233b3443f8ab0b93d6f34929534ba670 (patch)
treeb6b20518172372a5d52693fdf7b7a1c0e60c96af /server/models
parent[webapp/dashboard] added devMode (diff)
downloadbas-039be437233b3443f8ab0b93d6f34929534ba670.tar.gz
bas-039be437233b3443f8ab0b93d6f34929534ba670.tar.xz
bas-039be437233b3443f8ab0b93d6f34929534ba670.zip
[server/groups][webapp/groups] added first version of the groups module
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
+}