<?php

namespace App\Reports\Sources\InvoicedServices;

class FiltersManager extends \App\Reports\Sources\FiltersManagerAbstract
{

	protected array $filtersCfg = [
		'invoiceRowsGroupType'		=> [ 'type' => 'invRowsGroupType', 'mandatory' => true ], // TODO: [refactorReportSerialization] renamed invRowsGroupType -> invoiceRowsGroupType
		'invoiceDate'				=> [ 'type' => 'dateInterval', 'mandatory' => true ],
		'invoiceDueDate'			=> [ 'type' => 'dateInterval' ],
		'clientType'				=> [ 'type' => 'clientType' ],
		'idCorporates'				=> [ 'type' => "corporates" ], // TODO: [refactorReportSerialization] renamed corporate -> idCorporates ; switched to multi-value
		'idCorporateKams'			=> [ 'type' => 'users' ],  // TODO: [refactorReportSerialization] rename clientCorporateKeyAccount -> idCorporateKams ; switch to multi-value; nu mai adaugam suport pentru sediu
		'corporateGroups'			=> [ 'type' => 'corporateGroups' ], // TODO: [refactorReportSerialization] corporateGroups->invoiceCorporateGroups
		'idCustomers'				=> [ 'type' => 'customers' ], // TODO: [refactorReportSerialization] renamed customer -> idCustomers ; switched to multi-value
		'cashedStatus'				=> [ 'type' => "cashedStatus" ], // TODO: [refactorReportSerialization] rename invoiceCashedStatus -> cashedStatus
		'issued'					=> [ 'type' => 'boolean' ],
		'voided'					=> [ 'type' => 'boolean' ],
		'idInvoiceRespUsers'		=> [ 'type' => 'users' ],  // TODO: [refactorReportSerialization] invoiceResponsibleUser -> idInvoiceRespUsers; switch to multi-value
		'idInvoiceRespOffices'		=> [ 'type' => 'offices' ],  // TODO: [refactorReportSerialization] invoiceResponsibleUser -> idInvoiceRespOffices; switch to multi-value
		'idInvoiceRespDepartments'	=> [ 'type' => 'departments' ], // TODO: [refactorReportSerialization] invoiceResponsibleDepartment -> idInvoiceRespDepartments; switch to multi-value
		'offerSupplierGroups'		=> [ 'type' => 'supplierGroups' ], // TODO: [refactorReportSerialization] supplierGroups -> offerSupplierGroups
	];

}
