KamoCRM

Оргсфера розничной торговли и ****************

Fixkamo-shared-library
Порезанный
23 сентября 2026 г. в 12:42 UTC
Автор
Kamo
Обещать
19505fa

Каждый обработчик get/update/delete-by-uid в рознице CommerceMarketController подресурсы (категории, бренды, атрибуты/ценности, изображения, варианты, теги, отзывы, клиенты, уровни клиентов, налоговые классы / зоны / ставки, скидки, цена списки / входы, подарочные карты, местоположения, уровни запасов / корректировки, доставка зоны/методы, перевозчики, отгрузки, тележки/тележки, проекты заказов, заказы примечания) разрешает строку через голый findById(uid)/deleteById(uid), без Проверьте, что ряд принадлежал организации звонящего. Любая аутентификация член любой организации может читать, редактировать или удалять строки другой организации Угадывание или перечисление uid - для клиентов (последовательные Длинные идентификаторы) Утечка имени, электронной почты и расходов; для подарочных карт, уровней запасов и корзины Это был доступ к деньгам и инвентарным данным другого арендатора. GetMarketVendors имеет такой же разрыв: его POST/PUT/DELETE братья и сестры уже Решил рынок через findByIdAndOrganizationId, но GET не стал. Закрепляется путем врезки orgId в каждый из этих поисков: Предприятия с собственной организационной колонкой (большинство из них) решают с помощью нового метода FindByUidAndOrganizationId репозитория, зеркально отображающего ********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** рисунок (явный @Query, поскольку поле id этих сущностей является «uid», а не «id»). - Субъекты, не имеющие собственной организационной колонки (изображения/варианты продукта) через свой продукт, значения атрибутов через свой атрибут, предметы корзины через их корзина, записи в прайс-листе через их прайс-лист) охватываются через *************************** Запрос присоединения к родительской организации. - Горстка внешних ключей в режиме реального времени, взятых дословно из органа запроса (рыночный идентификатор, идентификатор родительской категории, идентификатор уровня клиента, налоговая зона/класс, изображение/вариантная перекрестная ссылка, перевозчик/местоположение груза, проект сохраненный адрес заказа) получил тот же орг-скап, закрыв тот же класс разрыва во время записи, а не только при прочтении / обновлении / удалении. - lookupMarket и новая lookupOffering (id, orgId) перегрузка централизуют Это для каждого создателя обработчика, который ранее называл их unscoped. GetMarketVendors открывает свой рынок через FindBy IdAndОрганизацияId Перед тем, как перечислять продавцов, сопоставляя своих братьев и сестер. В каждом случае строка иностранец-орг теперь отвечает точно так же, как недостающий: тот же самый Исключение, одно и то же сообщение, один и тот же HTTP-ответ, который обработчик уже создал для Плохая уид — никакая новая информация не просачивается самим исправлением. Массовое задание: UpdateGiftCard больше не принимает текущий баланс запросить тело. Нет существующего типа правой роли (MANAGE PRICING, MANAGE ORDERS, ...) четко охватывает ручную корректировку баланса, так что в соответствии с позицией координатора Инструкция, которую мы не изобрели; один и тот же участник может все еще редактировать Другие поля карты, как и раньше. Примечание для координатора: kamo-internal's Диалог MarketDiscountsTab.tsx для редактирования подарочных карт отправляет текущий баланс сегодня Это поле теперь будет молча игнорироваться - выделенный скорректированный баланс конечная точка (зеркальные /стоковые уровни / {uid} / регулировка) за своим собственным правом правильное решение и требует принятия решения о продукте, а не нового одностороннего типа. Также фиксируется в прохождении при повторном получении этих подписей: читать заказ из неправильного места (контроллер проходил orgId) позиционно там, где принадлежал ордер Id; UI всегда посылает ордер Id в POST body) - он теперь читает порядок Id от тела, которое является тем, что каждый звонивший Уже посылает. Это функциональное исправление, а не безопасное. Тесты: RetailServiceOrgScopingTest и **************** охватывают один репрезентативный ресурс на шаблон репозитория (собственная колонка орга, via-parent join) with foreign-org read/update/delete that fails without исправление и тот же вызов, который увенчается успехом, плюс масса подарочной карты Правило назначения. Проверка мутаций: возвращение поиска в FindById Все девять тестов «иностранной организации» проваливаются красным цветом; восстанавливаются до совершения.

Все изменения

Как вы видите судоходство?

Все это приходит в ваше рабочее пространство самостоятельно. Начните с бесплатного плана и прочитайте эту страницу через месяц.

Начните бесплатно навсегдаПосмотреть цены