@@ -95,36 +95,40 @@ export class BookingService {
9595 }
9696
9797 fetchBookings ( ) {
98- return this . http
99- . get < { [ key : string ] : BookingData } > (
100- `https://ionic-angular-backend-66c35-default-rtdb.asia-southeast1.firebasedatabase.app/bookings.json?orderBy="userId"&equalTo="${ this . auth . userId } "`
101- )
102- . pipe (
103- map ( ( bookingData ) => {
104- const bookings = [ ] ;
105- for ( const key in bookingData ) {
106- if ( bookingData . hasOwnProperty ( key ) ) {
107- bookings . push (
108- new Booking (
109- key ,
110- bookingData [ key ] . placeId ,
111- bookingData [ key ] . userId ,
112- bookingData [ key ] . placeTitle ,
113- bookingData [ key ] . placeImage ,
114- bookingData [ key ] . firstName ,
115- bookingData [ key ] . lastName ,
116- bookingData [ key ] . guestnumber ,
117- new Date ( bookingData [ key ] . bookedFrom ) ,
118- new Date ( bookingData [ key ] . bookedTo )
119- )
120- ) ;
121- }
98+ return this . auth . userId . pipe (
99+ switchMap ( ( userId ) => {
100+ if ( ! userId ) {
101+ throw new Error ( 'User not found!' ) ;
102+ }
103+ return this . http . get < { [ key : string ] : BookingData } > (
104+ `https://ionic-angular-backend-66c35-default-rtdb.asia-southeast1.firebasedatabase.app/bookings.json?orderBy="userId"&equalTo="${ userId } "`
105+ ) ;
106+ } ) ,
107+ map ( ( bookingData ) => {
108+ const bookings = [ ] ;
109+ for ( const key in bookingData ) {
110+ if ( bookingData . hasOwnProperty ( key ) ) {
111+ bookings . push (
112+ new Booking (
113+ key ,
114+ bookingData [ key ] . placeId ,
115+ bookingData [ key ] . userId ,
116+ bookingData [ key ] . placeTitle ,
117+ bookingData [ key ] . placeImage ,
118+ bookingData [ key ] . firstName ,
119+ bookingData [ key ] . lastName ,
120+ bookingData [ key ] . guestnumber ,
121+ new Date ( bookingData [ key ] . bookedFrom ) ,
122+ new Date ( bookingData [ key ] . bookedTo )
123+ )
124+ ) ;
122125 }
123- return bookings ;
124- } ) ,
125- tap ( ( bookings ) => {
126- this . _bookings . next ( bookings ) ;
127- } )
128- ) ;
126+ }
127+ return bookings ;
128+ } ) ,
129+ tap ( ( bookings ) => {
130+ this . _bookings . next ( bookings ) ;
131+ } )
132+ ) ;
129133 }
130134}
0 commit comments