Data Model: hbf-reports
Domain objects used by this service. Full schemas:
docs/domain-model.md
Objects This Service Uses
| Object | Access | Key Fields Used |
|---|---|---|
| Organization | reads via hbf-core-api | id, displayName, timezone |
| Tenant | reads via hbf-core-api | id, displayName, organizationId |
| BotDeployment | reads via hbf-core-api | id, tenantId |
| AnalyticsSummaryDto | reads via hbf-core-api | total sessions, messages, metrics |
| AnalyticsLiveChatDto | reads via hbf-core-api | live chat metrics |
| AnalyticsAutomatedAnswersDto | reads via hbf-core-api | automated answer metrics |
| AnalyticsInterviewsDto | reads via hbf-core-api | interview metrics |
| AnalyticsDecisionTreesDto | reads via hbf-core-api | decision tree metrics |
| AnalyticsUserFeedbackDto | reads via hbf-core-api | user feedback metrics |
| AnalyticsMissedQuestionsDto | reads via hbf-core-api | missed question metrics |
| AnalyticsCSATDto | reads via hbf-core-api | CSAT metrics |
| AuditLog | writes via hbf-core-api | organizationId, description |
Local Entities
| Entity | Table | DB | Key Fields |
|---|---|---|---|
| ScheduledReport | reports_schedule | MySQL | id (auto), name (fulltext), organization_id, type, config (json), tenants (simple-array), sections (simple-array), recipients (simple-array, fulltext), enabled, weekly, monthly, timezone, description (fulltext) |
| ScheduledReportExport | reports_exports | MySQL | id (auto), reports_schedule_id (FK, CASCADE), startedAt, finishedAt, status (enum), pdf (longtext) |
Key Constraints
- Fulltext index on ScheduledReport(name, recipients, description) for search.
- Migration
1777554270000-add-type-and-configadded thereports_schedule.typediscriminator andreports_schedule.configJSON payload used by the non-PDF export schedule types.
Notes
- Aggregates analytics data from hbf-core to generate scheduled PDF reports.
reports_schedule.tenantsis shared across all schedule types. Analytics schedules also usesections; session and survey schedules useconfig.reports_schedule.typeselects one ofANALYTICS_PDF,SESSION_XLSX, orSURVEY_CSV.reports_schedule.configisnullforANALYTICS_PDF, carries session export filters forSESSION_XLSX, and carriessourceActivityNameplus optionalsurveyType/separatorforSURVEY_CSV.- ScheduledReport stores schedule configuration (weekly/monthly, recipients, sections to include).
- ScheduledReportExport tracks individual report generation runs with status and PDF output.
- Uses hbf-core-api
HBFCoreApiclient for all analytics data retrieval. - PDF generation via internal template engine (
draw-templates.interface.ts).