Example #1
0
module.exports = function (sequelize, DataTypes) {

    return sequelize.define('token', {
        id: {
            type: Sequelize.INTEGER,
            primaryKey: true,
            autoIncrement: true
        },
        content: {
            type: Sequelize.STRING(20)
        },
        status: {
            type: Sequelize.STRING(20),
            defaultValue: 'active'
        },
        executedDate: {
            type: Sequelize.DATE
        },
        grade: {
            type: Sequelize.STRING(20)
        },
        reachedPoints: {
            type: Sequelize.DECIMAL(6,3)
        }
    });
}; 
Example #2
0
module.exports = function(sequelize){
	var Topics = sequelize.define('topics',{
		topic_id: {
			type: Sequelize.BIGINT.UNSIGNED,
			primaryKey: true,
			autoIncrement: true
		},
		topic_name: {
			type: Sequelize.STRING(100),
			allowNull: false
		},
		topic_courseID:{
			type: Sequelize.STRING(50)
		},
		topic_desc:{
			type: Sequelize.TEXT,
		},
		topic_video:{
			type: Sequelize.STRING(500)
		}},
		{
			timestamps: false,
			freezeTableName: true,
			tableName: 'tblTopic'
		},
		{
			classMethods: {
				associate: function(models){
					Topic.belongTo(models.Course, {foreignKey:'topic_courseID', targetKey: 'topic_id'});
				}
			}
		});

	return Topics;
}
Example #3
0
    it('should specify string length', () => {
      let Simple = sequelize.define('simple', {
        title: Sequelize.STRING,
        tinyTitle: Sequelize.TEXT('tiny'),
        mediumTitle: Sequelize.TEXT('medium'),
        longTitle: Sequelize.TEXT('long'),
        password: {
          type: Sequelize.STRING(100)
        },
        secret: Sequelize.STRING(40)
      });

      let def = definition(Simple);

      expect(def.properties.title).to.exist;
      expect(def.properties.title.maxLength).to.equal(255);
      expect(def.properties.tinyTitle).to.exist;
      expect(def.properties.tinyTitle.maxLength).to.equal(255);
      expect(def.properties.mediumTitle).to.exist;
      expect(def.properties.mediumTitle.maxLength).to.equal(16777215);
      expect(def.properties.longTitle).to.exist;
      expect(def.properties.longTitle.maxLength).to.equal(4294967295);
      expect(def.properties.password).to.exist;
      expect(def.properties.password.maxLength).to.equal(100);
      expect(def.properties.secret).to.exist;
      expect(def.properties.secret.maxLength).to.equal(40);
    });
Example #4
0
module.exports = function(sequelize) {

	var Category = sequelize.define('categories', {
		cate_id: {
			type: Sequelize.BIGINT(20).UNSIGNED,
			allowNull: false,
			autoIncrement: true,
			primaryKey: true
		},
		cate_name: {
			type: Sequelize.STRING(100),
			allowNull: false
		},
		cate_desc: {
			type: Sequelize.STRING(500),
			allowNull: true
		},
		cate_parent: {
			type: Sequelize.BIGINT(20).UNSIGNED,
			allowNull: true,
			defaultValue: 0
		}	
	},{
		timestamps: false,
			freezeTableName: true, // Model tableName will be the same as the model name
			tableName: 'tblCategory'
		});

	return Category;
}
Example #5
0
module.exports = function (app) {
  const sequelizeClient = app.get('sequelizeClient');
  const users = sequelizeClient.define('Users', {
    userId: {
      type: Sequelize.UUID,
      allowNull: false,
      unique: true,
      primaryKey: true
    },
    username: {
      type: Sequelize.STRING(64),
      allowNull: false,
      unique: true
    },
    email : {
      type: Sequelize.STRING(64),
      allowNull: false,
      unique: true
    }
  }, {
    hooks: {
      beforeCount(options) {
        options.raw = true;
      }
    },
    timestamps: false
  });

  users.associate = function (models) { // eslint-disable-line no-unused-vars
    // Define associations here
    // See http://docs.sequelizejs.com/en/latest/docs/associations/
  };

  return users;
};
Example #6
0
 constructor(){
     this.EnderecoScheme = connection.define(
         "address",
         {
             id: {
                 type: Sequelize.INTEGER,
                 primaryKey: true,
                 autoIncrement: true,
             },
             lougradouro: {
                 type: Sequelize.STRING(30)
             },
             bairro: {
                 type: Sequelize.STRING(20)
             },
             cidade: {
                 type: Sequelize.STRING(70)
             },
             cep: {
                 type: Sequelize.STRING(8)
             }
         }
     );
     
 }
