feat: add prior-archive promote fields and shared cutoff DTOs

This commit is contained in:
2026-10-17 16:27:29 +03:30
parent 27635c0752
commit a04743c6df
3 changed files with 24 additions and 2 deletions
@@ -0,0 +1,8 @@
-- Prior archive: promote tag + cutoff query indexes
ALTER TABLE "Deal" ADD COLUMN "promotedFromPriorAt" TIMESTAMP(3);
ALTER TABLE "Activity" ADD COLUMN "promotedFromPriorAt" TIMESTAMP(3);
CREATE INDEX "Deal_organizationId_createdAt_idx" ON "Deal"("organizationId", "createdAt");
CREATE INDEX "Activity_organizationId_createdAt_idx" ON "Activity"("organizationId", "createdAt");
+7 -1
View File
@@ -150,7 +150,7 @@ model Organization {
enabledCurrencies String[] @default(["IRR", "USD", "EUR"])
/// ماژول‌های فعال منو برای این محیط
enabledModules String[] @default([])
/// اولین لحظهٔ روشن شدن «بایگانی اطلاعات قبل»؛ مرز فعالیت‌های قبلی
/// تاریخ قطع بایگانی اطلاعات قبل (شروع روز انتخاب‌شده)؛ null = بدون فیلتر
priorArchiveEnabledAt DateTime?
isActive Boolean @default(true)
createdAt DateTime @default(now())
@@ -600,6 +600,8 @@ model Deal {
code String?
/// منبع ورود: manual | didar | excel
importSource String @default("manual")
/// اگر پر باشد، رکورد از بایگانی به کار جاری منتقل شده (فقط برچسب؛ بقیه فیلدها دست‌نخورده)
promotedFromPriorAt DateTime?
/// شناسه در مبدأ (کد دیدار معامله)
sourceRef String?
amount Decimal? @db.Decimal(18, 2)
@@ -650,6 +652,7 @@ model Deal {
@@index([companyId])
@@index([ownerId])
@@index([organizationId, sourceRef])
@@index([organizationId, createdAt])
}
/// مراحل/ستون‌های فعالیت (تب و کانبان) — kind وضعیت فعالیت داخل این مرحله را تعیین می‌کند
@@ -703,6 +706,8 @@ model Activity {
title String
/// manual | didar — سابقهٔ منتقل‌شده از اطلاعات قبل
importSource String @default("manual")
/// اگر پر باشد، رکورد از بایگانی به کار جاری منتقل شده (فقط برچسب؛ بقیه فیلدها دست‌نخورده)
promotedFromPriorAt DateTime?
description String?
dueAt DateTime?
durationMinutes Int?
@@ -750,6 +755,7 @@ model Activity {
@@index([leadId])
@@index([organizationId, status, dueAt])
@@index([organizationId, importSource])
@@index([organizationId, createdAt])
@@index([organizationId, assigneeId])
@@index([organizationId, createdById])
@@index([reminderAt, reminderSentAt])