Files
BarangaySystem/config/modules.php
2026-06-06 18:43:00 +08:00

211 lines
8.0 KiB
PHP

<?php
declare(strict_types=1);
/**
* Module Configuration
*
* Each module can be enabled or disabled via environment variables.
* All modules default to true (enabled) when the env variable is not set.
*
* Usage:
* - Set MODULE_<NAME>_ENABLED=false in .env to disable a module.
* - The middleware 'module:<key>' can be applied to route groups.
* - Use App\Support\ModuleHelper::isEnabled('key') in code.
*/
return [
/*
|--------------------------------------------------------------------------
| Master System Toggle
|--------------------------------------------------------------------------
| If set to false, all module-specific middleware checks will be bypassed.
| Useful for development or full-feature environments.
*/
'system_enabled' => (bool) env('MODULES_SYSTEM_ENABLED', true),
/*
|--------------------------------------------------------------------------
| POS (Point of Sale)
|--------------------------------------------------------------------------
| Includes: POS terminal, sessions, item management, stats, access keys
*/
'pos' => [
'enabled' => (bool) env('MODULE_POS_ENABLED', true),
'label' => 'Point of Sale (POS)',
'description' => 'POS terminal operations, sessions, sales, and access keys.',
],
/*
|--------------------------------------------------------------------------
| Products
|--------------------------------------------------------------------------
| Includes: Product CRUD, categories, store assignments, batch add
*/
'products' => [
'enabled' => (bool) env('MODULE_PRODUCTS_ENABLED', true),
'label' => 'Product Management',
'description' => 'Product creation, editing, categories, and store assignments.',
],
/*
|--------------------------------------------------------------------------
| Stores
|--------------------------------------------------------------------------
| Includes: Store CRUD, management, product removal from store
*/
'stores' => [
'enabled' => (bool) env('MODULE_STORES_ENABLED', true),
'label' => 'Store Management',
'description' => 'Store creation, editing, and product-store relationships.',
],
/*
|--------------------------------------------------------------------------
| Shipments
|--------------------------------------------------------------------------
| Includes: Shipment tracking, couriers, status updates
*/
'shipments' => [
'enabled' => (bool) env('MODULE_SHIPMENTS_ENABLED', true),
'label' => 'Shipments & Logistics',
'description' => 'Shipment tracking, courier management, and delivery status.',
],
/*
|--------------------------------------------------------------------------
| Farmers
|--------------------------------------------------------------------------
| Includes: Farmer registration, listing, verification, organizations
*/
'farmers' => [
'enabled' => (bool) env('MODULE_FARMERS_ENABLED', true),
'label' => 'Farmer Management',
'description' => 'Farmer registration, profile management, and verification.',
],
/*
|--------------------------------------------------------------------------
| Cooperatives
|--------------------------------------------------------------------------
| Includes: Cooperative CRUD, members, documents, governance, chapters
*/
'cooperatives' => [
'enabled' => (bool) env('MODULE_COOPERATIVES_ENABLED', true),
'label' => 'Cooperatives & Organizations',
'description' => 'Cooperative management, membership, documents, and governance.',
],
/*
|--------------------------------------------------------------------------
| Accounting
|--------------------------------------------------------------------------
| Includes: Account trees, transactions, daily entries, reports
*/
'accounting' => [
'enabled' => (bool) env('MODULE_ACCOUNTING_ENABLED', true),
'label' => 'Accounting & Finance',
'description' => 'Chart of accounts, transaction records, and financial reports.',
],
/*
|--------------------------------------------------------------------------
| Store-Level Accounting
|--------------------------------------------------------------------------
| Controls whether Store Owner / Store Manager can access the Accounting
| Dashboard and Manage Accounts pages. Big 3 are never affected by this.
| Toggle via UltimateConsole → Module Controls at runtime.
*/
'accounting_store' => [
'enabled' => (bool) env('MODULE_ACCOUNTING_STORE_ENABLED', true),
'label' => 'Store Accounting Access',
'description' => 'Grants Store Owner and Store Manager access to the Accounting Dashboard and their store\'s Chart of Accounts. Disable to hide accounting from store-level users.',
],
/*
|--------------------------------------------------------------------------
| Transactions
|--------------------------------------------------------------------------
| Includes: Global transaction listing, creation, types
*/
'transactions' => [
'enabled' => (bool) env('MODULE_TRANSACTIONS_ENABLED', true),
'label' => 'Global Transactions',
'description' => 'System-wide transaction recording and listing.',
],
/*
|--------------------------------------------------------------------------
| Properties
|--------------------------------------------------------------------------
| Includes: Property listing, referrals
*/
'properties' => [
'enabled' => (bool) env('MODULE_PROPERTIES_ENABLED', true),
'label' => 'Property Management',
'description' => 'Property listings, referrals, and lead management.',
],
/*
|--------------------------------------------------------------------------
| Cart
|--------------------------------------------------------------------------
| Includes: Shopping cart operations
*/
'cart' => [
'enabled' => (bool) env('MODULE_CART_ENABLED', true),
'label' => 'Shopping Cart',
'description' => 'Cart operations for the marketplace.',
],
/*
|--------------------------------------------------------------------------
| Credits / Wallet
|--------------------------------------------------------------------------
| Includes: Top-up, transfer credit, wallet data
*/
'credits' => [
'enabled' => (bool) env('MODULE_CREDITS_ENABLED', true),
'label' => 'Credits & Wallet',
'description' => 'Credit top-up, transfers, and wallet management.',
],
/*
|--------------------------------------------------------------------------
| Landing Pages
|--------------------------------------------------------------------------
| Includes: Landing page editor, public rendering
*/
'landing_pages' => [
'enabled' => (bool) env('MODULE_LANDING_PAGES_ENABLED', true),
'label' => 'Landing Pages',
'description' => 'Custom landing page creation and management.',
],
/*
|--------------------------------------------------------------------------
| Announcements
|--------------------------------------------------------------------------
| Includes: Announcement CRUD, latest public announcements
*/
'announcements' => [
'enabled' => (bool) env('MODULE_ANNOUNCEMENTS_ENABLED', true),
'label' => 'Announcements',
'description' => 'System-wide announcements and notifications.',
],
/*
|--------------------------------------------------------------------------
| Batch Operations
|--------------------------------------------------------------------------
| Includes: Batch creation of products, stores, users
*/
'batch' => [
'enabled' => (bool) env('MODULE_BATCH_ENABLED', true),
'label' => 'Batch Operations',
'description' => 'Bulk creation of products, stores, and user accounts.',
],
];