Skip to content

[Fase 2] Repository CRUD per Tasks #10

Description

@elecicalla

Context

I task CRM sono collegati a contatti, aziende e deals tramite relazioni M:N.

Objective

Creare src/db/repositories/task-repository.ts con:

  • getAllTasks(): Task[]
  • getTaskById(id: string): Task | null
  • createTask(data): Task
  • updateTask(id, data): Task | null
  • removeTask(id): boolean
  • getTasksByContact(contactId): Task[]
  • Gestione join tables: task_contacts, task_companies, task_deals

Acceptance Criteria

  • 5 funzioni CRUD base + getTasksByContact
  • createTask gestisce contactIds[], companyIds[], dealIds[] nelle join tables
  • getTaskById ricostruisce l'oggetto Task completo con assignedContactIds
  • removeTask pulisce task_contacts, task_companies, task_deals
  • Status e priority gestiti come TEXT con valori enum-like

Dependencies

Depends on: #6

Notes

Phase: Fase 2
Ref: FR-004

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions