<?php

declare(strict_types=1);

/*
|--------------------------------------------------------------------------
| HR Biometric Platform Enterprise
|--------------------------------------------------------------------------
| Global Application Constants
|--------------------------------------------------------------------------
*/

if (!defined('DS')) {
    define('DS', DIRECTORY_SEPARATOR);
}

/*
|--------------------------------------------------------------------------
| Base Paths
|--------------------------------------------------------------------------
*/

define('BASE_PATH', dirname(__DIR__));

define('APP_PATH', BASE_PATH . DS . 'app');

define('SYSTEM_PATH', BASE_PATH . DS . 'system');

define('BOOTSTRAP_PATH', BASE_PATH . DS . 'bootstrap');

define('CONFIG_PATH', BASE_PATH . DS . 'config');

define('DATABASE_PATH', BASE_PATH . DS . 'database');

define('PUBLIC_PATH', BASE_PATH . DS . 'public');

define('RESOURCE_PATH', BASE_PATH . DS . 'resources');

define('ROUTES_PATH', BASE_PATH . DS . 'routes');

define('STORAGE_PATH', BASE_PATH . DS . 'storage');

/*
|--------------------------------------------------------------------------
| Storage Directories
|--------------------------------------------------------------------------
*/

define('CACHE_PATH', STORAGE_PATH . DS . 'cache');

define('LOG_PATH', STORAGE_PATH . DS . 'logs');

define('SESSION_PATH', STORAGE_PATH . DS . 'sessions');

define('TEMP_PATH', STORAGE_PATH . DS . 'temp');

define('EXPORT_PATH', STORAGE_PATH . DS . 'exports');

define('IMPORT_PATH', STORAGE_PATH . DS . 'imports');

/*
|--------------------------------------------------------------------------
| Application Directories
|--------------------------------------------------------------------------
*/

define('VIEW_PATH', APP_PATH . DS . 'Views');

define('CONTROLLER_PATH', APP_PATH . DS . 'Controllers');

define('MODEL_PATH', APP_PATH . DS . 'Models');

define('SERVICE_PATH', APP_PATH . DS . 'Services');

define('REPOSITORY_PATH', APP_PATH . DS . 'Repositories');

/*
|--------------------------------------------------------------------------
| Framework Directories
|--------------------------------------------------------------------------
*/

define('AUTOLOAD_PATH', SYSTEM_PATH . DS . 'Autoload');

define('ENVIRONMENT_PATH', SYSTEM_PATH . DS . 'Environment');

define('CONFIG_SYSTEM_PATH', SYSTEM_PATH . DS . 'Config');

define('HTTP_PATH', SYSTEM_PATH . DS . 'Http');

define('ROUTER_PATH', SYSTEM_PATH . DS . 'Routing');

define('SECURITY_PATH', SYSTEM_PATH . DS . 'Security');

define('DATABASE_SYSTEM_PATH', SYSTEM_PATH . DS . 'Database');

define('MIGRATION_PATH', SYSTEM_PATH . DS . 'Migration');

define('EVENT_PATH', SYSTEM_PATH . DS . 'Events');

define('LOGGING_PATH', SYSTEM_PATH . DS . 'Logging');