Skip to content

Commit f3f17af

Browse files
committed
get enhanced PO data to configure
1 parent 979f51f commit f3f17af

File tree

3 files changed

+35
-6
lines changed

3 files changed

+35
-6
lines changed

pages/requests/[uuid].js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import {
2222
statusBarBg,
2323
useMessages,
2424
useFiles,
25+
useAllPOs,
2526
useAllSOWs,
2627
useOneRequest,
2728
} from '../../utils'
@@ -36,6 +37,8 @@ const Request = () => {
3637
const { uuid } = router.query
3738
const { request, isLoadingRequest, isRequestError } = useOneRequest(uuid, session?.accessToken)
3839
const { allSOWs, isLoadingSOWs, isSOWError } = useAllSOWs(uuid, request?.identifier, session?.accessToken)
40+
const { allPOs, isLoadingPOs, isPOError } = useAllPOs(request?.quotedWareID, uuid, request?.identifier, session?.accessToken)
41+
//console.log(allPOs, 'uuid.js all POS')
3942
const { messages, isLoadingMessages, isMessagesError, mutateMessages, messagesData } = useMessages(uuid, session?.accessToken)
4043
const { files, isLoadingFiles, isFilesError, mutateFiles, filesData } = useFiles(uuid, session?.accessToken)
4144
const documents = (allSOWs) ? [...allSOWs] : []

utils/api/configurations.js

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ export const configureRequests = ({ data, path }) => {
6969
export const configureErrors = (errors) => {
7070
const env = process.env.NODE_ENV
7171
const remainingErrors = errors
72-
.filter(error => Object.keys(error).length)
72+
.filter(error => error && Object.keys(error).length)
7373
.map(error => ({
7474
...error,
7575
message: `${error.message} (${error.response?.data?.message})`,
@@ -186,6 +186,8 @@ export const configureFiles = (data) => {
186186
}
187187

188188
export const configureDocuments = (documents, requestIdentifier) => {
189+
//lineitems, shipto, shipfrom, and terms are only in SOWs
190+
// POs will need a SOW identifier to match up and get data from the correct SOW
189191
return documents?.map(document => ({
190192
identifier: document.identifier,
191193
date: normalizeDate(document.created_at),
@@ -201,16 +203,20 @@ export const configureDocuments = (documents, requestIdentifier) => {
201203
totalPrice: document.retail_total_price_currency,
202204
shippingPrice: document.shipping_cost_currency,
203205
shipTo: {
204-
organizationName: document.ship_to.organization_name,
205-
text: document.ship_to.text,
206+
organizationName: document.ship_to?.organization_name,
207+
text: document.ship_to?.text,
206208
},
207209
shipFrom: {
208-
organizationName: document.ship_from.organization_name,
209-
text: document.ship_from.text,
210+
organizationName: document.ship_from?.organization_name,
211+
text: document.ship_from?.text,
210212
},
211213
}))
212214
}
213215

216+
// export const configurePOs = (POs, requestIdentifier, relatedSOWIdentifier) => {
217+
218+
// }
219+
214220
const configureLineItems = (lineItems) => (lineItems.map(lineItem => ({
215221
id: lineItem.id,
216222
quantity: lineItem.quantity,

utils/api/requests.js

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import {
77
configureMessages,
88
configureRequests,
99
} from './configurations'
10-
import { posting } from './base'
10+
import { posting, fetcher } from './base'
1111

1212
/** GET METHODS */
1313
export const useAllRequests = (accessToken) => {
@@ -55,6 +55,26 @@ export const useAllSOWs = (id, requestIdentifier, accessToken) => {
5555
}
5656
}
5757

58+
export const useAllPOs = (quotedWareId, uuid, requestIdentifier, accessToken) => {
59+
const { data: allPOData, error: allPOErrors } = useSWR(quotedWareId ? [`quote_groups/${uuid}/quoted_wares/${quotedWareId}/purchase_orders.json`, accessToken] : null)
60+
let allPOs
61+
let arrayOfPOIds = []
62+
let enhancedPOArray = []
63+
allPOData && allPOData.map((po) => {arrayOfPOIds.push(po.id)})
64+
arrayOfPOIds && arrayOfPOIds.map( async (poId) => {
65+
let onePOData = await fetcher(`quote_groups/${uuid}/quoted_wares/${quotedWareId}/purchase_orders/${poId}.json`, accessToken)
66+
enhancedPOArray.push(onePOData)
67+
})
68+
if (enhancedPOArray.length) {
69+
allPOs = configurePOs(enhancedPOArray, requestIdentifier)
70+
}
71+
return {
72+
allPOs,
73+
//isLoadingPOs: !error && !data,
74+
//isPOError: error,
75+
}
76+
}
77+
5878
export const useMessages = (requestUuid, accessToken) => {
5979
const { data, error, mutate } = useSWR(requestUuid ? [`/quote_groups/${requestUuid}/messages.json`, accessToken] : null)
6080
let messages

0 commit comments

Comments
 (0)