company-cafeteria-shared-demo
Version:
Package partagé pour l'écosystème Cafétéria Entreprise
37 lines • 910 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.generateId = generateId;
exports.calculateTotal = calculateTotal;
exports.hasPermission = hasPermission;
exports.sleep = sleep;
/**
* Generate a unique ID
*/
function generateId() {
return Math.random().toString(36).substr(2, 9);
}
/**
* Calculate order total with tax
*/
function calculateTotal(subtotal, taxRate = 0.20) {
return subtotal * (1 + taxRate);
}
/**
* Check if user has permission
*/
function hasPermission(userRole, requiredRole) {
const roleHierarchy = {
'agent': 0,
'kitchen': 1,
'manager': 2,
'admin': 3
};
return (roleHierarchy[userRole] || 0) >= (roleHierarchy[requiredRole] || 0);
}
/**
* Sleep utility for async operations
*/
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
//# sourceMappingURL=helpers.js.map