我需要创建 3 种类型的用户

I need to create 3 types of users

我想创建三种类型的用户:

  1. 是管理员(提出问题的人)
  2. 是回答用户
  3. 是可以向 2 用户提问的附加用户。

我想尝试后端,用 FireBase 构建它。 但是我不知道如何构建数据结构,因为我习惯于构建自己的 Apis,而且我看到 firebase 没有为用户类型制定方案的选项。

我将用于客户端,反应本机我不知道我需要写什么功能,所以它会识别 3 种类型的用户,我在网上找到的所有东西都是旧的组件结构类 我正在尝试使用新方法,

所以如果你能帮我解决这个问题,因为我没有太多解决此类问题的经验。

这是一个案例研究。

在常见的应用中,不同的用户类型具有不同的角色和权限。

在你的案例研究中。创建具有 ADMINASKANSWER 角色之一的用户。

除了该用户角色之外,您可以稍后在您的应用逻辑中向该用户授予权限和特权。

import { getAuth, createUserWithEmailAndPassword } from "firebase/auth";
import { doc, setDoc, getFirestore } from "firebase/firestore";

const db = getFirestore();

async function saveUser(userId, { email, firstName, lastName, role }) {
  await setDoc(doc(db, "users", userId), { email, firstName, lastName, role });
}

/** User role should be either ADMIN,ASK or ANSWER **/
function signup({ email, password, firstName, lastName, role }) {
  const auth = getAuth();
  createUserWithEmailAndPassword(auth, email, password)
    .then((userCredential) => {
      // Signed in
      const user = userCredential.user;
      const userId = user.uid;

      // Save new user to database
      saveUser(userId, { email, firstName, lastName, role });
      // ...
    })
    .catch((error) => {
      const errorCode = error.code;
      const errorMessage = error.message;
      // ..
    });
}


除了该用户角色之外,您可以稍后在您的应用程序业务逻辑中向该用户授予权限和特权。