Advertisement
Guest User

Untitled

a guest
Apr 26th, 2016
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.48 KB | None | 0 0
  1. module.exports = function(sequelize, DataTypes) {
  2. var user = sequelize.define('users', {
  3. email: {type: Sequelize.STRING, field: 'email'},
  4. password: Sequelize.STRING,
  5. name: Sequelize.STRING,
  6. company_id: Sequelize.INTEGER,
  7. rg: Sequelize.STRING,
  8. cpf: Sequelize.STRING,
  9. birth_date: Sequelize.STRING,
  10. sex: Sequelize.STRING,
  11. address: Sequelize.STRING,
  12. number: Sequelize.STRING,
  13. complement: Sequelize.STRING,
  14. neighborhood: Sequelize.STRING,
  15. city: Sequelize.STRING,
  16. cep: Sequelize.STRING,
  17. uf: Sequelize.STRING,
  18. obs: Sequelize.STRING,
  19. status_id: Sequelize.INTEGER,
  20. model_id: Sequelize.INTEGER,
  21. model: Sequelize.STRING,
  22. deleted_at: Sequelize.STRING,
  23. created_at: Sequelize.STRING,
  24. updated_at: Sequelize.STRING,
  25. }, {timestamps:false, attributes: { exclude : [ 'password' ]},
  26. classMethods: {
  27. associate: function(models) {
  28. user.belongsToMany(models.groups, {
  29. through: {
  30. model: models.user_groups
  31. }, foreignKey:'user_id', as: 'groups'}),
  32. user.belongsToMany(models.permissions, {
  33. through: {
  34. model: models.user_permissions
  35. }, foreignKey:'user_id', as: 'permissions'})
  36. },
  37. morphTo: function(models, model_id, model){
  38. if(model == 'medics'){
  39. models.medics.findById(model_id).then(function(results) {
  40.  
  41. return results;
  42.  
  43. });
  44.  
  45. }else if(model == 'employees'){
  46. models.employees.findById(model_id).then(function(results) {
  47.  
  48. return results;
  49.  
  50. });
  51. }
  52. }
  53. }});
  54.  
  55. return user;
  56.  
  57. }
  58.  
  59. models.users.findById(req.params.id).then(function(results) {
  60. if(results)
  61. console.log(models.users.morphTo(models, results.dataValues.model_id, results.dataValues.model));
  62. else
  63. res.status(204).send();
  64. });
  65.  
  66. Executing (default): SELECT `id`, `crm` FROM `medics` AS `medics` WHERE `medics`.`id` = 1
  67.  
  68. models.users.findById(req.params.id).then(function(results) {
  69. if(results) {
  70. models.users.morphTo(models, results.dataValues.model_id, results.dataValues.model).then(function(result) {
  71. console.log('This is your result:', result);
  72. });
  73. } else {
  74. res.status(204).send();
  75. }
  76. });
  77.  
  78. morphTo: function(models, model_id, model){
  79. if(model == 'medics'){
  80. return models.medics.findById(model_id);
  81. }else if(model == 'employees'){
  82. return models.employees.findById(model_id);
  83. }
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement