feat(calendar): 일정에 참여자(participants) — 그들 캘린더에도 표시
build-and-push / build (push) Successful in 33s

- CalendarEvent.Participants(JSON 이메일 배열), patch 시 JSON 변환
- 목록은 전 구성원 공유(이미) → 프론트가 소유자 OR 참여자로 필터/표시

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
theorose49
2026-06-30 16:32:02 +09:00
co-authored by Claude Opus 4.8
parent 317db37a04
commit ed4ef537e6
2 changed files with 19 additions and 11 deletions
+12 -11
View File
@@ -176,17 +176,18 @@ type ProjectMailState struct {
// with a color. Owned by one member.
type CalendarEvent struct {
Base
OwnerEmail string `gorm:"index" json:"ownerEmail"`
Title string `json:"title"`
Category string `json:"category"` // project | etc | personal (분류 키)
ProjectID string `json:"projectId"` // category=project일 때 연결
Color string `json:"color"` // 표시 색
Start string `json:"start"` // YYYY-MM-DD
End string `json:"end"` // YYYY-MM-DD (빈값=하루)
AllDay bool `json:"allDay"`
Memo string `json:"memo"`
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
OwnerEmail string `gorm:"index" json:"ownerEmail"`
Title string `json:"title"`
Category string `json:"category"` // project | etc | personal (분류 키)
ProjectID string `json:"projectId"` // category=project일 때 연결
Color string `json:"color"` // 표시 색
Start string `json:"start"` // YYYY-MM-DD
End string `json:"end"` // YYYY-MM-DD (빈값=하루)
AllDay bool `json:"allDay"`
Memo string `json:"memo"`
Participants datatypes.JSONSlice[string] `json:"participants"` // 참여자 이메일 — 그들 캘린더에도 표시
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
}
func (m *CalendarEvent) BeforeCreate(*gorm.DB) error { m.ensureID(); return nil }