Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Spec] Indexerのスキーマ #12

Open
Kourin1996 opened this issue Mar 15, 2023 · 0 comments
Open

[Spec] Indexerのスキーマ #12

Kourin1996 opened this issue Mar 15, 2023 · 0 comments

Comments

@Kourin1996
Copy link
Collaborator

  • DAO entity (DAOの基本情報をまとめたもの)

    • ID (contractのDAO IDのhex, システム全体で一意なオートインクリメントのint)
    • name (createDAOに渡したname)
    • metadataURI (createDAOに渡したmetadataURI)
    • isPrivate (createDAOに渡したisPrivate)
    • createdTxHash (トランザクションのハッシュ)
    • createdAt (トランザクションが入っているブロックのUnixタイムスタンプ)
    • createdBlockHeight (トランザクションが入っているブロックの高さ)
    • createdBlockHash (トランザクションが入っているブロックのハッシュ)
    • createdBy (relation, createDAOを呼んだAccount entity)
    • members (relation, DAOに所属しているアカウントのリスト)
    • tasks (relation, DAO内のタスクのリスト)
  • DAOMember entity (DAO内のメンバーレコード)

    • ID ( (daoIDのhex)_(アカウントアドレス) )
    • daoID (daoのID)
    • account (relation, Account entity)
  • Task entity (Taskの基本情報をまとめたもの)

    • ID ((daoIDのhex)_(taskIDのhex))
    • name (createTaskのtaskName)
    • metadataURI (createTaskのmetadataURI)
    • isPrivate (createTaskに渡したisPrivate)
    • status: (taskのステータス, "todo", "in_progress", "in_review", "done"のどれか)
    • createdTxHash (トランザクションのハッシュ)
    • createdAt (トランザクションが入っているブロックのUnixタイムスタンプ)
    • createdBlockHeight (トランザクションが入っているブロックの高さ)
    • createdBlockHash (トランザクションが入っているブロックのハッシュ)
    • createdBy (relation, createTaskを呼んだAccount entity)
    • assigner: (relation, createTaskに渡したassignerのAccount entity)
    • reviews (relation, TaskReviewのリスト。reviewerごとに作られる)
  • TaskReview entity (Taskのreviewerごとに作られるentity)

    • ID ( (daoIDのhex)_(taskIDのhex)_(アカウントアドレス) )
    • daoID (DAOのID)
    • taskID (TaskのID, 1つのDAOで一意なオートインクリメントなint)
    • status ("unreview", "requested_changes", "approved"のどれか)
    • account (relation, reviewerのAccount entity)
  • TaskEvent entity (タスク内のやりとりをまとめたもの, タスク詳細画面でタイムライン的に表示する際に使用する)

    • ID ( (daoIDのhex)_(taskIDのhex)_(eventIDのhex) )
    • daoID: DAOのID
    • taskID: TaskのID
    • eventID: EventのID (task内で一意なオートインクリメントなint)
    • type: "started", "request_review", "request_changes", "comment", "approved", "completed"のどれか
    • metadataURI: metadataURIが設定されている場合そのURI
    • createdTxHash (トランザクションのハッシュ)
    • createdAt (トランザクションが入っているブロックのUnixタイムスタンプ)
    • createdBlockHeight (トランザクションが入っているブロックの高さ)
    • createdBlockHash (トランザクションが入っているブロックのハッシュ)
    • reviews (relation, TaskReviewのリスト。reviewerごとに作られる)
    • createdBy (relation, イベントを起こしたAccount entity)
  • Account entity (アカウントの基本情報をまとめたもの)

    • ID (accountアドレス)
    • daos (relation, 所属しているDAOのリスト)
    • tasks (relation, assignされたTaskのリスト)
    • accountSkills (relation, AccountSkillのリスト)
  • Skill entity (スキル一覧)

    • ID (スキル名のハッシュ値)
    • name (スキル名)
  • AccountSkill entity (ユーザのスキル)

    • ID ( (skillIDのhex)_(accountアドレス) )
    • totalScores (該当スキルのスコアの累計)
    • totalCompletedTasks (完了したタスクの数)
    • totalOngoingTasks (実施中のタスクの数)
    • skill (relation, Skill entity)
    • accountSkillTasks (relation, AccountSkillTaskのリスト)
  • AccountSkillTasks (ユーザのスキルのタスクリスト)

    • ID ( (accountアドレス)_(skillIDのhex)_(daoIDのhex)_(taskIDのhex) )
    • AccountSkill (relation, AccountSkill entity)
    • Task (実施したTask)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant