feat: separate prior records behind an owner switch and count last-period questions

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-10-15 10:48:30 +03:30
co-authored by Cursor
parent 3a8a684aa4
commit 6bc5e1bec7
29 changed files with 775 additions and 77 deletions
+9
View File
@@ -150,6 +150,8 @@ model Organization {
enabledCurrencies String[] @default(["IRR", "USD", "EUR"])
/// ماژول‌های فعال منو برای این محیط
enabledModules String[] @default([])
/// اولین لحظهٔ روشن شدن «بایگانی اطلاعات قبل»؛ مرز فعالیت‌های قبلی
priorArchiveEnabledAt DateTime?
isActive Boolean @default(true)
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
@@ -348,6 +350,10 @@ model Membership {
dataVisibility String @default("own")
/// سطح دید تفکیکی هر بخش، مثلاً {"contacts":"org","deals":"own"}؛ بخش‌های بدون مقدار = dataVisibility
dataVisibilityScopes Json @default("{}")
/// سوئیچ «بایگانی اطلاعات قبل» برای این عضو؛ فقط وقتی ماژول محیط روشن است اثر دارد
priorArchiveEnabled Boolean @default(false)
/// current | archive
priorArchiveLens String @default("current")
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
@@ -695,6 +701,8 @@ model Activity {
status ActivityStatus @default(open)
priority ActivityPriority @default(medium)
title String
/// manual | didar — سابقهٔ منتقل‌شده از اطلاعات قبل
importSource String @default("manual")
description String?
dueAt DateTime?
durationMinutes Int?
@@ -741,6 +749,7 @@ model Activity {
@@index([typeDefId])
@@index([leadId])
@@index([organizationId, status, dueAt])
@@index([organizationId, importSource])
@@index([organizationId, assigneeId])
@@index([organizationId, createdById])
@@index([reminderAt, reminderSentAt])