@@ -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,7 +85,7 @@ 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 )
@@ -100,7 +101,7 @@ export const useMessages = (requestUuid, accessToken) => {
100
101
}
101
102
102
103
export const useFiles = ( id , accessToken ) => {
103
- const { data, error, mutate } = useSWR ( id ? [ `/quote_groups/${ id } /notes.json` , accessToken ] : null )
104
+ const { data, error, mutate } = useSWR ( accessToken ? [ `/quote_groups/${ id } /notes.json` , accessToken ] : null )
104
105
let files
105
106
if ( data ) {
106
107
files = configureFiles ( data . notes )
@@ -117,7 +118,7 @@ export const useFiles = (id, accessToken) => {
117
118
118
119
119
120
export const useInitializeRequest = ( id , accessToken ) => {
120
- const { data, error } = useSWR ( id ? [ `/wares/${ id } /quote_groups/new.json` , accessToken ] : null )
121
+ const { data, error } = useSWR ( accessToken ? [ `/wares/${ id } /quote_groups/new.json` , accessToken ] : null )
121
122
let dynamicForm = { name : data ?. name }
122
123
let dynamicFormInfo = data ?. dynamic_forms [ 0 ]
123
124
@@ -141,7 +142,7 @@ export const useInitializeRequest = (id, accessToken) => {
141
142
}
142
143
143
144
export const useDefaultWare = ( accessToken ) => {
144
- const { data, error } = useSWR ( [ `/wares.json` , accessToken ] )
145
+ const { data, error } = useSWR ( accessToken ? [ `/wares.json` , accessToken ] : null )
145
146
const defaultWare = data ?. ware_refs ?. find ( item => item . slug === 'make-a-request' )
146
147
147
148
return {
@@ -169,7 +170,8 @@ export const createMessageOrFile = ({ id, quotedWareID, message, files, accessTo
169
170
}
170
171
/* eslint-enable camelcase */
171
172
172
- return posting ( `/quote_groups/${ id } /notes.json` , note , accessToken )
173
+ const url = ( ) => accessToken ? `/quote_groups/${ id } /notes.json` : null
174
+ return posting ( url ( ) , note , accessToken )
173
175
}
174
176
175
177
const requestData = ( { request, shipping, billing} ) => {
@@ -234,7 +236,8 @@ export const createRequest = async ({ dynamicFormData, wareID, accessToken }) =>
234
236
timeline : requestTimeline ,
235
237
}
236
238
237
- let { data, error } = await posting ( `/wares/${ wareID } /quote_groups.json` , { pg_quote_group } , accessToken )
239
+ const url = ( ) => accessToken ? `/wares/${ wareID } /quote_groups.json` : null
240
+ let { data, error } = await posting ( url ( ) , { pg_quote_group } , accessToken )
238
241
239
242
if ( data && dynamicFormData . attachments ) {
240
243
/**
@@ -245,6 +248,7 @@ export const createRequest = async ({ dynamicFormData, wareID, accessToken }) =>
245
248
let quotedWareID = data . quoted_ware_refs ?. [ 0 ] ?. id
246
249
if ( ! quotedWareID ) {
247
250
// we have to explicity use fetcher because "useOneRequest" is a hook
251
+ const url = ( ) => accessToken ? `quote_groups/${ uuid } /quoted_wares/${ quotedWareId } /purchase_orders.json` : null
248
252
const res = await fetcher ( `/quote_groups/${ data . id } .json` , accessToken )
249
253
quotedWareID = res . quoted_ware_refs ?. [ 0 ] ?. id
250
254
}
@@ -285,13 +289,15 @@ export const acceptSOWandCreatePO = (request, sow, accessToken) => {
285
289
po_number : `PO${ sow . identifier } ` ,
286
290
}
287
291
288
- return posting ( `/quote_groups/${ request . id } /accept_sow.json` , { pg_quote_group } , accessToken )
292
+ const url = ( ) => accessToken ? `/quote_groups/${ request . id } /accept_sow.json` : null
293
+ return posting ( url ( ) , { pg_quote_group } , accessToken )
289
294
/* eslint-enable camelcase */
290
295
}
291
296
292
297
/** PUT METHODS */
293
298
export const sendRequestToVendor = async ( requestID , accessToken ) => {
294
- const { data, error } = await updating ( `/quote_groups/${ requestID } /send_to_vendors.json` , { } , accessToken )
299
+ const url = ( ) => accessToken ? `/quote_groups/${ requestID } /send_to_vendors.json` : null
300
+ const { data, error } = await updating ( url ( ) , { } , accessToken )
295
301
296
302
return { data, error }
297
303
}
0 commit comments