diff options
Diffstat (limited to 'src/actions/firebase.js')
-rw-r--r-- | src/actions/firebase.js | 38 |
1 files changed, 27 insertions, 11 deletions
diff --git a/src/actions/firebase.js b/src/actions/firebase.js index 1040554..8cc7d39 100644 --- a/src/actions/firebase.js +++ b/src/actions/firebase.js @@ -20,7 +20,7 @@ export const signIn = (_email, _password) => (dispatch) => { var providerData = user.providerData; */ dispatch(authSuccess(user)); - dispatch(getHours()) + dispatch(snapshotHours()) dispatch(snapshotRegisteredCompetitions()); }) .catch((error) => { @@ -65,21 +65,38 @@ export const authSignOut = () => { //End Firebase Auth //Start Firebase Firestore -export const GET_HOURS = 'GET_HOURS'; +export const SNAPSHOT_HOURS = 'SNAPSHOT_HOURS'; export const UPDATE_HOURS = 'UPDATE_HOURS'; -export const getHours = () => (dispatch, getState) => { +export const snapshotHours = () => (dispatch, getState) => { + + alert('running'); + const currentState = getState().firebase; - alert('ran'); if(currentState.initialized) { - var docRef = firestore.collection('users').doc(currentState.uid); - docRef.onSnapshot((doc) => { - dispatch(updateHours(doc.data().hours, doc.data().requestedHours)); + var totalHours; + var docRefUsers = firestore.collection('users').doc(currentState.uid); + var docRefReq = firestore.collection('requests').where('uid', '==', currentState.uid); + + docRefUsers.onSnapshot((doc) => { + totalHours = doc.data().hours; + + docRefReq.onSnapshot((query) => { + var requestedHours = 0; + query.forEach((docs) => { + requestedHours += docs.data().time; + }); + dispatch(updateHours(totalHours, requestedHours)); + }); }); } + + + } export const updateHours = (hours, reqHours) => { + console.log(reqHours); return { type: 'UPDATE_HOURS', approvedHours: hours, @@ -87,9 +104,9 @@ export const updateHours = (hours, reqHours) => { } } -export const REGISTER_COMP = 'REGISTER_COMP'; -export const PULL_REGISTERED_COMPETITIONS = 'PULL_REGISTERED_COMPETITIONS'; -export const UPDATE_REGISTERED_COMPETITIONS = 'UPDATE_REGISTERED_COMPETITIONS'; +export const REGISTER_COMP = 'REGISTER_COMP'; +export const SNAPSHOT_REGISTERED_COMPETITIONS = 'SNAPSHOT_REGISTERED_COMPETITIONS'; +export const UPDATE_REGISTERED_COMPETITIONS = 'UPDATE_REGISTERED_COMPETITIONS'; export const registerComp = (compName) => (dispatch, getState) => { var docRef = firestore.collection('competitions').doc(compName); @@ -112,7 +129,6 @@ export const registerComp = (compName) => (dispatch, getState) => { } export const snapshotRegisteredCompetitions = () => (dispatch, getState) =>{ - var docRef = firestore.collection('competitions'); docRef.onSnapshot((querySnapshot) => { var registeredComps = []; |