mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
Refactorizacion
This commit is contained in:
@ -72,4 +72,21 @@ class Paths
|
||||
* is used when no value is provided to `Services::renderer()`.
|
||||
*/
|
||||
public string $viewDirectory = __DIR__ . '/../Views';
|
||||
|
||||
/**
|
||||
* Ruta base relativa dentro de WRITEPATH donde se almacenan
|
||||
* los archivos asociados a presupuestos.
|
||||
*
|
||||
* Esta ruta se utiliza como base para componer las rutas
|
||||
* completas tanto locales como remotas (SFTP) de ficheros
|
||||
* relacionados con cada presupuesto.
|
||||
*
|
||||
* Ejemplo:
|
||||
* Si el ID del presupuesto es 123 y el nombre del archivo es "documento.pdf",
|
||||
* la ruta final será: storage/presupuestos/123/documento.pdf
|
||||
*
|
||||
* Se recomienda mantener esta ruta fuera de `public/` por razones de seguridad
|
||||
* y utilizar controladores para servir los archivos si se desea acceso web.
|
||||
*/
|
||||
public string $presupuestosPath = 'storage/presupuestos';
|
||||
}
|
||||
|
||||
@ -11,6 +11,7 @@ class PresupuestoSFTP extends BaseConfig
|
||||
public string $username;
|
||||
public string $password;
|
||||
public string $base_dir;
|
||||
public string $remote_base_dir = 'ficheros'; // subcarpeta específica para presupuestos
|
||||
public int $id_offset;
|
||||
|
||||
public function __construct()
|
||||
@ -21,7 +22,17 @@ class PresupuestoSFTP extends BaseConfig
|
||||
$this->username = env("HIDRIVE_FILES_USER");
|
||||
$this->password = env("HIDRIVE_FILES_PASS");
|
||||
$this->id_offset = (int) env("BUDGET_FILES_OFFSET_ID", 1000000);
|
||||
|
||||
// Directorio base remoto: /users/usuario/dominio
|
||||
$domain = parse_url(env("app.baseURL"), PHP_URL_HOST);
|
||||
$this->base_dir = "/users/{$this->username}/{$domain}";
|
||||
}
|
||||
|
||||
/**
|
||||
* Devuelve la ruta completa del directorio remoto para un presupuesto
|
||||
*/
|
||||
public function getRemoteDirForPresupuesto(int $presupuestoId): string
|
||||
{
|
||||
return "{$this->base_dir}/{$this->remote_base_dir}/" . ($presupuestoId + $this->id_offset);
|
||||
}
|
||||
}
|
||||
|
||||
@ -69,4 +69,10 @@ $routes->group('importador', ['namespace' => 'App\Controllers\Presupuestos'], fu
|
||||
$routes->get('getencuadernacion', 'Importadorpresupuestos::getEncuadernacionList');
|
||||
$routes->get('getpresupuestodata', 'Importadorpresupuestos::getPresupuesto', ['as' => 'getPresupuesto']);
|
||||
$routes->post('importar', 'Importadorpresupuestos::importarPresupuesto');
|
||||
});
|
||||
|
||||
$routes->group('files', ['namespace' => 'App\Controllers\Presupuestos'], function($routes) {
|
||||
$routes->post('get_files', 'PresupuestoFicheroController::get_files', ['as' => 'getFiles']);
|
||||
$routes->post('upload_files', 'PresupuestoFicheroController::upload_files', ['as' => 'uploadFiles']);
|
||||
$routes->post('download_zip', 'PresupuestoFicheroController::download_zip', ['as' => 'downloadFilesZipped']);
|
||||
});
|
||||
Reference in New Issue
Block a user