reducers.js 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. import {
  2. GET_DOCTORS_REQUEST,
  3. GET_DOCTORS_REQUEST_SUCCESS,
  4. GET_DOCTORS_REQUEST_FAIL,
  5. GET_SERVICES_REQUEST,
  6. GET_SERVICES_REQUEST_SUCCESS,
  7. GET_SERVICES_REQUEST_FAIL,
  8. POST_DOCTORS_REQUEST,
  9. POST_DOCTORS_REQUEST_SUCCESS,
  10. POST_DOCTORS_REQUEST_FAIL
  11. } from './actions'
  12. const defaultState = {
  13. doctors:[ ],
  14. services:{
  15. service1:{id:1},
  16. service2:{id:2},
  17. service3:{id:3},
  18. service4:{id:4},
  19. service5:{id:5},
  20. service6:{id:6},
  21. service7:{id:7},
  22. service8:{id:8},
  23. service9:{id:9},
  24. },
  25. isFetching:false,
  26. error: null,
  27. };
  28. // -----------------------------------------------------------------------------------------------------------------
  29. export const appReducer = (state = defaultState,action) => {
  30. switch (action.type) {
  31. // -----------------------------------------------------------------------------------------------------------------
  32. case GET_DOCTORS_REQUEST : {
  33. return {
  34. ...state,
  35. isFetching: true
  36. };
  37. }
  38. case GET_DOCTORS_REQUEST_SUCCESS : {
  39. return {
  40. ...state,
  41. doctors:action.payload,
  42. isFetching: false
  43. }
  44. }
  45. case GET_DOCTORS_REQUEST_FAIL : {
  46. return {
  47. ...state,
  48. error:action.payload,
  49. isFetching: false
  50. }
  51. }
  52. // -----------------------------------------------------------------------------------------------------------------
  53. case GET_SERVICES_REQUEST : {
  54. return {
  55. ...state,
  56. isFetching: true
  57. };
  58. }
  59. case GET_SERVICES_REQUEST_SUCCESS : {
  60. return {
  61. ...state,
  62. services:action.payload,
  63. isFetching: false
  64. }
  65. }
  66. case GET_SERVICES_REQUEST_FAIL : {
  67. return {
  68. ...state,
  69. error:action.payload,
  70. isFetching: false
  71. }
  72. }
  73. // -----------------------------------------------------------------------------------------------------------------
  74. case POST_DOCTORS_REQUEST : {
  75. return {
  76. ...state,
  77. isFetching: true
  78. };
  79. }
  80. case POST_DOCTORS_REQUEST_SUCCESS : {
  81. return {
  82. ...state,
  83. isFetching: false
  84. }
  85. }
  86. case POST_DOCTORS_REQUEST_FAIL : {
  87. return {
  88. ...state,
  89. error: action.payload,
  90. isFetching: false
  91. }
  92. }
  93. // _______________________________________________________________________________
  94. default:
  95. return state
  96. }
  97. };