From cd20f8d73f51b5b16986479e7a3db64dd310afa3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=B3=B4=EA=B3=A4?= Date: Fri, 13 Feb 2026 07:44:35 +0900 Subject: [PATCH] =?UTF-8?q?feat:E-Sign=20=ED=85=9C=ED=94=8C=EB=A6=BF=20?= =?UTF-8?q?=EB=B3=80=EC=88=98=20=EC=8B=9C=EC=8A=A4=ED=85=9C=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80=20(=EB=A7=88=EC=9D=B4=EA=B7=B8=EB=A0=88=EC=9D=B4?= =?UTF-8?q?=EC=85=98+=EB=AA=A8=EB=8D=B8)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - field_variable, metadata, variables 컬럼 마이그레이션 추가 - EsignContract 모델에 metadata (JSON cast) 추가 - EsignSignField 모델에 field_variable 추가 Co-Authored-By: Claude Opus 4.6 --- app/Models/ESign/EsignContract.php | 2 + app/Models/ESign/EsignSignField.php | 1 + ...00_add_variable_system_to_esign_tables.php | 50 +++++++++++++++++++ 3 files changed, 53 insertions(+) create mode 100644 database/migrations/2026_02_13_080000_add_variable_system_to_esign_tables.php diff --git a/app/Models/ESign/EsignContract.php b/app/Models/ESign/EsignContract.php index e519134..a5bcfb3 100644 --- a/app/Models/ESign/EsignContract.php +++ b/app/Models/ESign/EsignContract.php @@ -57,6 +57,7 @@ class EsignContract extends Model 'signed_file_path', 'signed_file_hash', 'status', + 'metadata', 'expires_at', 'completed_at', 'created_by', @@ -66,6 +67,7 @@ class EsignContract extends Model protected $casts = [ 'original_file_size' => 'integer', + 'metadata' => 'array', 'expires_at' => 'datetime', 'completed_at' => 'datetime', ]; diff --git a/app/Models/ESign/EsignSignField.php b/app/Models/ESign/EsignSignField.php index 8b8139b..0e52ed9 100644 --- a/app/Models/ESign/EsignSignField.php +++ b/app/Models/ESign/EsignSignField.php @@ -38,6 +38,7 @@ class EsignSignField extends Model 'height', 'field_type', 'field_label', + 'field_variable', 'font_size', 'field_value', 'is_required', diff --git a/database/migrations/2026_02_13_080000_add_variable_system_to_esign_tables.php b/database/migrations/2026_02_13_080000_add_variable_system_to_esign_tables.php new file mode 100644 index 0000000..b45df30 --- /dev/null +++ b/database/migrations/2026_02_13_080000_add_variable_system_to_esign_tables.php @@ -0,0 +1,50 @@ +json('variables')->nullable()->after('signer_count'); + }); + + // 템플릿 필드에 변수 참조 추가 + Schema::table('esign_field_template_items', function (Blueprint $table) { + $table->string('field_variable', 50)->nullable()->after('field_label'); + }); + + // 계약에 메타데이터 JSON 추가 + Schema::table('esign_contracts', function (Blueprint $table) { + $table->json('metadata')->nullable()->after('status'); + }); + + // 계약 필드에 변수 참조 추가 + Schema::table('esign_sign_fields', function (Blueprint $table) { + $table->string('field_variable', 50)->nullable()->after('field_label'); + }); + } + + public function down(): void + { + Schema::table('esign_sign_fields', function (Blueprint $table) { + $table->dropColumn('field_variable'); + }); + + Schema::table('esign_contracts', function (Blueprint $table) { + $table->dropColumn('metadata'); + }); + + Schema::table('esign_field_template_items', function (Blueprint $table) { + $table->dropColumn('field_variable'); + }); + + Schema::table('esign_field_templates', function (Blueprint $table) { + $table->dropColumn('variables'); + }); + } +};