이름 해결책, REO liens, TRID 휴일, webhook 납품, ESignTemplate 연결
모든 LOS 하위 프로젝트의 크로스 절단 광택 패스: 회원 표시 이름 해결책 (MemberNameResolver): - 표준 Kamo를 따르는 단일 공유 해결사 서비스 precedence User.name → Member.usernameAlias → User.alias →를 호출합니다...
가격 스냅 샷, 속도 잠금, AUS 발견, 공개, TRID 타이머, HMDA LAR
하위 프로젝트 5, 6 및 7 백엔드 함께 배송 : Sub-project 5 (pricing & 자물쇠): - LoanPricingSnapshot - append-only 견적 (프로그램, 투자자, 비율, APR의 점, 자물쇠 일) - RateLock - 상태, 만료, 실패한 이유와 ...
파이프 상태 기계, 조건, 템플릿, NATS 이벤트
Sub-project 4 (LOS 파이프라인 및 워크플로우) 백엔드: - 새로운 enum LoanConditionStatus (OPEN/CLEARED/WAIVED) - 신입 사원: LoanPipelineMilestone (부스 전용 전환 감사), LoanCondition (자신한 상태...
URLA 서비스 층 (repos, DTOs, 서비스, 조회)
URLA 패키지에 대한 전체 백엔드 서비스 레이어 추가 이전 커밋: repos/applications/ 20 JpaRepositories는 법인 당 배열했습니다 dtos/applications/ 응답 DTOs (Long->String) + 조회 페이로드 service/applicati...
URLA 2021 스키마 기반 주거용 모기지
Refactor AppMortgage는 여러 URLA 패키지 루트 지원 쌍당 최대 2인용 대출당 1003 ). Structured를 가진 빈 AppMortgage placeholder를 대체하십시오 모든 2021 URLA 섹션을 미러링하는 엔티티티 그래프: 핵심/ LoanFile, 대...
Guard admin-essential 권리 + 템플릿 편집에 대한 재생 역할
높은: *********** 지금 거부 ADMINISTRATOR에 NUKE 또는 FORCE NUKE 설정 템플릿의 admin-essential 권리 (CONFIGURE SYSTEM, MANAGE MEMBER SECURITY, MANAGE MEMBERS, EDIT MEMBER ACCESS...
"업데이트(회원): **************** idempotent 역할 촉진”
이 뒤틀림 ***************
**************** idempotent 역할 프로모션
Public, Transactional keepRoleAssigned(memberId, roleId)를 추가합니다. - 역할이 이미 회원이라면 No-ops. - OrgRole을 찾아 새로운 MemberRole을 열 수 있습니다. - Recomputes member rights appli...
Chunked recalc + 크로스 모델 팬 아웃 + typeTemplate non-force fallback
템플릿 편집에 필요한 세 가지 추가가 실제로 기존 회원에 도달 logout/login 주기를 강제하지 않고: 1. *********** - 모든 org 포인팅을 걸어 모형 (MasterModelID 또는 분지 유형을 통해)와 chunked-recalcs 각각 회원의 회원 rights ...
EmbAddress.country의 Drop CountryTypeConverter
변환기는 문자열로 enum name (e.g. "UNITED STATES")를 작성합니다. 그러나 모든 테이블 embedding EmbAddress (orgs, 사용자, 회원, user addresses, account addresses, member team member lic loc...
Add attachments and event fields to ChatMessageDto; ignore unknown fields
ChatMessageDto was missing `attachments`, `readMemberId`, `msgIdLastViewed`, `dateLastViewed`, `addedMemberId`, `objImgId`, `transitMemberId`, and `isJoin` fiel...
Split findChatSessionsForMemberPaged into First/After to fix empty Chats tab
HAVING CAST(null AS TIMESTAMP) IS NULL did not evaluate as expected in CockroachDB,
전환 MediaObjTransit로 @MapsId 파생 상품 패턴
@Id @OneToOne과 결합 된 IdClass는 Hibernate 6에서 안정적으로 지원되지 않습니다. JpaRepository<MediaObjTransit, UUID> 초기화는 "does notdefined로 실패 annotation이 존재하는 경우에도 IdClass Canonic...
MediaObjTransit를 위한 @IdClass를 추가하십시오 그래서 봄 자료 JPA는 그것의 파생한 ID를 드러낼 수 있습니다
Spring Data의 메타모델은 @IdClass for entities 의 기본 키는 @Id @OneToOne 파생 된 식별자. 그것 없이, JpaRepository<MediaObjTransit, UUID> "IdClass를 정의하지 않음"으로 시작하려면 실패합니다.
Add countUnreadAfter(guid, memberId, since) to MediaObjRepository
Needed by paged chat-list endpoint to compute per-session unread counts when ownLastViewedAt is a LocalDateTime pointer rather than a message UUID.
Add @PrePersist to MediaObjImgDownload.dateCreated to satisfy NOT NULL on insert
Add MediaObjImgDownloadRepository with existsByObjImgIdAndMemberId
Required by ImagingProxyService (Task 10) to deduplicate per-member download tracking without a full table scan.
Add CHAT_ATTACHMENT assoc type with imaging-chat-attachments bucket
Skip creator in findOrCreateExactChatSession member loop (createChatSession already adds them)
Service methods for exact-match find/create, member add, mute, revoke, read
Translation cache for chat messages
Adds the MediaObjMsgTranslation entity (one row per (message, language) pair) and an optional sourceLanguageId column on MediaObjMsg so chat messages can be tra...
@PostConstruct COMP 프로듀서 제거 - DB에서 기존 주문 수정
approveOrder()는 이미 새로운 COMP 순서를 취급합니다. 1회 데이터 간격 기존 주문은 데이터베이스에서 직접 수정됩니다.
셀프 - 치유의 시작에 COMP 주문
@PostConstruct에서 모든 APPROVED COMP 주문을 스캔하고 어떤 것을 제공 accountSubscription이 부족합니다. Idempotent - find-or-create는 안전한 것을 의미합니다. 반복적으로 실행하십시오.
AddCompSubscription 대신 getUid() 대신 CommerceMarket.getId()를 사용하십시오
CommerceMarket는 @Id UUID id를 사용하므로 Lombok은 getId()를 생성합니다.
COMP 주문 승인 자동 감독 AccountSubscription 및 라이센스 할당
- SubscriptionOrder: TargetOrganization (orgs에 가능한 FK)를 추가하십시오 - *********** targetOrganizationId 문자열 추가 - AccountRepository: add findByPrimaryMember Id 계정 조회 -...
긴 정밀도를 보존하기 위한 문자열로 customerMemberId를 직렬화
- AccountSummaryDTO : ***********로 uid를 annotate하고 primaryMemberId string 필드를 1차 member id로 변환합니다. - CreateSubscriptionOrderRequest: customerMemberId String (앞으...
Add MemberUiPreference entity for per-member UI prefs
Generic per-member UI preference store (memberId, prefKey, JSONB value) for small persisted UI settings. First consumer is the hex-head popover size selector.
AttributeConverter를 통해 CountryType의 레거시 ordinal 문자열 처리
DB 행은 종단 정수로 저장된 국가 (예 : UNITED STATES의 "186") enum 이름 대신, findAll()에 IllegalArgumentException 발생. CountryTypeConverter는 valueOf가 실패할 때 ordinal lookup로 돌아갑니다, 항...
Add CDR caller-ID fields to Recording entity
Adds callerIdNum, callerIdName, callDirection, and callResult columns to the Recording entity so kamo-asterisk-support can store Asterisk CDR metadata alongside...
Widen commit log translations.title 에 TEXT 에 일치 DB 열
열은 비문과 DB 모두에서 VARCHAR(512)였다. 긴 번역 제목에 실패하는 번역 삽입. DB 칼럼은 이제 STRING (직접적으로 승인); 이 표기는 엔티티티를 유지합니다. 제품정보.
Paginated Recording lookup by (instance, extension, isVm)
Used by the softphone tabs as the canonical source of truth for call recordings and voicemails when the upstream provider can't list them — e.g. FreePBX 17 has ...
Drop stale BillingGroup-era 댓글 + 사용되지 않은 SubscriptionMember 쿼리
AppliedModelEnforcementService에 있는 leftover doc 블록을 구합니다. 빌링그룹의 개념으로, 제거 *********** 통합 후 *********** 직접 회원을 걸기 위하여.
Top-level org bypass + 하위없이 orgs에 대한 무료 기본 낙하
Org-level 제목 체크 **************** org를 타겟팅하는 구독. 새로운 Target org 모델과 함께, orgs는 accountSubscription은 모든 비핵 앱이 거부되지 않았습니다. 2개의 고침: - 최고 수준의 KamoCRM org는 완전히 청구를 우회...
계정 레벨 관리자를 per-sub 멤버에서 분할; subs gain target org
SubscriptionMember를 추가합니다. KamoCRM org의 계정은 여러 구독을 보유 할 수 있으며 각 타겟팅 다른 sub-org. accountMember는 이제 계정 레벨 관리자 플래그만 수행합니다. (isAccountManager, canManageBilling); pe...
계정 그룹 -> AccountTier (고객 세그먼트, 청구하지 않음)
소매 고객 관련 단체 ( discountPercentage와 함께 사용 PriceList for tier-based price) 현재 제거 된 이름으로 호출 빌링 그룹 개념. "Tier"를 통해 이름을 변경하여 각자 퇴색하고 lingering “group” 용어를 삭제하십시오 계정 패키...
계정을 만드십시오; 회원 세트 + AccountMember를 가진 사용자 세트를 대체하십시오
계정은 이제 "그룹" 자체입니다 - 별도의 청구 그룹이 없습니다. 이름 * 회원 (org-scoped)는 직접 계정을 통해 새로운 AccountMember 가입, 회원 권한 플래그 수행 로그인 계정을 만들기 위한 첫 번째 멤버는 1차회원이 됩니다. 계정.java: - ManyToMan...
BillingGroup에서 계정으로 마이그레이션
계정은 이제 단일 줄무늬 고객 주입니다. 회원 필요 (e.g. 구독을 위해) 자동 생성 계정; 그 계정 한 개 이상의 카드를 1 차로 지정하고, 소유합니다. 모든 구독, 라이센스, 송장 및 청구 구성 행. Schema 변화 (Account.java): - stripeCustomerId...
Map external customer address blocks into AccountAddress on pull
Add AdapterAddressMapper helper that converts a JSON address node from any provider into an EmbAddress and attaches it to an Account as a typed AccountAddress (...
Orient live record 에 계정 주소 프로필, snapshot 역사적인 주소
Orient live commerce record to reference the account profile's primary shipping/billing, 중국 (본토) 기록이 역사가 될 때만 찍은 스냅샷(placed/shipped). 라이브 (기본 계정): - 손수레: 이미 참고...
Account.java를 embeddables로 전환하십시오; 배송 / 청구 목록에 대한 계정주소를 추가하십시오
- AccountAddressType enum 추가 (SHIPPING, BILLING) - AccountAddress 엔터티티를 추가하십시오 (FK, 유형, 라벨, EmbAddress, 타임스탬프) - AccountAddressRepository 추가 - Refactor account....
녹음, 음성 메일 아카이브, MinIO 범위 스트리밍에 키 표시
- 기록: 공급자InstanceId + 공급자ExternalId를 추가하십시오 공급자 통화history/voicemail는 화상 진찰 자산에 뒤를 젓습니다 - PhoneVoicemail: add isArchived + datesoftphone 목록에서 soft-hide에 대한 - Rol...
Lead-history 감사 로그 추가 - 단체, 등록, 서비스, DTO, LeadService Hooks
- LeadHistory entity (UUID PK, Plain Long FKs — FK constraints는 납 탈수 / 변환을 허용하도록 함) - LeadHistoryEventType은 인간 읽기 쉬운 상표를 가진 enum - LeadHistoryFieldRegistry : ~5...
