I can't get a document created once a user signs up. This is Firebase 9 so I'm not sure what is missing. The user gets created no problem.
SignupPage.tsx
const handleSignup = async (values: SignupFields) => {
const { email, password } = values;
try {
const userAuth = await createUserWithEmailAndPassword(
auth,
email,
password
);
const newUserObject: FirebaseUserObject = {
uid: userAuth.user.uid,
username: '',
email: email,
emailVerified: false,
photoUrl: '',
joinDate: new Date().toString(),
};
createNewUserDocument(newUserObject);
} catch (error: unknown) {
if (error instanceof Error) setErrorState(error.message);
}
};
firebaseFunctions:
export const createNewUserDocument = async (user: FirebaseUserObject) => {
await setDoc(doc(db, 'users', user.uid), user);
};
Firestore Rules:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if true;
}
}
}
may be you can add await to createNewUserDocument(newUserObject);