KamoCRM

Org-scope RetailService i : .

Fixkamo-shared-library
Shipped
23 września 2026 12:42 UTC
Author
Kamo
Commit
19505fa

Każdy get/upaktualnia/delet-by-uid obsługi w ramach handlu detalicznego CommerceMarketController Zasoby podszeptowe (kategoria, marki, atrybuty/wartości, obrazy, warianty, tagi, Opinie, klienci, poziomy klientów, klasy podatkowe/strefy, rabaty, cena Listy/Urządzenia, karty podarunkowe, lokalizacje, poziomy zapasów/dostosowania, wysyłka Strefy/metody, przewoźnicy, przesyłki, koszyki/wystawy, projekty zamówień, zamówienie uwagi) rozwiązał wiersz przez goły findById(uid)/deleteById(uid), bez Sprawdź, czy rząd należał do organizacji dzwoniących. Wszelkie uwierzytelnione Członek dowolnego org może odczytywać, edytować lub usuwać wiersze innej organizacji przez Zgadywanie lub wyliczanie uid - dla klientów (sekwencyjne identyfikatory) było to Przeciek nazwiska, e-maili i wydatków; dla kart podarunkowych, poziomów zapasów i koszyka Całkowite są to, że wpisanie dostępu do danych o pieniądzach i inwentarzu innego najemcy. getMarketVendors miał taką samą lukę: jego rodzeństwo POST/PUT/DELETE już Ustanowił rynek za pomocą findByIdAndOrganizationId, ale GET nie. Naprawiono przez gwintowanie orgId do każdego z tych odnośników: - Podmioty z własną kolumną organizacyjną (większość z nich) teraz rozwiązuje poprzez nową metodę repozytoriumByUidAndOrganizationId, odzwierciedlająca: Istniejący wzór (wyraźne "Query, ponieważ polem id tych bytów" jest "uid", a nie "id"). - Podmioty bez własnej kolumny organizacyjnej (zdjęcia produktów/warianty poprzez ich produkt, wartości atrybutów poprzez ich atrybut, elementy koszyka przez ich koszyk, wpisy cennikowe za pośrednictwem cennika) są dostępne za pośrednictwem Nowe - zapytanie przyłączając się do org rodzica. - Kilka kluczy zagranicznych w czasie tworzenia zaczerpniętych dosłownie z ciała wnioskującego (id rynkowy, id macierzysty, identyfikator poziomu klienta, strefa podatkowa/klasa, Obraz/wariantowy uchwyt krzyżowy, przewoźnik/lokalizacja przesyłki, projekt Zapisany adres zamówienia) otrzymał ten sam lubg-scoped lookup, zamykając to samo Klasa luki w czasie pisania, nie tylko na by-id read/update/delete. - lookupMarket i nowe lookupOferowanie(id, orgId) centralizacja To dla każdego twórz uchwytu, który wcześniej nazywał je nieobsługiwanymi. - getMarketVendors teraz rozwiązuje swój rynek za pośrednictwem findByIdAndOrganizationId Przed ogłoszeniem sprzedawców, dopasowując własne rodzeństwo. W każdym przypadku rzędy zagraniczne-orga odpowiada teraz dokładnie tak, jak zaginiony: tak samo Wyjątek, ten sam komunikat, ta sama odpowiedź HTTP, dla której obsługuje już wyprodukowany dla Zły uid - żadne nowe informacje nie są ujawniane przez samą naprawę. Przypisanie masy: updateGiftCard nie akceptuje już aktualnego Bateranu z Poproś o ciało. Brak istniejącego RoleRightType (MANAGE_PRICING, MANAGE_ORDERS, ...) Wyraźnie obejmuje ręczną regulację równowagi, więc zgodnie ze stanowiskiem koordynatora Instruktaż, którego nie wymyślliśmy; członek tego samegoorga może nadal edytować Inne pola kartki są dokładnie takie, jak wcześniej. Uwaga dla koordynatora: kamo-internal's Okno dialogowe edycji kart prezentowych MarketDiscountsTab.tsx wysyła bieżącyPrzepisy teraz i Ta dziedzina będzie teraz cicho ignorowana - dedykowany bilans regałowy Punkt końcowy (równobieżne / poziomy zaopatrzenia/aud-/adjust) za własną prawą jest Właściwa korekta i wymaga decyzji o produkcie, a nie jednostronnego nowego RoleRightType. Również utrwalone podczas ponownego przejmowania tych podpisów: createShipment Odczytaj orderId z niewłaściwego miejsca (kontroler przechodził orgId Pozycyjnie tam, gdzie należał do zamówienia; interfejs użytkownika zawsze wysyła orderId w POST body) - teraz czyta orderId z ciała, co jest tym, co każdy dzwoniący Już wysyła. Jest to poprawka funkcjonalna, a nie ochrona. Testy: RetailServiceOrgScopingTest i . obejmuje jeden reprezentatywny wzór repozytorium zasobów (kolumna własna org, Za pośrednictwem rodziców) z zagranicznym read/update/detree, który zawiedzie bez Naprawa i połączenie tego samego zorg, które się powiedzie, plus masa masowa kartka podarunkowa- Reguła przydziału. Sprawdzone mutacje: przywracając wyszukiwanie, aby znaleźć Zrobione przezById Wszystkie dziewięć testów "obcy org" nie powiedzie się na czerwono; odrestaurowane przed zatwierdzeniem.

All changes

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing