{"version":3,"sources":["helpers/update.js","components/client/advert/adverts-list/AdvertListService.js","components/Pages/Home/redux/types.js","components/client/complaint/ComplaintServices.js","utils/setAuthorizationToken.js","components/eclipse/index.js","components/client/advert/advert-details/AdvertDetailsService.js","components/client/advert/advert-details/reducer.js","components/broker/profile/ProfileService.js","components/broker/profile/reducer.js","components/client/profile/ProfileService.js","components/client/profile/reducer.js","components/client/advert/adverts-list/reducer.js","components/captcha/captchaService.js","components/captcha/reducer.js","components/broker/proposition/PropositionService.js","components/broker/proposition/reducer.js","components/broker/propositionInfo/PropositionInfoService.js","components/broker/propositionInfo/reducer.js","components/broker/contractInfo/ContractInfoService.js","components/broker/contractInfo/reducer.js","components/broker/offer/ConfirmationService.js","components/broker/offer/reducer.js","components/company/ArchiveOfOffers/ArchiveOfOffersService.js","components/company/ArchiveOfOffers/reducer.js","components/company/ArchiveOfContracts/ArchiveOfContractsService.js","components/company/ArchiveOfContracts/reducer.js","utils/history.js","actions/types.js","config.js","services/redirectStatusCode.js","components/client/complaint/reducer.js","components/broker/complaint/reducer.js","components/client/advert/add-advert/addAdvertService.js","components/client/advert/add-advert/reducer.js","components/adminViews/Clients/ClientSearchService.js","components/adminViews/Clients/reducer.js","components/adminViews/Brokers/BrokerSearchService.js","components/adminViews/Brokers/reducer.js","components/adminViews/Permissions/PermissionService.js","components/adminViews/Permissions/reducer.js","components/adminViews/PermissionConfirmed/PermissionConfirmedService.js","components/adminViews/PermissionConfirmed/reducer.js","components/adminViews/ChartsRegisterClient/ChartRegisterClientService.js","components/adminViews/ChartsRegisterClient/reducer.js","components/adminViews/ChartsRegisterBroker/ChartsRegisterBrokerService.js","components/adminViews/ChartsRegisterBroker/reducer.js","components/adminViews/CompleatedOffers/CompleatedOffersService.js","components/adminViews/CompleatedOffers/reducer.js","components/adminViews/ChartContracts/ChartContractsService.js","components/adminViews/ChartContracts/reducer.js","components/broker/adverts/AdvertsService.js","components/broker/adverts/reducer.js","components/adminViews/Offers/OffersService.js","components/adminViews/Offers/reducer.js","components/company/Employees/EmployeesService.js","components/company/Employees/reducer.js","components/company/RegisterEmployees/RegisterEmployeeService.js","components/company/RegisterEmployees/reducer.js","components/Pages/Login/LoginService.js","components/Pages/Login/reducer.js","polyfill.js","reducers/client.js","reducers/admin.js","components/adminViews/CompleatedOfferDetails/reducer.js","components/refreshToken/RefreshService.js","components/refreshToken/reducer.js","components/adminViews/OfferDetails/reducer.js","components/Pages/Home/redux/reducer.js","store/middleware/refreshTokenMiddleware.js","views/BellService.js","views/reducer.js","store/configureStore.js","containers/LoginLayout/index.js","ColotunWorker.js","locale/translations/uk/translate.js","locale/translations/ru/translate.js","locale/i18n.js","App.js","serviceWorker.js","index.js"],"names":["update","extend","value","object","set","obj","path","pathMap","pathPointer","pathArray","split","forEach","item","idx","length","$set","temp","AdvertListService","url","serverUrl","axios","get","advertId","contractId","HOME_GET_STARTED","HOME_GET_SUCCESS","HOME_GET_FAILED","ComplaintServices","model","post","setAuthorizationToken","token","defaults","headers","common","EclipseWidget","className","id","Component","AdvertDetailsService","data","isContract","initialState","offers","error","loading","failed","success","approvedOffer","images","description","contract","document","confirmDocument","advertDetailsReducer","state","action","newState","type","payload","map","image","dispatch","ConfirmDocumentActions","started","then","history","push","location","reload","getDocument","GetDocumentActions","response","getAdvertOffers","GetAdvertOffersActions","getOffers","catch","getApprovedOffer","GetApprovedOfferInfoActions","getApprovedOfferInfo","getContract","GetContractInfoActions","getContractInfo","getAdvertImages","GetAdvertImagesActions","changeAdvertImage","changeImage","ChangeAdvertImageActions","getAdvertDescription","AdvertDescriptionActions","ProfileService","oldPassword","newPassword","region","email","phoneNumber","companyName","customsControlZones","legalAddress","sendEmailDisabled","profile","editPass","chageSendEmail","editProfile","editImage","brokerProfileReducer","fetchProfile","ProfileActions","getBrokerProfile","redirectStatusCode","status","getProfile","editBrokerPassword","EditBrokerPasswordActions","changeSendEmailStatus","ChangeSendEmailActions","editBrokerProfile","EditBrokerProfileActions","editBrokerImage","EditBrokerImageActions","clientProfileReducer","getClientProfile","editClientPassword","EditClientPasswordActions","editClientProfile","EditClientProfileActions","editClientImage","EditClientImageActions","adverts","contracts","confirmedContracts","rejectContracts","listAdvertsReducer","getAdverts","GetAdvertsActions","getContracts","GetContractsActions","getConfirmedContracts","GetConfirmedContractsActions","CaptchaService","key","captchaReducer","createNewKey","keyCaptchaActions","postNewKey","PropositionService","page","GET_CONTRACTS_STARTED","GET_CONTRACTS_SUCCESS","GET_CONTRACTS_FAILED","intialState","list","contractList","propostionsAndContractsReducer","getSendedPropositionsData","SendedPropositionsActions","getPropostionsAndContracts","getEndedPropositionsData","EndedPropositionsActions","getContractsData","ContractsActions","PropositionInfoService","propositionId","removeContract","propositionInfoReducer","getPropositionInfoData","getPropositionInfoActions","getPropositionInfo","removeOffer","offerId","removeContractActions","alert","ContractInfoService","confirmedContract","contractInfoReducer","getContractInfoData","getContractInfoActions","getConfirmedContractInfoData","getConfirmedContractInfoActions","getConfirmedContractInfo","ConfirmationService","confirmation","submissionDate","Date","client","clientName","clientImage","offer","sendFormSuccess","offerTypes","offerReducer","getAdvertForOffer","OfferActions","getAdvert","getOfferTypes","GetOfferTypesActions","sendOffer","SendOfferActions","setTimeout","show_check_abort","resp","ArchiveOfOffersService","filter","details","year","month","getArchiveOfOffersData","getListActions","getArchiveOfOffers","getOfferDetailsData","getDetailsActions","getOfferDetails","archiveOfOffersReducer","ArchiveOfContractsService","getArchiveOfContractsData","getArchiveOfContracts","getContractDetailsData","getContractDetails","archiveOfContractsReducer","createBrowserHistory","SET_CURRENT_USER","SET_NEW_FULLNAME","SET_CLIENT_PROFILE","SET_CLIENT_IMAGE","SET_CLIENT_ADVERTS","SET_CLIENT_CONTRACTS","SET_CLIENT_ADVERT","SET_CLIENT_ADVERT_IMAGES","SET_CLIENT_ADVERT_OFFERS","SET_CLIENT_ADVERTS_QUANTITY","SET_APPROVED_OFFER_INFO","SET_OFFERS_FOR_ADVERT_QUANTITY","UPDATE_CLIENT_IMAGE","ADD_ADVERT","SET_CLIENT_REJECT_CONTRACTS","SET_BROKERS_LIST","SET_CLIENTS_LIST","SET_COMPLETED_ADVERTS","SET_ADMIN_PROFILE","complaintClientReducer","sendClientComplaint","ComplaintActions","complaintBrokerReducer","sendBrokerComplaint","AddAdverService","delete","advert","isLoading","isError","errMsg","addAdvertReducer","updateFromLibrary","$push","addImage","console","log","getListActionsToAddImage","AddAdvertService","deleteImage","getListActionsToDeleteImage","showLoader","getListActionsToLoader","hideLoader","stoped","nullifyImages","nullify","ClientSearchService","currentPageClient","totalClientsCount","typeOfSort","sortByAscending","getSearchClientData","getSearchClient","clientSearchReducer","clients","BrokerSearchService","currentPageBroker","totalBrokersCount","getSearchBrokerData","getSearchBroker","brokerSearchReducer","brokers","PermissionService","getPermissionData","getPermission","permissionSearchReducer","PermissionConfirmedService","brokerId","broker","confirmedPermissionData","ConfirmedPermission","err","getLicense","permissionConfirmedReducer","ChartRegisterClientService","getChartClientData","getChartRegisterClient","chartRegisterClientReducer","ChartRegisterBrokerService","getChartBrokerData","ChartsRegisterBrokerService","getChartRegisterBroker","chartRegisterBrokerReducer","CompleatedOffersService","currentPage","totalCount","getCompleatedOffersData","getCompleatedOffers","compleatedOffersReducer","ChartContractsService","getChartContractsData","getChartContracts","chartContractsReducer","AdvetsService","totalAdvertsCount","advertsReducer","itemModel","getAdvertsData","sort","AdvertsActions","AdvertsService","OffersService","getOffersData","offersReducer","EmployeesService","getEmployeesData","getEmployees","employeesReducer","employees","RegisterEmployeesService","getEmployeeData","RegisterEmployeeService","registerEmployee","registerEmployeeReducer","LoginService","errors","isAuthenticated","user","name","roles","loginReducer","isEmpty","login","loginActions","loginByJWT","pushUrl","jwt","decode","localStorage","jwtToken","Array","isArray","i","getUrlToRedirect","setCurrentUser","logout","logoutByJWT","tokens","refToken","of","setItem","removeItem","window","CustomEvent","event","params","bubbles","cancelable","detail","undefined","evt","createEvent","initCustomEvent","prototype","Event","firstName","middleName","lastName","advertsQnt","offersForAdvertQnt","advertImages","advertOffers","approvedOfferInfo","reject_contracts","Object","assign","quantity","offerInfo","listClients","listBrokers","completedAdverts","admin","compleatedOfferDetailsReducer","RefreshService","RefreshToken","getItem","refreshReducer","refresh","offerDetailsReducer","numberOfUsers","homeReducer","refreshTokenMiddleware","getState","next","refreshThreshold","Math","round","now","exp","Promise","resolve","reject","refreshToken","BellService","list1","countAdverts","count","unconfirmedContracts","getAdvertsCount","getCounterAdvertsActions","getCounterAdvertsData","getDataBroker","getBrokersActions","getBrokerMessages","getBrokersBellData","getDataClient","getClientsActions","getClientMessages","getClientsBellData","brokerBellReducer","messages","baseUrl","getElementsByTagName","getAttribute","basename","LoginLayout","children","props","auth","redirectTo","to","connect","component","rest","render","matchProps","interval","ColotunWorker","UNSAFE_componentWillReceiveProps","nextProps","setState","sarik","setInterval","getUnconfirmed","clearInterval","timer","this","getUnconfirmedContracts","getConfirmed","navbar","footer","home","i18n","on","lng","finish","pathname","includes","newUrl","replace","replaceState","use","LanguageDetector","initReactI18next","init","resources","uk","languageUK","ru","languageRU","otherLanguages","react","wait","useSuspense","bindI18n","bindStore","nsMode","fallbackLng","whitelist","detection","order","lookupFromPathIndex","checkWhitelist","interpolation","escapeValue","formatSeparator","AdminLayout","React","lazy","BrokerLayout","ClientLayout","CompanyLayout","Login","RegisterCompany","RegisterBroker","RegisterClient","ForgotPassword","Terms","Agreement","AboutUs","Page404","Page500","HomePage","ClientInfoPage","BrokerInfoPage","CompanyInfoPage","baseRouteUrl","App","language","Suspense","fallback","exact","Boolean","hostname","match","store","reducers","captcha","addAdvert","propositionInfo","contractInfo","propostionsAndContracts","clientSerch","brokerSearch","chartClient","chartBroker","chartContracts","companyEmployeers","brokerProfile","clientProfile","archiveOfOffers","archiveOfContracts","advertDetails","advertsList","permissions","permissionConfirmed","compleatedOffers","compleatedOfferDetails","offerdetails","brokerBell","complaintBroker","complaintClient","middleware","thunk","routerMiddleware","enhancers","rootReducer","combineReducers","router","connectRouter","createStore","compose","applyMiddleware","configureStore","initialReduxState","rootElement","getElementById","ReactDOM","I18nextProvider","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.b9e33739.chunk.js","sourcesContent":["import update from 'immutability-helper';\r\n\r\nupdate.extend('$auto', (value, object) => ((object)\r\n\t? update(object, value)\r\n\t: update({}, value))\r\n);\r\n\r\nupdate.set = (obj, path, value) => {\r\n\r\n\tconst pathMap = {};\r\n\tlet pathPointer = pathMap;\r\n\r\n\tconst pathArray = path.split('.');\r\n\r\n\tpathArray.forEach((item, idx) => {\r\n\t\tif (idx === pathArray.length - 1) {\r\n\t\t\tpathPointer['$auto'] = { [item]: { $set: value } };\r\n\t\t}\r\n\t\telse {\r\n\t\t\tconst temp = {};\r\n\t\t\tpathPointer['$auto'] = { [item]: temp };\r\n\t\t\tpathPointer = temp;\r\n\t\t}\r\n\t});\r\n\treturn update(obj, pathMap);\r\n};\r\n\r\nexport default update;\r\n","import axios from \"axios\";\r\nimport { serverUrl } from \"../../../../config\";\r\n\r\nexport default class AdvertListService {\r\n static getAdverts() {\r\n const url = `${serverUrl}api/client/account/get-adverts`;\r\n return axios.get(url);\r\n }\r\n static getContracts() {\r\n const url = `${serverUrl}api/client/account/get-contracts`;\r\n return axios.get(url);\r\n }\r\n\r\n static getConfirmedContracts() {\r\n const url = `${serverUrl}api/client/account/get-finish-contracts`;\r\n return axios.get(url);\r\n }\r\n // static getRejectContracts() {\r\n // const url = `${serverUrl}api/client/account/get-reject-adverts`;\r\n // return axios.get(url);\r\n // }\r\n\r\n static rePublishAdvert(advertId, contractId){\r\n const url = `${serverUrl}api/client/account/re-publish/${advertId}/${contractId}`;\r\n return axios.get(url);\r\n }\r\n}\r\n","export const HOME_GET_STARTED = \"home/HOME_GET_STARTED\";\r\nexport const HOME_GET_SUCCESS = \"home/HOME_GET_SUCCESS\";\r\nexport const HOME_GET_FAILED = \"home/HOME_GET_FAILED\";","import axios from 'axios';\r\nimport {serverUrl} from \"../../../config\";\r\nexport default class ComplaintServices{\r\n static sendClientComplaint(model){\r\n const url = `${serverUrl}api/client/account/send-complaint`;\r\n return axios.post(url, model);\r\n }\r\n static sendBrokerComplaint(model){\r\n const url = `${serverUrl}api/broker/home/send-complaint`;\r\n return axios.post(url, model);\r\n }\r\n}","import axios from 'axios';\r\n\r\nexport default function setAuthorizationToken(token) {\r\n if (token) {\r\n axios.defaults.headers.common['Authorization'] = `Bearer ${token}`;\r\n } else {\r\n delete axios.defaults.headers.common['Authorization'];\r\n }\r\n}\r\n","import React, {Component} from 'react';\r\nimport './index.css';\r\n\r\nclass EclipseWidgetContainer extends Component {\r\n render() {\r\n return (\r\n
\r\n
\r\n
\r\n \r\n Loading...\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\nconst EclipseWidget = (EclipseWidgetContainer);\r\nexport default EclipseWidget;","import axios from \"axios\";\r\nimport { serverUrl } from \"../../../../config\";\r\nexport default class AdvertDetailsService {\r\n static getOffers(id) {\r\n const url = `${serverUrl}api/client/account/getAdvert-offers`;\r\n const data = {\r\n advertId: id\r\n };\r\n return axios.post(url, data);\r\n //return Axios.get(\"api/item/products/\" + pageNumber);\r\n }\r\n static getApprovedOfferInfo(id) {\r\n const url = `${serverUrl}api/client/account/get-approved-offer-info/${id}`;\r\n return axios.get(url);\r\n }\r\n static getContractInfo(id) {\r\n const url = `${serverUrl}api/client/account/get-contract-info/${id}`;\r\n return axios.get(url);\r\n }\r\n static getAdvertImages(id) {\r\n const url = `${serverUrl}api/client/account/getAdvert-images`;\r\n const data = {\r\n advertId: id\r\n };\r\n return axios.post(url, data);\r\n }\r\n static getAdvertDescription(id) {\r\n const url = `${serverUrl}api/client/account/getAdvertDescription`;\r\n const data = {\r\n advertId: id\r\n };\r\n return axios.post(url, data);\r\n }\r\n static changeImage(model) {\r\n const url = `${serverUrl}api/client/account/change-advert-image`;\r\n return axios.post(url, model);\r\n }\r\n static getDocument(id, isContract){\r\n const model={\r\n id: id, \r\n isContract: isContract\r\n } \r\n\r\n const url = `${serverUrl}api/broker/Home/contract-document`;\r\n return axios.post(url, model);\r\n\r\n\r\n }\r\n static confirmDocument (contractId){\r\n const url = `${serverUrl}api/client/account/confirm-document/${contractId}`;\r\n return axios.get(url);\r\n }\r\n\r\n //////////////////////////////////////////////////////\r\n // static changeAdvertImage(imageId, image) {\r\n // const url = `${serverUrl}api/client/account/change-advert-image`;\r\n // return axios.post(url, { imageId, image });\r\n // }\r\n}\r\n","import update from \"../../../../helpers/update\";\r\nimport AdvertDetailsService from \"./AdvertDetailsService\";\r\nimport history from '../../../../utils/history';\r\n\r\n//import { dispatch } from \"rxjs/internal/observable/range\";\r\n\r\nexport const GET_ADVERT_OFFERS_STARTED = \"advertDetails/GET_ADVERT_OFFERS_STARTED\";\r\nexport const GET_ADVERT_OFFERS_SUCCESS = \"advertDetails/GET_ADVERT_OFFERS_SUCCESS\";\r\nexport const GET_ADVERT_OFFERS_FAILED = \"advertDetails/GET_ADVERT_OFFERS_FAILED\";\r\n\r\nexport const GET_APPROVED_OFFER_INFO_STARTED = \"advertDetails/GET_APPROVED_OFFER_INFO_INFO_STARTED\";\r\nexport const GET_APPROVED_OFFER_INFO_SUCCESS = \"advertDetails/GET_APPROVED_OFFER_INFO_SUCCESS\";\r\nexport const GET_APPROVED_OFFER_INFO_FAILED = \"advertDetails/GET_APPROVED_OFFER_INFO_FAILED\";\r\n\r\nexport const GET_CONTRACT_INFO_STARTED = \"advertDetails/GET_GET_CONTRACT_INFO_INFO_STARTED\";\r\nexport const GET_CONTRACT_INFO_SUCCESS = \"advertDetails/GET_GET_CONTRACT_INFO_SUCCESS\";\r\nexport const GET_CONTRACT_INFO_FAILED = \"advertDetails/GET_GET_CONTRACT_INFO_FAILED\";\r\n\r\nexport const GET_ADVERT_IMAGES_STARTED = \"advertDetails/GET_ADVERT_IMAGES_STARTED\";\r\nexport const GET_ADVERT_IMAGES_SUCCESS = \"advertDetails/GET_ADVERT_IMAGES_SUCCESS\";\r\nexport const GET_ADVERT_IMAGES_FAILED = \"advertDetails/GET_ADVERT_IMAGES_FAILED\";\r\n\r\nexport const GET_ADVERT_DESCRIPTION_STARTED = \"advertDetails/GET_ADVERT_DESCRIPTION_STARTED\";\r\nexport const GET_ADVERT_DESCRIPTION_SUCCESS = \"advertDetails/GET_ADVERT_DESCRIPTION_SUCCESS\";\r\n//export const GET_ADVERT_DESCRIPTION_SUCCESS = \"advertDetails/GET_ADVERT_DESCRIPTION_SUCCESS\";\r\n\r\nexport const CHANGE_ADVERT_IMAGE = \"advertDetails/CHANGE_ADVERT_IMAGE\";\r\n\r\n\r\nexport const GET_DOCUMENT_STARTED = \"advertDetails/GET_DOCUMENT_STARTED\";\r\nexport const GET_DOCUMENT_SUCCESS = \"advertDetails/GET_DOCUMENT_SUCCESS\";\r\n\r\nexport const CONFIRM_DOCUMENT_STARTED = \"advertDetails/CONFIRM_DOCUMENT_STARTED\";\r\n\r\nexport const CONFIRM_DOCUMENT_SUCCESS = \"advertDetails/CONFIRM_DOCUMENT_SUCCESS\";\r\n\r\n\r\n\r\n\r\n\r\n\r\nconst initialState = {\r\n offers: {\r\n data: [],\r\n error: {},\r\n loading: false,\r\n failed: false,\r\n success: false\r\n },\r\n\r\n approvedOffer: {\r\n data: {},\r\n error: {},\r\n loading: false,\r\n failed: false,\r\n success: false\r\n },\r\n\r\n images: {\r\n data: [],\r\n error: {},\r\n loading: false,\r\n failed: false,\r\n success: false\r\n },\r\n\r\n description: {\r\n data: {},\r\n loading: false,\r\n success: false\r\n },\r\n contract: {\r\n data: {},\r\n error: {},\r\n loading: false,\r\n failed: false,\r\n success: false\r\n },\r\n document: {\r\n data: {},\r\n loading: false\r\n },\r\n confirmDocument: {\r\n loading: false, \r\n success: false\r\n }\r\n\r\n};\r\n\r\nexport const advertDetailsReducer = (state = initialState, action) => {\r\n let newState = state;\r\n switch (action.type) {\r\n\r\n\r\n case CONFIRM_DOCUMENT_STARTED:{\r\n newState = update.set(state, \"confirmDocument.loading\", true);\r\n newState = update.set(state, \"confirmDocument.success\", false);\r\n break;\r\n }\r\n case CONFIRM_DOCUMENT_SUCCESS:{\r\n newState = update.set(state, \"confirmDocument.loading\", false);\r\n newState = update.set(state, \"confirmDocument.success\", true);\r\n break;\r\n }\r\n\r\n\r\n\r\n\r\n case GET_ADVERT_OFFERS_STARTED: {\r\n newState = update.set(state, \"offers.loading\", true);\r\n newState = update.set(newState, \"offers.failed\", false);\r\n newState = update.set(newState, \"offers.success\", false);\r\n newState = update.set(newState, \"offers.error\", {});\r\n\r\n break;\r\n }\r\n case GET_ADVERT_OFFERS_SUCCESS: {\r\n newState = update.set(state, \"offers.loading\", false);\r\n newState = update.set(newState, \"offers.failed\", false);\r\n newState = update.set(newState, \"offers.success\", true);\r\n newState = update.set(newState, \"offers.error\", {});\r\n newState = update.set(newState, \"offers.data\", action.payload);\r\n\r\n break;\r\n }\r\n case GET_ADVERT_OFFERS_FAILED: {\r\n newState = update.set(state, \"offers.loading\", false);\r\n newState = update.set(newState, \"offers.failed\", true);\r\n newState = update.set(newState, \"offers.success\", false);\r\n newState = update.set(newState, \"offers.error\", action.error);\r\n\r\n break;\r\n }\r\n\r\n case GET_APPROVED_OFFER_INFO_STARTED: {\r\n newState = update.set(state, \"approvedOffer.loading\", true);\r\n newState = update.set(newState, \"approvedOffer.failed\", false);\r\n newState = update.set(newState, \"approvedOffer.success\", false);\r\n newState = update.set(newState, \"approvedOffer.error\", {});\r\n\r\n break;\r\n }\r\n case GET_APPROVED_OFFER_INFO_SUCCESS: {\r\n newState = update.set(state, \"approvedOffer.loading\", false);\r\n newState = update.set(newState, \"approvedOffer.failed\", false);\r\n newState = update.set(newState, \"approvedOffer.success\", true);\r\n newState = update.set(newState, \"approvedOffer.error\", {});\r\n newState = update.set(newState, \"approvedOffer.data\", action.payload);\r\n\r\n break;\r\n }\r\n case GET_APPROVED_OFFER_INFO_FAILED: {\r\n newState = update.set(state, \"approvedOffer.loading\", false);\r\n newState = update.set(newState, \"approvedOffer.failed\", true);\r\n newState = update.set(newState, \"approvedOffer.success\", false);\r\n newState = update.set(newState, \"approvedOffer.error\", action.error);\r\n\r\n break;\r\n }\r\n case GET_CONTRACT_INFO_STARTED: {\r\n newState = update.set(state, \"contract.loading\", true);\r\n newState = update.set(newState, \"contract.failed\", false);\r\n newState = update.set(newState, \"contract.success\", false);\r\n newState = update.set(newState, \"contract.error\", {});\r\n\r\n break;\r\n }\r\n case GET_CONTRACT_INFO_SUCCESS: {\r\n newState = update.set(state, \"contract.loading\", false);\r\n newState = update.set(newState, \"contract.failed\", false);\r\n newState = update.set(newState, \"contract.success\", true);\r\n newState = update.set(newState, \"contract.error\", {});\r\n newState = update.set(newState, \"contract.data\", action.payload);\r\n\r\n break;\r\n }\r\n case GET_CONTRACT_INFO_FAILED: {\r\n newState = update.set(state, \"contract.loading\", false);\r\n newState = update.set(newState, \"contract.failed\", true);\r\n newState = update.set(newState, \"contract.success\", false);\r\n newState = update.set(newState, \"contract.error\", action.error);\r\n\r\n break;\r\n }\r\n\r\n case GET_DOCUMENT_STARTED: {\r\n newState = update.set(state, \"document.loading\", true);\r\n break;\r\n }\r\n\r\n case GET_DOCUMENT_SUCCESS: {\r\n newState = update.set(state, \"document.loading\", false);\r\n newState = update.set(newState, \"document.data\", action.document);\r\n break;\r\n //////console.log(\"action.payload: \", action.payload)\r\n }\r\n\r\n\r\n case GET_ADVERT_IMAGES_STARTED: {\r\n newState = update.set(state, \"images.loading\", true);\r\n newState = update.set(newState, \"images.failed\", false);\r\n newState = update.set(newState, \"images.success\", false);\r\n newState = update.set(newState, \"images.error\", {});\r\n\r\n break;\r\n }\r\n case GET_ADVERT_IMAGES_SUCCESS: {\r\n newState = update.set(state, \"images.loading\", false);\r\n newState = update.set(newState, \"images.failed\", false);\r\n newState = update.set(newState, \"images.success\", true);\r\n newState = update.set(newState, \"images.error\", {});\r\n newState = update.set(newState, \"images.data\", action.payload);\r\n\r\n break;\r\n }\r\n case GET_ADVERT_IMAGES_FAILED: {\r\n newState = update.set(state, \"images.loading\", false);\r\n newState = update.set(newState, \"images.failed\", true);\r\n newState = update.set(newState, \"images.success\", false);\r\n newState = update.set(newState, \"images.error\", action.error);\r\n\r\n break;\r\n }\r\n case GET_ADVERT_DESCRIPTION_STARTED: {\r\n newState = update.set(newState, \"description.loading\", true);\r\n newState = update.set(newState, \"description.success\", false);\r\n\r\n break;\r\n }\r\n case GET_ADVERT_DESCRIPTION_SUCCESS: {\r\n newState = update.set(newState, \"description.loading\", false);\r\n newState = update.set(newState, \"description.success\", false);\r\n newState = update.set(newState, \"description.data\", action.description);\r\n break;\r\n }\r\n\r\n case CHANGE_ADVERT_IMAGE: {\r\n newState = {\r\n ...state,\r\n images: {\r\n data: state.images.data.map(item => {\r\n if(item.id === action.image.id)\r\n return action.image;\r\n return item;\r\n })\r\n }\r\n };\r\n break;\r\n }\r\n\r\n default: {\r\n return newState;\r\n }\r\n }\r\n return newState;\r\n};\r\n\r\n\r\nexport const confirmDocument = (contractId)=>{\r\n return dispatch => {\r\n dispatch(ConfirmDocumentActions.started())\r\n AdvertDetailsService.confirmDocument(contractId)\r\n .then(()=>{\r\n dispatch(ConfirmDocumentActions.success())\r\n history.push(\"/client/confirmed-contracts\");\r\n document.location.reload()\r\n\r\n })\r\n }\r\n}\r\n\r\nexport const getDocument = (id, isContract) =>{\r\n return dispatch =>{\r\n dispatch( GetDocumentActions.started());\r\n AdvertDetailsService.getDocument(id, isContract)\r\n .then(response=>{\r\n dispatch(GetDocumentActions.success(response));\r\n })\r\n }\r\n}\r\nexport const getAdvertOffers = advertId => {\r\n return dispatch => {\r\n dispatch(GetAdvertOffersActions.started());\r\n AdvertDetailsService.getOffers(advertId)\r\n .then(response => {\r\n //////console.log(\"AdvertOffersActions\", response)\r\n dispatch(GetAdvertOffersActions.success(response));\r\n })\r\n .catch(error => {\r\n dispatch(GetAdvertOffersActions.failed(error));\r\n });\r\n };\r\n};\r\nexport const getApprovedOffer = advertId => {\r\n return dispatch => {\r\n dispatch(GetApprovedOfferInfoActions.started());\r\n AdvertDetailsService.getApprovedOfferInfo(advertId)\r\n .then(response => {\r\n //////console.log(\"AdvertOffersActions\", response)\r\n dispatch(GetApprovedOfferInfoActions.success(response));\r\n })\r\n .catch(error => {\r\n dispatch(GetApprovedOfferInfoActions.failed(error));\r\n });\r\n };\r\n};\r\n\r\nexport const getContract = advertId => {\r\n return dispatch => {\r\n dispatch(GetContractInfoActions.started());\r\n AdvertDetailsService.getContractInfo(advertId)\r\n .then(response => {\r\n //////console.log(\"AdvertOffersActions\", response)\r\n dispatch(GetContractInfoActions.success(response));\r\n })\r\n .catch(error => {\r\n dispatch(GetContractInfoActions.failed(error));\r\n });\r\n };\r\n};\r\n\r\n\r\n\r\nexport const getAdvertImages = advertId => {\r\n return dispatch => {\r\n dispatch(GetAdvertImagesActions.started());\r\n AdvertDetailsService.getAdvertImages(advertId)\r\n .then(response => {\r\n //////console.log(\"AdvertOffersActions\", response)\r\n dispatch(GetAdvertImagesActions.success(response));\r\n\r\n })\r\n .catch(error => {\r\n dispatch(GetAdvertImagesActions.failed(error));\r\n });\r\n };\r\n};\r\n\r\nexport const changeAdvertImage=(model)=>{\r\n return dispatch => {\r\n AdvertDetailsService.changeImage(model)\r\n .then(response => {\r\n dispatch(ChangeAdvertImageActions.success(response))\r\n })\r\n }\r\n}\r\n\r\nexport const getAdvertDescription=(advertId)=>{\r\n return dispatch => {\r\n dispatch(AdvertDescriptionActions.started());\r\n AdvertDetailsService.getAdvertDescription(advertId)\r\n .then(response=>{\r\n dispatch(AdvertDescriptionActions.success(response));\r\n })\r\n }\r\n}\r\n\r\nexport const GetAdvertOffersActions = {\r\n started: () => {\r\n return {\r\n type: GET_ADVERT_OFFERS_STARTED\r\n };\r\n },\r\n success: response => {\r\n return {\r\n type: GET_ADVERT_OFFERS_SUCCESS,\r\n payload: response.data\r\n };\r\n },\r\n\r\n failed: response => {\r\n return {\r\n type: GET_ADVERT_OFFERS_FAILED,\r\n error: response.data\r\n };\r\n }\r\n};\r\n\r\nexport const GetApprovedOfferInfoActions = {\r\n started: () => {\r\n return {\r\n type: GET_APPROVED_OFFER_INFO_STARTED\r\n };\r\n },\r\n success: response => {\r\n //////console.log(\"response\",response)\r\n return {\r\n type: GET_APPROVED_OFFER_INFO_SUCCESS,\r\n payload: response.data\r\n };\r\n },\r\n\r\n failed: response => {\r\n return {\r\n type: GET_APPROVED_OFFER_INFO_FAILED,\r\n error: response.data\r\n };\r\n }\r\n};\r\n\r\n\r\nexport const GetContractInfoActions = {\r\n started: () => {\r\n return {\r\n type: GET_CONTRACT_INFO_STARTED\r\n };\r\n },\r\n success: response => {\r\n //////console.log(\"response\",response)\r\n return {\r\n type: GET_CONTRACT_INFO_SUCCESS,\r\n payload: response.data\r\n };\r\n },\r\n\r\n failed: response => {\r\n return {\r\n type: GET_CONTRACT_INFO_FAILED,\r\n error: response.data\r\n };\r\n }\r\n};\r\n\r\n\r\n\r\nexport const ConfirmDocumentActions = {\r\n started: () => {\r\n return {\r\n type: CONFIRM_DOCUMENT_STARTED\r\n }\r\n },\r\n success: () =>{\r\n return {\r\n type: CONFIRM_DOCUMENT_SUCCESS\r\n }\r\n }\r\n}\r\n\r\nexport const ChangeAdvertImageActions ={\r\n success: response => {\r\n return {\r\n type: CHANGE_ADVERT_IMAGE,\r\n image: response.data\r\n }\r\n }\r\n}\r\n\r\n\r\nexport const GetDocumentActions = {\r\n started: ()=>{\r\n return {\r\n type: GET_DOCUMENT_STARTED\r\n }\r\n },\r\n success: response => {\r\n //////console.log(\"SSSSSSSSSSSSSSSSSSSSSSSSSSSs:____\",response )\r\n return {\r\n type: GET_DOCUMENT_SUCCESS,\r\n document: response.data\r\n }\r\n }\r\n}\r\n\r\nexport const AdvertDescriptionActions = {\r\n started: () => {\r\n return {\r\n type: GET_ADVERT_DESCRIPTION_STARTED\r\n }\r\n },\r\n success: response => {\r\n return {\r\n type: GET_ADVERT_DESCRIPTION_SUCCESS,\r\n description: response.data\r\n }\r\n }\r\n}\r\n\r\nexport const GetAdvertImagesActions = {\r\n started: () => {\r\n return {\r\n type: GET_ADVERT_IMAGES_STARTED\r\n };\r\n },\r\n success: response => {\r\n //////console.log(\"response\",response)\r\n return {\r\n type: GET_ADVERT_IMAGES_SUCCESS,\r\n payload: response.data\r\n };\r\n },\r\n\r\n failed: response => {\r\n return {\r\n type: GET_ADVERT_IMAGES_FAILED,\r\n error: response.data\r\n };\r\n }\r\n};\r\n","import axios from 'axios';\r\nimport {serverUrl} from \"../../../config\";\r\n\r\nexport default class ProfileService{\r\n static getBrokerProfile(){\r\n const url = `${serverUrl}api/broker/account/get-profile`;\r\n return axios.get(url);\r\n }\r\n\r\n static editBrokerPassword(oldPassword, newPassword){\r\n const data = {oldPassword, newPassword};\r\n const url = `${serverUrl}api/broker/account/change-password`;\r\n return axios.post(url, data);\r\n }\r\n\r\n static editBrokerProfile(region,email,phoneNumber,companyName, customsControlZones, legalAddress){\r\n const data = {region,email,phoneNumber,companyName, customsControlZones, legalAddress};\r\n const url = `${serverUrl}api/broker/account/edit-profile`;\r\n return axios.post(url, data);\r\n }\r\n static changeSendEmailStatus(sendEmailDisabled){\r\n const data = {sendEmailDisabled};\r\n const url = `${serverUrl}api/broker/account/change-send-email-status`;\r\n return axios.post(url, data);\r\n }\r\n static changeImage(data){\r\n const url=`${serverUrl}api/broker/account/change-image`;\r\n return axios.post(url, data);\r\n }\r\n}\r\n","import update from \"../../../helpers/update\";\r\nimport redirectStatusCode from \"../../../services/redirectStatusCode\";\r\nimport ProfileService from \"./ProfileService\";\r\n//import { dispatch } from \"rxjs/internal/observable/pairs\";\r\n\r\nexport const GET_BOKER_PROFILE_STARTED = \"brokerProfile/GET_BOKER_PROFILE_STARTED\";\r\nexport const GET_BOKER_PROFILE_SUCCESS = \"brokerProfile/GET_BOKER_PROFILE_SUCCESS\";\r\nexport const GET_BOKER_PROFILE_FAILED = \"brokerProfile/GET_BOKER_PROFILE_FAILED\";\r\n\r\nexport const EDIT_BROKER_PASSWORD_STARTED = \"brokerProfile/EDIT_BROKER_PASSWORD_STARTED\";\r\nexport const EDIT_BROKER_PASSWORD_SUCCESS = \"brokerProfile/EDIT_BROKER_PASSWORD_SUCCESS\";\r\nexport const EDIT_BROKER_PASSWORD_FAILED = \"brokerProfile/EDIT_BROKER_PASSWORD_FAILED\";\r\n\r\nexport const EDIT_BROKER_PROFILE_STARTED = \"brokerProfile/EDIT_BROKER_PROFILE_STARTED\";\r\nexport const EDIT_BROKER_PROFILE_SUCCESS = \"brokerProfile/EDIT_BROKER_PROFILE_SUCCESS\";\r\nexport const EDIT_BROKER_PROFILE_FAILED = \"brokerProfile/EDIT_BROKER_PROFILE_FAILED\";\r\n\r\nexport const BROKER_CHANGE_SEND_EMAIL_STARTED = \"brokerProfile/BROKER_CHANGE_SEND_EMAIL_STARTED\";\r\nexport const BROKER_CHANGE_SEND_EMAIL_SUCCESS = \"brokerProfile/BROKER_CHANGE_SEND_EMAIL_SUCCESS\";\r\nexport const BROKER_CHANGE_SEND_EMAIL_FAILED = \"brokerProfile/BROKER_CHANGE_SEND_EMAIL_FAILED\";\r\n\r\nexport const CHANGE_BROKER_IMAGE = \"brokerProfile/CHANGE_BROKER_IMAGE\";\r\n\r\nconst initialState = {\r\n profile: {\r\n data: {},\r\n error: {},\r\n loading: false,\r\n failed: false,\r\n success: false\r\n },\r\n editPass: {\r\n error: {},\r\n loading: false,\r\n failed: false,\r\n success: false\r\n },\r\n chageSendEmail: {\r\n error: {},\r\n failed: false,\r\n success: false\r\n },\r\n editProfile: {\r\n error: {},\r\n success: false\r\n },\r\n editImage: {\r\n //data: \"\",\r\n success: false\r\n }\r\n};\r\n\r\nexport const brokerProfileReducer = (state = initialState, action) => {\r\n let newState = state;\r\n switch (action.type) {\r\n case GET_BOKER_PROFILE_STARTED: {\r\n newState = update.set(state, \"profile.loading\", true);\r\n newState = update.set(newState, \"profile.failed\", false);\r\n newState = update.set(newState, \"profile.success\", false);\r\n newState = update.set(newState, \"profile.success\", false);\r\n newState = update.set(newState, \"editProfile.success\", false);\r\n newState = update.set(newState, \"profile.error\", {});\r\n newState = update.set(newState, \"editImage.success\", false);\r\n newState = update.set(newState, \"editPass.success\", false)\r\n break;\r\n }\r\n case GET_BOKER_PROFILE_SUCCESS: {\r\n //////console.log(\"Payload Data22: \", action.payload);\r\n newState = update.set(state, \"profile.loading\", false);\r\n newState = update.set(newState, \"profile.failed\", false);\r\n newState = update.set(newState, \"profile.success\", true);\r\n newState = update.set(newState, \"profile.data\", action.payload);\r\n newState = update.set(newState, \"profile.error\", {});\r\n\r\n break;\r\n }\r\n case GET_BOKER_PROFILE_FAILED: {\r\n newState = update.set(state, \"profile.loading\", false);\r\n newState = update.set(newState, \"profile.failed\", true);\r\n newState = update.set(newState, \"profile.success\", false);\r\n newState = update.set(newState, \"profile.error\", action.error);\r\n\r\n break;\r\n }\r\n case EDIT_BROKER_PASSWORD_STARTED: {\r\n newState = update.set(state, \"editPass.loading\", true);\r\n newState = update.set(newState, \"editPass.failed\", false);\r\n newState = update.set(newState, \"editPass.success\", false);\r\n newState = update.set(newState, \"editPass.error\", {});\r\n\r\n break;\r\n }\r\n case EDIT_BROKER_PASSWORD_SUCCESS: {\r\n //////console.log(\"Payload Data22: \", action.payload);\r\n newState = update.set(state, \"editPass.loading\", false);\r\n newState = update.set(newState, \"editPass.failed\", false);\r\n newState = update.set(newState, \"editPass.success\", true);\r\n // newState = update.set(newState, \"editPass.data\", action.payload);\r\n newState = update.set(newState, \"editPass.error\", {});\r\n\r\n break;\r\n }\r\n case EDIT_BROKER_PASSWORD_FAILED: {\r\n newState = update.set(state, \"editPass.loading\", false);\r\n newState = update.set(newState, \"editPass.failed\", true);\r\n newState = update.set(newState, \"editPass.success\", false);\r\n newState = update.set(newState, \"editPass.error\", action.error);\r\n\r\n break;\r\n }\r\n case EDIT_BROKER_PROFILE_STARTED: {\r\n newState = update.set(state, \"profile.loading\", true);\r\n newState = update.set(newState, \"profile.failed\", false);\r\n newState = update.set(newState, \"editProfile.success\", false);\r\n newState = update.set(newState, \"editProfile.error\", {});\r\n\r\n break;\r\n }\r\n case EDIT_BROKER_PROFILE_SUCCESS: {\r\n //////console.log(\"Payload Data22: \", action.payload);\r\n newState = update.set(state, \"profile.loading\", false);\r\n newState = update.set(newState, \"profile.failed\", false);\r\n newState = update.set(newState, \"editProfile.success\", true);\r\n // newState = update.set(newState, \"editPass.data\", action.payload);\r\n newState = update.set(newState, \"editProfile.error\", {});\r\n\r\n break;\r\n }\r\n case EDIT_BROKER_PROFILE_FAILED: {\r\n newState = update.set(state, \"profile.loading\", false);\r\n newState = update.set(newState, \"profile.failed\", true);\r\n newState = update.set(newState, \"editProfile.success\", false);\r\n newState = update.set(newState, \"editProfile.error\", action.error);\r\n\r\n break;\r\n }\r\n\r\n case BROKER_CHANGE_SEND_EMAIL_STARTED: {\r\n newState = update.set(state, \"profile.loading\", true);\r\n newState = update.set(newState, \"chageSendEmail.failed\", false);\r\n newState = update.set(newState, \"chageSendEmail.success\", false);\r\n newState = update.set(newState, \"chageSendEmail.error\", {});\r\n\r\n break;\r\n }\r\n case BROKER_CHANGE_SEND_EMAIL_SUCCESS: {\r\n newState = update.set(state, \"profile.loading\", false);\r\n newState = update.set(newState, \"chageSendEmail.failed\", false);\r\n newState = update.set(newState, \"chageSendEmail.success\", true);\r\n newState = update.set(newState, \"chageSendEmail.error\", {});\r\n\r\n break;\r\n }\r\n case BROKER_CHANGE_SEND_EMAIL_FAILED: {\r\n newState = update.set(state, \"profile.loading\", false);\r\n newState = update.set(newState, \"chageSendEmail.failed\", true);\r\n newState = update.set(newState, \"chageSendEmail.success\", false);\r\n newState = update.set(newState, \"chageSendEmail.error\", action.error);\r\n\r\n break;\r\n }\r\n\r\n case CHANGE_BROKER_IMAGE: {\r\n // newState = update.set(state, \"editImage.data\", action.payload);\r\n newState = update.set(state, \"editImage.success\", true);\r\n break;\r\n }\r\n default: {\r\n return newState;\r\n }\r\n }\r\n return newState;\r\n};\r\n\r\nconst fetchProfile = dispatch => {\r\n dispatch(ProfileActions.started());\r\n ProfileService.getBrokerProfile()\r\n .then(\r\n response => {\r\n dispatch(ProfileActions.success(response));\r\n },\r\n error => {\r\n throw error;\r\n }\r\n )\r\n .catch(error => {\r\n dispatch(ProfileActions.failed(error.response));\r\n redirectStatusCode(error.response.status);\r\n });\r\n};\r\n\r\nexport const getProfile = () => {\r\n return dispatch => {\r\n fetchProfile(dispatch);\r\n };\r\n};\r\n\r\nexport const editBrokerPassword = (oldPassword, newPassword) => {\r\n return dispatch => {\r\n dispatch(EditBrokerPasswordActions.started());\r\n ProfileService.editBrokerPassword(oldPassword, newPassword)\r\n .then(() => {\r\n dispatch(EditBrokerPasswordActions.success());\r\n })\r\n .catch(error => {\r\n dispatch(EditBrokerPasswordActions.failed(error.response));\r\n //redirectStatusCode(error.response.status);\r\n });\r\n };\r\n};\r\nexport const changeSendEmailStatus = (sendEmailDisabled) => {\r\n return dispatch => {\r\n dispatch(ChangeSendEmailActions.started());\r\n ProfileService.changeSendEmailStatus(sendEmailDisabled)\r\n .then(() => {\r\n dispatch(getProfile());\r\n dispatch(ChangeSendEmailActions.success());\r\n })\r\n .catch(error => {\r\n dispatch(ChangeSendEmailActions.failed(error.response));\r\n //redirectStatusCode(error.response.status);\r\n });\r\n };\r\n};\r\n\r\nexport const editBrokerProfile = (region, email, phoneNumber, companyName, customsControlZones, legalAddress) => {\r\n return dispatch => {\r\n dispatch(EditBrokerProfileActions.started());\r\n ProfileService.editBrokerProfile(region, email, phoneNumber, companyName, customsControlZones, legalAddress)\r\n .then(() => {\r\n dispatch(EditBrokerProfileActions.success());\r\n //fetchProfile(dispatch);\r\n })\r\n .catch(error => {\r\n dispatch(EditBrokerProfileActions.failed(error.response));\r\n //redirectStatusCode(error.response.status);\r\n });\r\n };\r\n};\r\n\r\nexport const editBrokerImage = (data)=>{\r\n return dispatch =>{\r\n ProfileService.changeImage(data)\r\n .then(response=>{\r\n dispatch(EditBrokerImageActions.success(response));\r\n fetchProfile(dispatch);\r\n })\r\n }\r\n}\r\n\r\nexport const EditBrokerPasswordActions = {\r\n started: () => {\r\n return {\r\n type: EDIT_BROKER_PASSWORD_STARTED\r\n };\r\n },\r\n success: () => {\r\n return {\r\n type: EDIT_BROKER_PASSWORD_SUCCESS\r\n };\r\n },\r\n failed: response => {\r\n return {\r\n type: EDIT_BROKER_PASSWORD_FAILED,\r\n error: response.data\r\n };\r\n }\r\n};\r\n\r\nexport const EditBrokerProfileActions = {\r\n started: () => {\r\n return {\r\n type: EDIT_BROKER_PROFILE_STARTED\r\n };\r\n },\r\n success: () => {\r\n return {\r\n type: EDIT_BROKER_PROFILE_SUCCESS\r\n };\r\n },\r\n failed: response => {\r\n //////console.log(\"EDIT_BROKER_PROFILE\", response)\r\n\r\n return {\r\n type: EDIT_BROKER_PROFILE_FAILED,\r\n error: response.data\r\n };\r\n }\r\n};\r\n\r\nexport const EditBrokerImageActions ={\r\n success: response => {\r\n //////console.log(\"Payload Data: \", response.data);\r\n return {\r\n type: CHANGE_BROKER_IMAGE,\r\n payload: response.data\r\n };\r\n },\r\n}\r\n\r\nexport const ProfileActions = {\r\n started: () => {\r\n return {\r\n type: GET_BOKER_PROFILE_STARTED\r\n };\r\n },\r\n success: response => {\r\n //////console.log(\"Payload Data: \", response.data);\r\n return {\r\n type: GET_BOKER_PROFILE_SUCCESS,\r\n payload: response.data\r\n };\r\n },\r\n\r\n failed: response => {\r\n return {\r\n type: GET_BOKER_PROFILE_FAILED,\r\n error: response.data\r\n };\r\n }\r\n};\r\n\r\nexport const ChangeSendEmailActions = {\r\n started: () => {\r\n return {\r\n type: BROKER_CHANGE_SEND_EMAIL_STARTED\r\n };\r\n },\r\n success: response => {\r\n return {\r\n type: BROKER_CHANGE_SEND_EMAIL_SUCCESS\r\n };\r\n },\r\n\r\n failed: response => {\r\n return {\r\n type: BROKER_CHANGE_SEND_EMAIL_SUCCESS,\r\n error: response.data\r\n };\r\n }\r\n};\r\n","import axios from \"axios\";\r\nimport { serverUrl } from \"../../../config\";\r\n\r\nexport default class ProfileService {\r\n static getClientProfile() {\r\n const url = `${serverUrl}api/client/account/get-profile`;\r\n return axios.get(url);\r\n }\r\n static editClientPassword(oldPassword, newPassword) {\r\n const data = { oldPassword, newPassword };\r\n const url = `${serverUrl}api/client/account/change-password`;\r\n return axios.post(url, data);\r\n }\r\n static editClientProfile(email, phoneNumber) {\r\n const data = { email, phoneNumber };\r\n const url = `${serverUrl}api/client/account/edit-profile`;\r\n return axios.post(url, data);\r\n }\r\n static changeSendEmailStatus(sendEmailDisabled){\r\n const data = {sendEmailDisabled};\r\n const url = `${serverUrl}api/client/account/change-send-email-status`;\r\n return axios.post(url, data);\r\n }\r\n static editClientImage(data) {\r\n const url = `${serverUrl}api/client/account/change-image`;\r\n return axios.post(url, data);\r\n }\r\n}\r\n","import update from \"../../../helpers/update\";\r\nimport redirectStatusCode from \"../../../services/redirectStatusCode\";\r\nimport ProfileService from \"./ProfileService\";\r\n\r\nexport const GET_CLIENT_PROFILE_STARTED = \"clientProfile/GET_CLIENT_PROFILE_STARTED\";\r\nexport const GET_CLIENT_PROFILE_SUCCESS = \"clientProfile/GET_CLIENT_PROFILE_SUCCESS\";\r\nexport const GET_CLIENT_PROFILE_FAILED = \"clientProfile/GET_CLIENT_PROFILE_FAILED\";\r\n\r\nexport const EDIT_CLIENT_PASSWORD_STARTED = \"clientProfile/EDIT_CLIENT_PASSWORD_STARTED\";\r\nexport const EDIT_CLIENT_PASSWORD_SUCCESS = \"clientProfile/EDIT_CLIENT_PASSWORD_SUCCESS\";\r\nexport const EDIT_CLIENT_PASSWORD_FAILED = \"clientProfile/EDIT_CLIENT_PASSWORD_FAILED\";\r\n\r\nexport const EDIT_CLIENT_PROFILE_STARTED = \"clientProfile/EDIT_CLIENT_PROFILE_STARTED\";\r\nexport const EDIT_CLIENT_PROFILE_SUCCESS = \"clientProfile/EDIT_CLIENT_PROFILE_SUCCESS\";\r\nexport const EDIT_CLIENT_PROFILE_FAILED = \"clientProfile/EDIT_CLIENT_PROFILE_FAILED\";\r\n\r\nexport const CLIENT_CHANGE_SEND_EMAIL_STARTED = \"brokerProfile/CLIENT_CHANGE_SEND_EMAIL_STARTED\";\r\nexport const CLIENT_CHANGE_SEND_EMAIL_SUCCESS = \"brokerProfile/CLIENT_CHANGE_SEND_EMAIL_SUCCESS\";\r\nexport const CLIENT_CHANGE_SEND_EMAIL_FAILED = \"brokerProfile/CLIENT_CHANGE_SEND_EMAIL_FAILED\";\r\n\r\nexport const CHANGE_CLIENT_IMAGE = \"clientProfile/CHANGE_CLIENT_IMAGE\";\r\n\r\nconst initialState = {\r\n profile: {\r\n data: {},\r\n error: {},\r\n loading: false,\r\n failed: false,\r\n success: false\r\n },\r\n editPass: {\r\n error: {},\r\n loading: false,\r\n failed: false,\r\n success: false\r\n },\r\n editProfile: {\r\n error: {},\r\n success: false\r\n },\r\n chageSendEmail: {\r\n error: {},\r\n failed: false,\r\n success: false\r\n },\r\n editImage: {\r\n //data: \"\",\r\n success: false\r\n }\r\n};\r\n\r\nexport const clientProfileReducer = (state = initialState, action) => {\r\n let newState = state;\r\n switch (action.type) {\r\n case GET_CLIENT_PROFILE_STARTED: {\r\n newState = update.set(state, \"profile.loading\", true);\r\n newState = update.set(newState, \"profile.failed\", false);\r\n newState = update.set(newState, \"profile.success\", false);\r\n newState = update.set(newState, \"profile.success\", false);\r\n newState = update.set(newState, \"editProfile.success\", false);\r\n newState = update.set(newState, \"profile.error\", {});\r\n newState = update.set(newState, \"editImage.success\", false);\r\n newState = update.set(newState, \"editPass.success\", false);\r\n\r\n break;\r\n }\r\n case GET_CLIENT_PROFILE_SUCCESS: {\r\n //////console.log(\"Payload Data22: \", action.payload);\r\n newState = update.set(state, \"profile.loading\", false);\r\n newState = update.set(newState, \"profile.failed\", false);\r\n newState = update.set(newState, \"profile.success\", true);\r\n newState = update.set(newState, \"profile.data\", action.payload);\r\n newState = update.set(newState, \"profile.error\", {});\r\n\r\n break;\r\n }\r\n case GET_CLIENT_PROFILE_FAILED: {\r\n newState = update.set(state, \"profile.loading\", false);\r\n newState = update.set(newState, \"profile.failed\", true);\r\n newState = update.set(newState, \"profile.success\", false);\r\n newState = update.set(newState, \"profile.error\", action.error);\r\n\r\n break;\r\n }\r\n case EDIT_CLIENT_PASSWORD_STARTED: {\r\n newState = update.set(state, \"editPass.loading\", true);\r\n newState = update.set(newState, \"editPass.failed\", false);\r\n newState = update.set(newState, \"editPass.success\", false);\r\n newState = update.set(newState, \"editPass.error\", {});\r\n\r\n break;\r\n }\r\n case EDIT_CLIENT_PASSWORD_SUCCESS: {\r\n //////console.log(\"Payload Data22: \", action.payload);\r\n newState = update.set(state, \"editPass.loading\", false);\r\n newState = update.set(newState, \"editPass.failed\", false);\r\n newState = update.set(newState, \"editPass.success\", true);\r\n // newState = update.set(newState, \"editPass.data\", action.payload);\r\n newState = update.set(newState, \"editPass.error\", {});\r\n\r\n break;\r\n }\r\n case EDIT_CLIENT_PASSWORD_FAILED: {\r\n newState = update.set(state, \"editPass.loading\", false);\r\n newState = update.set(newState, \"editPass.failed\", true);\r\n newState = update.set(newState, \"editPass.success\", false);\r\n newState = update.set(newState, \"editPass.error\", action.error);\r\n\r\n break;\r\n }\r\n case EDIT_CLIENT_PROFILE_STARTED: {\r\n newState = update.set(state, \"profile.loading\", true);\r\n newState = update.set(newState, \"profile.failed\", false);\r\n newState = update.set(newState, \"editProfile.success\", false);\r\n newState = update.set(newState, \"editProfile.error\", {});\r\n\r\n break;\r\n }\r\n case EDIT_CLIENT_PROFILE_SUCCESS: {\r\n //////console.log(\"Payload Data22: \", action.payload);\r\n newState = update.set(state, \"profile.loading\", false);\r\n newState = update.set(newState, \"profile.failed\", false);\r\n newState = update.set(newState, \"editProfile.success\", true);\r\n // newState = update.set(newState, \"editPass.data\", action.payload);\r\n newState = update.set(newState, \"editProfile.error\", {});\r\n\r\n break;\r\n }\r\n case EDIT_CLIENT_PROFILE_FAILED: {\r\n newState = update.set(state, \"profile.loading\", false);\r\n newState = update.set(newState, \"profile.failed\", true);\r\n newState = update.set(newState, \"editProfile.success\", false);\r\n newState = update.set(newState, \"editProfile.error\", action.error);\r\n break;\r\n }\r\n\r\n case CLIENT_CHANGE_SEND_EMAIL_STARTED: {\r\n newState = update.set(state, \"profile.loading\", true);\r\n newState = update.set(newState, \"chageSendEmail.failed\", false);\r\n newState = update.set(newState, \"chageSendEmail.success\", false);\r\n newState = update.set(newState, \"chageSendEmail.error\", {});\r\n\r\n break;\r\n }\r\n case CLIENT_CHANGE_SEND_EMAIL_SUCCESS: {\r\n newState = update.set(state, \"profile.loading\", false);\r\n newState = update.set(newState, \"chageSendEmail.failed\", false);\r\n newState = update.set(newState, \"chageSendEmail.success\", true);\r\n newState = update.set(newState, \"chageSendEmail.error\", {});\r\n\r\n break;\r\n }\r\n case CLIENT_CHANGE_SEND_EMAIL_FAILED: {\r\n newState = update.set(state, \"profile.loading\", false);\r\n newState = update.set(newState, \"chageSendEmail.failed\", true);\r\n newState = update.set(newState, \"chageSendEmail.success\", false);\r\n newState = update.set(newState, \"chageSendEmail.error\", action.error);\r\n\r\n break;\r\n }\r\n\r\n case CHANGE_CLIENT_IMAGE: {\r\n // newState = update.set(state, \"editImage.data\", action.payload);\r\n newState = update.set(state, \"editImage.success\", true);\r\n break;\r\n }\r\n default: {\r\n return newState;\r\n }\r\n }\r\n\r\n return newState;\r\n};\r\n\r\nconst fetchProfile = dispatch => {\r\n dispatch(ProfileActions.started());\r\n ProfileService.getClientProfile()\r\n .then(\r\n response => {\r\n dispatch(ProfileActions.success(response));\r\n },\r\n error => {\r\n throw error;\r\n }\r\n )\r\n .catch(error => {\r\n dispatch(ProfileActions.failed(error.response));\r\n redirectStatusCode(error.response.status);\r\n });\r\n};\r\nexport const getProfile = () => {\r\n return dispatch => {\r\n fetchProfile(dispatch);\r\n };\r\n};\r\n\r\nexport const editClientPassword = (oldPassword, newPassword) => {\r\n return dispatch => {\r\n dispatch(EditClientPasswordActions.started());\r\n ProfileService.editClientPassword(oldPassword, newPassword)\r\n .then(() => {\r\n dispatch(EditClientPasswordActions.success());\r\n })\r\n .catch(error => {\r\n dispatch(EditClientPasswordActions.failed(error.response));\r\n //redirectStatusCode(error.response.status);\r\n });\r\n };\r\n};\r\nexport const changeSendEmailStatus = (sendEmailDisabled) => {\r\n return dispatch => {\r\n dispatch(ChangeSendEmailActions.started());\r\n ProfileService.changeSendEmailStatus(sendEmailDisabled)\r\n .then(() => {\r\n dispatch(getProfile());\r\n dispatch(ChangeSendEmailActions.success());\r\n })\r\n .catch(error => {\r\n dispatch(ChangeSendEmailActions.failed(error.response));\r\n });\r\n };\r\n};\r\n\r\nexport const editClientProfile = (email, phoneNumber) => {\r\n return dispatch => {\r\n dispatch(EditClientProfileActions.started());\r\n ProfileService.editClientProfile(email, phoneNumber)\r\n .then(() => {\r\n dispatch(EditClientProfileActions.success());\r\n //fetchProfile(dispatch);\r\n })\r\n .catch(error => {\r\n dispatch(EditClientProfileActions.failed(error.response));\r\n //redirectStatusCode(error.response.status);\r\n });\r\n };\r\n };\r\n\r\nexport const editClientImage = (data) => {\r\n return dispatch => {\r\n ProfileService.editClientImage(data)\r\n .then(response=>{\r\n dispatch(EditClientImageActions.success(response));\r\n fetchProfile(dispatch);\r\n })\r\n }\r\n}\r\n\r\nexport const ProfileActions = {\r\n started: () => {\r\n return {\r\n type: GET_CLIENT_PROFILE_STARTED\r\n };\r\n },\r\n success: response => {\r\n return {\r\n type: GET_CLIENT_PROFILE_SUCCESS,\r\n payload: response.data\r\n };\r\n },\r\n\r\n failed: response => {\r\n return {\r\n type: GET_CLIENT_PROFILE_FAILED,\r\n error: response\r\n // error: response.data\r\n };\r\n }\r\n};\r\n\r\nexport const EditClientPasswordActions = {\r\n started: () => {\r\n return {\r\n type: EDIT_CLIENT_PASSWORD_STARTED\r\n };\r\n },\r\n success: () => {\r\n return {\r\n type: EDIT_CLIENT_PASSWORD_SUCCESS\r\n };\r\n },\r\n failed: response => {\r\n return {\r\n type: EDIT_CLIENT_PASSWORD_FAILED,\r\n error: response.data\r\n };\r\n }\r\n};\r\n\r\nexport const EditClientProfileActions = {\r\n started: () => {\r\n return {\r\n type: EDIT_CLIENT_PROFILE_STARTED\r\n };\r\n },\r\n success: () => {\r\n return {\r\n type: EDIT_CLIENT_PROFILE_SUCCESS\r\n };\r\n },\r\n failed: response => {\r\n\r\n return {\r\n type: EDIT_CLIENT_PROFILE_FAILED,\r\n error: response.data\r\n };\r\n }\r\n };\r\n\r\n export const EditClientImageActions ={\r\n success: response => {\r\n //////console.log(\"Payload Data: \", response.data);\r\n return {\r\n type: CHANGE_CLIENT_IMAGE,\r\n payload: response.data\r\n };\r\n },\r\n }\r\n\r\n export const ChangeSendEmailActions = {\r\n started: () => {\r\n return {\r\n type: CLIENT_CHANGE_SEND_EMAIL_STARTED\r\n };\r\n },\r\n success: response => {\r\n return {\r\n type: CLIENT_CHANGE_SEND_EMAIL_SUCCESS\r\n };\r\n },\r\n \r\n failed: response => {\r\n return {\r\n type: CLIENT_CHANGE_SEND_EMAIL_SUCCESS,\r\n error: response.data\r\n };\r\n }\r\n };\r\n \r\n","import update from \"../../../../helpers/update\";\r\nimport AdvertListService from \"./AdvertListService\";\r\n\r\nexport const GET_ADVERTS_STARTED = \"advertsList/GET_ADVERTS_STARTED\";\r\nexport const GET_ADVERTS_SUCCESS = \"advertsList/GET_ADVERTS_SUCCESS\";\r\nexport const GET_ADVERTS_FAILED = \"advertsList/GET_ADVERTS_FAILED\";\r\n\r\nexport const GET_CONTRACTS_STARTED = \"advertsList/GET_CONTRACTS_STARTED\";\r\nexport const GET_CONTRACTS_SUCCESS = \"advertsList/GET_CONTRACTS_SUCCESS\";\r\nexport const GET_CONTRACTS_FAILED = \"advertsList/GET_CONTRACTS_FAILED\";\r\n\r\n\r\nexport const GET_CONFIRMED_CONTRACTS_STARTED = \"advertsList/GET_CONFIRMED_CONTRACTS_STARTED\";\r\nexport const GET_CONFIRMED_CONTRACTS_SUCCESS = \"advertsList/GET_CONFIRMED_CONTRACTS_SUCCESS\";\r\nexport const GET_CONFIRMED_CONTRACTS_FAILED = \"advertsList/GET_CONFIRMED_CONTRACTS_FAILED\";\r\n\r\n\r\n// export const GET_REJECT_CONTRACTS_STARTED = \"advertsList/GET_REJECT_CONTRACTS_STARTED\";\r\n// export const GET_REJECT_CONTRACTS_SUCCESS = \"advertsList/GET_REJECT_CONTRACTS_SUCCESS\";\r\n// export const GET_REJECT_CONTRACTS_FAILED = \"advertsList/GET_REJECT_CONTRACTS_FAILED\";\r\n\r\n\r\nconst initialState = {\r\n adverts: {\r\n data: [],\r\n error: {},\r\n loading: false,\r\n failed: false,\r\n success: false\r\n },\r\n contracts: {\r\n data: [],\r\n error: {},\r\n loading: false,\r\n failed: false,\r\n success: false\r\n },\r\n confirmedContracts: {\r\n data: [],\r\n error: {},\r\n loading: false,\r\n failed: false,\r\n success: false\r\n },\r\n rejectContracts: {\r\n data: [],\r\n error: {},\r\n loading: false,\r\n failed: false,\r\n success: false\r\n }\r\n};\r\n\r\nexport const listAdvertsReducer = (state = initialState, action) => {\r\n let newState = state;\r\n switch (action.type) {\r\n case GET_ADVERTS_STARTED: {\r\n newState = update.set(state, \"adverts.loading\", true);\r\n newState = update.set(newState, \"adverts.failed\", false);\r\n newState = update.set(newState, \"adverts.success\", false);\r\n newState = update.set(newState, \"adverts.error\", {});\r\n\r\n break;\r\n }\r\n case GET_ADVERTS_SUCCESS: {\r\n newState = update.set(state, \"adverts.loading\", false);\r\n newState = update.set(newState, \"adverts.failed\", false);\r\n newState = update.set(newState, \"adverts.success\", true);\r\n newState = update.set(newState, \"adverts.error\", {});\r\n newState = update.set(newState, \"adverts.data\", action.payload);\r\n\r\n break;\r\n }\r\n case GET_ADVERTS_FAILED: {\r\n newState = update.set(state, \"adverts.loading\", false);\r\n newState = update.set(newState, \"adverts.failed\", true);\r\n newState = update.set(newState, \"adverts.success\", false);\r\n newState = update.set(newState, \"adverts.error\", action.error);\r\n\r\n break;\r\n }\r\n\r\n case GET_CONTRACTS_STARTED: {\r\n newState = update.set(state, \"contracts.loading\", true);\r\n newState = update.set(newState, \"contracts.failed\", false);\r\n newState = update.set(newState, \"contracts.success\", false);\r\n newState = update.set(newState, \"contracts.error\", {});\r\n\r\n break;\r\n }\r\n case GET_CONTRACTS_SUCCESS: {\r\n newState = update.set(state, \"contracts.loading\", false);\r\n newState = update.set(newState, \"contracts.failed\", false);\r\n newState = update.set(newState, \"contracts.success\", true);\r\n newState = update.set(newState, \"contracts.error\", {});\r\n newState = update.set(newState, \"contracts.data\", action.payload);\r\n\r\n break;\r\n }\r\n case GET_CONTRACTS_FAILED: {\r\n newState = update.set(state, \"contracts.loading\", false);\r\n newState = update.set(newState, \"contracts.failed\", true);\r\n newState = update.set(newState, \"contracts.success\", false);\r\n newState = update.set(newState, \"contracts.error\", action.error);\r\n\r\n break;\r\n }\r\n\r\n // case GET_REJECT_CONTRACTS_STARTED: {\r\n // newState = update.set(state, \"rejectContracts.loading\", true);\r\n // newState = update.set(newState, \"rejectContracts.failed\", false);\r\n // newState = update.set(newState, \"rejectContracts.success\", false);\r\n // newState = update.set(newState, \"rejectContracts.error\", {});\r\n\r\n // break;\r\n // }\r\n // case GET_REJECT_CONTRACTS_SUCCESS: {\r\n // newState = update.set(state, \"rejectContracts.loading\", false);\r\n // newState = update.set(newState, \"rejectContracts.failed\", false);\r\n // newState = update.set(newState, \"rejectContracts.success\", true);\r\n // newState = update.set(newState, \"rejectContracts.error\", {});\r\n // newState = update.set(newState, \"rejectContracts.data\", action.payload);\r\n\r\n // break;\r\n // }\r\n // case GET_REJECT_CONTRACTS_FAILED: {\r\n // newState = update.set(state, \"rejectContracts.loading\", false);\r\n // newState = update.set(newState, \"rejectContracts.failed\", true);\r\n // newState = update.set(newState, \"rejectContracts.success\", false);\r\n // newState = update.set(newState, \"rejectContracts.error\", action.error);\r\n\r\n // break;\r\n // }\r\n case GET_CONFIRMED_CONTRACTS_STARTED: {\r\n newState = update.set(state, \"confirmedContracts.loading\", true);\r\n newState = update.set(newState, \"confirmedContracts.failed\", false);\r\n newState = update.set(newState, \"confirmedContracts.success\", false);\r\n newState = update.set(newState, \"confirmedContracts.error\", {});\r\n\r\n break;\r\n }\r\n\r\n case GET_CONFIRMED_CONTRACTS_SUCCESS: {\r\n newState = update.set(state, \"confirmedContracts.loading\", false);\r\n newState = update.set(newState, \"confirmedContracts.failed\", false);\r\n newState = update.set(newState, \"confirmedContracts.success\", true);\r\n newState = update.set(newState, \"confirmedContracts.error\", {});\r\n newState = update.set(newState, \"confirmedContracts.data\", action.payload);\r\n\r\n break;\r\n }\r\n case GET_CONFIRMED_CONTRACTS_FAILED: {\r\n newState = update.set(state, \"confirmedContracts.loading\", false);\r\n newState = update.set(newState, \"confirmedContracts.failed\", true);\r\n newState = update.set(newState, \"confirmedContracts.success\", false);\r\n newState = update.set(newState, \"confirmedContracts.error\", action.error);\r\n\r\n break;\r\n }\r\n\r\n default: {\r\n return newState;\r\n }\r\n }\r\n return newState;\r\n};\r\n\r\nexport const getAdverts = () => {\r\n return dispatch => {\r\n dispatch(GetAdvertsActions.started());\r\n AdvertListService.getAdverts()\r\n .then(response => {\r\n dispatch(GetAdvertsActions.success(response));\r\n })\r\n .catch(error => {\r\n dispatch(GetAdvertsActions.failed(error));\r\n });\r\n };\r\n};\r\n\r\n// export const getRejectContracts = () => {\r\n// return dispatch => {\r\n// dispatch(GetRejectContractsActions.started());\r\n// AdvertListService.getRejectContracts()\r\n// .then(response => {\r\n// dispatch(GetRejectContractsActions.success(response));\r\n// })\r\n// .catch(error => {\r\n// dispatch(GetRejectContractsActions.failed(error));\r\n// });\r\n// };\r\n// };\r\n\r\nexport const getContracts = () => {\r\n return dispatch => {\r\n dispatch(GetContractsActions.started());\r\n AdvertListService.getContracts()\r\n .then(response => {\r\n dispatch(GetContractsActions.success(response));\r\n })\r\n .catch(error => {\r\n dispatch(GetContractsActions.failed(error));\r\n });\r\n };\r\n};\r\n\r\nexport const getConfirmedContracts = () => {\r\n return dispatch => {\r\n dispatch(GetConfirmedContractsActions.started());\r\n AdvertListService.getConfirmedContracts()\r\n .then(response => {\r\n dispatch(GetConfirmedContractsActions.success(response));\r\n })\r\n .catch(error => {\r\n dispatch(GetConfirmedContractsActions.failed(error));\r\n });\r\n };\r\n};\r\n\r\nexport const GetAdvertsActions = {\r\n started: () => {\r\n return {\r\n type: GET_ADVERTS_STARTED\r\n };\r\n },\r\n success: response => {\r\n return {\r\n type: GET_ADVERTS_SUCCESS,\r\n payload: response.data\r\n };\r\n },\r\n\r\n failed: response => {\r\n return {\r\n type: GET_ADVERTS_FAILED,\r\n error: response.data\r\n };\r\n }\r\n};\r\n\r\nexport const GetContractsActions = {\r\n started: () => {\r\n return {\r\n type: GET_CONTRACTS_STARTED\r\n };\r\n },\r\n success: response => {\r\n return {\r\n type: GET_CONTRACTS_SUCCESS,\r\n payload: response.data\r\n };\r\n },\r\n\r\n failed: response => {\r\n return {\r\n type: GET_CONTRACTS_FAILED,\r\n error: response.data\r\n };\r\n }\r\n};\r\n\r\nexport const GetConfirmedContractsActions = {\r\n started: () => {\r\n return {\r\n type: GET_CONFIRMED_CONTRACTS_STARTED\r\n };\r\n },\r\n success: response => {\r\n return {\r\n type: GET_CONFIRMED_CONTRACTS_SUCCESS,\r\n payload: response.data\r\n };\r\n },\r\n\r\n failed: response => {\r\n return {\r\n type: GET_CONFIRMED_CONTRACTS_FAILED,\r\n error: response.data\r\n };\r\n }\r\n};\r\n\r\n// export const GetRejectContractsActions = {\r\n// started: () => {\r\n// return {\r\n// type: GET_REJECT_CONTRACTS_STARTED\r\n// };\r\n// },\r\n// success: response => {\r\n// return {\r\n// type: GET_REJECT_CONTRACTS_SUCCESS,\r\n// payload: response.data\r\n// };\r\n// },\r\n\r\n// failed: response => {\r\n// return {\r\n// type: GET_REJECT_CONTRACTS_FAILED,\r\n// error: response.data\r\n// };\r\n// }\r\n// };\r\n","import axios from \"axios\";\r\nimport {serverUrl} from '../../config';\r\n\r\nexport default class CaptchaService {\r\n static postNewKey() {\r\n return axios.post(`${serverUrl}api/CaptchaImage/post-guid-captcha`)\r\n };\r\n}","import update from '../../helpers/update';\r\nimport CaptchaService from './captchaService';\r\n\r\n\r\nexport const KEY_POST_STARTED = \"captcha/KEY_POST_STARTED\";\r\nexport const KEY_POST_SUCCESS = \"captcha/KEY_POST_SUCCESS\";\r\nexport const KEY_POST_FAILED = \"captcha/KEY_POST_FAILED\";\r\n\r\nconst initialState = {\r\n key: {\r\n data: null,\r\n error: false,\r\n loading: false,\r\n success: false\r\n },\r\n}\r\n\r\n\r\nexport const captchaReducer = (state = initialState, action) => {\r\n let newState = state;\r\n\r\n switch (action.type) {\r\n\r\n case KEY_POST_STARTED: {\r\n newState = update.set(state, 'key.loading', true);\r\n newState = update.set(newState, 'key.success', false);\r\n newState = update.set(newState, 'key.data', null);\r\n break;\r\n }\r\n\r\n case KEY_POST_SUCCESS: {\r\n newState = update.set(state, 'key.loading', false);\r\n newState = update.set(newState, 'key.success', true);\r\n newState = update.set(newState, 'key.data', action.payload.data);\r\n break;\r\n }\r\n\r\n case KEY_POST_FAILED: {\r\n newState = update.set(state, 'key.loading', false);\r\n newState = update.set(newState, 'key.data', null);\r\n newState = update.set(newState, 'key.error', true);\r\n break;\r\n }\r\n\r\n\r\n default: {\r\n return newState;\r\n }\r\n }\r\n\r\n return newState;\r\n}\r\n\r\nexport const createNewKey = () => {\r\n return (dispatch) => {\r\n dispatch(keyCaptchaActions.started());\r\n\r\n CaptchaService.postNewKey()\r\n .then((response) => {\r\n dispatch(keyCaptchaActions.success(response));\r\n })\r\n .catch(() => {\r\n dispatch(keyCaptchaActions.failed());\r\n });\r\n }\r\n}\r\n\r\nexport const keyCaptchaActions = {\r\n started: () => {\r\n return {\r\n type: KEY_POST_STARTED\r\n }\r\n },\r\n\r\n success: (data) => {\r\n return {\r\n type: KEY_POST_SUCCESS,\r\n payload: data\r\n }\r\n },\r\n\r\n failed: (error) => {\r\n return {\r\n type: KEY_POST_FAILED\r\n }\r\n }\r\n}\r\n\r\n\r\n","import axios from 'axios';\r\nimport {serverUrl} from \"../../../config\";\r\nexport default class PropositionService{\r\n static getPropostionsAndContracts(status, page=1){\r\n return axios.get(serverUrl+`api/broker/home/get-propositions/${status}/${page}`);\r\n }\r\n}\r\n","import update from \"../../../helpers/update\";\r\nimport PropositionService from \"./PropositionService\";\r\n\r\nexport const GET_SENDED_PROPOSTIONS_STARTED = \"propostionsAndContracts/GET_SENDED_PROPOSTIONS_STARTED\";\r\nexport const GET_SENDED_PROPOSTIONS_SUCCESS = \"propostionsAndContracts/GET_SENDED_PROPOSTIONS_SUCCESS\";\r\nexport const GET_SENDED_PROPOSTIONS_FAILED = \"propostionsAndContracts/GET_SENDED_PROPOSTIONS_FAILED\";\r\n\r\n// export const GET_CONFIRMED_PROPOSTIONS_STARTED = \"propostionsAndContracts/GET_CONFIRMED_PROPOSTIONS_STARTED\";\r\n// export const GET_CONFIRMED_PROPOSTIONS_SUCCESS = \"propostionsAndContracts/GET_CONFIRMED_PROPOSTIONS_SUCCESS\";\r\n// export const GET_CONFIRMED_PROPOSTIONS_FAILED = \"propostionsAndContracts/GET_CONFIRMED_PROPOSTIONS_FAILED\";\r\n\r\nexport const GET_ENDED_PROPOSTIONS_STARTED = \"propostionsAndContracts/GET_ENDED_PROPOSTIONS_STARTED\";\r\nexport const GET_ENDED_PROPOSTIONS_SUCCESS = \"propostionsAndContracts/GET_ENDED_PROPOSTIONS_SUCCESS\";\r\nexport const GET_ENDED_PROPOSTIONS_FAILED = \"propostionsAndContracts/GET_ENDED_PROPOSTIONS_FAILED\";\r\n\r\nexport const GET_CONTRACTS_STARTED = \"propostionsAndContracts/GET_CONTRACTS_STARTED\";\r\nexport const GET_CONTRACTS_SUCCESS = \"propostionsAndContracts/GET_CONTRACTS_SUCCESS\";\r\nexport const GET_CONTRACTS_FAILED = \"propostionsAndContracts/GET_CONTRACTS_FAILED\";\r\n\r\n\r\nconst intialState = {\r\n list: {\r\n data: [],\r\n error: false,\r\n loading: false\r\n },\r\n contractList: {\r\n data: [],\r\n error: false,\r\n loading: false\r\n }\r\n};\r\n\r\nexport const propostionsAndContractsReducer = (state = intialState, action) => {\r\n let newState = state;\r\n switch (action.type) {\r\n case GET_SENDED_PROPOSTIONS_STARTED: {\r\n newState = update.set(state, \"list.loading\", true);\r\n break;\r\n }\r\n case GET_SENDED_PROPOSTIONS_SUCCESS: {\r\n newState = update.set(state, \"list.loading\", false);\r\n newState = update.set(newState, \"list.data\", action.payload.data);\r\n break;\r\n }\r\n case GET_SENDED_PROPOSTIONS_FAILED: {\r\n newState = update.set(state, \"list.loading\", false);\r\n newState = update.set(newState, \"list.error\", true);\r\n break;\r\n }\r\n\r\n // case GET_CONFIRMED_PROPOSTIONS_STARTED: {\r\n // newState = update.set(state, \"list.loading\", true);\r\n // break;\r\n // }\r\n // case GET_CONFIRMED_PROPOSTIONS_SUCCESS: {\r\n // newState = update.set(state, \"list.loading\", false);\r\n // newState = update.set(newState, \"list.data\", action.payload.data);\r\n // break;\r\n // }\r\n // case GET_CONFIRMED_PROPOSTIONS_FAILED: {\r\n // newState = update.set(state, \"list.loading\", false);\r\n // newState = update.set(newState, \"list.error\", true);\r\n // break;\r\n // }\r\n\r\n case GET_ENDED_PROPOSTIONS_STARTED: {\r\n newState = update.set(state, \"list.loading\", true);\r\n break;\r\n }\r\n case GET_ENDED_PROPOSTIONS_SUCCESS: {\r\n newState = update.set(state, \"list.loading\", false);\r\n newState = update.set(newState, \"list.data\", action.payload.data);\r\n break;\r\n }\r\n case GET_ENDED_PROPOSTIONS_FAILED: {\r\n newState = update.set(state, \"list.loading\", false);\r\n newState = update.set(newState, \"list.error\", true);\r\n break;\r\n }\r\n\r\n case GET_CONTRACTS_STARTED: {\r\n newState = update.set(state, \"contractList.loading\", true);\r\n break;\r\n }\r\n case GET_CONTRACTS_SUCCESS: {\r\n newState = update.set(state, \"contractList.loading\", false);\r\n newState = update.set(newState, \"contractList.data\", action.payload.data);\r\n break;\r\n }\r\n case GET_CONTRACTS_FAILED: {\r\n newState = update.set(state, \"contractList.loading\", false);\r\n newState = update.set(newState, \"contractList.error\", true);\r\n break;\r\n }\r\n\r\n default: {\r\n return newState;\r\n }\r\n }\r\n return newState;\r\n};\r\n\r\nexport const getSendedPropositionsData = ()=>{\r\n\r\n return (dispatch)=>{\r\n dispatch(SendedPropositionsActions.started());\r\n PropositionService.getPropostionsAndContracts(1)\r\n .then((response)=>{\r\n dispatch(SendedPropositionsActions.success(response));\r\n })\r\n .catch(()=>{\r\n dispatch(SendedPropositionsActions.failed());\r\n })\r\n }\r\n}\r\n\r\n// export const getConfirmedPropositionsData = ()=>{\r\n// return (dispatch)=>{\r\n// dispatch(ConfirmedPropositionsActions.started());\r\n// PropositionService.getPropostionsAndContracts(2)\r\n// .then((response)=>{\r\n// dispatch(ConfirmedPropositionsActions.success(response));\r\n// })\r\n// .catch(()=>{\r\n// dispatch(ConfirmedPropositionsActions.failed());\r\n// })\r\n// }\r\n// }\r\nexport const getEndedPropositionsData = ()=>{\r\n return (dispatch)=>{\r\n dispatch(EndedPropositionsActions.started());\r\n PropositionService.getPropostionsAndContracts(3)\r\n .then((response)=>{\r\n dispatch(EndedPropositionsActions.success(response));\r\n })\r\n .catch(()=>{\r\n dispatch(EndedPropositionsActions.failed());\r\n })\r\n }\r\n}\r\n\r\nexport const getContractsData = (page)=>{\r\n\r\n return (dispatch)=>{\r\n dispatch(ContractsActions.started());\r\n PropositionService.getPropostionsAndContracts(4,page)\r\n .then((response)=>{\r\n dispatch(ContractsActions.success(response));\r\n })\r\n .catch(()=>{\r\n dispatch(ContractsActions.failed());\r\n })\r\n }\r\n}\r\n\r\n\r\nexport const SendedPropositionsActions = {\r\n started: () => {\r\n return {\r\n type: GET_SENDED_PROPOSTIONS_STARTED\r\n };\r\n },\r\n\r\n success: data => {\r\n return {\r\n type: GET_SENDED_PROPOSTIONS_SUCCESS,\r\n payload: data\r\n };\r\n },\r\n\r\n failed: error => {\r\n return {\r\n type: GET_SENDED_PROPOSTIONS_FAILED\r\n };\r\n }\r\n};\r\n// export const ConfirmedPropositionsActions = {\r\n// started: () => {\r\n// return {\r\n// type: GET_CONFIRMED_PROPOSTIONS_STARTED\r\n// };\r\n// },\r\n\r\n// success: data => {\r\n// return {\r\n// type: GET_CONFIRMED_PROPOSTIONS_SUCCESS,\r\n// payload: data\r\n// };\r\n// },\r\n\r\n// failed: error => {\r\n// return {\r\n// type: GET_CONFIRMED_PROPOSTIONS_FAILED\r\n// };\r\n// }\r\n// };\r\nexport const EndedPropositionsActions = {\r\n started: () => {\r\n return {\r\n type: GET_ENDED_PROPOSTIONS_STARTED\r\n };\r\n },\r\n\r\n success: data => {\r\n return {\r\n type: GET_ENDED_PROPOSTIONS_SUCCESS,\r\n payload: data\r\n };\r\n },\r\n\r\n failed: error => {\r\n return {\r\n type: GET_ENDED_PROPOSTIONS_FAILED\r\n };\r\n }\r\n};\r\n\r\nexport const ContractsActions = {\r\n started: () => {\r\n return {\r\n type: GET_CONTRACTS_STARTED\r\n };\r\n },\r\n\r\n success: data => {\r\n return {\r\n type: GET_CONTRACTS_SUCCESS,\r\n payload: data\r\n };\r\n },\r\n\r\n failed: error => {\r\n return {\r\n type: GET_CONTRACTS_FAILED\r\n };\r\n }\r\n};\r\n\r\n","import axios from \"axios\";\r\nimport {serverUrl} from \"../../../config\";\r\nexport default class PropositionInfoService {\r\n static getPropositionInfo(propositionId){\r\n return axios.get(serverUrl+'api/broker/home/get-proposition-and-contract-info/'+propositionId);\r\n }\r\n static removeContract(contractId){\r\n return axios.get(`${serverUrl}api/broker/home/remove-offer/${contractId}`)\r\n }\r\n}\r\n","import update from '../../../helpers/update';\r\nimport PropositionInfoService from './PropositionInfoService';\r\nimport history from '../../../utils/history';\r\n\r\n\r\nexport const GET_PROPOSITION_INFO_STARTED = \"propositionInfo/GET_PROPOSITION_INFO_STARTED\";\r\nexport const GET_PROPOSITION_INFO_SUCCESS= \"propositionInfo/GET_PROPOSITION_INFO_SUCCESS\";\r\nexport const GET_PROPOSITION_INFO_FAILED= \"propositionInfo/GET_PROPOSITION_INFO_FAILED\";\r\n\r\nexport const REMOVE_CONTRACT_STARTED = \"contractInfo/REMOVE_CONTRACT_STARTED\";\r\nexport const REMOVE_CONTRACT_SUCCESS= \"contractInfo/REMOVE_CONTRACT_SUCCESS\";\r\nexport const REMOVE_CONTRACT_FAILED= \"contractInfo/REMOVE_CONTRACT_FAILED\";\r\n\r\n\r\nconst intialState = {\r\n list: {\r\n data: {},\r\n error: false,\r\n loading: false\r\n },\r\n removeContract: {\r\n loading: false,\r\n error: {}\r\n }\r\n}\r\n\r\nexport const propositionInfoReducer = (state = intialState, action)=>{\r\n let newState = state;\r\n\r\n switch(action.type){\r\n case GET_PROPOSITION_INFO_STARTED:{\r\n newState = update.set(state, 'list.loading', true);\r\n\r\n break;\r\n }\r\n case GET_PROPOSITION_INFO_SUCCESS: {\r\n newState = update.set(state, 'list.loading', false);\r\n newState = update.set(newState, 'list.data', action.payload.data);\r\n break;\r\n\r\n }\r\n case GET_PROPOSITION_INFO_FAILED: {\r\n newState = update.set(state, 'list.loading', false);\r\n newState = update.set(newState, 'list.error', true);\r\n break;\r\n }\r\n default: {\r\n return newState;\r\n }\r\n case REMOVE_CONTRACT_STARTED:{\r\n newState = update.set(state, 'removeContract.loading', true);\r\n newState = update.set(newState, 'removeContract.error', {});\r\n\r\n break;\r\n }\r\n case REMOVE_CONTRACT_SUCCESS: {\r\n newState = update.set(state, 'removeContract.loading', false);\r\n break;\r\n\r\n }\r\n case REMOVE_CONTRACT_FAILED: {\r\n newState = update.set(state, 'removeContract.loading', false);\r\n newState = update.set(newState, 'removeContract.error', action.error);\r\n break;\r\n }\r\n }\r\n return newState;\r\n}\r\n\r\nexport const getPropositionInfoData = (propositionId)=>{\r\n return (dispatch)=>{\r\n dispatch(getPropositionInfoActions.started());\r\n PropositionInfoService.getPropositionInfo(propositionId)\r\n .then((response)=>{\r\n dispatch(getPropositionInfoActions.success(response));\r\n })\r\n .catch(()=>{\r\n dispatch(getPropositionInfoActions.failed());\r\n });\r\n }\r\n}\r\n\r\nexport const removeOffer = (offerId)=>{\r\n return (dispatch)=>{\r\n dispatch(removeContractActions.started());\r\n PropositionInfoService.removeContract(offerId)\r\n .then(()=>{\r\n dispatch(removeContractActions.success());\r\n history.push(\"/broker/profile\");\r\n document.location.reload()\r\n\r\n })\r\n .catch((error)=>{\r\n dispatch(removeContractActions.failed(error));\r\n alert(error.data);\r\n })\r\n }\r\n}\r\nexport const getPropositionInfoActions = {\r\n started: () => {\r\n return {\r\n type: GET_PROPOSITION_INFO_STARTED\r\n }\r\n },\r\n\r\n success: (data) => {\r\n return {\r\n type: GET_PROPOSITION_INFO_SUCCESS,\r\n payload: data\r\n }\r\n },\r\n\r\n failed: (error) => {\r\n return {\r\n type: GET_PROPOSITION_INFO_FAILED\r\n }\r\n }\r\n}\r\nexport const removeContractActions = {\r\n started: () => {\r\n return {\r\n type: REMOVE_CONTRACT_STARTED\r\n }\r\n },\r\n\r\n success: () => {\r\n return {\r\n type: REMOVE_CONTRACT_SUCCESS,\r\n }\r\n },\r\n\r\n failed: (response) => {\r\n return {\r\n type: REMOVE_CONTRACT_FAILED,\r\n error: response.data\r\n }\r\n }\r\n}","import axios from \"axios\";\r\nimport {serverUrl} from \"../../../config\"\r\nexport default class ContractInfoService{\r\n static getContractInfo(contractId){\r\n return axios.get(`${serverUrl}api/broker/home/get-proposition-and-contract-info/${contractId}`)\r\n }\r\n\r\n static getConfirmedContractInfo(contractId){\r\n return axios.get(`${serverUrl}api/broker/home/get-confirmed-contract-info/${contractId}`)\r\n }\r\n \r\n}\r\n","import update from '../../../helpers/update';\r\nimport ContractInfoService from './ContractInfoService';\r\n// import redirectStatusCode from '../../services/redirectStatusCode';\r\nexport const GET_CONTRACT_INFO_STARTED = \"contractInfo/GET_CONTRACT_INFO_STARTED\";\r\nexport const GET_CONTRACT_INFO_SUCCESS= \"contractInfo/GET_CONTRACT_INFO_SUCCESS\";\r\nexport const GET_CONTRACT_INFO_FAILED= \"contractInfo/GET_CONTRACT_INFO_FAILED\";\r\n\r\nexport const GET_CONFIRMED_CONTRACT_INFO_STARTED = \"contractInfo/GET_CONFIRMED_CONTRACT_INFO_STARTED\";\r\nexport const GET_CONFIRMED_CONTRACT_INFO_SUCCESS= \"contractInfo/GET_CONFIRMED_CONTRACT_INFO_SUCCESS\";\r\nexport const GET_CONFIRMED_CONTRACT_INFO_FAILED= \"contractInfo/GET_CONFIRMED_CONTRACT_INFO_FAILED\";\r\n\r\n\r\n\r\n\r\n\r\nconst intialState = {\r\n list: {\r\n data: {},\r\n error: false,\r\n loading: false\r\n\r\n },\r\n confirmedContract: {\r\n data: {},\r\n error: false,\r\n loading: false\r\n },\r\n \r\n\r\n}\r\n\r\nexport const contractInfoReducer = (state = intialState, action)=>{\r\n let newState = state;\r\n\r\n switch(action.type){\r\n case GET_CONTRACT_INFO_STARTED:{\r\n newState = update.set(state, 'list.loading', true);\r\n newState = update.set(newState, 'list.error', false);\r\n\r\n break;\r\n }\r\n case GET_CONTRACT_INFO_SUCCESS: {\r\n newState = update.set(newState, 'list.error', false);\r\n newState = update.set(state, 'list.loading', false);\r\n newState = update.set(newState, 'list.data', action.payload.data);\r\n break;\r\n\r\n }\r\n case GET_CONTRACT_INFO_FAILED: {\r\n newState = update.set(state, 'list.loading', false);\r\n newState = update.set(newState, 'list.error', true);\r\n break;\r\n }\r\n case GET_CONFIRMED_CONTRACT_INFO_STARTED:{\r\n newState = update.set(state, 'confirmedContract.loading', true);\r\n newState = update.set(newState, 'confirmedContract.error', false);\r\n\r\n break;\r\n }\r\n case GET_CONFIRMED_CONTRACT_INFO_SUCCESS: {\r\n newState = update.set(state, 'confirmedContract.loading', false);\r\n newState = update.set(newState, 'confirmedContract.error', false);\r\n newState = update.set(newState, 'confirmedContract.data', action.payload.data);\r\n break;\r\n\r\n }\r\n case GET_CONFIRMED_CONTRACT_INFO_FAILED: {\r\n newState = update.set(state, 'confirmedContract.loading', false);\r\n newState = update.set(newState, 'confirmedContract.error', true);\r\n break;\r\n }\r\n \r\n default: {\r\n return newState;\r\n }\r\n }\r\n return newState;\r\n}\r\n\r\nexport const getContractInfoData = (contractId)=>{\r\n return (dispatch)=>{\r\n dispatch(getContractInfoActions.started());\r\n ContractInfoService.getContractInfo(contractId)\r\n .then((response)=>{\r\n dispatch(getContractInfoActions.success(response));\r\n })\r\n .catch(()=>{\r\n dispatch(getContractInfoActions.failed());\r\n });\r\n }\r\n}\r\n\r\nexport const getConfirmedContractInfoData = (contractId)=>{\r\n return (dispatch)=>{\r\n dispatch(getConfirmedContractInfoActions.started());\r\n ContractInfoService.getConfirmedContractInfo(contractId)\r\n .then((response)=>{\r\n dispatch(getConfirmedContractInfoActions.success(response));\r\n })\r\n .catch(()=>{\r\n dispatch(getConfirmedContractInfoActions.failed());\r\n });\r\n }\r\n}\r\n\r\n\r\nexport const getContractInfoActions = {\r\n started: () => {\r\n return {\r\n type: GET_CONTRACT_INFO_STARTED\r\n }\r\n },\r\n\r\n success: (data) => {\r\n return {\r\n type: GET_CONTRACT_INFO_SUCCESS,\r\n payload: data\r\n }\r\n },\r\n\r\n failed: (error) => {\r\n return {\r\n type: GET_CONTRACT_INFO_FAILED\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\nexport const getConfirmedContractInfoActions = {\r\n started: () => {\r\n return {\r\n type: GET_CONFIRMED_CONTRACT_INFO_STARTED\r\n }\r\n },\r\n\r\n success: (data) => {\r\n return {\r\n type: GET_CONFIRMED_CONTRACT_INFO_SUCCESS,\r\n payload: data\r\n }\r\n },\r\n\r\n failed: (error) => {\r\n return {\r\n type: GET_CONFIRMED_CONTRACT_INFO_FAILED\r\n }\r\n }\r\n}\r\n","import axios from 'axios';\r\nimport {serverUrl} from \"../../../config\";\r\nexport default class ConfirmationService{\r\n static getAdvert(advertId){\r\n const url = `${serverUrl}api/broker/home/get-advert/` + advertId;\r\n return axios.get(url)\r\n\r\n }\r\n static getOfferTypes(){\r\n const url = `${serverUrl}api/broker/Home/get-offer-types`;\r\n return axios.get(url);\r\n }\r\n static sendOffer(confirmation){\r\n const url = `${serverUrl}api/broker/Home/send-offer`;\r\n return axios.post(url, confirmation);\r\n }\r\n\r\n}\r\n","import update from \"../../../helpers/update\";\r\nimport redirectStatusCode from \"../../../services/redirectStatusCode\";\r\nimport history from \"../../../utils/history\";\r\nimport ConfirmationService from \"./ConfirmationService\";\r\n\r\nexport const GET_OFFER_STARTED = \"offer/GET_OFFER_STARTED\";\r\nexport const GET_OFFER_SUCCESS = \"offer/GET_OFFER_SUCCESS\";\r\nexport const GET_OFFER_FAILED = \"offer/GET_OFFER_FAILED\";\r\n\r\nexport const GET_OFFER_TYPES_STARTED = \"offer/GET_OFFER_TYPES_STARTED\";\r\nexport const GET_OFFER_TYPES_SUCCESS = \"offer/GET_OFFER_TYPES_SUCCESS\";\r\nexport const GET_OFFER_TYPES_FAILED = \"offer/GET_OFFER_TYPES_FAILED\";\r\n\r\nexport const SEND_OFFER_STARTED = \"offer/SEND_OFFER_STARTED\";\r\nexport const SEND_OFFER_SUCCESS = \"offer/SEND_OFFER_SUCCESS\";\r\nexport const SEND_OFFER_FAILED = \"offer/SEND_OFFER_FAILED\";\r\nexport const SEND_OFFER_SHOW = \"offer/SEND_OFFER_SHOW\";\r\n\r\nconst initialState = {\r\n list: {\r\n data: {\r\n id: 0,\r\n images: [],\r\n submissionDate: new Date(),\r\n client: {\r\n clientName: \"\",\r\n clientImage: \"\",\r\n },\r\n },\r\n error: {},\r\n loading: false,\r\n failed: false,\r\n success: false,\r\n },\r\n offer: {\r\n loading: false,\r\n failed: false,\r\n success: false,\r\n error: {},\r\n sendFormSuccess: false,\r\n },\r\n offerTypes:{\r\n loading: false,\r\n failed: false,\r\n success: false,\r\n error: {},\r\n list:[]\r\n },\r\n};\r\n\r\nexport const offerReducer = (state = initialState, action) => {\r\n let newState = state;\r\n switch (action.type) {\r\n case GET_OFFER_STARTED: {\r\n newState = update.set(state, \"list.loading\", true);\r\n newState = update.set(newState, \"list.failed\", false);\r\n newState = update.set(newState, \"list.success\", false);\r\n newState = update.set(newState, \"list.error\", {});\r\n break;\r\n }\r\n case GET_OFFER_SUCCESS: {\r\n // ////console.log(\"Payload Data22: \", action.payload);\r\n newState = update.set(state, \"list.loading\", false);\r\n newState = update.set(newState, \"list.failed\", false);\r\n newState = update.set(newState, \"list.success\", true);\r\n newState = update.set(newState, \"list.data\", action.payload);\r\n newState = update.set(newState, \"list.error\", {});\r\n\r\n break;\r\n }\r\n case GET_OFFER_FAILED: {\r\n newState = update.set(state, \"list.loading\", false);\r\n newState = update.set(newState, \"list.failed\", true);\r\n newState = update.set(newState, \"list.success\", false);\r\n newState = update.set(newState, \"list.error\", action.error);\r\n\r\n break;\r\n }\r\n case SEND_OFFER_STARTED: {\r\n newState = update.set(state, \"offer.loading\", true);\r\n newState = update.set(newState, \"offer.failed\", false);\r\n newState = update.set(newState, \"offer.success\", false);\r\n newState = update.set(newState, \"offer.error\", {});\r\n break;\r\n }\r\n case SEND_OFFER_SUCCESS: {\r\n newState = update.set(state, \"offer.loading\", false);\r\n newState = update.set(newState, \"offer.failed\", false);\r\n newState = update.set(newState, \"offer.success\", true);\r\n newState = update.set(newState, \"offer.sendFormSuccess\", true);\r\n newState = update.set(newState, \"offer.error\", {});\r\n break;\r\n }\r\n case SEND_OFFER_SHOW: {\r\n newState = update.set(state, \"offer.sendFormSuccess\", false);\r\n break;\r\n }\r\n case SEND_OFFER_FAILED: {\r\n newState = update.set(state, \"offer.loading\", false);\r\n newState = update.set(newState, \"offer.failed\", true);\r\n newState = update.set(newState, \"offer.success\", false);\r\n newState = update.set(newState, \"offer.error\", action.error);\r\n break;\r\n }\r\n case GET_OFFER_TYPES_STARTED: {\r\n newState = update.set(state, \"offerTypes.loading\", true);\r\n newState = update.set(newState, \"offerTypes.failed\", false);\r\n newState = update.set(newState, \"offerTypes.success\", false);\r\n newState = update.set(newState, \"offerTypes.error\", {});\r\n break;\r\n }\r\n case GET_OFFER_TYPES_SUCCESS: {\r\n newState = update.set(state, \"offerTypes.loading\", false);\r\n newState = update.set(newState, \"offerTypes.failed\", false);\r\n newState = update.set(newState, \"offerTypes.success\", true);\r\n newState = update.set(newState, \"offerTypes.list\", action.payload);\r\n newState = update.set(newState, \"offerTypes.error\", {});\r\n break;\r\n }\r\n case GET_OFFER_TYPES_FAILED: {\r\n newState = update.set(state, \"offerTypes.loading\", false);\r\n newState = update.set(newState, \"offerTypes.failed\", true);\r\n newState = update.set(newState, \"offerTypes.success\", false);\r\n newState = update.set(newState, \"offerTypes.error\", action.error);\r\n break;\r\n }\r\n default: {\r\n return newState;\r\n }\r\n }\r\n return newState;\r\n};\r\n\r\nexport const getAdvertForOffer = (advertId) => {\r\n return (dispatch) => {\r\n dispatch(OfferActions.started());\r\n ConfirmationService.getAdvert(advertId)\r\n .then(\r\n (response) => {\r\n dispatch(OfferActions.success(response));\r\n },\r\n (error) => {\r\n throw error;\r\n }\r\n )\r\n .catch((error) => {\r\n if (error.response.data === \"NO_PERMISSION\") {\r\n ////console.log(\"Redirect\");\r\n history.push(\"/broker/profile\");\r\n alert(\"Ваш дозвіл на брокерську діяльність не підтверджений\");\r\n document.location.reload()\r\n\r\n }\r\n // //console.log(error.response.data);\r\n dispatch(OfferActions.failed(error.response));\r\n redirectStatusCode(error.response.status);\r\n });\r\n };\r\n};\r\nexport const getOfferTypes = () => {\r\n return (dispatch) => {\r\n dispatch(GetOfferTypesActions.started());\r\n ConfirmationService.getOfferTypes()\r\n .then(\r\n (response) => {\r\n dispatch(GetOfferTypesActions.success(response));\r\n },\r\n (error) => {\r\n throw error;\r\n }\r\n )\r\n .catch((error) => {\r\n dispatch(GetOfferTypesActions.failed(error.response));\r\n redirectStatusCode(error.response.status);\r\n });\r\n };\r\n};\r\nexport const sendOffer = (model) => {\r\n return (dispatch) => {\r\n dispatch(SendOfferActions.started());\r\n ConfirmationService.sendOffer(model)\r\n .then(\r\n () => {\r\n dispatch(SendOfferActions.success());\r\n setTimeout(() => {\r\n dispatch(SendOfferActions.show_check_abort());\r\n history.push(\"/broker/propositions/sended\");\r\n document.location.reload()\r\n\r\n }, 2000);\r\n },\r\n (error) => {\r\n throw error;\r\n }\r\n )\r\n .catch((error) => {\r\n //////console.log(\"error.response. \", error.response.data)\r\n dispatch(SendOfferActions.failed(error.response.data));\r\n redirectStatusCode(error.response.status);\r\n });\r\n };\r\n};\r\n\r\nexport const SendOfferActions = {\r\n started: () => {\r\n return {\r\n type: SEND_OFFER_STARTED,\r\n };\r\n },\r\n success: () => {\r\n return {\r\n type: SEND_OFFER_SUCCESS,\r\n };\r\n },\r\n show_check_abort: () => {\r\n return {\r\n type: SEND_OFFER_SHOW,\r\n };\r\n },\r\n failed: (response) => {\r\n //////console.log(\"response.data+++++++\", response)\r\n return {\r\n type: SEND_OFFER_FAILED,\r\n\r\n error: response,\r\n };\r\n },\r\n};\r\n\r\nexport const OfferActions = {\r\n started: () => {\r\n return {\r\n type: GET_OFFER_STARTED,\r\n };\r\n },\r\n success: (resp) => {\r\n //////console.log(\"Payload Data: \", resp.data);\r\n return {\r\n type: GET_OFFER_SUCCESS,\r\n payload: resp.data,\r\n };\r\n },\r\n\r\n failed: (response) => {\r\n // ////console.log(\"OfferActions\", response)\r\n return {\r\n type: GET_OFFER_FAILED,\r\n error: response.data,\r\n };\r\n },\r\n};\r\n\r\nexport const GetOfferTypesActions = {\r\n started: () => {\r\n return {\r\n type: GET_OFFER_TYPES_STARTED,\r\n };\r\n },\r\n success: (resp) => {\r\n return {\r\n type: GET_OFFER_TYPES_SUCCESS,\r\n payload: resp.data,\r\n };\r\n },\r\n failed: (response) => {\r\n return {\r\n type: GET_OFFER_TYPES_FAILED,\r\n error: response.data,\r\n };\r\n },\r\n};\r\n","import axios from 'axios';\r\nimport {serverUrl} from '../../../config';\r\n\r\nexport default class ArchiveOfOffersService{\r\n static getArchiveOfOffers(filter){\r\n const url=`${serverUrl}api/company/statistic/offers`;\r\n //console.log(\"!!!!!!!!!!!!!!!!!!!!!!!!\");\r\n return axios.post(url, filter);\r\n };\r\n static getOfferDetails(offerId){\r\n const url=`${serverUrl}api/company/statistic/offer-details/${offerId}`;\r\n return axios.get(url);\r\n }\r\n}\r\n","import ArchiveOfOffersService from \"./ArchiveOfOffersService\";\r\nimport update from '../../../helpers/update';\r\n\r\n\r\nexport const ARCHIVE_OFFERS_SUCCESS = \"ARCHIVE_OFFERS_SUCCESS\";\r\nexport const ARCHIVE_OFFERS_STARTED = \"ARCHIVE_OFFERS_STARTED\";\r\nexport const ARCHIVE_OFFERS_FAILED = \"ARCHIVE_OFFERS_FAILED\";\r\nexport const OFFER_DETAILS_SUCCESS = \"OFFER_DETAILS_SUCCESS\";\r\nexport const OFFER_DETAILS_STARTED = \"OFFER_DETAILS_STARTED\";\r\nexport const OFFER_DETAILS_FAILED = \"OFFER_DETAILS_FAILED\";\r\n\r\nconst initialState = {\r\n list: {\r\n data: [],\r\n error: false,\r\n loading: false\r\n },\r\n\r\n details: {\r\n data: {},\r\n error: false,\r\n loading: false\r\n },\r\n\r\n year: '',\r\n month: '',\r\n}\r\n\r\nexport const getArchiveOfOffersData = (filter) => {\r\n return (dispatch) => {\r\n dispatch(getListActions.started());\r\n ArchiveOfOffersService.getArchiveOfOffers(filter)\r\n .then((response) => {\r\n dispatch(getListActions.success(response.data));\r\n })\r\n .catch(() => {\r\n dispatch(getListActions.failed());\r\n });\r\n }\r\n}\r\n\r\nexport const getOfferDetailsData = (filter) => {\r\n ////console.log(\"FILTER Filter\");\r\n return (dispatch) => {\r\n dispatch(getDetailsActions.started());\r\n ArchiveOfOffersService.getOfferDetails(filter)\r\n .then((response) => {\r\n dispatch(getDetailsActions.success(response.data));\r\n })\r\n .catch(() => {\r\n dispatch(getDetailsActions.failed());\r\n });\r\n }\r\n}\r\n\r\nexport const archiveOfOffersReducer=(state=initialState, action) =>{\r\n\r\n let newState = state;\r\n switch (action.type) {\r\n case ARCHIVE_OFFERS_STARTED: {\r\n newState = update.set(state, 'list.loading', true);\r\n break;\r\n }\r\n case ARCHIVE_OFFERS_SUCCESS: {\r\n newState = update.set(state, 'list.loading', false);\r\n newState = update.set(newState, 'list.data', action.payload.offers);\r\n break;\r\n }\r\n case ARCHIVE_OFFERS_FAILED: {\r\n newState = update.set(state, 'list.loading', false);\r\n newState = update.set(newState, 'list.error', true);\r\n break;\r\n }\r\n case OFFER_DETAILS_STARTED: {\r\n newState = update.set(state, 'details.loading', true);\r\n break;\r\n }\r\n case OFFER_DETAILS_SUCCESS: {\r\n newState = update.set(state, 'details.loading', false);\r\n newState = update.set(newState, 'details.data', action.payload);\r\n break;\r\n }\r\n case OFFER_DETAILS_FAILED: {\r\n newState = update.set(state, 'details.loading', false);\r\n newState = update.set(newState, 'details.error', true);\r\n break;\r\n }\r\n default: {\r\n return newState;\r\n }\r\n }\r\n return newState;\r\n}\r\n\r\nexport const getListActions = {\r\n started: () => {\r\n\r\n return {\r\n type: ARCHIVE_OFFERS_STARTED\r\n }\r\n },\r\n success: (data) => {\r\n\r\n return {\r\n type: ARCHIVE_OFFERS_SUCCESS,\r\n payload: data\r\n }\r\n },\r\n failed: (error) => {\r\n\r\n return {\r\n type: ARCHIVE_OFFERS_FAILED\r\n }\r\n }\r\n}\r\n\r\nexport const getDetailsActions = {\r\n started: () => {\r\n\r\n return {\r\n type: OFFER_DETAILS_STARTED\r\n }\r\n },\r\n success: (data) => {\r\n////console.log(\"getDetailsActions :\", data);\r\n return {\r\n type: OFFER_DETAILS_SUCCESS,\r\n payload: data\r\n }\r\n },\r\n failed: (error) => {\r\n\r\n return {\r\n type: OFFER_DETAILS_FAILED\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\n","import axios from 'axios';\r\nimport {serverUrl} from '../../../config';\r\n\r\nexport default class ArchiveOfContractsService{\r\n static getArchiveOfContracts(filter){\r\n const url=`${serverUrl}api/company/statistic/contracts`;\r\n return axios.post(url, filter);\r\n };\r\n static getContractDetails(contractId){\r\n const url=`${serverUrl}api/company/statistic/contract-details/${contractId}`;\r\n return axios.get(url);\r\n }\r\n}\r\n","import ArchiveOfContractsService from \"./ArchiveOfContractsService\";\r\nimport update from '../../../helpers/update';\r\n\r\n\r\nexport const ARCHIVE_CONTRACTS_SUCCESS = \"ARCHIVE_CONTRACTS_SUCCESS\";\r\nexport const ARCHIVE_CONTRACTS_STARTED = \"ARCHIVE_CONTRACTS_STARTED\";\r\nexport const ARCHIVE_CONTRACTS_FAILED = \"ARCHIVE_CONTRACTS_FAILED\";\r\n\r\nexport const CONTRACT_DETAILS_SUCCESS = \"CONTRACT_DETAILS_SUCCESS\";\r\nexport const CONTRACT_DETAILS_STARTED = \"CONTRACT_DETAILS_STARTED\";\r\nexport const CONTRACT_DETAILS_FAILED = \"CONTRACT_DETAILS_FAILED\";\r\n\r\n\r\nconst initialState = {\r\n list: {\r\n data: [],\r\n error: false,\r\n loading: false\r\n },\r\n\r\n details: {\r\n data: {},\r\n error: false,\r\n loading: false\r\n },\r\n year: '',\r\n month: ''\r\n}\r\n\r\nexport const getArchiveOfContractsData = (filter) => {\r\n return (dispatch) => {\r\n dispatch(getListActions.started());\r\n ArchiveOfContractsService.getArchiveOfContracts(filter)\r\n .then((response) => {\r\n dispatch(getListActions.success(response.data));\r\n })\r\n .catch(() => {\r\n dispatch(getListActions.failed());\r\n });\r\n }\r\n}\r\n\r\nexport const getContractDetailsData = (filter) => {\r\n return (dispatch) => {\r\n dispatch(getDetailsActions.started());\r\n ArchiveOfContractsService.getContractDetails(filter)\r\n .then((response) => {\r\n dispatch(getDetailsActions.success(response.data));\r\n })\r\n .catch(() => {\r\n dispatch(getDetailsActions.failed());\r\n });\r\n }\r\n}\r\n\r\nexport const archiveOfContractsReducer=(state=initialState, action) =>{\r\n\r\n let newState = state;\r\n switch (action.type) {\r\n case ARCHIVE_CONTRACTS_STARTED: {\r\n newState = update.set(state, 'list.loading', true);\r\n break;\r\n }\r\n case ARCHIVE_CONTRACTS_SUCCESS: {\r\n newState = update.set(state, 'list.loading', false);\r\n newState = update.set(newState, 'list.data', action.payload.contracts);\r\n break;\r\n }\r\n case ARCHIVE_CONTRACTS_FAILED: {\r\n newState = update.set(state, 'list.loading', false);\r\n newState = update.set(newState, 'list.error', true);\r\n break;\r\n }\r\n case CONTRACT_DETAILS_STARTED: {\r\n newState = update.set(state, 'details.loading', true);\r\n break;\r\n }\r\n case CONTRACT_DETAILS_SUCCESS: {\r\n newState = update.set(state, 'details.loading', false);\r\n newState = update.set(newState, 'details.data', action.payload);\r\n break;\r\n }\r\n case CONTRACT_DETAILS_FAILED: {\r\n newState = update.set(state, 'details.loading', false);\r\n newState = update.set(newState, 'details.error', true);\r\n break;\r\n }\r\n default: {\r\n return newState;\r\n }\r\n }\r\n return newState;\r\n}\r\n\r\nexport const getListActions = {\r\n started: () => {\r\n\r\n return {\r\n type: ARCHIVE_CONTRACTS_STARTED\r\n }\r\n },\r\n success: (data) => {\r\n\r\n return {\r\n type: ARCHIVE_CONTRACTS_SUCCESS,\r\n payload: data\r\n }\r\n },\r\n failed: (error) => {\r\n\r\n return {\r\n type: ARCHIVE_CONTRACTS_FAILED\r\n }\r\n }\r\n}\r\n\r\nexport const getDetailsActions = {\r\n started: () => {\r\n\r\n return {\r\n type: CONTRACT_DETAILS_STARTED\r\n }\r\n },\r\n success: (data) => {\r\n////console.log(\"getDetailsActions :\", data);\r\n return {\r\n type: CONTRACT_DETAILS_SUCCESS,\r\n payload: data\r\n }\r\n },\r\n failed: (error) => {\r\n\r\n return {\r\n type: CONTRACT_DETAILS_FAILED\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\n","import { createBrowserHistory } from \"history\";\r\nexport default createBrowserHistory();\r\n","export const SET_CURRENT_USER = \"SET_CURRENT_USER\";\r\nexport const SET_NEW_FULLNAME = 'SET_NEW_FULLNAME';\r\n\r\nexport const SET_CLIENT_PROFILE = 'SET_CLIENT_PROFILE';\r\nexport const CREATE_IMAGE_CLIENT_STARTED = 'client/CREATE_IMAGE_CLIENT_STARTED'; //Початок зміни фото для клієнта\r\nexport const CREATE_IMAGE_CLIENT_SUCCESS = 'client/CREATE_IMAGE_CLIENT_SUCCESS'; //Зміна фото успішна\r\nexport const CREATE_IMAGE_CLIENT_FAILED = 'client/CREATE_IMAGE_CLIENT_FAILED'; //Зміна фото прошла погано\r\nexport const SET_CLIENT_IMAGE = 'SET_CLIENT_IMAGE'; //Зміна фото в клієнта\r\nexport const SET_CLIENT_ADVERTS = 'SET_CLIENT_ADVERTS';\r\nexport const SET_CLIENT_CONTRACTS = 'SET_CLIENT_CONTRACTS';\r\n\r\nexport const SET_CLIENT_ADVERT = 'SET_CLIENT_ADVERT';\r\nexport const SET_CLIENT_ADVERT_IMAGES = 'SET_CLIENT_ADVERT_IMAGES';\r\nexport const SET_CLIENT_ADVERT_OFFERS = 'SET_CLIENT_ADVERT_OFFERS';\r\nexport const SET_CLIENT_ADVERTS_QUANTITY = 'SET_CLIENT_ADVERTS_QUANTITY';\r\nexport const SET_APPROVED_OFFER_INFO = 'SET_APPROVED_OFFER_INFO';\r\nexport const SET_OFFERS_FOR_ADVERT_QUANTITY = 'SET_OFFERS_FOR_ADVERT_QUANTITY';\r\n// export const UNCHECK_IMAGE_POOR_QUALITY = 'UNCHECK_IMAGE_POOR_QUALITY';\r\nexport const UPDATE_CLIENT_IMAGE = 'UPDATE_CLIENT_IMAGE';\r\nexport const ADD_ADVERT = 'ADD_ADVERT';\r\nexport const SET_ADVERTS_INFO = 'SET_ADVERTS_INFO';\r\nexport const SET_CLIENT_REJECT_CONTRACTS = 'SET_CLIENT_REJECT_CONTRACTS';\r\n\r\nexport const UPDATE_BROKER_IMAGE = 'UPDATE_BROKER_IMAGE';\r\nexport const SET_BROKER_PROFILE = 'SET_BROKER_PROFILE';\r\nexport const SET_BROKER_CONTACT_INFO = 'SET_BROKER_CONTACT_INFO';\r\n\r\nexport const SET_BROKERS_LIST = 'SET_BROKERS_LIST';\r\nexport const SET_CLIENTS_LIST = 'SET_CLIENTS_LIST';\r\nexport const SET_COMPLETED_ADVERTS = 'SET_COMPLETED_ADVERTS';\r\nexport const UPDATE_ADMIN_IMAGE = 'UPDATE_ADMIN_IMAGE';\r\nexport const SET_ADMIN_PROFILE = 'SET_ADMIN_PROFILE';\r\n","//export const serverUrl = \"https://localhost:44386/\";\r\nexport const serverUrl = \"/\";\r\n","import history from '../utils/history';\r\nexport default function redirectStatusCode(status) {\r\n if (status === 401) {\r\n history.push('login');\r\n document.location.reload()\r\n\r\n }\r\n else if (status === 404) {\r\n history.push('404');\r\n document.location.reload()\r\n\r\n }\r\n else if (status === 500) {\r\n history.push('500');\r\n document.location.reload()\r\n\r\n }\r\n}\r\n","import update from \"../../../helpers/update\";\r\nimport history from \"../../../utils/history\";\r\nimport ComplaintServices from \"./ComplaintServices\";\r\n\r\nexport const SEND_COMPLAINT_STARTED = \"complaintClient/SEND_COMPLAINT_STARTED\";\r\nexport const SEND_COMPLAINT_SUCCESS = \"complaintClient/SEND_COMPLAINT_SUCCESS\";\r\nexport const SEND_COMPLAINT_FAILED = \"complaintClient/SEND_COMPLAINT_FAILED\";\r\n\r\n\r\nconst initialState = {\r\n loading: false,\r\n failed: false,\r\n success: false,\r\n}\r\n\r\nexport const complaintClientReducer = (state = initialState, action) => {\r\n let newState = state;\r\n switch (action.type) {\r\n case SEND_COMPLAINT_STARTED: {\r\n newState = update.set(state, \"loading\", true);\r\n newState = update.set(newState, \"failed\", false);\r\n newState = update.set(newState, \"success\", false);\r\n break;\r\n }\r\n case SEND_COMPLAINT_SUCCESS: {\r\n newState = update.set(state, \"loading\", false);\r\n newState = update.set(newState, \"failed\", false);\r\n newState = update.set(newState, \"success\", true);\r\n break;\r\n }\r\n case SEND_COMPLAINT_FAILED: {\r\n newState = update.set(state, \"loading\", false);\r\n newState = update.set(newState, \"failed\", true);\r\n newState = update.set(newState, \"success\", false);\r\n break;\r\n }\r\n default: {\r\n return newState;\r\n }\r\n }\r\n return newState;\r\n\r\n};\r\n\r\n\r\nexport const sendClientComplaint=model=>{\r\n return dispatch =>{\r\n dispatch(ComplaintActions.started());\r\n ComplaintServices.sendClientComplaint(model)\r\n .then(()=>{\r\n dispatch(ComplaintActions.success());\r\n history.push(\"/client/profile\");\r\n document.location.reload()\r\n\r\n })\r\n .catch(()=>dispatch(ComplaintActions.failed()))\r\n }\r\n}\r\n// export const sendBrokerComplaint=model=>{\r\n// return dispatch =>{\r\n// dispatch(ComplaintActions.started());\r\n// ComplaintServices.sendBrokerComplaint(model)\r\n// .then(()=>{\r\n// dispatch(ComplaintActions.success());\r\n// history.push(\"/broker/profile\");\r\n// })\r\n// .catch(()=>dispatch(ComplaintActions.failed()))\r\n// }\r\n// }\r\n\r\nexport const ComplaintActions = {\r\n started: () => {\r\n return {\r\n type: SEND_COMPLAINT_STARTED\r\n };\r\n },\r\n success: () => {\r\n return {\r\n type: SEND_COMPLAINT_SUCCESS,\r\n };\r\n },\r\n\r\n failed: () => {\r\n return {\r\n type: SEND_COMPLAINT_FAILED,\r\n };\r\n }\r\n}","import update from \"../../../helpers/update\";\r\nimport history from \"../../../utils/history\";\r\nimport ComplaintServices from \"../../client/complaint/ComplaintServices\";\r\n\r\nexport const SEND_COMPLAINT_STARTED = \"complaintBroker/SEND_COMPLAINT_STARTED\";\r\nexport const SEND_COMPLAINT_SUCCESS = \"complaintBroker/SEND_COMPLAINT_SUCCESS\";\r\nexport const SEND_COMPLAINT_FAILED = \"complaintBroker/SEND_COMPLAINT_FAILED\";\r\n\r\n\r\nconst initialState = {\r\n loading: false,\r\n failed: false,\r\n success: false,\r\n}\r\n\r\nexport const complaintBrokerReducer = (state = initialState, action) => {\r\n let newState = state;\r\n switch (action.type) {\r\n case SEND_COMPLAINT_STARTED: {\r\n newState = update.set(state, \"loading\", true);\r\n newState = update.set(newState, \"failed\", false);\r\n newState = update.set(newState, \"success\", false);\r\n break;\r\n }\r\n case SEND_COMPLAINT_SUCCESS: {\r\n newState = update.set(state, \"loading\", false);\r\n newState = update.set(newState, \"failed\", false);\r\n newState = update.set(newState, \"success\", true);\r\n break;\r\n }\r\n case SEND_COMPLAINT_FAILED: {\r\n newState = update.set(state, \"loading\", false);\r\n newState = update.set(newState, \"failed\", true);\r\n newState = update.set(newState, \"success\", false);\r\n break;\r\n }\r\n default: {\r\n return newState;\r\n }\r\n }\r\n return newState;\r\n\r\n};\r\n\r\n\r\n// export const sendClientComplaint=model=>{\r\n// return dispatch =>{\r\n// dispatch(ComplaintActions.started());\r\n// ComplaintServices.sendClientComplaint(model)\r\n// .then(()=>{\r\n// dispatch(ComplaintActions.success());\r\n// history.push(\"/client/profile\");\r\n// })\r\n// .catch(()=>dispatch(ComplaintActions.failed()))\r\n// }\r\n// }\r\nexport const sendBrokerComplaint=model=>{\r\n return dispatch =>{\r\n dispatch(ComplaintActions.started());\r\n ComplaintServices.sendBrokerComplaint(model)\r\n .then(()=>{\r\n dispatch(ComplaintActions.success());\r\n history.push(\"/broker/profile\");\r\n document.location.reload()\r\n\r\n })\r\n .catch(()=>dispatch(ComplaintActions.failed()))\r\n }\r\n}\r\n\r\nexport const ComplaintActions = {\r\n started: () => {\r\n return {\r\n type: SEND_COMPLAINT_STARTED\r\n };\r\n },\r\n success: () => {\r\n return {\r\n type: SEND_COMPLAINT_SUCCESS,\r\n };\r\n },\r\n\r\n failed: () => {\r\n return {\r\n type: SEND_COMPLAINT_FAILED,\r\n };\r\n }\r\n}","import axios from 'axios';\r\nimport {serverUrl} from '../../../../config';\r\n\r\nexport default class AddAdverService {\r\n static addImage(data) {\r\n const url = `${serverUrl}api/client/account/addAdvert-image`;\r\n return axios.post(url, data);\r\n };\r\n static deleteImage(id) {\r\n const url = `${serverUrl}api/client/account/deleteAdvert-image/${id}`;\r\n return axios.delete(url, id);\r\n }\r\n\r\n}\r\n","import update from '../../../../helpers/update';\r\nimport AddAdvertService from \"./addAdvertService\";\r\nimport updateFromLibrary from 'immutability-helper';\r\n\r\nexport const ADD_IMAGE_STARTED = \"add_advert/ADD_IMAGE_STARTED\";\r\nexport const ADD_IMAGE_SUCCESS = \"add_advert/ADD_IMAGE_SUCCESS\";\r\nexport const ADD_IMAGE_FAILED = \"add_advert/ADD_IMAGE_FAILED\";\r\n\r\nexport const DELETE_IMAGE_STARTED = \"add_advert/DELETE_IMAGE_STARTED\";\r\nexport const DELETE_IMAGE_SUCCESS = \"add_advert/DELETE_IMAGE_SUCCESS\";\r\nexport const DELETE_IMAGE_FAILED = \"add_advert/DELETE_IMAGE_FAILED\";\r\nexport const NULLIFY_IMAGES = \"NULLIFY_IMAGES\";\r\n\r\nexport const SHOW_LOADER = \"SHOW_LOADER\";\r\nexport const HIDE_LOADER = \"HIDE_LOADER\";\r\n\r\nexport const CREATE_ADVERT_STARTED = \"add_advert/CREATE_ADVERT_STARTED\";\r\nexport const CREATE_ADVERT_SUCCESS= \"add_advert/CREATE_ADVERT_SUCCESS\";\r\nexport const CREATE_ADVERT_FAILED = \"add_advert/CREATE_ADVERT_FAILED\";\r\n\r\nconst initialState = {\r\n advert: {\r\n images: [],\r\n description: {},\r\n data: {},\r\n isLoading: false,\r\n isError: false,\r\n errMsg: ''\r\n },\r\n}\r\n\r\nexport const addAdvertReducer = (state = initialState, action) => {\r\n let newState = state;\r\n switch (action.type) {\r\n case ADD_IMAGE_STARTED: {\r\n newState = update.set(state, 'advert.isLoading', true);\r\n break;\r\n }\r\n case ADD_IMAGE_SUCCESS: {\r\n newState = update.set(state, 'advert.isLoading', false);\r\n newState = updateFromLibrary(newState, {\r\n advert: {\r\n images: {\r\n $push: [action.image]\r\n }\r\n }\r\n });\r\n break;\r\n }\r\n case ADD_IMAGE_FAILED: {\r\n newState = update.set(state, 'advert.isLoading', false);\r\n newState = update.set(newState, 'advert.isError', true);\r\n newState = update.set(newState, 'advert.errMsg', action.errMsg);\r\n break;\r\n }\r\n\r\n case DELETE_IMAGE_STARTED: {\r\n newState = update.set(state, 'advert.isLoading', true);\r\n break;\r\n }\r\n case DELETE_IMAGE_SUCCESS: {\r\n newState = update.set(state, 'advert.isLoading', false);\r\n newState.advert.images = newState.advert.images.filter(item => item.id !== action.id);\r\n break;\r\n }\r\n case DELETE_IMAGE_FAILED: {\r\n newState = update.set(state, 'advert.isLoading', false);\r\n newState = update.set(newState, 'advert.isError', true);\r\n newState = update.set(newState, 'advert.errMsg', action.errMsg);\r\n break;\r\n }\r\n case SHOW_LOADER: {\r\n newState = update.set(state, 'advert.isLoading', true);\r\n break;\r\n }\r\n case HIDE_LOADER: {\r\n newState = update.set(state, 'advert.isLoading', false);\r\n break;\r\n }\r\n case NULLIFY_IMAGES: {\r\n newState = update.set(state, 'advert.images', []);\r\n break;\r\n }\r\n default: {\r\n return newState;\r\n }\r\n }\r\n return newState;\r\n}\r\n\r\nexport const addImage = (data) => {\r\n console.log(\"dt\",data);\r\n return (dispatch) => {\r\n dispatch(getListActionsToAddImage.started());\r\n AddAdvertService.addImage(data)\r\n .then(response => {\r\n dispatch(getListActionsToAddImage.success(response.data));\r\n })\r\n .catch(error => {\r\n dispatch(getListActionsToAddImage.failed(error.response.data));\r\n });\r\n }\r\n}\r\n\r\nexport const deleteImage = (id) => {\r\n return (dispatch) => {\r\n dispatch(getListActionsToDeleteImage.started());\r\n AddAdvertService.deleteImage(id)\r\n .then(() => {\r\n dispatch(getListActionsToDeleteImage.success(id));\r\n })\r\n .catch(error => {\r\n dispatch(getListActionsToDeleteImage.failed(error.response.data));\r\n });\r\n }\r\n}\r\n\r\nexport const showLoader = () => {\r\n return (dispatch) => {\r\n dispatch(getListActionsToLoader.started());\r\n }\r\n}\r\n\r\nexport const hideLoader = () => {\r\n return (dispatch) => {\r\n dispatch(getListActionsToLoader.stoped());\r\n }\r\n}\r\n\r\nexport const nullifyImages = () => {\r\n return (dispatch) => {\r\n dispatch(getListActionsToDeleteImage.nullify());\r\n }\r\n}\r\n\r\nexport const getListActionsToAddImage = {\r\n started: () => {\r\n return {\r\n type: ADD_IMAGE_STARTED\r\n }\r\n },\r\n success: (data) => {\r\n return {\r\n type: ADD_IMAGE_SUCCESS,\r\n image: data\r\n }\r\n },\r\n failed: (error) => {\r\n return {\r\n type: ADD_IMAGE_FAILED,\r\n errMsg: error\r\n }\r\n }\r\n}\r\n\r\n///////////////////////////////////////////\r\nexport const getListActionsToCreateAdvert = {\r\n started: () => {\r\n return {\r\n type: CREATE_ADVERT_STARTED\r\n }\r\n },\r\n success: (data) => {\r\n return {\r\n type: CREATE_ADVERT_SUCCESS,\r\n advert: data\r\n }\r\n },\r\n failed: (error) => {\r\n return {\r\n type: CREATE_ADVERT_FAILED,\r\n errMsg: error\r\n }\r\n }\r\n}\r\n\r\nexport const getListActionsToDeleteImage = {\r\n started: () => {\r\n return {\r\n type: DELETE_IMAGE_STARTED\r\n }\r\n },\r\n success: (data) => {\r\n return {\r\n type: DELETE_IMAGE_SUCCESS,\r\n id: data\r\n }\r\n },\r\n failed: (error) => {\r\n return {\r\n type: DELETE_IMAGE_FAILED,\r\n errMsg: error\r\n }\r\n },\r\n nullify: () => {\r\n return {\r\n type: NULLIFY_IMAGES\r\n }\r\n }\r\n}\r\n\r\nexport const getListActionsToLoader = {\r\n started: () => {\r\n return {\r\n type: SHOW_LOADER\r\n }\r\n },\r\n stoped: () => {\r\n return {\r\n type: HIDE_LOADER\r\n }\r\n }\r\n}\r\n","import axios from 'axios';\r\nimport {serverUrl} from '../../../config';\r\n\r\nexport default class ClientSearchService{\r\n static getSearchClient(filter){\r\n const url=`${serverUrl}api/admin/client/search`;\r\n return axios.post(url, filter);\r\n }\r\n\r\n}\r\n\r\n\r\n","import ClientSearchService from \"./ClientSearchService\";\r\nimport update from '../../../helpers/update';\r\n\r\n\r\nexport const GET_SEARCH_CLIENT_SUCCESS = \"admin/GET_SEARCH_CLIENT_SUCCESS\";\r\nexport const GET_SEARCH_CLIENT_STARTED = \"admin/GET_SEARCH_CLIENT_STARTED\";\r\nexport const GET_SEARCH_CLIENT_FAILED = \"admin/GET_SEARCH_CLIENT_FAILED\";\r\n\r\nconst initialState = {\r\n list: {\r\n data: [],\r\n error: false,\r\n loading: false\r\n },\r\n currentPageClient: 1,\r\n totalClientsCount: 0,\r\n typeOfSort: 'default',\r\n sortByAscending: 'true'\r\n}\r\n\r\nexport const getSearchClientData = (filter) => {\r\n return (dispatch) => {\r\n dispatch(getListActions.started());\r\n\r\n ClientSearchService.getSearchClient(filter)\r\n .then((response) => {\r\n dispatch(getListActions.success(response.data));\r\n })\r\n .catch(() => {\r\n dispatch(getListActions.failed());\r\n });\r\n }\r\n}\r\n\r\nexport const clientSearchReducer=(state=initialState, action) =>{\r\n\r\n let newState = state;\r\n switch (action.type) {\r\n case GET_SEARCH_CLIENT_STARTED: {\r\n newState = update.set(state, 'list.loading', true);\r\n break;\r\n }\r\n case GET_SEARCH_CLIENT_SUCCESS: {\r\n newState = update.set(state, 'list.loading', false);\r\n newState = update.set(newState, 'list.data', action.payload.clients);\r\n newState = update.set(newState, 'currentPageClient', action.payload.currentPageClient);\r\n newState = update.set(newState, 'totalClientsCount', action.payload.totalClientsCount);\r\n newState = update.set(newState, 'typeOfSort', action.payload.typeOfSort);\r\n newState = update.set(newState, 'sortByAscending', action.payload.sortByAscending);\r\n break;\r\n }\r\n case GET_SEARCH_CLIENT_FAILED: {\r\n newState = update.set(state, 'list.loading', false);\r\n newState = update.set(newState, 'list.error', true);\r\n break;\r\n }\r\n default: {\r\n return newState;\r\n }\r\n }\r\n return newState;\r\n}\r\n\r\nexport const getListActions = {\r\n started: () => {\r\n return {\r\n type: GET_SEARCH_CLIENT_STARTED\r\n }\r\n },\r\n success: (data) => {\r\n return {\r\n type: GET_SEARCH_CLIENT_SUCCESS,\r\n payload: data\r\n }\r\n },\r\n failed: (error) => {\r\n return {\r\n type: GET_SEARCH_CLIENT_FAILED\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\n","import axios from 'axios';\r\nimport {serverUrl} from '../../../config';\r\n\r\nexport default class BrokerSearchService{\r\n static getSearchBroker(filter){\r\n const url=`${serverUrl}api/admin/broker/search`;\r\n return axios.post(url, filter);\r\n }\r\n}\r\n","import BrokerSearchService from \"./BrokerSearchService\";\r\nimport update from '../../../helpers/update';\r\n\r\nexport const GET_SEARCH_BROKER_SUCCESS = \"admin/GET_SEARCH_BROKER_SUCCESS\";\r\nexport const GET_SEARCH_BROKER_STARTED = \"admin/GET_SEARCH_BROKER_STARTED\";\r\nexport const GET_SEARCH_BROKER_FAILED = \"admin/GET_SEARCH_BROKER_FAILED\";\r\n\r\nconst initialState = {\r\n list: {\r\n data: [],\r\n error: false,\r\n loading: false,\r\n },\r\n currentPageBroker: 1,\r\n totalBrokersCount: 0,\r\n typeOfSort: 'default',\r\n sortByAscending: 'true'\r\n}\r\n\r\nexport const getSearchBrokerData = (filter) => {\r\n return (dispatch) => {\r\n ////console.log('----Hello REDUX insert data 9999---');\r\n dispatch(getListActions.started());\r\n\r\n BrokerSearchService.getSearchBroker(filter)\r\n .then((response) => {\r\n dispatch(getListActions.success(response.data));\r\n })\r\n .catch(() => {\r\n dispatch(getListActions.failed());\r\n });\r\n }\r\n}\r\n\r\nexport const brokerSearchReducer=(state=initialState, action) =>{\r\n let newState = state;\r\n switch (action.type) {\r\n case GET_SEARCH_BROKER_STARTED: {\r\n newState = update.set(state, 'list.loading', true);\r\n newState = update.set(newState, 'list.success', false);\r\n break;\r\n }\r\n case GET_SEARCH_BROKER_SUCCESS: {\r\n newState = update.set(state, 'list.loading', false);\r\n newState = update.set(newState, 'list.data', action.payload.brokers);\r\n newState = update.set(newState, 'currentPageBroker', action.payload.currentPageBroker);\r\n newState = update.set(newState, 'totalBrokersCount', action.payload.totalBrokersCount);\r\n newState = update.set(newState, 'typeOfSort', action.payload.typeOfSort);\r\n newState = update.set(newState, 'sortByAscending', action.payload.sortByAscending);\r\n newState = update.set(newState, 'list.success', true);\r\n break;\r\n }\r\n case GET_SEARCH_BROKER_FAILED: {\r\n newState = update.set(state, 'list.loading', false);\r\n newState = update.set(newState, 'list.error', true);\r\n break;\r\n }\r\n default: {\r\n return newState;\r\n }\r\n }\r\n return newState;\r\n}\r\n\r\nexport const getListActions = {\r\n started: () => {\r\n return {\r\n type: GET_SEARCH_BROKER_STARTED\r\n }\r\n },\r\n success: (data) => {\r\n return {\r\n type: GET_SEARCH_BROKER_SUCCESS,\r\n payload: data\r\n }\r\n },\r\n failed: (error) => {\r\n return {\r\n type: GET_SEARCH_BROKER_FAILED\r\n }\r\n }\r\n}\r\n","import axios from 'axios';\r\nimport {serverUrl} from '../../../config';\r\n\r\nexport default class PermissionService{\r\n static getPermission(){\r\n const url=`${serverUrl}api/admin/broker/permission`;\r\n return axios.get(url);\r\n };\r\n\r\n}\r\n","import PermissionService from \"./PermissionService\";\r\nimport update from '../../../helpers/update';\r\n\r\n\r\nexport const GET_PERMISSION_SUCCESS = \"admin/GET_PERMISSION_SUCCESS\";\r\nexport const GET_PERMISSION_STARTED = \"admin/GET_PERMISSION_STARTED\";\r\nexport const GET_PERMISSION_FAILED = \"admin/GET_PERMISSION_FAILED\";\r\n\r\nconst initialState = {\r\n list: {\r\n data: [],\r\n error: false,\r\n loading: false\r\n }\r\n}\r\n\r\nexport const getPermissionData = () => {\r\n return (dispatch) => {\r\n dispatch(getListActions.started());\r\n\r\n PermissionService.getPermission()\r\n .then((response) => {\r\n ////console.log(\"response\", response);\r\n dispatch(getListActions.success(response.data));\r\n })\r\n .catch(() => {\r\n dispatch(getListActions.failed());\r\n });\r\n }\r\n}\r\n\r\nexport const permissionSearchReducer=(state=initialState, action) =>{\r\n\r\n let newState = state;\r\n switch (action.type) {\r\n case GET_PERMISSION_STARTED: {\r\n newState = update.set(state, 'list.loading', true);\r\n break;\r\n }\r\n case GET_PERMISSION_SUCCESS: {\r\n newState = update.set(state, 'list.loading', false);\r\n newState = update.set(newState, 'list.data', action.payload.brokers);\r\n break;\r\n }\r\n case GET_PERMISSION_FAILED: {\r\n newState = update.set(state, 'list.loading', false);\r\n newState = update.set(newState, 'list.error', true);\r\n break;\r\n }\r\n default: {\r\n return newState;\r\n }\r\n }\r\n return newState;\r\n}\r\n\r\nexport const getListActions = {\r\n started: () => {\r\n return {\r\n type: GET_PERMISSION_STARTED\r\n }\r\n },\r\n success: (data) => {\r\n ////console.log(\"DATA : \",data);\r\n return {\r\n type: GET_PERMISSION_SUCCESS,\r\n payload: data\r\n }\r\n },\r\n failed: (error) => {\r\n return {\r\n type: GET_PERMISSION_FAILED\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\n","import axios from 'axios';\r\nimport {serverUrl} from '../../../config';\r\n\r\nexport default class PermissionConfirmedService{\r\n static getLicense(brokerId){\r\n const url=`${serverUrl}api/admin/broker/license/${brokerId}`;\r\n return axios.get(url);\r\n };\r\n static ConfirmedPermission(brokerId){\r\n const url=`${serverUrl}api/admin/broker/confirmed/${brokerId}`;\r\n return axios.get(url);\r\n };\r\n}\r\n","import PermissionConfirmedService from \"./PermissionConfirmedService\";\r\nimport update from '../../../helpers/update';\r\nimport history from \"../../../utils/history\";\r\n\r\n\r\nexport const PERMISSION_SUCCESS = \"admin/PERMISSION_SUCCESS\";\r\nexport const PERMISSION_STARTED = \"admin/PERMISSION_STARTED\";\r\nexport const PERMISSION_FAILED = \"admin/PERMISSION_FAILED\";\r\n\r\nconst initialState = {\r\n broker: {},\r\n error: false,\r\n loading: false\r\n}\r\n\r\nexport const confirmedPermissionData = (brokerId) => {\r\n return (dispatch) => {\r\n dispatch(getListActions.started());\r\n\r\n PermissionConfirmedService.ConfirmedPermission(brokerId)\r\n .then(\r\n response => {\r\n const pushUrl = \"/admin/permissions/\";\r\n //////console.log(\"----PushUrl----\", pushUrl);\r\n history.push(pushUrl);\r\n document.location.reload()\r\n\r\n },\r\n err => {\r\n throw err;\r\n })\r\n .catch(() => {\r\n dispatch(getListActions.failed());\r\n });\r\n }\r\n}\r\n\r\nexport const getPermissionData = (brokerId) => {\r\n return (dispatch) => {\r\n dispatch(getListActions.started());\r\n\r\n PermissionConfirmedService.getLicense(brokerId)\r\n .then((response) => {\r\n ////console.log(\"response\", response.data);\r\n dispatch(getListActions.success(response.data));\r\n })\r\n .catch(() => {\r\n dispatch(getListActions.failed());\r\n });\r\n }\r\n}\r\n\r\nexport const permissionConfirmedReducer=(state=initialState, action) =>{\r\n\r\n let newState = state;\r\n switch (action.type) {\r\n case PERMISSION_STARTED: {\r\n newState = update.set(state, 'loading', true);\r\n break;\r\n }\r\n case PERMISSION_SUCCESS: {\r\n newState = update.set(state, 'loading', false);\r\n newState = update.set(newState, 'broker', action.payload);\r\n break;\r\n }\r\n case PERMISSION_FAILED: {\r\n newState = update.set(state, 'loading', false);\r\n newState = update.set(newState, 'error', true);\r\n break;\r\n }\r\n default: {\r\n return newState;\r\n }\r\n }\r\n return newState;\r\n}\r\n\r\nexport const getListActions = {\r\n started: () => {\r\n return {\r\n type: PERMISSION_STARTED\r\n }\r\n },\r\n success: (data) => {\r\n ////console.log(\"DATA : \",data);\r\n return {\r\n type: PERMISSION_SUCCESS,\r\n payload: data\r\n }\r\n },\r\n failed: (error) => {\r\n return {\r\n type: PERMISSION_FAILED\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\n","import axios from 'axios';\r\nimport {serverUrl} from '../../../config';\r\n\r\nexport default class ChartRegisterClientService{\r\n static getChartRegisterClient(filter){\r\n const url=`${serverUrl}api/admin/chart/clients`;\r\n return axios.post(url, filter);\r\n }\r\n}\r\n","import ChartRegisterClientService from \"./ChartRegisterClientService\";\r\nimport update from '../../../helpers/update';\r\n\r\nexport const GET_CHART_CLIENT_SUCCESS = \"admin/GET_CHART_CLIENT_SUCCESS\";\r\nexport const GET_CHART_CLIENT_STARTED = \"admin/GET_CHART_CLIENT_STARTED\";\r\nexport const GET_CHART_CLIENT_FAILED = \"admin/GET_CHART_CLIENT_FAILED\";\r\n\r\nconst initialState = {\r\n list: {\r\n data: [],\r\n error: false,\r\n loading: false\r\n },\r\n}\r\n\r\nexport const getChartClientData = (filter) => {\r\n return (dispatch) => {\r\n dispatch(getListActions.started());\r\n\r\n ChartRegisterClientService.getChartRegisterClient(filter)\r\n .then((response) => {\r\n dispatch(getListActions.success(response.data));\r\n })\r\n .catch(() => {\r\n dispatch(getListActions.failed());\r\n });\r\n }\r\n}\r\n\r\nexport const chartRegisterClientReducer=(state=initialState, action) =>{\r\n\r\n let newState = state;\r\n switch (action.type) {\r\n case GET_CHART_CLIENT_STARTED: {\r\n newState = update.set(state, 'list.loading', true);\r\n break;\r\n }\r\n case GET_CHART_CLIENT_SUCCESS: {\r\n newState = update.set(state, 'list.loading', false);\r\n newState = update.set(newState, 'list.data', action.payload.clients);\r\n break;\r\n }\r\n case GET_CHART_CLIENT_FAILED: {\r\n newState = update.set(state, 'list.loading', false);\r\n newState = update.set(newState, 'list.error', true);\r\n break;\r\n }\r\n default: {\r\n return newState;\r\n }\r\n }\r\n return newState;\r\n}\r\n\r\nexport const getListActions = {\r\n started: () => {\r\n return {\r\n type: GET_CHART_CLIENT_STARTED\r\n }\r\n },\r\n success: (data) => {\r\n return {\r\n type: GET_CHART_CLIENT_SUCCESS,\r\n payload: data\r\n }\r\n },\r\n failed: (error) => {\r\n return {\r\n type: GET_CHART_CLIENT_FAILED\r\n }\r\n }\r\n}\r\n\r\n","import axios from 'axios';\r\nimport {serverUrl} from '../../../config';\r\n\r\nexport default class ChartRegisterBrokerService{\r\n static getChartRegisterBroker(filter){\r\n const url=`${serverUrl}api/admin/chart/brokers`;\r\n return axios.post(url, filter);\r\n }\r\n}\r\n","import ChartsRegisterBrokerService from \"./ChartsRegisterBrokerService\";\r\nimport update from '../../../helpers/update';\r\n\r\nexport const GET_CHART_BROKER_SUCCESS = \"admin/GET_CHART_BROKER_SUCCESS\";\r\nexport const GET_CHART_BROKER_STARTED = \"admin/GET_CHART_BROKER_STARTED\";\r\nexport const GET_CHART_BROKER_FAILED = \"admin/GET_CHART_BROKER_FAILED\";\r\n\r\nconst initialState = {\r\n list: {\r\n data: [],\r\n error: false,\r\n loading: false,\r\n }\r\n}\r\n\r\nexport const getChartBrokerData = (filter) => {\r\n return (dispatch) => {\r\n dispatch(getListActions.started());\r\n\r\n ChartsRegisterBrokerService.getChartRegisterBroker(filter)\r\n .then((response) => {\r\n dispatch(getListActions.success(response.data));\r\n })\r\n .catch(() => {\r\n dispatch(getListActions.failed());\r\n });\r\n }\r\n}\r\n\r\nexport const chartRegisterBrokerReducer=(state=initialState, action) =>{\r\n let newState = state;\r\n switch (action.type) {\r\n case GET_CHART_BROKER_STARTED: {\r\n newState = update.set(state, 'list.loading', true);\r\n newState = update.set(newState, 'list.success', false);\r\n break;\r\n }\r\n case GET_CHART_BROKER_SUCCESS: {\r\n newState = update.set(state, 'list.loading', false);\r\n newState = update.set(newState, 'list.data', action.payload.brokers);\r\n newState = update.set(newState, 'list.success', true);\r\n break;\r\n }\r\n case GET_CHART_BROKER_FAILED: {\r\n newState = update.set(state, 'list.loading', false);\r\n newState = update.set(newState, 'list.error', true);\r\n break;\r\n }\r\n default: {\r\n return newState;\r\n }\r\n }\r\n return newState;\r\n}\r\n\r\nexport const getListActions = {\r\n started: () => {\r\n return {\r\n type: GET_CHART_BROKER_STARTED\r\n }\r\n },\r\n success: (data) => {\r\n return {\r\n type: GET_CHART_BROKER_SUCCESS,\r\n payload: data\r\n }\r\n },\r\n failed: (error) => {\r\n return {\r\n type: GET_CHART_BROKER_FAILED\r\n }\r\n }\r\n}\r\n","import axios from 'axios';\r\nimport { serverUrl } from '../../../config';\r\n\r\nexport default class CompleatedOffersService {\r\n static getCompleatedOffers(filter) {\r\n const url = `${serverUrl}api/admin/compleatedoffers/search`;\r\n return axios.post(url, filter);\r\n }\r\n\r\n static getContracts(filter) {\r\n const url = `${serverUrl}api/admin/compleatedoffers/search-contracts`;\r\n return axios.post(url, filter);\r\n }\r\n}\r\n","import CompleatedOffersService from \"./CompleatedOffersService\";\r\nimport update from '../../../helpers/update';\r\n\r\nexport const GET_COMPLEATED_OFFERS_SUCCESS = \"admin/GET_COMPLEATED_OFFERS_SUCCESS\";\r\nexport const GET_COMPLEATED_OFFERS_STARTED = \"admin/GET_COMPLEATED_OFFERS_STARTED\";\r\nexport const GET_COMPLEATED_OFFERS_FAILED = \"admin/GET_COMPLEATED_OFFERS_FAILED\";\r\n\r\nconst initialState = {\r\n list: {\r\n data: [],\r\n error: false,\r\n loading: false\r\n },\r\n currentPage: 1,\r\n totalCount: 0,\r\n}\r\n\r\nexport const getCompleatedOffersData = (filter) => {\r\n return (dispatch) => {\r\n dispatch(getListActions.started());\r\n\r\n CompleatedOffersService.getCompleatedOffers(filter)\r\n .then((response) => {\r\n dispatch(getListActions.success(response.data));\r\n })\r\n .catch(() => {\r\n dispatch(getListActions.failed());\r\n });\r\n }\r\n}\r\n\r\nexport const compleatedOffersReducer=(state=initialState, action) =>{\r\n\r\n let newState = state;\r\n switch (action.type) {\r\n case GET_COMPLEATED_OFFERS_STARTED: {\r\n newState = update.set(state, 'list.loading', true);\r\n break;\r\n }\r\n case GET_COMPLEATED_OFFERS_SUCCESS: {\r\n newState = update.set(state, 'list.loading', false);\r\n newState = update.set(newState, 'list.data', action.payload.offers);\r\n newState = update.set(newState, 'currentPage', action.payload.currentPage);\r\n newState = update.set(newState, 'totalCount', action.payload.totalCount);\r\n break;\r\n }\r\n case GET_COMPLEATED_OFFERS_FAILED: {\r\n newState = update.set(state, 'list.loading', false);\r\n newState = update.set(newState, 'list.error', true);\r\n break;\r\n }\r\n default: {\r\n return newState;\r\n }\r\n }\r\n return newState;\r\n}\r\n\r\nexport const getListActions = {\r\n started: () => {\r\n return {\r\n type: GET_COMPLEATED_OFFERS_STARTED\r\n }\r\n },\r\n success: (data) => {\r\n return {\r\n type: GET_COMPLEATED_OFFERS_SUCCESS,\r\n payload: data\r\n }\r\n },\r\n failed: (error) => {\r\n return {\r\n type: GET_COMPLEATED_OFFERS_FAILED\r\n }\r\n }\r\n}\r\n\r\n","import axios from 'axios';\r\nimport {serverUrl} from '../../../config';\r\n\r\nexport default class ChartContractsService{\r\n static getChartContracts(filter){\r\n const url=`${serverUrl}api/admin/chart/contracts`;\r\n return axios.post(url, filter);\r\n }\r\n}\r\n","import ChartContractsService from \"./ChartContractsService\";\r\nimport update from '../../../helpers/update';\r\n\r\nexport const GET_CHART_CONTRACTS_SUCCESS = \"admin/GET_CHART_CONTRACTS_SUCCESS\";\r\nexport const GET_CHART_CONTRACTS_STARTED = \"admin/GET_CHART_CONTRACTS_STARTED\";\r\nexport const GET_CHART_CONTRACTS_FAILED = \"admin/GET_CHART_CONTRACTS_FAILED\";\r\n\r\nconst initialState = {\r\n list: {\r\n data: [],\r\n error: false,\r\n loading: false,\r\n }\r\n}\r\n\r\nexport const getChartContractsData = (filter) => {\r\n return (dispatch) => {\r\n dispatch(getListActions.started());\r\n\r\n ChartContractsService.getChartContracts(filter)\r\n .then((response) => {\r\n dispatch(getListActions.success(response.data));\r\n })\r\n .catch(() => {\r\n dispatch(getListActions.failed());\r\n });\r\n }\r\n}\r\n\r\nexport const chartContractsReducer=(state=initialState, action) =>{\r\n let newState = state;\r\n switch (action.type) {\r\n case GET_CHART_CONTRACTS_STARTED: {\r\n newState = update.set(state, 'list.loading', true);\r\n newState = update.set(newState, 'list.success', false);\r\n break;\r\n }\r\n case GET_CHART_CONTRACTS_SUCCESS: {\r\n newState = update.set(state, 'list.loading', false);\r\n newState = update.set(newState, 'list.data', action.payload.contracts);\r\n newState = update.set(newState, 'list.success', true);\r\n break;\r\n }\r\n case GET_CHART_CONTRACTS_FAILED: {\r\n newState = update.set(state, 'list.loading', false);\r\n newState = update.set(newState, 'list.error', true);\r\n break;\r\n }\r\n default: {\r\n return newState;\r\n }\r\n }\r\n return newState;\r\n}\r\n\r\nexport const getListActions = {\r\n started: () => {\r\n return {\r\n type: GET_CHART_CONTRACTS_STARTED\r\n }\r\n },\r\n success: (data) => {\r\n return {\r\n type: GET_CHART_CONTRACTS_SUCCESS,\r\n payload: data\r\n }\r\n },\r\n failed: (error) => {\r\n return {\r\n type: GET_CHART_CONTRACTS_FAILED\r\n }\r\n }\r\n}\r\n","import axios from 'axios';\r\nimport {serverUrl} from \"../../../config\";\r\n\r\nexport default class AdvetsService{\r\n static getAdverts(data){\r\n const url = `${serverUrl}api/broker/home/adverts`;\r\n return axios.post(url, data);\r\n }\r\n}\r\n","import update from \"../../../helpers/update\";\r\nimport AdvertsService from \"./AdvertsService\";\r\nimport redirectStatusCode from '../../../services/redirectStatusCode';\r\n import history from '../../../utils/history';\r\nexport const GET_ADVERTS_STARTED = \"adverts/GET_ADVERTS_STARTED\";\r\nexport const GET_ADVERTS_SUCCESS = \"adverts/GET_ADVERTS_SUCCESS\";\r\nexport const GET_ADVERTS_FAILED = \"adverts/GET_ADVERTS_FAILED\";\r\n\r\nconst initialState = {\r\n list: {\r\n data: [],\r\n error: {},\r\n loading: false,\r\n failed: false,\r\n success: false,\r\n },\r\n totalAdvertsCount: 0,\r\n currentPage: 1,\r\n typeOfSort: 'default',\r\n sortByAscending: 'false',\r\n};\r\n\r\nexport const advertsReducer = (state = initialState, action) => {\r\n let newState = state;\r\n switch (action.type) {\r\n case GET_ADVERTS_STARTED: {\r\n newState = update.set(state, \"list.loading\", true);\r\n newState = update.set(newState, \"list.failed\", false);\r\n newState = update.set(newState, \"list.success\", false);\r\n newState = update.set(newState, \"list.error\", {});\r\n\r\n break;\r\n }\r\n case GET_ADVERTS_SUCCESS: {\r\n newState = update.set(state, \"list.loading\", false);\r\n newState = update.set(newState, \"list.failed\", false);\r\n newState = update.set(newState, \"list.success\", true);\r\n newState = update.set(newState, \"list.data\", action.payload.itemModel);\r\n newState = update.set(newState, \"currentPage\", action.payload.currentPage);\r\n newState = update.set(newState, \"totalAdvertsCount\", action.payload.totalAdvertsCount );\r\n newState = update.set(newState, \"typeOfSort\", action.payload.typeOfSort);\r\n newState = update.set(newState, \"sortByAscending\", action.payload.sortByAscending);\r\n newState = update.set(newState, \"sortByAscending\", action.payload.sortByAscending);\r\n newState = update.set(newState, \"list.error\", {});\r\n\r\n\r\n // newState = update.set(newState, )\r\n // newState = update.set(newState, )\r\n\r\n break;\r\n }\r\n case GET_ADVERTS_FAILED: {\r\n newState = update.set(state, \"list.loading\", false);\r\n newState = update.set(newState, \"list.failed\", true);\r\n newState = update.set(newState, \"list.success\", false);\r\n newState = update.set(newState, \"list.error\", action.error);\r\n break;\r\n }\r\n default: {\r\n return newState;\r\n }\r\n }\r\n return newState;\r\n\r\n};\r\n\r\nexport const getAdvertsData = sort => {\r\n return dispatch => {\r\n dispatch(AdvertsActions.started());\r\n AdvertsService.getAdverts(sort)\r\n .then(response => {\r\n dispatch(AdvertsActions.success(response));\r\n }, error => {throw error;})\r\n .catch(error => {\r\n dispatch(AdvertsActions.failed(error.response));\r\n redirectStatusCode(error.response.status);\r\n });\r\n };\r\n};\r\n\r\nexport const AdvertsActions = {\r\n started: () => {\r\n return {\r\n type: GET_ADVERTS_STARTED\r\n };\r\n },\r\n\r\n success: data => {\r\n //////console.log(\"Payload Data: \", data.data);\r\n return {\r\n type: GET_ADVERTS_SUCCESS,\r\n\r\n payload: data.data\r\n };\r\n },\r\n\r\n failed: response => {\r\n return {\r\n type: GET_ADVERTS_FAILED,\r\n error: response.data\r\n };\r\n }\r\n};\r\n","import axios from 'axios';\r\nimport {serverUrl} from '../../../config';\r\n\r\nexport default class OffersService{\r\n static getOffers(filter){\r\n const url=`${serverUrl}api/admin/offers/search`;\r\n return axios.post(url, filter);\r\n }\r\n}\r\n","import OffersService from \"./OffersService\";\r\nimport update from '../../../helpers/update';\r\n\r\nexport const GET_OFFERS_SUCCESS = \"admin/GET_OFFERS_SUCCESS\";\r\nexport const GET_OFFERS_STARTED = \"admin/GET_OFFERS_STARTED\";\r\nexport const GET_OFFERS_FAILED = \"admin/GET_OFFERS_FAILED\";\r\n\r\nconst initialState = {\r\n list: {\r\n data: [],\r\n error: false,\r\n loading: false\r\n },\r\n currentPage: 1,\r\n totalCount: 0,\r\n}\r\n\r\nexport const getOffersData = (filter) => {\r\n return (dispatch) => {\r\n dispatch(getListActions.started());\r\n\r\n OffersService.getOffers(filter)\r\n .then((response) => {\r\n dispatch(getListActions.success(response.data));\r\n })\r\n .catch(() => {\r\n dispatch(getListActions.failed());\r\n });\r\n }\r\n}\r\n\r\nexport const offersReducer=(state=initialState, action) =>{\r\n\r\n let newState = state;\r\n switch (action.type) {\r\n case GET_OFFERS_STARTED: {\r\n newState = update.set(state, 'list.loading', true);\r\n break;\r\n }\r\n case GET_OFFERS_SUCCESS: {\r\n newState = update.set(state, 'list.loading', false);\r\n newState = update.set(newState, 'list.data', action.payload.offers);\r\n newState = update.set(newState, 'currentPage', action.payload.currentPage);\r\n newState = update.set(newState, 'totalCount', action.payload.totalCount);\r\n break;\r\n }\r\n case GET_OFFERS_FAILED: {\r\n newState = update.set(state, 'list.loading', false);\r\n newState = update.set(newState, 'list.error', true);\r\n break;\r\n }\r\n default: {\r\n return newState;\r\n }\r\n }\r\n return newState;\r\n}\r\n\r\nexport const getListActions = {\r\n started: () => {\r\n return {\r\n type: GET_OFFERS_STARTED\r\n }\r\n },\r\n success: (data) => {\r\n return {\r\n type: GET_OFFERS_SUCCESS,\r\n payload: data\r\n }\r\n },\r\n failed: (error) => {\r\n return {\r\n type: GET_OFFERS_FAILED\r\n }\r\n }\r\n}\r\n\r\n","import axios from 'axios';\r\nimport {serverUrl} from '../../../config';\r\n\r\nexport default class EmployeesService{\r\n static getEmployees(filter){\r\n const url=`${serverUrl}api/company/employees/search`;\r\n return axios.post(url, filter);\r\n }\r\n}\r\n","import EmployeesService from \"./EmployeesService\";\r\nimport update from '../../../helpers/update';\r\n\r\n\r\nexport const GET_SEARCH_EMPLOYEES_SUCCESS = \"company/GET_SEARCH_EMPLOYEES_SUCCESS\";\r\nexport const GET_SEARCH_EMPLOYEES_STARTED = \"company/GET_SEARCH_EMPLOYEES_STARTED\";\r\nexport const GET_SEARCH_EMPLOYEES_FAILED = \"company/GET_SEARCH_EMPLOYEES_FAILED\";\r\n\r\nconst initialState = {\r\n list: {\r\n data: [],\r\n error: false,\r\n loading: false\r\n },\r\n year: '',\r\n month: ''\r\n}\r\n\r\nexport const getEmployeesData = (filter) => {\r\n return (dispatch) => {\r\n dispatch(getListActions.started());\r\n EmployeesService.getEmployees(filter)\r\n .then((response) => {\r\n dispatch(getListActions.success(response.data));\r\n })\r\n .catch(() => {\r\n dispatch(getListActions.failed());\r\n });\r\n }\r\n}\r\n\r\nexport const employeesReducer=(state=initialState, action) =>{\r\n\r\n let newState = state;\r\n switch (action.type) {\r\n case GET_SEARCH_EMPLOYEES_STARTED: {\r\n newState = update.set(state, 'list.loading', true);\r\n break;\r\n }\r\n case GET_SEARCH_EMPLOYEES_SUCCESS: {\r\n newState = update.set(state, 'list.loading', false);\r\n newState = update.set(newState, 'list.data', action.payload.employees);\r\n // newState = update.set(newState, 'year', action.payload.clients);\r\n // newState = update.set(newState, 'month', action.payload.clients);\r\n break;\r\n }\r\n case GET_SEARCH_EMPLOYEES_FAILED: {\r\n newState = update.set(state, 'list.loading', false);\r\n newState = update.set(newState, 'list.error', true);\r\n break;\r\n }\r\n default: {\r\n return newState;\r\n }\r\n }\r\n return newState;\r\n}\r\n\r\nexport const getListActions = {\r\n started: () => {\r\n\r\n return {\r\n type: GET_SEARCH_EMPLOYEES_STARTED\r\n }\r\n },\r\n success: (data) => {\r\n\r\n return {\r\n type: GET_SEARCH_EMPLOYEES_SUCCESS,\r\n payload: data\r\n }\r\n },\r\n failed: (error) => {\r\n\r\n return {\r\n type: GET_SEARCH_EMPLOYEES_FAILED\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\n","import axios from 'axios';\r\nimport {serverUrl} from '../../../config';\r\n\r\nexport default class RegisterEmployeesService{\r\n static registerEmployee(filter){\r\n const url=`${serverUrl}api/company/account/register-employee`;\r\n ////console.log(\"!!!!!!!1 Service\");\r\n return axios.post(url, filter);\r\n }\r\n}\r\n","import RegisterEmployeeService from './RegisterEmployeeService';\r\nimport update from '../../../helpers/update';\r\nimport history from '../../../utils/history';\r\n\r\nexport const REGISTER_EMPLOYEE_STARTED = \"REGISTER_EMPLOYEE_STARTED\";\r\nexport const REGISTER_EMPLOYEE_SUCCESS = \"REGISTER_EMPLOYEE_SUCCESS\";\r\nexport const REGISTER_EMPLOYEE_FAILED = \"REGISTER_EMPLOYEE_FAILED\";\r\n\r\n\r\nconst initialState = {\r\n list: {\r\n //data: [],\r\n error: false,\r\n loading: false\r\n },\r\n}\r\n\r\nexport const getEmployeeData = (filter) => {\r\n return (dispatch) => {\r\n dispatch(getListActions.started());\r\n RegisterEmployeeService.registerEmployee(filter)\r\n .then((response) => {\r\n const pushUrl = \"/company/employees\";\r\n history.push(pushUrl);\r\n document.location.reload()\r\n\r\n })\r\n .catch((error) => {\r\n if(error.response.data ===\"NO_PERMISSION\"){\r\n //console.log(\"Redirect___________\", error.response.data);\r\n // history.push('/broker/profile')\r\n alert(\"Ваш дозвіл на брокерську діяльність не підтверджений\")\r\n } \r\n dispatch(getListActions.failed());\r\n });\r\n }\r\n}\r\n\r\nexport const registerEmployeeReducer=(state=initialState, action) =>{\r\n\r\n let newState = state;\r\n switch (action.type) {\r\n case REGISTER_EMPLOYEE_STARTED: {\r\n newState = update.set(state, 'list.loading', true);\r\n break;\r\n }\r\n case REGISTER_EMPLOYEE_SUCCESS: {\r\n newState = update.set(state, 'list.loading', false);\r\n //newState = update.set(newState, 'list.data', action.payload.employees);\r\n break;\r\n }\r\n case REGISTER_EMPLOYEE_FAILED: {\r\n newState = update.set(state, 'list.loading', false);\r\n newState = update.set(newState, 'list.error', true);\r\n break;\r\n }\r\n default: {\r\n return newState;\r\n }\r\n }\r\n return newState;\r\n}\r\n\r\nexport const getListActions = {\r\n started: () => {\r\n\r\n return {\r\n type: REGISTER_EMPLOYEE_STARTED\r\n }\r\n },\r\n success: (data) => {\r\n\r\n return {\r\n type: REGISTER_EMPLOYEE_SUCCESS,\r\n //payload: data\r\n }\r\n },\r\n failed: (error) => {\r\n\r\n return {\r\n type: REGISTER_EMPLOYEE_FAILED\r\n }\r\n }\r\n}\r\n\r\n\r\n","import axios from \"axios\";\r\nimport {serverUrl} from '../../../config';\r\n\r\nexport default class LoginService {\r\n static login(model) {\r\n return axios.post(`${serverUrl}api/user/user/login`,model)\r\n };\r\n}\r\n","import update from \"../../../helpers/update\";\r\nimport LoginService from \"./LoginService\";\r\nimport isEmpty from \"lodash/isEmpty\";\r\nimport setAuthorizationToken from \"../../../utils/setAuthorizationToken\";\r\nimport jwt from \"jsonwebtoken\";\r\nimport redirectStatusCode from \"../../../services/redirectStatusCode\";\r\nimport history from \"../../../utils/history\";\r\n\r\nexport const LOGIN_POST_STARTED = \"login/LOGIN_POST_STARTED\";\r\nexport const LOGIN_POST_SUCCESS = \"login/LOGIN_POST_SUCCESS\";\r\nexport const LOGIN_POST_FAILED = \"login/LOGIN_POST_FAILED\";\r\nexport const LOGIN_SET_CURRENT_USER = \"login/SET_CURRENT_USER\";\r\n\r\nconst initialState = {\r\n post: {\r\n loading: false,\r\n success: false,\r\n failed: false,\r\n errors: {}\r\n },\r\n isAuthenticated: false,\r\n user: {\r\n id: \"\",\r\n name: \"\",\r\n image: \"\",\r\n roles: []\r\n }\r\n};\r\n\r\nexport const loginReducer = (state = initialState, action) => {\r\n let newState = state;\r\n\r\n switch (action.type) {\r\n case LOGIN_POST_STARTED: {\r\n newState = update.set(state, \"post.loading\", true);\r\n newState = update.set(newState, \"post.success\", false);\r\n newState = update.set(newState, \"post.errors\", {});\r\n newState = update.set(newState, \"post.failed\", false);\r\n break;\r\n }\r\n case LOGIN_SET_CURRENT_USER: {\r\n return {\r\n ...state,\r\n isAuthenticated: !isEmpty(action.user),\r\n user: action.user\r\n };\r\n }\r\n case LOGIN_POST_SUCCESS: {\r\n newState = update.set(state, \"post.loading\", false);\r\n newState = update.set(newState, \"post.failed\", false);\r\n newState = update.set(newState, \"post.errors\", {});\r\n newState = update.set(newState, \"post.success\", true);\r\n break;\r\n }\r\n case LOGIN_POST_FAILED: {\r\n newState = update.set(state, \"post.loading\", false);\r\n newState = update.set(newState, \"post.success\", false);\r\n newState = update.set(newState, \"post.errors\", action.errors);\r\n newState = update.set(newState, \"post.failed\", true);\r\n break;\r\n }\r\n default: {\r\n return newState;\r\n }\r\n }\r\n\r\n return newState;\r\n};\r\n\r\nexport const login = model => {\r\n return dispatch => {\r\n dispatch(loginActions.started());\r\n LoginService.login(model)\r\n .then(\r\n response => {\r\n dispatch(loginActions.success());\r\n loginByJWT(response.data, dispatch);\r\n const pushUrl = getUrlToRedirect();\r\n //////console.log(\"----PushUrl----\", pushUrl);\r\n history.push(pushUrl);\r\n document.location.reload()\r\n },\r\n err => {\r\n throw err;\r\n }\r\n )\r\n .catch(err => {\r\n dispatch(loginActions.failed(err.response));\r\n redirectStatusCode(err.response?.status);\r\n });\r\n };\r\n};\r\n\r\nfunction getUrlToRedirect() {\r\n var user = jwt.decode(localStorage.jwtToken);\r\n //let roles =[];\r\n let roles = user.roles;\r\n let path = \"\";\r\n if (Array.isArray(roles)) {\r\n for (let i = 0; i < roles.length; i++) {\r\n if (roles[i] == \"Company\") {\r\n path = \"/broker/profile\";\r\n break;\r\n } else if (roles[i] === \"Broker\") {\r\n path = \"/broker/profile\";\r\n break;\r\n } else if (roles[i] === \"Client\") {\r\n path = \"/client/profile\";\r\n break;\r\n } else if (roles[i] === \"Admin\") {\r\n path = \"/admin/clients\";\r\n break;\r\n }\r\n }\r\n } else {\r\n if (roles == \"Company\") {\r\n path = \"/company/employees\";\r\n } else if (roles === \"Broker\") {\r\n path = \"/broker/profile\";\r\n } else if (roles === \"Client\") {\r\n path = \"/client/profile\";\r\n } else if (roles === \"Admin\") {\r\n path = \"/admin/clients\";\r\n }\r\n }\r\n\r\n return path;\r\n}\r\n\r\nexport const loginActions = {\r\n started: () => {\r\n return {\r\n type: LOGIN_POST_STARTED\r\n };\r\n },\r\n\r\n success: () => {\r\n return {\r\n type: LOGIN_POST_SUCCESS\r\n };\r\n },\r\n\r\n failed: response => {\r\n return {\r\n type: LOGIN_POST_FAILED,\r\n errors: response?.data\r\n };\r\n },\r\n\r\n setCurrentUser: user => {\r\n return {\r\n type: LOGIN_SET_CURRENT_USER,\r\n user\r\n };\r\n }\r\n};\r\n\r\nexport function logout() {\r\n return dispatch => {\r\n logoutByJWT(dispatch);\r\n };\r\n}\r\n\r\nexport const loginByJWT = (tokens, dispatch) => {\r\n const { token, refToken } = tokens;\r\n var user = jwt.decode(token);\r\n\r\n if (!Array.isArray(user.roles)) {\r\n user.roles = Array.of(user.roles);\r\n }\r\n localStorage.setItem(\"jwtToken\", token);\r\n localStorage.setItem(\"refreshToken\", refToken);\r\n setAuthorizationToken(token);\r\n dispatch(loginActions.setCurrentUser(user));\r\n};\r\n\r\nexport const logoutByJWT = dispatch => {\r\n localStorage.removeItem(\"jwtToken\");\r\n localStorage.removeItem(\"refreshToken\");\r\n setAuthorizationToken(false);\r\n dispatch(loginActions.setCurrentUser({}));\r\n};\r\n","/*\r\n* required polyfills\r\n*/\r\nimport \"core-js\";\r\nimport 'core-js/features/set/map';\r\n\r\n/** IE9, IE10 and IE11 requires all of the following polyfills. **/\r\n// import 'core-js/es6/symbol'\r\n// import 'core-js/es6/object'\r\n// import 'core-js/es6/function'\r\n// import 'core-js/es6/parse-int'\r\n// import 'core-js/es6/parse-float'\r\n// import 'core-js/es6/number'\r\n// import 'core-js/es6/math'\r\n// import 'core-js/es6/string'\r\n// import 'core-js/es6/date'\r\n// import 'core-js/es6/array'\r\n// import 'core-js/es6/regexp'\r\n// import 'core-js/es6/map'\r\n// import 'core-js/es6/weak-map'\r\n// import 'core-js/es6/set'\r\n// import 'core-js/es7/object'\r\n\r\n/** IE10 and IE11 requires the following for the Reflect API. */\r\n// import 'core-js/es6/reflect'\r\n\r\n/** Evergreen browsers require these. **/\r\n// Used for reflect-metadata in JIT. If you use AOT (and only Angular decorators), you can remove.\r\n// import 'core-js/es7/reflect'\r\n\r\n// CustomEvent() constructor functionality in IE9, IE10, IE11\r\n(function () {\r\n\r\n if ( typeof window.CustomEvent === \"function\" ) return false\r\n\r\n function CustomEvent ( event, params ) {\r\n params = params || { bubbles: false, cancelable: false, detail: undefined }\r\n var evt = document.createEvent( 'CustomEvent' )\r\n evt.initCustomEvent( event, params.bubbles, params.cancelable, params.detail )\r\n return evt\r\n }\r\n\r\n CustomEvent.prototype = window.Event.prototype\r\n\r\n window.CustomEvent = CustomEvent\r\n})()\r\n","import { SET_CLIENT_PROFILE,\r\n SET_CLIENT_IMAGE,\r\n ADD_ADVERT,\r\n SET_CLIENT_ADVERTS,\r\n SET_CLIENT_ADVERT,\r\n SET_CLIENT_ADVERT_IMAGES,\r\n SET_CLIENT_ADVERT_OFFERS,\r\n SET_CLIENT_ADVERTS_QUANTITY,\r\n SET_OFFERS_FOR_ADVERT_QUANTITY,\r\n SET_CLIENT_REJECT_CONTRACTS,\r\n SET_APPROVED_OFFER_INFO,\r\n SET_CLIENT_CONTRACTS,\r\n UPDATE_CLIENT_IMAGE\r\n } from '../actions/types';\r\n\r\nconst initialState = {\r\n profile: {\r\n firstName: '',\r\n middleName: '',\r\n lastName: '',\r\n phoneNumber: '',\r\n image: '',\r\n loading: false,\r\n error: false\r\n },\r\n adverts: [],\r\n advertsQnt: 0,\r\n offersForAdvertQnt: 0,\r\n advert: {\r\n loading: false,\r\n images: []\r\n },\r\n advertImages: [],\r\n advertOffers: [],\r\n approvedOfferInfo: {},\r\n contracts: [],\r\n reject_contracts: []\r\n};\r\n\r\nexport default (state = initialState, action = {}) => {\r\n switch (action.type) {\r\n case SET_CLIENT_PROFILE:\r\n return Object.assign({}, state, { profile: action.profile });\r\n case SET_CLIENT_IMAGE:\r\n return Object.assign({}, state, { profile: Object.assign(...state.profile, { image: action.image }) });\r\n case SET_CLIENT_ADVERTS:\r\n return Object.assign({}, state, { adverts: action.adverts });\r\n case ADD_ADVERT:\r\n return Object.assign({}, state, {\r\n profile: Object.assign(...state.profile, { adverts: [...state.profile.adverts, action.advert] })\r\n });\r\n case SET_CLIENT_ADVERTS_QUANTITY:\r\n return Object.assign({}, state, { advertsQnt: action.quantity });\r\n case SET_OFFERS_FOR_ADVERT_QUANTITY:\r\n return Object.assign({}, state, { offersForAdvertQnt: action.quantity });\r\n case SET_CLIENT_ADVERT:\r\n return Object.assign({}, state, { advert: action.advert });\r\n case SET_CLIENT_ADVERT_IMAGES:\r\n return Object.assign({}, state, { advertImages: action.images });\r\n case SET_CLIENT_ADVERT_OFFERS:\r\n return Object.assign({}, state, { advertOffers: action.offers });\r\n case SET_APPROVED_OFFER_INFO:\r\n return Object.assign({}, state, { approvedOfferInfo: action.offerInfo });\r\n case SET_CLIENT_CONTRACTS:\r\n return Object.assign({}, state, { contracts: action.contracts });\r\n\r\n case SET_CLIENT_REJECT_CONTRACTS:\r\n return Object.assign({}, state, { reject_contracts: action.reject_contracts });\r\n\r\n case UPDATE_CLIENT_IMAGE: {\r\n ////console.log('----KABAN------', action.image);\r\n ////console.log('----KABAN------', {...state.advert.images})\r\n return {\r\n ...state,\r\n advert: {\r\n images: state.advert.images.map(item => {\r\n if (item.id === action.image.id)\r\n return action.image;\r\n return item;\r\n })\r\n }\r\n };\r\n\r\n }\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { SET_CLIENTS_LIST, SET_BROKERS_LIST, SET_COMPLETED_ADVERTS,\r\n SET_ADMIN_PROFILE } from '../actions/types';\r\n\r\nconst initialState = {\r\n listClients: [],\r\n listBrokers:[],\r\n totalClientsCount: 0,\r\n totalBrokersCount: 0,\r\n currentPageClient: 0,\r\n currentPageBroker: 0,\r\n completedAdverts: [],\r\n totalAdvertsCount: 0,\r\n currentPage: 0,\r\n profile: {\r\n firstName: '',\r\n phoneNumber: '',\r\n image: '',\r\n }\r\n};\r\n\r\nexport default function admin(state = initialState, action = {}) {\r\n switch (action.type) {\r\n case SET_CLIENTS_LIST:\r\n return Object.assign({}, state, { listClients: action.listClients,\r\n totalClientsCount: action.totalClientsCount,\r\n currentPageClient: action.currentPageClient});\r\n\r\n case SET_BROKERS_LIST:\r\n return Object.assign({}, state, { listBrokers: action.listBrokers,\r\n totalBrokersCount: action.totalBrokersCount,\r\n currentPageBroker: action.currentPageBroker});\r\n\r\n case SET_COMPLETED_ADVERTS:\r\n return Object.assign({}, state, { completedAdverts: action.completedAdverts,\r\n totalAdvertsCount: action.totalAdvertsCount,\r\n currentPage: action.currentPage});\r\n\r\n case SET_ADMIN_PROFILE:\r\n return Object.assign({}, state, {\r\n profile: action.profile});\r\n default:\r\n return state;\r\n }\r\n}\r\n","import CompleatedOfferDetailsService from \"./CompleatedOfferDetailsService\";\r\nimport update from '../../../helpers/update';\r\nimport history from \"../../../utils/history\";\r\n\r\n\r\nexport const COMPLEATED_OFFER_DETAILS_SUCCESS = \"admin/COMPLEATED_OFFER_DETAILS_SUCCESS\";\r\nexport const COMPLEATED_OFFER_DETAILS_STARTED = \"admin/COMPLEATED_OFFER_DETAILS_STARTED\";\r\nexport const COMPLEATED_OFFER_DETAILS_FAILED = \"admin/COMPLEATED_OFFER_DETAILS_FAILED\";\r\n\r\nconst initialState = {\r\n broker: {},\r\n error: false,\r\n loading: false\r\n}\r\n\r\nexport const getCompleatedOfferDetailsData = (offerId) => {\r\n return (dispatch) => {\r\n dispatch(getListActions.started());\r\n\r\n CompleatedOfferDetailsService.getCompleatedOfferDetails(offerId)\r\n .then((response) => {\r\n ////console.log(\"response\", response.data);\r\n dispatch(getListActions.success(response.data));\r\n })\r\n .catch(() => {\r\n dispatch(getListActions.failed());\r\n });\r\n }\r\n}\r\n\r\nexport const compleatedOfferDetailsReducer=(state=initialState, action) =>{\r\n\r\n let newState = state;\r\n switch (action.type) {\r\n case COMPLEATED_OFFER_DETAILS_STARTED: {\r\n newState = update.set(state, 'loading', true);\r\n break;\r\n }\r\n case COMPLEATED_OFFER_DETAILS_SUCCESS: {\r\n newState = update.set(state, 'loading', false);\r\n newState = update.set(newState, 'broker', action.payload);\r\n break;\r\n }\r\n case COMPLEATED_OFFER_DETAILS_FAILED: {\r\n newState = update.set(state, 'loading', false);\r\n newState = update.set(newState, 'error', true);\r\n break;\r\n }\r\n default: {\r\n return newState;\r\n }\r\n }\r\n return newState;\r\n}\r\n\r\nexport const getListActions = {\r\n started: () => {\r\n return {\r\n type: COMPLEATED_OFFER_DETAILS_STARTED\r\n }\r\n },\r\n success: (data) => {\r\n ////console.log(\"DATA : \",data);\r\n return {\r\n type: COMPLEATED_OFFER_DETAILS_SUCCESS,\r\n payload: data\r\n }\r\n },\r\n failed: (error) => {\r\n return {\r\n type: COMPLEATED_OFFER_DETAILS_FAILED\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\n","import axios from \"axios\";\r\nimport {serverUrl} from '../../config';\r\nexport default class RefreshService {\r\n static RefreshToken = () => {\r\n const token = localStorage.getItem('refreshToken');\r\n return axios.post(`${serverUrl}api/user/user/refresh/${token}`);\r\n }\r\n}\r\n","import RefreshService from './RefreshService'\r\nimport {loginByJWT, logout} from '../Pages/Login/reducer';\r\n\r\nexport const REFRESH_STARTED = \"REFRESH_STARTED\";\r\nexport const REFRESH_SUCCESS = \"REFRESH_SUCCESS\";\r\nexport const REFRESH_FAILED = \"REFRESH_FAILED\";\r\n\r\nconst initialState = {\r\n success: false,\r\n failed: false,\r\n loading: false\r\n}\r\n\r\nexport const refreshToken = (dispatch) => {\r\n dispatch(refresh.started())\r\n return RefreshService.RefreshToken()\r\n .then((response) => {\r\n dispatch(refresh.success());\r\n loginByJWT(response.data, dispatch);\r\n return Promise.resolve(response);\r\n })\r\n .catch((err) => {\r\n dispatch(refresh.failed());\r\n logout(dispatch);\r\n return Promise.reject(err);\r\n })\r\n}\r\n\r\nexport const refreshReducer = (state = initialState, action) => {\r\n let newState = state;\r\n switch(action.type){\r\n case 'REFRESH_STARTED': {\r\n newState = {...initialState, loading: true };\r\n break;\r\n }\r\n case 'REFRESH_SUCCESS': {\r\n newState = {...state, success: true, loading: false };\r\n break;\r\n }\r\n case 'REFRESH_FAILED': {\r\n newState = {...state, failed: true, loading: false };\r\n break;\r\n }\r\n default: {\r\n return newState\r\n }\r\n };\r\n return newState;\r\n}\r\n\r\nexport const refresh = {\r\n started: () => {\r\n return {\r\n type: REFRESH_STARTED\r\n }\r\n },\r\n\r\n success: () => {\r\n return {\r\n type: REFRESH_SUCCESS\r\n }\r\n },\r\n\r\n failed: (response) => {\r\n return {\r\n type: REFRESH_FAILED,\r\n // errors: response.data\r\n }\r\n }\r\n}\r\n","import OfferDetailsService from \"./OfferDetailsService\";\r\nimport update from '../../../helpers/update';\r\nimport history from \"../../../utils/history\";\r\n\r\n\r\nexport const OFFER_DETAILS_SUCCESS = \"admin/OFFER_DETAILS_SUCCESS\";\r\nexport const OFFER_DETAILS_STARTED = \"admin/OFFER_DETAILS_STARTED\";\r\nexport const OFFER_DETAILS_FAILED = \"admin/OFFER_DETAILS_FAILED\";\r\n\r\nconst initialState = {\r\n broker: {},\r\n error: false,\r\n loading: false\r\n}\r\n\r\nexport const getOfferDetailsData = (offerId) => {\r\n return (dispatch) => {\r\n dispatch(getListActions.started());\r\n\r\n OfferDetailsService.getOfferDetails(offerId)\r\n .then((response) => {\r\n ////console.log(\"response\", response.data);\r\n dispatch(getListActions.success(response.data));\r\n })\r\n .catch(() => {\r\n dispatch(getListActions.failed());\r\n });\r\n }\r\n}\r\n\r\nexport const offerDetailsReducer=(state=initialState, action) =>{\r\n\r\n let newState = state;\r\n switch (action.type) {\r\n case OFFER_DETAILS_STARTED: {\r\n newState = update.set(state, 'loading', true);\r\n break;\r\n }\r\n case OFFER_DETAILS_SUCCESS: {\r\n newState = update.set(state, 'loading', false);\r\n newState = update.set(newState, 'broker', action.payload);\r\n break;\r\n }\r\n case OFFER_DETAILS_FAILED: {\r\n newState = update.set(state, 'loading', false);\r\n newState = update.set(newState, 'error', true);\r\n break;\r\n }\r\n default: {\r\n return newState;\r\n }\r\n }\r\n return newState;\r\n}\r\n\r\nexport const getListActions = {\r\n started: () => {\r\n return {\r\n type: OFFER_DETAILS_STARTED\r\n }\r\n },\r\n success: (data) => {\r\n ////console.log(\"DATA : \",data);\r\n return {\r\n type: OFFER_DETAILS_SUCCESS,\r\n payload: data\r\n }\r\n },\r\n failed: (error) => {\r\n return {\r\n type: OFFER_DETAILS_FAILED\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\n","import {HOME_GET_FAILED, HOME_GET_STARTED, HOME_GET_SUCCESS} from \"./types\";\r\n\r\nconst initialState = {\r\n loading: false,\r\n success: false,\r\n failed: false,\r\n error: \"\",\r\n numberOfUsers:0\r\n};\r\n\r\nexport const homeReducer = (state = initialState, action) => { \r\n switch (action.type) {\r\n case HOME_GET_STARTED: {\r\n return {\r\n ...state,\r\n loading: true\r\n };\r\n }\r\n case HOME_GET_SUCCESS: {\r\n const {numberOfUsers} = action;\r\n return {\r\n ...state,\r\n loading: false,\r\n success:true,\r\n failed:false,\r\n numberOfUsers\r\n };\r\n }\r\n case HOME_GET_FAILED: {\r\n return {\r\n ...state,\r\n loading: false,\r\n success:false,\r\n failed:true,\r\n error: action.error\r\n };\r\n }\r\n \r\n default: {\r\n return {\r\n ...state\r\n };\r\n }\r\n }\r\n };","import jwt from 'jsonwebtoken';\r\nimport {refreshToken} from '../../components/refreshToken/reducer';\r\n\r\nexport default function refreshTokenMiddleware(){\r\n return ({ dispatch, getState }) => next => (action) => {\r\n if (typeof action === 'function') {\r\n const token = jwt.decode(localStorage.getItem('jwtToken'))\r\n const refreshThreshold = (Math.round(Date.now() / 1000));\r\n if (token && refreshThreshold > token.exp) {\r\n refreshToken(dispatch).then(() => {\r\n return next(action)\r\n }, err=> { throw err; })\r\n .catch((err) => {\r\n return next(action)\r\n });\r\n }\r\n else{\r\n return next(action);\r\n }\r\n }\r\n else{\r\n return next(action);\r\n }\r\n }\r\n}\r\n","import axios from 'axios';\r\nimport { serverUrl } from '../config';\r\n\r\nexport default class BellService{\r\n static getBrokerMessages() {\r\n const url = `${serverUrl}api/broker/bell`;\r\n return axios.get(url);\r\n };\r\n static getClientMessages() {\r\n const url = `${serverUrl}api/client/bell`;\r\n return axios.get(url);\r\n }\r\n static getUnconfirmedContracts(){\r\n return axios.get(`${serverUrl}api/client/account/get-unconfirmed-count`);\r\n }\r\n static getConfirmedContracts(){\r\n return axios.get(`${serverUrl}api/client/account/get-confirmed-count`);\r\n }\r\n static getAdvertsCount() {\r\n const url = `${serverUrl}api/broker/bell/counter`;\r\n return axios.get(url);\r\n }\r\n}\r\n","import BellService from \"./BellService\";\r\nimport update from '../helpers/update';\r\n\r\nexport const BELL_BROKERS_SUCCESS = \"BELL_BROKERS_SUCCESS\";\r\nexport const BELL_BROKERS_STARTED = \"BELL_BROKERS_STARTED\";\r\nexport const BELL_BROKERS_FAILED = \"BELL_BROKERS_FAILED\";\r\nexport const BELL_CLIENTS_SUCCESS = \"BELL_CLIENTS_SUCCESS\";\r\nexport const BELL_CLIENTS_STARTED = \"BELL_CLIENTS_STARTED\";\r\nexport const BELL_CLIENTS_FAILED = \"BELL_CLIENTS_FAILED\";\r\nexport const COUNT_ADVERTS_SUCCESS = \"COUNT_ADVERTS_SUCCESS\";\r\nexport const COUNT_ADVERTS_STARTED = \"COUNT_ADVERTS_STARTED\";\r\nexport const COUNT_ADVERTS_FAILED = \"COUNT_ADVERTS_FAILED\";\r\n//getUnconfirmedContracts\r\nexport const GET_UNCONFIRMED_CONTRACTS = \"GET_UNCONFIRMED_CONTRACTS\";\r\nexport const GET_CONFIRMED_CONTRACTS = \"GET_CONFIRMED_CONTRACTS\";\r\n\r\n\r\n\r\nconst initialState = {\r\n list: {\r\n data: [],\r\n loading: false,\r\n error: false\r\n },\r\n list1: {\r\n data: [],\r\n loading: false,\r\n error: false\r\n },\r\n countAdverts: {\r\n count: 0,\r\n loading: false,\r\n error: false\r\n },\r\n unconfirmedContracts: {\r\n count: 0,\r\n advertId: 0\r\n },\r\n confirmedContracts: 0\r\n}\r\n\r\n\r\nexport const getUnconfirmed = () => {\r\n return dispatch => {\r\n BellService.getUnconfirmedContracts()\r\n .then((response) => {\r\n dispatch({\r\n type: GET_UNCONFIRMED_CONTRACTS,\r\n payload: response.data\r\n })\r\n })\r\n };\r\n}\r\nexport const getConfirmed = () => {\r\n return dispatch => {\r\n BellService.getConfirmedContracts()\r\n .then((response) => {\r\n dispatch({\r\n type: GET_CONFIRMED_CONTRACTS,\r\n payload: response.data\r\n })\r\n })\r\n };\r\n}\r\n\r\nconst getCounterAdvertsData = dispatch => {\r\n dispatch(getCounterAdvertsActions.started());\r\n BellService.getAdvertsCount()\r\n .then(\r\n response => {\r\n dispatch(getCounterAdvertsActions.success(response));\r\n },\r\n error => {\r\n throw error;\r\n }\r\n )\r\n .catch(error => {\r\n dispatch(getCounterAdvertsActions.failed(error.response));\r\n });\r\n};\r\n\r\nconst getBrokersBellData = dispatch => {\r\n dispatch(getBrokersActions.started());\r\n BellService.getBrokerMessages()\r\n .then(\r\n response => {\r\n dispatch(getBrokersActions.success(response));\r\n },\r\n error => {\r\n throw error;\r\n }\r\n )\r\n .catch(error => {\r\n dispatch(getBrokersActions.failed(error.response));\r\n });\r\n};\r\n\r\nconst getClientsBellData = dispatch => {\r\n dispatch(getClientsActions.started());\r\n BellService.getClientMessages()\r\n .then(\r\n response => {\r\n dispatch(getClientsActions.success(response));\r\n },\r\n error => {\r\n throw error;\r\n }\r\n )\r\n .catch(error => {\r\n dispatch(getClientsActions.failed(error.response));\r\n });\r\n};\r\n\r\nexport const getAdvertsCount = () => {\r\n return dispatch => {\r\n getCounterAdvertsData(dispatch);\r\n };\r\n};\r\n\r\nexport const getDataBroker = () => {\r\n return dispatch => {\r\n getBrokersBellData(dispatch);\r\n };\r\n};\r\n\r\nexport const getDataClient = () => {\r\n return dispatch => {\r\n getClientsBellData(dispatch);\r\n };\r\n};\r\n\r\n\r\n\r\nexport const brokerBellReducer = (state = initialState, action) => {\r\n\r\n let newState = state;\r\n switch (action.type) {\r\n case BELL_BROKERS_STARTED: {\r\n newState = update.set(state, 'list.loading', true);\r\n break;\r\n }\r\n case BELL_BROKERS_SUCCESS: {\r\n newState = update.set(state, 'list.loading', false);\r\n newState = update.set(newState, 'list.data', action.payload.messages);\r\n break;\r\n }\r\n case BELL_BROKERS_FAILED: {\r\n newState = update.set(state, 'list.loading', false);\r\n newState = update.set(newState, 'list.error', true);\r\n break;\r\n }\r\n case BELL_CLIENTS_STARTED: {\r\n newState = update.set(state, 'list1.loading', true);\r\n break;\r\n }\r\n case BELL_CLIENTS_SUCCESS: {\r\n newState = update.set(state, 'list1.loading', false);\r\n newState = update.set(newState, 'list1.data', action.payload.messages);\r\n break;\r\n }\r\n case BELL_CLIENTS_FAILED: {\r\n newState = update.set(state, 'list1.loading', false);\r\n newState = update.set(newState, 'list1.error', true);\r\n break;\r\n }\r\n case COUNT_ADVERTS_STARTED: {\r\n newState = update.set(state, 'countAdverts.loading', true);\r\n break;\r\n }\r\n case COUNT_ADVERTS_SUCCESS: {\r\n newState = update.set(state, 'countAdverts.loading', false);\r\n newState = update.set(newState, 'countAdverts.count', action.payload);\r\n break;\r\n }\r\n case COUNT_ADVERTS_FAILED: {\r\n newState = update.set(state, 'countAdverts.loading', false);\r\n newState = update.set(newState, 'countAdverts.error', true);\r\n break;\r\n }\r\n case GET_UNCONFIRMED_CONTRACTS: {\r\n newState = update.set(state, 'unconfirmedContracts', action.payload);\r\n\r\n break;\r\n }\r\n case GET_CONFIRMED_CONTRACTS: {\r\n newState = update.set(state, 'confirmedContracts', action.payload);\r\n\r\n break;\r\n }\r\n\r\n\r\n default: {\r\n return newState;\r\n }\r\n }\r\n return newState;\r\n}\r\n\r\nexport const getBrokersActions = {\r\n started: () => {\r\n return {\r\n type: BELL_BROKERS_STARTED\r\n }\r\n },\r\n success: (data) => {\r\n return {\r\n type: BELL_BROKERS_SUCCESS,\r\n payload: data.data\r\n }\r\n },\r\n failed: (error) => {\r\n return {\r\n type: BELL_BROKERS_FAILED\r\n }\r\n }\r\n}\r\n\r\nexport const getClientsActions = {\r\n started: () => {\r\n return {\r\n type: BELL_CLIENTS_STARTED\r\n }\r\n },\r\n success: (data) => {\r\n return {\r\n type: BELL_CLIENTS_SUCCESS,\r\n payload: data.data\r\n }\r\n },\r\n failed: (error) => {\r\n return {\r\n type: BELL_CLIENTS_FAILED\r\n }\r\n }\r\n}\r\n\r\nexport const getCounterAdvertsActions = {\r\n started: () => {\r\n return {\r\n type: COUNT_ADVERTS_STARTED\r\n }\r\n },\r\n success: (data) => {\r\n return {\r\n type: COUNT_ADVERTS_SUCCESS,\r\n payload: data.data\r\n }\r\n },\r\n failed: (error) => {\r\n return {\r\n type: COUNT_ADVERTS_FAILED\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\n","import { applyMiddleware, combineReducers, compose, createStore } from 'redux';\r\nimport thunk from 'redux-thunk';\r\nimport { connectRouter, routerMiddleware } from 'connected-react-router';\r\n//import { createBrowserHistory } from 'history';\r\n//import createHistory from 'history/createHashHistory';\r\nimport {createBrowserHistory} from \"history\";\r\n\r\nimport client from '../reducers/client';\r\n//import auth from \"../reducers/auth\";\r\n// import broker from '../reducers/broker';\r\nimport admin from '../reducers/admin';\r\nimport { captchaReducer } from \"../components/captcha/reducer\";\r\nimport { addAdvertReducer } from \"../components/client/advert/add-advert/reducer\";\r\nimport { propositionInfoReducer } from \"../components/broker/propositionInfo/reducer\";\r\nimport { contractInfoReducer } from \"../components/broker/contractInfo/reducer\";\r\nimport { propostionsAndContractsReducer } from \"../components/broker/proposition/reducer\";\r\nimport { clientSearchReducer } from \"../components/adminViews/Clients/reducer\";\r\nimport { brokerSearchReducer } from \"../components/adminViews/Brokers/reducer\";\r\nimport { permissionSearchReducer } from \"../components/adminViews/Permissions/reducer\";\r\nimport { permissionConfirmedReducer } from \"../components/adminViews/PermissionConfirmed/reducer\";\r\nimport { chartRegisterClientReducer } from \"../components/adminViews/ChartsRegisterClient/reducer\";\r\nimport { chartRegisterBrokerReducer } from \"../components/adminViews/ChartsRegisterBroker/reducer\";\r\nimport { compleatedOffersReducer } from \"../components/adminViews/CompleatedOffers/reducer\";\r\nimport { compleatedOfferDetailsReducer } from \"../components/adminViews/CompleatedOfferDetails/reducer\";\r\nimport { chartContractsReducer } from \"../components/adminViews/ChartContracts/reducer\";\r\nimport { loginReducer } from \"../components/Pages/Login/reducer\";\r\nimport { refreshReducer } from '../components/refreshToken/reducer';\r\nimport { advertsReducer } from '../components/broker/adverts/reducer';\r\nimport { offerReducer } from '../components/broker/offer/reducer';\r\nimport { brokerProfileReducer } from \"../components/broker/profile/reducer\";\r\nimport { clientProfileReducer } from \"../components/client/profile/reducer\";\r\nimport { offersReducer } from \"../components/adminViews/Offers/reducer\";\r\nimport { offerDetailsReducer } from \"../components/adminViews/OfferDetails/reducer\";\r\nimport { homeReducer } from \"../components/Pages/Home/redux/reducer\";\r\n\r\nimport refreshTokenMiddleware from './middleware/refreshTokenMiddleware';\r\nimport { employeesReducer } from '../components/company/Employees/reducer';\r\nimport { registerEmployeeReducer } from '../components/company/RegisterEmployees/reducer';\r\nimport { archiveOfOffersReducer } from '../components/company/ArchiveOfOffers/reducer';\r\nimport { archiveOfContractsReducer } from '../components/company/ArchiveOfContracts/reducer';\r\nimport { advertDetailsReducer } from \"../components/client/advert/advert-details/reducer\";\r\nimport { listAdvertsReducer } from \"../components/client/advert/adverts-list/reducer\";\r\nimport { brokerBellReducer } from \"../views/reducer\";\r\nimport { complaintClientReducer } from \"../components/client/complaint/reducer\";\r\nimport { complaintBrokerReducer } from \"../components/broker/complaint/reducer\";\r\n\r\n\r\n// Create browser history to use in the Redux store\r\nconst baseUrl = document.getElementsByTagName('base')[0].getAttribute('href');\r\nexport const history = createBrowserHistory({ basename: baseUrl });\r\n\r\nexport default function configureStore(history, initialState) {\r\n const reducers = {\r\n client,\r\n //auth,\r\n //broker,\r\n admin,\r\n captcha: captchaReducer,\r\n addAdvert: addAdvertReducer,\r\n propositionInfo: propositionInfoReducer,\r\n contractInfo: contractInfoReducer,\r\n propostionsAndContracts: propostionsAndContractsReducer,\r\n clientSerch: clientSearchReducer,\r\n brokerSearch: brokerSearchReducer,\r\n chartClient: chartRegisterClientReducer,\r\n chartBroker: chartRegisterBrokerReducer,\r\n chartContracts: chartContractsReducer,\r\n login: loginReducer,\r\n refreshToken: refreshReducer,\r\n companyEmployeers: employeesReducer,\r\n offer: offerReducer,\r\n brokerProfile: brokerProfileReducer,\r\n clientProfile: clientProfileReducer,\r\n adverts: advertsReducer,\r\n registerEmployee: registerEmployeeReducer,\r\n archiveOfOffers: archiveOfOffersReducer,\r\n archiveOfContracts: archiveOfContractsReducer,\r\n advertDetails: advertDetailsReducer,\r\n advertsList: listAdvertsReducer,\r\n permissions: permissionSearchReducer,\r\n permissionConfirmed: permissionConfirmedReducer,\r\n compleatedOffers: compleatedOffersReducer,\r\n compleatedOfferDetails: compleatedOfferDetailsReducer,\r\n offers: offersReducer,\r\n offerdetails: offerDetailsReducer,\r\n brokerBell: brokerBellReducer,\r\n complaintBroker: complaintBrokerReducer,\r\n complaintClient: complaintClientReducer,\r\n home:homeReducer\r\n };\r\n\r\n const middleware = [\r\n refreshTokenMiddleware(),\r\n thunk,\r\n routerMiddleware(history)\r\n ];\r\n\r\n const enhancers = [];\r\n const isDevelopment = process.env.NODE_ENV === 'development';\r\n if (isDevelopment && typeof window !== 'undefined' && window.devToolsExtension) {\r\n enhancers.push(window.devToolsExtension());\r\n }\r\n\r\n const rootReducer = combineReducers({\r\n ...reducers,\r\n router: connectRouter(history)\r\n });\r\n\r\n return createStore(\r\n rootReducer,\r\n initialState,\r\n compose(applyMiddleware(...middleware), ...enhancers)\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { Redirect, Route } from \"react-router-dom\";\r\nimport { connect } from \"react-redux\";\r\nimport get from \"lodash.get\";\r\n\r\nconst LoginLayout = ({ children }) => {\r\n const { auth, roles } = children.props;\r\n let redirectTo = \"/login\";\r\n\r\n for (let i = 0; i < roles.length; i++) {\r\n if (roles[i] === \"Client\") redirectTo = \"/client/profile\";\r\n else if (roles[i] === \"Broker\") redirectTo = \"/broker/profile\";\r\n else if (roles[i] === \"Admin\") redirectTo = \"/admin/clients\";\r\n }\r\n return auth ? : ;\r\n};\r\n\r\nconst LoginLayoutRoute = ({ component: Component, ...rest }) => {\r\n const { isAuthenticated, roles } = rest;\r\n return (\r\n (\r\n \r\n \r\n \r\n ) }\r\n />\r\n );\r\n};\r\n\r\nconst mapStateToProps = state => {\r\n ////console.log(\"---map props----\", state);\r\n return {\r\n isAuthenticated: get(state, \"auth.isAuthenticated\"),\r\n roles: get(state, \"auth.user.roles\")\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(LoginLayoutRoute);\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport get from 'lodash.get';\r\nimport * as getBrokersActions from \"./views/reducer\";\r\n\r\nvar interval = null;\r\nclass ColotunWorker extends Component {\r\n constructor (props) {\r\n super(props);\r\n this.state = {\r\n login: this.props.login,\r\n timer: null\r\n }\r\n }\r\n\r\n UNSAFE_componentWillReceiveProps = (nextProps) => {\r\n this.setState({\r\n login: nextProps.login\r\n });\r\n this.sarik(nextProps.login);\r\n\r\n }\r\n\r\n componentWillUnmount() {\r\n this.sarik(null);\r\n }\r\n\r\n componentDidMount() {\r\n this.sarik(this.state.login);\r\n }\r\n sarik = (login) => {\r\n const { isAuthenticated } = login;\r\n if (isAuthenticated) {\r\n\r\n const { roles } = login.user;\r\n if (Array.isArray(roles)) {\r\n\r\n for (let i = 0; i < roles.length; i++) {\r\n if (roles[i] === \"Broker\") {\r\n interval = setInterval(() => {\r\n this.props.getDataBroker();\r\n this.props.getAdvertsCount();\r\n // //console.log(\"Broker\");\r\n }, 10000);\r\n break;\r\n } else if (roles[i] === \"Client\") {\r\n interval = setInterval(() => {\r\n this.props.getDataClient();\r\n this.props.getUnconfirmed();\r\n // this.props.getConfirmed();\r\n\r\n // //console.log(\"Client\");\r\n\r\n }, 10000);\r\n break;\r\n }\r\n }\r\n } else {\r\n if (roles === \"Broker\") {\r\n interval = setInterval(() => {\r\n this.props.getDataBroker();\r\n this.props.getAdvertsCount();\r\n // //console.log(\"Broker2\");\r\n\r\n }, 10000);\r\n } else if (roles === \"Client\") {\r\n interval = setInterval(() => {\r\n this.props.getDataClient();\r\n this.props.getUnconfirmed();\r\n\r\n // //console.log(\"Client2\");\r\n\r\n }, 10000);\r\n }\r\n }\r\n\r\n }\r\n else {\r\n ////console.log(\"semen--------------------------\");\r\n clearInterval(interval);\r\n //this.timer = null;\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n login: get(state, 'login')\r\n };\r\n}\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n getDataBroker: () => {\r\n dispatch(getBrokersActions.getDataBroker());\r\n },\r\n getDataClient: () => {\r\n dispatch(getBrokersActions.getDataClient());\r\n },\r\n getAdvertsCount: () => {\r\n dispatch(getBrokersActions.getAdvertsCount());\r\n },\r\n getUnconfirmed: () => {\r\n dispatch(getBrokersActions.getUnconfirmed());\r\n },\r\n getConfirmed: () => {\r\n dispatch(getBrokersActions.getConfirmed());\r\n }\r\n }\r\n}\r\nColotunWorker.propTypes =\r\n{\r\n login: PropTypes.object.isRequired\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ColotunWorker);\r\n","import common from \"./common.json\";\r\nimport navbar from \"./navbar.json\";\r\nimport footer from \"./footer.json\";\r\nimport home from \"./home.json\";\r\n\r\nexport default {\r\n common,\r\n navbar,\r\n footer,\r\n home,\r\n}","import common from \"./common.json\";\r\nimport navbar from \"./navbar.json\";\r\nimport footer from \"./footer.json\";\r\nimport home from \"./home.json\";\r\n\r\nexport default {\r\n common,\r\n navbar,\r\n footer,\r\n home,\r\n}","import i18n from \"i18next\";\r\nimport LanguageDetector from \"i18next-browser-languagedetector\";\r\nimport { initReactI18next } from \"react-i18next\";\r\n\r\nimport languageUK from \"./translations/uk/translate\";\r\nimport languageRU from \"./translations/ru/translate\";\r\n\r\ni18n.on(\"languageChanged\", function (lng) {\r\n let finish = false;\r\n console.log(\"her\");\r\n if (!window.location.pathname.includes(\"/\" + lng) ) {\r\n \r\n if(lng == \"uk\" && !window.location.pathname.includes(\"/ru\")){\r\n finish = true;\r\n }\r\n if ( window.location.pathname.includes(\"/ru\") && lng == \"uk\" ) {\r\n const newUrl = window.location.pathname.replace(\r\n \"/ru\",\r\n \"\"\r\n );\r\n console.log(\"new\",newUrl)\r\n window.history.replaceState(null, \"\", newUrl);\r\n finish = true;\r\n }\r\n if (!finish) {\r\n window.history.replaceState(\r\n null,\r\n \"\",\r\n \"/\" + lng + window.location.pathname\r\n );\r\n }\r\n }\r\n});\r\n\r\ni18n\r\n .use(LanguageDetector)\r\n .use(initReactI18next)\r\n .init({\r\n resources: {\r\n uk: languageUK,\r\n ru: languageRU,\r\n },\r\n otherLanguages: [ \"uk\", \"ru\"],\r\n react: {\r\n wait: true,\r\n useSuspense: true,\r\n bindI18n: \"languageChanged loaded\",\r\n bindStore: \"added removed\",\r\n nsMode: \"default\",\r\n },\r\n fallbackLng: [\"uk\"],\r\n whitelist: [ \"uk\", \"ru\"],\r\n detection: {\r\n order: [\"path\",'localStorage'],\r\n lookupFromPathIndex: 0,\r\n checkWhitelist: true,\r\n },\r\n interpolation: {\r\n escapeValue: false,\r\n formatSeparator: \".\",\r\n },\r\n });\r\n\r\nexport default i18n;\r\n","import React, { Component } from 'react';\r\n//import { HashRouter as Router, Route, Switch } from 'react-router-dom';\r\nimport { Route, Switch, Router } from \"react-router\";\r\n\r\nimport './App.scss';\r\n//import \"react-responsive-carousel/lib/styles/carousel.min.css\";\r\nimport LoginLayout from './containers/LoginLayout';\r\nimport ColotunWorker from './ColotunWorker';\r\nimport EclipseWidget from './components/eclipse';\r\n\r\nimport i18n from \"./locale/i18n\";\r\n\r\nconst loading = () => ;\r\n\r\n// Containers\r\nconst AdminLayout = React.lazy(() => import('./containers/AdminLayout'));\r\nconst BrokerLayout = React.lazy(() => import('./containers/BrokerLayout'));\r\nconst ClientLayout = React.lazy(() => import('./containers/ClientLayout'));\r\nconst CompanyLayout = React.lazy(() => import('./containers/CompanyLayout'));\r\n\r\n\r\n// Pages\r\nconst Login = React.lazy(() => import('./components/Pages/Login'));\r\nconst RegisterCompany = React.lazy(() => import('./components/Pages/RegisterCompany'));\r\nconst RegisterBroker = React.lazy(() => import('./components/Pages/RegisterBroker'));\r\nconst RegisterClient = React.lazy(() => import('./components/Pages/RegisterClient'));\r\nconst ForgotPassword = React.lazy(() => import('./components/Pages/ForgotPassword'));\r\nconst Terms = React.lazy(() => import('./components/Pages/TermsOfUsePage/Terms'));\r\nconst Agreement = React.lazy(() => import('./components/Pages/TermsOfUsePage/Agreement'));\r\nconst AboutUs = React.lazy(() => import('./components/Pages/AboutUs'));\r\nconst Page404 = React.lazy(() => import('./components/Pages/Page404'));\r\nconst Page500 = React.lazy(() => import('./components/Pages/Page500'));\r\n// const HomePage = React.lazy(() => import('./components/Pages/HomePage'));\r\nconst HomePage = React.lazy(() => import('./components/Pages/Home'));\r\n\r\nconst ClientInfoPage = React.lazy(() => import('./components/Pages/ClientInfoPage'));\r\nconst BrokerInfoPage = React.lazy(() => import('./components/Pages/BrokerInfoPage'));\r\nconst CompanyInfoPage = React.lazy(() => import('./components/Pages/CompanyInfoPage'));\r\n\r\nconst baseRouteUrl = \"/:locale(uk|ru)?\";\r\nexport const baseUrl = i18n.language === \"en\" ? \"\" : \"/\" + i18n.language;\r\n\r\nclass App extends Component {\r\n render() {\r\n return (\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\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\n\r\n\r\nexport default App;\r\n","// In production, we register a service worker to serve assets from local cache.\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 the \"N+1\" visit to a page, since previously\r\n// cached resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.\r\n// This link also includes instructions on opting out of this behavior.\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.1/8 is 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);\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://goo.gl/SC7cgQ'\r\n );\r\n });\r\n } else {\r\n // Is not local host. 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 installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the old content will have been purged and\r\n // the fresh content will have been added to the cache.\r\n // It's the perfect time to display a \"New content is\r\n // available; please refresh.\" message in your web app.\r\n ////console.log('New content is available; please refresh.');\r\n\r\n // Execute callback\r\n if (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.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 .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n if (\r\n response.status === 404 ||\r\n response.headers.get('content-type').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.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","import \"react-app-polyfill/ie9\"; // For IE 9-11 support\r\nimport \"react-app-polyfill/stable\";\r\nimport \"./polyfill\";\r\nimport React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { Provider } from \"react-redux\";\r\n\r\nimport { ConnectedRouter } from \"connected-react-router\";\r\nimport configureStore, { history } from \"./store/configureStore\";\r\n\r\nimport App from \"./App\";\r\nimport * as serviceWorker from \"./serviceWorker\";\r\nimport * as loginActions from \"./components/Pages/Login/reducer\";\r\nimport jwt from \"jsonwebtoken\";\r\n\r\nimport { I18nextProvider } from \"react-i18next\";\r\nimport i18n from \"./locale/i18n\";\r\n\r\nconst initialState = window.initialReduxState;\r\nconst store = configureStore(history, initialState);\r\n\r\nif (localStorage.jwtToken) {\r\n const token = jwt.decode(localStorage.getItem('jwtToken'));\r\n const refreshThreshold = (Math.round(Date.now() / 1000));\r\n if (token && refreshThreshold > token.exp) {\r\n loginActions.logoutByJWT(store.dispatch);\r\n\r\n history.push(\"/login\");\r\n document.location.reload()\r\n\r\n }\r\n let data = {\r\n token: localStorage.jwtToken,\r\n refToken: localStorage.refreshToken,\r\n };\r\n let user = jwt.decode(data.token);\r\n if (!Array.isArray(user.roles)) {\r\n user.roles = Array.of(user.roles);\r\n }\r\n\r\n loginActions.loginByJWT(data, store.dispatch);\r\n}\r\n\r\nconst rootElement = document.getElementById(\"root\");\r\n\r\nReactDOM.render(\r\n \r\n \r\n \r\n \r\n \r\n \r\n ,\r\n rootElement\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: http://bit.ly/CRA-PWA\r\nserviceWorker.unregister();\r\n"],"sourceRoot":""}