From cfec230ce3fb525254b8d2ef716f3f8846c7a8e6 Mon Sep 17 00:00:00 2001 From: victorAnumudu Date: Fri, 23 Jun 2023 20:51:37 +0100 Subject: [PATCH] Added API for sending offer interest message --- .../OffersInterest/ManageInterestOffer.jsx | 74 +++++++++++++++---- src/services/UsersService.js | 12 +++ 2 files changed, 71 insertions(+), 15 deletions(-) diff --git a/src/components/OffersInterest/ManageInterestOffer.jsx b/src/components/OffersInterest/ManageInterestOffer.jsx index 6cd251a..56562e2 100644 --- a/src/components/OffersInterest/ManageInterestOffer.jsx +++ b/src/components/OffersInterest/ManageInterestOffer.jsx @@ -21,7 +21,9 @@ export default function ManageInterestOffer(props) { let [requestStatus, setRequestStatus] = useState({loading: false, status: false, message: '', processType: ''}) - const messageList = {data: [1,2,3,4,5,6,7,8,95,6,7,8,9]} // TO BE REMOVED AND REPLACE WITH REAL MESSAGE FROM API CALL + let [messageListReload, setMessageListReload] = useState(false) // STATE TO DETERMINE WHEN MESSAGE LIST WILL RELOAD + + const [messageList, setMessageList] = useState({loading: true, data: [1,2,3,4,5,6,7,8,95,6,7,8,9]}) // TO BE REMOVED AND REPLACE WITH REAL MESSAGE FROM API CALL // const [currentPage, setCurrentPage] = useState(0); // const indexOfFirstItem = Number(currentPage); // const indexOfLastItem = Number(indexOfFirstItem) + Number(process.env.REACT_APP_ITEM_PER_PAGE); @@ -48,6 +50,12 @@ export default function ManageInterestOffer(props) { //FUNCTION TO SEND MESSAGE TO CLIENT const sendMessage = () => { + let reqData = { // API PAYLOADS + msg_type: 'MRKTINT', + yourmessage: messageToSend, + offer_uid: props.offerDetails.offer_uid, + interest_uid: props.offerDetails.interest_uid + } setRequestStatus(prev => ({...prev, loading: true, processType: 'sendmessage'})) if(!messageToSend){ setRequestStatus({loading: false, status: false, message: 'Please enter message to send', processType: 'sendmessage'}) @@ -56,7 +64,21 @@ export default function ManageInterestOffer(props) { if(messageToSend.length > 149){ return } - console.log('GOOD TO GO') + apiCall.offerInterestMsg(reqData).then(res=>{ + if(res.status != 200 || res.data.internal_return < 0){ + setRequestStatus({loading: false, status: false, message: 'message not sent, try again', processType: 'sendmessage'}) + return + } + setRequestStatus({loading: false, status: true, message: 'message sent', processType: 'sendmessage'}) + setMessageToSend('') // sets message to empty strings + setMessageListReload(prev => !prev) //A FUNCTION TO MAKE MESSAGE LIST RELOAD + }).catch(error => { + setRequestStatus({loading: false, status: false, message: 'Opps, an error occured', processType: 'sendmessage'}) + }).finally(()=>{ + setTimeout(() => { + setRequestStatus({loading: false, status: false, message: '', processType: ''}) + }, 5000); + }) } //FUNCTION TO ACCEPT/REJECT OFFER INTEREST @@ -91,8 +113,16 @@ export default function ManageInterestOffer(props) { } useEffect(()=>{ - // run API to get message to replace message array above, add reload variable as dependence array - },[]) + // run API to get message to replace message array above, add reload variable as dependence array. CODE IS DUMMY FOR NOW + setMessageList({loading: true, data: []}) + apiCall.offerInterestMsg().then(res=>{ + console.log('Data', res.data) + setMessageList({loading: false, data:[1,2,3,6,7,8,9]}) + }).catch(err => { + setMessageList({loading: false, data:[1,2,3,6,7,8,9]}) + console.log('Failed', err) + }) + },[messageListReload]) return (
- + {requestStatus.loading && requestStatus.processType == 'sendmessage' ? + + : + + }
@@ -242,7 +277,7 @@ export default function ManageInterestOffer(props) {
- {`${requestStatus.message} redirecting.... ${redirectTime}sec`} + {requestStatus.message}
) ))} @@ -251,12 +286,21 @@ export default function ManageInterestOffer(props) { {/* message list */}
- {messageList.data.map((item, index)=>( + { messageList.loading ? + + : messageList.data.map((item, index)=>(

2023-04-06-from { }Dummy name

I am testing message

- ))} + )) + } + {/* {messageList.data.map((item, index)=>( +
+

2023-04-06-from { }Dummy name

+

I am testing message

+
+ ))} */}
{/* PAGINATION BUTTON */} diff --git a/src/services/UsersService.js b/src/services/UsersService.js index d9546c5..7a6bc8c 100644 --- a/src/services/UsersService.js +++ b/src/services/UsersService.js @@ -729,6 +729,18 @@ class usersService { }; return this.postAuxEnd("/paylistcard", postData); } + + // END POINT TO SEND AND GET OFFER INTEREST MESSAGE + offerInterestMsg(reqData) { + var postData = { + uid: localStorage.getItem("uid"), + member_id: localStorage.getItem("member_id"), + sessionid: localStorage.getItem("session_token"), + action: 13037, + ...reqData + }; + return this.postAuxEnd("/offerinterestmsg", postData); + } /* - 20:27:30.118 FLOG_MAX [757411]: REQ_STRING(username) - 20:27:30.118 FLOG_MAX [757411]: REQ_STRING(password)