Skip to content

Commit

Permalink
fetching orgs acc to new db design (#858)
Browse files Browse the repository at this point in the history
  • Loading branch information
shivareddy6 authored Aug 21, 2023
1 parent 0ceb7f0 commit cd177f3
Show file tree
Hide file tree
Showing 7 changed files with 31 additions and 9 deletions.
5 changes: 3 additions & 2 deletions src/App.jsx
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
import React, { useEffect } from "react";
import Routes from "./routes";
import "./App.less";
import { useFirebase } from "react-redux-firebase";
import { useFirebase, useFirestore } from "react-redux-firebase";
import { useDispatch, useSelector } from "react-redux";
import { getProfileData } from "./store/actions";

const App = () => {
const firebase = useFirebase();
const firestore = useFirestore();
const dispatch = useDispatch();
const organizations = useSelector(
({
Expand All @@ -17,7 +18,7 @@ const App = () => {
);

useEffect(() => {
getProfileData(organizations)(firebase, dispatch);
getProfileData(organizations)(firebase, firestore, dispatch);
}, [organizations, firebase, dispatch]);
return <Routes />;
};
Expand Down
31 changes: 26 additions & 5 deletions src/store/actions/profileActions.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,22 +24,24 @@ export const setCurrentOrgUserPermissions =
}
};

export const getProfileData = organizations => async (firebase, dispatch) => {
export const getProfileData = () => async (firebase, firestore, dispatch) => {
try {
let orgs = [];
dispatch({ type: actions.GET_PROFILE_DATA_START });
const userOrgs = await getAllOrgsOfCurrentUser()(firebase, firestore, dispatch);
const organizations = userOrgs?.map(org => org.org_handle);
// console.log(organizations);
if (organizations && organizations.length > 0) {
dispatch({ type: actions.GET_PROFILE_DATA_START });
const promises = organizations.map(org_handle =>
getOrgBasicData(org_handle)(firebase)
);
orgs = await Promise.all(promises);
const orgs = await Promise.all(promises);
setCurrentOrgUserPermissions(
orgs[0].org_handle,
orgs[0].permissions
)(dispatch);
dispatch({
type: actions.GET_PROFILE_DATA_SUCCESS,
payload: { organizations: _.orderBy(orgs, ["org_handle"], ["asc"]) }
payload: { organizations: _.orderBy(orgs, ["permissions"], ["desc"]) }
});
} else {
dispatch({ type: actions.GET_PROFILE_DATA_END });
Expand Down Expand Up @@ -276,3 +278,22 @@ export const removeUserFollower = async (
console.log(e);
}
};

const getAllOrgsOfCurrentUser = (uid) => async (firebase, firestore, dispatch) => {
try {
const auth = firebase.auth().currentUser;
if (auth === null) return [];
const orgUsersDocs = await firestore
.collection("org_users")
.where("uid", "==", auth.uid)
.get()

const userOrgs = orgUsersDocs.docs.map(
orgUserDoc => orgUserDoc.data()
);

return userOrgs;
} catch (e) {
console.log(e)
}
}
2 changes: 1 addition & 1 deletion testdata/auth_export/accounts.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"kind":"identitytoolkit#DownloadAccountResponse","users":[{"localId":"850pPlsLaCg6JjmrKjOu6JqRPwhb","createdAt":"1660370247248","lastLoginAt":"1691601627634","passwordHash":"fakeHash:salt=fakeSaltMqDFaDJIdniCZZ8fssxq:password=123456","salt":"fakeSaltMqDFaDJIdniCZZ8fssxq","passwordUpdatedAt":1691584346484,"providerUserInfo":[{"providerId":"password","email":"[email protected]","federatedId":"[email protected]","rawId":"[email protected]"}],"validSince":"1691584346","email":"[email protected]","emailVerified":true,"disabled":false,"lastRefreshAt":"2023-08-09T17:20:27.635Z"},{"localId":"FdUlui4yIE5AN2P38EZOGq2ajLm4","createdAt":"1667115208920","lastLoginAt":"1667115295605","passwordHash":"fakeHash:salt=fakeSaltRXnfZX61lDd6IRpMkJDJ:password=codelabz","salt":"fakeSaltRXnfZX61lDd6IRpMkJDJ","passwordUpdatedAt":1691584346487,"providerUserInfo":[{"providerId":"password","email":"[email protected]","federatedId":"[email protected]","rawId":"[email protected]"}],"validSince":"1691584346","email":"[email protected]","emailVerified":true,"disabled":false},{"localId":"JFxIMgWVfdbhPPSgpCDNv49gcbpy","lastLoginAt":"1691601729962","emailVerified":false,"email":"[email protected]","salt":"fakeSaltm6ZTnQcSSTnhoQbpBMjD","passwordHash":"fakeHash:salt=fakeSaltm6ZTnQcSSTnhoQbpBMjD:password=VJ_iJWedNZ_50LT","passwordUpdatedAt":1691601729963,"validSince":"1691601729","createdAt":"1691601729962","providerUserInfo":[{"providerId":"password","email":"[email protected]","federatedId":"[email protected]","rawId":"[email protected]"}],"lastRefreshAt":"2023-08-09T17:22:10.010Z"},{"localId":"qrEH9fQUqUe7kONHtmC0GncTKYBP","createdAt":"1667114862864","lastLoginAt":"1691424950626","displayName":"Codelabz User","providerUserInfo":[{"providerId":"google.com","rawId":"5223858290493228440457232631160468415768","federatedId":"5223858290493228440457232631160468415768","displayName":"Codelabz User","email":"[email protected]","screenName":"Codelabz User"}],"validSince":"1691584346","email":"[email protected]","emailVerified":true,"disabled":false,"lastRefreshAt":"2023-08-09T12:34:43.648Z"},{"localId":"ufeINR1inzJu5SjBByaCYLXn3BG6","createdAt":"1675082998395","lastLoginAt":"1691594556259","displayName":"Mahendar Goud","providerUserInfo":[{"providerId":"google.com","rawId":"1826579163248857660672940763512718407937","federatedId":"1826579163248857660672940763512718407937","displayName":"Mahendar Goud","email":"[email protected]"}],"validSince":"1691584346","email":"[email protected]","emailVerified":true,"disabled":false,"lastRefreshAt":"2023-08-09T16:17:37.414Z"},{"localId":"wdskLNE5S604JdZI8e9lAPC8VWzw","createdAt":"1675082998395","lastLoginAt":"1667120457241","displayName":"Sarfaraz Alam","providerUserInfo":[{"providerId":"google.com","rawId":"9076000195242093402071893601634599548874","federatedId":"9076000195242093402071893601634599548874","displayName":"Sarfaraz Alam","email":"[email protected]"}],"validSince":"1691584346","email":"[email protected]","emailVerified":true,"disabled":false}]}
{"kind":"identitytoolkit#DownloadAccountResponse","users":[{"localId":"850pPlsLaCg6JjmrKjOu6JqRPwhb","createdAt":"1660370247248","lastLoginAt":"1691601627634","passwordHash":"fakeHash:salt=fakeSaltMqDFaDJIdniCZZ8fssxq:password=123456","salt":"fakeSaltMqDFaDJIdniCZZ8fssxq","passwordUpdatedAt":1692522760909,"providerUserInfo":[{"providerId":"password","email":"[email protected]","federatedId":"[email protected]","rawId":"[email protected]"}],"validSince":"1692522760","email":"[email protected]","emailVerified":true,"disabled":false},{"localId":"FdUlui4yIE5AN2P38EZOGq2ajLm4","createdAt":"1667115208920","lastLoginAt":"1667115295605","passwordHash":"fakeHash:salt=fakeSaltRXnfZX61lDd6IRpMkJDJ:password=codelabz","salt":"fakeSaltRXnfZX61lDd6IRpMkJDJ","passwordUpdatedAt":1692522760911,"providerUserInfo":[{"providerId":"password","email":"[email protected]","federatedId":"[email protected]","rawId":"[email protected]"}],"validSince":"1692522760","email":"[email protected]","emailVerified":true,"disabled":false},{"localId":"JFxIMgWVfdbhPPSgpCDNv49gcbpy","createdAt":"1691601729962","lastLoginAt":"1691601729962","passwordHash":"fakeHash:salt=fakeSaltm6ZTnQcSSTnhoQbpBMjD:password=VJ_iJWedNZ_50LT","salt":"fakeSaltm6ZTnQcSSTnhoQbpBMjD","passwordUpdatedAt":1692522760911,"providerUserInfo":[{"providerId":"password","email":"[email protected]","federatedId":"[email protected]","rawId":"[email protected]"}],"validSince":"1692522760","email":"[email protected]","emailVerified":false,"disabled":false},{"localId":"qrEH9fQUqUe7kONHtmC0GncTKYBP","createdAt":"1667114862864","lastLoginAt":"1692522850006","displayName":"Codelabz User","providerUserInfo":[{"providerId":"google.com","rawId":"5223858290493228440457232631160468415768","federatedId":"5223858290493228440457232631160468415768","displayName":"Codelabz User","email":"[email protected]","screenName":"Codelabz User"}],"validSince":"1692522760","email":"[email protected]","emailVerified":true,"disabled":false,"lastRefreshAt":"2023-08-20T09:14:10.007Z"},{"localId":"ufeINR1inzJu5SjBByaCYLXn3BG6","createdAt":"1675082998395","lastLoginAt":"1691594556259","displayName":"Mahendar Goud","providerUserInfo":[{"providerId":"google.com","rawId":"1826579163248857660672940763512718407937","federatedId":"1826579163248857660672940763512718407937","displayName":"Mahendar Goud","email":"[email protected]"}],"validSince":"1692522760","email":"[email protected]","emailVerified":true,"disabled":false},{"localId":"wdskLNE5S604JdZI8e9lAPC8VWzw","createdAt":"1675082998395","lastLoginAt":"1667120457241","displayName":"Sarfaraz Alam","providerUserInfo":[{"providerId":"google.com","rawId":"9076000195242093402071893601634599548874","federatedId":"9076000195242093402071893601634599548874","displayName":"Sarfaraz Alam","email":"[email protected]"}],"validSince":"1692522760","email":"[email protected]","emailVerified":true,"disabled":false}]}
2 changes: 1 addition & 1 deletion testdata/database_export/codelabz-eb407.json

Large diffs are not rendered by default.

Binary file not shown.
Binary file modified testdata/firestore_export/all_namespaces/all_kinds/output-0
Binary file not shown.
Binary file not shown.

0 comments on commit cd177f3

Please sign in to comment.