Setup schema and tests.

This commit is contained in:
Jonathan Cremin 2016-06-19 11:17:31 -07:00
parent 806f42e3f8
commit de0284e48a
7 changed files with 49 additions and 17 deletions

View file

@ -1,7 +1,7 @@
export default function (sequelize, DataTypes) {
const Activation = sequelize.define('activation', {
id: { type: DataTypes.UUID, defaultValue: DataTypes.UUIDV4, primaryKey: true },
activated: false,
activated: { type: DataTypes.BOOLEAN, defaultValue: false, primaryKey: true },
email: DataTypes.STRING,
}, {
classMethods: {

View file

@ -21,6 +21,11 @@ export default function (sequelize, DataTypes) {
md5: DataTypes.STRING(32), // eslint-disable-line new-cap
malwarePositives: DataTypes.INTEGER,
}, {
indexes: [
{
fields: ['userId'],
},
],
classMethods: {
accessed: (id) => sequelize.query(`
UPDATE files

View file

@ -4,6 +4,11 @@ export default function (sequelize, DataTypes) {
successful: { type: DataTypes.BOOLEAN },
ip: { type: 'inet' },
}, {
indexes: [
{
fields: ['ip'],
},
],
classMethods: {
associate: (models) => {
Login.belongsTo(models.user);

View file

@ -6,6 +6,11 @@ export default function (sequelize, DataTypes) {
type: DataTypes.ENUM('direct', 'paypal'), // eslint-disable-line new-cap
ip: 'inet',
}, {
indexes: [
{
fields: ['userId'],
},
],
classMethods: {
associate: (models) => {
Transaction.belongsTo(models.user);

View file

@ -9,6 +9,11 @@ export default function (sequelize, DataTypes) {
banned: DataTypes.BOOLEAN,
deleted: DataTypes.BOOLEAN,
}, {
indexes: [
{
fields: ['email'],
},
],
classMethods: {
associate: (models) => {
User.hasMany(models.file);