Skip to content

Commit e61f6e2

Browse files
authored
Merge branch 'main' into 143-check-for-ware-ref
2 parents 7524c19 + 5dd6849 commit e61f6e2

File tree

4 files changed

+34
-4
lines changed

4 files changed

+34
-4
lines changed

pages/requests/new/[ware].js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,16 @@ import {
1919
configureErrors,
2020
createRequest,
2121
requestFormHeaderBg,
22+
sendRequestToVendor,
2223
useInitializeRequest,
2324
} from '../../../utils'
2425

2526
const NewRequest = () => {
2627
const router = useRouter()
2728
const { data: session } = useSession()
29+
const accessToken = session?.accessToken
2830
const wareID = router.query.id
29-
const { dynamicForm, isLoadingInitialRequest, isInitialRequestError } = useInitializeRequest(wareID, session?.accessToken)
31+
const { dynamicForm, isLoadingInitialRequest, isInitialRequestError } = useInitializeRequest(wareID, accessToken)
3032
const oneWeekFromNow = addDays((new Date()), 7).toISOString().slice(0, 10)
3133
const initialFormData = { 'suppliers_identified': 'Yes' }
3234
const initialState = {
@@ -97,10 +99,13 @@ const NewRequest = () => {
9799
const { data, error } = await createRequest({
98100
dynamicFormData: { name: dynamicForm.name, formData, ...requestForm },
99101
wareID,
100-
accessToken: session?.accessToken,
102+
accessToken,
101103
})
102104
if (error) return setCreateRequestError(error)
103105

106+
const sentToVendor = await sendRequestToVendor(data.id, accessToken)
107+
if (sentToVendor.error) return setCreateRequestError(sentToVendor.error)
108+
104109
setCreatedRequestUUID(data.uuid)
105110
}
106111

utils/api/base.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,3 +29,21 @@ export const posting = async (url, data, token) => {
2929
return { success: false, error, requestID: undefined }
3030
}
3131
}
32+
33+
export const updating = async (url, data, token) => {
34+
try {
35+
const response = await api.put(url, data, { headers: defaultHeaders(token) })
36+
37+
return {
38+
data: response.data,
39+
error: false,
40+
}
41+
} catch (error) {
42+
// TODO(alishaevn): handle the error when sentry is set up
43+
console.error(`The following error occurred when trying to update data:`, error)
44+
return {
45+
data: undefined,
46+
error,
47+
}
48+
}
49+
}

utils/api/configurations.js

Lines changed: 1 addition & 1 deletion
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})`,

utils/api/requests.js

Lines changed: 8 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 { fetcher, posting } from './base'
10+
import { fetcher, posting, updating } from './base'
1111

1212
/** GET METHODS */
1313
export const useAllRequests = (accessToken) => {
@@ -221,3 +221,10 @@ export const createRequest = async ({ dynamicFormData, wareID, accessToken }) =>
221221
return { data, error }
222222
/* eslint-enable camelcase */
223223
}
224+
225+
/** PUT METHODS */
226+
export const sendRequestToVendor = async (requestID, accessToken) => {
227+
const { data, error } = await updating(`/quote_groups/${requestID}/send_to_vendors.json`, {}, accessToken)
228+
229+
return { data, error }
230+
}

0 commit comments

Comments
 (0)