Advertisement
Guest User

Untitled

a guest
Jun 15th, 2019
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.72 KB | None | 0 0
  1. const Sequelize = require('sequelize')
  2. const db = require('../database/db.js')
  3. const Country = require('./Country')
  4.  
  5. const User = db.sequelize.define('user',
  6. {
  7. id: {
  8. type: Sequelize.INTEGER,
  9. primaryKey: true,
  10. autoIncrement: true
  11. },
  12. name: {
  13. type: Sequelize.STRING
  14. },
  15. firstName: {
  16. type: Sequelize.STRING
  17. },
  18. password: {
  19. type: Sequelize.STRING
  20. },
  21. admin: {
  22. type: Sequelize.TINYINT
  23. }
  24. },
  25. {
  26. freezeTableName: true,
  27. timestamps: false,
  28. });
  29. User.associate = () => {
  30. User.belongsToMany(Country, {
  31. through: 'Country_user',
  32. as: 'country',
  33. foreignKey: 'id_user'
  34. });
  35. };
  36.  
  37. module.exports = User
  38.  
  39. const Sequelize = require('sequelize')
  40. const db = require('../database/db.js')
  41. const User = require('./User')
  42.  
  43. const Country = db.sequelize.define('country',
  44. {
  45. id: {
  46. type: Sequelize.INTEGER,
  47. primaryKey: true,
  48. autoIncrement: true
  49. },
  50. code: {
  51. type: Sequelize.INTEGER
  52. },
  53. alpha2: {
  54. type: Sequelize.STRING
  55. },
  56. alpha3: {
  57. type: Sequelize.STRING
  58. },
  59. name_en: {
  60. type: Sequelize.STRING
  61. },
  62. name_fr: {
  63. type: Sequelize.STRING
  64. }
  65. },
  66. {
  67. freezeTableName: true,
  68. timestamps: false
  69. });
  70. Country.associate = () => {
  71. Country.belongsToMany(User, {
  72. through: 'Country_user',
  73. as: 'user',
  74. foreignKey: 'id_country'
  75. });
  76. };
  77.  
  78. module.exports = Country;
  79.  
  80. const Sequelize = require('sequelize')
  81. const db = require('../database/db.js')
  82.  
  83. const Country_user = db.sequelize.define('country_user', {
  84. id_user: {
  85. type: Sequelize.INTEGER,
  86. allowNull: false,
  87. references: {
  88. model: 'User',
  89. key: 'id'
  90. }
  91. },
  92. id_country: {
  93. type: Sequelize.INTEGER,
  94. allowNull: false,
  95. references: {
  96. model: 'Country',
  97. key: 'id'
  98. }
  99. }
  100. });
  101.  
  102. module.exports = Country_user
  103.  
  104. var express = require('express')
  105. var router = express.Router()
  106. const User = require('../../models/User')
  107. const Country = require('../../models/Country')
  108.  
  109. router.get('/user', function(req, res, next){
  110. User.findAll({
  111. include: [{
  112. model: Country,
  113. as: 'country',
  114. attributes: ['id', 'name_fr'],
  115. through: { attributes: [] }
  116. }]
  117. })
  118. .then(user => {
  119. res.json(user)
  120. })
  121. .catch(err => {
  122. res.send('error: ' + err)
  123. })
  124. })
  125.  
  126. module.exports = router
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement