-
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
重複したイベント/部屋の作成禁止 #376
重複したイベント/部屋の作成禁止 #376
Conversation
マイグレーションがまだ |
これ進捗部屋じゃなくてイベントだ |
いま見かけたから聞くんですがこれってZoom/Discordの時部屋重複したりしますよね イベントはいいけど部屋はいまの設計だとDBじゃなくてアプリケーション側で重複管理しないといけないと思います |
確かに全く同じ時間に違う名前のイベントが同じ部屋(zoom等含む)で開催されてたらそうなるか |
あとこういう風に「未定」があります |
type Room struct {
ID uuid.UUID `gorm:"type:char(36);primaryKey"`
Place string `gorm:"type:varchar(32); uniqueIndex:idx_place_time_start_time_end"`
Verified bool
TimeStart time.Time `gorm:"type:DATETIME; index; uniqueIndex:idx_place_time_start_time_end"`
TimeEnd time.Time `gorm:"type:DATETIME; index; uniqueIndex:idx_place_time_start_time_end"`
Events []Event `gorm:"->; constraint:-"` // readOnly
Admins []RoomAdmin
CreatedByRefer uuid.UUID `gorm:"type:char(36);" cvt:"CreatedBy, <-"`
CreatedBy User `gorm:"->; foreignKey:CreatedByRefer; constraint:OnDelete:CASCADE;" cvt:"->"`
Model `cvt:"->"`
}
|
Roomに対してイベントの重複がないってロジックならよいと思います。 いま進捗部屋以外の部屋って登録してましたっけ? OR 手動で(CSVではなく)簡単に登録できるようになってましたっけ |
手元で動かしてたけどこれ → 手元で繰り返しv14実行してたからでした、migrationテーブルから14消したらできた → 動いてるけどv14()する前にインデックス貼ろうとして失敗してそう |
|
|
進捗部屋はIDを指定するからadminの変更等は考えなくていい |
部屋重複させてadmin増やしたらさすがに脆弱性生みそうだけどどうするのがいいんだろ |
これは多分作成者が未定って指定しただけ(デフォルトではない)ので他の部屋と同じ扱いでよさそう
|
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.
migrationの方はまだ見れてないのですが、現状で気になったところを書きました
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.
これ、重複イベント/部屋が作成された際に最終的に返るstatus codeで500になってそうです?
アプリケーションのロジックで弾いているものなので、Internal Server ErrorではなくBad Requestを返すようにするのが適切かと思います
レビューありがとうございます:bow:
|
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.
遅くなりましたがmigrationの実装読みました
実行は試していませんが、記述とテスト結果的にはロジックよさそうです
v13の方のみにコメントしましたが、v14も同じコメントになりそうです
7a972b2
to
f47d40f
Compare
@oribe1115 修正しました:pray: |
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.
よさそうです!
Revert "Merge pull request #376 from traPtitech/feat/unique-event-on-same-time"
(n)を付けたせいで文字数オーバーになるイベントがある |
close #369