class BillSignatureService
  def self.grouped_unsigned_operation_until(date)
    date = date.in_time_zone
    unsigned_operations = DossierOperationLog
      .where(bill_signature: nil)
      .where('executed_at < ?', date)
    unsigned_operations.group_by { |e| e.executed_at.to_date }
  end

  def self.sign_operations(operations, day)
    bill = BillSignature.build_with_operations(operations, day)
    signature = Universign::API.timestamp(bill.digest)
    bill.set_signature(signature, day)
    bill.save!
  end
end
