| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- <?php
- $content = file_get_contents('app/Console/Commands/SyncAndreiaPermissions.php');
- $replacement = <<<'REPLACE'
- if ($templateRoles->isEmpty()) {
- $this->error("A unidade da Andreia não possui perfis customizados para replicar.");
- return;
- }
- // NOVIDADE: Exporta a configuração para um arquivo fixo no código!
- $configArray = [];
- foreach ($templateRoles as $templateRole) {
- $perms = [];
- foreach ($templateRole->permissions as $p) {
- $perms[] = [
- 'permission_id' => $p->permission_id,
- 'bits' => $p->bits,
- ];
- }
- $configArray[] = [
- 'label' => $templateRole->label,
- 'system_key' => $templateRole->system_key,
- 'slug_prefix' => \Illuminate\Support\Str::slug($templateRole->label),
- 'permissions' => $perms,
- ];
- }
-
- $configContent = "<?php\n\nreturn " . var_export($configArray, true) . ";\n";
- file_put_contents(config_path('default_franchisee_roles.php'), $configContent);
- $this->info("Arquivo de configuração config/default_franchisee_roles.php gerado com sucesso! Isso garante o funcionamento em Produção.");
- $this->info("Encontrados {$templateRoles->count()} perfis na unidade da Andreia. Replicando para todas as outras unidades...");
- REPLACE;
- $content = str_replace(
- 'if ($templateRoles->isEmpty()) {
- $this->error("A unidade da Andreia não possui perfis customizados para replicar.");
- return;
- }
- $this->info("Encontrados {$templateRoles->count()} perfis na unidade da Andreia. Replicando para todas as outras unidades...");',
- $replacement,
- $content
- );
- file_put_contents('app/Console/Commands/SyncAndreiaPermissions.php', $content);
|