11import { UserDataState } from "../GlobalState" ;
22import { GasPriceAvgs , GasStation , Notification , PostCodeLocation , TimeSlotResponse , UserRequest , UserResponse } from "./dtos" ;
33
4- const fetchGasStations = async function ( jwtToken : string , controller : AbortController | null , globalUserDataState : UserDataState ) : Promise < GasStation [ ] > {
4+ const fetchGasStations = async function ( jwtToken : string , controller : AbortController | null , globalUserDataState : UserDataState ) : Promise < GasStation [ ] > {
55 const requestOptions2 = {
6- method : 'POST' ,
7- headers : { 'Content-Type' : 'application/json' , 'Authorization' : `Bearer ${ jwtToken } ` } ,
8- body : JSON . stringify ( { Longitude : globalUserDataState . Longitude , Latitude : globalUserDataState . Latitude , Radius : globalUserDataState . SearchRadius } ) ,
9- signal : controller ?. signal
10- }
11- const result = await fetch ( '/gasstation/search/location' , requestOptions2 ) ;
12- const myResult = result . json ( ) as Promise < GasStation [ ] > ;
13- return myResult ;
6+ method : 'POST' ,
7+ headers : { 'Content-Type' : 'application/json' , 'Authorization' : `Bearer ${ jwtToken } ` } ,
8+ body : JSON . stringify ( { Longitude : globalUserDataState . Longitude , Latitude : globalUserDataState . Latitude , Radius : globalUserDataState . SearchRadius } ) ,
9+ signal : controller ?. signal
10+ }
11+ const result = await fetch ( '/gasstation/search/location' , requestOptions2 ) ;
12+ const myResult = result . json ( ) as Promise < GasStation [ ] > ;
13+ return myResult ;
1414} ;
1515
16- const fetchPriceAvgs = async function ( jwtToken : string , controller : AbortController | null , myPostcode : string ) : Promise < GasPriceAvgs > {
17- const requestOptions3 = {
18- method : 'GET' ,
19- headers : { 'Content-Type' : 'application/json' , 'Authorization' : `Bearer ${ jwtToken } ` } ,
20- signal : controller ?. signal
21- }
22- const result = await fetch ( `/gasprice/avgs/${ myPostcode } ` , requestOptions3 ) ;
23- return result . json ( ) as Promise < GasPriceAvgs > ;
16+ const fetchPriceAvgs = async function ( jwtToken : string , controller : AbortController | null , myPostcode : string ) : Promise < GasPriceAvgs > {
17+ const requestOptions3 = {
18+ method : 'GET' ,
19+ headers : { 'Content-Type' : 'application/json' , 'Authorization' : `Bearer ${ jwtToken } ` } ,
20+ signal : controller ?. signal
21+ }
22+ const result = await fetch ( `/gasprice/avgs/${ myPostcode } ` , requestOptions3 ) ;
23+ return result . json ( ) as Promise < GasPriceAvgs > ;
2424}
2525
26- const fetchUserNotifications = async function ( jwtToken : string , controller : AbortController | null , globalUserUuidState : string ) : Promise < Notification [ ] > {
27- const requestOptions1 = {
28- method : 'GET' ,
29- headers : { 'Content-Type' : 'application/json' , 'Authorization' : `Bearer ${ jwtToken } ` } ,
30- signal : controller ?. signal
31- }
32- const result = await fetch ( `/usernotification/current/${ globalUserUuidState } ` , requestOptions1 ) ;
33- return result . json ( ) as Promise < Notification [ ] > ;
26+ const fetchUserNotifications = async function ( jwtToken : string , controller : AbortController | null , globalUserUuidState : string ) : Promise < Notification [ ] > {
27+ const requestOptions1 = {
28+ method : 'GET' ,
29+ headers : { 'Content-Type' : 'application/json' , 'Authorization' : `Bearer ${ jwtToken } ` } ,
30+ signal : controller ?. signal
31+ }
32+ const result = await fetch ( `/usernotification/current/${ globalUserUuidState } ` , requestOptions1 ) ;
33+ return result . json ( ) as Promise < Notification [ ] > ;
3434}
3535
36- const fetchTimeSlots = async function ( jwtToken : string , controller : AbortController | null , myPostcode : string ) : Promise < TimeSlotResponse [ ] > {
37- const requestOptions2 = {
38- method : 'GET' ,
39- headers : { 'Content-Type' : 'application/json' , 'Authorization' : `Bearer ${ jwtToken } ` } ,
40- signal : controller ?. signal
41- }
42- const result = await fetch ( `/postcode/countytimeslots/${ myPostcode } ` , requestOptions2 ) ;
43- const myResult = result . json ( ) as Promise < TimeSlotResponse [ ] > ;
44- return myResult ;
45- }
36+ const fetchTimeSlots = async function ( jwtToken : string , controller : AbortController | null , myPostcode : string ) : Promise < TimeSlotResponse [ ] > {
37+ const requestOptions2 = {
38+ method : 'GET' ,
39+ headers : { 'Content-Type' : 'application/json' , 'Authorization' : `Bearer ${ jwtToken } ` } ,
40+ signal : controller ?. signal
41+ }
42+ const result = await fetch ( `/postcode/countytimeslots/${ myPostcode } ` , requestOptions2 ) ;
43+ const myResult = result . json ( ) as Promise < TimeSlotResponse [ ] > ;
44+ return myResult ;
45+ }
4646
47- const postLogin = async function ( userName : string , password1 : string , controller : AbortController | null ) : Promise < UserResponse > {
48- const requestOptions = loginSigninOptions ( userName , password1 , controller ) ;
49- const result = await fetch ( '/appuser/login' , requestOptions ) ;
50- return result . json ( ) as Promise < UserResponse > ;
47+ const postLogin = async function ( userName : string , password1 : string , controller : AbortController | null ) : Promise < UserResponse > {
48+ const requestOptions = loginSigninOptions ( userName , password1 , controller ) ;
49+ const result = await fetch ( '/appuser/login' , requestOptions ) ;
50+ return result . json ( ) as Promise < UserResponse > ;
5151}
5252
53- const postSignin = async function ( userName : string , password1 : string , controller : AbortController | null ) : Promise < UserResponse > {
54- const requestOptions = loginSigninOptions ( userName , password1 , controller ) ;
55- const result = await fetch ( '/appuser/signin' , requestOptions ) ;
56- return result . json ( ) as Promise < UserResponse > ;
53+ const postSignin = async function ( userName : string , password1 : string , controller : AbortController | null ) : Promise < UserResponse > {
54+ const requestOptions = loginSigninOptions ( userName , password1 , controller ) ;
55+ const result = await fetch ( '/appuser/signin' , requestOptions ) ;
56+ return result . json ( ) as Promise < UserResponse > ;
5757}
5858
5959const loginSigninOptions = ( userName : string , password1 : string , controller : AbortController | null ) => {
60- return {
61- method : 'POST' ,
62- headers : { 'Content-Type' : 'application/json' } ,
63- body : JSON . stringify ( { Username : userName , Password : password1 } as UserRequest ) ,
64- signal : controller ?. signal
65- } ;
60+ return {
61+ method : 'POST' ,
62+ headers : { 'Content-Type' : 'application/json' } ,
63+ body : JSON . stringify ( { Username : userName , Password : password1 } as UserRequest ) ,
64+ signal : controller ?. signal
65+ } ;
6666} ;
6767
68- const postLocationRadius = async function ( jwtToken : string , controller : AbortController | null , requestString : string ) : Promise < UserResponse > {
69- const requestOptions = {
70- method : 'POST' ,
71- headers : { 'Content-Type' : 'application/json' , 'Authorization' : `Bearer ${ jwtToken } ` } ,
72- body : requestString ,
73- signal : controller ?. signal
74- } ;
75- const response = await fetch ( '/appuser/locationradius' , requestOptions ) ;
76- const userResponse = response . json ( ) as UserResponse ;
77- return userResponse ;
68+ const postLocationRadius = async function ( jwtToken : string , controller : AbortController | null , requestString : string ) : Promise < UserResponse > {
69+ const requestOptions = {
70+ method : 'POST' ,
71+ headers : { 'Content-Type' : 'application/json' , 'Authorization' : `Bearer ${ jwtToken } ` } ,
72+ body : requestString ,
73+ signal : controller ?. signal
74+ } ;
75+ const response = await fetch ( '/appuser/locationradius' , requestOptions ) ;
76+ const userResponse = response . json ( ) as UserResponse ;
77+ return userResponse ;
78+ }
79+
80+ const fetchLocation = async function ( jwtToken : string , controller : AbortController | null , location : string ) : Promise < PostCodeLocation [ ] > {
81+ const requestOptions = {
82+ method : 'GET' ,
83+ headers : { 'Content-Type' : 'application/json' , 'Authorization' : `Bearer ${ jwtToken } ` } ,
84+ signal : controller ?. signal
85+ } ;
86+ const response = await fetch ( `/appuser/location?location=${ location } ` , requestOptions ) ;
87+ const locations = response . json ( ) as Promise < PostCodeLocation [ ] > ;
88+ return locations ;
7889}
7990
80- const fetchLocation = async function ( jwtToken : string , controller : AbortController | null , location : string ) : Promise < PostCodeLocation [ ] > {
91+ const postTargetPrices = async function ( jwtToken : string , controller : AbortController | null , requestString : string ) : Promise < UserResponse > {
8192 const requestOptions = {
82- method : 'GET' ,
83- headers : { 'Content-Type' : 'application/json' , 'Authorization' : `Bearer ${ jwtToken } ` } ,
84- signal : controller ?. signal
85- } ;
86- const response = await fetch ( `/appuser/location?location=${ location } ` , requestOptions ) ;
87- const locations = response . json ( ) as Promise < PostCodeLocation [ ] > ;
88- return locations ;
93+ method : 'POST' ,
94+ headers : { 'Content-Type' : 'application/json' , 'Authorization' : `Bearer ${ jwtToken } ` } ,
95+ body : requestString ,
96+ signal : controller ?. signal
97+ } ;
98+ const response = await fetch ( '/appuser/targetprices' , requestOptions ) ;
99+ const result = response . json ( ) as Promise < UserResponse > ;
100+ return result ;
89101}
90102
91103export { fetchGasStations } ;
@@ -95,4 +107,5 @@ export { fetchTimeSlots };
95107export { postLogin } ;
96108export { postSignin } ;
97109export { postLocationRadius } ;
98- export { fetchLocation } ;
110+ export { fetchLocation } ;
111+ export { postTargetPrices } ;
0 commit comments