Example #7
0
module.exports = function(sequelize) {
    return sequelize.define('Disciplina', {
        disciplina: {
            type: Sequelize.STRING(100),
            allowNull: false,
            unique: true,
            validate: {
                len: {
                    args: [3,100],
                    msg: 'O Nome da disciplina deve possuir entre 3 e 100 caracteres.'
                }
            }
        },
        sigla: {
            type: Sequelize.STRING(20),
            allowNull: false,
            unique: true,
            validate: {
                len: {
                    args: [3,100],
                    msg: 'O Nome da disciplina deve possuir entre 3 e 100 caracteres.'
               }    
            }
        }
    }, {
        freezeTableName: true
    });
};
Example #8
0
exports.sessions = function () {

    var table = sequelizeConnect.sequelizeConn().define(
        'sessions',
        {
            //mapping coulumns i-e datatypes, null checks etc
            SessionId: {autoIncrement: true, type: sequelize.INTEGER(11), allowNull: false, primaryKey: true},
            uid: { type: sequelize.INTEGER(11), allowNull: false },
            clientid: { type: sequelize.STRING, allowNull: false },
            clientsecret: { type: sequelize.STRING, allowNull: false },
            token: { type: sequelize.STRING, allowNull: true },
            status: { type: sequelize.ENUM('ACTIVE', 'INACTIVE'), allowNull: true, defaultValue: 'ACTIVE' },
            uuid: { type: sequelize.STRING(255), allowNull: true },
            device_subscription_token: { type: sequelize.STRING(500), allowNull: true },
            platform: { type: sequelize.STRING(50), allowNull: true },
            platform_version: { type: sequelize.STRING(10), allowNull: true },
            model: { type: sequelize.STRING(15), allowNull: true },
            mobile: { type: sequelize.BOOLEAN, allowNull: true },
            isRetina: { type: sequelize.BOOLEAN, allowNull: true },
            screen_width: { type: sequelize.INTEGER(6), allowNull: true },
            screen_height: { type: sequelize.INTEGER(6), allowNull: true },
            useragent: {type: sequelize.STRING, allowNull: true},
            created: { type: sequelize.INTEGER(11), allowNull: false },
            expireTime: { type: sequelize.INTEGER(11), allowNull: false },
            locationId: { type: sequelize.INTEGER(11), allowNull: true }
        },
        {
            timestamps: false,
            paranoid: true,
            freezeTableName: true,
            tableName: 'sessions'
        }
    );
    return table;
};
Example #9
0
File: user.js Project: jValdron/pvd
      model: function(){

        return db.define('user', {

          username: {
            type: Sequelize.STRING(32),
            allowNull: false,
            validate: {
              len: [ 3, 32 ]
            }
          },

          password: {
            type: Sequelize.STRING(64),
            allowNull: false,
            get: function(){
              return this.changed('password') ? this.getDataValue('password') : null;
            },
            set: function(v){
              return this.setDataValue('password', bcrypt.hashSync(v, 8));
            }
          },

          apiKey: {
            type: Sequelize.STRING(32),
            allowNull: true
          }

        }, {

          instanceMethods: {

            isValidPassword: function(password, cb){
              return bcrypt.compare(password, this.getDataValue('password'), cb);
            },

            setNewApiKey: function(){
              return this.setDataValue('apiKey', hat());
            }

          },

          hooks: {

            beforeCreate: function(user, cb){

              user.setNewApiKey();
              return cb(null, user);

            }

          }

        });

      },
