-
Notifications
You must be signed in to change notification settings - Fork 2
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
UpdateEventの動作を変更する #447
base: main
Are you sure you want to change the base?
UpdateEventの動作を変更する #447
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
いくつか書きました
処理の流れが少し複雑なので、新規メンバーはpendingで追加することと条件に合わないメンバーは予定を削除することをコメントで書いておくと良いかもです
|
||
attendeesMap := make(map[uuid.UUID]domain.ScheduleStatus) | ||
for _, attendee := range currentEvent.Attendees { | ||
attendeesMap[attendee.UserID] = attendee.Schedule | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
これより後ろの処理はグループが変わらなかったら行わなくても良い処理だと思うので、ここらへんで早期リターンするとよさそうです
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
変更前の主催者メンバー全員が変更後の主催者メンバーであるとき早期リターンします
具体的には
(変更前主催者メンバーの数) = (変更後主催者メンバーの数) - (変更後主催者メンバーの中で新規主催者メンバーの数)
で取ります
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
currentEvent.GroupID == params.GroupID
で取ることを想定していました
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
たしかにそっちのほうがわかりやすそうです
一方で、
(変更前主催者メンバーの数) = (変更後主催者メンバーの数) - (変更後主催者メンバーの中で新規主催者メンバーの数)
だと
変更前 Aさん Bさん
変更後 Aさん Bさん Cさん
みたいな状況のときもできそうです。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
なるほど
ちょっと考えたけど本質的には
- 新しいメンバーが追加されていないこと
- 削除するべきメンバーがいないこと
をチェックしたいから1つ目をboolでもって
if !newMemberAdded && len() == len()
みたいに書くと分かりやすいかも?です
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if !newMemberAdded && len() == len()
とif currentEvent.Group.ID == params.GroupID
は同じ動作になりそうだと思ったのですがどこが違いますでしょうか。
あと、一番最初にras0qさんが変更を入れてほしいとおっしゃられた場所と、実際に私が(変更前グループメンバーの数) = (変更後グループメンバーの数) - (変更後グループメンバーの中で新規グループメンバーの数)
の変更を入れていた場所が違いました。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
今の変更点で不味そうなところがあったら、教えていただきたいです。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
返信が遅くなってすみません
(変更前グループメンバーの数) = (変更後グループメンバーの数) - (変更後グループメンバーの中で新規グループメンバーの数)
これなぜかずっと新規メンバーがいるかどうかを確認してると思ってたんですけど削除するメンバーがいるかどうかを確認してるんですね
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- // 変更前のグループメンバー全員が変更後のグループメンバーであるとき
+ // 変更後に参加者から除外されるメンバーがいないとき
とかにするといいのかな
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
いくつか書きました
それ以外は動作確認したら良さそう👍
そういえば直接関係ないけどこの前こんなissueがあるのを見つけた |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
コメントだけ返しました!
動作はいいと思います
一応動作確認だけして欲しいです🙏
#404 (comment) |
ここではテストは書かなくていいので手元でテストができればOKです 主催をA&BグループからAグループに変更したとき
くらいを確かめればいいかな |
@ras0q |
Close #404