@@ -12,7 +12,7 @@ import { fetcher, posting, updating } from './base'
12
12
13
13
/** GET METHODS */
14
14
export const useAllRequests = ( accessToken ) => {
15
- const { data, error } = useSWR ( [ `/quote_groups/mine.json` , accessToken ] )
15
+ const { data, error } = useSWR ( accessToken ? [ `/quote_groups/mine.json` , accessToken ] : null )
16
16
const requests = data && configureRequests ( { data : data . quote_group_refs , path : '/requests' } )
17
17
18
18
return {
@@ -23,7 +23,7 @@ export const useAllRequests = (accessToken) => {
23
23
}
24
24
25
25
export const useOneRequest = ( uuid , accessToken ) => {
26
- const { data, error } = useSWR ( uuid ? [ `/quote_groups/${ uuid } .json` , accessToken ] : null )
26
+ const { data, error } = useSWR ( accessToken ? [ `/quote_groups/${ uuid } .json` , accessToken ] : null )
27
27
let request = data && configureRequests ( { data, path : '/requests' } ) [ 0 ]
28
28
if ( request ) {
29
29
request = {
@@ -43,7 +43,7 @@ export const useOneRequest = (uuid, accessToken) => {
43
43
}
44
44
45
45
export const useAllSOWs = ( id , requestIdentifier , accessToken ) => {
46
- const { data, error } = useSWR ( id ? [ `/quote_groups/${ id } /proposals.json` , accessToken ] : null )
46
+ const { data, error } = useSWR ( accessToken ? [ `/quote_groups/${ id } /proposals.json` , accessToken ] : null )
47
47
let allSOWs
48
48
if ( data ) {
49
49
allSOWs = configureSOWs ( data , requestIdentifier )
@@ -62,7 +62,8 @@ export const getAllPOs = async (quotedWareId, uuid, requestIdentifier, accessTok
62
62
// TODO(summer-cook): eventually we can use the useSWRList hook here instead of mapping & calling the fetcher.
63
63
// This hook is actively being contributed to the swr repo, but the semantics of the work are still being debated.
64
64
// See https://github.com/vercel/swr/discussions/1988 for the RFC and https://github.com/vercel/swr/pull/2047 for the PR.
65
- const data = await fetcher ( `quote_groups/${ uuid } /quoted_wares/${ quotedWareId } /purchase_orders.json` , accessToken )
65
+ const url = ( ) => accessToken ? `quote_groups/${ uuid } /quoted_wares/${ quotedWareId } /purchase_orders.json` : null
66
+ const data = await fetcher ( url ( ) , accessToken )
66
67
const configuredPOs = data ?. map ( async ( po ) => {
67
68
const purchaseOrder = await fetcher ( `quote_groups/${ uuid } /quoted_wares/${ quotedWareId } /purchase_orders/${ po . id } .json` , accessToken )
68
69
return configurePO ( purchaseOrder , requestIdentifier )
@@ -84,12 +85,14 @@ export const getAllPOs = async (quotedWareId, uuid, requestIdentifier, accessTok
84
85
}
85
86
86
87
export const useMessages = ( requestUuid , accessToken ) => {
87
- const { data, error, mutate } = useSWR ( requestUuid ? [ `/quote_groups/${ requestUuid } /messages.json` , accessToken ] : null )
88
+ const { data, error, mutate } = useSWR ( accessToken ? [ `/quote_groups/${ requestUuid } /messages.json` , accessToken ] : null )
88
89
let messages
89
90
if ( data ) {
90
91
messages = configureMessages ( data . messages )
91
92
}
92
93
94
+ // TODO(alishaevn): check that we don't need to change anything here when
95
+ // https://github.com/assaydepot/scientist_api_v2/issues/251 is resolved
93
96
return {
94
97
messages,
95
98
mutateMessages : mutate ,
@@ -100,7 +103,7 @@ export const useMessages = (requestUuid, accessToken) => {
100
103
}
101
104
102
105
export const useFiles = ( id , accessToken ) => {
103
- const { data, error, mutate } = useSWR ( id ? [ `/quote_groups/${ id } /notes.json` , accessToken ] : null )
106
+ const { data, error, mutate } = useSWR ( accessToken ? [ `/quote_groups/${ id } /notes.json` , accessToken ] : null )
104
107
let files
105
108
if ( data ) {
106
109
files = configureFiles ( data . notes )
@@ -117,7 +120,7 @@ export const useFiles = (id, accessToken) => {
117
120
118
121
119
122
export const useInitializeRequest = ( id , accessToken ) => {
120
- const { data, error } = useSWR ( id ? [ `/wares/${ id } /quote_groups/new.json` , accessToken ] : null )
123
+ const { data, error } = useSWR ( accessToken ? [ `/wares/${ id } /quote_groups/new.json` , accessToken ] : null )
121
124
let dynamicForm = { name : data ?. name }
122
125
let dynamicFormInfo = data ?. dynamic_forms [ 0 ]
123
126
@@ -141,7 +144,7 @@ export const useInitializeRequest = (id, accessToken) => {
141
144
}
142
145
143
146
export const useDefaultWare = ( accessToken ) => {
144
- const { data, error } = useSWR ( [ `/wares.json` , accessToken ] )
147
+ const { data, error } = useSWR ( accessToken ? [ `/wares.json` , accessToken ] : null )
145
148
const defaultWare = data ?. ware_refs ?. find ( item => item . slug === 'make-a-request' )
146
149
147
150
return {
@@ -169,7 +172,8 @@ export const createMessageOrFile = ({ id, quotedWareID, message, files, accessTo
169
172
}
170
173
/* eslint-enable camelcase */
171
174
172
- return posting ( `/quote_groups/${ id } /notes.json` , note , accessToken )
175
+ const url = ( ) => accessToken ? `/quote_groups/${ id } /notes.json` : null
176
+ return posting ( url ( ) , note , accessToken )
173
177
}
174
178
175
179
const requestData = ( { request, shipping, billing} ) => {
@@ -234,7 +238,8 @@ export const createRequest = async ({ dynamicFormData, wareID, accessToken }) =>
234
238
timeline : requestTimeline ,
235
239
}
236
240
237
- let { data, error } = await posting ( `/wares/${ wareID } /quote_groups.json` , { pg_quote_group } , accessToken )
241
+ const url = ( ) => accessToken ? `/wares/${ wareID } /quote_groups.json` : null
242
+ let { data, error } = await posting ( url ( ) , { pg_quote_group } , accessToken )
238
243
239
244
if ( data && dynamicFormData . attachments ) {
240
245
/**
@@ -245,6 +250,7 @@ export const createRequest = async ({ dynamicFormData, wareID, accessToken }) =>
245
250
let quotedWareID = data . quoted_ware_refs ?. [ 0 ] ?. id
246
251
if ( ! quotedWareID ) {
247
252
// we have to explicity use fetcher because "useOneRequest" is a hook
253
+ const url = ( ) => accessToken ? `quote_groups/${ uuid } /quoted_wares/${ quotedWareId } /purchase_orders.json` : null
248
254
const res = await fetcher ( `/quote_groups/${ data . id } .json` , accessToken )
249
255
quotedWareID = res . quoted_ware_refs ?. [ 0 ] ?. id
250
256
}
@@ -285,13 +291,15 @@ export const acceptSOWandCreatePO = (request, sow, accessToken) => {
285
291
po_number : `PO${ sow . identifier } ` ,
286
292
}
287
293
288
- return posting ( `/quote_groups/${ request . id } /accept_sow.json` , { pg_quote_group } , accessToken )
294
+ const url = ( ) => accessToken ? `/quote_groups/${ request . id } /accept_sow.json` : null
295
+ return posting ( url ( ) , { pg_quote_group } , accessToken )
289
296
/* eslint-enable camelcase */
290
297
}
291
298
292
299
/** PUT METHODS */
293
300
export const sendRequestToVendor = async ( requestID , accessToken ) => {
294
- const { data, error } = await updating ( `/quote_groups/${ requestID } /send_to_vendors.json` , { } , accessToken )
301
+ const url = ( ) => accessToken ? `/quote_groups/${ requestID } /send_to_vendors.json` : null
302
+ const { data, error } = await updating ( url ( ) , { } , accessToken )
295
303
296
304
return { data, error }
297
305
}
0 commit comments