{"version":3,"file":"reviewService-88e6beaf.js","sources":["../../../app/frontend/javascript/services/reviewService.js"],"sourcesContent":["import axios from 'axios';\nimport { handleErrorFromRequest } from '@services/handleErrorService.js';\naxios.defaults.headers.common['X-CSRF-Token'] = document.querySelector('meta[name=\"csrf-token\"]').getAttribute('content');\n\nexport async function updateReviewComment(id, { comment }) {\n try {\n await axios.put(`/reviews/${id}/comment`, { comment }, { headers: { Accept: 'application/json' } });\n return true;\n } catch (error) {\n handleErrorFromRequest(error);\n }\n}\n\nexport async function updateSurveyReviewComment(id, { comment }) {\n try {\n await axios.put(`/survey_reviews/${id}/update_comment`, { comment }, { headers: { Accept: 'application/json' } });\n return true;\n } catch (error) {\n handleErrorFromRequest(error);\n }\n}\n\nexport async function updateReviewStatus(id, { status }) {\n try {\n const response = await axios.put(`/reviews/${id}/update_review_status`, { status }, { headers: { Accept: 'application/json' } });\n return { status: response.status, success: response.data.success, error: response.data.error };\n } catch (error) {\n handleErrorFromRequest(error);\n }\n}\n\nexport async function deleteGoogleReviewResponse({ reviewId, clinicId }) {\n try {\n let url = `/clinics/${clinicId}/google_reviews/${reviewId}`;\n const res = await axios.delete(url);\n return res;\n } catch (error) {\n handleErrorFromRequest(error);\n }\n}\n\nexport async function submitReviewResponse({ reviewResponse, reviewId, responseTemplateName }) {\n let url = `/reviews/${reviewId}/review_response`;\n try {\n const res = await axios.put(\n url,\n { review: { id: reviewId, response: reviewResponse, response_template_name: responseTemplateName || null } },\n { headers: { Accept: 'application/json' } },\n );\n return res;\n } catch (error) {\n handleErrorFromRequest(error);\n }\n}\n\nexport async function submitSurveyReviewResponse({ reviewResponse, reviewId }) {\n let url = `/survey_reviews/${reviewId}/update_response`;\n try {\n const res = await axios.put(url, { survey_review: { id: reviewId, response: reviewResponse } }, { headers: { Accept: 'application/json' } });\n return res;\n } catch (error) {\n handleErrorFromRequest(error);\n }\n}\n\nexport async function submitGoogleReviewResponse({ reviewResponse, reviewId, clinicId }) {\n let url = `/clinics/${clinicId}/google_reviews/${reviewId}/reply`;\n try {\n const res = await axios.put(url, { google_review: { id: reviewId, message: reviewResponse } }, {});\n return res;\n } catch (error) {\n handleErrorFromRequest(error);\n }\n}\n\nexport async function submitSendReviewToConnector({ reviewId, clinicId, type }) {\n try {\n let url = '';\n let res = undefined;\n if (type === 'google') {\n url = `/clinics/${clinicId}/google_reviews/${reviewId}/send_to_connector`;\n res = await axios.put(url, { google_review: { id: reviewId } }, { headers: { Accept: 'application/json' } });\n } else {\n url = `/reviews/${reviewId}/send_to_connector`;\n res = await axios.put(url, { review: { id: reviewId } }, { headers: { Accept: 'application/json' } });\n }\n return res;\n } catch (error) {\n handleErrorFromRequest(error);\n }\n}\n\nexport async function createReviewResponseTemplate({ clinicId, reviewResponse, templateName }) {\n let url = `/clinics/${clinicId}/review_response_templates`;\n try {\n const res = await axios.post(url, {\n review_response_template: {\n content: reviewResponse,\n name: templateName,\n },\n });\n return res;\n } catch (error) {\n handleErrorFromRequest(error);\n }\n}\n\nexport async function updateReviewResponseTemplate({ reviewResponse, reviewResponseTemplateId, templateName }) {\n let url = `/review_response_templates/${reviewResponseTemplateId}`;\n try {\n const res = await axios.put(\n url,\n { review_response_template: { content: reviewResponse, name: templateName } },\n { headers: { Accept: 'application/json' } },\n );\n return res;\n } catch (error) {\n handleErrorFromRequest(error);\n }\n}\n\nexport async function updateGoogleReviewResponseTemplate({ googleReviewResponse, googleReviewResponseTemplateId, googleReviewResponseTemplateName }) {\n let url = `/google_review_response_templates/${googleReviewResponseTemplateId}`;\n try {\n const res = await axios.put(url, { google_review_response_template: { content: googleReviewResponse, name: googleReviewResponseTemplateName } });\n return res;\n } catch (error) {\n handleErrorFromRequest(error);\n }\n}\n\nexport async function fetchSuggestionAi({ reviewId }) {\n let url = `/reviews/${reviewId}/fetch_suggestion_ai`;\n return axios.get(url, { headers: { Accept: 'application/json' }, timeout: 15000 });\n}\n\nexport async function createGoogleReviewResponseTemplate({ clinicId, reviewResponse, templateName, ratingSentiment, templateOrder, mode }) {\n let url = `/clinics/${clinicId}/google_review_response_templates`;\n try {\n const res = await axios.post(url, {\n google_review_response_template: {\n content: reviewResponse,\n name: templateName,\n rating_sentiment: ratingSentiment,\n order: templateOrder,\n mode: mode,\n },\n });\n return res;\n } catch (error) {\n handleErrorFromRequest(error);\n }\n}\n\nexport async function deleteGoogleReviewResponseTemplate({ googleReviewResponseTemplateId }) {\n let url = `/google_review_response_templates/${googleReviewResponseTemplateId}`;\n try {\n const res = await axios.delete(url);\n return res;\n } catch (error) {\n handleErrorFromRequest(error);\n }\n}\n\nexport async function deleteReviewResponseTemplate({ reviewResponseTemplateId }) {\n let url = `/review_response_templates/${reviewResponseTemplateId}`;\n try {\n const res = await axios.delete(url);\n return res;\n } catch (error) {\n handleErrorFromRequest(error);\n }\n}\n\nexport async function fetchGoogleSuggestionAi({ googleReviewId, clinicId }) {\n let url = `/clinics/${clinicId}/google_reviews/${googleReviewId}/fetch_suggestion_ai`;\n return axios.get(url, { headers: { Accept: 'application/json' }, timeout: 15000 });\n}\n\nexport async function fetchGoogleReviewResponseTemplateSuggestionAi({ clinicId, ratingSentiment }) {\n let url = `/clinics/${clinicId}/google_review_response_templates/fetch_suggestion_ai`;\n return axios.get(url, {\n headers: { Accept: 'application/json' },\n params: { rating_sentiment: ratingSentiment },\n timeout: 15000,\n });\n}\n\nexport async function updateUserPreferenceToHideIaAlertMessage() {\n let url = `/users/update_user_preference_to_hide_ia_alert_message`;\n return axios.put(url, {}, { headers: { Accept: 'application/json' } });\n}\n\nexport async function activateAutomaticGoogleReviewResponseFeature({ clinicId, sentiment }) {\n let url = `/automatic_response_settings/${clinicId}/define_automatic_response_to_google_reviews_feature_activation`;\n const key_to_activate = `activate_${sentiment}`;\n return axios.put(url, { [key_to_activate]: true }, { headers: { Accept: 'application/json' } });\n}\nexport async function deactivateAutomaticGoogleReviewResponseFeature({ clinicId, sentiment }) {\n let url = `/automatic_response_settings/${clinicId}/define_automatic_response_to_google_reviews_feature_activation`;\n const key_to_activate = `activate_${sentiment}`;\n return axios.put(url, { [key_to_activate]: false }, { headers: { Accept: 'application/json' } });\n}\n\nexport async function boostReview({ reviewId }) {\n let url = `/reviews/${reviewId}/boost`;\n return axios.post(url, { headers: { Accept: 'application/json' } });\n}\n"],"names":["axios","updateReviewComment","id","comment","error","handleErrorFromRequest","updateSurveyReviewComment","updateReviewStatus","status","response","deleteGoogleReviewResponse","reviewId","clinicId","url","submitReviewResponse","reviewResponse","responseTemplateName","submitSurveyReviewResponse","submitGoogleReviewResponse","submitSendReviewToConnector","type","res","createReviewResponseTemplate","templateName","updateReviewResponseTemplate","reviewResponseTemplateId","updateGoogleReviewResponseTemplate","googleReviewResponse","googleReviewResponseTemplateId","googleReviewResponseTemplateName","fetchSuggestionAi","createGoogleReviewResponseTemplate","ratingSentiment","templateOrder","mode","deleteGoogleReviewResponseTemplate","deleteReviewResponseTemplate","fetchGoogleSuggestionAi","googleReviewId","fetchGoogleReviewResponseTemplateSuggestionAi","updateUserPreferenceToHideIaAlertMessage","activateAutomaticGoogleReviewResponseFeature","sentiment","key_to_activate","deactivateAutomaticGoogleReviewResponseFeature","boostReview"],"mappings":"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"}