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

enhance: 招待機能の改善 #11195

Merged
merged 52 commits into from
Jul 15, 2023

Conversation

hideki0403
Copy link
Contributor

@hideki0403 hideki0403 commented Jul 8, 2023

What

Resolve #11158
主に以下の機能を実装しました

  • 招待コードの確認ページ (一般ユーザー向け/管理者向け) の実装
    image

  • 招待コードを作成したユーザーと使用したユーザーを確認できるように
    image

  • ロールごとに招待コードの発行数制限と制限対象期間、有効期限を設定できるように
    image

  • 管理者向けの招待コード管理ページから任意の数の招待コードを一気に発行できるように
    image

また、以前は招待コードは使用されたタイミングで削除されていましたが、今回の改修で削除されなくなった (誰が招待コードを使用したのかを確認できる機能が実装された) ため、将来的な招待コードの衝突の可能性を踏まえて、招待コードの長さが従来の8文字に加えて現在時刻を32進数にしたもの5文字の合計13文字になりました。
方針と異なるようでしたら修正いたします。

Why

現状の招待機能は招待コードの発行後に招待コードを確認する方法が無かったり、発行数の制限を設けられないため、ユーザーの流入量の調節ができない等の問題があったため

Additional info (optional)

Checklist

  • Read the contribution guide
  • Test working in a local environment
  • (If needed) Add story of storybook
  • (If needed) Update CHANGELOG.md
  • (If possible) Add tests

@syuilo
Copy link
Member

syuilo commented Jul 9, 2023

よさそう

@syuilo
Copy link
Member

syuilo commented Jul 9, 2023

MkInviteCode用のStorybookがあるとベターかも

@hideki0403
Copy link
Contributor Author

追加してみました 👀
(Storybook関連はあまりよく分かってないので間違っている箇所があったら申し訳ないです 🙏🏻 )

@syuilo
Copy link
Member

syuilo commented Jul 9, 2023

👍👍👍

@tamaina
Copy link
Contributor

tamaina commented Jul 11, 2023

api-extractorが仕事を放棄してるのはなぜ?

@syuilo
Copy link
Member

syuilo commented Jul 11, 2023

まじ?

@tamaina
Copy link
Contributor

tamaina commented Jul 11, 2023

Typescriptのバージョンについて文句を言われるのでそれかしら?

@syuilo
Copy link
Member

syuilo commented Jul 11, 2023

CIが落ちているのを言っているのであれば

You have changed the public API signature for this project

だからpnpm apiを実行し忘れているだけと思われる

@tamaina
Copy link
Contributor

tamaina commented Jul 11, 2023

pnpm api

しゅいろがやってみてほしい

@tamaina
Copy link
Contributor

tamaina commented Jul 11, 2023

p1.a9z.devに適用した

@syuilo
Copy link
Member

syuilo commented Jul 11, 2023

やった

@syuilo
Copy link
Member

syuilo commented Jul 11, 2023

Storybookが落ちている理由が不明

@acid-chicken
Copy link
Member

わからんけど rebase してみるのが良いかも

@kazu0617
Copy link

Upstreamした段階でStoryBookのビルドは通ってそう
通報のUIでコケてるから本体とは招待機能の改善自体とは無関係なエラーかもです

@syuilo syuilo merged commit 02957a1 into misskey-dev:develop Jul 15, 2023
@syuilo
Copy link
Member

syuilo commented Jul 15, 2023

👍👍👍

@hideki0403 hideki0403 deleted the refactor-invite-system branch July 15, 2023 04:21
slofp pushed a commit to Secineralyr/misskey.dream that referenced this pull request Jul 21, 2023
* refactor(backend): 招待機能を改修

* feat(backend): 招待コードのcreate/delete/listエンドポイントを追加

* add(misskey-js): エンドポイントと型を追加

* change(backend): metaでinvite関連の情報も返すように

* add(misskey-js): エンドポイントと型を追加

* add(backend): `/endpoints/invite/limit`を追加

* fix: createdByがnullableではなかったのを修正

* fix: relationが取得できていなかった問題を修正

* fix: パラメータを間違えていたのを修正

* feat(client): 招待ページを実装

* change(client): インスタンスメニューの「招待」押した場合に招待ページに飛ぶように変更

* feat: 招待コードをコピーできるように

* change(backend): metaに招待コード発行に関する情報を持たせるのをやめる

* feat: ロールごとに招待コードの発行上限数などを設定できるように

* change(client): 招待コードをコピーしたときにダイアログを出すように

* add: 招待に関する管理者用のエンドポイントを追加

