Add route to fulfill invites
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 25/100
- issue の種類
- 機能追加
- 明瞭さ
- 説明が足りない
- 活発さ
- 停滞
- 技術スタック
- javascript
調査の方向性
まずこの issue の route path を解決し、既存の signup フォーム、アプリの routing、user adapter を確認します。API 依存関係が保留中の間は Mirage を使用します。完了の条件は、route が存在しない招待、通常の招待、プロジェクト招待を処理し、invite ID を使って user を作成し、記載されたケースに対する acceptance と integration の coverage があることです。
索引モデルが issue の本文から書いたものです。
説明
Problem
We need a route (at a path to be decided on here) which will be used to claim a user invite
Subtasks
- Decide on path for the route through discussion in this issue
- Add route to app
- Loads invite, has a 404/not_found substate
- Displays different informational UI depending on the invite being for a project or just a plain invite
- Displays form UI for user account creation - mostly the same as the signup form
- When creating the user, add invite ID to the new user payload
- Write acceptance test for success case for a plain invite
- [ ] Write acceptance test for success case for a project invite
- [ ] Write fail case for an invite not found
- [ ] Write any integration tests for components added as part of the solution
Notes
How to specify an invite id
-
We could add the invite id as a virtual attribute and push it as part of the payload. Would require a virtual attribute API side as well
-
We could ad a
hasMany('claimed-invites')to the user model, since the API already has it, then push the loaded invite into the association and save that way. Should end asclaimed_invite_idson the API, but would require rewriting our API approach slightly -
My prefered approach
- save a plain user, but when calling save, specify
user.save({ inviteId: userInvite.id }) - modify user adapter by overriding
- save a plain user, but when calling save, specify
urlForCreateRecord(modelName, snapshot) {
if (snapshot.inviteId) {
return this._super(...arguments) + `?invite_id=${snapshot.inviteId}`
} else {
return this._super(...arguments);
}
}
This way, we keep the create "switch" separate from the create attributes, since it becomes a query param. At the same time, the API should keep working.
References
Requires code-corps/code-corps-api#1351 merged, but can be worked on using mirage in the interim.
- 主要言語
- JavaScript
- スター
- 120
- フォーク
- 75
- PR マージ指標
- 30日以内にマージされた PR はありません
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
code-corps/code-corps-ember のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
code-corps/code-corps-ember#1616 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
code-corps/code-corps-ember#1613 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
code-corps/code-corps-ember#1612 ·
-
Difficulty: Medium Skill: ember-cli-page-object
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
code-corps/code-corps-ember#1063 · リアクション 1 件 ·
-
greenkeeper
難易度 3/5 1〜2日 初心者へのやさしさ 25/100
code-corps/code-corps-ember#1765 · コメント 1 件 ·
code-corps/code-corps-ember の issue をすべて見る
似ている issue
-
Bug
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
Automattic/safe-publish#594 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
dream-num/dsh-univer-office#104 ·
-
comp/dashboard invalid P3
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
NousResearch/hermes-agent#121143 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
avniproject/avni-webapp#1811 ·
-
area/auroraboot area/webui bug
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100