You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

resort.js 5.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. /* eslint-disable no-restricted-syntax */
  2. /* eslint-disable guard-for-in */
  3. /* eslint-disable */
  4. import axios from "axios";
  5. import { reject } from "core-js/fn/promise";
  6. export default {
  7. namespaced: true,
  8. state: {
  9. resorts: [],
  10. resort: {},
  11. images: [],
  12. layout: "",
  13. description: "",
  14. resortMedia: undefined,
  15. resortsWithListings: []
  16. },
  17. mutations: {
  18. setResort(state, resort) {
  19. state.resort = resort;
  20. },
  21. setDescription(state, description) {
  22. state.description = description;
  23. },
  24. addImage(state, image) {
  25. state.images.push(`data:image/jpeg;base64,${image}`);
  26. },
  27. clear(state) {
  28. state.resort = {};
  29. state.images = [];
  30. state.layout = "";
  31. },
  32. setLayout(state, image) {
  33. state.layout = `data:image/jpeg;base64,${image}`;
  34. },
  35. setResorts(state, list) {
  36. state.resorts = list;
  37. },
  38. setResortMedia(state, media) {
  39. state.resortMedia = media;
  40. },
  41. setResortsWithListings(state, data){
  42. state.resortsWithListings = data
  43. }
  44. },
  45. getters: {},
  46. actions: {
  47. async initResort({ commit, dispatch }, resortCode) {
  48. commit("clear");
  49. await dispatch("getResort", resortCode);
  50. dispatch("getDescription", resortCode);
  51. dispatch("getImage1", resortCode);
  52. dispatch("getImage2", resortCode);
  53. dispatch("getImage3", resortCode);
  54. dispatch("getImage4", resortCode);
  55. dispatch("getImage5", resortCode);
  56. dispatch("getLayout", resortCode);
  57. },
  58. getDescription({ commit }, resortCode) {
  59. axios
  60. .get(
  61. `https://www.tradeunipoint.com/unibackend/seam/resource/rest/products/${resortCode}/dsc`
  62. )
  63. .then(result => {
  64. commit("setDescription", result.data);
  65. })
  66. .catch(console.error);
  67. },
  68. getResort({ commit }, resortCode) {
  69. axios
  70. .get(
  71. `https://www.tradeunipoint.com/unibackend/seam/resource/rest/products/TRESORT/${resortCode}`
  72. )
  73. .then(result => {
  74. commit("setResort", result.data);
  75. console.log(result.data);
  76. })
  77. .catch(console.error);
  78. },
  79. async getImage1({ commit }, resortCode) {
  80. return axios
  81. .get(
  82. `https://www.tradeunipoint.com/unibackend/seam/resource/rest/products/${resortCode}/image/1`
  83. )
  84. .then(result => {
  85. commit("addImage", result.data);
  86. return Promise.resolve(result.data);
  87. })
  88. .catch(console.error);
  89. },
  90. getImage2({ commit }, resortCode) {
  91. axios
  92. .get(
  93. `https://www.tradeunipoint.com/unibackend/seam/resource/rest/products/${resortCode}/image/2`
  94. )
  95. .then(result => commit("addImage", result.data))
  96. .catch(console.error);
  97. },
  98. getImage3({ commit }, resortCode) {
  99. axios
  100. .get(
  101. `https://www.tradeunipoint.com/unibackend/seam/resource/rest/products/${resortCode}/image/3`
  102. )
  103. .then(result => commit("addImage", result.data))
  104. .catch(console.error);
  105. },
  106. getImage4({ commit }, resortCode) {
  107. axios
  108. .get(
  109. `https://www.tradeunipoint.com/unibackend/seam/resource/rest/products/${resortCode}/image/4`
  110. )
  111. .then(result => {
  112. if (result.data && result.data.length > 0) {
  113. commit("addImage", result.data);
  114. }
  115. })
  116. .catch(console.error);
  117. },
  118. getImage5({ commit }, resortCode) {
  119. axios
  120. .get(
  121. `https://www.tradeunipoint.com/unibackend/seam/resource/rest/products/${resortCode}/image/5`
  122. )
  123. .then(result => {
  124. if (result.data && result.data.length > 0) {
  125. commit("addImage", result.data);
  126. }
  127. })
  128. .catch(console.error);
  129. },
  130. getLayout({ commit }, resortCode) {
  131. axios
  132. .get(
  133. `https://www.tradeunipoint.com/unibackend/seam/resource/rest/products/${resortCode}/layout`
  134. )
  135. .then(result => commit("setLayout", result.data))
  136. .catch(console.error);
  137. },
  138. getResorts({ commit }, regionCode) {
  139. return new Promise((resolve, reject) => {
  140. axios
  141. .get(`/api/resort/${regionCode}`)
  142. .then(result => {
  143. commit("setResorts", result.data);
  144. resolve();
  145. })
  146. .catch(error => reject(new Error(error.message)));
  147. });
  148. },
  149. getResortMedia({ commit }, resortCode) {
  150. axios
  151. .get(
  152. `https://www.tradeunipoint.com/unibackend/seam/resource/rest/products/social/${resortCode}`
  153. )
  154. .then(result => commit("setResortMedia", result.data));
  155. },
  156. async getResortData({ commit }, resortCode) {
  157. await axios
  158. .get(`/api/resort/GetResortData/${resortCode}`)
  159. .then(result => {
  160. commit("setResort", result.data);
  161. })
  162. .catch(error => console.log(new Error(error.message)));
  163. },
  164. async getResortWithListings({commit}, resortCode){
  165. await axios.get("/api/resort/GetPublishedResortsWithListings").then(result => {
  166. commit("setResortsWithListings", result.data)
  167. })
  168. }
  169. }
  170. };