* change(backend): モデレーターであれば作成者以外でも招待コードを削除できるように

* change(backend): admin/invite/listはオフセットでページネーションするように

* feat(client): 招待コードの管理ページを追加

* feat(client): 招待コードのリストをソートできるように

* change: `admin/invite/create`のレスポンスを修正

* fix(client): 有効期限を指定できていなかった問題を修正

* refactor: 必要のない箇所を削除

* perf(backend): use limit() instead of take()

* change(client): 作成ボタンを見た目を変更

* refactor: 招待コードの生成部分を共通化し、コード内に"01OI"のいずれかの文字を含まないように

* fix(client): paginationの仕様が変わっていたので修正

* change(backend): expiresAtパラメータのnullを許容

* change(client): 有効期限を設けないときは日付の入力欄を非表示に

* fix: 自身のポリシーよりもインスタンス側のポリシーが優先表示される問題を修正

* fix: n時間のときに「n時間間」となってしまうのを修正

* fix(backend): ポリシーが途中で変更されたときに作成可能数がマイナス表記になってしまうのを修正

* change(client): 招待コードのユーザー名が不明な理由を表示するように

* update: CHANGELOG.md

* lint

* refactor

* refactor

* tweak ui

* 🎨

* 🎨

* add(backend): indexを追加

* change(backend): indexの追加に伴う変更

* change(client): インスタンスメニューの「招待」の場所を変更

* add(frontend): MkInviteCode用のstorybookを追加

* Update misskey-js.api.md

* fix(misskey-js): InviteのcreatedByの型が間違っていたのを修正

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
Co-authored-by: tamaina <tamaina@hotmail.co.jp>
noyaskey pushed a commit to noyaskey/misskey-noyaskey that referenced this pull request Jul 23, 2023
* refactor(backend): 招待機能を改修

* feat(backend): 招待コードのcreate/delete/listエンドポイントを追加

* add(misskey-js): エンドポイントと型を追加

* change(backend): metaでinvite関連の情報も返すように

* add(misskey-js): エンドポイントと型を追加

* add(backend): `/endpoints/invite/limit`を追加

* fix: createdByがnullableではなかったのを修正

* fix: relationが取得できていなかった問題を修正

* fix: パラメータを間違えていたのを修正

* feat(client): 招待ページを実装

* change(client): インスタンスメニューの「招待」押した場合に招待ページに飛ぶように変更

* feat: 招待コードをコピーできるように

* change(backend): metaに招待コード発行に関する情報を持たせるのをやめる

* feat: ロールごとに招待コードの発行上限数などを設定できるように

* change(client): 招待コードをコピーしたときにダイアログを出すように

* add: 招待に関する管理者用のエンドポイントを追加

* change(backend): モデレーターであれば作成者以外でも招待コードを削除できるように

* change(backend): admin/invite/listはオフセットでページネーションするように

* feat(client): 招待コードの管理ページを追加

* feat(client): 招待コードのリストをソートできるように

* change: `admin/invite/create`のレスポンスを修正

* fix(client): 有効期限を指定できていなかった問題を修正

* refactor: 必要のない箇所を削除

* perf(backend): use limit() instead of take()

* change(client): 作成ボタンを見た目を変更

* refactor: 招待コードの生成部分を共通化し、コード内に"01OI"のいずれかの文字を含まないように

* fix(client): paginationの仕様が変わっていたので修正

* change(backend): expiresAtパラメータのnullを許容

* change(client): 有効期限を設けないときは日付の入力欄を非表示に

* fix: 自身のポリシーよりもインスタンス側のポリシーが優先表示される問題を修正

* fix: n時間のときに「n時間間」となってしまうのを修正

* fix(backend): ポリシーが途中で変更されたときに作成可能数がマイナス表記になってしまうのを修正

* change(client): 招待コードのユーザー名が不明な理由を表示するように

* update: CHANGELOG.md

* lint

* refactor

* refactor

* tweak ui

* 🎨

* 🎨

* add(backend): indexを追加

* change(backend): indexの追加に伴う変更

* change(client): インスタンスメニューの「招待」の場所を変更

* add(frontend): MkInviteCode用のstorybookを追加

* Update misskey-js.api.md

* fix(misskey-js): InviteのcreatedByの型が間違っていたのを修正

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
Co-authored-by: tamaina <tamaina@hotmail.co.jp>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
packages/backend Server side specific issue/PR packages/frontend Client side specific issue/PR packages/misskey-js
Projects
None yet
Development

Successfully merging this pull request may close these issues.

招待機能の改善
5 participants