qansigliere-revelsystems-api-integration
Version:
The main idea of this library created in the JavaScript language is to provide a ready-made set of API methods for integration with Revel Systems Management Console
761 lines (676 loc) • 30.9 kB
JavaScript
var { get, download } = require('qansigliere-axios-utils');
class RevelSystemsAPI {
constructor(url = '', apiKey = '', apiSecret = '') {
this.url = url ? url : process.env.REVELSYSTEMS_URL;
this.headers = {
'user-agent': 'QANSIGLIERE',
'content-type': 'application/json',
accept: 'application/json',
'API-AUTHENTICATION': `${apiKey ? apiKey : process.env.REVELSYSTEMS_APIKEY}:${
apiSecret ? apiSecret : process.env.REVELSYSTEMS_APISECRET
}`,
};
this.headersFormData = {
'user-agent': 'QANSIGLIERE',
accept: 'application/json',
'API-AUTHENTICATION': `${apiKey ? apiKey : process.env.REVELSYSTEMS_APIKEY}:${
apiSecret ? apiSecret : process.env.REVELSYSTEMS_APISECRET
}`,
};
this.Address = 'resources/Address/';
this.Employee = 'resources/Employee/';
this.Establishment = 'enterprise/Establishment/';
this.Order = 'resources/Order/';
this.Version = 'resources/Version/';
this.OrderAllInOne = 'resources/OrderAllInOne/';
this.OrderDataDiff = 'resources/OrderDataDiff/';
this.OrderExchange = 'resources/OrderExchange/';
this.OrderExchangeItem = 'resources/OrderExchangeItem/';
this.OrderHistory = 'resources/OrderHistory/';
this.OrderItem = 'resources/OrderItem/';
this.OrderItemCatering = 'resources/OrderItemCatering/';
this.OrderItemCommission = 'resources/OrderItemCommission/';
this.OrderItemDataDiff = 'resources/OrderItemDataDiff/';
this.OrderTaxBreakDown = 'resources/OrderTaxBreakDown/';
this.Payment = 'resources/Payment/';
this.AppliedServiceFee = 'resources/AppliedServiceFee/';
this.AppliedTaxOrder = 'resources/AppliedTaxOrder/';
this.AppliedTaxOrderItem = 'resources/AppliedTaxOrderItem/';
this.Attribute = 'resources/Attribute/';
this.AttributeValue = 'resources/AttributeValue/';
this.BankDrop = 'resources/BankDrop/';
this.Brand = 'enterprise/Brand/';
this.BusinessActionLog = 'resources/BusinessActionLog/';
this.BusinessDay = 'resources/BusinessDay/';
this.CashOffice = 'resources/CashOffice/';
this.ComboProductSet = 'resources/ComboProductSet/';
this.ComboProductSetProduct = 'resources/ComboProductSetProduct/';
this.Company = 'enterprise/Company/';
this.Currency = 'resources/Currency/';
this.CurrentStock = 'inventoryx/api/inventory/CurrentStock/';
this.CustomMenu = 'resources/CustomMenu/';
this.CustomOrderOption = 'resources/CustomOrderOption/';
this.CustomOrderOptionPrinterSettings = 'resources/CustomOrderOptionPrinterSettings/';
this.CustomPaymentType = 'resources/CustomPaymentType/';
this.Customer = 'resources/Customer/';
this.CustomerAddress = 'resources/CustomerAddress/';
this.CustomerEstablishment = 'resources/CustomerEstablishment/';
this.CustomerGroup = 'resources/CustomerGroup/';
this.CustomerGroupCustomers = 'resources/CustomerGroupCustomers/';
this.CustomerHistory = 'resources/CustomerHistory/';
}
async getCustomerHistoryByID(id) {
return await get(this.url, `${this.CustomerHistory}${id}/`, this.headers);
}
async downloadCustomerHistory(
cc_last_name = '',
now = '',
last_4_cc_digits = '',
cc_first_name = '',
id = '',
additional_filters = '',
) {
let url = this.CustomerHistory + '?';
if (cc_last_name) url += `cc_last_name=${cc_last_name}&`;
if (now) url += `now=${now}&`;
if (last_4_cc_digits) url += `last_4_cc_digits=${last_4_cc_digits}&`;
if (cc_first_name) url += `cc_first_name=${cc_first_name}&`;
if (id) url += `id=${id}&`;
if (additional_filters) url += additional_filters;
return await download(this.url, url, this.headers, 'objects', 'meta');
}
async getCustomerGroupCustomersByID(id) {
return await get(this.url, `${this.CustomerGroupCustomers}${id}/`, this.headers);
}
async downloadCustomerGroupCustomers(customer_group = '', id = '', additional_filters = '') {
let url = this.CustomerGroupCustomers + '?';
if (customer_group) url += `customer_group=${customer_group}&`;
if (id) url += `id=${id}&`;
if (additional_filters) url += additional_filters;
return await download(this.url, url, this.headers, 'objects', 'meta');
}
async getCustomerGroupByID(id) {
return await get(this.url, `${this.CustomerGroup}${id}/`, this.headers);
}
async downloadCustomerGroup(additional_filters = '') {
let url = this.CustomerGroup + '?';
if (additional_filters) url += additional_filters;
return await download(this.url, url, this.headers, 'objects', 'meta');
}
async getCustomerEstablishmentByID(id) {
return await get(this.url, `${this.CustomerEstablishment}${id}/`, this.headers);
}
async downloadCustomerEstablishment(customer = '', establishment = '', additional_filters = '') {
let url = this.CustomerEstablishment + '?';
if (customer) url += `customer=${customer}&`;
if (establishment) url += `establishment=${establishment}&`;
if (additional_filters) url += additional_filters;
return await download(this.url, url, this.headers, 'objects', 'meta');
}
async getCustomerAddressByID(id) {
return await get(this.url, `${this.CustomerAddress}${id}/`, this.headers);
}
async downloadCustomerAddress(
customer = '',
uuid = '',
country = '',
active = '',
street_1 = '',
id = '',
additional_filters = '',
) {
let url = this.CustomerAddress + '?';
if (customer) url += `customer=${customer}&`;
if (uuid) url += `uuid=${uuid}&`;
if (country) url += `country=${country}&`;
if (active) url += `active=${active}&`;
if (street_1) url += `street_1=${street_1}&`;
if (id) url += `id=${id}&`;
if (additional_filters) url += additional_filters;
return await download(this.url, url, this.headers, 'objects', 'meta');
}
async getCustomerByID(id) {
return await get(this.url, `${this.Customer}${id}/`, this.headers);
}
async downloadCustomer(
updated_date = '',
phone_number = '',
last_name = '',
total_purchases = '',
active = '',
first_name = '',
uuid = '',
ref_number = '',
email = '',
created_date = '',
total_visits = '',
additional_filters = '',
) {
let url = this.Customer + '?';
if (updated_date) url += `updated_date=${updated_date}&`;
if (phone_number) url += `phone_number=${phone_number}&`;
if (last_name) url += `last_name=${last_name}&`;
if (total_purchases) url += `total_purchases=${total_purchases}&`;
if (active) url += `active=${active}&`;
if (first_name) url += `first_name=${first_name}&`;
if (uuid) url += `uuid=${uuid}&`;
if (ref_number) url += `ref_number=${ref_number}&`;
if (email) url += `email=${email}&`;
if (created_date) url += `created_date=${created_date}&`;
if (total_visits) url += `total_visits=${total_visits}&`;
if (additional_filters) url += additional_filters;
return await download(this.url, url, this.headers, 'objects', 'meta');
}
async getCustomPaymentTypeByID(id) {
return await get(this.url, `${this.CustomPaymentType}${id}/`, this.headers);
}
async downloadCustomPaymentType(additional_filters = '') {
let url = this.CustomPaymentType + '?';
if (additional_filters) url += additional_filters;
return await download(this.url, url, this.headers, 'objects', 'meta');
}
async getCustomOrderOptionPrinterSettingsByID(id) {
return await get(this.url, `${this.CustomOrderOptionPrinterSettings}${id}/`, this.headers);
}
async downloadCustomOrderOptionPrinterSettings(additional_filters = '') {
let url = this.CustomOrderOptionPrinterSettings + '?';
if (additional_filters) url += additional_filters;
return await download(this.url, url, this.headers, 'objects', 'meta');
}
async getCustomOrderOptionByID(id) {
return await get(this.url, `${this.CustomOrderOption}${id}/`, this.headers);
}
async downloadCustomOrderOption(additional_filters = '') {
let url = this.CustomOrderOption + '?';
if (additional_filters) url += additional_filters;
return await download(this.url, url, this.headers, 'objects', 'meta');
}
async getCustomMenuByID(id) {
return await get(this.url, `${this.CustomMenu}${id}/`, this.headers);
}
async downloadCustomMenu(active = '', updated_date = '', product_group = '', additional_filters = '') {
let url = this.CustomMenu + '?';
if (active) url += `active=${active}&`;
if (updated_date) url += `updated_date=${updated_date}&`;
if (product_group) url += `product_group=${product_group}&`;
if (additional_filters) url += additional_filters;
return await download(this.url, url, this.headers, 'objects', 'meta');
}
async getCurrentStockByID(id) {
return await get(this.url, `${this.CurrentStock}${id}/`, this.headers);
}
async downloadCurrentStock(updated_date = '', establishment = '', additional_filters = '') {
let url = this.CurrentStock + '?';
if (updated_date) url += `updated_date=${updated_date}&`;
if (establishment) url += `establishment=${establishment}&`;
if (additional_filters) url += additional_filters;
return await download(this.url, url, this.headers, 'objects', 'meta');
}
async getCurrencyByID(id) {
return await get(this.url, `${this.Currency}${id}/`, this.headers);
}
async downloadCurrency(additional_filters = '') {
let url = this.Currency + '?';
if (additional_filters) url += additional_filters;
return await download(this.url, url, this.headers, 'objects', 'meta');
}
async getCompanyByID(id) {
return await get(this.url, `${this.Company}${id}/`, this.headers);
}
async downloadCompany(additional_filters = '') {
let url = this.Company + '?';
if (additional_filters) url += additional_filters;
return await download(this.url, url, this.headers, 'objects', 'meta');
}
async getComboProductSetProductByID(id) {
return await get(this.url, `${this.ComboProductSetProduct}${id}/`, this.headers);
}
async downloadComboProductSetProduct(additional_filters = '') {
let url = this.ComboProductSetProduct + '?';
if (additional_filters) url += additional_filters;
return await download(this.url, url, this.headers, 'objects', 'meta');
}
async getComboProductSetByID(id) {
return await get(this.url, `${this.ComboProductSet}${id}/`, this.headers);
}
async downloadComboProductSet(product = '', additional_filters = '') {
let url = this.ComboProductSet + '?';
if (product) url += `product=${product}&`;
if (additional_filters) url += additional_filters;
return await download(this.url, url, this.headers, 'objects', 'meta');
}
async getCashOfficeByID(id) {
return await get(this.url, `${this.CashOffice}${id}/`, this.headers);
}
async downloadCashOffice(establishment = '', additional_filters = '') {
let url = this.CashOffice + '?';
if (establishment) url += `establishment=${establishment}&`;
if (additional_filters) url += additional_filters;
return await download(this.url, url, this.headers, 'objects', 'meta');
}
async getBusinessDayByID(id) {
return await get(this.url, `${this.BusinessDay}${id}/`, this.headers);
}
async downloadBusinessDay(establishment = '', additional_filters = '') {
let url = this.BusinessDay + '?';
if (establishment) url += `establishment=${establishment}&`;
if (additional_filters) url += additional_filters;
return await download(this.url, url, this.headers, 'objects', 'meta');
}
async getBusinessActionLogByID(id) {
return await get(this.url, `${this.BusinessActionLog}${id}/`, this.headers);
}
async downloadBusinessActionLog(
uuid = '',
action_date_time = '',
pos_station = '',
user = '',
action_type = '',
establishment = '',
additional_filters = '',
) {
let url = this.BusinessActionLog + '?';
if (uuid) url += `uuid=${uuid}&`;
if (action_date_time) url += `action_date_time=${action_date_time}&`;
if (pos_station) url += `pos_station=${pos_station}&`;
if (user) url += `user=${user}&`;
if (action_type) url += `action_type=${action_type}&`;
if (establishment) url += `establishment=${establishment}&`;
if (additional_filters) url += additional_filters;
return await download(this.url, url, this.headers, 'objects', 'meta');
}
async getBrandByID(id) {
return await get(this.url, `${this.Brand}${id}/`, this.headers);
}
async downloadBrand(additional_filters = '') {
let url = this.Brand + '?';
if (additional_filters) url += additional_filters;
return await download(this.url, url, this.headers, 'objects', 'meta');
}
async getBankDropByID(id) {
return await get(this.url, `${this.BankDrop}${id}/`, this.headers);
}
async downloadBankDrop(
till = '',
local_id = '',
establishment = '',
uuid = '',
drawer_number = '',
additional_filters = '',
) {
let url = this.BankDrop + '?';
if (till) url += `till=${till}&`;
if (local_id) url += `local_id=${local_id}&`;
if (establishment) url += `establishment=${establishment}&`;
if (uuid) url += `uuid=${uuid}&`;
if (drawer_number) url += `drawer_number=${drawer_number}&`;
if (additional_filters) url += additional_filters;
return await download(this.url, url, this.headers, 'objects', 'meta');
}
async getAttributeValueByID(id) {
return await get(this.url, `${this.AttributeValue}${id}/`, this.headers);
}
async downloadAttributeValue(active = '', attribute = '', updated_date = '', additional_filters = '') {
let url = this.AttributeValue + '?';
if (active) url += `active=${active}&`;
if (attribute) url += `attribute=${attribute}&`;
if (updated_date) url += `updated_date=${updated_date}&`;
if (additional_filters) url += additional_filters;
return await download(this.url, url, this.headers, 'objects', 'meta');
}
async getAttributeByID(id) {
return await get(this.url, `${this.Attribute}${id}/`, this.headers);
}
async downloadAttribute(sort = '', id = '', additional_filters = '') {
let url = this.Attribute + '?';
if (sort) url += `sort=${sort}&`;
if (id) url += `id=${id}&`;
if (additional_filters) url += additional_filters;
return await download(this.url, url, this.headers, 'objects', 'meta');
}
async getAppliedTaxOrderItemByID(id) {
return await get(this.url, `${this.AppliedTaxOrderItem}${id}/`, this.headers);
}
async downloadAppliedTaxOrderItem(order_item = '', uuid = '', additional_filters = '') {
let url = this.AppliedTaxOrderItem + '?';
if (order_item) url += `order_item=${order_item}&`;
if (uuid) url += `uuid=${uuid}&`;
if (additional_filters) url += additional_filters;
return await download(this.url, url, this.headers, 'objects', 'meta');
}
async getAppliedTaxOrderByID(id) {
return await get(this.url, `${this.AppliedTaxOrder}${id}/`, this.headers);
}
async downloadAppliedTaxOrder(order = '', uuid = '', additional_filters = '') {
let url = this.AppliedTaxOrder + '?';
if (order) url += `order=${order}&`;
if (uuid) url += `uuid=${uuid}&`;
if (additional_filters) url += additional_filters;
return await download(this.url, url, this.headers, 'objects', 'meta');
}
async getAppliedServiceFeeByID(id) {
return await get(this.url, `${this.AppliedServiceFee}${id}/`, this.headers);
}
async downloadAppliedServiceFee(item = '', order = '', uuid = '', additional_filters = '') {
let url = this.AppliedServiceFee + '?';
if (item) url += `item=${item}&`;
if (order) url += `order=${order}&`;
if (uuid) url += `uuid=${uuid}&`;
if (additional_filters) url += additional_filters;
return await download(this.url, url, this.headers, 'objects', 'meta');
}
async getPaymentByID(id) {
return await get(this.url, `${this.Payment}${id}/`, this.headers);
}
async downloadPayment(
updated_date = '',
refund_transaction_id = '',
station = '',
uuid = '',
created_date = '',
establishment = '',
order = '',
transaction_id = '',
additional_filters = '',
) {
let url = this.Payment + '?';
if (updated_date) url += `updated_date=${updated_date}&`;
if (refund_transaction_id) url += `refund_transaction_id=${refund_transaction_id}&`;
if (station) url += `station=${station}&`;
if (uuid) url += `uuid=${uuid}&`;
if (created_date) url += `created_date=${created_date}&`;
if (establishment) url += `establishment=${establishment}&`;
if (order) url += `order=${order}&`;
if (transaction_id) url += `transaction_id=${transaction_id}&`;
if (additional_filters) url += additional_filters;
return await download(this.url, url, this.headers, 'objects', 'meta');
}
async getOrderTaxBreakDownByID(id) {
return await get(this.url, `${this.OrderTaxBreakDown}${id}/`, this.headers);
}
async downloadOrderTaxBreakDown(tax_type = '', order = '', additional_filters = '') {
let url = this.OrderTaxBreakDown + '?';
if (tax_type) url += `tax_type=${tax_type}&`;
if (order) url += `order=${order}&`;
if (additional_filters) url += additional_filters;
return await download(this.url, url, this.headers, 'objects', 'meta');
}
async getOrderItemDataDiffByID(id) {
return await get(this.url, `${this.OrderItemDataDiff}${id}/`, this.headers);
}
async downloadOrderItemDataDiff(orderitem = '', created_date = '', additional_filters = '') {
let url = this.OrderItemDataDiff + '?';
if (orderitem) url += `orderitem=${orderitem}&`;
if (created_date) url += `created_date=${created_date}&`;
if (additional_filters) url += additional_filters;
return await download(this.url, url, this.headers, 'objects', 'meta');
}
async getOrderItemCommissionByID(id) {
return await get(this.url, `${this.OrderItemCommission}${id}/`, this.headers);
}
async downloadOrderItemCommission(
order_item = '',
commission_user = '',
updated_date = '',
additional_filters = '',
) {
let url = this.OrderItemCommission + '?';
if (order_item) url += `order_item=${order_item}&`;
if (commission_user) url += `commission_user=${commission_user}&`;
if (updated_date) url += `updated_date=${updated_date}&`;
if (additional_filters) url += additional_filters;
return await download(this.url, url, this.headers, 'objects', 'meta');
}
async getOrderItemCateringByID(id) {
return await get(this.url, `${this.OrderItemCatering}${id}/`, this.headers);
}
async downloadOrderItemCatering(
updated_date = '',
product = '',
voided_date = '',
uuid = '',
catering_complete = '',
created_date = '',
catering_delivery_date = '',
id = '',
order = '',
additional_filters = '',
) {
let url = this.OrderItemCatering + '?';
if (updated_date) url += `updated_date=${updated_date}&`;
if (product) url += `product=${product}&`;
if (voided_date) url += `voided_date=${voided_date}&`;
if (uuid) url += `uuid=${uuid}&`;
if (catering_complete) url += `catering_complete=${catering_complete}&`;
if (created_date) url += `created_date=${created_date}&`;
if (catering_delivery_date) url += `catering_delivery_date=${catering_delivery_date}&`;
if (id) url += `id=${id}&`;
if (order) url += `order=${order}&`;
if (additional_filters) url += additional_filters;
return await download(this.url, url, this.headers, 'objects', 'meta');
}
async getOrderItemByID(id) {
return await get(this.url, `${this.OrderItem}${id}/`, this.headers);
}
async downloadOrderItem(
updated_date = '',
product = '',
voided_date = '',
uuid = '',
catering_complete = '',
created_date = '',
catering_delivery_date = '',
id = '',
order = '',
additional_filters = '',
) {
let url = this.OrderItem + '?';
if (updated_date) url += `updated_date=${updated_date}&`;
if (product) url += `product=${product}&`;
if (voided_date) url += `voided_date=${voided_date}&`;
if (uuid) url += `uuid=${uuid}&`;
if (catering_complete) url += `catering_complete=${catering_complete}&`;
if (created_date) url += `created_date=${created_date}&`;
if (catering_delivery_date) url += `catering_delivery_date=${catering_delivery_date}&`;
if (id) url += `id=${id}&`;
if (order) url += `order=${order}&`;
if (additional_filters) url += additional_filters;
return await download(this.url, url, this.headers, 'objects', 'meta');
}
async getOrderHistoryByID(id) {
return await get(this.url, `${this.OrderHistory}${id}/`, this.headers);
}
async downloadOrderHistory(opened = '', order = '', closed = '', uuid = '', additional_filters = '') {
let url = this.OrderHistory + '?';
if (opened) url += `opened=${opened}&`;
if (order) url += `order=${order}&`;
if (closed) url += `closed=${closed}&`;
if (uuid) url += `uuid=${uuid}&`;
if (additional_filters) url += additional_filters;
return await download(this.url, url, this.headers, 'objects', 'meta');
}
async getOrderExchangeItemByID(id) {
return await get(this.url, `${this.OrderExchangeItem}${id}/`, this.headers);
}
async downloadOrderExchangeItem(order_item = '', order_exchange = '', additional_filters = '') {
let url = this.OrderExchangeItem + '?';
if (order_item) url += `order_item=${order_item}&`;
if (order_exchange) url += `order_exchange=${order_exchange}&`;
if (additional_filters) url += additional_filters;
return await download(this.url, url, this.headers, 'objects', 'meta');
}
async getOrderExchangeByID(id) {
return await get(this.url, `${this.OrderExchange}${id}/`, this.headers);
}
async downloadOrderExchange(exchanged_order = '', order = '', additional_filters = '') {
let url = this.OrderExchange + '?';
if (exchanged_order) url += `exchanged_order=${exchanged_order}&`;
if (order) url += `order=${order}&`;
if (additional_filters) url += additional_filters;
return await download(this.url, url, this.headers, 'objects', 'meta');
}
async getOrderDataDiffByID(id) {
return await get(this.url, `${this.OrderDataDiff}${id}/`, this.headers);
}
async downloadOrderDataDiff(order = '', created_date = '', additional_filters = '') {
let url = this.OrderDataDiff + '?';
if (order) url += `order=${order}&`;
if (created_date) url += `created_date=${created_date}&`;
if (additional_filters) url += additional_filters;
return await download(this.url, url, this.headers, 'objects', 'meta');
}
async getOrderAllInOneByID(id) {
return await get(this.url, `${this.OrderAllInOne}${id}/`, this.headers);
}
async downloadOrderAllInOne(
running_tax_number = '',
web_order = '',
has_items = '',
registry_data = '',
id = '',
call_number = '',
uuid = '',
created_by = '',
closed = '',
establishment = '',
updated_date = '',
delivery_employee = '',
pickup_time = '',
dining_option = '',
call_name = '',
printed = '',
device_id = '',
customer = '',
is_invoice = '',
local_id = '',
created_date = '',
external_sync = '',
has_history = '',
additional_filters = '',
) {
let url = this.OrderAllInOne + '?';
if (running_tax_number) url += `running_tax_number=${running_tax_number}&`;
if (web_order) url += `web_order=${web_order}&`;
if (has_items) url += `has_items=${has_items}&`;
if (registry_data) url += `registry_data=${registry_data}&`;
if (id) url += `id=${id}&`;
if (call_number) url += `call_number=${call_number}&`;
if (uuid) url += `uuid=${uuid}&`;
if (created_by) url += `created_by=${created_by}&`;
if (closed) url += `closed=${closed}&`;
if (establishment) url += `establishment=${establishment}&`;
if (updated_date) url += `updated_date=${updated_date}&`;
if (delivery_employee) url += `delivery_employee=${delivery_employee}&`;
if (pickup_time) url += `pickup_time=${pickup_time}&`;
if (dining_option) url += `dining_option=${dining_option}&`;
if (call_name) url += `call_name=${call_name}&`;
if (printed) url += `printed=${printed}&`;
if (device_id) url += `device_id=${device_id}&`;
if (customer) url += `customer=${customer}&`;
if (is_invoice) url += `is_invoice=${is_invoice}&`;
if (local_id) url += `local_id=${local_id}&`;
if (created_date) url += `created_date=${created_date}&`;
if (external_sync) url += `external_sync=${external_sync}&`;
if (has_history) url += `has_history=${has_history}&`;
if (additional_filters) url += additional_filters;
return await download(this.url, url, this.headers, 'objects', 'meta');
}
async getVersion() {
return await get(this.url, this.Version, this.headers);
}
async getOrderByID(id) {
return await get(this.url, `${this.Order}${id}/`, this.headers);
}
async downloadOrder(
running_tax_number = '',
web_order = '',
has_items = '',
registry_data = '',
id = '',
call_number = '',
uuid = '',
created_by = '',
closed = '',
establishment = '',
updated_date = '',
delivery_employee = '',
pickup_time = '',
dining_option = '',
call_name = '',
printed = '',
device_id = '',
customer = '',
is_invoice = '',
local_id = '',
created_date = '',
external_sync = '',
has_history = '',
additional_filters = '',
) {
let url = this.Order + '?';
if (running_tax_number) url += `running_tax_number=${running_tax_number}&`;
if (web_order) url += `web_order=${web_order}&`;
if (has_items) url += `has_items=${has_items}&`;
if (registry_data) url += `registry_data=${registry_data}&`;
if (id) url += `id=${id}&`;
if (call_number) url += `call_number=${call_number}&`;
if (uuid) url += `uuid=${uuid}&`;
if (created_by) url += `created_by=${created_by}&`;
if (closed) url += `closed=${closed}&`;
if (establishment) url += `establishment=${establishment}&`;
if (updated_date) url += `updated_date=${updated_date}&`;
if (delivery_employee) url += `delivery_employee=${delivery_employee}&`;
if (pickup_time) url += `pickup_time=${pickup_time}&`;
if (dining_option) url += `dining_option=${dining_option}&`;
if (call_name) url += `call_name=${call_name}&`;
if (printed) url += `printed=${printed}&`;
if (device_id) url += `device_id=${device_id}&`;
if (customer) url += `customer=${customer}&`;
if (is_invoice) url += `is_invoice=${is_invoice}&`;
if (local_id) url += `local_id=${local_id}&`;
if (created_date) url += `created_date=${created_date}&`;
if (external_sync) url += `external_sync=${external_sync}&`;
if (has_history) url += `has_history=${has_history}&`;
if (additional_filters) url += additional_filters;
return await download(this.url, url, this.headers, 'objects', 'meta');
}
async getEstablishmentByID(id) {
return await get(this.url, `${this.Establishment}${id}/`, this.headers);
}
async downloadEstablishment(id = '', additional_filters = '') {
let url = this.Establishment + '?';
if (id) url += `id=${id}&`;
if (additional_filters) url += additional_filters;
return await download(this.url, url, this.headers, 'objects', 'meta');
}
async getEmployeeByID(id) {
return await get(this.url, `${this.Employee}${id}/`, this.headers);
}
async downloadEmployee(
updated_date = '',
last_timesheet_entry = '',
created_date = '',
id = '',
user = '',
additional_filters = '',
) {
let url = this.Employee + '?';
if (updated_date) url += `updated_date=${updated_date}&`;
if (last_timesheet_entry) url += `last_timesheet_entry=${last_timesheet_entry}&`;
if (created_date) url += `created_date=${created_date}&`;
if (id) url += `id=${id}&`;
if (user) url += `user=${user}&`;
if (additional_filters) url += additional_filters;
return await download(this.url, url, this.headers, 'objects', 'meta');
}
async getAddressByID(id) {
return await get(this.url, `${this.Address}${id}/`, this.headers);
}
async downloadAddress(is_external = '', additional_filters = '') {
let url = this.Address + '?';
if (is_external) url += `is_external=${is_external}&`;
if (additional_filters) url += additional_filters;
return await download(this.url, url, this.headers, 'objects', 'meta');
}
}
module.exports.RevelSystemsAPI = RevelSystemsAPI;