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'); + } +};