Example #10
0
    init: function(db) {
        var E = db.define("band", {
            id: {type: Sequelize.INTEGER, allowNull: false, primaryKey: true, autoIncrement: true},
            name: {type: Sequelize.STRING(128), allowNull: false},
            styleID: {type: Sequelize.INTEGER, allowNull: true, field : "style_id"},
            creationDate: {type: Sequelize.DATEONLY, allowNull: true, field: "creation_date"},
            country: {type: Sequelize.STRING(2), allowNull: true},
        }, {
            schema: "dbo",
            tableName: "band",
            timestamps: false

        });
        return E;
    }
Example #11
0
    it('should accept a sequelize model as a response object', () => {
        let model = sequelize.define('test', {
            name: {
                type: Sequelize.STRING(123)
            }
        });

        let res = {
            locals: { id: 1, name: 'hello' },
            json: sinon.spy(),
            status: sinon.stub().returnsThis()
        };

        let middleware = joi({
            body: model
        });

        return Promise.resolve(
            middleware({}, res)
        )
        .then(() => {
            expect(spy).to.have.been.calledOnce;
            expect(res.json).to.have.been.calledWith({ id: 1, name: 'hello' });
        });
    });
module.exports = function () {
    var sequelize = new Sequelize(process.env.DATABASE_URL);
    var UserModel = sequelize.define('User', {
        name: Sequelize.STRING,
        email: {
            type: Sequelize.STRING(125),
            allowNull: true
        },
        profile_image: Sequelize.TEXT,
        provider_name: Sequelize.STRING,
        provider_uid: Sequelize.STRING,
    }, {
        createdAt: 'created',
        updatedAt: 'modified',
        deletedAt: 'deleted',
        paranoid: true,
        underscored: true,
    });

    return {
        sequelize: sequelize,
        Sequelize: Sequelize,
        models: {
            UserModel: UserModel
        }
    };
}
Example #13
0
    it('should allow specifying custom status code', () => {
        let model = sequelize.define('test', {
            name: {
                type: Sequelize.STRING(123)
            }
        });

        let res = {
            locals: { id: 1, name: 'hello' },
            json: sinon.spy(),
            status: sinon.stub().returnsThis()
        };

        let middleware = joi({
            body: model,
            status: 201
        });

        return Promise.resolve(
            middleware({}, res)
        )
        .then(() => {
            expect(spy).to.have.been.calledOnce;
            expect(res.json).to.have.been.calledWith({ id: 1, name: 'hello' });
            expect(res.status).to.have.been.calledWith(201);
        });
    });
