Applied-model is the read-time source of truth for feature availability
Closes the "stale DB leaks a disabled feature" gap by gating every surface that touches OrgFeature / ServiceType through the applied security model. - ********...
Wire applied-model enforcement across every controller
Every non-role setting on the applied security model is now enforced at the exact controller boundary it governs, and the scalar settings round-trip cleanly thr...
Enforce system-role assignment and auto-admin for team-member owners
MemberSecurityController now enforces the three assignment invariants defined in the brainstorm spec: - saveMemberSecurity: before persisting the caller's requ...
Master-model + applied-model endpoints and template-aware org seeding
Adds the controllers that surface the new branch-type security flow: - /api/security/master-model (GET/PUT) manages the current org's master model; only writ...
Supplement session rights with all known rights for grant-all roles
Add SSE endpoint for real-time email verification + improve welcome email logging
Add resetCode to password reset email, add emailVerifyByCode endpoint, send WELCOME_MEMBER after email verification
Pass human-readable expiry time to email verification template
Add humanizeMinutes() helper that formats minutes as days/hours/minutes (e.g. "1 day" for 1440 min). Pass as {{expiryText}} to match updated canonical template ...
Add code-based email verification path to /verify-email endpoint
The endpoint now handles both token (link click) and userId+code (manual 6-digit entry). Token path unchanged; code path hashes the supplied code and matches ag...
Add register-photo endpoint for unauthenticated post-registration avatar upload
POST **************** accepts userId + file/fileSm/fileMd/fileLg without a session. Guards: user must be unverified and have no avatar yet, preventing abuse aga...
Add GET /api/security/geoip/me for client IP country lookup
Reads real client IP from X-Forwarded-For / X-Real-IP headers, does a GeoLite2 lookup, and returns { country_code, country_name }. Used by kamo-register's count...
Implement SP4 email verification and registration wiring
- Delete legacy email/VerificationEmail.java (hardcoded SMTP stub) - Add **************** (mirrors recovery package pattern) - Add **************** — token gene...
Add AccountSettingsController + Service for phone + security questions (SP3)
Allows logged-in users to set/verify phone and configure 3 security questions. Routes to /api/account/* (session-authenticated via KSESSION_DATA).
Add BulkTextSmsClient + EmailTemplateServiceClient + PasswordRecoveryController (SP3)
Full password recovery flow: email-link, SMS OTP, security questions, seed phrase. Routes to /api/recover/* (unauthenticated). Uses SP1 email pipeline + VOIPSer...
Wire EmailTemplateSeedClient into ****************
Thin RestTemplate client that POSTs to EmailService's **************** after an org + owner TeamMember are persisted. Retries twice with backoff; failure throws...
Add public known-aliases endpoint for kamo-nowww build-time bake-in
Add analytics → analytics text replacement in changelog sanitization
Redact tokens ≥32 chars in changelog sanitization
Any word (run of non-whitespace) that is 32 characters or longer is replaced with **************** before titles and descriptions are sent to the translation se...
Generate TXT verification token on domain create, check in verify-dns
- createDomain: generate 32-char UUID token and store via setVerificationToken - verifyDns: check _kamo-verify TXT record for kamo-site-verification=<token> - T...
Update required aliases — add app, capcha, docs, sign; remove legacy
Add /setup/dns backend — one-domain enforcement, SSL probe, new aliases
- Enforce one custom domain per org in POST /api/security/domains - Add capcha, docs, sign to standard aliases; remove legacy aliases - Update verify-dns to tra...
Move changelog word replacement to backend before translation
Text replacements (Docs→Docs, Meet→Meet, etc.) and secret name redaction (K8s secret names→***) were previously applied client-side in ChangelogClient.tsx, mean...
리드 intake 관리 및 공개 수신 컨트롤러 추가
자동화된 납입 시스템에 대한 두 개의 컨트롤러 추가: - LeadIntakeController: 입구 엔드포인트, 필드를 위한 인증된 CRUD 매핑, 페이로드 큐 관리, 백로 처리 및 통계 - LeadIntakeReceiveController : 3rd-party를 수용하는 공공 엔드 ...
Redis 세션의 Store memberType
CASE WHEN e.id를 추가하면 NULL THEN 'TEAM MEMBER' ELSE 'MEMBER' END가 없습니다. 로그인 SQL 쿼리 및 생성을 통해 결과를 전달 Redis, 그래서 frontend는 세션 데이터를 통해 일반 회원으로부터 팀 구성원을 구분할 수 있습니다.
Granular WS 진행으로 템플릿 업로드시 동기화 per-page thumbnail 발생
- pom.xml에 PDFBox 의존성 추가 - 변환 된 PDF를 저장 한 후, PDFRenderer를 통해 모든 페이지를 렌더링하고 {id} thumb p{n}.png로 업로드하십시오. - "Generated thumbnail N of M" 라벨이있는 페이지 (72-95% 범위) 당 ...
Changelog endpoint에 webhook secret validation 추가
Defense-in-depth: validates *** 헤더에 APIService Gateway validation 외에도 SecurityService 측.
회원 액세스 레벨 및 소유자 상태 엔드포인트 추가
GET 및 PATCH 추가 **************** 읽기 및 전체 권한 시행으로 액세스 레벨을 업데이트하기위한 엔드 포인트. createOrganizationOwner를 사용하여 조직 생성을 업데이트하십시오.
8개의 웹소켓 업데이트로 과립 변환 진행 단계 추가
단계: 다운로드 (0-15%) → 준비 (15-20%) → 변환 (20-65%) → (65-75%) → 저장 (75-90%) → 최종화 (90-100%) → 완료
E-signature 템플릿에 대한 동기화 PDF 변환
Template uploads 이제 ConversionService를 통해 직접 변환 첨부파일 실시간 WebSocket을 위한 NATS 진행 이벤트 발행 프론트엔드의 업데이트. 전환이 실패하면 폭포 뒤로 우아하게.
E-signature 템플릿 API 엔드포인트 추가
- POST *********** - 범위 제어를 가진 업로드 템플릿 - POST *********** - 상황에 따라 목록 템플릿 및 상태 - PATCH *********** - 템플릿 수명주기 업데이트 - GET *********** — 스트림 변환 PDF - UploadTempla...
Capcha로 Google re***를 교체 *** 검증
Re *** 서비스 및 모든 Google re *** 구성 제거. CapchaVerificationService 를 추가하십시오. *** payloads 를 통해 kamo-capcha 서비스 /api/verify 엔드포인트. 로그인Request bean 과 securityControll...
POST /customers를 강화하여 연락처 정보를 받아 사용자를 찾습니다
지금 계정을 만들 이메일, contactName, 전화, acceptsMarketing, taxExempt. 이메일이 제공되고 기존 사용자와 일치하면 masterAccountHolder로 자동 설정.
Commerce 고객 관리를위한 18 계정 세부 엔드 포인트 추가
/api/security/account/의 밑에 AccountController에 새로운 엔드포인트: - 고객 CRUD: GET/POST/PUT/DELETE /customers, GET /customers/{uid} - 관련 데이터 : GET /customers/{uid}/leads, ...
CommerceMarketController에 111 소매점 추가
/{marketId}/retail/... 네임스페이스 커버: - 카테고리, 브랜드, 속성 (값 포함), 이미지, 변형, 태그, 리뷰 - 고객, 주소, 고객 그룹 - 세금 종류, 지역, 요금; 할인; 가격표 (항목 포함); 선물 카드 - Inventory 위치, 재고 수준 (조정) - 배...
Expand CommerceMarketController with nested market-centric endpoints
Replace flat POS endpoints with market-scoped REST hierarchy: - Products, inventory, vendor categories under /{marketId}/products, /inventory, /vendor-categorie...