Guest User

Untitled

a guest
Aug 21st, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.14 KB | None | 0 0
  1. coach.getSchedule({
  2. attributes: [dateToLowerCase]
  3. })
  4.  
  5. // schedule.set(day, hoursString)
  6.  
  7. module.exports = (sequelize, DataTypes) => {
  8. var Schedule = sequelize.define('Schedule', {
  9. start_date: DataTypes.DATEONLY,
  10. end_date: DataTypes.DATEONLY,
  11. monday: DataTypes.STRING(24),
  12. tuesday: DataTypes.STRING(24),
  13. wednesday: DataTypes.STRING(24),
  14. thursday: DataTypes.STRING(24),
  15. friday: DataTypes.STRING(24),
  16. saturday: DataTypes.STRING(24),
  17. sunday: DataTypes.STRING(24)
  18. }, {
  19. freezeTableName: true
  20. });
  21. Schedule.associate = function (models) {
  22. Schedule.belongsTo(models.Coach, {
  23. foreignKey: 'fk_id_coach'
  24. })
  25. };
  26. return Schedule;
  27. };
  28.  
  29. exports.updateCoachSchedule = (req, res) => {
  30. const coachId = req.body.coachId
  31. const day = req.body.day;
  32. const indexArray = req.body.indexArray;
  33. Coach.find({
  34. where: {
  35. id: coachId
  36. }
  37. }).then((coach) => {
  38. if (!coach) {
  39. return res.status(404).json({
  40. message: "Coach inexistant"
  41. })
  42. }
  43. dateToLowerCase = day.toLowerCase();;
  44.  
  45. coach.getSchedule({
  46. attributes: [dateToLowerCase]
  47. }).then(schedule => {
  48. if (!schedule) {
  49. return res.status(404).json({
  50. message: 'Pas d'horaire.'
  51. })
  52. }
  53. const stringRetrieved = schedule.dataValues
  54. const chainOfStringSchedule = stringRetrieved[Object.keys(schedule.dataValues)[0]]
  55. hours = transformChainSchedule(chainOfStringSchedule)
  56.  
  57. for (var i = 0; i < hours.length; i++) {
  58. hours[i] = indexArray.includes(i) ? "1" : "0";
  59. }
  60.  
  61. const hoursString = hours.join("")
  62.  
  63.  
  64.  
  65. schedule.set(day, hoursString).save().then(() => {
  66. res.status(200).json({
  67. message: "Schedule modified !",
  68. schedule
  69.  
  70. })
  71. }).catch(err => {
  72. res.json({
  73. err
  74. })
  75. })
  76.  
  77.  
  78.  
  79. })
  80. .catch(err => {
  81. res.status(500).json({
  82. error: err
  83. })
  84. })
  85. })
Add Comment
Please, Sign In to add comment