package logic import ( "context" "spark-server/internal/pkg/errs" ) func (s *Service) CanSend(ctx context.Context, fromUserID, toUserID int64) error { if !s.ready() || fromUserID <= 0 || toUserID <= 0 { return errs.ErrForbidden } if fromUserID == toUserID { return errs.ErrForbidden } ok, err := s.AreFriends(ctx, fromUserID, toUserID) if err != nil { return err } if !ok { return errs.ErrForbidden } blocked, err := s.repo.BlockedEither(ctx, fromUserID, toUserID) if err != nil { return err } if blocked { return errs.ErrForbidden } return nil }