From f5a0fc8c0dcac6edb3c63950cd319c0ae34a7e3e Mon Sep 17 00:00:00 2001 From: AdamSBlack Date: Sat, 2 Oct 2021 23:11:51 +0100 Subject: [PATCH] include new models --- models/devices.js | 0 models/devices.model.js | 64 ++++++++++++++++++++++++++++++++++++ models/drives.model.js | 72 +++++++++++++++++++++++++++++++++++++++++ models/index.model.js | 19 +++++++++++ models/users.model.js | 38 ++++++++++++++++++++++ 5 files changed, 193 insertions(+) create mode 100644 models/devices.js create mode 100644 models/devices.model.js create mode 100644 models/drives.model.js create mode 100644 models/index.model.js create mode 100644 models/users.model.js diff --git a/models/devices.js b/models/devices.js new file mode 100644 index 0000000..e69de29 diff --git a/models/devices.model.js b/models/devices.model.js new file mode 100644 index 0000000..e32260b --- /dev/null +++ b/models/devices.model.js @@ -0,0 +1,64 @@ +const { DataTypes } = require('sequelize'); + +module.exports = (sequelize) => { + sequelize.define('device', { + id: { + allowNull: false, + autoIncrement: true, + primaryKey: true, + type: DataTypes.INTEGER + }, + dongle_id: { + allowNull: false, + type: DataTypes.TEXT + }, + account_id: { + allowNull: true, + type: DataTypes.INTEGER + }, + imei: { + allowNull: true, + type: DataTypes.TEXT + }, + serial: { + allowNull: true, + type: DataTypes.TEXT + }, + device_type: { + allowNull: true, + type: DataTypes.TEXT + }, + public_key: { + allowNull: true, + type: DataTypes.TEXT + }, + created: { + allowNull: true, + type: DataTypes.INTEGER + }, + last_ping: { + allowNull: true, + type: DataTypes.INTEGER + }, + storage_used: { + allowNull: true, + type: DataTypes.INTEGER + }, + max_storage: { + allowNull: true, + type: DataTypes.INTEGER + }, + ignore_uploads: { + allowNull: true, + type: DataTypes.INTEGER + }, + nickname: { + allowNull: true, + type: DataTypes.TEXT + }, + }, + { + timestamps: false, + } + ); +}; \ No newline at end of file diff --git a/models/drives.model.js b/models/drives.model.js new file mode 100644 index 0000000..8103766 --- /dev/null +++ b/models/drives.model.js @@ -0,0 +1,72 @@ +const { DataTypes } = require('sequelize'); + +module.exports = (sequelize) => { + sequelize.define('drives', { + id: { + allowNull: false, + autoIncrement: true, + primaryKey: true, + type: DataTypes.INTEGER + }, + identifier: { + allowNull: false, + type: DataTypes.TEXT + }, + dongle_id: { + allowNull: true, + type: DataTypes.TEXT + }, + max_segment: { + allowNull: true, + type: DataTypes.INTEGER + }, + duration: { + allowNull: true, + type: DataTypes.NUMBER + }, + distance_meters: { + allowNull: true, + type: DataTypes.NUMBER + }, + filesize: { + allowNull: true, + type: DataTypes.INTEGER + }, + upload_complete: { + allowNull: true, + type: DataTypes.BOOLEAN + }, + is_processed: { + allowNull: true, + type: DataTypes.BOOLEAN + }, + created: { + allowNull: true, + type: DataTypes.INTEGER + }, + last_updated: { + allowNull: true, + type: DataTypes.INTEGER + }, + is_preserved: { + allowNull: true, + type: DataTypes.BOOLEAN + }, + is_deleted: { + allowNull: true, + type: DataTypes.BOOLEAN + }, + drive_date: { + allowNull: true, + type: DataTypes.INTEGER + }, + is_physically_removed: { + allowNull: true, + type: DataTypes.BOOLEAN + }, + metadata: { + allowNull: true, + type: DataTypes.TEXT + }, + }); +}; \ No newline at end of file diff --git a/models/index.model.js b/models/index.model.js new file mode 100644 index 0000000..6b23e6f --- /dev/null +++ b/models/index.model.js @@ -0,0 +1,19 @@ +const { Sequelize } = require('sequelize'); +const sequelize = new Sequelize({ + dialect: 'sqlite', + storage: 'database.sqlite', + logQueryParameters: true, + benchmark: true +}); + +const modelDefiners = [ + require('./devices.model'), + require('./drives.model'), + require('./users.model'), +]; + +for (const modelDefiner of modelDefiners) { + modelDefiner(sequelize); +} + +module.exports = sequelize; diff --git a/models/users.model.js b/models/users.model.js new file mode 100644 index 0000000..977be8c --- /dev/null +++ b/models/users.model.js @@ -0,0 +1,38 @@ +const { DataTypes } = require('sequelize'); + +module.exports = (sequelize) => { + sequelize.define('accounts', { + id: { + allowNull: false, + autoIncrement: true, + primaryKey: true, + type: DataTypes.INTEGER + }, + email: { + allowNull: false, + type: DataTypes.TEXT + }, + password: { + allowNull: true, + type: DataTypes.INTEGER + }, + created: { + allowNull: true, + type: DataTypes.NUMBER + }, + last_ping: { + allowNull: true, + type: DataTypes.NUMBER + }, + "2fa_token": { + allowNull: true, + type: DataTypes.TEXT + }, + admin: { + allowNull: true, + type: DataTypes.INTEGER + }, + }, { + timestamps: false, + }); +}; \ No newline at end of file