1개의 요구 몸 파서, 3 아닙니다
3개의 임상 쓰기 관제사는 각각 그들의 자신의 끈/uuid/integer/를 성장합니다 서로의 주 이내에 날짜 도우미 - 서로를 제외하고 동일 파일이 필요합니다. 즉, 이 codebase는 이미 bitten 이었습니다. 두 배: 시장 피커는 2개의 사본에서 동일한 방법, 및 잘못되었습니...
계정의 다른 것 외에도 계정 타임 라인
계정에 속하는 모든 것은 이미 아래에 살고 있습니다. **************** — 그것의 지도, 순서, 일원, 주 및 이름 * 통신은 자체의 복수 자원에 하나였다, 만든 콘솔의 기존 계정 프록시는 수행 할 수 없습니다. 이동, 그래서 새로운 경로가 필요하지 않습니다.
Org 인증에서 자격 증명을 분리
로그인 한 두 가지 질문은 하나의 쿼리로 융합되었습니다. "이 자격 증명 좋은"은 사용자 행에 의해 응답 -- 암호가 거기 살고, 그래서 그것은이었다 결코 org-scoped. "5 월이 계정은 작업 공간"에 의해 응답 회원 행. ACCOUNT QUERY PREFIX INNER 회원 가...
Delegate AvatarObjectPaths는 공유 라이브러리에
MediaService는 이제 avatar 개체를 이름을 너무 — 지원 채팅 목록은 보여줍니다 requestor의 사진, 그리고 지원 requestor는 다른 사람의 조직에 있습니다, 그래서 아니 클라이언트 측 디렉토리는 해결할 수 있습니다. avatar 객체 경로의 두 사본은 이 클래...
구독 찾기 rename을 따르십시오
**************** 공유에서 사라집니다. 도서관. 그것의 선택적인 반환은 더 긴 유일한 constraint에 의존했습니다 존재, 그래서 한 계정은 개인과 그룹 구독 모두 보유 두 개의 행을 일치하고 여기에서 던질 것입니다. 두 개의 호출 사이트가 정규을 원한다 비 그룹 구독,...
Reads 읽기 전용, *** TTL의 한 작가를 떠나
Redis 레코드의 만료는 세션입니다. 회원이 끊을 때 로그인. 세션을 더 이상 접촉하지 마십시오. 진정한 상호 작용 세션을 호출하는 클라이언트 활동 추적기를 통해 확장 - 이 서비스는 이제 단일 구현으로 소유합니다. getSession는 완전히 미끄러지는 중지합니다. updateSe...
신모드 타임박스 제거
이 작업 나무에서 concurrent 세션에 의해 중단 된 작업을 체크 아웃. 여기에 권한이 없습니다. 이렇게 잃지 않고 주가 왼쪽되지 않습니다. 컴파일하지 않는 트리. 제거하는 방법: GodModeSession 클래스, GET /session/god-mode SessionRefres...
단일 통합은 표면 작성 — MortgageProviderConfig (D40)
일반적인 공급자 연결 CRUD로 AUS 전용 쓰기 경로를 교체 VendorCategory+vendorKey: /provider-connections GET/POST/PUT, 비밀 쓰기 전용 (암호화, @JsonIgnore), one-per-(category,vendorKey). AUS ...
BaseLosController의 컨트롤러 세션/rights/response 헬퍼를 통합
6 LOS-area 컨트롤러 (MortgageApp, MortgagePipeline, MortgagePricing, MortgageDisclosure, MortgageHmda, WebhookSubscription) 각 복사 ~80 라인의 *********** 코드 플러스 ********...
수동 프로비저닝-comp endpoint 제거 — 시작 셀프 치유
COMP 주문은 이제 SecurityService 시작에 자동으로 제공됩니다. SubscriptionService @PostConstruct를 통해. 수동 엔드포인트 더 이상 필요하지 않습니다.
드롭 사용자 / 마스터AccountHolder, 사용 Account.members + primaryMember
AccountController는 이제 계정-as-group 모델을 반영합니다. - computeDisplayName / extract이메일 / extractPhone 해결 defaultMember (Member) 대신 떨어졌다 masterAccountHolder - getCustome...
BillingGroup에서 계정 기반 라이선스로 이동
EntitlementService는 AccountLicense에 대한 회원 등록을 해결합니다. 회원의 청구 계정이 소유 한 기록. 회원정보 이제 모양은 accountUid + accountDisplayName 대신 이전 *********** 쌍. EntitlementInvalidati...
드롭 teamMemberPayFeesSetting 매개 변수
공유 라이브러리 변경 미러 - SecurityModelController, MasterModelController 및 AppliedModelController 더 이상 읽기 / 쓰기 teamMemberPayFeesSetting. 모든 상품 분기 유형 편집기의 per-model Self-...
Signup에 전화 필드에 SMS 검증을 드롭
셀프서비스 등록시 수집된 전화번호는 현재 일반 옵션 텍스트 필드 - 없음 /register/phone/initiate, SMS 코드, /register/phone/verify가 없습니다. 등록 엔드포인트는 숫자를 입력, whitespace/punctuation을 정상화, E.164-is...
PostAuth *** 로그인 및 입력 사이에 서비스
Post-authentication *** 빌드 (grant-all 확장, 프로파일 SQL, 분기 제목, createSession) PostAuth***서비스로 입력하여 사용 비밀번호 검증 후 kamo-login과 같은 코드 경로. Enter-as build AuthenticatedU...
Org 폴더를 닦지 않고 기본 템플릿
전체 조항 더 이상 복사하기 전에 org 접두사 삭제. 본문 바로가기 public/default overwrites 일치하는 열쇠만; org의 밑에 다른 목표 폴더가 남아 있습니다. 기본 템플릿 소스는 kamocrm-com에서 기본값으로 변경되었습니다.
ImagingController 및 Bean/imaging 제거 — ConversionService 및 DocsService로 이동
Upload endpoints now live 에 ConversionService 에 /api/conversion/imaging/*. 모든 관리 및 다운로드 엔드포인트 지금 DocsService에서 /api/docs/imaging/*.
Delegate thumbnail 세대를 변환 서비스, PDFBox 의존성을 제거
generateAndStoreThumbnails 이제 변환 PDF 변환 서비스 *************** 응답을 압축, 각 상점 thumb p{n}.png in MinIO, 페이지 WS 진행 상황을 게시합니다. PDFBox 제거.
계정 엔드포인트는 직접 연락처 필드를 사용하며, 요구되는 사용자 없음
POST /customers는 지금 firstName, lastName, 이메일, 전화, 주소를 직접 저장합니다 계정으로 PUT /customers/{uid} 모든 직접 필드를 업데이트합니다. 표시 이름, 이메일, 전화 해상도는 사용자 fallback과 직접 필드를 우선화합니다. 계정...
계정을 사용하려면 고객 엔드포인트를 업데이트하십시오 (Long uid), 주소 엔드포인트를 제거
고객/그룹 @PathVariable은 UUID에서 Account entity에 맞게 변경됩니다. Address endpoints 제거 - 주소는 계정의 1 차 회원 (Member entity)에서 제공됩니다.
Remove notes code, moved to KBService
Notes management (controller, service, encryption) has been relocated to KBService where it better aligns with knowledge and content management responsibilities...
Update controllers and services for UUID entity IDs
Updates all controller @PathVariable and service method signatures to use UUID instead of Long for internal entity IDs (avatars, backgrounds, roles, departments...
Return ageReqTypeMember and ageReqTypeTeamMember in org API response
Rename Employee to TeamMember and Employment to TeamMembership
Update all Employee/Employment references to TeamMember/TeamMembership in controllers, services, and security profile. Rename API endpoint from /employees-contr...
Switch POS controllers to CommerceService
- POSController uses CommerceService instead of POSService - RetailProductController uses CommerceService instead of RetailProductService - RetailInventoryContr...
Update LeadVendorController to use title and description instead of name
Rename MediaFeedController to MediaStreamController and add lead stream support
- Renamed MediaFeedController to MediaStreamController for generic media stream handling - Added support for lead-specific streams via streamGuid - Feed endpoin...
Remove ID-based fallback code, use only hash-based naming
- Remove all try-catch fallback logic for missing fileHash column - Remove ID-based file naming fallbacks - Code now exclusively uses hash-based file storage - ...
Return objectPath instead of presigned URLs - Next.js will generate them
Filter only consumes OTK and passes *** id; controller loads session on demand
Consolidate session management into KSessionService
- Deleted duplicate KTokenSessionService - Enhanced KSessionService with: * getSessionTTL() - get Redis key TTL * getSessionInfo() - get session data + TTL ...