From fd820c2caeb2e9d047c9c9d1b3937e8b528aaf91 Mon Sep 17 00:00:00 2001 From: Jose Fernando Mendes da Costa <98fernandocosta@gmail.com> Date: Mon, 21 Mar 2022 13:57:41 -0300 Subject: [PATCH] Cria models para solicitacao de certificado --- app/Notificacao.php | 7 +++- app/SolicitacaoCertificado.php | 20 ++++++++++ app/SolicitacaoParticipante.php | 24 ++++++++++++ app/Trabalho.php | 5 +++ ...03_18_083809_create_certificados_table.php | 31 ++++++++++++++++ ...create_solicitacao_participantes_table.php | 37 +++++++++++++++++++ ...olicitacao_certificado_to_notificacaos.php | 34 +++++++++++++++++ 7 files changed, 157 insertions(+), 1 deletion(-) mode change 100644 => 100755 app/Notificacao.php create mode 100755 app/SolicitacaoCertificado.php create mode 100644 app/SolicitacaoParticipante.php create mode 100755 database/migrations/2022_03_18_083809_create_certificados_table.php create mode 100644 database/migrations/2022_03_21_122553_create_solicitacao_participantes_table.php create mode 100644 database/migrations/2022_03_21_123012_add_solicitacao_certificado_to_notificacaos.php diff --git a/app/Notificacao.php b/app/Notificacao.php old mode 100644 new mode 100755 index cd6a717..5e3e341 --- a/app/Notificacao.php +++ b/app/Notificacao.php @@ -12,7 +12,7 @@ class Notificacao extends Model * @var array */ protected $fillable = [ - 'lido', 'tipo', 'destinatario_id', 'remetente_id', 'perfil_id', 'trabalho_id', + 'lido', 'tipo', 'destinatario_id', 'remetente_id', 'perfil_id', 'trabalho_id', 'solicitacao_certificado_id', ]; public function destinatario(){ @@ -26,4 +26,9 @@ class Notificacao extends Model public function trabalho(){ return $this->belongsTo(Trabalho::class,'trabalho_id','id'); } + + public function solicitacaoCertificado() + { + return $this->belongsTo('\App\SolicitacaoCertificado', 'solicitacao_certificado_id'); + } } diff --git a/app/SolicitacaoCertificado.php b/app/SolicitacaoCertificado.php new file mode 100755 index 0000000..57e653a --- /dev/null +++ b/app/SolicitacaoCertificado.php @@ -0,0 +1,20 @@ +hasMany('App\SolicitacaoParticipante', 'solicitacao_certificado_id'); + } +} diff --git a/app/SolicitacaoParticipante.php b/app/SolicitacaoParticipante.php new file mode 100644 index 0000000..8bf3a42 --- /dev/null +++ b/app/SolicitacaoParticipante.php @@ -0,0 +1,24 @@ +belongsTo('App\SolicitacaoCertificado', 'solicitacao_certificado_id'); + } + + public function user() + { + return $this->belongsTo('App\User', 'user_id'); + } +} diff --git a/app/Trabalho.php b/app/Trabalho.php index 45752d0..6677f13 100755 --- a/app/Trabalho.php +++ b/app/Trabalho.php @@ -110,4 +110,9 @@ class Trabalho extends Model public function notificacoes(){ return $this->hasMany(Notificacao::class, 'trabalho_id', 'id'); } + + public function solicitacoesCertificados() + { + return $this->hasMany(Certificado::class, 'trabalho_id'); + } } diff --git a/database/migrations/2022_03_18_083809_create_certificados_table.php b/database/migrations/2022_03_18_083809_create_certificados_table.php new file mode 100755 index 0000000..e16454e --- /dev/null +++ b/database/migrations/2022_03_18_083809_create_certificados_table.php @@ -0,0 +1,31 @@ +bigIncrements('id'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('solicitacoes_certificados'); + } +} diff --git a/database/migrations/2022_03_21_122553_create_solicitacao_participantes_table.php b/database/migrations/2022_03_21_122553_create_solicitacao_participantes_table.php new file mode 100644 index 0000000..5d7b759 --- /dev/null +++ b/database/migrations/2022_03_21_122553_create_solicitacao_participantes_table.php @@ -0,0 +1,37 @@ +bigIncrements('id'); + $table->unsignedBigInteger('user_id'); + $table->foreign('user_id')->references('id')->on('users'); + + $table->unsignedBigInteger('solicitacao_certificado_id'); + $table->foreign('solicitacao_certificado_id')->references('id')->on('solicitacoes_certificados'); + + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('solicitacoes_participantes'); + } +} diff --git a/database/migrations/2022_03_21_123012_add_solicitacao_certificado_to_notificacaos.php b/database/migrations/2022_03_21_123012_add_solicitacao_certificado_to_notificacaos.php new file mode 100644 index 0000000..c8c8d1e --- /dev/null +++ b/database/migrations/2022_03_21_123012_add_solicitacao_certificado_to_notificacaos.php @@ -0,0 +1,34 @@ +unsignedBigInteger('solicitacao_certificado_id')->nullable(); + $table->foreign('solicitacao_certificado_id')->references('id')->on('solicitacoes_certificados'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('notificacaos', function (Blueprint $table) { + $table->dropForeign(['solicitacao_certificado_id']); + $table->dropColumn('solicitacao_certificado_id'); + }); + } +} -- GitLab