Skip to main content
Trang này được sinh trực tiếp từ prisma/schema.prisma. Current schema có 69 models.
Database columns là scalar fields được lưu trong table. Prisma relation fields dùng để điều hướng relation trong Prisma Client và không tạo thêm column mang cùng tên. Foreign-key columns vẫn nằm trong bảng Database columns.

Cách đọc field contract

Model tồn tại trong schema không tự chứng minh workflow tạo/sửa/xóa đã hoàn chỉnh. Xem Domain model để biết model được executable code sử dụng trong domain nào.

Tenant và authorization

Tòa nhà, tài khoản đăng nhập, hồ sơ nhân sự và grouped RBAC.

Sơ đồ quan hệ thực thể (ERD)

Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: organizations Không có model-level constraint ngoài field attributes trong Prisma schema.
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: towers
  • @@unique([id, organization_id])
  • @@unique([tower_code, organization_id])
  • @@index([organization_id])
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: auth_users
  • @@index([organization_id])
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: users
  • @@unique([id, organization_id])
  • @@index([organization_id])
  • @@index([tower_id])
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: user_buildings
  • @@id([user_id, tower_id])
  • @@index([organization_id])
  • @@index([tower_id])
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: permission_groups
  • @@unique([id, organization_id])
  • @@index([organization_id])
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: permissions Không có model-level constraint ngoài field attributes trong Prisma schema.
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: user_permission_groups
  • @@id([user_id, permission_group_id])
  • @@index([organization_id])
  • @@index([permission_group_id])
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: permission_group_permissions
  • @@id([permission_group_id, permission_id])
  • @@index([permission_id])
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: organization_audit_logs
  • @@index([organization_id, created_at])
  • @@index([actor_account_id, created_at])
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: organization_onboarding_requests
  • @@index([organization_id])
  • @@index([actor_account_id])

Căn hộ, cư dân và phương tiện

Căn hộ, hồ sơ cư dân, membership, reconciliation import và phương tiện.

Sơ đồ quan hệ thực thể (ERD)

Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: apartments
  • @@unique([id, tower_id])
  • @@unique([tower_id, code])
  • @@index([tower_id])
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: residents
  • @@unique([id, tower_id])
  • @@index([tower_id])
  • @@index([tower_id, apartment])
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: resident_apartment_memberships
  • @@unique([resident_id, apartment_id])
  • @@index([tower_id, apartment_id])
  • @@index([tower_id, resident_id])
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: resident_import_reconciliation_items
  • @@unique([import_id, row_number])
  • @@index([tower_id, status, id])
  • @@index([tower_id, apartment_candidate_id])
  • @@index([tower_id, selected_existing_resident_id])
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: vehicles
  • @@unique([id, tower_id])
  • @@index([tower_id])
  • @@index([tower_id, apartment_id, status])
  • @@index([tower_id, service_id])
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: vehicle_cards
  • @@index([tower_id])

Dịch vụ và cấu hình thu phí

Dịch vụ, assignment, chỉ số, đối tác, danh mục thu và khóa kỳ.
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: services
  • @@unique([id, tower_id])
  • @@index([tower_id])
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: service_apartments
  • @@index([tower_id])
  • @@index([tower_id, vehicle_id])
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: partners
  • @@index([tower_id])
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: meter_readings
  • @@index([tower_id])
  • @@index([tower_id, period])
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: receipt_categories
  • @@index([tower_id])
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: payment_codes
  • @@index([tower_id])
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: cycle_locks
  • @@index([tower_id])

Công nợ, thu chi và sổ quỹ

Bảng kê, điều chỉnh, phiếu thu, phân bổ, tiền thừa, giao dịch và audit.

Sơ đồ quan hệ thực thể (ERD)

Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: bills
  • @@unique([id, tower_id])
  • @@index([tower_id])
  • @@index([tower_id, cycle])
  • @@index([tower_id, apartment])
  • @@index([tower_id, apartment, cycle(sort: Desc), id(sort: Desc)], map: "bills_portal_order_idx")
  • @@index([tower_id, created_at(sort: Desc), id(sort: Desc)], map: "bills_review_order_idx")
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: bill_lines
  • @@unique([id, tower_id])
  • @@unique([id, bill_id, tower_id])
  • @@index([tower_id, bill_id])
  • @@index([bill_id, line_no])
  • @@index([tower_id])
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: billing_adjustments
  • @@unique([id, tower_id])
  • @@unique([tower_id, adjustment_code])
  • @@index([tower_id, source_bill_id])
  • @@index([tower_id, status])
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: billing_adjustment_lines
  • @@index([tower_id, adjustment_id])
  • @@index([tower_id, source_bill_id])
  • @@index([tower_id, source_bill_line_id])
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: receipts
  • @@unique([id, tower_id])
  • @@index([tower_id])
  • @@index([tower_id, accounting_date])
  • @@index([tower_id, apartment, accounting_date(sort: Desc), id(sort: Desc)], map: "receipts_portal_order_idx")
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: receipt_allocations
  • @@index([tower_id, receipt_id])
  • @@index([tower_id, adjustment_id])
  • @@index([tower_id])
  • @@index([tower_id, bill_id])
  • @@index([tower_id, bill_line_id])
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: excess_payment_ledger
  • @@index([tower_id, apartment])
  • @@index([tower_id])
  • @@index([tower_id, adjustment_id])
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: debits
  • @@index([tower_id])
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: excess_payments
  • @@index([tower_id])
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: accounting_transactions
  • @@index([tower_id])
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: cashbook
  • @@index([tower_id])
  • @@index([tower_id, receipt_id])
  • @@index([tower_id, date])
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: bankbook
  • @@index([tower_id])
  • @@index([tower_id, receipt_id])
  • @@index([tower_id, date])
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: audit_logs
  • @@index([tower_id, period])
  • @@index([tower_id])

