From 3f582a1ea4f9f2e6dbf3d1c9b0d8aa3a1947d61e Mon Sep 17 00:00:00 2001 From: peaklabs-dev <122374094+peaklabs-dev@users.noreply.github.com> Date: Wed, 29 Jan 2025 13:03:13 +0100 Subject: [PATCH] feat(migration): Add `ssl_certificates` table and model --- app/Models/SslCertificate.php | 32 +++++++++++++++++++ ...7_153741_create_ssl_certificates_table.php | 29 +++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 app/Models/SslCertificate.php create mode 100644 database/migrations/2025_01_27_153741_create_ssl_certificates_table.php diff --git a/app/Models/SslCertificate.php b/app/Models/SslCertificate.php new file mode 100644 index 000000000..5a1767ab5 --- /dev/null +++ b/app/Models/SslCertificate.php @@ -0,0 +1,32 @@ + 'encrypted', + 'ssl_private_key' => 'encrypted', + 'valid_until' => 'datetime', + ]; + + public function resource() + { + return $this->morphTo(); + } +} diff --git a/database/migrations/2025_01_27_153741_create_ssl_certificates_table.php b/database/migrations/2025_01_27_153741_create_ssl_certificates_table.php new file mode 100644 index 000000000..f10306ed7 --- /dev/null +++ b/database/migrations/2025_01_27_153741_create_ssl_certificates_table.php @@ -0,0 +1,29 @@ +id(); + $table->text('ssl_certificate')->nullable(); + $table->text('ssl_private_key')->nullable(); + $table->string('resource_type')->nullable(); + $table->unsignedBigInteger('resource_id')->nullable(); + $table->enum('certificate_type', ['internal', 'external'])->default('internal'); + $table->timestamp('valid_until')->nullable(); + $table->timestamps(); + + $table->index(['resource_type', 'resource_id']); + }); + } + + public function down() + { + Schema::dropIfExists('ssl_certificates'); + } +};