परिवर्तन लॉग
क्या नया है.
यह जहाज के रूप में, प्लेटफार्म के हर सुधार.
· SecurityService
कोड के साथ समवर्ती-मोडिफिकेशन IllegalStateException को 409 में ट्रांसलेट करें
साझा-lib आशावादी-लॉक परिवर्तन के साथ जोड़े: जब लोनपाइपलाइन सर्विस "Concurrent संशोधन: ताज़ा और पुनः प्रयास" फेंकना, एक संरचित सतह {error, कोड: "CONCURRENT MODIFICATION"} शरीर तो यूआई एक साथ प्रतिक्रिया कर सकता है एक कच्चे त्रुटि टोस्ट के बजाय ताज़ा करें।.
· kamo-shared-library
Optimistic-lock LoanFile.status रेसिंग संक्रमण को रोकने के लिए
समवर्ती "Advance" क्लिक दोनों मील के पत्थर लिख सकते हैं। @Version to add लोनफ़ाइल और लोनपाइपलाइन सर्विस.ट्रांसिशन में एक स्पष्ट फ्लश OptimisticLock विफलता सतहों के रूप में **************** संशोधन: रिफ्रेश एंड रिट्री") नियंत्रक के लिए 409 में अनुवाद करने के लिए।.
· kamo-internal
नाम प्रदर्शन, REO lien संपादक, वेबहुक व्यवस्थापक, स्ट्रिंग क्लीनअप
पोलिश पास संबंधित बैकेंड परिवर्तनों के साथ फ्रंटेंड को संरेखित करते हैं: - घटक अब से हल किए गए * सदस्यनाम फ़ील्ड प्रदान करते हैं बैकएंड (पाइपलाइनसेक्शन मील का पत्थर अभिनेता, शर्त को मंजूरी दे दी / लहराया निषेध। - ReoSection: liens अब पूरी तरह से संपादन योग्य हैं (केवल एक के साथ पढ़ा गया था) TODO). Autosaved प्रकार / creditor / खाता पिछले 4 / के साथ नया LienRow अनपेड बैलेंस / मासिक भुगतान / क्रेडिट लिमिट / डिस्प्ले ऑर्डर फ़ील्ड, साथ ही एक To-Be-Paid-off toggle और प्रति पंक्ति नष्ट कर दिया। - बंधकAppsApi लाभ बनाता हैReoLien / पैचReoLien / नष्टReoLien और एक अलग webhookSubscriptionsApi सतह के लिए आउटबाउंड वेबहुक व्यवस्थापक। - न्यू / सेटिंग / इंटीग्रेशन / वेबहुक पेज: सदस्यता सूची के साथ ऐड / संपादित मोडल, घुमाने वाली सेक्रेट कार्रवाई जो नई सतहों पर पहुंचती है साइनिंग-सचिव एक बार फिर से प्रकट मोडल, प्रति सदस्यता वितरण इतिहास संवाद। - प्रकार / बंधकApp.ts लाभ * MemberName फ़ील्ड, esignTemplateUid on EsignEnvelopeDTO, और WebhookSubscriptionDTO / WebhookDeliveryDTO आकार। - हार्डकोडेड अंग्रेजी स्ट्रिंग्स को पाइप लाइनसेक्शन के पार साफ किया गया, PipelineBoardClient, प्रकटीकरणअनुभाग, मूल्य निर्धारणअनुभाग, HmdaLarClient, और ApplicationListClient - हर लेबल अब माध्यम से बहती है Translations() का उपयोग करें।.
· SecurityService
REO lien endpoints + webhook सदस्यता नियंत्रक
- MortgageAppController: POST /{uid}/reos/{reoId}/liens, PATCH/{uid}/reo-liens/{id}, DELETE/{uid}/reo-liens/{id} — नए BorrowerSectionService lien CRUD विधियों के लिए प्रतिनिधि। - वेबहुक सदस्यता नियंत्रक के तहत **************** प्रति-org बाहरी वेबहुक प्रबंधन के लिए। पढ़ना LOS VIEW PIPELINE; लिखना/rotate-secret/delete gate on LOS UNDERWRITE LOAN. वास्तव में एक बार साइनिंग रहस्य लौटाएं बनाना / बदलना-secret.
· kamo-shared-library
Name resolution, REO liens, TRID holidays, webhook delivery, ESignTemplate link
Cross-cutting polish pass across all LOS sub-projects: Member display name resolution (MemberNameResolver): - Single shared resolver service that follows the standard Kamo precedence User.name → Member.usernameAlias → User.alias → User.username and a batch resolveAll() for snapshot endpoints - DTOs grew sibling *MemberName fields next to every *MemberId: LoanPipelineMilestoneDTO, LoanConditionDTO, LoanPricingSnapshotDTO, RateLockDTO, AusFindingDTO, DisclosureSetDTO, TridTimerDTO - LoanPipelineService, LoanConditionService, LoanPricingService and DisclosureService now enrich all returned DTOs REO lien CRUD: - **************** via the ReoLien → RealEstateOwned → Borrower → BorrowerPair → AppMortgage → Organization join path - **************** / updateReoLien / deleteReoLien with the existing org-scoping pattern (requireBorrower) - MortgageAppController exposes POST /{uid}/reos/{reoId}/liens, PATCH and DELETE on /{uid}/reo-liens/{id} TRID federal holiday calendar: - **************** now skips US federal holidays per CFPB §1026.2(a)(6) plus weekends. Covers NYE, MLK, Presidents', Memorial, Juneteenth (2021+), Independence, Labor, Columbus, Veterans, Thanksgiving, Christmas with OPM weekend observance for the fixed-date holidays Outbound webhook delivery: - WebhookSubscription + WebhookDelivery entities with per-org config (target URL, event-type filter, NATS subject filter, signing secret, max attempts, last success/failure tracking) - WebhookSubscriptionService for CRUD with auto-generated whsec_ signing secrets, rotate-secret action - WebhookDeliveryWorker subscribes to los.pipeline.> on NATS, matches subscriptions, POSTs with HMAC-SHA-256 signature in the X-Kamo-Signature header, retries with exponential backoff, writes one WebhookDelivery row per attempt - WebhookSubscriptionController under **************** for subscription CRUD, secret rotation, and delivery audit listing. LOS_VIEW_PIPELINE for read, LOS_UNDERWRITE_LOAN for write E-sign — link to existing ESignTemplate (no new provider abstraction): - EsignEnvelope grew esignTemplateUid FK to the existing **************** so the disclosure envelope reuses the per-org signer roster and field placement design owned by ESigService. The send-to-provider flow continues to live in ESigService — no duplicate provider code in the disclosures package.
· kamo-internal
मूल्य निर्धारण, प्रकटीकरण, HMDA LAR UI
तीन और उप-परियोजनाओं ने अंत-टू-एंड भेज दिया: उप परियोजना 5 - विस्तार पृष्ठ पर मूल्य निर्धारण और AUS अनुभाग: - ऐड संवाद (प्रोग्राम, निवेशक, दर,) के साथ मूल्य निर्धारण स्नैपशॉट सूची APR, अंक, ताला दिन, शब्द, स्रोत, नोट) - ऐड संवाद (स्टैटस, लॉक डेट / एक्सपियर्स, दिन) के साथ रेट लॉक सूची दर, अंक) - ऐड संवाद (DU/LP/GUS इंजन, निर्णय,) के साथ AUS खोज सूची केस फाइल, जोखिम वर्ग, कच्चे निष्कर्ष पेलोड) उप परियोजना 6 - प्रकटीकरण और TRID अनुभाग: - टाइप / डिलिवरी ड्रॉपडाउन के साथ डिस्क्लोज़र सेट और पूर्व-प्राप्ति तारीख प्रदर्शन - MinIO समर्थित डाउनलोड के साथ प्रति सेट दस्तावेज़ अपलोड (multipart) यूआरएल - E-sign लिफाफे (provider-agnostic stub) प्रति सेट - TRID टाइमर सूची overdue/due-in हाइलाइटिंग और एक "मार्क के साथ संतुष्ट" कार्रवाई Sub-project 7 — HMDA LAR page at /Applications/hmda-lar: - वर्ष फिल्टर, ताज़ा, CSV डाउनलोड (Blob + एंकर क्लिक) - 13-कॉलम री-ऑनली टेबल FIG spec को प्रतिबिंबित करता है - अनुप्रयोगों की सूची हेडर पर नया HMDA LAR बटन
· SecurityService
मूल्य निर्धारण, प्रकटीकरण, HMDA LAR के लिए नियंत्रक
तीन नए REST नियंत्रकों के अंतर्गत /api/security/mortgage-apps: - MortgagePricingController: मूल्य निर्धारण स्नैपशॉट, दर लॉक, AUS निष्कर्ष CRUD ({uid}/pricing, {uid}/rate-locks, {uid}/aus-findings). - MortgageDisclosureController: प्रकटीकरण सेट और दस्तावेज़ (multipart अपलोड + presigned MinIO URL), ई-सिग्न लिफाफे, TRID टाइमर लिस्टिंग + संतुष्ट। - MortgageHmdaController: HMDA LAR JSON सूची और CSV निर्यात ({hmda/lar} and {hmda/lar.csv}, वैकल्पिक वर्ष फिल्टर). सभी नियंत्रक मानक सत्र-दाएं + ईश्वर-योग्यता का पुन: उपयोग करते हैं बाकी कोडबेस से पैटर्न।.
· kamo-shared-library
मूल्य निर्धारण स्नैपशॉट, दर लॉक, AUS निष्कर्ष, प्रकटीकरण, TRID टाइमर, HMDA LAR
उप-परियोजना 5, 6 और 7 बैकएंड एक साथ भेज दिया गया: उप-परियोजना 5 (प्रिंग एंड लॉक): - LoanPricingSnapshot — append-only quotes (प्रोग्राम, निवेशक, दर,) APR, अंक, ताला दिन) - रेटलॉक - स्थिति, समाप्ति, टूट कारण के साथ लॉक-रेट रिकॉर्ड - AusFinding - निर्णय + कच्चे पेलोड के साथ DU/LP/GUS रन रिकॉर्ड - न्यू enums: RateLockStatus, AusKind, AusDecision - सभी तीनों में सीआरयूडी के लिए लोनPricingService उप परियोजना 6 (डिस्क्लोजर + TRID + e-sign stub): - डिस्क्लोज़रसेट (LE/CD/etc) डिलीवरी विधि के साथ, पूर्ववर्ती प्राप्त तारीख मेलबॉक्स नियम (व्यापार दिवस गणित) के माध्यम से गणना की जाती है - वर्तमान MinIOStorageservice के माध्यम से MinIO द्वारा समर्थित प्रकटीकरण - EsignEnvelope - भविष्य के एकीकरण के लिए प्रदाता-agnostic stub - TridTimer - हथियार स्वचालित रूप से जब LE/CD मुद्दों; सहायकों के लिए इरादा-से-प्रेरित, सीडी-रिसीप्ट-required, पोस्ट-Consummation सीडी देय - प्रकटीकरण सेवा ऑर्केस्ट्रेट जारी करना, मिनआईओ अपलोड, इस्तीफा दे दिया यूआरएल, लिफाफे ट्रैकिंग और टाइमर संतुष्टि डाउनलोड करें Sub-project 7 (HMDA LAR): - HmdaLarRecordDTO 2018+ HMDA FIG लेआउट को प्रतिबिंबित करता है - HmdaLarService मौजूदा URLA संस्थाओं से पंक्तियों का निर्माण करती है और उत्सर्जन करती है उचित फील्ड-कोटिंग के साथ CSV; HMDA एक्शन टेकन कोड व्युत्पन्न लोनफ़ाइलस्टैटस से
· kamo-internal
LOS पाइपलाइन UI - kanban, विस्तार अनुभाग, टेम्पलेट व्यवस्थापक
उप-परियोजना 4 फ्रंटेंड, एंड-टू-एंड: - /Applications/pipeline (PipelineBoardClient): kanban द्वारा समूहीकृत मुक्त-पथ कॉलम के नीचे ऑफ-रैंप लेन के साथ लोनफ़ाइलस्टैटस। प्रत्येक कार्ड की सतह उधारकर्ता, ऋण राशि, दिन-in-status, खुला और अवरुद्ध स्थिति गिनती। "..." मेनू एडवांस / ऑफ-रैंप प्रदान करता है / ओपन विस्तार; दोनों एडवांस और ऑफ-रैंप एक ही संक्रमण को खोलते हैं कानूनी अगली-status रेडियो के साथ संवाद स्नैपशॉट से लिया गया। अंडरराइटर ओवरराइड चेकबॉक्स तब दिखाई देता है जब चुना आगे तीर अवरुद्ध परिस्थितियों को छोड़ देंगे। - /Applications (list): नए "पाइपलाइन" हेडर बटन रूटिंग टू कंबान; मौजूदा सूची + फिल्टर को संरक्षित करता है। - /Applications/[uid]: नौसेना में नए "पाइपलाइन एंड कंडीशन" अनुभाग (विवरण सारांश और ऋण और संपत्ति के बीच) धारा वर्तमान को जोड़ती है स्थिति, स्थिति सूची (Add/clear/waive/ के साथ खुला / स्पष्ट / लहराया) हटाना), ऋण समयरेखा और एक ही संक्रमण संवाद। ********** प्रति-org टेम्पलेट व्यवस्थापक के साथ CRUD सूची, ऐड / संपादित मोडल (शीर्षक, विवरण, श्रेणी, ठेठ) ऑफसेट दिनों के कारण, ब्लॉकAdvancementDefault, डिस्प्लेऑर्डर). - प्रकार / बंधकAppt: पाइपलाइन / शर्त / टेम्पलेट डीटीओ प्रकार, LOAN FILE STATUS नक्शा, ऑफ-रैंप सहायक। - app/lib/mortgageAppsApi.ts: प्रत्येक नए समापन बिंदु के लिए ग्राहक के तरीके।.
· SecurityService
MortgagePipelineController + LOS PIPEline विन्यास प्रविष्टि
LOS पाइपलाइन बैकेंड को /api/security/mortgage-apps के तहत उजागर करता है: - GET / पाइप लाइन - कंबान सारांश - GET /{uid}/pipeline — पूर्ण स्नैपशॉट - POST /{uid} / transitions - एक संक्रमण करना - GET /{uid}/कंडीशन — सूची - POST /{uid}/conditions - add - PATCH /{uid} / Condition/{id} - edit - POST /{uid}/कंडीशन/{id}/clear-mark cleared - POST /{uid} / Condition/{id}/waive — mark waived (LOS UNDERWRITE LOAN) - DELETE /{uid} / शर्त /{id} - हटाना (केवल खुला) - GET / शर्त-templates - सूची - POST / शर्त-templates - PATCH / शर्त-templates /{id} - अद्यतन - DELETE / शर्त-templates /{id} - सॉफ्ट-डेलीट राइट चेक नए के साथ मानक सत्र-दाएं पैटर्न का उपयोग करते हैं LOS सत्र शेष नियंत्रकों के रूप में GD बाईपास। विन्यास लोस-पाइपलाइन प्राप्त करें.* कुंजी तो ओप्स समर्पित NATS को ट्यून कर सकते हैं env vars के माध्यम से नाम और विषय फ़िल्टर स्ट्रीम करें।.
· kamo-shared-library
पाइपलाइन राज्य मशीन, स्थिति, टेम्पलेट्स, NATS घटनाओं
उप-परियोजना 4 (LOS पाइपलाइन और वर्कफ़्लो) बैकएंड: - न्यू enum LoanConditionStatus (OPEN/CLEARED/WAIVED) - नई संस्थाएं: लोनपाइपलाइन माइलस्टोन (केवल संक्रमण लेखा परीक्षा) लोन कंडिशन (अपने राज्य के साथ प्रति लोन चेकलिस्ट पंक्ति) और लोन कंडिशनटेम्पलेट (per-org पुन: प्रयोज्य चेकलिस्ट स्रोत) - प्रत्येक के लिए नया प्रस्ताव, साथ ही एक शॉट अवरुद्ध-कंडीशन क्वेरी - लोनपाइपलाइन स्टेटमशीन ने URLA पाइपलाइन (DRAFT के माध्यम से) की घोषणा की FUNDED) और सार्वभौमिक SUSPENDED / WITHDRAWN / DENIED ऑफ-रैंप, प्रत्येक तीर के लिए आवश्यक रोलराइटटाइप के साथ - लोनपाइपलाइन सर्विस ऑर्केस्ट्रेट एक संक्रमण परमाणु रूप से: मान्य वैधता + सही + अवरुद्ध स्थिति (ओवरराइड गेट द्वारा) LOS UNDERWRITE LOAN (LOS UNDERWRITE LOAN) ने उपयुक्त ऋण फाइल तारीख स्तंभ को स्टाम्प किया। एक मील का पत्थर लिखने, एक आवेदन लिखने के लिए सबमिशन कानूनी रूप से significant संक्रमण (initial प्रकटीकरण, resubmit) SHA-256 स्नैपशॉट के साथ प्रोसेसिंग / अंडरराइटिंग, NATS इवेंट प्रकाशित करें - लोन कंडिशन सर्विस और लोन कंडिशनटेम्पलेट सर्विस कवर करती है। CRUD सतह के बाकी - LosPipelinePublisher JetStream विषयों को प्रकाशित करता है los.pipeline.transition. आईडी> - NatsConfig एक समर्पित LOS PIPELINE स्ट्रीम प्रदान करता है मौजूदा चैट स्ट्रीम इसलिए रिटेंशन को स्वतंत्र रूप से ट्यून किया जा सकता है - सर्विस टाइप के तहत छह नई रोलराइट टाइप प्रविष्टियों। () "कामर्स: लोन उत्पत्ति प्रणाली"): LOS VIEW PIPELINE, LOS TAKE APPLICATION, LOS PROCESS LOAN, LOS UNDERWRITE LOAN. LOS CLOSE AND FUND, LOS SUSPEND OR WITHDRAW
· kamo-internal
उत्पत्तिकर्ता और प्रस्तुतीकरण अनुभाग यूआई
सब-प्रोजेक्ट 3 को बंद करता है: मूलक मार्ग एक दो-ब्लॉक हो जाता है संपादक (व्यक्तिगत NMLS + संगठन NMLS + Org पता) के लिए तार मानक 800ms आटोक्लेव के साथ पैचऑरिजिनेटर, और प्रस्तुतीकरण मार्ग एक रिवर्स क्रोनोलॉजिकल रीड-ऑनली टाइमलाइन प्रदान करता है AppMortgage. प्रस्तुतीकरण सरणी (नवीनतम प्रविष्टि पल्स ग्रीन); नोट्स और स्नैपशॉट हैश प्रदर्शित करते समय। कॉमिंग-सून गिरावट अब तक पहुंच योग्य नहीं है इसलिए कैच-सभी शाखा को हटा दिया जाता है।.
· kamo-internal
एचएमडीए जनसांख्यिकी अनुभाग यूआई
Hmda मार्ग के लिए Coming-Soon placeholder को बदल देता है। नैतिकता जब एक इनलाइन उप-चेकबॉक्स ब्लॉक के साथ त्रि-स्टेट लुकअप का उपयोग करता है हिस्पैनिक को चुना जाता है (मेक्सिकन / पीआर / क्यूबन / अन्य + विवरण)। रेस पांच टॉगल ब्लॉक (अमेरिकी भारतीय, एशियाई, काला, एनएचपीआई) के रूप में प्रस्तुत करता है, व्हाइट) सशर्त एशियाई और प्रशांत द्वीपसमूह उप-चेकबॉक्स के साथ नीचे ग्रिड। सेक्स, संग्रह विधि, और तीन दृश्य-अवलोकन झंडे सत्यापन पाद लेख के तहत लटका।.
· kamo-internal
सैन्य सेवा अनुभाग यूआई
कॉमिंग-सून प्लेसहोल्डर को सैन्य मार्ग के लिए बदल देता है। The कभी बंधकAppsApi.putMilitary के माध्यम से स्विच upserts; toggling यह ऑफ सर्विस स्टेटस को भी साफ़ करता है और सर्विस स्टेटस को पेश करता है रिकॉर्ड में कहानी वीए डेटा lingering से बचने के लिए।.
· kamo-internal
रियल एस्टेट स्वामित्व अनुभाग यूआई
REO मार्ग के लिए Coming-Soon placeholder को बदल देता है। प्रत्येक संपत्ति कार्ड पते को संपादित करता है, अधिभोग/status/intended उपयोग, बाजार मूल्य, मासिक बीमा + टैक्स + HOA, और सकल / नेट किराये की आय के साथ अन्य वर्गों के समान आटोक्लेव पैटर्न। नेस्टेड लाइंस में प्रस्तुत किया एक साधारण तालिका; घटक में एक TODO नोट प्लस एक पाद लेख संकेत लापता / Reos /{id} / liens समापन बिंदुओं की व्याख्या करें।.
· kamo-internal
दायित्व और व्यय अनुभाग यूआई
देनदारियों के मार्ग के लिए कॉमिंग-सून प्लेसहोल्डर को बदल देता है। धारा 2c देनदारियां बिना भुगतान किए शेष राशि, मासिक भुगतान, महीने शेष, और तीन यूआरएलए विघटन झंडे (बंद होने पर भुगतान किया जाता है, पहले भुगतान किया गया, अलग-अलग टॉगल के रूप में; omitted पंक्तियों dim खुद। धारा 2d अन्य मासिक व्यय समान शेयर करते हैं उधारकर्ता चिप और कुल पट्टी (बाहरी ऋण, मासिक ऋण) सेवा, मासिक खर्च, संयुक्त मासिक बाहर).
· kamo-internal
एसेट्स एंड क्रेडिट अनुभाग यूआई
आस्तियों के मार्ग के लिए कॉमिंग-सून प्लेसहोल्डर को बदल देता है। विभाजन उधारकर्ता की संपत्ति सूची धारा 2a में (बैंक/सेवानिवृत्त/अन्य खाता), प्रकार आईडी <50) और धारा 2b (अन्य संपत्ति और क्रेडिट, आईडी> = 50) के माध्यम से सार्वजनिक परिसंपत्ति-प्रकार की आईडी रेंज, आइससंयुक्त और उपयोग के साथForCashToClose हर पंक्ति में टॉगल। कुल स्ट्रिप खातों को उप-कुल, क्रेडिट दिखाता है जब कोई पंक्ति मूल्य रखती है तो उपकुल और संयुक्त मूल्य।.
· kamo-internal
रोजगार और आय अनुभाग यूआई
रोजगार मार्ग के लिए कमिंग-सून प्लेसहोल्डर को एक साथ बदल देता है पूर्ण URLA अनुभाग 1d-1g संपादक। प्रति उधारकर्ता चिप चयनकर्ता दर्पण घोषणा पैटर्न; प्रत्येक रोजगार पंक्ति आटोक्लेव के माध्यम से बंधकAppsApi.patchरोजगार के साथ ही 800ms debounce. कार्ड हेडर चल रहे मासिक कुल (बेस + ओवरटाइम + बोनस +) को सतह देता है कमीशन + सैन्य + अन्य + स्वयं नियोजित नेट। धारा 1g आय पंक्तियों नीचे अपनी सूची में रहते हैं।.
· kamo-internal
यूआरएलए 2021 बंधक आवेदन यूआई
नए / अनुप्रयोगों के मार्ग समूह को जोड़ता है, टाइपिंग बंधकAppsApi क्लाइंट वह सुरक्षा सेवा / एपीआई / सुरक्षा / बंधक-apps, पूर्ण टीएस प्रकार से बात करता है बैकएंड डीटीओ को प्रतिबिंबित करना, और लीड्स के साथ एक साइडबार प्रविष्टि। यूआई: /Applications stat-bucket फिल्टर के साथ पाइपलाइन दृश्य (सभी / ड्राफ्ट / प्रगति / बंद) खोज, एनिमेटेड कार्ड (Framer Motion), खाली राज्य CTA, कंकाल लोड हो रहा है। /Applications/[uid] विस्तार लेआउट: प्राथमिक के साथ ढाल नायक उधारकर्ता + स्थिति बैज, चिपचिपा अनुभाग एनिमेटेड सक्रिय सूचक के साथ रेल, एनिमेटेड अनुभाग संक्रमण, आटोक्लेव सूचक (Saving... → सेव्ड ✓ → फीका)। उत्पादन की गुणवत्ता के लिए वितरित अनुभाग: - ऋण और संपत्ति (धारा 4a / 4b / 4c) पूर्ण संपादक, आटोक्लेव 800ms - उधारकर्ता (1003s) जोड़ी प्रबंधन, विवाहितसंयुक्त Toggle, add/remove pair + सह उधारकर्ता, एनिमेटेड उत्परिवर्तन - घोषणा (धारा 5) प्रति उधारकर्ता प्रश्नावली, Yes/No/N/A चिप नियंत्रण अध्याय-7/11/12/13 उप-प्रवाह बैकेंड समर्थन के साथ धारा लेकिन यूआई ने अनुवर्ती कार्रवाई की: रोजगार और आय, परिसंपत्तियां, देयताएं, आरईओ, सैन्य, एचएमडीए, ऋण उत्पत्तिकर्ता, सबमिशन प्रत्येक एक "अगला" कार्ड प्रदान करता है इसलिए नेविगेशन पूरा हो गया है और स्कीमा खोज योग्य है। सभी प्रतिलिपि अगली-intl बंधकApps के माध्यम से चला जाता है। हार्डकोडेड। MoneyInput / PercentInput / SelectInput / Switch primitives भविष्य के वर्गों में पुन: प्रयोज्य हैं।.
· SecurityService
URLA 2021 REST सतह के लिए MortgageAppController
नया REST नियंत्रक पूर्ण URLA आवेदन जीवनचक्र को उजागर करता है: GET/api/security/mortgage-apps list (summary) **************** पूर्ण ग्राफ POST **************** रिक्त या लीड से **************** हटाना PATCH /{uid} /loan-file | /loan | /property | /originator शीर्ष अनुभाग POST/{uid}/pairs add BorrowerPair PATCH /{uid}/pairs/{pairId} संपादित जोड़ी DELETE /{uid}/pairs/{pairId} जोड़ी को हटा दें POST /{uid}/pairs/{pairId}/borrowers ने Borrower को जोड़ा PATCH/{uid}/borrowers/{borrowerUid} संपादित Borrower DELETE /{uid} /borowers /{boerUid} बोरोवर को हटा दें POST/PATCH/DELETE**************** ************* + /{section} /{id} PUT ******************* POST/PATCH/DELETE/{uid}/gifts and/{uid}/other-mortgages GET /{uid}/lookups OtKPreAuth Filter session; यूनिफॉर्म {error: msg} लिफाफे 400/401/404/500 पर, मौजूदा सेवा-परत @transactional नियमों का उपयोग करता है।.
· kamo-shared-library
यूआरएलए सेवा परत (रिस्प, डीटीओ, सेवाएं, लुकअप)
यूआरएलए पैकेज के लिए पूर्ण बैकेंड सेवा परत जोड़ें पिछली प्रतिबद्धता: प्रस्ताव/आवेदन/20 JpaRepositories प्रति इकाई दायर Dtos/Applications/ उत्तर DTOs (लांग-> स्ट्रिंग) + लुकअप पेलोड सेवा/आवेदन/AppMortgageService (root + lead रूपांतरण +) अनुभाग बचाता है) और उधारकर्ताधारा सेवा (जोड़ी, उधारकर्ता, रोजगार, आय, संपत्ति,) दायित्व, REO, घोषणाएं, सैन्य, HMDA) सम्मेलन मौजूदा लीड सर्विस पैटर्न का पालन करते हैं: - Field-injected @Autowired deps प्रश्नों के लिए @transactional(readOnly=true) - स्टेटिक .from(entity) कारखाना मानचित्रकार, लांग ids स्ट्रिंग के रूप में क्रमबद्ध IllegalArgumentException for not-found / वैधता विफलता - एप्लिकेशन के संगठन आईडी के माध्यम से सभी ऑपरेशन ऑर्ग-स्कैप्ड MortgageLookupsDTO एक शॉट में हर URLA enum लौटाता है तो यूआई हार्डकोड ड्रॉपडाउन विकल्प कभी नहीं।.
· kamo-shared-library
आवासीय बंधक के लिए URLA 2021 स्कीमा फाउंडेशन
Refactor AppMortgage एक पूर्ण URLA पैकेज रूट में एकाधिक समर्थन करता है प्रति जोड़ी दो उधारकर्ताओं के साथ प्रति ऋण 1003 (married/joint) या unmarried). एक संरचित के साथ खाली AppMortgage प्लेसहोल्डर को बदल देता है इकाई ग्राफ हर 2021 URLA अनुभाग को प्रतिबिंबित करता है: कोर / लोनफ़ाइल, लोन, प्रॉपर्टी, लोनऑरिजिनेटर, एप्लीकेशन प्रस्तुतीकरण पार्टी/बोरोअरपायर ("1003"), बोरोवर रोजगार/रोजगार (धारा 1d/1e/1f/sec.7), OtherIncome (1g) संपत्ति / संपत्ति (2a / 2b), उपहार (4e) देयता / देयता (2c), अन्य व्यय (2d) Reo/ RealEstateOwned (Sec.3) + ReoLien घोषणाएँ / घोषणाएँ (Sec.5), सैन्य सेवा (Sec.7) Hmda / HmdaDemographics (Sec.8) अन्य लोग/अन्यन्यू मॉर्टगेज (4d) परिसंपत्तियों/देनदारियों/REO isJoint ध्वज के साथ "per-borrower" का उपयोग करते हैं मॉडल इसलिए URLA "Account स्वामित्व में Borrower / Co-Borrower / दोनो" रेडियो एक ही पंक्ति में गिर जाता है जिसमें निहित जोड़ी साथी सह-स्वामित्व होता है। सभी मौद्रिक क्षेत्र EmbMoney (BigDecimal + मुद्रा) और सभी दरों का उपयोग करते हैं। EmbPercent (4dp BigDecimal) — कोई युगल नहीं, कोई JSON नहीं। आईडी रणनीति मौजूदा सम्मेलनों का अनुसरण करें: user-facing संस्थाओं के लिए unique rowid(), gen random uuid() आंतरिक विस्तार तालिकाओं के लिए। JSONB केवल पर दिखाई देता है अनुप्रयोग सबमिशन ऑडिट स्नैपशॉट (intentional - लाइव डेटा के लिए नहीं)। स्कीमा स्वतः निर्मित KamoInitializerservice द्वारा Hibernate.ddl-auto के माध्यम से है पुनर्निर्माण JAR पर; कोई DDL स्क्रिप्ट की आवश्यकता है। बैकएंड सर्विस, यूआई और शेष एलओएस उप परियोजना (पाइपलाइन वर्कफ़्लो,) मूल्य निर्धारण / ताले, प्रकटीकरण, HMDA रिपोर्टिंग) को बाद में स्थगित कर दिया गया है 7-part decomposition के अनुसार सत्र।.
· KlusterServices
प्रबंधन mail.kamocrm.com TLS अंत करने के लिए अंत
Auto-cert अब प्रावधान करता है और Let's Encrypt cert को बनाए रखता है मेल.kamocrm.com (HTTP-01 पोर्ट 80 पर Traefik के माध्यम से) और रखता है नामस्थानों में सिंक में उपभोक्ता पोस्टफिक्स। ऑटो-सर्ट परिवर्तन: - STATIC DOMAINS में Mail.kamocrm.com जोड़ें। - न्यू CROSS NS CERT MIRRORS टेबल मैपिंग FQDN -> (लक्ष्य नामस्थान) पुनरारंभ करने के लिए तैनाती। डिफ़ॉल्ट प्रविष्टि: mail.kamocrm.com -> ("mail", ["postfix"]). - mirror secret to namespace() कॉपी tls-<stem> ns idempotently (केवल उपभोक्ताओं को पुनरारंभ करता है जब tls.crt वास्तव में परिवर्तन - हर मिनट सिंक सस्ते रहता है। - पुनरारंभ deployment() उपभोक्ताओं पर kubectl रोलआउट पुनः आरंभ करता है जब एक नवीकरण भूमि - वेटर for host cert ready और मुख्य पाश में हुक ऑटो-cert-driven issuance and cert-manager auto-renewals propagate. - नई रोल/रोलबाइंडिंग (मेल नेमस्पेस) ने रहस्यों को बनाने/अपडेट करने की अनुमति दी और ऑटो-cert ServiceAccount में तैनाती पैच। पोस्टफिक्स परिवर्तन: - माउंट tls-mail-kamocrm-com (वैकल्पिक रहस्य) /etc/letsencrypt पर। - बूट पर, LE Cert को /etc/postfix/tls/ में कॉपी करें; अन्यथा शॉर्ट-लाइव्ड सेल्फ-सिग्न सांपॉयल उत्पन्न करें ताकि पोस्टफिक्स शुरू हो सकें सीआरटी जारी होने से पहले। - TLSv1.2+ के साथ smtpd tls cert file / key file के लिए असली cert का उपयोग करें और उच्च सिफर। सबमिशन (587) अब वैध, विश्वसनीय प्रमाण प्रदान करता है एक बार ऑटो-सर्ट पहले जारी होने को समाप्त करता है और तैनाती को रोल करता है।.
· kamo-shared-library
********** idempotent भूमिका पदोन्नति के लिए
एक सार्वजनिक, लेन-देन सुनिश्चित करता हैRoleAssigned (memberId, roleId) that: - कोई विकल्प अगर भूमिका पहले से ही सदस्य पर है। - ओर्गरोल को देखता है और एक नया सदस्य बचाता हैरोल पंक्ति में शामिल हो गया। Recomputes Member rights applied, इसलिए बनी स्नैपशॉट पिकअप भूमिका का अधिकार तुरंत। सुरक्षा सेवा में बाल-ऑर्ग-creation प्रवाह द्वारा प्रयुक्त नए बच्चे से उनके माता-पिता के साथ जुड़ना सदस्यता - एक उपयोगकर्ता के व्यवस्थापक को बच्चे के भीतर संगत पहुंचता है डोमेन (जहां निर्माणसंगठन) पहले से ही देना उनके मालिक+व्यवस्थापक और माता-पिता का डोमेन (जहां उनका मौजूदा) पंजीकरण-टाइम TeamMember सत्र अन्यथा कमी होगी CONFIGURE SYSTEM और उन्हें बंद / सेटिंग / एककाउंट उछालो।.
· KlusterServices
TLS के साथ k1m1 के माध्यम से रिवर्स-proxy priceturbo.com एपेक्स + वाइल्डकार्ड
k1m1 Traefik अब priceturbo.com और किसी भी *.priceturbo.com के लिए HTTPS समाप्त हो गया सबडोमेन, 192.168.4.36:80 पर अपस्ट्रीम Traefik के लिए सादे HTTP को अग्रेषित करना होस्ट हेडर के साथ संरक्षित (रिज़र्व-अपस्ट्रीम सेवा का उपयोग करता है)। ऑटो-cert बीज STATIC DOMAINS के माध्यम से एपेक्स; सबडोमेन उठाया जाता है गतिशील रूप से पहले मौजूदा ट्रेफिक एक्सेस-लॉग स्कैन पथ के माध्यम से हिट - प्रति FQDN HTTP-01 certs पहले से ही K1m1 को हल करने के लिए प्रत्येक होस्टनाम की आवश्यकता है।.
· SecurityService
तार टेम्पलेट सेव recalc + सत्र ताज़ा + प्रभावी अधिकार नैदानिक
************* / अद्यतनमॉडल / हटानामॉडल और **************** अब recalcallMembersUsingModel परिवर्तन जारी रखने के बाद - हर ओर्ग ने मॉडल पर इंगित किया (उनके मालिक या उसके माध्यम से) शाखा प्रकार) सदस्य rights applied उसी कॉल में ताज़ा हो जाता है। The शाखा-प्रकार के डिलीट पथ भी अनाथ बच्चे के अंग को वापस करने से पहले पंक्ति है इसलिए उनके लागू मॉडल संकल्प सही है जब मॉडल लुकअप वापस गिर गया। ************* एक ताजा-निर्मित अधिकार सरणी लिखते हैं एक मौजूदा *** रेडिस प्रविष्टि में, TTL + हर दूसरे क्षेत्र को संरक्षित करना, इसलिए लाइव टैब एक लॉगआउट / लॉगिन चक्र के बिना व्यवस्थापक संचालित परिवर्तन उठा सकते हैं। सत्ररेशकंट्रोलर POST /api/security/session/refresh को उजागर करता है - कॉलर का अपना *** कुकी या X-OTK से हल है, लाइव वॉटरफ़ॉल रन और परिणाम वापस लिखा गया है। क्रॉस-member spoofing असंभव है निर्माण द्वारा: कोई सदस्य आईडी पैरामीटर नहीं है। राइट्सDiagnosticsनियंत्रक ने प्राप्त किया ************* - पूर्ण झरना लौटाता है: कास्केड स्रोत (ऑर्ग भूमिकाएं, डीपीटी + डीपीटी भूमिकाएं, नौकरी का शीर्षक + जेटी भूमिकाएं, प्रत्यक्ष ओवरराइड्स), लागू मॉडल + गैर-NOT SPECIFIED भूमिका प्रकार द्वारा टेम्पलेट प्रविष्टियाँ, लाइव हल अधिकार में विभाजित ************************************************************* सतत Member rights applied स्नैपशॉट और क्या लाइव के बीच बहाव अब झरना पैदा करता है। Auth: लक्ष्य के org में होना चाहिए लक्ष्य, पकड़ ******************* या भगवान मोड सक्रिय है।.
· kamo-shared-library
Chunked recalc + क्रॉस-मॉडल प्रशंसक-आउट + टाइपटेम्पलेट गैर-बल गिरने वाली वापसी
वास्तव में मौजूदा सदस्यों तक पहुंचने के लिए टेम्पलेट संपादन के लिए तीन चीजें आवश्यक हैं एक लॉगआउट / लॉगिन चक्र को मजबूर किए बिना: 1. ************* - हर ओर इशारा करते समय चलना मॉडल (मास्टरमॉडलआईडी या शाखा-प्रकार के माध्यम से) और प्रत्येक में chunked-recalc सदस्य के सदस्य rights applied. साथी recalcAllMembersUsingBranchType एकल प्रकार के मामले को संभालती है। 2. Chunked **************** - थोक-delete + बचाओ 500 सदस्यीय हिस्सा इसलिए 50k सदस्यीय org अब प्रति-row बयान आग नहीं। 3। लागू करेंटेम्पलेटRules पूर्ववर्ती फिक्स - टाइपटेम्पलेट गैर-बल GRANTED/NUKE अब DEFAULT गैर-बल गिरने से पहले सूचित नहीं है। मैच यूआई लेबल ("डिफ़ॉल्ट सक्षम; बच्चा अक्षम हो सकता है") और रोकता है TEAM MEMBER पर मॉड्यूल-एक्सेस अधिकार चुपचाप नजरअंदाज होने से। इसके अलावा ComputeMemberRights को नए लोगों के लिए सार्वजनिक पढ़ने के माध्यम से उजागर करता है सुरक्षा सेवा में सत्र-रिफ्रेश और नैदानिक समापन बिंदु।.
· kamo-internal
एकीकृत DNS सेटअप स्टूडियो के साथ इनलाइन मदद प्रति रिकॉर्ड
विभाजित DnsProgressView + AliasStatusTable + ManualDnsGuide trio बदलता है एक एकल निर्देशित अनुभव के साथ: प्रत्येक TXT / CNAME रिकॉर्ड अब एक में रहता है अपनी इनलाइन मदद के साथ कार्ड, दोहराव को हटाने जहां एक ही रिकॉर्ड को स्टेटस टेबल और एक अलग सेटअप गाइड दोनों के रूप में प्रस्तुत किया गया था। नई DnssetupStudio orchestrates एक एनिमेटेड 3-stage प्रवाह (verify) स्वामित्व > कनेक्ट सबडोमेन > जारी एसएसएल) गेटेड चरणों के साथ, एक कंपित कार्ड ग्रिड और SVG द्वारा संचालित एक लाइव प्रगति रिंग। - प्रति-रिकॉर्ड कार्ड उपयोगकर्ता के चयन के लिए अपने फील्ड-नाम लेबल को अनुकूलित करते हैं रजिस्ट्रार **************** स्थानीय भंडारण के लिए बने रहे हैं और उस प्रदाता के DNS पोर्टल के लिए एक गहरी लिंक सतह। प्रत्येक subdomain कार्ड एक सादे भाषा का वर्णन करता है (उदाहरण के लिए "internal" इसलिए गैर-तकनीकी उपयोगकर्ता यह समझते हैं कि क्या है वे विन्यास कर रहे हैं। - कार्यक्षेत्र प्रवेश, परिवर्तन डोमेन संवाद, मतदान, उलटी गिनती, विषय प्रावधान, और ऑटो-डीएनएस प्रावधान पैनल सभी संरक्षित हैं।.
· KlusterServices
रिवर्स-proxy rate.loans/stack.loans टीएलएस के साथ k1m1 के माध्यम से होस्ट करता है
k1m1 Traefik अब api.rate.loans, www.rate.loans, और के लिए HTTPS समाप्त हो जाता है www.stack.loans, HTTP को अपस्ट्रीम ट्रेफिक में अग्रेषित करना 192.168.4.36:80। ऑटो-cert बीज प्रति होस्ट Let's Encrypt certs सभी तीनों के लिए।.
· EmailService
सभी क्लाउड प्रदाताओं के लिए वायर डोमेन मैनेजर और मेलबॉक्सप्रोविज़नर
प्रत्येक क्लाउड प्रदाता में UnsupportedOperationException stubs को बदलें प्रत्येक बैकएंड के व्यवस्थापक एपीआई के खिलाफ वास्तविक HTTP कॉल: - Microsoft 365 → Microsoft Graph (/users, /domains, /verify, ...) का उपयोग करके प्रति-org OAuth पहुँच टोकन। - Google Workspace → व्यवस्थापक SDK निर्देशिका + साइट सत्यापन प्रति-org का उपयोग करके OAuth पहुँच टोकन। - Zoho मेल → Zoho मेल व्यवस्थापक एपीआई **************** प्रति-org OAuth पहुँच टोकन का उपयोग करना। - IceWarp → IceWarp REST API ({serverUrl}/api/v1/...) apiKey संग्रहित प्रदाताConfig में। - एक्सचेंज (ऑनलाइन) → माइक्रोसॉफ्ट ग्राफ़ एक क्लाइंट-क्रेडेंशियल टोकन माइटेड के माध्यम से tenantId/clientId/clientSecret से प्रदाताConfig में संग्रहीत। Microsoft, Google और Zoho द्वारा अनुरोध किए गए OAuth दायरे का भी विस्तार करें इसलिए प्रति-org व्यवस्थापक टोकन वास्तव में विशेषाधिकार है नया कोड की जरूरत है (User.ReadWrite). सभी / डोमेन। पढ़ना सभी ग्राफ़ के लिए, admin.directory.user / admin.directory.domain / siteverification for Google, ********** Zoho के लिए? मौजूदा कनेक्शन नए दायरे को लेने के लिए व्यवस्थापक सहमति के साथ फिर से अधिकृत करने की आवश्यकता होगी। साझा HTTP प्लंबिंग प्रदाताHttpClient में रहता है - बियरर / बेसिक / एपीआई-की Auth, JSON एन्कोडिंग, और त्रुटि संदेश निष्कर्षण विभिन्न भर में प्रदाता त्रुटि लिफाफे। क्या है? Microsoft 365, Google Workspace, IceWarp, and पर RealtimeNotifier एक्सचेंज - प्रत्येक प्रदाता के पुश-नोटिफिकेशन एपीआई को सार्वजनिक वेबहुक की आवश्यकता होती है रिसीवर ईमेल सेवा द्वारा होस्ट किया गया, प्लस (Gmail के लिए) एक क्लाउड पब / सब विषय। तारों कि ऊपर अपने खुद के इन्फ्रा कार्य है। - ऑन-प्रेम एक्सचेंज (authMethod! = OAUTH) - SOAP EWS API की जरूरत है; ExchangeProvider उस पथ में एक स्पष्ट त्रुटि फेंकता है जब तक कि EWS जोड़ा जाता है।.

तुम्हारा ब्रह्मांड इंतजार कर रहा है.
मिनटों में मुफ्त शुरू करें. जब भी आप तैयार हों तो उत्पाद जोड़ें - कोई माइग्रेशन नहीं, कोई नया लॉगइन नहीं.
हमेशा के लिए मुफ्त - कोई क्रेडिट कार्ड की आवश्यकता नहीं