Tương tác cư dân

Phản ánh, yêu cầu dịch vụ, nội dung, biểu mẫu, sửa chữa và đánh giá.
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: feedback
  • @@index([tower_id])
  • @@index([tower_id, miniapp_zalo_user_id])
  • @@index([tower_id, miniapp_zalo_user_id, apartment, created_at(sort: Desc), id(sort: Desc)], map: "feedback_portal_order_idx")
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: posts
  • @@index([tower_id])
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: polls
  • @@index([tower_id])
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: comments
  • @@index([tower_id])
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: service_requests
  • @@index([tower_id])
  • @@index([tower_id, miniapp_zalo_user_id])
  • @@index([tower_id, miniapp_zalo_user_id, apartment, created_at(sort: Desc), id(sort: Desc)], map: "service_requests_portal_order_idx")
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: request_comments
  • @@index([tower_id, subject_type, subject_id])
  • @@index([tower_id])
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: request_attachments
  • @@index([tower_id, subject_type, subject_id])
  • @@index([tower_id])
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: request_tasks
  • @@index([tower_id, subject_type, subject_id])
  • @@index([tower_id])
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: feedback_forms
  • @@index([tower_id])
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: repairs
  • @@index([tower_id])
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: interaction_reports
  • @@index([tower_id])
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: app_ratings
  • @@index([tower_id])
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: service_ratings
  • @@index([tower_id])

Nhắc công nợ và email

Campaign, notification job, provider event và suppression.

Sơ đồ quan hệ thực thể (ERD)

Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: billing_reminder_campaigns
  • @@unique([tower_id, request_id])
  • @@unique([id, tower_id])
  • @@index([tower_id, created_at])
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: notifications
  • @@index([tower_id])
  • @@index([tower_id, status, next_attempt_at])
  • @@index([channel, status, next_attempt_at])
  • @@index([resident_id])
  • @@index([campaign_id, tower_id])
  • @@index([resident_id, tower_id])
  • @@index([provider_message_id])
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: notification_events
  • @@index([tower_id, provider_message_id])
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: email_suppressions
  • @@unique([tower_id, email])
  • @@index([tower_id])

Import

Preview, commit state và lỗi theo dòng của file import.

Sơ đồ quan hệ thực thể (ERD)

Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: import_history
  • @@unique([id, tower_id])
  • @@index([tower_id])
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: import_errors
  • @@index([tower_id, import_id])
  • @@index([tower_id])

Cấu hình, nội dung và landing

Danh mục cấu hình còn lại, handbook, địa điểm và contact công khai.
Database columnsPrisma relation fieldsKhông có Prisma relation field.Model constraints và mapping
  • Database table: buildings Không có model-level constraint ngoài field attributes trong Prisma schema.
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: handbook
  • @@index([tower_id])
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: building_places
  • @@index([tower_id])
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: accounting_accounts
  • @@index([tower_id])
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: receipt_forms
  • @@index([tower_id])
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: configs
  • @@index([tower_id])
Database columnsPrisma relation fieldsKhông có Prisma relation field.Model constraints và mapping
  • Database table: landing_contacts
  • @@index([status, created_at])
  • @@index([email])
  • @@index([retention_until])

AI knowledge và chat

Tài liệu tri thức, đoạn nội dung, cuộc hội thoại, tin nhắn và giới hạn truy cập AI trong schema.

Sơ đồ quan hệ thực thể (ERD)

Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: ai_knowledge_documents
  • @@unique([id, tower_id])
  • @@unique([tower_id, content_hash])
  • @@index([tower_id, status, created_at])
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: ai_knowledge_chunks
  • @@unique([document_id, chunk_index])
  • @@index([tower_id, document_id])
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: ai_chat_threads
  • @@unique([id, tower_id])
  • @@index([tower_id, created_by, updated_at])
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: ai_chat_messages
  • @@index([thread_id, created_at])
  • @@index([tower_id, created_at])
Database columnsPrisma relation fieldsModel constraints và mapping
  • Database table: ai_rate_limits
  • @@id([tower_id, actor, scope, window_start])
  • @@index([window_start])