feat(activities): let a group show and limit its members

Empty membership stays open to the whole workspace; picking people restricts who can see that activity group.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-10-28 20:24:40 +03:30
co-authored by Cursor
parent 2cc2d358e4
commit 63a1803adc
8 changed files with 272 additions and 22 deletions
+13
View File
@@ -311,6 +311,7 @@ model User {
tablePreferences UserTablePreference[]
assignedProjectCards ProjectCard[] @relation("ProjectCardAssignees")
teamMemberships TeamMember[]
activityBoardMembers ActivityBoardMember[]
reservationAssignments ReservationAppointment[] @relation("ReservationAssignee")
assignedLeads Lead[] @relation("LeadAssignee")
createdLeads Lead[] @relation("LeadCreator")
@@ -766,6 +767,7 @@ model ActivityBoard {
position Int @default(0)
stages ActivityStage[]
activities Activity[]
members ActivityBoardMember[]
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
@@ -773,6 +775,17 @@ model ActivityBoard {
@@index([organizationId, position])
}
/// عضو گروه فعالیت؛ اگر گروهی هیچ عضوی نداشته باشد برای همهٔ محیط باز است
model ActivityBoardMember {
boardId String
board ActivityBoard @relation(fields: [boardId], references: [id], onDelete: Cascade)
userId String
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
@@id([boardId, userId])
@@index([userId])
}
model ActivityStage {
id String @id @default(cuid())
organizationId String