Enums
From version 1.1.14
Using Enums
The package provides several enums to help with type safety and validation:
FilterOptions
use Dcblogdev\Xero\Enums\FilterOptions;
// Available filter options
FilterOptions::Ids->value; // 'ids'
FilterOptions::IncludeArchived->value; // 'includeArchived'
FilterOptions::Order->value; // 'order'
FilterOptions::Page->value; // 'page'
FilterOptions::SearchTerm->value; // 'searchTerm'
FilterOptions::SummaryOnly->value; // 'summaryOnly'
FilterOptions::Where->value; // 'where'
FilterOptions::Statuses->value; // 'Statuses'
// Check if a filter option is valid
FilterOptions::isValid('page'); // true
FilterOptions::isValid('invalid'); // false
ContactStatus
use Dcblogdev\Xero\Enums\ContactStatus;
// Available contact statuses
ContactStatus::Active->value; // 'ACTIVE'
ContactStatus::Archived->value; // 'ARCHIVED'
ContactStatus::GDPRRequest->value; // 'GDPRREQUEST'
// Check if a contact status is valid
ContactStatus::isValid('ACTIVE'); // true
ContactStatus::isValid('INVALID'); // false
InvoiceType
use Dcblogdev\Xero\Enums\InvoiceType;
// Available invoice types
InvoiceType::AccPay->value; // 'ACCPAY' - for bills (accounts payable)
InvoiceType::AccRec->value; // 'ACCREC' - for sales invoices (accounts receivable)
// Check if an invoice type is valid
InvoiceType::isValid('ACCREC'); // true
InvoiceType::isValid('INVALID'); // false
InvoiceStatus
use Dcblogdev\Xero\Enums\InvoiceStatus;
// Available invoice statuses
InvoiceStatus::Authorised->value; // 'AUTHORISED'
InvoiceStatus::Deleted->value; // 'DELETED'
InvoiceStatus::Draft->value; // 'DRAFT'
InvoiceStatus::Paid->value; // 'PAID'
InvoiceStatus::Submitted->value; // 'SUBMITTED'
InvoiceStatus::Voided->value; // 'VOIDED'
// Check if an invoice status is valid
InvoiceStatus::isValid('DRAFT'); // true
InvoiceStatus::isValid('INVALID'); // false
InvoiceLineAmountType
use Dcblogdev\Xero\Enums\InvoiceLineAmountType;
// Available invoice line amount types
InvoiceLineAmountType::Exclusive->value; // 'Exclusive' - amounts are exclusive of tax
InvoiceLineAmountType::Inclusive->value; // 'Inclusive' - amounts are inclusive of tax
InvoiceLineAmountType::NoTax->value; // 'NoTax' - amounts have no tax
// Check if an invoice line amount type is valid
InvoiceLineAmountType::isValid('Exclusive'); // true
InvoiceLineAmountType::isValid('INVALID'); // false