@actvalue/is-open
v1.0.2
Published
Visionarea store is open calculation logic
Downloads
20
Readme
@actvalue/is-open
VISIONAREA
Calculation logic to check if a store is open at a specific point in time, plus calculation of opening minutes / hours per day
Install
yarn add @actvalue/is-open
npm i @actvalue/is-open
Usage
Run the OPEN_QUERY query on MySQL to retrieve data for store and date Call isOpen with default store values and query results
import { isOpen, OPEN_QUERY } from '@actvalue/is-open';
// any other sql query will work
import { MRCClient } from '@actvalue/mysql-redis-cache';
// connect to mysql instance
const mrc = new MRCClient({
host: '<mysql host>',
port: 3306,
user: '<user>',
password: '<password>',
database: '<db>',
connectionLimit: 5,
});
// store values and date time to check
const Store_id = 1;
const defaultOpenTime = '08:30:00';
const defaultCloseTime = '19:30:00';
const when = '2022-06-16T15:45:28+02:00';
// retrieve existing business hour records for specified store and date
const day = when.substring(0, 10); // '2022-06-16'
const [row] = await mrc.queryToPromise(OPEN_QUERY, [Store_id, day, day, day]);
// call isOpen
const isStoreOpen = isOpen({
currentDate: when,
openTime: defaultOpenTime,
closeTime: defaultCloseTime,
businessHours: row
});
console.log(isStoreOpen); // true or false
// call openMinutes
const minutes = openMinutes({
openTime: defaultOpenTime,
closeTime: defaultCloseTime,
businessHours: row
});
console.log(minutes); // 660
// call openHours
const hours = openHours({
openTime: '08:00:00',
closeTime: '19:59:59'
});
console.log(hours); // 12