2026-04-01 17:14:20 +02:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
declare(strict_types=1);
|
|
|
|
|
|
|
|
|
|
namespace MintyPHP\Console\Runner\Module;
|
|
|
|
|
|
|
|
|
|
interface ModuleRunnerInterface
|
|
|
|
|
{
|
2026-04-29 08:59:57 +02:00
|
|
|
/**
|
|
|
|
|
* @return array{command: string, status: string, exit_code: int, vendor_warnings_ignored: int, message: string}
|
|
|
|
|
*/
|
|
|
|
|
public function dbMigrate(): array;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @return array{command: string, applied: list<string>, pending: list<string>}
|
|
|
|
|
*/
|
|
|
|
|
public function dbMigrateStatus(): array;
|
|
|
|
|
|
2026-04-01 17:14:20 +02:00
|
|
|
/**
|
|
|
|
|
* @return array{command: string, status: string, exit_code: int, vendor_warnings_ignored: int, message: string}
|
|
|
|
|
*/
|
|
|
|
|
public function migrate(): array;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @return array{
|
|
|
|
|
* command: string,
|
|
|
|
|
* status: string,
|
|
|
|
|
* exit_code: int,
|
|
|
|
|
* vendor_warnings_ignored: int,
|
|
|
|
|
* created: int,
|
|
|
|
|
* updated: int,
|
|
|
|
|
* unchanged: int,
|
|
|
|
|
* deactivated: int,
|
|
|
|
|
* total: int,
|
|
|
|
|
* message: string
|
|
|
|
|
* }
|
|
|
|
|
*/
|
|
|
|
|
public function permissionsSync(): array;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @return array{
|
|
|
|
|
* command: string,
|
|
|
|
|
* status: string,
|
|
|
|
|
* exit_code: int,
|
|
|
|
|
* vendor_warnings_ignored: int,
|
|
|
|
|
* core_entries: int,
|
|
|
|
|
* module_entries: int,
|
|
|
|
|
* message: string
|
|
|
|
|
* }
|
|
|
|
|
*/
|
|
|
|
|
public function build(): array;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @return array{
|
|
|
|
|
* command: string,
|
|
|
|
|
* status: string,
|
|
|
|
|
* exit_code: int,
|
|
|
|
|
* vendor_warnings_ignored: int,
|
|
|
|
|
* mode: string,
|
|
|
|
|
* created: int,
|
|
|
|
|
* updated: int,
|
|
|
|
|
* removed: int,
|
|
|
|
|
* unchanged: int,
|
|
|
|
|
* message: string
|
|
|
|
|
* }
|
|
|
|
|
*/
|
|
|
|
|
public function assetsSync(): array;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @return array{
|
|
|
|
|
* command: string,
|
|
|
|
|
* status: string,
|
|
|
|
|
* exit_code: int,
|
|
|
|
|
* vendor_warnings_ignored: int,
|
|
|
|
|
* message: string
|
|
|
|
|
* }
|
|
|
|
|
*/
|
|
|
|
|
public function deactivate(string $moduleId, bool $confirm, bool $dryRun): array;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @return array{
|
|
|
|
|
* command: string,
|
|
|
|
|
* status: string,
|
|
|
|
|
* exit_code: int,
|
|
|
|
|
* vendor_warnings_ignored_total: int,
|
|
|
|
|
* duration_ms: int,
|
|
|
|
|
* steps: array<string, array{status: string, exit_code: int, vendor_warnings_ignored: int}>,
|
|
|
|
|
* message: string
|
|
|
|
|
* }
|
2026-04-29 08:59:57 +02:00
|
|
|
*
|
|
|
|
|
* The `steps` map is keyed in execution order:
|
|
|
|
|
* `db-migrate`, `migrate`, `permissions-sync`, `build`, `assets-sync`.
|
2026-04-01 17:14:20 +02:00
|
|
|
*/
|
|
|
|
|
public function runtimeSync(): array;
|
|
|
|
|
}
|