package contacts import ( "context" "crm-core/internal/domain/contacts" ) type Repository interface { Create(ctx context.Context, contact contacts.Contact) (contacts.Contact, error) Update(ctx context.Context, contact contacts.Contact) (contacts.Contact, error) List(ctx context.Context, tenantID string) ([]contacts.Contact, error) Get(ctx context.Context, tenantID, id string) (contacts.Contact, error) Archive(ctx context.Context, tenantID, id string) error } type Service struct { repo Repository } func NewService(repo Repository) *Service { return &Service{repo: repo} }