Example #14
0
function Init(sequelize) {
    let Entity = sequelize.define('test', {
        name: Sequelize.STRING(128),
        a_score: Sequelize.INTEGER,
        b_score: Sequelize.INTEGER,
        c_score: Sequelize.INTEGER,
        questions: Sequelize.JSON
    },
        {
            instanceMethods: {
                getDisplayName: function () {
                    return this.name;
                }
            }
        });

    Entity.belongsTo(sequelize.models["subject"]);

    Entity.belongsTo(sequelize.models["user"]);

    Entity.hasMany(sequelize.models['test_result'], {
        foreignKey: { allowNull: false },
        onDelete: 'CASCADE'
    });

    Entity.belongsToMany(sequelize.models["group"], { through: 'tests_groups' });
}
Example #15
0
function Forward(db) {

  if (!(this instanceof Forward)) {
    return new Forward(db);
  }

  var $model = db.define('forward', {
    source: {
      type: sequelize.STRING(80),
      unique: true,
      primaryKey: true
    },
    destination: sequelize.ARRAY(sequelize.TEXT),
    enable_greylisting: sequelize.BOOLEAN,
    enable_policyd: sequelize.BOOLEAN
  }, {
    freezeTableName: true,
    tableName: 'forward',
    timestamps: false,
  });

  var self = this;

  self.query = query;
  self.$model = $model;

  function query() {
    return $model.findAll({});
  }

}
Example #16
0
module.exports = function(db) {
	return db.define('Review', {
		id: {
			type: Sequelize.INTEGER,
			allowNull: false,
			autoIncrement: true,
			primaryKey: true
		},

		rating: {
			type: Sequelize.INTEGER,
			allowNull: false,
			defaultValue: 1
		},

		comment: {
			type: Sequelize.STRING(500),
			allowNull: true
		},

		authorId: {
			type: Sequelize.INTEGER,
			allowNull: false,
			references: {
				model: 'Users',
				key: 'id'
			}
		},

		propertyId: {
			type: Sequelize.INTEGER,
			allowNull: false,
			references: {
				model: 'Properties',
				key: 'id'
			}
		}
	}, {
		timestamps: false,
		classMethods: {
			validate: function(data) {
				return new BB(function(pass, fail) {
					Joi.validate(data, creationSchema, function (err) {
						if(!!err) {
							fail(new DataValidationError("Invalid data", err));
						}else {
							pass(data);
						}
					});
				});
			}
		},
		instanceMethods: {
			getFields: function() {
				return _.omit(this.get({plain: true}), ['author', 'property']);
			}
		}
	});
};
Example #17
0
module.exports = function(sequelize){
	var Lessons = sequelize.define('lessons',{
		lesson_id: {
			type: Sequelize.BIGINT(20).UNSIGNED,
			//allowNull: false,
			autoIncrement: true,
			primaryKey: true
		},
		lesson_name: {
			type: Sequelize.STRING(100),
			allowNull: false
		},
		lesson_topicId: {
			type: Sequelize.BIGINT(20).UNSIGNED,
		},
		lesson_desc: {
			type: Sequelize.TEXT,
		},
		lesson_video: {
			type: Sequelize.STRING(500)
		},
		lesson_mate:{
			type: Sequelize.STRING(500)
		},
		lesson_type:{
			type: Sequelize.INTEGER,
			allowNull: false,
			defaultValue: 1
		},
		lesson_time: {
			type: Sequelize.DATE
		}
	},{
		timestamps: false,
		freezeTableName: true,
		tableName: 'tblLesson'
	},{
		classMethods: {
			associate: function(models){
				Lesson.belongsTo(models.Topic, {foreignKey: 'lesson_topicId', targetKey: 'topic_id' });
			}
		}
	});

	return Lessons;
}
Example #18
0
module.exports = function(sequelize){

  var category = sequelize.define('category', {
    id: {
      type: Sequelize.INTEGER,
      autoIncrement: true,
      primaryKey: true
    },
    sorting: {
      type: Sequelize.INTEGER,
      defaultValue: -1
    },
    title: {
      type: Sequelize.STRING(64),
      unique: true
    },
    slug: {
      type: Sequelize.STRING(64),
      unique: true
    }
  }, {
    classMethods: {
      associate: function(models){
        category.hasMany(models.category, {as: 'children', foreignKey: 'parentId'});
        category.belongsTo(models.category, {as: 'parent', foreignKey: 'parentId'});
        category.hasMany(models.post);

        category.addHook('beforeFind', function(options){
          if(options.modelInclude){
            options.include = [{model: models.category, as: 'children'}];
          }
          return options;
        });

      }
    },
    setterMethods: {
      title: function(title){
        this.setDataValue('slug', slugify(title));
        this.setDataValue('title', title);
        return title;
      }
    }
  });
  return category;
}
Example #19
0
module.exports = function(sequelize, DataTypes) {
	var Device = sequelize.define('Device', {
			name: {
				type: Sequelize.STRING(32),
				unique: true,
				allowNull: false,
				validate: {
					notEmpty: true,
				},
			},
			displayName: {
				type: Sequelize.STRING(255),
			},
	});

	return Device;
}
Example #20
0
module.exports = (sequelize) => {
  return sequelize.define('user', {
    id: {
      type: Sequelize.STRING,
      primaryKey: true
    },
    email: {
      type: Sequelize.STRING(400),
      allowNull: false,
      validate: {
        isEmail: true,
      }
    },
    password: {
      type: Sequelize.STRING(100),
    }
  }, {
    freezeTableName: true, // Model tableName will be the same as the model name
    comment: 'user base information',
    indexes: [{
      unique: true,
      fields: ['email'],
    }],
    classMethods: {
      add: async function add(userInfo) {
        const isExist = await this.find({ where: { email: userInfo.email }});
        if (isExist) {
          throw new VError(`User: ${userInfo.email} has been register`, HTTPStatus.BAD_REQUEST);
        }
        const salt = await bcrypt.genSalt(10);
        userInfo.password = await bcrypt.hash(userInfo.password, salt);
        userInfo.id = uuidV1();
        const user = this.build(userInfo);
        return await user.save();
      },
      findByEmail: async function findByEmail(email) {
        return await this.find({ where: { email }});
      },
      findByID: async function findByID(id) {
        return await this.find({ where: { id }});
      }
    },
  });
}
Example #21
0
module.exports=function(sequelize,DataTypes){
  const Post = sequelize.define('post', {
    post_id: {
      type: Sequelize.INTEGER,
      allowNull:false,
      autoIncrement:true,
      primaryKey:true
    },
    user_id: {
      type: Sequelize.INTEGER,
      allowNull:false
    },
    title:{
        type: Sequelize.STRING(200),
        allowNull:false
    },
    idea:{
        type: Sequelize.STRING(1000),
        allowNull: false
    },
    like_count:{
        type:Sequelize.INTEGER,
        allowNull:true,
        default:0
    }
      
  });

  Post.associate = function (models) {
    models.Post.belongsTo(models.users, {
      onDelete: 'CASCADE',
      foreignKey: {
        name: 'user_id',
        allowNull: false
      },
    });
};

 return  Post;


 
  
}
Example #22
0
module.exports = city=> {
  city = city || 'bj';
  return sequelize.define('shop_' + city, {
    id: {
      type: Sequelize.INTEGER,
      autoIncrement: true,
      primaryKey: true,
      unique: true
    },
    name: Sequelize.STRING(100),
    shopid: Sequelize.STRING(100),
    addr: Sequelize.STRING(500),
    area: Sequelize.STRING(500),
    phone: Sequelize.STRING(20),
    level: Sequelize.INTEGER(10),
    num1: Sequelize.INTEGER(20),
    num2: Sequelize.INTEGER(20)
  });
};
Example #23
0
module.exports = function(app) {


    var Wine = db.define('Wine', {
            id: {
                type: Sequelize.INTEGER,
                autoIncrement: true,
                primaryKey: true,
                allowNull: false
            },
            name: Sequelize.STRING(45),
            year: Sequelize.STRING(45),
            grapes: Sequelize.STRING(45),
            country: Sequelize.STRING(45),
            region: Sequelize.STRING(45),
            description: Sequelize.BLOB,
            picture: Sequelize.STRING
        }

        , {
            tableName: 'wine',
            timestamps: false
        }
    )


    db
        .sync({ force: false }) // si se pone a true borra la tabla
        .complete(function (err) {
            if (!!err) {
                console.log('An error occurred while creating the table:', err)
            } else {
                console.log('It worked!')
            }
        })



        var opciones={endpoit:'/api',allowed:new Array('Wine')}
        app.use(restful(db, opciones))

}
Example #24
0
module.exports = function(HiddenMenu, DataTypes) {

  var HidenMenu = sequelize.define('user_pictures', {
    user_id: { type: Sequelize.INTEGER(11)},
    aws_hash: { type: Sequelize.STRING(128)}
  },{
    tableName: 'user_pictures'
  });

  return HiddenMenu
};
Example #25
0
module.exports = function(sequelize, DataTypes) {
	var RomVariant = sequelize.define('RomVariant', {
			name: {
				type: Sequelize.STRING(32),
				unique: true,
				allowNull: false,
				validate: {
					notEmpty: true,
				},
			},
			subdirectory: {
				type: Sequelize.STRING(255),
			},
			displayName: {
				type: Sequelize.STRING(255),
			},
	});

	return RomVariant;
}
    it("should populate STRING(n) with random string", function (done) {
        var Model = sequelize.define("Model", {
            name: Sequelize.STRING(42)
        });

        sync().then(function () {
            return new SequelizeG(Model).then(function (instance) {
                assert.ok(_.isString(instance.name));
                assert.ok(instance.name.length > 0);
            });
        }).then(done, done);
    });
