diff options
Diffstat (limited to 'src/routers/vault/models/vault')
-rw-r--r-- | src/routers/vault/models/vault/account_log.js | 49 | ||||
-rw-r--r-- | src/routers/vault/models/vault/claimed_game_accounts.js | 22 | ||||
-rw-r--r-- | src/routers/vault/models/vault/claimed_legacy_accounts.js | 22 | ||||
-rw-r--r-- | src/routers/vault/models/vault/identity.js | 36 | ||||
-rw-r--r-- | src/routers/vault/models/vault/identity_log.js | 47 | ||||
-rw-r--r-- | src/routers/vault/models/vault/login.js | 31 | ||||
-rw-r--r-- | src/routers/vault/models/vault/login_log.js | 45 | ||||
-rw-r--r-- | src/routers/vault/models/vault/migration_log.js | 35 |
8 files changed, 287 insertions, 0 deletions
diff --git a/src/routers/vault/models/vault/account_log.js b/src/routers/vault/models/vault/account_log.js new file mode 100644 index 0000000..1f8b05b --- /dev/null +++ b/src/routers/vault/models/vault/account_log.js @@ -0,0 +1,49 @@ +const Sequelize = require("sequelize"); // from npm registry + +module.exports = { + fields: { + id: { + type: Sequelize.INTEGER.UNSIGNED, + primaryKey: true, + autoIncrement: true, + allowNull: false, + }, + vaultId: { + type: Sequelize.INTEGER.UNSIGNED, + allowNull: false, + }, + accountType: { + type: Sequelize.ENUM("EVOL", "LEGACY", "FORUMS", "WIKI"), + allowNull: false, + }, + accountId: { + type: Sequelize.INTEGER.UNSIGNED, + allowNull: false, + }, + actionType: { + type: Sequelize.ENUM("CREATE", "DELETE", "LINK", "UNLINK", "UPDATE"), + allowNull: false, + defaultValue: "CREATE", + }, + details: { + type: Sequelize.STRING, + allowNull: true, + }, + ip: { + type: "VARBINARY(16)", + allowNull: false, + }, + date: { + type: Sequelize.DATE, + allowNull: false, + defaultValue: Sequelize.NOW, + }, + }, + options: { + indexes: [ + { fields: ["vault_id"] }, + { fields: ["account_id"] }, + { fields: ["ip"] }, + ] + } +}; diff --git a/src/routers/vault/models/vault/claimed_game_accounts.js b/src/routers/vault/models/vault/claimed_game_accounts.js new file mode 100644 index 0000000..743376d --- /dev/null +++ b/src/routers/vault/models/vault/claimed_game_accounts.js @@ -0,0 +1,22 @@ +const Sequelize = require("sequelize"); // from npm registry + +module.exports = { + fields: { + accountId: { + type: Sequelize.INTEGER.UNSIGNED, + allowNull: false, + primaryKey: true, + }, + vaultId: { + type: Sequelize.INTEGER.UNSIGNED, + allowNull: false, + }, + }, + options: { + indexes: [ + { + fields: ["vault_id"], // BUG: {underscored: true} does not work on indexes + }, + ] + } +}; diff --git a/src/routers/vault/models/vault/claimed_legacy_accounts.js b/src/routers/vault/models/vault/claimed_legacy_accounts.js new file mode 100644 index 0000000..743376d --- /dev/null +++ b/src/routers/vault/models/vault/claimed_legacy_accounts.js @@ -0,0 +1,22 @@ +const Sequelize = require("sequelize"); // from npm registry + +module.exports = { + fields: { + accountId: { + type: Sequelize.INTEGER.UNSIGNED, + allowNull: false, + primaryKey: true, + }, + vaultId: { + type: Sequelize.INTEGER.UNSIGNED, + allowNull: false, + }, + }, + options: { + indexes: [ + { + fields: ["vault_id"], // BUG: {underscored: true} does not work on indexes + }, + ] + } +}; diff --git a/src/routers/vault/models/vault/identity.js b/src/routers/vault/models/vault/identity.js new file mode 100644 index 0000000..e10970f --- /dev/null +++ b/src/routers/vault/models/vault/identity.js @@ -0,0 +1,36 @@ +const Sequelize = require("sequelize"); // from npm registry + +module.exports = { + fields: { + id: { + type: Sequelize.INTEGER.UNSIGNED, + primaryKey: true, + autoIncrement: true, + allowNull: false, + }, + userId: { + type: Sequelize.INTEGER.UNSIGNED, + allowNull: false, + }, + email: { + type: Sequelize.STRING(320), + allowNull: false, + }, + addedDate: { + type: Sequelize.DATE, + allowNull: false, + defaultValue: Sequelize.NOW, + }, + }, + options: { + indexes: [ + { + fields: ["user_id"], // BUG: table option {underscored: true} does not work on indexes + }, + { + fields: ["email"], + unique: true, + } + ] + } +}; diff --git a/src/routers/vault/models/vault/identity_log.js b/src/routers/vault/models/vault/identity_log.js new file mode 100644 index 0000000..4e881f1 --- /dev/null +++ b/src/routers/vault/models/vault/identity_log.js @@ -0,0 +1,47 @@ +const Sequelize = require("sequelize"); // from npm registry + +module.exports = { + fields: { + id: { + type: Sequelize.INTEGER.UNSIGNED, + primaryKey: true, + autoIncrement: true, + allowNull: false, + }, + userId: { + type: Sequelize.INTEGER.UNSIGNED, + allowNull: false, + }, + identityId: { + type: Sequelize.INTEGER.UNSIGNED, + allowNull: false, + }, + action: { + type: Sequelize.ENUM("ADD", "REMOVE"), + allowNull: false, + defaultValue: "ADD", + }, + ip: { + type: "VARBINARY(16)", + allowNull: false, + }, + date: { + type: Sequelize.DATE, + allowNull: false, + defaultValue: Sequelize.NOW, + }, + }, + options: { + indexes: [ + { + fields: ["user_id"], // BUG: {underscored: true} does not work on indexes + }, + { + fields: ["identity_id"], // BUG: {underscored: true} does not work on indexes + }, + { + fields: ["ip"], + } + ] + } +}; diff --git a/src/routers/vault/models/vault/login.js b/src/routers/vault/models/vault/login.js new file mode 100644 index 0000000..1c9c51e --- /dev/null +++ b/src/routers/vault/models/vault/login.js @@ -0,0 +1,31 @@ +const Sequelize = require("sequelize"); // from npm registry + +module.exports = { + fields: { + id: { + type: Sequelize.INTEGER.UNSIGNED, + primaryKey: true, + autoIncrement: true, + allowNull: false, + }, + primaryIdentity: { + type: Sequelize.INTEGER.UNSIGNED, + allowNull: true, + }, + allowNonPrimary: { + type: Sequelize.BOOLEAN, + defaultValue: true, + allowNull: false, + }, + creationDate: { + type: Sequelize.DATE, + allowNull: false, + defaultValue: Sequelize.NOW, + }, + state: { + type: Sequelize.ENUM("OK", "BANNED"), + allowNull: false, + defaultValue: "OK", + }, + } +}; diff --git a/src/routers/vault/models/vault/login_log.js b/src/routers/vault/models/vault/login_log.js new file mode 100644 index 0000000..5f42469 --- /dev/null +++ b/src/routers/vault/models/vault/login_log.js @@ -0,0 +1,45 @@ +const Sequelize = require("sequelize"); // from npm registry + +// NOTE: to get the ip, use something like +// select *, INET6_NTOA(ip) as ip_ from vault.login_log; +// and to search by ip use something like +// select * from vault.login_log where ip = INET6_ATON("ip addr"); + +module.exports = { + fields: { + id: { + type: Sequelize.INTEGER.UNSIGNED, + primaryKey: true, + autoIncrement: true, + allowNull: false, + }, + userId: { + type: Sequelize.INTEGER.UNSIGNED, + allowNull: false, + }, + action: { + type: Sequelize.ENUM("LOGIN", "LOGOUT", "CREATE"), + allowNull: false, + defaultValue: "LOGIN", + }, + ip: { + type: "VARBINARY(16)", + allowNull: false, + }, + date: { + type: Sequelize.DATE, + allowNull: false, + defaultValue: Sequelize.NOW, + }, + }, + options: { + indexes: [ + { + fields: ["user_id"], // BUG: {underscored: true} does not work on indexes + }, + { + fields: ["ip"], + } + ] + } +}; diff --git a/src/routers/vault/models/vault/migration_log.js b/src/routers/vault/models/vault/migration_log.js new file mode 100644 index 0000000..5b2e651 --- /dev/null +++ b/src/routers/vault/models/vault/migration_log.js @@ -0,0 +1,35 @@ +const Sequelize = require("sequelize"); // from npm registry + +module.exports = { + fields: { + legacyId: { + type: Sequelize.INTEGER.UNSIGNED, + primaryKey: true, + allowNull: false, + }, + accountId: { + type: Sequelize.INTEGER.UNSIGNED, + allowNull: false, + }, + vaultId: { + type: Sequelize.INTEGER.UNSIGNED, + allowNull: false, + }, + ip: { + type: "VARBINARY(16)", + allowNull: false, + }, + date: { + type: Sequelize.DATE, + allowNull: false, + defaultValue: Sequelize.NOW, + }, + }, + options: { + indexes: [ + { fields: ["vault_id"] }, + { fields: ["account_id"] }, + { fields: ["ip"] }, + ] + } +}; |