{"version":3,"sources":["actions/appointment.js","config/api-codes.js","actions/clinics.js","actions/auth.js","api/clinics-axios.js","views/templates/no-auth-router/Header.jsx","views/templates/no-auth-router/Footer.jsx","routers/AuthRouter.js","routers/NoAuthRouter.js","App.js","serviceWorker.js","reducers/auth.js","reducers/signup.js","reducers/appointment.js","reducers/payment.js","reducers/clinics.js","reducers/index.js","api/records.js","sagas/auth.js","sagas/signup.js","api/product-api-find.js","api/diary-api-find.js","api/diary-day-api-find.js","api/time-slots-api.js","api/payment-card-find.js","api/check-time-slots-api.js","sagas/appointment.js","api/payment-api.js","sagas/payment.js","api/clinic-api-find.js","sagas/clinics.js","sagas/index.js","config/history.js","index.js","config/store.js","api/index.js","config/routes.js","actions/signup.js","config/labels.js","api/find.js","actions/payment.js","helpers/toast.js","config/constants.js","assets/images/logo.png","assets/images/orange-blue.png"],"names":["FIND_APPOINTMENT_TYPES_REQUEST","FIND_APPOINTMENT_TYPES_SUCCESS","FIND_APPOINTMENT_TYPES_ERROR","FIND_DIARY_REQUEST","FIND_DIARY_SUCCESS","FIND_DIARY_ERROR","FIND_DIARY_DAY_REQUEST","FIND_DIARY_DAY_SUCCESS","FIND_DIARY_DAY_ERROR","FIND_TIME_SLOTS_REQUEST","FIND_TIME_SLOTS_SUCCESS","FIND_TIME_SLOTS_ERROR","FIND_PACKAGES_REQUEST","FIND_PACKAGES_SUCCESS","FIND_PACKAGES_ERROR","CHECK_TIMESLOTS_REQUEST","CHECK_TIMESLOTS_SUCCESS","CHECK_TIMESLOTS_ERROR","FIND_CARDS_REQUEST","FIND_CARDS_SUCCESS","FIND_CARDS_ERROR","findAppointmentTypesRequest","payload","type","findAppointmentTypesSuccess","data","findAppointmentTypesError","error","findDiaryRequest","findDiarySuccess","findDiaryError","findDiaryDayRequest","findDiaryDaySuccess","findDiaryDayError","findTimeSlotsRequest","findTimeSlotsSuccess","findTimeSlotsError","findPackagesRequest","findPackagesSuccess","findPackagesError","checkTimeslotsRequest","checkTimeslotsSuccess","checkTimeslotsError","findCardsRequest","findCardsSuccess","findCardsError","API_CODES","SUCCESS","TOKEN_NOT_FOUND","NOT_UNIQUE_VALIDATION","INVALID_TOKEN","GET_PATIENT_CLINICS_REQUEST","GET_PATIENT_CLINICS_SUCCESS","GET_PATIENT_CLINICS_ERROR","GET_ALL_CLINICS_REQUEST","GET_ALL_CLINICS_SUCCESS","GET_ALL_CLINICS_ERROR","GET_SINGLE_CLINIC_REQUEST","GET_SINGLE_CLINIC_SUCCESS","GET_SINGLE_CLINIC_ERROR","ADD_PATIENT_CLINIC_REQUEST","ADD_PATIENT_CLINIC_SUCCESS","ADD_PATIENT_CLINIC_ERROR","ADD_PATIENT_REQUEST","ADD_PATIENT_SUCCESS","ADD_PATIENT_ERROR","getPatientClinicsRequest","getPatientClinicsSuccess","getPatientClinicsError","getSingleClinicRequest","getSingleClinicSuccess","getSingleClinicError","getAllClinicsSuccess","getAllClinicsError","addPatientClinicRequest","addPatientClinicSuccess","addPatientClinicError","addPatientRequest","addPatientSuccess","addPatientError","USER_LOGIN_REQUEST","USER_LOGIN_SUCCESS","USER_LOGIN_ERROR","USER_FP_REQUEST","USER_FP_SUCCESS","USER_FP_ERROR","USER_LOGOUT_REQUEST","USER_LOGOUT_SUCCESS","USER_LOGOUT_ERROR","SET_USER_LOGIN_TITLE","userLoginRequest","userLoginSuccess","userLoginError","userFpRequest","userFpSuccess","userFpError","setUserLoginTitle","title","desc","userLogoutRequest","userLogoutSuccess","userLogoutError","clinicAxios","axios","create","apiError","status","message","_data","isObject","JSON","parse","toString","stringify","postRequest","_url","authToken","BaseUrl","process","_headers","url","headers","Accept","CLINIC_BASE_URL_HEADER_KEY","Authorization","localStorage","getItem","CLINIC_TOKEN_LOCAL_STORAGE_KEY","method","then","response","setItem","CLINIC_SESSION_KEY","catch","request","interceptors","use","UNAUTHORIZED_STATUS","messages","code","BAD_REQUEST","config","credentails","btoa","token","getAuthorizedToken","Promise","resolve","reject","res","err","Header","handleLogout","props","dispatch","TOKEN_LOCAL_STORAGE_KEY","prevProps","this","logoutLoading","logoutSuccess","removeItem","LOGGED_USER_DETAILS_LOCAL_STORAGE_KEY","LOGGED_USER_SESSION_KEY","history","push","routes","LOGIN","Toast","SOMETHING_WENT_WRONG","id","className","onClick","href","src","Logo","alt","Component","withRouter","connect","state","auth","get","logoutError","Footer","AuthRouter","children","rest","render","location","to","pathname","from","NoAuthRouter","BASEPATH","Home","lazy","Login","Register","ForgotPassword","NotFound","App","fallback","path","exact","REGISTER","FORGOT_PASSWORD","component","autoClose","Boolean","window","hostname","match","initialState","Map","loginLoading","loginData","loginUserDetails","loginError","loginTitle","loginDesc","fpLoading","fpData","fpError","userLoading","userData","userError","actionMap","action","merge","fieldData","settings","signUpLoading","signUpData","signUpError","USER_SIGNUP_REQUEST","USER_SIGNUP_SUCCESS","USER_SIGNUP_ERROR","USER_SIGNUP_EMAIL_DUPLICATE","EMAIL_ALREADY_IN_USE","findAppointmentTypesLoading","findAppointmentTypesData","findDiaryLoading","findDiaryData","findDiaryDayLoading","findDiaryDayData","findTimeSlotsLoading","findTimeSlotsData","findPackagesLoading","findPackagesData","checkTimeslotsLoading","checkTimeslotsData","findCardsLoading","findCardsData","createInvoiceLoading","createInvoiceData","createInvoiceError","createReceiptLoading","createReceiptData","createReceiptError","initiatePaymentLoading","initiatePaymentData","initiatePaymentError","confirmPaymentLoading","confirmPaymentData","confirmPaymentError","findReceiptLoading","findReceiptData","findReceiptError","getConformationLoading","getConformationData","getConformationError","bookFinalSlotLoading","bookFinalSlotData","bookFinalSlotError","bookSlotLoading","bookSlotData","bookSlotError","addAppointmentLoading","addAppointmentSuccess","addAppointmentError","addPreviousAppointmentLoading","addPreviousAppointmentData","addPreviousAppointmentError","addInvoiceLoading","addInvoiceSuccess","addInvoiceError","addReceiptLoading","addReceiptSuccess","addReceiptError","selectedSavedCard","CREATE_INVOICE_REQUEST","CREATE_INVOICE_SUCCESS","CREATE_INVOICE_ERROR","CREATE_RECEIPT_REQUEST","CREATE_RECEIPT_SUCCESS","CREATE_RECEIPT_ERROR","INITIATE_PAYMENT_REQUEST","INITIATE_PAYMENT_SUCCESS","INITIATE_PAYMENT_ERROR","CONFIRM_PAYMENT_REQUEST","CONFIRM_PAYMENT_SUCCESS","CONFIRM_PAYMENT_ERROR","FIND_RECEIPT_REQUEST","FIND_RECEIPT_SUCCESS","FIND_RECEIPT_ERROR","GET_CONFORMATION_REQUEST","GET_CONFORMATION_SUCCESS","GET_CONFORMATION_ERROR","BOOK_SLOT_FINAL_REQUEST","BOOK_SLOT_FINAL_SUCCESS","BOOK_SLOT_FINAL_ERROR","BOOK_SLOT_REQUEST","BOOK_SLOT_SUCCESS","BOOK_SLOT_ERROR","ADD_APPOINTMENT_REQUEST","addAppointmentData","ADD_APPOINTMENT_SUCCESS","ADD_APPOINTMENT_ERROR","ADD_PREVIOUS_APPOINTMENT_REQUEST","ADD_PREVIOUS_APPOINTMENT_SUCCESS","ADD_PREVIOUS_APPOINTMENT_ERROR","ADD_INVOICE_REQUEST","addInvoiceData","ADD_INVOICE_SUCCESS","ADD_INVOICE_ERROR","ADD_RECEIPT_REQUEST","addReceiptData","ADD_RECEIPT_SUCCESS","ADD_RECEIPT_ERROR","SELECT_SAVED_CARD","card","patientClinicLoading","patientClinicData","patientClinics","patientClinicsCardsInfo","patientClinicDeleteCard","clinicRecordId","ID_PaymentCard","cardNumber","baseUrl","loading","deleteStatus","patientClinicError","singleClinicLoading","singleClinicData","singleClinicError","addClinicLoading","addClinicData","addClinicError","addPatientLoading","addPatientData","cardInfo","map","o","recordId","isOpen","cards","addCardsInfoToPatientClinics","allClinicLoading","allClinicData","allClinics","allClinicError","combineReducers","fn","signup","appointment","payment","clinics","form","formReducer","findUri","userSignUp","authKey","forgotPassword","userAuthWatcher","takeLatest","actions","session_payload","email","password","call","findApi","createSession","create_session","scriptError","_payload","userLogin","put","userDetails","recordsApi","logout","userSignupWatcher","nameFirst","nameLast","phoneMobile","address1","address2","addressTown","addressCounty","addressPostcode","country","dateOfBirth","userSignUpSuccess","userSignUpError","userSignUpDuplicateEmail","findAppointments","query","findDiary","findTimeSlot","findPaymentCards","checkfindTimeSlots","findProductApi","diaryApi","diaryDayApi","timeSlotsApi","checkTimeSlotsApi","paymentCardApi","paymentUri","createInvoice","clinicPostRequest","createReceipt","initiatePayment","confirmPayment","findReceipt","getConfirmation","bookFinalSlot","bookSlot","addAppointment","addInvoice","addReceipt","profileAuthWatcher","payment_api","createInvoiceSuccess","createReceiptSuccess","initiatePaymentSuccess","confirmPaymentSuccess","findReceiptSuccess","getConformationSuccess","bookFinalSlotSuccess","bookSlotSuccess","addPreviousAppointmentSuccess","getAllClinics","getPatientClinics","getSingleClinic","addPatientClinic","addPatient","patientClinicAddPatient","combineData","scriptResult","idPatient","idClinic","ID_Patient","combinedPatientPayload","patientClinicAddPatientRes","sessionId","search","rootSaga","all","createBrowserHistory","ReactDOM","store","sagaMiddleware","createSagaMiddleware","composeEnhancers","composeWithDevTools","createStore","rootReducer","applyMiddleware","run","configureStore","document","getElementById","navigator","serviceWorker","ready","registration","unregister","console","deleteRequest","userSignUpRequest","INVALID_EMAIL_OR_PASSWORD","FORGOT_PASSWORD_SUCCESS","FORGOT_PASSWORD_EMAIL_NOT_FOUND","CONGRATULATIONS","NO_DATA_FOUND_FROM_POSTCODE","CONGRATULATIONS_DESC","ACCESS_FORBIDDEN","SESSION_TIMEOUT","findEmail","undefined","createInvoiceRequest","createReceiptRequest","initiatePaymentRequest","confirmPaymentRequest","findReceiptRequest","getConformationRequest","bookFinalSlotRequest","bookSlotRequest","addPreviousAppointmentRequest","addAppointmentRequest","addInvoiceRequest","addReceiptRequest","selectSavedCard","toast","position","POSITION","TOP_RIGHT","closeButton","hideProgressBar","closeOnClick","rtl","ADDRESS_FETCH_SERVER_RESPONSE_TYPE","CLINICS_REDIRECTION_URL","DEFAULT_DATE_FORMAT","REMEMBER_ME_LOCAL_STORAGE_KEY","CARD_APPROVED","DAY_LIST","MONTH_LIST","module","exports"],"mappings":"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","file":"static/js/main.7f61f924.chunk.js","sourcesContent":["const FIND_APPOINTMENT_TYPES = \"FIND/APPOINTMENT/TYPES\";\r\nconst FIND_DIARY = \"FIND/DIARY\";\r\nconst FIND_DIARY_DAY = \"FIND/DIARY/DAY\";\r\nconst FIND_TIME_SLOTS = \"FIND/TIME/SLOTS\";\r\nconst FIND_PACKAGES = \"FIND/PACKAGES\";\r\nconst CHECK_TIMESLOTS = \"CHECK/TIMESLOTS\";\r\nconst FIND_CARDS = \"FIND/CARDS\";\r\n\r\nexport const FIND_APPOINTMENT_TYPES_REQUEST = `${FIND_APPOINTMENT_TYPES}/REQUEST`;\r\nexport const FIND_APPOINTMENT_TYPES_SUCCESS = `${FIND_APPOINTMENT_TYPES}/SUCCESS`;\r\nexport const FIND_APPOINTMENT_TYPES_ERROR = `${FIND_APPOINTMENT_TYPES}/ERROR`;\r\n\r\nexport const FIND_DIARY_REQUEST = `${FIND_DIARY}/REQUEST`;\r\nexport const FIND_DIARY_SUCCESS = `${FIND_DIARY}/SUCCESS`;\r\nexport const FIND_DIARY_ERROR = `${FIND_DIARY}/ERROR`;\r\n\r\nexport const FIND_DIARY_DAY_REQUEST = `${FIND_DIARY_DAY}/REQUEST`;\r\nexport const FIND_DIARY_DAY_SUCCESS = `${FIND_DIARY_DAY}/SUCCESS`;\r\nexport const FIND_DIARY_DAY_ERROR = `${FIND_DIARY_DAY}/ERROR`;\r\n\r\nexport const FIND_TIME_SLOTS_REQUEST = `${FIND_TIME_SLOTS}/REQUEST`;\r\nexport const FIND_TIME_SLOTS_SUCCESS = `${FIND_TIME_SLOTS}/SUCCESS`;\r\nexport const FIND_TIME_SLOTS_ERROR = `${FIND_TIME_SLOTS}/ERROR`;\r\n\r\nexport const FIND_PACKAGES_REQUEST = `${FIND_PACKAGES}/REQUEST`;\r\nexport const FIND_PACKAGES_SUCCESS = `${FIND_PACKAGES}/SUCCESS`;\r\nexport const FIND_PACKAGES_ERROR = `${FIND_PACKAGES}/ERROR`;\r\n\r\nexport const CHECK_TIMESLOTS_REQUEST = `${CHECK_TIMESLOTS}/REQUEST`;\r\nexport const CHECK_TIMESLOTS_SUCCESS = `${CHECK_TIMESLOTS}/SUCCESS`;\r\nexport const CHECK_TIMESLOTS_ERROR = `${CHECK_TIMESLOTS}/ERROR`;\r\n\r\nexport const FIND_CARDS_REQUEST = `${FIND_CARDS}/REQUEST`;\r\nexport const FIND_CARDS_SUCCESS = `${FIND_CARDS}/SUCCESS`;\r\nexport const FIND_CARDS_ERROR = `${FIND_CARDS}/ERROR`;\r\n\r\nexport function findAppointmentTypesRequest(payload) {\r\n return {\r\n type: FIND_APPOINTMENT_TYPES_REQUEST,\r\n payload,\r\n };\r\n}\r\n\r\nexport function findAppointmentTypesSuccess(data) {\r\n return {\r\n type: FIND_APPOINTMENT_TYPES_SUCCESS,\r\n data,\r\n };\r\n}\r\n\r\nexport function findAppointmentTypesError(error) {\r\n return {\r\n type: FIND_APPOINTMENT_TYPES_ERROR,\r\n error,\r\n };\r\n}\r\n\r\nexport function findDiaryRequest(payload) {\r\n return {\r\n type: FIND_DIARY_REQUEST,\r\n payload,\r\n };\r\n}\r\n\r\nexport function findDiarySuccess(data) {\r\n return {\r\n type: FIND_DIARY_SUCCESS,\r\n data,\r\n };\r\n}\r\n\r\nexport function findDiaryError(error) {\r\n return {\r\n type: FIND_DIARY_ERROR,\r\n error,\r\n };\r\n}\r\n\r\nexport function findDiaryDayRequest(payload) {\r\n return {\r\n type: FIND_DIARY_DAY_REQUEST,\r\n payload,\r\n };\r\n}\r\n\r\nexport function findDiaryDaySuccess(data) {\r\n return {\r\n type: FIND_DIARY_DAY_SUCCESS,\r\n data,\r\n };\r\n}\r\n\r\nexport function findDiaryDayError(error) {\r\n return {\r\n type: FIND_DIARY_DAY_ERROR,\r\n error,\r\n };\r\n}\r\n\r\nexport function findTimeSlotsRequest(payload) {\r\n return {\r\n type: FIND_TIME_SLOTS_REQUEST,\r\n payload,\r\n };\r\n}\r\n\r\nexport function findTimeSlotsSuccess(data) {\r\n return {\r\n type: FIND_TIME_SLOTS_SUCCESS,\r\n data,\r\n };\r\n}\r\n\r\nexport function findTimeSlotsError(error) {\r\n return {\r\n type: FIND_TIME_SLOTS_ERROR,\r\n error,\r\n };\r\n}\r\n\r\nexport function findPackagesRequest(payload) {\r\n return {\r\n type: FIND_PACKAGES_REQUEST,\r\n payload,\r\n };\r\n}\r\n\r\nexport function findPackagesSuccess(data) {\r\n return {\r\n type: FIND_PACKAGES_SUCCESS,\r\n data,\r\n };\r\n}\r\n\r\nexport function findPackagesError(error) {\r\n return {\r\n type: FIND_PACKAGES_ERROR,\r\n error,\r\n };\r\n}\r\n\r\nexport function checkTimeslotsRequest(payload) {\r\n return {\r\n type: CHECK_TIMESLOTS_REQUEST,\r\n payload,\r\n };\r\n}\r\n\r\nexport function checkTimeslotsSuccess(data) {\r\n return {\r\n type: CHECK_TIMESLOTS_SUCCESS,\r\n data,\r\n };\r\n}\r\n\r\nexport function checkTimeslotsError(error) {\r\n return {\r\n type: CHECK_TIMESLOTS_ERROR,\r\n error,\r\n };\r\n}\r\n\r\nexport function findCardsRequest(payload) {\r\n return {\r\n type: FIND_CARDS_REQUEST,\r\n payload,\r\n };\r\n}\r\n\r\nexport function findCardsSuccess(data) {\r\n return {\r\n type: FIND_CARDS_SUCCESS,\r\n data,\r\n };\r\n}\r\n\r\nexport function findCardsError(error) {\r\n return {\r\n type: FIND_CARDS_ERROR,\r\n error,\r\n };\r\n}\r\n\r\n","const API_CODES = {\r\n SUCCESS: \"0\",\r\n TOKEN_NOT_FOUND: \"10\",\r\n NOT_UNIQUE_VALIDATION: \"504\",\r\n INVALID_TOKEN: \"952\",\r\n};\r\nexport default API_CODES;\r\n","const GET_PATIENT_CLINICS_ACTION = \"GET/PATIENT/CLINICS\";\r\nconst GET_ALL_CLINICS_ACTION = \"GET/ALL/CLINICS\";\r\nconst GET_SINGLE_CLINIC_ACTION = \"GET/SINGLE/CLINIC\";\r\nconst ADD_PATIENT_CLINIC_ACTION = \"ADD/PATIENT/CLINIC\";\r\nconst ADD_PATIENT_ACTION = \"ADD/PATIENT\";\r\n\r\nexport const GET_PATIENT_CLINICS_REQUEST = `${GET_PATIENT_CLINICS_ACTION}/REQUEST`;\r\nexport const GET_PATIENT_CLINICS_SUCCESS = `${GET_PATIENT_CLINICS_ACTION}/SUCCESS`;\r\nexport const GET_PATIENT_CLINICS_ERROR = `${GET_PATIENT_CLINICS_ACTION}/ERROR`;\r\n\r\nexport const GET_ALL_CLINICS_REQUEST = `${GET_ALL_CLINICS_ACTION}/REQUEST`;\r\nexport const GET_ALL_CLINICS_SUCCESS = `${GET_ALL_CLINICS_ACTION}/SUCCESS`;\r\nexport const GET_ALL_CLINICS_ERROR = `${GET_ALL_CLINICS_ACTION}/ERROR`;\r\n\r\nexport const GET_SINGLE_CLINIC_REQUEST = `${GET_SINGLE_CLINIC_ACTION}/REQUEST`;\r\nexport const GET_SINGLE_CLINIC_SUCCESS = `${GET_SINGLE_CLINIC_ACTION}/SUCCESS`;\r\nexport const GET_SINGLE_CLINIC_ERROR = `${GET_SINGLE_CLINIC_ACTION}/ERROR`;\r\n\r\nexport const ADD_PATIENT_CLINIC_REQUEST = `${ADD_PATIENT_CLINIC_ACTION}/REQUEST`;\r\nexport const ADD_PATIENT_CLINIC_SUCCESS = `${ADD_PATIENT_CLINIC_ACTION}/SUCCESS`;\r\nexport const ADD_PATIENT_CLINIC_ERROR = `${ADD_PATIENT_CLINIC_ACTION}/ERROR`;\r\n\r\nexport const ADD_PATIENT_REQUEST = `${ADD_PATIENT_ACTION}/REQUEST`;\r\nexport const ADD_PATIENT_SUCCESS = `${ADD_PATIENT_ACTION}/SUCCESS`;\r\nexport const ADD_PATIENT_ERROR = `${ADD_PATIENT_ACTION}/ERROR`;\r\n\r\nexport function getPatientClinicsRequest(payload) {\r\n return {\r\n type: GET_PATIENT_CLINICS_REQUEST,\r\n payload\r\n };\r\n}\r\n\r\nexport function getPatientClinicsSuccess(data) {\r\n return {\r\n type: GET_PATIENT_CLINICS_SUCCESS,\r\n data\r\n };\r\n}\r\n\r\nexport function getPatientClinicsError(error) {\r\n return {\r\n type: GET_PATIENT_CLINICS_ERROR,\r\n error\r\n };\r\n}\r\n\r\nexport function getSingleClinicRequest(payload) {\r\n return {\r\n type: GET_SINGLE_CLINIC_REQUEST,\r\n payload\r\n };\r\n}\r\n\r\nexport function getSingleClinicSuccess(data) {\r\n return {\r\n type: GET_SINGLE_CLINIC_SUCCESS,\r\n data\r\n };\r\n}\r\n\r\nexport function getSingleClinicError(error) {\r\n return {\r\n type: GET_SINGLE_CLINIC_ERROR,\r\n error\r\n };\r\n}\r\n\r\nexport function getAllClinicsRequest(payload) {\r\n return {\r\n type: GET_ALL_CLINICS_REQUEST,\r\n payload\r\n };\r\n}\r\n\r\nexport function getAllClinicsSuccess(data) {\r\n return {\r\n type: GET_ALL_CLINICS_SUCCESS,\r\n data\r\n };\r\n}\r\n\r\nexport function getAllClinicsError(error) {\r\n return {\r\n type: GET_ALL_CLINICS_ERROR,\r\n error\r\n };\r\n}\r\n\r\n\r\nexport function addPatientClinicRequest(payload) {\r\n return {\r\n type: ADD_PATIENT_CLINIC_REQUEST,\r\n payload\r\n };\r\n}\r\n\r\nexport function addPatientClinicSuccess(data) {\r\n return {\r\n type: ADD_PATIENT_CLINIC_SUCCESS,\r\n data\r\n };\r\n}\r\n\r\nexport function addPatientClinicError(error) {\r\n return {\r\n type: ADD_PATIENT_CLINIC_ERROR,\r\n error\r\n };\r\n}\r\n\r\nexport function addPatientRequest(payload) {\r\n return {\r\n type: ADD_PATIENT_REQUEST,\r\n payload\r\n };\r\n}\r\n\r\nexport function addPatientSuccess(data) {\r\n return {\r\n type: ADD_PATIENT_SUCCESS,\r\n data\r\n };\r\n}\r\n\r\nexport function addPatientError(error) {\r\n return {\r\n type: ADD_PATIENT_ERROR,\r\n error\r\n };\r\n}","const USER_LOGIN_ACTION = \"USER/LOGIN\";\r\nconst USER_FP_ACTION = \"USER/FP\";\r\nconst USER_LOGOUT_ACTION = \"USER/LOGOUT\";\r\n\r\nexport const USER_LOGIN_REQUEST = `${USER_LOGIN_ACTION}/REQUEST`;\r\nexport const USER_LOGIN_SUCCESS = `${USER_LOGIN_ACTION}/SUCCESS`;\r\nexport const USER_LOGIN_ERROR = `${USER_LOGIN_ACTION}/ERROR`;\r\n\r\nexport const USER_FP_REQUEST = `${USER_FP_ACTION}/REQUEST`;\r\nexport const USER_FP_SUCCESS = `${USER_FP_ACTION}/SUCCESS`;\r\nexport const USER_FP_ERROR = `${USER_FP_ACTION}/ERROR`;\r\n\r\nexport const USER_LOGOUT_REQUEST = `${USER_LOGOUT_ACTION}/REQUEST`;\r\nexport const USER_LOGOUT_SUCCESS = `${USER_LOGOUT_ACTION}/SUCCESS`;\r\nexport const USER_LOGOUT_ERROR = `${USER_LOGOUT_ACTION}/ERROR`;\r\n\r\nexport const SET_USER_LOGIN_TITLE = \"USER/LOGIN_SET_MESSAGE\";\r\n\r\nexport function userLoginRequest(payload) {\r\n return {\r\n type: USER_LOGIN_REQUEST,\r\n payload,\r\n };\r\n}\r\n\r\nexport function userLoginSuccess(data) {\r\n return {\r\n type: USER_LOGIN_SUCCESS,\r\n data,\r\n };\r\n}\r\n\r\nexport function userLoginError(error) {\r\n return {\r\n type: USER_LOGIN_ERROR,\r\n error,\r\n };\r\n}\r\n\r\nexport function userFpRequest(payload) {\r\n return {\r\n type: USER_FP_REQUEST,\r\n payload,\r\n };\r\n}\r\n\r\nexport function userFpSuccess(data) {\r\n return {\r\n type: USER_FP_SUCCESS,\r\n data,\r\n };\r\n}\r\n\r\nexport function userFpError(error) {\r\n return {\r\n type: USER_FP_ERROR,\r\n error,\r\n };\r\n}\r\n\r\nexport function setUserLoginTitle(title, desc) {\r\n return {\r\n type: SET_USER_LOGIN_TITLE,\r\n title,\r\n desc,\r\n };\r\n}\r\n\r\nexport function userLogoutRequest(payload) {\r\n return {\r\n type: USER_LOGOUT_REQUEST,\r\n payload,\r\n };\r\n}\r\n\r\nexport function userLogoutSuccess(data) {\r\n return {\r\n type: USER_LOGOUT_SUCCESS,\r\n data,\r\n };\r\n}\r\n\r\nexport function userLogoutError(error) {\r\n return {\r\n type: USER_LOGOUT_ERROR,\r\n error,\r\n };\r\n}\r\n","import axios from \"axios\";\r\nimport API_CODES from \"../config/api-codes\";\r\nimport {\r\n BAD_REQUEST,\r\n UNAUTHORIZED_STATUS,\r\n CLINIC_TOKEN_LOCAL_STORAGE_KEY,\r\n CLINIC_BASE_URL_HEADER_KEY,\r\n CLINIC_SESSION_KEY,\r\n} from \"../config/constants\";\r\n\r\nconst clinicAxios = axios.create();\r\n\r\nclinicAxios.interceptors.response.use(\r\n (response) => {\r\n return response;\r\n },\r\n (error) => {\r\n if (\r\n (error.response.status === UNAUTHORIZED_STATUS &&\r\n error.response.data.messages &&\r\n error.response.data.messages[0] &&\r\n error.response.data.messages[0].code &&\r\n error.response.data.messages[0].code === API_CODES.INVALID_TOKEN) ||\r\n (error.response.status === BAD_REQUEST &&\r\n error.response.data.messages &&\r\n error.response.data.messages[0] &&\r\n error.response.data.messages[0].code &&\r\n error.response.data.messages[0].code === API_CODES.TOKEN_NOT_FOUND)\r\n ) {\r\n if (\r\n error.config.headers &&\r\n error.config.headers[CLINIC_BASE_URL_HEADER_KEY]\r\n ) {\r\n return getAuthorizedToken(error.config.headers[CLINIC_BASE_URL_HEADER_KEY])\r\n .then((token) => {\r\n const { config } = error;\r\n localStorage.setItem(CLINIC_TOKEN_LOCAL_STORAGE_KEY, token);\r\n config.headers[\"Authorization\"] = `Bearer ${token}`;\r\n return new Promise((resolve, reject) => {\r\n clinicAxios\r\n .request(config)\r\n .then((res) => {\r\n resolve(res);\r\n })\r\n .catch((err) => {\r\n reject(err);\r\n });\r\n });\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n }\r\n }\r\n return Promise.reject(error);\r\n }\r\n);\r\n\r\nfunction apiError(status, message, _data) {\r\n let data = null;\r\n let isObject = false;\r\n try {\r\n data = JSON.parse(_data);\r\n isObject = true;\r\n } catch (error) {\r\n data = _data;\r\n }\r\n return {\r\n status,\r\n message,\r\n data,\r\n toString: () => {\r\n return `${message}\\nResponse:\\n${\r\n isObject ? JSON.stringify(data, null, 2) : data\r\n }`;\r\n },\r\n };\r\n}\r\n\r\nexport function getRequest(\r\n _url,\r\n authToken = \"\",\r\n queryParams = {},\r\n BaseUrl = process.env.REACT_APP_SERVER_BASE_URL,\r\n _headers = {}\r\n) {\r\n const url = `${BaseUrl}${_url}`;\r\n let headers = {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n [CLINIC_BASE_URL_HEADER_KEY]: BaseUrl,\r\n };\r\n if (authToken) {\r\n headers.Authorization = `Bearer ${authToken}`;\r\n } else if (localStorage.getItem(CLINIC_TOKEN_LOCAL_STORAGE_KEY)) {\r\n headers.Authorization = `Bearer ${localStorage.getItem(\r\n CLINIC_TOKEN_LOCAL_STORAGE_KEY\r\n )}`;\r\n }\r\n return clinicAxios({\r\n method: \"GET\",\r\n url,\r\n headers: { ...headers, ..._headers },\r\n params: queryParams,\r\n })\r\n .then(function (response) {\r\n return response.data;\r\n })\r\n .catch(function (error) {\r\n if (error.response) {\r\n throw apiError(error.response.status, `Request failed.`, error);\r\n } else if (error.request) {\r\n throw apiError(error.request.status, `Request failed.`, error);\r\n } else {\r\n throw apiError(\"ERROR\", error.toString(), error);\r\n }\r\n });\r\n}\r\n\r\nexport function postRequest(\r\n _url,\r\n data,\r\n authToken = \"\",\r\n BaseUrl = process.env.REACT_APP_SERVER_BASE_URL,\r\n _headers = {}\r\n) {\r\n\r\n const url = `${BaseUrl}${_url}`;\r\n let headers = {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n [CLINIC_BASE_URL_HEADER_KEY]: BaseUrl,\r\n };\r\n if (authToken) {\r\n headers.Authorization = `Bearer ${authToken}`;\r\n } else if (localStorage.getItem(CLINIC_TOKEN_LOCAL_STORAGE_KEY)) {\r\n headers.Authorization = `Bearer ${localStorage.getItem(\r\n CLINIC_TOKEN_LOCAL_STORAGE_KEY\r\n )}`;\r\n }\r\n\r\n return clinicAxios({\r\n method: \"POST\",\r\n url,\r\n data,\r\n headers: { ...headers, ..._headers },\r\n })\r\n .then(function (response) {\r\n if(data && data['script'] === \"createSession\"){\r\n localStorage.setItem(CLINIC_SESSION_KEY, response['data']['response']['scriptResult'])\r\n }\r\n return response.data;\r\n })\r\n .catch(function (error) {\r\n if (error.response) {\r\n throw apiError(error.response.status, `Request failed.`, error);\r\n } else if (error.request) {\r\n throw apiError(error.request.status, `Request failed.`, error);\r\n } else {\r\n throw apiError(\"ERROR\", error.toString(), error);\r\n }\r\n });\r\n}\r\n\r\nexport function patchRequest(\r\n _url,\r\n data,\r\n authToken = \"\",\r\n BaseUrl = process.env.REACT_APP_SERVER_BASE_URL,\r\n _headers = {}\r\n) {\r\n const url = `${BaseUrl}${_url}`;\r\n let headers = {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n [CLINIC_BASE_URL_HEADER_KEY]: BaseUrl,\r\n };\r\n if (authToken) {\r\n headers.Authorization = `Bearer ${authToken}`;\r\n } else if (localStorage.getItem(CLINIC_TOKEN_LOCAL_STORAGE_KEY)) {\r\n headers.Authorization = `Bearer ${localStorage.getItem(\r\n CLINIC_TOKEN_LOCAL_STORAGE_KEY\r\n )}`;\r\n }\r\n return clinicAxios({\r\n method: \"PATCH\",\r\n url,\r\n data,\r\n headers: { ...headers, ..._headers },\r\n })\r\n .then(function (response) {\r\n return response.data;\r\n })\r\n .catch(function (error) {\r\n if (error.response) {\r\n throw apiError(error.response.status, `Request failed.`, error);\r\n } else if (error.request) {\r\n throw apiError(error.request.status, `Request failed.`, error);\r\n } else {\r\n throw apiError(\"ERROR\", error.toString(), error);\r\n }\r\n });\r\n}\r\n\r\nexport function putRequest(\r\n _url,\r\n data,\r\n authToken = \"\",\r\n BaseUrl = process.env.REACT_APP_SERVER_BASE_URL,\r\n _headers = {}\r\n) {\r\n const url = `${BaseUrl}${_url}`;\r\n let headers = {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n [CLINIC_BASE_URL_HEADER_KEY]: BaseUrl,\r\n };\r\n if (authToken) {\r\n headers.Authorization = `Bearer ${authToken}`;\r\n } else if (localStorage.getItem(CLINIC_TOKEN_LOCAL_STORAGE_KEY)) {\r\n headers.Authorization = `Bearer ${localStorage.getItem(\r\n CLINIC_TOKEN_LOCAL_STORAGE_KEY\r\n )}`;\r\n }\r\n return clinicAxios({\r\n method: \"PUT\",\r\n url,\r\n data,\r\n headers: { ...headers, ..._headers },\r\n })\r\n .then(function (response) {\r\n return response.data;\r\n })\r\n .catch(function (error) {\r\n if (error.response) {\r\n throw apiError(error.response.status, `Request failed.`, error);\r\n } else if (error.request) {\r\n throw apiError(error.request.status, `Request failed.`, error);\r\n } else {\r\n throw apiError(\"ERROR\", error.toString(), error);\r\n }\r\n });\r\n}\r\n\r\nexport function getAuthorizedToken(BaseUrl = process.env.REACT_APP_SERVER_BASE_URL) {\r\n const url = `${BaseUrl}/sessions`;\r\n const credentails = btoa(\r\n `${process.env.REACT_APP_API_AUTH_TOKEN_USERNAME}:${process.env.REACT_APP_API_AUTH_TOKEN_PASSWORD}`\r\n );\r\n let headers = {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n Authorization: `Basic ${credentails}`,\r\n };\r\n return clinicAxios({\r\n method: \"POST\",\r\n url,\r\n data: {},\r\n headers,\r\n })\r\n .then(function (response) {\r\n return response.data.response.token;\r\n })\r\n .catch(function (error) {\r\n if (error.response) {\r\n throw apiError(error.response.status, `Request failed.`, error);\r\n } else if (error.request) {\r\n throw apiError(error.request.status, `Request failed.`, error);\r\n } else {\r\n throw apiError(\"ERROR\", error.toString(), error);\r\n }\r\n });\r\n}\r\n\r\nexport function deleteRequest(\r\n _url,\r\n authToken = \"\",\r\n BaseUrl = process.env.REACT_APP_SERVER_BASE_URL,\r\n _headers = {}\r\n) {\r\n const url = `${BaseUrl}${_url}`;\r\n let headers = {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n [CLINIC_BASE_URL_HEADER_KEY]: BaseUrl,\r\n };\r\n if (authToken) {\r\n headers.Authorization = `Bearer ${authToken}`;\r\n } else if (localStorage.getItem(CLINIC_TOKEN_LOCAL_STORAGE_KEY)) {\r\n headers.Authorization = `Bearer ${localStorage.getItem(\r\n CLINIC_TOKEN_LOCAL_STORAGE_KEY\r\n )}`;\r\n }\r\n return clinicAxios({\r\n method: \"DELETE\",\r\n url,\r\n headers: { ...headers, ..._headers },\r\n })\r\n .then(function (response) {\r\n return response.data;\r\n })\r\n .catch(function (error) {\r\n if (error.response) {\r\n throw apiError(error.response.status, `Request failed.`, error);\r\n } else if (error.request) {\r\n throw apiError(error.request.status, `Request failed.`, error);\r\n } else {\r\n throw apiError(\"ERROR\", error.toString(), error);\r\n }\r\n });\r\n}\r\n","import React, { Component } from 'react';\r\n\r\nimport { routes } from '../../../config/routes';\r\nimport Logo from '../../../assets/images/logo.png';\r\nimport { LOGGED_USER_DETAILS_LOCAL_STORAGE_KEY, TOKEN_LOCAL_STORAGE_KEY, CLINIC_TOKEN_LOCAL_STORAGE_KEY, LOGGED_USER_SESSION_KEY, CLINIC_SESSION_KEY } from '../../../config/constants';\r\nimport { withRouter } from 'react-router-dom';\r\nimport { connect } from 'react-redux';\r\nimport { userLogoutRequest } from '../../../actions/auth';\r\nimport { SOMETHING_WENT_WRONG } from '../../../config/labels';\r\nimport { Toast } from '../../../helpers/toast';\r\n\r\nclass Header extends Component {\r\n\r\n componentDidUpdate(prevProps) {\r\n const {\r\n\r\n logoutLoading,\r\n logoutSuccess\r\n \r\n } = this.props;\r\n\r\n if (!logoutLoading && prevProps.logoutLoading !== logoutLoading) {\r\n if (logoutSuccess) {\r\n localStorage.removeItem(TOKEN_LOCAL_STORAGE_KEY);\r\n localStorage.removeItem(CLINIC_TOKEN_LOCAL_STORAGE_KEY);\r\n localStorage.removeItem(LOGGED_USER_DETAILS_LOCAL_STORAGE_KEY);\r\n localStorage.removeItem(LOGGED_USER_SESSION_KEY);\r\n localStorage.removeItem(CLINIC_SESSION_KEY);\r\n this.props.history.push(routes.LOGIN); \r\n } else {\r\n Toast({ type: 'error', message: SOMETHING_WENT_WRONG });\r\n }\r\n }\r\n\r\n }\r\n\r\n\r\n render(){\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n \r\n handleLogout = () => {\r\n this.props.dispatch(userLogoutRequest(localStorage.getItem(TOKEN_LOCAL_STORAGE_KEY)));\r\n }\r\n\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n\r\n const { auth } = state;\r\n\r\n return {\r\n\r\n logoutLoading: auth.get(\"logoutLoading\"),\r\n logoutSuccess: auth.get(\"logoutSuccess\"),\r\n logoutError: auth.get(\"logoutError\"),\r\n\r\n }\r\n}\r\n\r\n\r\nHeader = withRouter(Header);\r\nexport default connect(mapStateToProps)(Header);\r\n","import React, { Component } from 'react';\r\nimport Logo from \"../../../assets/images/orange-blue.png\"\r\n\r\nclass Footer extends Component {\r\n\r\n render(){\r\n return (\r\n \r\n );\r\n }\r\n \r\n};\r\n\r\nexport default Footer;","import React from \"react\";\r\nimport { Route, Redirect } from \"react-router-dom\";\r\nimport Header from \"../views/templates/no-auth-router/Header\";\r\nimport Footer from \"../views/templates/no-auth-router/Footer\";\r\nimport { LOGGED_USER_DETAILS_LOCAL_STORAGE_KEY } from \"../config/constants\";\r\nimport { routes } from \"../config/routes\";\r\n\r\nconst AuthRouter = ({ children, ...rest }) => {\r\n return (\r\n {\r\n if (localStorage.getItem(LOGGED_USER_DETAILS_LOCAL_STORAGE_KEY)) {\r\n return (\r\n
\r\n
\r\n
\r\n {children}\r\n
\r\n
\r\n
\r\n );\r\n } else {\r\n return (\r\n \r\n );\r\n }\r\n }}\r\n />\r\n );\r\n};\r\n\r\nexport default AuthRouter;","import React from \"react\";\r\nimport { Route, Redirect } from \"react-router-dom\";\r\nimport Header from \"../views/templates/no-auth-router/Header\";\r\nimport Footer from \"../views/templates/no-auth-router/Footer\";\r\nimport { LOGGED_USER_DETAILS_LOCAL_STORAGE_KEY } from \"../config/constants\";\r\nimport { routes } from \"../config/routes\";\r\n\r\nconst NoAuthRouter = ({ children, ...rest }) => {\r\n return (\r\n {\r\n if (!localStorage.getItem(LOGGED_USER_DETAILS_LOCAL_STORAGE_KEY)) {\r\n return (\r\n
\r\n
\r\n
\r\n {children}\r\n
\r\n
\r\n
\r\n );\r\n } else {\r\n return (\r\n \r\n );\r\n }\r\n }}\r\n />\r\n );\r\n};\r\n\r\nexport default NoAuthRouter;\r\n","import React, { Fragment, Suspense, lazy } from \"react\";\r\nimport { BrowserRouter as Router, Route, Switch } from \"react-router-dom\";\r\n\r\nimport \"./App.css\";\r\nimport { routes } from \"./config/routes\";\r\nimport AuthRouter from \"./routers/AuthRouter\";\r\nimport NoAuthRouter from \"./routers/NoAuthRouter\";\r\nimport { ToastContainer } from \"react-toastify\";\r\n\r\nconst Home = lazy(() => import(\"./views/home/Home\"));\r\nconst Login = lazy(() => import(\"./views/login/Login\"));\r\nconst Register = lazy(() => import(\"./views/register/Register\"));\r\nconst ForgotPassword = lazy(() =>\r\n import(\"./views/forgot-password/ForgotPassword\")\r\n);\r\nconst NotFound = lazy(() => import(\"./views/not-found/NotFound\"));\r\n\r\nfunction App() {\r\n return (\r\n \r\n Loading... }>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default App;\r\n","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.0/8 are considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport function register(config) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl, config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl, config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl, {\r\n headers: { 'Service-Worker': 'script' },\r\n })\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type');\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf('javascript') === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready\r\n .then(registration => {\r\n registration.unregister();\r\n })\r\n .catch(error => {\r\n console.error(error.message);\r\n });\r\n }\r\n}\r\n","import { Map } from \"immutable\";\r\n\r\nimport {\r\n USER_LOGIN_REQUEST,\r\n USER_LOGIN_SUCCESS,\r\n USER_LOGIN_ERROR,\r\n USER_FP_REQUEST,\r\n USER_FP_SUCCESS,\r\n USER_FP_ERROR,\r\n SET_USER_LOGIN_TITLE,\r\n USER_LOGOUT_REQUEST,\r\n USER_LOGOUT_SUCCESS,\r\n USER_LOGOUT_ERROR,\r\n} from \"../actions/auth\";\r\n\r\nconst initialState = Map({\r\n loginLoading: false,\r\n loginData: null,\r\n loginUserDetails: null,\r\n loginError: null,\r\n\r\n loginTitle: \"\",\r\n loginDesc: \"\",\r\n\r\n fpLoading: false,\r\n fpData: null,\r\n fpError: null,\r\n\r\n userLoading: false,\r\n userData: {},\r\n userError: null,\r\n\r\n logoutLoading: false,\r\n logoutSuccess: false,\r\n logoutError: false,\r\n\r\n});\r\n\r\nconst actionMap = {\r\n [USER_LOGIN_REQUEST]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n loginLoading: true,\r\n loginData: null,\r\n loginUserDetails: null,\r\n loginError: null,\r\n })\r\n );\r\n },\r\n [USER_LOGIN_SUCCESS]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n loginLoading: false,\r\n loginData: action.data,\r\n loginUserDetails: action.data?.response?.data[0]?.fieldData,\r\n })\r\n );\r\n },\r\n [USER_LOGIN_ERROR]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n loginLoading: false,\r\n loginError:\r\n action.error && action.error.settings && action.error.settings.message\r\n ? action.error.settings.message\r\n : \"Something went wrong!\",\r\n })\r\n );\r\n },\r\n [USER_FP_REQUEST]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n fpLoading: true,\r\n fpData: null,\r\n fpError: null,\r\n })\r\n );\r\n },\r\n [USER_FP_SUCCESS]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n fpLoading: false,\r\n fpData: action.data,\r\n })\r\n );\r\n },\r\n [USER_FP_ERROR]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n fpLoading: false,\r\n fpError: action.error && action.error.data ? action.error.data : {},\r\n })\r\n );\r\n },\r\n [SET_USER_LOGIN_TITLE]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n loginTitle: action.title,\r\n loginDesc: action.desc,\r\n })\r\n );\r\n },\r\n\r\n [USER_LOGOUT_REQUEST]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n logoutLoading: true,\r\n logoutSuccess: false,\r\n logoutError: false,\r\n \r\n })\r\n );\r\n },\r\n [USER_LOGOUT_SUCCESS]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n logoutLoading: false,\r\n logoutSuccess: true,\r\n logoutError: false, \r\n })\r\n );\r\n },\r\n [USER_LOGOUT_ERROR]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n logoutLoading: false,\r\n logoutSuccess: false,\r\n logoutError: true, \r\n })\r\n );\r\n },\r\n};\r\n\r\nexport default function reducer(state = initialState, action) {\r\n const fn = actionMap[action.type];\r\n return fn ? fn(state, action) : state;\r\n}\r\n","import { Map } from \"immutable\";\r\n\r\nimport {\r\n USER_SIGNUP_REQUEST,\r\n USER_SIGNUP_SUCCESS,\r\n USER_SIGNUP_ERROR,\r\n USER_SIGNUP_EMAIL_DUPLICATE\r\n} from \"../actions/signup\";\r\n\r\nimport { EMAIL_ALREADY_IN_USE } from \"../config/labels\";\r\n\r\nconst initialState = Map({\r\n signUpLoading: false,\r\n signUpData: null,\r\n signUpError: null,\r\n\r\n});\r\n\r\nconst actionMap = {\r\n [USER_SIGNUP_REQUEST]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n signUpLoading: true,\r\n signUpData: null,\r\n signUpError: null\r\n })\r\n );\r\n },\r\n [USER_SIGNUP_SUCCESS]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n signUpLoading: false,\r\n signUpData: action.data\r\n })\r\n );\r\n },\r\n [USER_SIGNUP_ERROR]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n signUpLoading: false,\r\n signUpError:\r\n action.error && action.error.settings && action.error.settings.message\r\n ? action.error.settings.message\r\n : \"Something went wrong!\"\r\n })\r\n );\r\n },\r\n [USER_SIGNUP_EMAIL_DUPLICATE]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n signUpLoading: false,\r\n signUpError: EMAIL_ALREADY_IN_USE\r\n })\r\n );\r\n }\r\n\r\n};\r\n\r\nexport default function reducer(state = initialState, action) {\r\n const fn = actionMap[action.type];\r\n return fn ? fn(state, action) : state;\r\n}\r\n","import { Map } from \"immutable\";\r\n\r\nimport {\r\n\r\n FIND_APPOINTMENT_TYPES_REQUEST,\r\n FIND_APPOINTMENT_TYPES_SUCCESS,\r\n FIND_APPOINTMENT_TYPES_ERROR,\r\n\r\n FIND_DIARY_REQUEST,\r\n FIND_DIARY_SUCCESS,\r\n FIND_DIARY_ERROR,\r\n\r\n FIND_DIARY_DAY_REQUEST,\r\n FIND_DIARY_DAY_SUCCESS,\r\n FIND_DIARY_DAY_ERROR,\r\n\r\n FIND_TIME_SLOTS_REQUEST,\r\n FIND_TIME_SLOTS_SUCCESS,\r\n FIND_TIME_SLOTS_ERROR,\r\n\r\n FIND_PACKAGES_REQUEST,\r\n FIND_PACKAGES_SUCCESS,\r\n FIND_PACKAGES_ERROR,\r\n\r\n CHECK_TIMESLOTS_REQUEST,\r\n CHECK_TIMESLOTS_SUCCESS,\r\n CHECK_TIMESLOTS_ERROR,\r\n\r\n FIND_CARDS_REQUEST,\r\n FIND_CARDS_SUCCESS,\r\n FIND_CARDS_ERROR\r\n\r\n} from \"../actions/appointment\";\r\n\r\nconst initialState = Map({\r\n\r\n findAppointmentTypesLoading: false,\r\n findAppointmentTypesData: [],\r\n findAppointmentTypesError: null,\r\n\r\n findDiaryLoading: false,\r\n findDiaryData: [],\r\n findDiaryError: false,\r\n\r\n findDiaryDayLoading: false,\r\n findDiaryDayData: [],\r\n findDiaryDayError: false,\r\n\r\n findTimeSlotsLoading: false,\r\n findTimeSlotsData: [],\r\n findTimeSlotsError: false,\r\n\r\n findPackagesLoading: false,\r\n findPackagesData: [],\r\n findPackagesError: false,\r\n\r\n checkTimeslotsLoading: false,\r\n checkTimeslotsData: [],\r\n checkTimeslotsError: false,\r\n\r\n findCardsLoading: false,\r\n findCardsData: [],\r\n findCardsError: false\r\n\r\n});\r\n\r\nconst actionMap = {\r\n\r\n [FIND_APPOINTMENT_TYPES_REQUEST]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n findAppointmentTypesLoading: true,\r\n findAppointmentTypesData: [],\r\n loginError: null,\r\n })\r\n );\r\n },\r\n [FIND_APPOINTMENT_TYPES_SUCCESS]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n findAppointmentTypesLoading: false,\r\n findAppointmentTypesData: action.data?.response?.data,\r\n })\r\n );\r\n },\r\n [FIND_APPOINTMENT_TYPES_ERROR]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n findAppointmentTypesLoading: false,\r\n findAppointmentTypesError: action.error && action.error.data ? action.error.data : {},\r\n findAppointmentTypesData: []\r\n })\r\n );\r\n },\r\n [FIND_DIARY_REQUEST]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n findDiaryLoading: true,\r\n findDiaryData: [],\r\n findDiaryError: null,\r\n })\r\n );\r\n },\r\n [FIND_DIARY_SUCCESS]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n findDiaryLoading: false,\r\n findDiaryData: action.data?.response?.data,\r\n })\r\n );\r\n },\r\n [FIND_DIARY_ERROR]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n findDiaryLoading: false,\r\n findDiaryError: action.error && action.error.data ? action.error.data : {},\r\n findDiaryData: []\r\n })\r\n );\r\n },\r\n [FIND_DIARY_DAY_REQUEST]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n findDiaryDayLoading: true,\r\n findDiaryDayData: [],\r\n findDiaryDayError: null,\r\n })\r\n );\r\n },\r\n [FIND_DIARY_DAY_SUCCESS]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n findDiaryDayLoading: false,\r\n findDiaryDayData: action.data?.response?.data,\r\n })\r\n );\r\n },\r\n [FIND_DIARY_DAY_ERROR]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n findDiaryDayLoading: false,\r\n findDiaryDayError: action.error && action.error.data ? action.error.data : {},\r\n findDiaryDayData: []\r\n })\r\n );\r\n },\r\n\r\n [FIND_TIME_SLOTS_REQUEST]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n findTimeSlotsLoading: true,\r\n findTimeSlotsData: [],\r\n findTimeSlotsError: null,\r\n })\r\n );\r\n },\r\n [FIND_TIME_SLOTS_SUCCESS]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n findTimeSlotsLoading: false,\r\n findTimeSlotsData: action.data?.response?.data,\r\n })\r\n );\r\n },\r\n [FIND_TIME_SLOTS_ERROR]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n findTimeSlotsLoading: false,\r\n findTimeSlotsError: action.error && action.error.data ? action.error.data : {},\r\n findTimeSlotsData: []\r\n })\r\n );\r\n },\r\n\r\n [FIND_PACKAGES_REQUEST]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n findPackagesLoading: true,\r\n findPackagesData: [],\r\n findPackagesError: null,\r\n })\r\n );\r\n },\r\n [FIND_PACKAGES_SUCCESS]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n findPackagesLoading: false,\r\n findPackagesData: action.data?.response?.data,\r\n })\r\n );\r\n },\r\n [FIND_PACKAGES_ERROR]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n findPackagesLoading: false,\r\n findPackagesError: action.error && action.error.data ? action.error.data : {},\r\n findPackagesData: []\r\n })\r\n );\r\n },\r\n\r\n [CHECK_TIMESLOTS_REQUEST]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n checkTimeslotsLoading: true,\r\n checkTimeslotsData: [],\r\n findTimeSlotsData: [],\r\n checkTimeslotsError: null,\r\n })\r\n );\r\n },\r\n [CHECK_TIMESLOTS_SUCCESS]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n checkTimeslotsLoading: false,\r\n checkTimeslotsData: action.data?.response?.data,\r\n })\r\n );\r\n },\r\n [CHECK_TIMESLOTS_ERROR]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n checkTimeslotsLoading: false,\r\n checkTimeslotsError: action.error && action.error.data ? action.error.data : {},\r\n checkTimeslotsData: []\r\n })\r\n );\r\n },\r\n\r\n\r\n [FIND_CARDS_REQUEST]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n findCardsLoading: true,\r\n findCardsData: [],\r\n findCardsError: null,\r\n })\r\n );\r\n },\r\n [FIND_CARDS_SUCCESS]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n findCardsLoading: false,\r\n findCardsData: action.data?.response?.data,\r\n })\r\n );\r\n },\r\n [FIND_CARDS_ERROR]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n findCardsLoading: false,\r\n findCardsError: action.error && action.error.data ? action.error.data : {},\r\n findCardsData: []\r\n })\r\n );\r\n },\r\n\r\n\r\n}\r\nexport default function reducer(state = initialState, action) {\r\n const fn = actionMap[action.type];\r\n return fn ? fn(state, action) : state;\r\n}\r\n","import { Map } from \"immutable\";\r\nimport { \r\n \r\n CREATE_INVOICE_REQUEST, \r\n CREATE_INVOICE_SUCCESS, \r\n CREATE_INVOICE_ERROR, \r\n \r\n CREATE_RECEIPT_REQUEST, \r\n CREATE_RECEIPT_SUCCESS, \r\n CREATE_RECEIPT_ERROR, \r\n \r\n CONFIRM_PAYMENT_REQUEST, \r\n CONFIRM_PAYMENT_SUCCESS, \r\n CONFIRM_PAYMENT_ERROR, \r\n \r\n GET_CONFORMATION_SUCCESS, \r\n GET_CONFORMATION_REQUEST, \r\n GET_CONFORMATION_ERROR, \r\n \r\n FIND_RECEIPT_REQUEST, \r\n FIND_RECEIPT_SUCCESS, \r\n FIND_RECEIPT_ERROR, \r\n\r\n INITIATE_PAYMENT_REQUEST,\r\n INITIATE_PAYMENT_SUCCESS,\r\n INITIATE_PAYMENT_ERROR,\r\n\r\n BOOK_SLOT_FINAL_REQUEST,\r\n BOOK_SLOT_FINAL_SUCCESS,\r\n BOOK_SLOT_FINAL_ERROR,\r\n\r\n BOOK_SLOT_REQUEST,\r\n BOOK_SLOT_SUCCESS,\r\n BOOK_SLOT_ERROR,\r\n\r\n ADD_APPOINTMENT_REQUEST,\r\n ADD_APPOINTMENT_SUCCESS,\r\n ADD_APPOINTMENT_ERROR,\r\n\r\n ADD_PREVIOUS_APPOINTMENT_REQUEST,\r\n ADD_PREVIOUS_APPOINTMENT_SUCCESS,\r\n ADD_PREVIOUS_APPOINTMENT_ERROR,\r\n\r\n ADD_INVOICE_REQUEST,\r\n ADD_INVOICE_SUCCESS,\r\n ADD_INVOICE_ERROR,\r\n\r\n ADD_RECEIPT_REQUEST,\r\n ADD_RECEIPT_SUCCESS,\r\n ADD_RECEIPT_ERROR,\r\n\r\n SELECT_SAVED_CARD\r\n\r\n} from \"../actions/payment\";\r\n\r\nconst initialState = Map({\r\n \r\n createInvoiceLoading: false,\r\n createInvoiceData: {},\r\n createInvoiceError: null,\r\n\r\n createReceiptLoading: false,\r\n createReceiptData: {},\r\n createReceiptError: null,\r\n\r\n initiatePaymentLoading: false,\r\n initiatePaymentData: {},\r\n initiatePaymentError: null,\r\n\r\n confirmPaymentLoading: false,\r\n confirmPaymentData: {},\r\n confirmPaymentError: null,\r\n\r\n findReceiptLoading: false,\r\n findReceiptData: {},\r\n findReceiptError: null,\r\n\r\n getConformationLoading: false,\r\n getConformationData: {},\r\n getConformationError: null,\r\n\r\n bookFinalSlotLoading: false,\r\n bookFinalSlotData: {},\r\n bookFinalSlotError: null,\r\n\r\n bookSlotLoading: false,\r\n bookSlotData: {},\r\n bookSlotError: null,\r\n\r\n addAppointmentLoading: false,\r\n addAppointmentSuccess: {},\r\n addAppointmentError: null,\r\n\r\n addPreviousAppointmentLoading: false,\r\n addPreviousAppointmentData: {},\r\n addPreviousAppointmentError: null,\r\n\r\n addInvoiceLoading: false,\r\n addInvoiceSuccess: {},\r\n addInvoiceError: null,\r\n\r\n addReceiptLoading: false,\r\n addReceiptSuccess: {},\r\n addReceiptError: null,\r\n\r\n selectedSavedCard: null\r\n\r\n});\r\n\r\nconst actionMap = {\r\n\r\n [CREATE_INVOICE_REQUEST]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n createInvoiceLoading: true,\r\n createInvoiceData: {},\r\n createInvoiceError: null\r\n })\r\n );\r\n },\r\n [CREATE_INVOICE_SUCCESS]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n createInvoiceLoading: false,\r\n createInvoiceData: action.data\r\n })\r\n );\r\n },\r\n [CREATE_INVOICE_ERROR]: (state, action) => {\r\n\r\n return state.merge(\r\n Map({\r\n createInvoiceLoading: false,\r\n createInvoiceData: {},\r\n createInvoiceError:\r\n action.error && action.error.settings && action.error.settings.message\r\n ? action.error.settings.message\r\n : \"Something went wrong!\",\r\n })\r\n );\r\n },\r\n\r\n \r\n [CREATE_RECEIPT_REQUEST]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n createReceiptLoading: true,\r\n createReceiptData: {},\r\n createReceiptError: null\r\n })\r\n );\r\n },\r\n [CREATE_RECEIPT_SUCCESS]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n createReceiptLoading: false,\r\n createReceiptData: action.data\r\n })\r\n );\r\n },\r\n [CREATE_RECEIPT_ERROR]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n createReceiptLoading: false,\r\n createReceiptData: {},\r\n createReceiptError:\r\n action.error && action.error.settings && action.error.settings.message\r\n ? action.error.settings.message\r\n : \"Something went wrong!\",\r\n })\r\n );\r\n },\r\n\r\n [INITIATE_PAYMENT_REQUEST]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n initiatePaymentLoading: true,\r\n initiatePaymentData: {},\r\n initiatePaymentError: null\r\n })\r\n );\r\n },\r\n [INITIATE_PAYMENT_SUCCESS]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n initiatePaymentLoading: false,\r\n initiatePaymentData: action.data\r\n })\r\n );\r\n },\r\n [INITIATE_PAYMENT_ERROR]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n initiatePaymentLoading: false,\r\n initiatePaymentData: {},\r\n initiatePaymentError:\r\n action.error && action.error.settings && action.error.settings.message\r\n ? action.error.settings.message\r\n : \"Something went wrong!\",\r\n })\r\n );\r\n },\r\n\r\n\r\n [CONFIRM_PAYMENT_REQUEST]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n confirmPaymentLoading: true,\r\n confirmPaymentData: {},\r\n confirmPaymentError: null\r\n })\r\n );\r\n },\r\n [CONFIRM_PAYMENT_SUCCESS]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n confirmPaymentLoading: false,\r\n confirmPaymentData: action.data\r\n })\r\n );\r\n },\r\n [CONFIRM_PAYMENT_ERROR]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n confirmPaymentLoading: false,\r\n confirmPaymentData: {},\r\n confirmPaymentError:\r\n action.error && action.error.settings && action.error.settings.message\r\n ? action.error.settings.message\r\n : \"Something went wrong!\",\r\n })\r\n );\r\n },\r\n\r\n [FIND_RECEIPT_REQUEST]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n findReceiptLoading: true,\r\n findReceiptData: {},\r\n findReceiptError: null\r\n })\r\n );\r\n },\r\n [FIND_RECEIPT_SUCCESS]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n findReceiptLoading: false,\r\n findReceiptData: action?.data\r\n })\r\n );\r\n },\r\n [FIND_RECEIPT_ERROR]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n findReceiptLoading: false,\r\n findReceiptData: {},\r\n findReceiptError:\r\n action.error && action.error.settings && action.error.settings.message\r\n ? action.error.settings.message\r\n : \"Something went wrong!\",\r\n })\r\n );\r\n },\r\n\r\n [GET_CONFORMATION_REQUEST]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n getConformationLoading: true,\r\n getConformationData: {},\r\n getConformationError: null\r\n })\r\n );\r\n },\r\n [GET_CONFORMATION_SUCCESS]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n getConformationLoading: false,\r\n getConformationData: action?.data?.['response']?.['data'][0]\r\n })\r\n );\r\n },\r\n [GET_CONFORMATION_ERROR]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n getConformationLoading: false,\r\n getConformationData: {},\r\n getConformationError:\r\n action.error && action.error.settings && action.error.settings.message\r\n ? action.error.settings.message\r\n : \"Something went wrong!\",\r\n })\r\n );\r\n },\r\n\r\n [BOOK_SLOT_FINAL_REQUEST]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n bookFinalSlotLoading: true,\r\n bookFinalSlotData: {},\r\n bookFinalSlotError: null\r\n })\r\n );\r\n },\r\n [BOOK_SLOT_FINAL_SUCCESS]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n bookFinalSlotLoading: false,\r\n bookFinalSlotData: action?.data?.['response']?.['data'][0]\r\n })\r\n );\r\n },\r\n [BOOK_SLOT_FINAL_ERROR]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n bookFinalSlotLoading: false,\r\n bookFinalSlotData: {},\r\n bookFinalSlotError:\r\n action.error && action.error.settings && action.error.settings.message\r\n ? action.error.settings.message\r\n : \"Something went wrong!\",\r\n })\r\n );\r\n },\r\n\r\n [BOOK_SLOT_REQUEST]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n bookSlotLoading: true,\r\n bookSlotData: {},\r\n bookSlotError: null\r\n })\r\n );\r\n },\r\n [BOOK_SLOT_SUCCESS]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n bookSlotLoading: false,\r\n bookSlotData: action?.data?.['response']?.['data'][0]\r\n })\r\n );\r\n },\r\n [BOOK_SLOT_ERROR]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n bookSlotLoading: false,\r\n bookSlotData: {},\r\n bookSlotError:\r\n action.error && action.error.settings && action.error.settings.message\r\n ? action.error.settings.message\r\n : \"Something went wrong!\",\r\n })\r\n );\r\n },\r\n\r\n [ADD_APPOINTMENT_REQUEST]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n addAppointmentLoading: true,\r\n addAppointmentData: {},\r\n addAppointmentError: null\r\n })\r\n );\r\n },\r\n [ADD_APPOINTMENT_SUCCESS]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n addAppointmentLoading: false,\r\n addAppointmentData: action?.data?.['response']?.['data'][0]\r\n })\r\n );\r\n },\r\n [ADD_APPOINTMENT_ERROR]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n addAppointmentLoading: false,\r\n addAppointmentData: {},\r\n addAppointmentError:\r\n action.error && action.error.settings && action.error.settings.message\r\n ? action.error.settings.message\r\n : \"Something went wrong!\",\r\n })\r\n );\r\n },\r\n\r\n [ADD_PREVIOUS_APPOINTMENT_REQUEST]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n addPreviousAppointmentLoading: true,\r\n addPreviousAppointmentData: {},\r\n addPreviousAppointmentError: null\r\n })\r\n );\r\n },\r\n [ADD_PREVIOUS_APPOINTMENT_SUCCESS]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n addPreviousAppointmentLoading: false,\r\n addPreviousAppointmentData: action?.data?.['response']?.['data'][0]\r\n })\r\n );\r\n },\r\n [ADD_PREVIOUS_APPOINTMENT_ERROR]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n addPreviousAppointmentLoading: false,\r\n addPreviousAppointmentData: {},\r\n addPreviousAppointmentError:\r\n action.error && action.error.settings && action.error.settings.message\r\n ? action.error.settings.message\r\n : \"Something went wrong!\",\r\n })\r\n );\r\n },\r\n\r\n [ADD_INVOICE_REQUEST]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n addInvoiceLoading: true,\r\n addInvoiceData: {},\r\n addInvoiceError: null\r\n })\r\n );\r\n },\r\n [ADD_INVOICE_SUCCESS]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n addInvoiceLoading: false,\r\n addInvoiceData: action?.data?.['response']?.['data'][0]\r\n })\r\n );\r\n },\r\n [ADD_INVOICE_ERROR]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n addInvoiceLoading: false,\r\n addInvoiceData: {},\r\n addInvoiceError:\r\n action.error && action.error.settings && action.error.settings.message\r\n ? action.error.settings.message\r\n : \"Something went wrong!\",\r\n })\r\n );\r\n },\r\n \r\n [ADD_RECEIPT_REQUEST]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n addReceiptLoading: true,\r\n addReceiptData: {},\r\n addReceiptError: null\r\n })\r\n );\r\n },\r\n [ADD_RECEIPT_SUCCESS]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n addReceiptLoading: false,\r\n addReceiptData: action?.data?.['response']?.['data'][0]\r\n })\r\n );\r\n },\r\n [ADD_RECEIPT_ERROR]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n addReceiptLoading: false,\r\n addReceiptData: {},\r\n addReceiptError:\r\n action.error && action.error.settings && action.error.settings.message\r\n ? action.error.settings.message\r\n : \"Something went wrong!\",\r\n })\r\n );\r\n },\r\n [SELECT_SAVED_CARD]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n selectedSavedCard: action.card,\r\n })\r\n );\r\n }\r\n};\r\n\r\nexport default function reducer(state = initialState, action) {\r\n const fn = actionMap[action.type];\r\n return fn ? fn(state, action) : state;\r\n}\r\n","import { Map } from \"immutable\";\r\n\r\nimport {\r\n\r\n GET_PATIENT_CLINICS_REQUEST,\r\n GET_PATIENT_CLINICS_SUCCESS,\r\n GET_PATIENT_CLINICS_ERROR,\r\n\r\n GET_SINGLE_CLINIC_REQUEST,\r\n GET_SINGLE_CLINIC_SUCCESS,\r\n GET_SINGLE_CLINIC_ERROR,\r\n\r\n ADD_PATIENT_CLINIC_REQUEST,\r\n ADD_PATIENT_CLINIC_SUCCESS,\r\n ADD_PATIENT_CLINIC_ERROR,\r\n\r\n ADD_PATIENT_REQUEST,\r\n ADD_PATIENT_SUCCESS,\r\n ADD_PATIENT_ERROR,\r\n\r\n GET_ALL_CLINICS_REQUEST,\r\n GET_ALL_CLINICS_SUCCESS,\r\n GET_ALL_CLINICS_ERROR,\r\n\r\n} from \"../actions/clinics\";\r\n\r\nimport { SOMETHING_WENT_WRONG } from \"../config/labels\";\r\n\r\nconst initialState = Map({\r\n \r\n patientClinicLoading: false,\r\n patientClinicData: {},\r\n patientClinics: [],\r\n patientClinicsCardsInfo: {},\r\n patientClinicDeleteCard: {\r\n clinicRecordId: 0,\r\n ID_PaymentCard: 0,\r\n cardNumber: '',\r\n baseUrl: '',\r\n loading: false,\r\n deleteStatus: false,\r\n error: null\r\n },\r\n patientClinicError: null,\r\n\r\n singleClinicLoading: false,\r\n singleClinicData: {},\r\n singleClinicError: null,\r\n\r\n addClinicLoading: false,\r\n addClinicData: {},\r\n addClinicError: null,\r\n \r\n addPatientLoading: false,\r\n addPatientData: null,\r\n addPatientError: null\r\n\r\n})\r\n\r\n\r\n\r\nconst actionMap = {\r\n\r\n [GET_PATIENT_CLINICS_REQUEST]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n patientClinicLoading: true,\r\n patientClinicData: {},\r\n patientClinics: [],\r\n patientClinicError: null\r\n })\r\n );\r\n },\r\n [GET_PATIENT_CLINICS_SUCCESS]: (state, action) => {\r\n const patientClinicsCardsInfo = addCardsInfoToPatientClinics(action.data['response']['data']);\r\n return state.merge(\r\n Map({\r\n patientClinicLoading: false,\r\n patientClinics: action.data['response']['data'],\r\n patientClinicsCardsInfo,\r\n patientClinicData: action.data,\r\n })\r\n );\r\n },\r\n [GET_PATIENT_CLINICS_ERROR]: (state, action) => {\r\n\r\n return state.merge(\r\n Map({\r\n patientClinicLoading: false,\r\n patientClinicData: {},\r\n patientClinicError:\r\n action.error && action.error.settings && action.error.settings.message\r\n ? action.error.settings.message\r\n : SOMETHING_WENT_WRONG,\r\n })\r\n );\r\n },\r\n\r\n [GET_SINGLE_CLINIC_REQUEST]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n singleClinicLoading: true,\r\n singleClinicData: {}\r\n })\r\n );\r\n },\r\n [GET_SINGLE_CLINIC_SUCCESS]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n singleClinicLoading: false,\r\n singleClinicData: action.data['response']['data'][0]['fieldData'],\r\n })\r\n );\r\n },\r\n [GET_SINGLE_CLINIC_ERROR]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n singleClinicLoading: false,\r\n singleClinicError:\r\n action.error && action.error.settings && action.error.settings.message\r\n ? action.error.settings.message\r\n : SOMETHING_WENT_WRONG,\r\n })\r\n );\r\n },\r\n\r\n [ADD_PATIENT_CLINIC_REQUEST]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n addClinicLoading: true,\r\n addClinicData: {},\r\n })\r\n );\r\n },\r\n [ADD_PATIENT_CLINIC_SUCCESS]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n addClinicLoading: false,\r\n addClinicData: action.data,\r\n })\r\n );\r\n },\r\n [ADD_PATIENT_CLINIC_ERROR]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n addClinicLoading: false,\r\n addClinicError:\r\n action.error && action.error.settings && action.error.settings.message\r\n ? action.error.settings.message\r\n : SOMETHING_WENT_WRONG,\r\n })\r\n );\r\n },\r\n\r\n [ADD_PATIENT_REQUEST]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n addPatientLoading: true,\r\n addPatientData: null,\r\n addPatientError: null\r\n })\r\n );\r\n },\r\n [ADD_PATIENT_SUCCESS]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n addPatientLoading: false,\r\n addPatientData: action.data,\r\n })\r\n );\r\n },\r\n [ADD_PATIENT_ERROR]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n addPatientLoading: false,\r\n addPatientData: null,\r\n addPatientError:\r\n action.error && action.error.settings && action.error.settings.message\r\n ? action.error.settings.message\r\n : SOMETHING_WENT_WRONG,\r\n })\r\n );\r\n },\r\n\r\n [GET_ALL_CLINICS_REQUEST]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n allClinicLoading: true,\r\n allClinicData: null,\r\n allClinics: [],\r\n allClinicError: null\r\n })\r\n );\r\n },\r\n [GET_ALL_CLINICS_SUCCESS]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n allClinicLoading: false,\r\n allClinics: action.data['response']['data'],\r\n allClinicData: action.data,\r\n })\r\n );\r\n },\r\n\r\n [GET_ALL_CLINICS_ERROR]: (state, action) => {\r\n return state.merge(\r\n Map({\r\n allClinicLoading: false,\r\n allClinicData: null,\r\n allClinics: [],\r\n allClinicError:\r\n action.error && action.error.settings && action.error.settings.message\r\n ? action.error.settings.message\r\n : SOMETHING_WENT_WRONG,\r\n })\r\n );\r\n },\r\n\r\n}\r\n\r\nfunction addCardsInfoToPatientClinics(patientClinics) {\r\n const cardInfo = {};\r\n patientClinics.map(o => {\r\n cardInfo[o.recordId] = {\r\n isOpen: false, loading:false, cards: [], error:null\r\n }\r\n return o;\r\n });\r\n return cardInfo;\r\n}\r\n\r\nexport default function reducer(state = initialState, action) {\r\n const fn = actionMap[action.type];\r\n return fn ? fn(state, action) : state;\r\n }\r\n ","import { combineReducers } from \"redux\";\r\nimport { reducer as formReducer } from \"redux-form\";\r\nimport auth from \"./auth\";\r\nimport signup from \"./signup\";\r\nimport appointment from \"./appointment\";\r\nimport payment from \"./payment\";\r\nimport clinics from \"./clinics\";\r\n\r\nexport default combineReducers({\r\n auth,\r\n signup,\r\n appointment,\r\n payment,\r\n clinics,\r\n form: formReducer\r\n});\r\n","import { postRequest } from \".\";\r\n\r\nconst findUri = \"/layouts/access/_find\";\r\n\r\nfunction userSignUp(payload, authKey = \"\") {\r\n return postRequest(findUri, payload, authKey);\r\n}\r\n\r\nfunction forgotPassword(payload, authKey = \"\") {\r\n return postRequest(findUri, payload, authKey);\r\n}\r\n\r\nexport default {\r\n userSignUp,\r\n forgotPassword,\r\n};\r\n","import { takeLatest, call, put } from \"redux-saga/effects\";\r\nimport {\r\n USER_LOGIN_REQUEST,\r\n userLoginSuccess,\r\n userLoginError,\r\n USER_FP_REQUEST,\r\n userFpSuccess,\r\n userFpError,\r\n USER_LOGOUT_REQUEST,\r\n userLogoutSuccess,\r\n userLogoutError,\r\n} from \"../actions/auth\";\r\nimport findApi from \"../api/find\";\r\nimport recordsApi from \"../api/records\";\r\nimport API_CODES from \"../config/api-codes\";\r\nimport { LOGGED_USER_DETAILS_LOCAL_STORAGE_KEY, LOGGED_USER_SESSION_KEY } from \"../config/constants\";\r\n\r\nfunction userLogin() {\r\n return function* (actions) {\r\n const { payload } = actions;\r\n\r\n try {\r\n\r\n const session_payload = {\r\n \"query\": [\r\n {\r\n \"z1\": \"1\"\r\n }\r\n ],\r\n \"script\" : \"createSession\",\r\n \"script.param\" : `${payload.email}|${payload.password}`\r\n }\r\n \r\n const create_session = yield call(() => findApi.createSession(session_payload));\r\n\r\n if (\r\n create_session &&\r\n create_session.messages &&\r\n create_session.messages[0] &&\r\n create_session.messages[0].code === API_CODES.SUCCESS && \r\n create_session.response &&\r\n create_session.response.scriptError === API_CODES.SUCCESS\r\n ) {\r\n\r\n localStorage.setItem(\r\n LOGGED_USER_SESSION_KEY,\r\n create_session?.['response']?.['scriptResult']\r\n );\r\n\r\n\r\n const _payload = {\r\n \"query\": [\r\n {\r\n \"z1\": \"1\"\r\n }\r\n ],\r\n \"script\" : \"findPatient\",\r\n \"script.param\" : create_session?.['response']?.['scriptResult']\r\n }\r\n const data = yield call(() => findApi.userLogin(_payload));\r\n\r\n if (\r\n data &&\r\n data.messages &&\r\n data.messages[0] &&\r\n data.messages[0].code === API_CODES.SUCCESS\r\n ) {\r\n\r\n if(\r\n data &&\r\n data['response'] &&\r\n data['response']['scriptResult'] === \"No Matches\"\r\n ) {\r\n yield put(userLoginError(data));\r\n } else {\r\n \r\n yield put(userLoginSuccess(data));\r\n const userDetails = JSON.parse(data?.['response']?.['scriptResult']).response['data'][0]['fieldData']\r\n \r\n userDetails['idPatient'] = create_session?.['response']?.['scriptResult'];\r\n\r\n localStorage.setItem(\r\n LOGGED_USER_DETAILS_LOCAL_STORAGE_KEY,\r\n JSON.stringify(userDetails)\r\n );\r\n }\r\n\r\n } else {\r\n yield put(userLoginError(JSON.parse(data?.['response']?.['scriptResult'])));\r\n }\r\n } else {\r\n yield put(userLoginError(create_session));\r\n }\r\n } catch (error) {\r\n yield put(userLoginError(error));\r\n }\r\n } \r\n};\r\n\r\nfunction forgotPassword() {\r\n return function* (actions) {\r\n try { \r\n const { payload } = actions;\r\n const data = yield call(() => recordsApi.forgotPassword(payload)); \r\n if (\r\n data &&\r\n data.messages &&\r\n data.messages[0] &&\r\n data.messages[0].code === API_CODES.SUCCESS\r\n ) {\r\n yield put(userFpSuccess(data));\r\n } else {\r\n yield put(userFpError(data));\r\n }\r\n } catch (error) {\r\n yield put(userFpError(error));\r\n }\r\n };\r\n}\r\n\r\nfunction userLogout() {\r\n return function* (actions) {\r\n\r\n try {\r\n\r\n const { payload } = actions;\r\n const data = yield call(() => findApi.logout(payload)) \r\n if (\r\n data &&\r\n data.messages &&\r\n data.messages[0] &&\r\n data.messages[0].code === API_CODES.SUCCESS\r\n ) {\r\n yield put(userLogoutSuccess(data));\r\n } else {\r\n yield put(userLogoutError(data));\r\n }\r\n } catch (error) {\r\n yield put(userFpError(error));\r\n }\r\n };\r\n}\r\n\r\n\r\nexport function* userAuthWatcher() {\r\n yield takeLatest(USER_LOGIN_REQUEST, userLogin());\r\n yield takeLatest(USER_FP_REQUEST, forgotPassword());\r\n yield takeLatest(USER_LOGOUT_REQUEST, userLogout());\r\n}\r\n\r\nexport default [userAuthWatcher()];\r\n","import { takeLatest, call, put } from \"redux-saga/effects\";\r\nimport {\r\n userSignUpSuccess,\r\n userSignUpError,\r\n userSignUpDuplicateEmail,\r\n USER_SIGNUP_REQUEST,\r\n} from \"../actions/signup\";\r\nimport recordsApi from \"../api/records\";\r\nimport API_CODES from \"../config/api-codes\";\r\n\r\nfunction userSignUp() {\r\n return function* (actions) {\r\n try {\r\n const { payload } = actions;\r\n\r\n let _payload = {\r\n \"query\": [\r\n {\r\n \"z1\": \"1\"\r\n }\r\n ], \r\n \"script\" : \"createPatient\",\r\n \"script.param\" : `${payload.nameFirst}|${payload.nameLast}|${payload.email}|${payload.phoneMobile}|${payload.address1}|${payload.address2}|${payload.addressTown}|${payload.addressCounty}|${payload.addressPostcode}|${payload.country}|${payload.password}|${payload.dateOfBirth}`\r\n }\r\n\r\n const data = yield call(() => recordsApi.userSignUp(_payload));\r\n if (\r\n data &&\r\n data.messages &&\r\n data.messages[0] &&\r\n data.messages[0].code === API_CODES.SUCCESS\r\n ) {\r\n yield put(userSignUpSuccess(data));\r\n } else {\r\n yield put(userSignUpError(data));\r\n }\r\n } catch (error) {\r\n if(\r\n error &&\r\n error['data']['response'] &&\r\n error['data']['response'] &&\r\n error['data']['response']['data'] &&\r\n error['data']['response']['data']['messages'][0] &&\r\n error['data']['response']['data']['messages'][0].code === \"1\"\r\n ){\r\n yield put(userSignUpDuplicateEmail(error));\r\n } else {\r\n yield put(userSignUpError(error));\r\n }\r\n }\r\n };\r\n}\r\n\r\nexport function* userSignupWatcher() {\r\n yield takeLatest(USER_SIGNUP_REQUEST, userSignUp());\r\n}\r\n\r\nexport default [userSignupWatcher()];\r\n","import { postRequest } from \"./clinics-axios\";\r\n\r\nconst findUri = \"/layouts/access/_find\";\r\n\r\nfunction findAppointments(payload, authKey = \"\") {\r\n return postRequest(findUri, payload.query, authKey, payload.baseUrl);\r\n}\r\n\r\nexport default {\r\n findAppointments\r\n};\r\n","import { postRequest } from \"./clinics-axios\";\r\n\r\nconst findUri = \"/layouts/access/_find\";\r\n\r\nfunction findDiary(payload, authKey=\"\") {\r\n return postRequest(findUri, payload.query, authKey, payload.baseUrl);\r\n}\r\n\r\nexport default {\r\n findDiary\r\n};\r\n","import { postRequest } from \"./clinics-axios\";\r\n\r\nconst findUri = \"/layouts/access/_find\";\r\n\r\nfunction findDiary(payload, authKey=\"\") {\r\n return postRequest(findUri, payload.query, authKey, payload.baseUrl);\r\n}\r\n\r\nexport default {\r\n findDiary\r\n};\r\n","import { postRequest } from \"./clinics-axios\";\r\n\r\nconst findUri = \"/layouts/access/_find\";\r\n\r\nfunction findTimeSlot(payload, authKey=\"\") {\r\n return postRequest(findUri, payload.query, authKey, payload.baseUrl);\r\n}\r\n\r\nexport default {\r\n findTimeSlot\r\n};\r\n","import { postRequest } from \"./clinics-axios\";\r\n\r\nconst findUri = \"/layouts/access/_find\";\r\n\r\nfunction findPaymentCards(payload, authKey=\"\") {\r\n return postRequest(findUri, payload.query, authKey, payload.baseUrl);\r\n}\r\n\r\nexport default {\r\n findPaymentCards\r\n};\r\n","import { postRequest } from \"./clinics-axios\";\r\n\r\nconst findUri = \"/layouts/access/_find\";\r\n\r\nfunction checkfindTimeSlots(payload, authKey = \"\") {\r\n return postRequest(findUri, payload.query, authKey, payload.baseUrl);\r\n}\r\n\r\nexport default {\r\n checkfindTimeSlots,\r\n};\r\n","import { takeLatest, call, put } from \"redux-saga/effects\";\r\nimport {\r\n\r\n FIND_APPOINTMENT_TYPES_REQUEST,\r\n findAppointmentTypesSuccess,\r\n findAppointmentTypesError,\r\n\r\n FIND_DIARY_REQUEST,\r\n findDiarySuccess,\r\n findDiaryError,\r\n \r\n FIND_DIARY_DAY_REQUEST,\r\n findDiaryDaySuccess,\r\n findDiaryDayError,\r\n\r\n FIND_TIME_SLOTS_REQUEST,\r\n findTimeSlotsSuccess,\r\n findTimeSlotsError,\r\n \r\n FIND_PACKAGES_REQUEST,\r\n findPackagesSuccess,\r\n findPackagesError,\r\n\r\n CHECK_TIMESLOTS_REQUEST,\r\n checkTimeslotsSuccess,\r\n checkTimeslotsError,\r\n FIND_CARDS_REQUEST,\r\n findCardsSuccess,\r\n findCardsError\r\n\r\n} from \"../actions/appointment\";\r\n\r\nimport findProductApi from \"../api/product-api-find\"\r\nimport diaryApi from \"../api/diary-api-find\";\r\nimport diaryDayApi from \"../api/diary-day-api-find\";\r\nimport timeSlotsApi from \"../api/time-slots-api\";\r\nimport paymentCardApi from \"../api/payment-card-find\";\r\nimport checkTimeSlotsApi from \"../api/check-time-slots-api\";\r\nimport API_CODES from \"../config/api-codes\";\r\n\r\nfunction findAppointment() {\r\n return function* (actions) {\r\n try {\r\n\r\n const { payload } = actions;\r\n \r\n const _data = yield call(() => findProductApi.findAppointments(payload));\r\n const data = JSON.parse(_data['response']['scriptResult']);\r\n if (\r\n data &&\r\n data.messages &&\r\n data.messages[0] &&\r\n data.messages[0].code === API_CODES.SUCCESS\r\n ) {\r\n yield put(findAppointmentTypesSuccess(data));\r\n } else {\r\n yield put(findAppointmentTypesError(data));\r\n }\r\n } catch (error) {\r\n yield put(findAppointmentTypesError(error));\r\n }\r\n };\r\n}\r\n\r\nfunction findDiary() {\r\n return function* (actions) {\r\n try {\r\n\r\n const { payload } = actions;\r\n\r\n const _data = yield call(() => diaryApi.findDiary(payload));\r\n const data = JSON.parse(_data['response']['scriptResult']);\r\n\r\n if (\r\n data &&\r\n data.messages &&\r\n data.messages[0] &&\r\n data.messages[0].code === API_CODES.SUCCESS\r\n ) {\r\n yield put(findDiarySuccess(data));\r\n } else {\r\n yield put(findDiaryError(data));\r\n }\r\n } catch (error) {\r\n yield put(findDiaryError(error));\r\n }\r\n };\r\n}\r\n\r\nfunction findDiaryDay() {\r\n return function* (actions) {\r\n try {\r\n\r\n const { payload } = actions;\r\n \r\n const _data = yield call(() => diaryDayApi.findDiary(payload));\r\n const data = JSON.parse(_data['response']['scriptResult']);\r\n\r\n if (\r\n data &&\r\n data.messages &&\r\n data.messages[0] &&\r\n data.messages[0].code === API_CODES.SUCCESS\r\n ) {\r\n yield put(findDiaryDaySuccess(data));\r\n } else {\r\n yield put(findDiaryDayError(data));\r\n }\r\n } catch (error) {\r\n yield put(findDiaryDayError(error));\r\n }\r\n };\r\n}\r\n\r\nfunction findTimeSlots() {\r\n return function* (actions) {\r\n try {\r\n\r\n const { payload } = actions;\r\n \r\n const _data = yield call(() => timeSlotsApi.findTimeSlot(payload));\r\n const data = JSON.parse(_data['response']['scriptResult']);\r\n\r\n if (\r\n data &&\r\n data.messages &&\r\n data.messages[0] &&\r\n data.messages[0].code === API_CODES.SUCCESS\r\n ) {\r\n yield put(findTimeSlotsSuccess(data));\r\n } else {\r\n yield put(findTimeSlotsError(data));\r\n }\r\n } catch (error) {\r\n yield put(findTimeSlotsError(error));\r\n }\r\n };\r\n}\r\n\r\nfunction findPackages() {\r\n return function* (actions) {\r\n try {\r\n\r\n const { payload } = actions;\r\n \r\n const _data = yield call(() => findProductApi.findAppointments(payload));\r\n const data = JSON.parse(_data['response']['scriptResult']);\r\n\r\n if (\r\n data &&\r\n data.messages &&\r\n data.messages[0] &&\r\n data.messages[0].code === API_CODES.SUCCESS\r\n ) {\r\n yield put(findPackagesSuccess(data));\r\n } else {\r\n yield put(findPackagesError(data));\r\n }\r\n } catch (error) {\r\n yield put(findPackagesError(error));\r\n }\r\n };\r\n}\r\n\r\nfunction checkTimeSlots() {\r\n return function* (actions) {\r\n try {\r\n\r\n const { payload } = actions;\r\n \r\n const data = yield call(() => checkTimeSlotsApi.checkfindTimeSlots(payload)); \r\n\r\n if (\r\n data &&\r\n data.messages &&\r\n data.messages[0] &&\r\n data.messages[0].code === API_CODES.SUCCESS\r\n ) {\r\n yield put(checkTimeslotsSuccess(data));\r\n } else {\r\n yield put(checkTimeslotsError(data));\r\n }\r\n } catch (error) {\r\n yield put(checkTimeslotsError(error));\r\n }\r\n };\r\n}\r\n\r\nfunction findCards() {\r\n return function* (actions) {\r\n try {\r\n\r\n const { payload } = actions;\r\n \r\n const _data = yield call(() => paymentCardApi.findPaymentCards(payload)); \r\n const data = JSON.parse(_data['response']['scriptResult']);\r\n\r\n if (\r\n data &&\r\n data.messages &&\r\n data.messages[0] &&\r\n data.messages[0].code === API_CODES.SUCCESS\r\n ) {\r\n yield put(findCardsSuccess(data));\r\n } else {\r\n yield put(findCardsError(data));\r\n }\r\n } catch (error) {\r\n yield put(findCardsError(error));\r\n }\r\n };\r\n}\r\n\r\n\r\nexport function* userAuthWatcher() {\r\n yield takeLatest(FIND_APPOINTMENT_TYPES_REQUEST, findAppointment());\r\n yield takeLatest(FIND_DIARY_REQUEST, findDiary());\r\n yield takeLatest(FIND_DIARY_DAY_REQUEST, findDiaryDay());\r\n yield takeLatest(FIND_TIME_SLOTS_REQUEST, findTimeSlots());\r\n yield takeLatest(FIND_PACKAGES_REQUEST, findPackages());\r\n yield takeLatest(CHECK_TIMESLOTS_REQUEST, checkTimeSlots());\r\n yield takeLatest(FIND_CARDS_REQUEST, findCards());\r\n}\r\n\r\nexport default [userAuthWatcher()];\r\n","import { postRequest } from \".\";\r\nimport { postRequest as clinicPostRequest } from \"./clinics-axios\";\r\n\r\nconst paymentUri = \"/layouts/access/_find\"\r\n\r\nfunction createInvoice(payload, authKey = \"\") {\r\n return clinicPostRequest(\r\n paymentUri,\r\n payload.payload,\r\n authKey,\r\n payload.baseUrl,\r\n {},\r\n );\r\n}\r\n\r\nfunction createReceipt(payload, authKey = \"\") {\r\n return clinicPostRequest(\r\n paymentUri,\r\n payload.payload,\r\n authKey,\r\n payload.baseUrl,\r\n {},\r\n );\r\n}\r\n\r\nfunction initiatePayment(payload, authKey = \"\") {\r\n return clinicPostRequest(\r\n paymentUri,\r\n payload.payload,\r\n authKey,\r\n payload.baseUrl,\r\n {},\r\n );\r\n}\r\n\r\nfunction confirmPayment(payload, authKey = \"\") {\r\n return clinicPostRequest(\r\n paymentUri,\r\n payload.payload,\r\n authKey,\r\n payload.baseUrl,\r\n {},\r\n );\r\n}\r\n\r\nfunction findReceipt(payload, authKey = \"\") {\r\n return postRequest(paymentUri, payload, authKey);\r\n}\r\n\r\nfunction getConfirmation(payload, authKey = \"\") {\r\n return postRequest(paymentUri, payload, authKey);\r\n}\r\n\r\nfunction bookFinalSlot(payload, authKey = \"\") {\r\n return clinicPostRequest(\r\n paymentUri,\r\n payload.payload,\r\n authKey,\r\n payload.baseUrl,\r\n {},\r\n );\r\n}\r\n\r\nfunction bookSlot(payload, authKey = \"\") {\r\n return clinicPostRequest(\r\n paymentUri,\r\n payload.payload,\r\n authKey,\r\n payload.baseUrl,\r\n {},\r\n );\r\n}\r\n\r\nfunction addAppointment(payload, authKey = \"\") {\r\n return postRequest(paymentUri, payload, authKey);\r\n}\r\n\r\nfunction addInvoice(payload, authKey = \"\") {\r\n return postRequest(paymentUri, payload, authKey);\r\n}\r\n\r\nfunction addReceipt(payload, authKey = \"\") {\r\n return postRequest(paymentUri, payload, authKey);\r\n}\r\n\r\nexport default {\r\n createInvoice,\r\n createReceipt,\r\n initiatePayment,\r\n confirmPayment,\r\n findReceipt,\r\n getConfirmation,\r\n bookFinalSlot,\r\n bookSlot,\r\n addAppointment,\r\n addInvoice,\r\n addReceipt,\r\n};\r\n","import { takeLatest, call, put } from \"redux-saga/effects\";\r\n\r\nimport { \r\n \r\n CREATE_INVOICE_REQUEST, \r\n createInvoiceSuccess, \r\n createInvoiceError, \r\n\r\n CREATE_RECEIPT_REQUEST, \r\n createReceiptSuccess, \r\n createReceiptError, \r\n\r\n INITIATE_PAYMENT_REQUEST, \r\n initiatePaymentSuccess,\r\n initiatePaymentError,\r\n\r\n CONFIRM_PAYMENT_REQUEST,\r\n confirmPaymentSuccess,\r\n confirmPaymentError,\r\n\r\n FIND_RECEIPT_REQUEST,\r\n findReceiptSuccess,\r\n findReceiptError,\r\n\r\n GET_CONFORMATION_REQUEST,\r\n getConformationSuccess,\r\n getConformationError,\r\n\r\n BOOK_SLOT_FINAL_REQUEST,\r\n bookFinalSlotSuccess,\r\n bookFinalSlotError,\r\n \r\n BOOK_SLOT_REQUEST,\r\n bookSlotSuccess,\r\n bookSlotError,\r\n\r\n ADD_APPOINTMENT_REQUEST,\r\n addAppointmentSuccess,\r\n addAppointmentError,\r\n\r\n ADD_PREVIOUS_APPOINTMENT_REQUEST,\r\n addPreviousAppointmentSuccess,\r\n addPreviousAppointmentError,\r\n\r\n ADD_INVOICE_REQUEST,\r\n addInvoiceSuccess,\r\n addInvoiceError,\r\n\r\n ADD_RECEIPT_REQUEST,\r\n addReceiptSuccess,\r\n addReceiptError,\r\n\r\n} from \"../actions/payment\";\r\n\r\nimport payment_api from \"../api/payment-api\"\r\nimport API_CODES from \"../config/api-codes\";\r\n\r\nfunction createInvoice() {\r\n return function* (actions) {\r\n try {\r\n const { payload } = actions;\r\n\r\n const data = yield call(() => payment_api.createInvoice(payload));\r\n\r\n if (\r\n data &&\r\n data.messages &&\r\n data.messages[0] &&\r\n data.messages[0].code === API_CODES.SUCCESS\r\n ) {\r\n yield put(createInvoiceSuccess(data));\r\n } else {\r\n yield put(createInvoiceError(data));\r\n } \r\n } catch (error) {\r\n yield put(createInvoiceError(error));\r\n }\r\n } \r\n}\r\n\r\nfunction createReceipt() {\r\n return function* (actions) {\r\n try {\r\n const { payload } = actions;\r\n\r\n const data = yield call(() => payment_api.createReceipt(payload));\r\n\r\n if (\r\n data &&\r\n data.messages &&\r\n data.messages[0] &&\r\n data.messages[0].code === API_CODES.SUCCESS\r\n ) {\r\n yield put(createReceiptSuccess(data));\r\n } else {\r\n yield put(createReceiptError(data));\r\n } \r\n } catch (error) {\r\n yield put(createReceiptError(error));\r\n }\r\n } \r\n}\r\n\r\nfunction initiatePayment() {\r\n return function* (actions) {\r\n try {\r\n const { payload } = actions;\r\n \r\n const data = yield call(() => payment_api.initiatePayment(payload));\r\n\r\n if (\r\n data &&\r\n data.messages &&\r\n data.messages[0] &&\r\n data.messages[0].code === API_CODES.SUCCESS\r\n ) {\r\n yield put(initiatePaymentSuccess(data));\r\n } else {\r\n yield put(initiatePaymentError(data));\r\n } \r\n } catch (error) {\r\n yield put(initiatePaymentError(error));\r\n }\r\n } \r\n}\r\n\r\nfunction confirmPayment() {\r\n return function* (actions) {\r\n try {\r\n const { payload } = actions;\r\n\r\n const data = yield call(() => payment_api.confirmPayment(payload));\r\n\r\n if (\r\n data &&\r\n data.messages &&\r\n data.messages[0] &&\r\n data.messages[0].code === API_CODES.SUCCESS\r\n ) {\r\n yield put(confirmPaymentSuccess(data));\r\n } else {\r\n yield put(confirmPaymentError(data));\r\n } \r\n } catch (error) {\r\n yield put(confirmPaymentError(error));\r\n }\r\n } \r\n}\r\n\r\nfunction findReceipt() {\r\n return function* (actions) {\r\n try {\r\n const { payload } = actions\r\n\r\n const _data = yield call(() => payment_api.findReceipt(payload));\r\n const data = JSON.parse(_data?.['response']?.['scriptResult']);\r\n\r\n if (\r\n data &&\r\n data.messages &&\r\n data.messages[0] &&\r\n data.messages[0].code === API_CODES.SUCCESS\r\n ) {\r\n yield put(findReceiptSuccess(data));\r\n } else {\r\n yield put(findReceiptError(data));\r\n } \r\n } catch (error) {\r\n yield put(findReceiptError(error));\r\n }\r\n } \r\n}\r\n\r\nfunction getConfirmation() {\r\n return function* (actions) {\r\n try {\r\n const { payload } = actions;\r\n\r\n const _data = yield call(() => payment_api.getConfirmation(payload));\r\n const data = JSON.parse(_data?.['response']?.['scriptResult']);\r\n\r\n if (\r\n data &&\r\n data.messages &&\r\n data.messages[0] &&\r\n data.messages[0].code === API_CODES.SUCCESS\r\n ) {\r\n yield put(getConformationSuccess(data));\r\n } else {\r\n yield put(getConformationError(data));\r\n } \r\n } catch (error) {\r\n yield put(getConformationError(error));\r\n }\r\n } \r\n}\r\n\r\nfunction bookFinalSlots() {\r\n return function* (actions) {\r\n try {\r\n const { payload } = actions;\r\n\r\n const data = yield call(() => payment_api.bookFinalSlot(payload));\r\n\r\n if (\r\n data &&\r\n data.messages &&\r\n data.messages[0] &&\r\n data.messages[0].code === API_CODES.SUCCESS\r\n ) {\r\n yield put(bookFinalSlotSuccess(data));\r\n } else {\r\n yield put(bookFinalSlotError(data));\r\n } \r\n } catch (error) {\r\n yield put(bookFinalSlotError(error));\r\n }\r\n } \r\n}\r\n\r\nfunction bookSlots() {\r\n return function* (actions) {\r\n try {\r\n const { payload } = actions;\r\n \r\n const data = yield call(() => payment_api.bookSlot(payload));\r\n\r\n if (\r\n data &&\r\n data.messages &&\r\n data.messages[0] &&\r\n data.messages[0].code === API_CODES.SUCCESS\r\n ) {\r\n yield put(bookSlotSuccess(data));\r\n } else {\r\n yield put(bookSlotError(data));\r\n } \r\n } catch (error) {\r\n yield put(bookSlotError(error));\r\n }\r\n } \r\n}\r\n\r\nfunction addAppointment() {\r\n return function* (actions) {\r\n try {\r\n const { payload } = actions;\r\n const data = yield call(() => payment_api.addAppointment(payload));\r\n if (\r\n data &&\r\n data.messages &&\r\n data.messages[0] &&\r\n data.messages[0].code === API_CODES.SUCCESS\r\n ) {\r\n yield put(addAppointmentSuccess(data));\r\n } else {\r\n yield put(addAppointmentError(data));\r\n }\r\n } catch (error) {\r\n yield put(addAppointmentError(error));\r\n }\r\n };\r\n}\r\n\r\n\r\nfunction addPreviousAppointment(){\r\n return function* (actions) {\r\n try {\r\n const { payload } = actions;\r\n const data = yield call(() => payment_api.addAppointment(payload));\r\n if (\r\n data &&\r\n data.messages &&\r\n data.messages[0] &&\r\n data.messages[0].code === API_CODES.SUCCESS\r\n ) {\r\n yield put(addPreviousAppointmentSuccess(data));\r\n } else {\r\n yield put(addPreviousAppointmentError(data));\r\n }\r\n } catch (error) {\r\n yield put(addPreviousAppointmentError(error));\r\n }\r\n };\r\n}\r\n\r\n\r\nfunction addInvoice() {\r\n return function* (actions) {\r\n try {\r\n const { payload } = actions;\r\n const data = yield call(() => payment_api.addInvoice(payload));\r\n if (\r\n data &&\r\n data.messages &&\r\n data.messages[0] &&\r\n data.messages[0].code === API_CODES.SUCCESS\r\n ) {\r\n yield put(addInvoiceSuccess(data));\r\n } else {\r\n yield put(addInvoiceError(data));\r\n }\r\n } catch (error) {\r\n yield put(addInvoiceError(error));\r\n }\r\n };\r\n}\r\n\r\nfunction addReceipt() {\r\n return function* (actions) {\r\n try {\r\n const { payload } = actions;\r\n const data = yield call(() => payment_api.addReceipt(payload));\r\n if (\r\n data &&\r\n data.messages &&\r\n data.messages[0] &&\r\n data.messages[0].code === API_CODES.SUCCESS\r\n ) {\r\n yield put(addReceiptSuccess(data));\r\n } else {\r\n yield put(addReceiptError(data));\r\n }\r\n } catch (error) {\r\n yield put(addReceiptError(error));\r\n }\r\n };\r\n}\r\n\r\nexport function* profileAuthWatcher() {\r\n yield takeLatest(CREATE_INVOICE_REQUEST, createInvoice());\r\n yield takeLatest(CREATE_RECEIPT_REQUEST, createReceipt());\r\n yield takeLatest(INITIATE_PAYMENT_REQUEST, initiatePayment());\r\n yield takeLatest(CONFIRM_PAYMENT_REQUEST, confirmPayment());\r\n yield takeLatest(FIND_RECEIPT_REQUEST, findReceipt());\r\n yield takeLatest(GET_CONFORMATION_REQUEST, getConfirmation());\r\n yield takeLatest(BOOK_SLOT_FINAL_REQUEST, bookFinalSlots());\r\n yield takeLatest(BOOK_SLOT_REQUEST, bookSlots());\r\n yield takeLatest(ADD_APPOINTMENT_REQUEST, addAppointment());\r\n yield takeLatest(ADD_PREVIOUS_APPOINTMENT_REQUEST, addPreviousAppointment());\r\n yield takeLatest(ADD_INVOICE_REQUEST, addInvoice());\r\n yield takeLatest(ADD_RECEIPT_REQUEST, addReceipt());\r\n}\r\n\r\nexport default [profileAuthWatcher()];","import { getRequest, postRequest } from \".\";\r\nimport { postRequest as clinicPostRequest } from \"./clinics-axios\";\r\n\r\nconst findUri = '/layouts/access/_find';\r\n\r\nfunction getPatientClinics(payload, authKey=\"\") {\r\n return postRequest(findUri, payload, authKey);\r\n}\r\n\r\nfunction getSingleClinic(payload, authKey = \"\") {\r\n return postRequest(findUri, payload, authKey);\r\n}\r\n\r\nfunction addPatientClinic(payload, authKey = \"\") {\r\n return postRequest(findUri, payload, authKey);\r\n}\r\n\r\nfunction addPatient(payload, authKey = \"\") {\r\n return clinicPostRequest( \r\n findUri,\r\n payload.payload,\r\n authKey,\r\n payload.baseUrl,\r\n {},\r\n );\r\n}\r\n\r\nfunction patientClinicAddPatient(payload, authKey = \"\") {\r\n return postRequest(findUri, payload, authKey);\r\n}\r\n\r\n\r\nfunction getAllClinics(payload, authKey = \"\") {\r\n return postRequest(findUri, payload, authKey);\r\n}\r\n\r\nexport default {\r\n getAllClinics,\r\n getPatientClinics,\r\n getSingleClinic,\r\n addPatientClinic,\r\n addPatient,\r\n patientClinicAddPatient\r\n};\r\n","import { takeLatest, call, put } from \"redux-saga/effects\";\r\nimport {\r\n\r\n GET_PATIENT_CLINICS_REQUEST,\r\n getPatientClinicsSuccess,\r\n getPatientClinicsError,\r\n\r\n GET_SINGLE_CLINIC_REQUEST,\r\n getSingleClinicSuccess,\r\n getSingleClinicError,\r\n\r\n ADD_PATIENT_CLINIC_REQUEST,\r\n addPatientClinicSuccess,\r\n addPatientClinicError,\r\n\r\n ADD_PATIENT_REQUEST,\r\n addPatientSuccess,\r\n addPatientError,\r\n\r\n GET_ALL_CLINICS_REQUEST,\r\n getAllClinicsSuccess,\r\n getAllClinicsError,\r\n\r\n} from \"../actions/clinics\";\r\n\r\nimport findApi from \"../api/clinic-api-find\";\r\nimport API_CODES from \"../config/api-codes\";\r\nimport { LOGGED_USER_SESSION_KEY } from \"../config/constants\";\r\n\r\nfunction getPatientsClinics() {\r\n return function* (actions) {\r\n try {\r\n const _payload = {\r\n query: [{ \"z1\": \"1\" }],\r\n \"script\" : \"getPatientClinics\",\r\n \"script.param\" : localStorage.getItem(LOGGED_USER_SESSION_KEY)\r\n };\r\n\r\n const data = yield call(() => findApi.getPatientClinics(_payload));\r\n if (\r\n data &&\r\n data.messages &&\r\n data.messages[0] &&\r\n data.messages[0].code === API_CODES.SUCCESS\r\n ) {\r\n yield put(getPatientClinicsSuccess(JSON.parse(data?.['response']?.['scriptResult'])));\r\n } else {\r\n yield put(getPatientClinicsError(JSON.parse(data?.['response']?.['scriptResult'])));\r\n }\r\n } catch (error) {\r\n yield put(getPatientClinicsError(error));\r\n }\r\n };\r\n}\r\n\r\nfunction getSingleClinic() {\r\n return function* (actions) {\r\n try {\r\n const { payload } = actions;\r\n const _payload = {\r\n \"query\": [\r\n {\r\n \"z1\": \"1\"\r\n }\r\n ],\r\n \"script\" : \"getClinic\",\r\n \"script.param\" : payload\r\n } \r\n const _data = yield call(() => findApi.getSingleClinic(_payload));\r\n const data = JSON.parse(_data?.['response']?.['scriptResult']);\r\n\r\n if (\r\n data &&\r\n data.messages &&\r\n data.messages[0] &&\r\n data.messages[0].code === API_CODES.SUCCESS\r\n ) {\r\n yield put(getSingleClinicSuccess(data));\r\n } else {\r\n yield put(getSingleClinicError(data));\r\n }\r\n } catch (error) {\r\n yield put(getSingleClinicError(error));\r\n }\r\n };\r\n}\r\n\r\nfunction addPatientClinic() {\r\n return function* (actions) {\r\n try {\r\n const { payload } = actions;\r\n const data = yield call(() => findApi.addPatientClinic(payload) );\r\n if (\r\n data &&\r\n data.messages &&\r\n data.messages[0] &&\r\n data.messages[0].code === API_CODES.SUCCESS\r\n ) {\r\n yield put(addPatientClinicSuccess(data));\r\n } else {\r\n yield put(getSingleClinicError(data));\r\n }\r\n } catch (error) {\r\n yield put(addPatientClinicError(error));\r\n }\r\n };\r\n}\r\n\r\nfunction addPatientRequest() {\r\n return function* (actions) {\r\n try {\r\n const { payload } = actions;\r\n\r\n const _payload = {\r\n \"query\": [\r\n {\r\n \"z1\": \"1\"\r\n }\r\n ],\r\n \r\n \"script\" : \"createPatient\",\r\n \"script.param\" : `${payload[\"payload\"][\"nameFirst\"]}|${payload[\"payload\"][\"nameLast\"]}|${payload[\"payload\"][\"email\"]}|${payload[\"payload\"][\"phoneMobile\"]}|${payload[\"payload\"][\"dateOfBirth\"]}|${payload[\"payload\"][\"address1\"]}|${payload[\"payload\"][\"address2\"]}|${payload[\"payload\"][\"addressTown\"]}|${payload[\"payload\"][\"addressCounty\"]}|${payload[\"payload\"][\"addressPostcode\"]}|${payload[\"payload\"][\"idPatient\"]}|${payload[\"payload\"][\"ID_Clinic\"]}`\r\n }\r\n\r\n const combineData = { payload: _payload, baseUrl: payload.baseUrl }\r\n\r\n const data = yield call(() => findApi.addPatient(combineData));\r\n\r\n if (\r\n data &&\r\n data.messages &&\r\n data.messages[0] &&\r\n data.messages[0].code === API_CODES.SUCCESS\r\n ) {\r\n const {\r\n response: { scriptResult },\r\n } = data;\r\n const {\r\n payload: { idPatient, idClinic },\r\n } = payload;\r\n const ID_Patient = scriptResult;\r\n\r\n const combinedPatientPayload = {\r\n \"query\": [\r\n {\r\n \"z1\": \"1\"\r\n }\r\n ],\r\n \r\n \"script\" : \"updatePatientID\",\r\n \"script.param\" : `${localStorage.getItem(LOGGED_USER_SESSION_KEY)}|${idClinic}|${ID_Patient}`\r\n }\r\n\r\n const patientClinicAddPatientRes = yield call(() => findApi.patientClinicAddPatient(combinedPatientPayload));\r\n\r\n if (\r\n patientClinicAddPatientRes &&\r\n patientClinicAddPatientRes.messages &&\r\n patientClinicAddPatientRes.messages[0] &&\r\n patientClinicAddPatientRes.messages[0].code === API_CODES.SUCCESS\r\n ) {\r\n yield put(addPatientSuccess(data));\r\n } else {\r\n yield put(addPatientError(data));\r\n }\r\n } else {\r\n yield put(addPatientError(data));\r\n }\r\n } catch (error) {\r\n yield put(addPatientError(error));\r\n }\r\n };\r\n}\r\n\r\nfunction getAllClinics() {\r\n return function* (actions) {\r\n try {\r\n const { payload } = actions;\r\n const _payload = {\r\n query: [{ \"z1\": \"1\" }],\r\n \"script\" : \"clinicWildcard\",\r\n \"script.param\" : `${payload.sessionId}|${payload.search || '*'}`\r\n };\r\n const _data = yield call(() => findApi.getAllClinics(_payload));\r\n const data = JSON.parse(_data['response']['scriptResult']);\r\n if (\r\n data &&\r\n data.messages &&\r\n data.messages[0] &&\r\n data.messages[0].code === API_CODES.SUCCESS\r\n ) {\r\n yield put(getAllClinicsSuccess(data));\r\n } else {\r\n yield put(getAllClinicsError(data));\r\n }\r\n } catch (error) {\r\n yield put(getAllClinicsError(error));\r\n }\r\n };\r\n}\r\n\r\n\r\nexport function* profileAuthWatcher() {\r\n yield takeLatest(GET_PATIENT_CLINICS_REQUEST, getPatientsClinics());\r\n yield takeLatest(GET_SINGLE_CLINIC_REQUEST, getSingleClinic());\r\n yield takeLatest(ADD_PATIENT_CLINIC_REQUEST, addPatientClinic());\r\n yield takeLatest(ADD_PATIENT_REQUEST, addPatientRequest());\r\n yield takeLatest(GET_ALL_CLINICS_REQUEST, getAllClinics());\r\n}\r\n \r\nexport default [profileAuthWatcher()];\r\n ","import { all } from \"redux-saga/effects\";\r\nimport auth from \"./auth\";\r\nimport signup from \"./signup\";\r\nimport appointment from \"./appointment\";\r\nimport payment from \"./payment\";\r\nimport clinics from \"./clinics\";\r\n\r\nexport default function* rootSaga() {\r\n yield all([...auth, ...signup, ...appointment, ...payment, ...clinics]);\r\n}\r\n","import { createBrowserHistory } from \"history\";\r\nexport default createBrowserHistory();\r\n","import React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport \"./index.css\";\r\nimport App from \"./App\";\r\nimport * as serviceWorker from \"./serviceWorker\";\r\nimport { Provider } from \"react-redux\";\r\nimport configureStore from \"./config/store\";\r\nimport { Router } from \"react-router-dom\";\r\nimport history from \"./config/history\";\r\n\r\nReactDOM.render(\r\n \r\n \r\n \r\n \r\n ,\r\n document.getElementById(\"root\")\r\n);\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://bit.ly/CRA-PWA\r\nserviceWorker.unregister();\r\n","import createSagaMiddleware from \"redux-saga\";\r\nimport { createStore, applyMiddleware } from \"redux\";\r\nimport rootReducer from '../reducers';\r\nimport rootSaga from '../sagas';\r\nimport { composeWithDevTools } from \"redux-devtools-extension\";\r\n\r\nexport default function configureStore() {\r\n const sagaMiddleware = createSagaMiddleware();\r\n let store = null;\r\n if (process.env.REACT_APP_ENV === \"dev\") {\r\n const composeEnhancers = composeWithDevTools({});\r\n store = createStore(\r\n rootReducer,\r\n composeEnhancers(applyMiddleware(sagaMiddleware))\r\n );\r\n } else {\r\n store = createStore(rootReducer, applyMiddleware(sagaMiddleware));\r\n }\r\n sagaMiddleware.run(rootSaga);\r\n return store;\r\n}\r\n","import axios from \"axios\";\r\nimport API_CODES from \"../config/api-codes\";\r\nimport {\r\n BAD_REQUEST,\r\n UNAUTHORIZED_STATUS,\r\n TOKEN_LOCAL_STORAGE_KEY,\r\n} from \"../config/constants\";\r\n\r\naxios.interceptors.response.use(\r\n (response) => {\r\n return response;\r\n },\r\n (error) => {\r\n if ((\r\n error.response.status === UNAUTHORIZED_STATUS &&\r\n error.response.data.messages &&\r\n error.response.data.messages[0] &&\r\n error.response.data.messages[0].code &&\r\n error.response.data.messages[0].code === API_CODES.INVALID_TOKEN\r\n ) ||\r\n (\r\n error.response.status === BAD_REQUEST &&\r\n error.response.data.messages &&\r\n error.response.data.messages[0] &&\r\n error.response.data.messages[0].code &&\r\n error.response.data.messages[0].code === API_CODES.TOKEN_NOT_FOUND\r\n )) {\r\n\r\n return getAuthorizedToken()\r\n .then((token) => {\r\n const { config } = error;\r\n localStorage.setItem(TOKEN_LOCAL_STORAGE_KEY, token);\r\n config.headers[\"Authorization\"] = `Bearer ${token}`;\r\n\r\n if(JSON.parse(config['data'])['logout'] === true){\r\n config['url'] = process.env.REACT_APP_SERVER_BASE_URL + '/sessions/' + token;\r\n }\r\n\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .request(config)\r\n .then((res) => {\r\n resolve(res);\r\n })\r\n .catch((err) => {\r\n reject(err);\r\n });\r\n });\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n }\r\n return Promise.reject(error);\r\n }\r\n);\r\n\r\nfunction apiError(status, message, _data) {\r\n let data = null;\r\n let isObject = false;\r\n try {\r\n data = JSON.parse(_data);\r\n isObject = true;\r\n } catch (error) {\r\n data = _data;\r\n }\r\n return {\r\n status,\r\n message,\r\n data,\r\n toString: () => {\r\n return `${message}\\nResponse:\\n${\r\n isObject ? JSON.stringify(data, null, 2) : data\r\n }`;\r\n },\r\n };\r\n}\r\n\r\nexport function getRequest(\r\n _url,\r\n authToken = \"\",\r\n queryParams = {},\r\n BaseUrl = process.env.REACT_APP_SERVER_BASE_URL,\r\n _headers = {}\r\n) {\r\n const url = `${BaseUrl}${_url}`;\r\n let headers = {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n };\r\n if (authToken) {\r\n headers.Authorization = `Bearer ${authToken}`;\r\n } else if (localStorage.getItem(TOKEN_LOCAL_STORAGE_KEY)) {\r\n headers.Authorization = `Bearer ${localStorage.getItem(\r\n TOKEN_LOCAL_STORAGE_KEY\r\n )}`;\r\n }\r\n return axios({\r\n method: \"GET\",\r\n url,\r\n headers: { ...headers, ..._headers },\r\n params: queryParams,\r\n })\r\n .then(function (response) {\r\n return response.data;\r\n })\r\n .catch(function (error) {\r\n if (error.response) {\r\n throw apiError(error.response.status, `Request failed.`, error);\r\n } else if (error.request) {\r\n throw apiError(error.request.status, `Request failed.`, error);\r\n } else {\r\n throw apiError(\"ERROR\", error.toString(), error);\r\n }\r\n });\r\n}\r\n\r\nexport function postRequest(\r\n _url,\r\n data,\r\n authToken = \"\",\r\n BaseUrl = process.env.REACT_APP_SERVER_BASE_URL,\r\n _headers = {}\r\n) {\r\n const url = `${BaseUrl}${_url}`;\r\n let headers = {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n };\r\n if (authToken) {\r\n headers.Authorization = `Bearer ${authToken}`;\r\n } else if (localStorage.getItem(TOKEN_LOCAL_STORAGE_KEY)) {\r\n headers.Authorization = `Bearer ${localStorage.getItem(\r\n TOKEN_LOCAL_STORAGE_KEY\r\n )}`;\r\n }\r\n\r\n return axios({\r\n method: \"POST\",\r\n url,\r\n data,\r\n headers: { ...headers, ..._headers },\r\n })\r\n .then(function (response) {\r\n return response.data;\r\n })\r\n .catch(function (error) {\r\n if (error.response) {\r\n throw apiError(error.response.status, `Request failed.`, error);\r\n } else if (error.request) {\r\n throw apiError(error.request.status, `Request failed.`, error);\r\n } else {\r\n throw apiError(\"ERROR\", error.toString(), error);\r\n }\r\n });\r\n}\r\n\r\nexport function patchRequest(\r\n _url,\r\n data,\r\n authToken = \"\",\r\n BaseUrl = process.env.REACT_APP_SERVER_BASE_URL,\r\n _headers = {}\r\n) {\r\n const url = `${BaseUrl}${_url}`;\r\n let headers = {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n };\r\n if (authToken) {\r\n headers.Authorization = `Bearer ${authToken}`;\r\n } else if (localStorage.getItem(TOKEN_LOCAL_STORAGE_KEY)) {\r\n headers.Authorization = `Bearer ${localStorage.getItem(\r\n TOKEN_LOCAL_STORAGE_KEY\r\n )}`;\r\n }\r\n return axios({\r\n method: \"PATCH\",\r\n url,\r\n data,\r\n headers: { ...headers, ..._headers },\r\n })\r\n .then(function (response) {\r\n return response.data;\r\n })\r\n .catch(function (error) {\r\n if (error.response) {\r\n throw apiError(error.response.status, `Request failed.`, error);\r\n } else if (error.request) {\r\n throw apiError(error.request.status, `Request failed.`, error);\r\n } else {\r\n throw apiError(\"ERROR\", error.toString(), error);\r\n }\r\n });\r\n}\r\n\r\nexport function putRequest(\r\n _url,\r\n data,\r\n authToken = \"\",\r\n BaseUrl = process.env.REACT_APP_SERVER_BASE_URL,\r\n _headers = {}\r\n) {\r\n const url = `${BaseUrl}${_url}`;\r\n let headers = {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n };\r\n if (authToken) {\r\n headers.Authorization = `Bearer ${authToken}`;\r\n } else if (localStorage.getItem(TOKEN_LOCAL_STORAGE_KEY)) {\r\n headers.Authorization = `Bearer ${localStorage.getItem(\r\n TOKEN_LOCAL_STORAGE_KEY\r\n )}`;\r\n }\r\n return axios({\r\n method: \"PUT\",\r\n url,\r\n data,\r\n headers: { ...headers, ..._headers },\r\n })\r\n .then(function (response) {\r\n return response.data;\r\n })\r\n .catch(function (error) {\r\n if (error.response) {\r\n throw apiError(error.response.status, `Request failed.`, error);\r\n } else if (error.request) {\r\n throw apiError(error.request.status, `Request failed.`, error);\r\n } else {\r\n throw apiError(\"ERROR\", error.toString(), error);\r\n }\r\n });\r\n}\r\n\r\nexport function getAuthorizedToken(BaseUrl = process.env.REACT_APP_SERVER_BASE_URL) {\r\n\r\n const url = `${BaseUrl}/sessions`;\r\n const credentails = btoa(\r\n `${process.env.REACT_APP_API_AUTH_TOKEN_USERNAME}:${process.env.REACT_APP_API_AUTH_TOKEN_PASSWORD}`\r\n );\r\n let headers = {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n Authorization: `Basic ${credentails}`,\r\n };\r\n return axios({\r\n method: \"POST\",\r\n url,\r\n data: {},\r\n headers,\r\n })\r\n .then(function (response) {\r\n return response.data.response.token;\r\n })\r\n .catch(function (error) {\r\n if (error.response) {\r\n throw apiError(error.response.status, `Request failed.`, error);\r\n } else if (error.request) {\r\n throw apiError(error.request.status, `Request failed.`, error);\r\n } else {\r\n throw apiError(\"ERROR\", error.toString(), error);\r\n }\r\n });\r\n}\r\n\r\nexport function deleteRequest(\r\n _url,\r\n authToken = \"\",\r\n BaseUrl = process.env.REACT_APP_SERVER_BASE_URL,\r\n _headers = {}\r\n) {\r\n const url = `${BaseUrl}${_url}`;\r\n let headers = {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n };\r\n if (authToken) {\r\n headers.Authorization = `Bearer ${authToken}`;\r\n } else if (localStorage.getItem(TOKEN_LOCAL_STORAGE_KEY)) {\r\n headers.Authorization = `Bearer ${localStorage.getItem(\r\n TOKEN_LOCAL_STORAGE_KEY\r\n )}`;\r\n }\r\n return axios({\r\n method: \"DELETE\",\r\n url,\r\n headers: { ...headers, ..._headers },\r\n })\r\n .then(function (response) {\r\n return response.data;\r\n })\r\n .catch(function (error) {\r\n if (error.response) {\r\n throw apiError(error.response.status, `Request failed.`, error);\r\n } else if (error.request) {\r\n throw apiError(error.request.status, `Request failed.`, error);\r\n } else {\r\n throw apiError(\"ERROR\", error.toString(), error);\r\n }\r\n });\r\n}\r\n","export const BASE_URL = \"/\";\r\nexport const routes = {\r\n BASEPATH: BASE_URL,\r\n\r\n LOGIN: `${BASE_URL}login`,\r\n\r\n REGISTER: `${BASE_URL}register`,\r\n\r\n FORGOT_PASSWORD: `${BASE_URL}forgot-password`\r\n};\r\n","const USER_SIGNUP_ACTION = \"USER/SIGNUP\";\r\n\r\nexport const USER_SIGNUP_REQUEST = `${USER_SIGNUP_ACTION}/REQUEST`;\r\nexport const USER_SIGNUP_SUCCESS = `${USER_SIGNUP_ACTION}/SUCCESS`;\r\nexport const USER_SIGNUP_ERROR = `${USER_SIGNUP_ACTION}/ERROR`;\r\nexport const USER_SIGNUP_EMAIL_DUPLICATE = `${USER_SIGNUP_ACTION}/EMAIL/DUPLICATE`;\r\n\r\nexport function userSignUpRequest(payload){\r\n return{\r\n type: USER_SIGNUP_REQUEST,\r\n payload\r\n }\r\n}\r\n\r\nexport function userSignUpSuccess(data) {\r\n return {\r\n type: USER_SIGNUP_SUCCESS,\r\n data\r\n };\r\n}\r\n\r\nexport function userSignUpError(error) {\r\n return {\r\n type: USER_SIGNUP_ERROR,\r\n error\r\n };\r\n}\r\n\r\nexport function userSignUpDuplicateEmail(error) {\r\n return {\r\n type: USER_SIGNUP_EMAIL_DUPLICATE,\r\n error\r\n };\r\n}\r\n","export const INVALID_EMAIL_OR_PASSWORD = \"Invalid email or password.\";\r\nexport const SOMETHING_WENT_WRONG = \"Something went wrong!\";\r\nexport const FORGOT_PASSWORD_SUCCESS = \"Password Link has been sent\";\r\nexport const FORGOT_PASSWORD_EMAIL_NOT_FOUND = \"Email doesn't exists\";\r\nexport const EMAIL_ALREADY_IN_USE = \"This email is already in use.\"\r\nexport const CONGRATULATIONS = \"Congratulations\";\r\nexport const NO_DATA_FOUND_FROM_POSTCODE =\r\n \"No data was found for the requested postal code\";\r\nexport const CONGRATULATIONS_DESC =\r\n \"Your registration has been successful!
Login to book your first treatment.\";\r\nexport const ACCESS_FORBIDDEN = \"Access Forbidden! Please try again later.\";\r\nexport const SESSION_TIMEOUT = \"Your session has timed out\";\r\n","import { postRequest, deleteRequest } from \".\";\r\n\r\nconst findUri = \"/layouts/access/_find\";\r\nconst logoutUri = \"/sessions/\"\r\n\r\nfunction userLogin(payload, authKey=\"\") {\r\n return postRequest(findUri, payload, authKey);\r\n}\r\n\r\nexport function findEmail(payload, authKey=\"\") {\r\n return postRequest(findUri, payload, authKey);\r\n}\r\n\r\nfunction createSession(payload, authKey = \"\"){\r\n return postRequest(findUri, payload, authKey);\r\n}\r\n\r\nfunction logout(payload, authKey = \"\"){\r\n return deleteRequest(logoutUri + payload, authKey, undefined, undefined, { logout: true });\r\n}\r\n\r\n\r\nexport default {\r\n userLogin,\r\n findEmail,\r\n createSession,\r\n logout\r\n};\r\n","const CREATE_INVOICE = \"CREATE/INVOICE\";\r\nconst CREATE_RECEIPT = \"CREATE/RECEIPT\";\r\nconst INITIATE_PAYMENT = \"INITIATE/PAYMENT\";\r\nconst CONFIRM_PAYMENT = \"CONFIRM/PAYMENT\";\r\nconst FIND_RECEIPT = \"FIND/RECEIPT\";\r\nconst GET_CONFORMATION = \"GET/CONFORMATION\";\r\nconst BOOK_SLOT = \"BOOK/SLOT\";\r\nconst BOOK_SLOT_FINAL = \"BOOK/SLOT/FINAL\";\r\nconst ADD_APPOINTMENT = \"ADD/APPOINTMENT\";\r\nconst ADD_PREVIOUS_APPOINTMENT = \"ADD/PREVIOUS/APPOINTMENT\";\r\nconst ADD_INVOICE = \"ADD/INVOICE\";\r\nconst ADD_RECEIPT = \"ADD/RECEIPT\";\r\n\r\nexport const CREATE_INVOICE_REQUEST = `${CREATE_INVOICE}/REQUEST`;\r\nexport const CREATE_INVOICE_SUCCESS = `${CREATE_INVOICE}/SUCCESS`;\r\nexport const CREATE_INVOICE_ERROR = `${CREATE_INVOICE}/ERROR`;\r\n\r\nexport const CREATE_RECEIPT_REQUEST = `${CREATE_RECEIPT}/REQUEST`;\r\nexport const CREATE_RECEIPT_SUCCESS = `${CREATE_RECEIPT}/SUCCESS`;\r\nexport const CREATE_RECEIPT_ERROR = `${CREATE_RECEIPT}/ERROR`;\r\n\r\nexport const INITIATE_PAYMENT_REQUEST = `${INITIATE_PAYMENT}/REQUEST`;\r\nexport const INITIATE_PAYMENT_SUCCESS = `${INITIATE_PAYMENT}/SUCCESS`;\r\nexport const INITIATE_PAYMENT_ERROR = `${INITIATE_PAYMENT}/ERROR`;\r\n\r\nexport const CONFIRM_PAYMENT_REQUEST = `${CONFIRM_PAYMENT}/REQUEST`;\r\nexport const CONFIRM_PAYMENT_SUCCESS = `${CONFIRM_PAYMENT}/SUCCESS`;\r\nexport const CONFIRM_PAYMENT_ERROR = `${CONFIRM_PAYMENT}/ERROR`;\r\n\r\nexport const FIND_RECEIPT_REQUEST = `${FIND_RECEIPT}/REQUEST`;\r\nexport const FIND_RECEIPT_SUCCESS = `${FIND_RECEIPT}/SUCCESS`;\r\nexport const FIND_RECEIPT_ERROR = `${FIND_RECEIPT}/ERROR`;\r\n\r\nexport const GET_CONFORMATION_REQUEST = `${GET_CONFORMATION}/REQUEST`;\r\nexport const GET_CONFORMATION_SUCCESS = `${GET_CONFORMATION}/SUCCESS`;\r\nexport const GET_CONFORMATION_ERROR = `${GET_CONFORMATION}/ERROR`;\r\n\r\nexport const BOOK_SLOT_REQUEST = `${BOOK_SLOT}/REQUEST`;\r\nexport const BOOK_SLOT_SUCCESS = `${BOOK_SLOT}/SUCCESS`;\r\nexport const BOOK_SLOT_ERROR = `${BOOK_SLOT}/ERROR`;\r\n\r\nexport const BOOK_SLOT_FINAL_REQUEST = `${BOOK_SLOT_FINAL}/REQUEST`;\r\nexport const BOOK_SLOT_FINAL_SUCCESS = `${BOOK_SLOT_FINAL}/SUCCESS`;\r\nexport const BOOK_SLOT_FINAL_ERROR = `${BOOK_SLOT_FINAL}/ERROR`;\r\n\r\nexport const ADD_APPOINTMENT_REQUEST = `${ADD_APPOINTMENT}/REQUEST`;\r\nexport const ADD_APPOINTMENT_SUCCESS = `${ADD_APPOINTMENT}/SUCCESS`;\r\nexport const ADD_APPOINTMENT_ERROR = `${ADD_APPOINTMENT}/ERROR`;\r\n\r\nexport const ADD_PREVIOUS_APPOINTMENT_REQUEST = `${ADD_PREVIOUS_APPOINTMENT}/REQUEST`;\r\nexport const ADD_PREVIOUS_APPOINTMENT_SUCCESS = `${ADD_PREVIOUS_APPOINTMENT}/SUCCESS`;\r\nexport const ADD_PREVIOUS_APPOINTMENT_ERROR = `${ADD_PREVIOUS_APPOINTMENT}/ERROR`;\r\n\r\nexport const ADD_INVOICE_REQUEST = `${ADD_INVOICE}/REQUEST`;\r\nexport const ADD_INVOICE_SUCCESS = `${ADD_INVOICE}/SUCCESS`;\r\nexport const ADD_INVOICE_ERROR = `${ADD_INVOICE}/ERROR`;\r\n\r\nexport const ADD_RECEIPT_REQUEST = `${ADD_RECEIPT}/REQUEST`;\r\nexport const ADD_RECEIPT_SUCCESS = `${ADD_RECEIPT}/SUCCESS`;\r\nexport const ADD_RECEIPT_ERROR = `${ADD_RECEIPT}/ERROR`;\r\n\r\nexport const SELECT_SAVED_CARD = \"SELECT/SAVED/CARD\"\r\n\r\nexport function createInvoiceRequest(payload) {\r\n return {\r\n type: CREATE_INVOICE_REQUEST,\r\n payload,\r\n };\r\n}\r\n\r\nexport function createInvoiceSuccess(data) {\r\n return {\r\n type: CREATE_INVOICE_SUCCESS,\r\n data,\r\n };\r\n}\r\n\r\nexport function createInvoiceError(error) {\r\n return {\r\n type: CREATE_INVOICE_ERROR,\r\n error,\r\n };\r\n}\r\n\r\nexport function createReceiptRequest(payload) {\r\n return {\r\n type: CREATE_RECEIPT_REQUEST,\r\n payload,\r\n };\r\n}\r\n\r\nexport function createReceiptSuccess(data) {\r\n return {\r\n type: CREATE_RECEIPT_SUCCESS,\r\n data,\r\n };\r\n}\r\n\r\nexport function createReceiptError(error) {\r\n return {\r\n type: CREATE_RECEIPT_ERROR,\r\n error,\r\n };\r\n}\r\n\r\nexport function initiatePaymentRequest(payload) {\r\n return {\r\n type: INITIATE_PAYMENT_REQUEST,\r\n payload,\r\n };\r\n}\r\n\r\nexport function initiatePaymentSuccess(data) {\r\n return {\r\n type: INITIATE_PAYMENT_SUCCESS,\r\n data,\r\n };\r\n}\r\n\r\nexport function initiatePaymentError(error) {\r\n return {\r\n type: INITIATE_PAYMENT_ERROR,\r\n error,\r\n };\r\n}\r\n\r\nexport function confirmPaymentRequest(payload) {\r\n return {\r\n type: CONFIRM_PAYMENT_REQUEST,\r\n payload,\r\n };\r\n}\r\n\r\nexport function confirmPaymentSuccess(data) {\r\n return {\r\n type: CONFIRM_PAYMENT_SUCCESS,\r\n data,\r\n };\r\n}\r\n\r\nexport function confirmPaymentError(error) {\r\n return {\r\n type: CONFIRM_PAYMENT_ERROR,\r\n error,\r\n };\r\n}\r\n\r\nexport function findReceiptRequest(payload) {\r\n return {\r\n type: FIND_RECEIPT_REQUEST,\r\n payload,\r\n };\r\n}\r\n\r\nexport function findReceiptSuccess(data) {\r\n return {\r\n type: FIND_RECEIPT_SUCCESS,\r\n data,\r\n };\r\n}\r\n\r\nexport function findReceiptError(error) {\r\n return {\r\n type: FIND_RECEIPT_ERROR,\r\n error,\r\n };\r\n}\r\n\r\nexport function getConformationRequest(payload) {\r\n return {\r\n type: GET_CONFORMATION_REQUEST,\r\n payload,\r\n };\r\n}\r\n\r\nexport function getConformationSuccess(data) {\r\n return {\r\n type: GET_CONFORMATION_SUCCESS,\r\n data,\r\n };\r\n}\r\n\r\nexport function getConformationError(error) {\r\n return {\r\n type: GET_CONFORMATION_ERROR,\r\n error,\r\n };\r\n}\r\n\r\nexport function bookFinalSlotRequest(payload) {\r\n return {\r\n type: BOOK_SLOT_FINAL_REQUEST,\r\n payload,\r\n };\r\n}\r\n\r\nexport function bookFinalSlotSuccess(data) {\r\n return {\r\n type: BOOK_SLOT_FINAL_SUCCESS,\r\n data,\r\n };\r\n}\r\n\r\nexport function bookFinalSlotError(error) {\r\n return {\r\n type: BOOK_SLOT_FINAL_ERROR,\r\n error,\r\n };\r\n}\r\n\r\nexport function bookSlotRequest(payload) {\r\n return {\r\n type: BOOK_SLOT_REQUEST,\r\n payload,\r\n };\r\n}\r\n\r\nexport function bookSlotSuccess(data) {\r\n return {\r\n type: BOOK_SLOT_SUCCESS,\r\n data,\r\n };\r\n}\r\n\r\nexport function bookSlotError(error) {\r\n return {\r\n type: BOOK_SLOT_ERROR,\r\n error,\r\n };\r\n}\r\n\r\nexport function addPreviousAppointmentRequest(payload) {\r\n return {\r\n type: ADD_PREVIOUS_APPOINTMENT_REQUEST,\r\n payload,\r\n };\r\n}\r\n\r\nexport function addPreviousAppointmentSuccess(data) {\r\n return {\r\n type: ADD_PREVIOUS_APPOINTMENT_SUCCESS,\r\n data,\r\n };\r\n}\r\n\r\nexport function addPreviousAppointmentError(error) {\r\n return {\r\n type: ADD_PREVIOUS_APPOINTMENT_ERROR,\r\n error,\r\n };\r\n}\r\n\r\nexport function addAppointmentRequest(payload) {\r\n return {\r\n type: ADD_APPOINTMENT_REQUEST,\r\n payload,\r\n };\r\n}\r\n\r\nexport function addAppointmentSuccess(data) {\r\n return {\r\n type: ADD_APPOINTMENT_SUCCESS,\r\n data,\r\n };\r\n}\r\n\r\nexport function addAppointmentError(error) {\r\n return {\r\n type: ADD_APPOINTMENT_ERROR,\r\n error,\r\n };\r\n}\r\n\r\nexport function addInvoiceRequest(payload) {\r\n return {\r\n type: ADD_INVOICE_REQUEST,\r\n payload,\r\n };\r\n}\r\n\r\nexport function addInvoiceSuccess(data) {\r\n return {\r\n type: ADD_INVOICE_SUCCESS,\r\n data,\r\n };\r\n}\r\n\r\nexport function addInvoiceError(error) {\r\n return {\r\n type: ADD_INVOICE_ERROR,\r\n error,\r\n };\r\n}\r\n\r\nexport function addReceiptRequest(payload) {\r\n return {\r\n type: ADD_RECEIPT_REQUEST,\r\n payload,\r\n };\r\n}\r\n\r\nexport function addReceiptSuccess(data) {\r\n return {\r\n type: ADD_RECEIPT_SUCCESS,\r\n data,\r\n };\r\n}\r\n\r\nexport function addReceiptError(error) {\r\n return {\r\n type: ADD_RECEIPT_ERROR,\r\n error,\r\n };\r\n}\r\n\r\nexport function selectSavedCard(card = null) {\r\n return {\r\n type: SELECT_SAVED_CARD,\r\n card,\r\n };\r\n}","import { toast } from \"react-toastify\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\n\r\nexport const Toast = props => {\r\n return toast[props.type](props.message, {\r\n position: toast.POSITION.TOP_RIGHT,\r\n closeButton: true,\r\n hideProgressBar: true,\r\n closeOnClick: true,\r\n rtl: false\r\n });\r\n};\r\n","\r\nexport const ADDRESS_FETCH_SERVER_RESPONSE_TYPE = \"data_formatted\";\r\nexport const CLINICS_REDIRECTION_URL = \"https://fleetstreet.digitusrain.co.uk/\";\r\nexport const BAD_REQUEST = 400;\r\nexport const UNAUTHORIZED_STATUS = 401;\r\nexport const COMPONENT_DELAY = 300;\r\nexport const COMPONENT_TIMEOUT = 4000;\r\n\r\nexport const DEFAULT_DATE_FORMAT = \"dd/MM/yyyy\";\r\n\r\nexport const LOGGED_USER_DETAILS_LOCAL_STORAGE_KEY = \"user-details\";\r\nexport const REMEMBER_ME_LOCAL_STORAGE_KEY = \"remember-me\";\r\nexport const TOKEN_LOCAL_STORAGE_KEY = \"access-token\";\r\nexport const CLINIC_TOKEN_LOCAL_STORAGE_KEY = \"clinic-access-token\";\r\nexport const LOGGED_USER_SESSION_KEY = \"session-key\";\r\nexport const CLINIC_SESSION_KEY = \"clinic-session-key\";\r\nexport const CLINIC_BASE_URL_HEADER_KEY = \"clinic-base-url\";\r\nexport const CARD_APPROVED = \"Approved\";\r\n\r\nexport const DAY_LIST = [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"];\r\nexport const MONTH_LIST = [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"];","module.exports = __webpack_public_path__ + \"static/media/logo.a84a9bb7.png\";","module.exports = __webpack_public_path__ + \"static/media/orange-blue.48aaeda4.png\";"],"sourceRoot":""}