Example #27
0
module.exports = function(sequelize)
{
	// TrackEdit is created when Track information is changed
	var TrackEdit = sequelize.define("TrackEdit",
	{
		editId: { type: Sequelize.INTEGER, primaryKey: true, autoIncrement: true },
		artist: Sequelize.STRING(50),
		title: Sequelize.STRING(50),
		date: { type: Sequelize.DATE, defaultValue: Sequelize.NOW },
	});
	
	var Track = sequelize.models.Track;
	Track.hasMany(TrackEdit, { foreignKey: "trackId", onDelete: "cascade" });
	TrackEdit.belongsTo(Track, { foreignKey: "trackId" });
	
	var User = sequelize.models.User;
	User.hasMany(TrackEdit, { foreignKey: "userId" });
	TrackEdit.belongsTo(User, { foreignKey: "userId" });
	
	return TrackEdit;
}
Example #28
0
module.exports = function(sequelize){

  var tracking = sequelize.define('tracking', {
    id: {
      type: Sequelize.INTEGER,
      autoIncrement: true,
      primaryKey: true
    },
    event: {
      type: Sequelize.STRING(65)
    },
    data: {
      type: Sequelize.STRING
    },
    sessionId: {
      type: Sequelize.STRING(48)
    }
  });

  return tracking;
}
module.exports = function (sequelize) {
  const tutorial = sequelize.define('tutorial', {
    title: {
      type: Sequelize.STRING,
      allowNull: false
    },
    sourceUrl: {
      type: Sequelize.STRING(2000),
      validate: {
        isUrl: true
      }
    },
    sourceDomain: {
      type: Sequelize.STRING
    },
    content: {
      type: Sequelize.TEXT
    },
    contentHtml: {
      type: Sequelize.TEXT
    },
    keywords: {
      type: Sequelize.ARRAY(Sequelize.TEXT)
    },
    languages: {
      type: Sequelize.ARRAY(Sequelize.TEXT)
    },
    platforms: {
      type: Sequelize.ARRAY(Sequelize.TEXT)
    },
    projects: {
      type: Sequelize.ARRAY(Sequelize.TEXT)
    },
    creator: {
      type: Sequelize.STRING,
      allowNull: false
    },
    commentsCount: {
      type: Sequelize.INTEGER,
      defaultValue: 0
    }
  }, {
    timestamps: true,
    paranoid: true,
    freezeTableName: true
  })

  // tutorial.sync({
  //   force: true
  // })

  return tutorial
}
Example #30
0
module.exports = function(sequelize) {
  return sequelize.define('polyline', {
    shape_id: {
      type: Sequelize.STRING,
      primaryKey: true,
    },
    polyline: Sequelize.STRING(5000)
  }, {
    createdAt: false,
    updatedAt: false,
    timestamps: false,
  })
}