enhance: 招待機能の改善
What
Resolve #11158 主に以下の機能を実装しました
-
招待コードの確認ページ (一般ユーザー向け/管理者向け) の実装
-
招待コードを作成したユーザーと使用したユーザーを確認できるように
-
ロールごとに招待コードの発行数制限と制限対象期間、有効期限を設定できるように
-
管理者向けの招待コード管理ページから任意の数の招待コードを一気に発行できるように
また、以前は招待コードは使用されたタイミングで削除されていましたが、今回の改修で削除されなくなった (誰が招待コードを使用したのかを確認できる機能が実装された) ため、将来的な招待コードの衝突の可能性を踏まえて、招待コードの長さが従来の8文字に加えて現在時刻を32進数にしたもの5文字の合計13文字になりました。 方針と異なるようでしたら修正いたします。
Why
現状の招待機能は招待コードの発行後に招待コードを確認する方法が無かったり、発行数の制限を設けられないため、ユーザーの流入量の調節ができない等の問題があったため
Additional info (optional)
Checklist
- [x] Read the contribution guide
- [x] Test working in a local environment
- [x] (If needed) Add story of storybook
- [x] (If needed) Update CHANGELOG.md
- [ ] (If possible) Add tests
Codecov Report
Merging #11195 (aa8b547) into develop (12456b2) will increase coverage by
0.00%. The diff coverage is72.50%.
@@ Coverage Diff @@
## develop #11195 +/- ##
=========================================
Coverage 77.65% 77.65%
=========================================
Files 908 918 +10
Lines 91878 92644 +766
Branches 7672 7705 +33
=========================================
+ Hits 71344 71940 +596
- Misses 20534 20704 +170
| Impacted Files | Coverage Δ | |
|---|---|---|
| ...ackages/backend/src/server/api/SignupApiService.ts | 44.48% <15.38%> (-4.61%) |
:arrow_down: |
| packages/backend/src/misc/generate-invite-code.ts | 25.00% <25.00%> (ø) |
|
| ...ckend/src/core/entities/InviteCodeEntityService.ts | 48.07% <48.07%> (ø) |
|
| ...s/backend/src/server/api/endpoints/invite/limit.ts | 79.62% <50.00%> (ø) |
|
| ...kend/src/server/api/endpoints/admin/invite/list.ts | 64.28% <64.28%> (ø) |
|
| .../backend/src/server/api/endpoints/invite/create.ts | 70.73% <70.73%> (ø) |
|
| .../backend/src/server/api/endpoints/invite/delete.ts | 76.05% <76.05%> (ø) |
|
| ...nd/src/server/api/endpoints/admin/invite/create.ts | 77.50% <77.50%> (ø) |
|
| ...es/backend/src/server/api/endpoints/invite/list.ts | 81.03% <81.03%> (ø) |
|
| packages/backend/src/core/CoreModule.ts | 100.00% <100.00%> (ø) |
|
| ... and 8 more |
ちょっとUI調整
概ね良さそうな感じがある
あと一点気になったことがあったのでお聞きしたいのですが、招待コードを発行する場所が分かりづらいという声を目にすることがあったので、"インスタンスメニュー→ツール→招待"から"インスタンスメニュー→招待"に変更したほうがよさそうだと感じたのですがどうでしょう...?
よさそう
MkInviteCode用のStorybookがあるとベターかも
追加してみました 👀 (Storybook関連はあまりよく分かってないので間違っている箇所があったら申し訳ないです 🙏🏻 )
👍👍👍
api-extractorが仕事を放棄してるのはなぜ?
まじ?
Typescriptのバージョンについて文句を言われるのでそれかしら?
CIが落ちているのを言っているのであれば
You have changed the public API signature for this project
だからpnpm apiを実行し忘れているだけと思われる
pnpm api
しゅいろがやってみてほしい
p1.a9z.devに適用した
やった
Storybookが落ちている理由が不明
わからんけど rebase してみるのが良いかも
Upstreamした段階でStoryBookのビルドは通ってそう 通報のUIでコケてるから本体とは招待機能の改善自体とは無関係なエラーかもです
👍👍👍