create-entity-server 0.0.26 → 0.0.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/template/.env.example +26 -0
- package/template/configs/auth/cors.json +15 -0
- package/template/configs/auth/jwt.json +12 -0
- package/template/configs/{oauth.json → auth/oauth.json} +7 -4
- package/template/configs/auth/password.json +45 -0
- package/template/configs/{security.json → auth/security.json} +4 -2
- package/template/configs/cache.json +2 -1
- package/template/configs/keys/.gitkeep +0 -0
- package/template/configs/keys/apns.p8.example +7 -0
- package/template/configs/keys/firebase.pem.example +7 -0
- package/template/configs/server.json +1 -0
- package/template/entities/README.md +13 -16
- package/template/entities/System/Auth/account.json +172 -16
- package/template/entities/System/Auth/account_audit.json +31 -0
- package/template/entities/System/Auth/account_device.json +64 -0
- package/template/entities/System/Auth/account_login_log.json +69 -0
- package/template/entities/System/Auth/account_oauth.json +74 -0
- package/template/entities/System/Auth/api_keys.json +18 -9
- package/template/entities/System/Auth/identity_verification.json +106 -0
- package/template/entities/System/Auth/license.json +41 -20
- package/template/entities/System/Auth/password_history.json +19 -0
- package/template/entities/System/Auth/rbac_roles.json +10 -7
- package/template/entities/System/Backup/backup_log.json +66 -0
- package/template/entities/System/Email/smtp_log.json +87 -0
- package/template/entities/System/Email/smtp_msg.json +104 -0
- package/template/entities/System/Notification/alimtalk_log.json +65 -0
- package/template/entities/System/Notification/alimtalk_msg.json +53 -0
- package/template/entities/System/Notification/friendtalk_log.json +89 -0
- package/template/entities/System/Notification/friendtalk_msg.json +91 -0
- package/template/entities/System/Notification/sms_log.json +65 -0
- package/template/entities/System/Notification/sms_msg.json +82 -0
- package/template/entities/System/Notification/sms_verification.json +50 -0
- package/template/entities/System/Payment/pg_cancel.json +60 -0
- package/template/entities/System/Payment/pg_order.json +115 -0
- package/template/entities/System/Payment/pg_webhook_log.json +52 -0
- package/template/entities/System/Push/push_log.json +86 -0
- package/template/entities/System/Push/push_msg.json +56 -0
- package/template/entities/System/Storage/file_backup_log.json +51 -0
- package/template/entities/System/Storage/file_download_log.json +43 -0
- package/template/entities/System/Storage/file_meta.json +72 -0
- package/template/entities/System/system_audit_log.json +39 -34
- package/template/entities/company.json +5 -2
- package/template/entities/{product.json → goods.json} +9 -6
- package/template/entities/todo.json +4 -2
- package/template/samples/entities/01_basic_fields.json +15 -2
- package/template/samples/entities/02_types_and_defaults.json +15 -5
- package/template/samples/entities/03_hash_and_unique.json +18 -3
- package/template/samples/entities/04_fk_and_composite_unique.json +18 -3
- package/template/samples/entities/05_cache.json +15 -9
- package/template/samples/entities/06_history_and_hard_delete.json +19 -6
- package/template/samples/entities/07_license_scope.json +18 -3
- package/template/samples/entities/08_hook_sql.json +24 -5
- package/template/samples/entities/09_hook_entity.json +12 -2
- package/template/samples/entities/10_hook_submit_delete.json +14 -5
- package/template/samples/entities/11_hook_webhook.json +20 -6
- package/template/samples/entities/12_hook_push.json +15 -2
- package/template/samples/entities/13_read_only.json +8 -4
- package/template/samples/entities/14_optimistic_lock.json +13 -2
- package/template/samples/entities/15_reset_defaults.json +7 -1
- package/template/samples/entities/16_isolated_license.json +19 -6
- package/template/scripts/reset-all.sh +57 -3
- package/template/scripts/run.sh +56 -6
- package/template/templates/email/auth/2fa_disabled.html +23 -0
- package/template/templates/email/auth/2fa_recovery_regenerated.html +31 -0
- package/template/templates/email/auth/2fa_setup_complete.html +43 -0
- package/template/templates/email/auth/welcome.html +18 -0
- package/template/templates/email/backup/backup_completed.html +35 -0
- package/template/templates/email/backup/backup_failed.html +27 -0
- package/template/templates/email/backup/backup_partial.html +31 -0
- package/template/templates/email/layout.html +47 -0
- package/template/templates/email/order/order_confirmation.html +30 -0
- package/template/templates/email/storage/storage_quota_exceeded.html +37 -0
- package/template/templates/email/storage/storage_quota_warning.html +37 -0
- package/template/templates/ocr/business_reg.json +145 -0
- package/template/templates/ocr/career_cert.json +93 -0
- package/template/templates/ocr/driver_license.json +89 -0
- package/template/templates/ocr/facility_card.json +82 -0
- package/template/templates/ocr/id_card.json +55 -0
- package/template/templates/ocr/invoice.json +92 -0
- package/template/templates/ocr/namecard.json +116 -0
- package/template/templates/ocr/prompts/business_reg.json +14 -0
- package/template/templates/ocr/prompts/career_cert.json +16 -0
- package/template/templates/ocr/prompts/driver_license.json +14 -0
- package/template/templates/ocr/prompts/facility_card.json +15 -0
- package/template/templates/ocr/prompts/general.json +13 -0
- package/template/templates/ocr/prompts/id_card.json +11 -0
- package/template/templates/ocr/prompts/invoice.json +17 -0
- package/template/templates/ocr/prompts/namecard.json +15 -0
- package/template/templates/ocr/prompts/receipt.json +14 -0
- package/template/templates/ocr/receipt.json +79 -0
- package/template/configs/cors.json +0 -7
- package/template/configs/jwt.json +0 -8
- package/template/entities/Account/account_audit.json +0 -16
- /package/template/configs/{backup.json → extensions/backup.json} +0 -0
- /package/template/configs/{storage.json → extensions/storage.json} +0 -0
- /package/template/configs/{push.json → notification/push.json} +0 -0
- /package/template/configs/{smtp.json → notification/smtp.json} +0 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"doc_type": "business_reg",
|
|
3
|
+
"system_msg": "당신은 OCR 텍스트에서 사업자등록증 정보를 추출하는 AI입니다. 사업자등록번호는 XXX-XX-XXXXX 형식으로 반환하세요. 찾을 수 없는 필드는 빈 문자열로 반환하세요.",
|
|
4
|
+
"user_msg": "아래 OCR 텍스트에서 사업자등록증 정보를 추출하여 다음 JSON 스키마에 맞게 응답하세요.\n\n[OCR 텍스트]\n{{ocr_text}}\n\n[출력 스키마]\n{{schema}}\n\nJSON만 출력하세요.",
|
|
5
|
+
"schema": {
|
|
6
|
+
"corp_num": "string: 사업자등록번호 (XXX-XX-XXXXX)",
|
|
7
|
+
"corp_name": "string: 상호(법인명)",
|
|
8
|
+
"ceo_name": "string: 대표자 성명",
|
|
9
|
+
"address": "string: 사업장 소재지",
|
|
10
|
+
"open_date": "string: 개업연월일 (YYYY-MM-DD)",
|
|
11
|
+
"biz_type": "string: 업태",
|
|
12
|
+
"biz_class": "string: 종목"
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"doc_type": "career_cert",
|
|
3
|
+
"system_msg": "당신은 OCR 텍스트에서 경력증명서(재직증명서) 정보를 추출하는 AI입니다. 개인정보 보호를 위해 주민등록번호는 생년월일 6자리와 뒷자리 첫 숫자만 표시하고 나머지는 '*'로 마스킹하세요. 날짜는 YYYY-MM-DD 형식으로 반환하세요. 찾을 수 없는 필드는 빈 문자열로 반환하세요.",
|
|
4
|
+
"user_msg": "아래 OCR 텍스트에서 경력증명서 정보를 추출하여 다음 JSON 스키마에 맞게 응답하세요.\n\n[OCR 텍스트]\n{{ocr_text}}\n\n[출력 스키마]\n{{schema}}\n\nJSON만 출력하세요.",
|
|
5
|
+
"schema": {
|
|
6
|
+
"name": "string: 성명",
|
|
7
|
+
"id_number": "string: 주민등록번호 (마스킹, 예: 900101-1******)",
|
|
8
|
+
"company": "string: 회사(기관)명",
|
|
9
|
+
"department": "string: 부서명",
|
|
10
|
+
"position": "string: 직위 또는 직급",
|
|
11
|
+
"join_date": "string: 입사일 (YYYY-MM-DD)",
|
|
12
|
+
"leave_date": "string: 퇴사일 (YYYY-MM-DD, 재직 중이면 빈 문자열)",
|
|
13
|
+
"issue_date": "string: 증명서 발급일 (YYYY-MM-DD)",
|
|
14
|
+
"issuer": "string: 발급자 (대표이사 성명 또는 기관명)"
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"doc_type": "driver_license",
|
|
3
|
+
"system_msg": "당신은 OCR 텍스트에서 운전면허증 데이터를 추출하는 전문 AI입니다. 주민등록번호는 반드시 앞 6자리만 추출하고 뒤 7자리는 *로 마스킹하세요 (예: 901225-*******). 주어진 JSON 스키마에 정확히 맞는 JSON만 출력하세요.",
|
|
4
|
+
"user_msg": "아래 운전면허증 OCR 텍스트에서 필드를 추출하여 다음 JSON 스키마에 맞게 응답하세요.\n\n[OCR 텍스트]\n{{ocr_text}}\n\n[출력 스키마]\n{{schema}}\n\nJSON만 출력하세요.",
|
|
5
|
+
"schema": {
|
|
6
|
+
"name": "string: 성명",
|
|
7
|
+
"id_number": "string: 주민등록번호 (앞 6자리만, 뒤 7자리는 * 마스킹: YYMMDD-*******)",
|
|
8
|
+
"license_num": "string: 면허번호 (XX-XX-XXXXXX-XX 형식)",
|
|
9
|
+
"license_type": "string: 면허종별 (예: 1종보통, 2종보통, 1종대형 등)",
|
|
10
|
+
"issue_date": "string: 발급일자 (YYYY-MM-DD 형식)",
|
|
11
|
+
"expiry_date": "string: 적성검사 만료일 (YYYY-MM-DD 형식)",
|
|
12
|
+
"issuer": "string: 발급 경찰청 이름"
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"doc_type": "facility_card",
|
|
3
|
+
"system_msg": "당신은 OCR 텍스트에서 건축물대장(시설물대장) 정보를 추출하는 AI입니다. 면적은 숫자와 단위(㎡)를 포함하여 반환하세요. 찾을 수 없는 필드는 빈 문자열로 반환하세요.",
|
|
4
|
+
"user_msg": "아래 OCR 텍스트에서 건축물대장 정보를 추출하여 다음 JSON 스키마에 맞게 응답하세요.\n\n[OCR 텍스트]\n{{ocr_text}}\n\n[출력 스키마]\n{{schema}}\n\nJSON만 출력하세요.",
|
|
5
|
+
"schema": {
|
|
6
|
+
"building_name": "string: 건물명 또는 건축물명",
|
|
7
|
+
"address": "string: 소재지(대지위치)",
|
|
8
|
+
"building_use": "string: 주용도 (예: 제2종 근린생활시설)",
|
|
9
|
+
"structure": "string: 구조 (예: 철근콘크리트조)",
|
|
10
|
+
"area": "string: 연면적 (예: 1234.56㎡)",
|
|
11
|
+
"floor_count": "string: 층수 (예: 지상 5층 / 지하 1층)",
|
|
12
|
+
"approval_date": "string: 사용승인일 (YYYY-MM-DD)",
|
|
13
|
+
"owner": "string: 소유자(건축주)"
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"doc_type": "general",
|
|
3
|
+
"system_msg": "당신은 OCR 텍스트를 분석하여 주요 정보를 추출하는 AI입니다. 주어진 JSON 스키마에 맞게 최대한 정보를 추출하세요. 찾을 수 없는 필드는 빈 문자열로 반환하세요.",
|
|
4
|
+
"user_msg": "아래 OCR 텍스트에서 주요 정보를 추출하여 다음 JSON 스키마에 맞게 응답하세요.\n\n[OCR 텍스트]\n{{ocr_text}}\n\n[출력 스키마]\n{{schema}}\n\nJSON만 출력하세요.",
|
|
5
|
+
"schema": {
|
|
6
|
+
"title": "string: 문서 제목 또는 문서 유형",
|
|
7
|
+
"date": "string: 날짜 (YYYY-MM-DD 형식)",
|
|
8
|
+
"name": "string: 인물 이름 또는 상호명",
|
|
9
|
+
"address": "string: 주소",
|
|
10
|
+
"amount": "string: 금액 (숫자만)",
|
|
11
|
+
"summary": "string: 문서 내용 한 줄 요약"
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"doc_type": "id_card",
|
|
3
|
+
"system_msg": "당신은 OCR 텍스트에서 신분증(주민등록증) 정보를 추출하는 AI입니다. 개인정보 보호를 위해 주민등록번호는 반드시 생년월일 6자리와 뒷자리 첫 숫자만 표시하고 나머지는 '*'로 마스킹하세요(예: 900101-1******). 찾을 수 없는 필드는 빈 문자열로 반환하세요.",
|
|
4
|
+
"user_msg": "아래 OCR 텍스트에서 신분증 정보를 추출하여 다음 JSON 스키마에 맞게 응답하세요.\n\n[OCR 텍스트]\n{{ocr_text}}\n\n[출력 스키마]\n{{schema}}\n\nJSON만 출력하세요.",
|
|
5
|
+
"schema": {
|
|
6
|
+
"name": "string: 성명",
|
|
7
|
+
"id_number": "string: 주민등록번호 (YYMMDD-1****** 형식으로 마스킹)",
|
|
8
|
+
"issue_date": "string: 발급일 (YYYY-MM-DD)",
|
|
9
|
+
"issuer": "string: 발급기관 (예: 서대문구청장)"
|
|
10
|
+
}
|
|
11
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"doc_type": "invoice",
|
|
3
|
+
"system_msg": "당신은 OCR 텍스트에서 세금계산서(거래명세서) 데이터를 추출하는 AI입니다. 공급자·공급받는자 정보, 날짜, 금액을 정확히 추출하세요. 찾을 수 없는 필드는 빈 문자열로 반환하세요.",
|
|
4
|
+
"user_msg": "아래 OCR 텍스트에서 세금계산서 정보를 추출하여 다음 JSON 스키마에 맞게 응답하세요.\n\n[OCR 텍스트]\n{{ocr_text}}\n\n[출력 스키마]\n{{schema}}\n\nJSON만 출력하세요.",
|
|
5
|
+
"schema": {
|
|
6
|
+
"invoice_num": "string: 세금계산서 번호",
|
|
7
|
+
"write_date": "string: 작성일자 (YYYY-MM-DD)",
|
|
8
|
+
"issuer_name": "string: 공급자 상호",
|
|
9
|
+
"issuer_reg_num": "string: 공급자 사업자등록번호 (XXX-XX-XXXXX)",
|
|
10
|
+
"receiver_name": "string: 공급받는자 상호",
|
|
11
|
+
"receiver_reg_num": "string: 공급받는자 사업자등록번호",
|
|
12
|
+
"supply_amount": "string: 공급가액 (숫자만)",
|
|
13
|
+
"tax_amount": "string: 세액 (숫자만)",
|
|
14
|
+
"total_amount": "string: 합계금액 (숫자만)",
|
|
15
|
+
"items": "array: [{name, qty, unit_price, amount}] 품목 목록"
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"doc_type": "namecard",
|
|
3
|
+
"system_msg": "당신은 OCR 텍스트에서 명함 정보를 추출하는 AI입니다. 이름, 직함, 회사, 연락처 등을 정확히 추출하세요. 전화번호·이메일은 복수일 수 있으므로 배열로 반환하세요. 찾을 수 없는 필드는 빈 문자열 또는 빈 배열로 반환하세요.",
|
|
4
|
+
"user_msg": "아래 OCR 텍스트에서 명함 정보를 추출하여 다음 JSON 스키마에 맞게 응답하세요.\n\n[OCR 텍스트]\n{{ocr_text}}\n\n[출력 스키마]\n{{schema}}\n\nJSON만 출력하세요.",
|
|
5
|
+
"schema": {
|
|
6
|
+
"name": "string: 이름",
|
|
7
|
+
"company": "string: 회사(기관)명",
|
|
8
|
+
"department": "string: 부서명",
|
|
9
|
+
"title": "string: 직함(직위)",
|
|
10
|
+
"phone": "array[string]: 전화번호 목록",
|
|
11
|
+
"email": "array[string]: 이메일 주소 목록",
|
|
12
|
+
"address": "string: 주소",
|
|
13
|
+
"website": "string: 웹사이트 URL"
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"doc_type": "receipt",
|
|
3
|
+
"system_msg": "당신은 OCR 텍스트에서 영수증 데이터를 추출하는 전문 AI입니다. 주어진 JSON 스키마에 정확히 맞는 JSON만 출력하세요. 값을 찾지 못하면 해당 필드를 빈 문자열로 설정하세요.",
|
|
4
|
+
"user_msg": "아래 영수증 OCR 텍스트에서 필드를 추출하여 다음 JSON 스키마에 맞게 응답하세요.\n\n[OCR 텍스트]\n{{ocr_text}}\n\n[출력 스키마]\n{{schema}}\n\nJSON만 출력하세요.",
|
|
5
|
+
"schema": {
|
|
6
|
+
"store_name": "string: 상호명/가맹점명",
|
|
7
|
+
"store_addr": "string: 주소",
|
|
8
|
+
"corp_num": "string: 사업자등록번호 (XXX-XX-XXXXX 형식)",
|
|
9
|
+
"date": "string: 거래일자 (YYYY-MM-DD 형식)",
|
|
10
|
+
"total_amount": "string: 결제 합계 금액 (숫자만, 콤마 제거)",
|
|
11
|
+
"payment_type": "string: 결제수단 (card/cash/other)",
|
|
12
|
+
"card_number": "string: 카드번호 (마지막 4자리만 또는 마스킹 포함)"
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
{
|
|
2
|
+
"doc_type": "receipt",
|
|
3
|
+
"label": "영수증",
|
|
4
|
+
|
|
5
|
+
"preprocess": {
|
|
6
|
+
"max_slope": 0.05,
|
|
7
|
+
"y_tolerance": 5,
|
|
8
|
+
"x_tolerance": 10,
|
|
9
|
+
"remove_patterns": ["^\\s*$"],
|
|
10
|
+
"merge_patterns": ["\\d{1,3}(,\\d{3})+원?"]
|
|
11
|
+
},
|
|
12
|
+
|
|
13
|
+
"keywords": {
|
|
14
|
+
"store_name": ["상호", "가맹점", "점포명"],
|
|
15
|
+
"corp_num": ["사업자번호", "사업자등록번호"],
|
|
16
|
+
"date": ["거래일시", "승인일시", "일시", "날짜"],
|
|
17
|
+
"total_amount": ["합계", "결제금액", "승인금액", "총금액", "금액"],
|
|
18
|
+
"payment_type": ["결제수단", "결제방법"],
|
|
19
|
+
"card_number": ["카드번호", "카드"]
|
|
20
|
+
},
|
|
21
|
+
|
|
22
|
+
"fields": {
|
|
23
|
+
"store_name": {
|
|
24
|
+
"output_key": "store_name",
|
|
25
|
+
"criteria": [
|
|
26
|
+
{ "keyword": "상호", "direction": "RIGHT" },
|
|
27
|
+
{ "keyword": "가맹점", "direction": "RIGHT" },
|
|
28
|
+
{ "keyword": "점포명", "direction": "RIGHT" }
|
|
29
|
+
]
|
|
30
|
+
},
|
|
31
|
+
"corp_num": {
|
|
32
|
+
"output_key": "corp_num",
|
|
33
|
+
"criteria": [
|
|
34
|
+
{ "keyword": "사업자번호", "direction": "RIGHT" },
|
|
35
|
+
{ "keyword": "사업자등록번호", "direction": "RIGHT" }
|
|
36
|
+
],
|
|
37
|
+
"refine": "biz_num"
|
|
38
|
+
},
|
|
39
|
+
"date": {
|
|
40
|
+
"output_key": "date",
|
|
41
|
+
"mode": "regex_scan",
|
|
42
|
+
"pattern": "(\\d{4}[./-]\\d{2}[./-]\\d{2}(?:[\\s]\\d{2}:\\d{2}(?::\\d{2})?)?)",
|
|
43
|
+
"capture_group": 1,
|
|
44
|
+
"refine": "date"
|
|
45
|
+
},
|
|
46
|
+
"total_amount": {
|
|
47
|
+
"output_key": "total_amount",
|
|
48
|
+
"criteria": [
|
|
49
|
+
{ "keyword": "합계", "direction": "RIGHT" },
|
|
50
|
+
{ "keyword": "합계", "direction": "DOWN" },
|
|
51
|
+
{ "keyword": "결제금액", "direction": "RIGHT" },
|
|
52
|
+
{ "keyword": "승인금액", "direction": "RIGHT" }
|
|
53
|
+
],
|
|
54
|
+
"refine": "number"
|
|
55
|
+
},
|
|
56
|
+
"payment_type": {
|
|
57
|
+
"output_key": "payment_type",
|
|
58
|
+
"criteria": [
|
|
59
|
+
{ "keyword": "결제수단", "direction": "RIGHT" },
|
|
60
|
+
{ "keyword": "결제방법", "direction": "RIGHT" }
|
|
61
|
+
]
|
|
62
|
+
},
|
|
63
|
+
"card_number": {
|
|
64
|
+
"output_key": "card_number",
|
|
65
|
+
"mode": "regex_scan",
|
|
66
|
+
"pattern": "([0-9*]{4}[-\\s]?[0-9*]{4}[-\\s]?[0-9*]{4}[-\\s]?[0-9*]{4})",
|
|
67
|
+
"capture_group": 1
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
|
|
71
|
+
"required_fields": ["total_amount"],
|
|
72
|
+
|
|
73
|
+
"confidence_weight": {
|
|
74
|
+
"store_name": 0.2,
|
|
75
|
+
"corp_num": 0.15,
|
|
76
|
+
"date": 0.25,
|
|
77
|
+
"total_amount": 0.4
|
|
78
|
+
}
|
|
79
|
+
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"cors_enabled": true,
|
|
3
|
-
"cors_allow_credentials": false,
|
|
4
|
-
"cors_allow_headers": "Origin,Content-Type,Accept,Authorization,X-API-Key,X-Signature,X-Timestamp,X-Nonce,X-Transaction-ID",
|
|
5
|
-
"cors_allow_methods": "GET,POST,PUT,PATCH,DELETE,OPTIONS",
|
|
6
|
-
"cors_allow_origins": "*"
|
|
7
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "account_audit",
|
|
3
|
-
"description": "account 감사 로그. JWT 인증 시에만 account_seq는 required",
|
|
4
|
-
"index": {
|
|
5
|
-
"account_seq": {
|
|
6
|
-
"comment": "계정 seq (JWT 인증 시 account.seq 참조. HMAC은 nullable)",
|
|
7
|
-
"type": "bigint",
|
|
8
|
-
"nullable": true
|
|
9
|
-
},
|
|
10
|
-
"action": {
|
|
11
|
-
"comment": "작업 유형",
|
|
12
|
-
"type": ["INSERT", "UPDATE", "DELETE", "LOGIN", "LOGOUT"],
|
|
13
|
-
"required": true
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|