dendrite.daemon/core/services/cfe_service.go

34 lines
800 B
Go

package services
import (
"context"
"github.com/KristianJBorgwarth/dendrite.daemon/core/models"
"github.com/KristianJBorgwarth/dendrite.daemon/persistence"
"github.com/KristianJBorgwarth/dendrite.daemon/persistence/repositories"
)
type ICfeService interface {
AddCfe(ctx context.Context, dbCtx persistence.IDbContext, noteID string, cfe map[string]any) error
}
type cfeService struct {
cfeRepo repositories.ICfeRepository
}
func NewCfeService(cfeRepo repositories.ICfeRepository) ICfeService {
return &cfeService{cfeRepo}
}
func (s *cfeService) AddCfe(
ctx context.Context,
dbCtx persistence.IDbContext,
noteID string,
cfe map[string]any,
) error {
if len(cfe) == 0 {
return nil
}
cfeModels := models.MapToCfe(noteID, cfe)
return s.cfeRepo.InsertRange(ctx, dbCtx, cfeModels)
}