actionCatById.js 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. import { mock, query } from '../helpers';
  2. import { actionPromise } from '../reducers';
  3. export const actionCatById = (_id) => async (dispatch, getState) => {
  4. dispatch(
  5. actionPromise(
  6. 'catById',
  7. new Promise((resolve) => {
  8. setTimeout(
  9. Math.random() > 0.01
  10. ? resolve({
  11. data: {
  12. _id: 1,
  13. name: 'Category 1',
  14. subcategories: [
  15. { _id: 11, name: 'Category 1' },
  16. { _id: 12, name: 'Category 1' },
  17. ],
  18. goods: [
  19. {
  20. _id: 1,
  21. name: 'Good 1',
  22. description: 'adaadasda asasd asd asd asd asd ',
  23. price: '999',
  24. amount: 9999,
  25. images: [
  26. {
  27. _id: 1,
  28. url: 'https://content2.rozetka.com.ua/goods/images/big/183546719.jpg',
  29. },
  30. {
  31. _id: 2,
  32. url: 'https://content2.rozetka.com.ua/goods/images/big/183546719.jpg',
  33. },
  34. ],
  35. },
  36. {
  37. _id: 2,
  38. name: 'Good 2',
  39. description: 'adaadasda asasd asd asd asd asd ',
  40. price: '999',
  41. amount: 9999,
  42. images: [
  43. {
  44. _id: 1,
  45. url: 'https://content2.rozetka.com.ua/goods/images/big/183546719.jpg',
  46. },
  47. {
  48. _id: 2,
  49. url: 'https://content2.rozetka.com.ua/goods/images/big/183546719.jpg',
  50. },
  51. ],
  52. },
  53. {
  54. _id: 3,
  55. name: 'Good 3',
  56. description: 'adaadasda asasd asd asd asd asd ',
  57. price: '999',
  58. amount: 9999,
  59. images: null,
  60. },
  61. {
  62. _id: 4,
  63. name: 'Good 4',
  64. description: 'adaadasda asasd asd asd asd asd ',
  65. price: '999',
  66. amount: 9999,
  67. images: [
  68. {
  69. _id: 1,
  70. url: 'https://content2.rozetka.com.ua/goods/images/big/183546719.jpg',
  71. },
  72. {
  73. _id: 2,
  74. url: 'https://content2.rozetka.com.ua/goods/images/big/183546719.jpg',
  75. },
  76. ],
  77. },
  78. {
  79. _id: 5,
  80. name: 'Good 5',
  81. description: 'adaadasda asasd asd asd asd asd ',
  82. price: '999',
  83. amount: 9999,
  84. images: [
  85. {
  86. _id: 1,
  87. url: 'https://content2.rozetka.com.ua/goods/images/big/183546719.jpg',
  88. },
  89. {
  90. _id: 2,
  91. url: 'https://content2.rozetka.com.ua/goods/images/big/183546719.jpg',
  92. },
  93. ],
  94. },
  95. {
  96. _id: 6,
  97. name: 'Good 6',
  98. description: 'adaadasda asasd asd asd asd asd ',
  99. price: '999',
  100. amount: 9999,
  101. images: [
  102. {
  103. _id: 1,
  104. url: 'https://content2.rozetka.com.ua/goods/images/big/183546719.jpg',
  105. },
  106. {
  107. _id: 2,
  108. url: 'https://content2.rozetka.com.ua/goods/images/big/183546719.jpg',
  109. },
  110. ],
  111. },
  112. ],
  113. },
  114. })
  115. : resolve({
  116. errors: [{ message: 'Error adsasdadas' }],
  117. }),
  118. 400
  119. );
  120. })
  121. // .then((res) => res.json())
  122. .then((data) => {
  123. console.log(data);
  124. if (data.errors) {
  125. throw new Error(JSON.stringify(data.errors));
  126. } else return data.data;
  127. })
  128. )
  129. );
  130. };