diff --git a/app/Actions/AddDominioAction.php b/app/Actions/AddDominioAction.php index f3f9eeb..d8a9a6c 100644 --- a/app/Actions/AddDominioAction.php +++ b/app/Actions/AddDominioAction.php @@ -8,7 +8,7 @@ class AddDominioAction { public function execute(array $validated): array { - $validated['dominio'] = $validated['name'] . 'fflch.usp.br'; + $validated['dominio'] = $validated['name'] . '.fflch.usp.br'; $validated['user_id'] = Auth::id(); return $validated; diff --git a/app/Http/Controllers/DockerImageController.php b/app/Http/Controllers/DockerImageController.php index fca61b5..21383f4 100644 --- a/app/Http/Controllers/DockerImageController.php +++ b/app/Http/Controllers/DockerImageController.php @@ -30,8 +30,8 @@ public function create() public function store(DockerImageRequest $request) { - $dockerImage = DockerImage::create($request->validated()); - return redirect()->route('dockerimages.show', $dockerImage); + DockerImage::create($request->validated()); + return redirect()->route('dockerimages.index'); } public function edit(DockerImage $dockerimage) @@ -62,4 +62,15 @@ public function destroy(DockerImage $dockerimage) } } + public function variables(DockerImage $dockerimage) + { + return view( + 'dockerimages.editvariables', + [ + 'variables' => $dockerimage->imageVariables, + 'image' => $dockerimage + ] + ); + } + } diff --git a/app/Http/Controllers/ImageVariableController.php b/app/Http/Controllers/ImageVariableController.php index b36a364..1fba4bf 100644 --- a/app/Http/Controllers/ImageVariableController.php +++ b/app/Http/Controllers/ImageVariableController.php @@ -3,11 +3,11 @@ namespace App\Http\Controllers; use App\Http\Requests\StoreImageVariableRequest; +use App\Models\DockerImage; use App\Models\ImageVariable; class ImageVariableController extends Controller { - public function store(StoreImageVariableRequest $request) { ImageVariable::create($request->validated()); @@ -16,10 +16,9 @@ public function store(StoreImageVariableRequest $request) public function destroy(ImageVariable $imageVariable) { - $imageId = $imageVariable->image_id; + $image = $imageVariable->image; $imageVariable->delete(); - return redirect()->route('dockerimages.show', $imageId); + return redirect()->route('dockerimages.variables', $image); } - } diff --git a/app/Http/Requests/AppUpdateRequest.php b/app/Http/Requests/AppUpdateRequest.php index cac12f7..42b2c13 100644 --- a/app/Http/Requests/AppUpdateRequest.php +++ b/app/Http/Requests/AppUpdateRequest.php @@ -24,6 +24,7 @@ public function rules(): array { return [ 'name' => 'required', + 'justificativa' => 'required', 'image_id' => 'required', 'version' => 'required' ]; @@ -32,6 +33,7 @@ public function rules(): array public function messages(){ return [ 'name.required' => 'O domínio é obrigatório.', + 'justificativa' => 'A justificativa é obrigatória.', 'image_id' => 'A imagem do app é obrigatória.', 'version.required' => 'A versão da imagme é obrigatória.' ]; diff --git a/resources/views/dockerimages/create.blade.php b/resources/views/dockerimages/create.blade.php index 7b239cb..57f98ee 100644 --- a/resources/views/dockerimages/create.blade.php +++ b/resources/views/dockerimages/create.blade.php @@ -1,11 +1,11 @@ @extends('main') @section('content')
-
-

Adicionar nova imagem:

+
+

Adicionar nova imagem:

-
-
+
+ @method('post') @csrf
diff --git a/resources/views/dockerimages/edit.blade.php b/resources/views/dockerimages/edit.blade.php index 46664e3..505bcf5 100644 --- a/resources/views/dockerimages/edit.blade.php +++ b/resources/views/dockerimages/edit.blade.php @@ -1,19 +1,19 @@ @extends('main') @section('content')
-
-

Atualize a imagem: {{ $docker_image->name }}

+
+

{{ $docker_image->name }}

-
- +
+ @method('patch') @csrf -
- Imagem docker: +
+ Imagem docker:
- +
diff --git a/resources/views/dockerimages/editvariables.blade.php b/resources/views/dockerimages/editvariables.blade.php new file mode 100644 index 0000000..0043c50 --- /dev/null +++ b/resources/views/dockerimages/editvariables.blade.php @@ -0,0 +1,50 @@ +@extends('main') +@section('content') +
+
+

Configurar variáveis

+
+
+
+ @csrf + @method('post') + +
+ + +
+ +
+
+ @if ($variables) +
+ + + + + + + + + @foreach ($variables as $variable) + + + + + @endforeach + +
NomeAções
{{ $variable->name }} +
+ @csrf + @method('DELETE') + +
+
+
+ @endif +
+ +@endsection + +@section('javascripts_bottom') +@endsection('javascripts_bottom') diff --git a/resources/views/dockerimages/index.blade.php b/resources/views/dockerimages/index.blade.php index 10a85c3..67bfae9 100644 --- a/resources/views/dockerimages/index.blade.php +++ b/resources/views/dockerimages/index.blade.php @@ -1,16 +1,36 @@ @extends('main') @section('content') -
-
-

Imagens docker:

-
-
- -
-
+
+
+

Imagens

+
+
+
+ + + + + + + + + + @foreach ($docker_images as $image) + + + + + + @endforeach + +
NomeImagemAções
{{ $image->name }}{{ $image->path }} + Editar + Deletar + Variáveis +
+
+
+
@endsection diff --git a/resources/views/dockerimages/show.blade.php b/resources/views/dockerimages/show.blade.php index 9f2092d..1a6206b 100644 --- a/resources/views/dockerimages/show.blade.php +++ b/resources/views/dockerimages/show.blade.php @@ -32,9 +32,8 @@ @foreach ($docker_image->imageVariables as $variable) -
@csrf @method('delete') @@ -48,10 +47,7 @@ class="d-flex justify-content-between"
- + @csrf @method('post') diff --git a/resources/views/webapps/edit.blade.php b/resources/views/webapps/edit.blade.php index ca36780..a1eb30e 100644 --- a/resources/views/webapps/edit.blade.php +++ b/resources/views/webapps/edit.blade.php @@ -18,6 +18,13 @@
+
+
+ + +
+
+
@@ -26,9 +33,9 @@ Seleciona a imagem docker para a aplicação @foreach ($docker_images as $image) - + @endforeach
diff --git a/resources/views/webapps/index.blade.php b/resources/views/webapps/index.blade.php index d04c696..344563c 100644 --- a/resources/views/webapps/index.blade.php +++ b/resources/views/webapps/index.blade.php @@ -4,11 +4,29 @@

Apps

- + + + + + + + + + + + @foreach ($webapps as $webapp) + + + + + + + @endforeach + +
NomeImagemVersãoAções
{{ $webapp->dominio }}{{ $webapp->dockerImage->path }}{{ $webapp->version }} + Ver + Editar +
diff --git a/resources/views/webapps/show.blade.php b/resources/views/webapps/show.blade.php index 4d9b85f..f959cfc 100644 --- a/resources/views/webapps/show.blade.php +++ b/resources/views/webapps/show.blade.php @@ -1,50 +1,70 @@ @extends('main') @section('content') -

{{ $webapp->dominio }}

+
+
+

{{ $webapp->name }}

+
+
+ Domínio: +

{{ $webapp->dominio}}

+ Imagem: +

{{ $webapp->dockerImage->name }}

+ Versão: +

{{ $webapp->version }}

+ Justificativa: +

{{ $webapp->justificativa }}

+ Solicitante: +

{{ $webapp->user->name }}

+
- Justificativa: -

{{ $webapp->justificativa }}

- Solicitante: -

{{ $webapp->user->name }}

- -
- @if (!$webapp->AppDatabase) - Criar bancos de dados - @else - Ver banco de dados - Testar conexão - @endif -
- Implementar: 1) Criar um banco de dados para o dominio, 2) Criar um usuário, 3) Criar uma senha para esse usuário e - guardar localmente, 4) Conceder as permissões necessárias para o usuário acessar o banco de dados criado 5) Testar a - conexão do app com o banco de dados criado. 6) opção de deletar o banco de dados -
-
- Criar Bucket - Ver dados bucket - Excluir bucket -
- Implementar: 1) Criar um bucket para o dominio (ok), 2) Criar um usuário, 3) Criar uma senha para esse usuário e - guardar localmente, 4) Conceder as permissões necessárias para o usuário acessar o bucket criado 5) Testar a conexão - do app com o bucket criado. 6) opção de deletar o bucket -
-
- Alterar imagem docker - Configurar variáveis de - ambiente - @if ($webapp->status == 'Solicitado') - Publicar aplicação - @else - Atualizar aplicação - @endif -
-
- Implementado: -
1- Model Variaveis -
2- Model Imagem -
3- Relacionamento entre imagem, variaveis e webapp -
4- Adição e atualização da imagem e das variaveis para o webapp -
5- Requisições para publicação do app no container e atualização do mesmo -
+
+
+
+

+ Banco de Dados +

+
+
+ @if (!$webapp->AppDatabase) + Criar bancos de + dados + @else + Ver banco de dados + Testar conexão + @endif +
+
+
+
+
+

+ Bucket +

+
+ +
+
+
+

+ Aplicação +

+
+
+ Alterar imagem docker + Configurar variáveis de + ambiente + @if ($webapp->status == 'Solicitado') + Publicar aplicação + @else + Atualizar aplicação + @endif +
+
+
@endsection diff --git a/routes/web.php b/routes/web.php index 0533f64..cd0fb09 100644 --- a/routes/web.php +++ b/routes/web.php @@ -23,6 +23,7 @@ Route::get('appVariable/{webapp}', [AppVariableController::class, 'show'])->name('appVariable.show'); Route::resource('dockerimages', DockerImageController::class); +Route::get('dockerimages/{dockerimage}/variables', [DockerImageController::class, 'variables'])->name('dockerimages.variables'); Route::resource('imageVariable', ImageVariableController::class)->only(['store', 'destroy']); Route::prefix('gwmariadb')->group(function () {