Unify order flow across users

This commit is contained in:
Ruslan Bakiev
2026-04-04 08:57:26 +07:00
parent 370aac7580
commit 6ea9d4e5b7

View File

@@ -205,28 +205,10 @@ async function requireCompletedCounterpartyProfile(context, userId) {
} }
async function resolveOrderRequirements(context, user, deliveryAddressId) { async function resolveOrderRequirements(context, user, deliveryAddressId) {
if (user.role !== 'MANAGER') {
await requireCompletedCounterpartyProfile(context, user.id); await requireCompletedCounterpartyProfile(context, user.id);
return resolveSelectedDeliveryAddress(context, user.id, deliveryAddressId); return resolveSelectedDeliveryAddress(context, user.id, deliveryAddressId);
} }
const normalizedAddressId = normalizeOptionalText(deliveryAddressId);
if (normalizedAddressId) {
return resolveSelectedDeliveryAddress(context, user.id, normalizedAddressId);
}
const manager = await context.prisma.user.findUnique({
where: { id: user.id },
select: { defaultDeliveryAddressId: true },
});
if (!manager?.defaultDeliveryAddressId) {
return null;
}
return resolveSelectedDeliveryAddress(context, user.id, manager.defaultDeliveryAddressId);
}
function formatOrderStatusMessage(order, status, note) { function formatOrderStatusMessage(order, status, note) {
const suffix = note ? `\nКомментарий: ${note}` : ''; const suffix = note ? `\nКомментарий: ${note}` : '';
return `Заказ ${order.code} изменил статус: ${status}.${suffix}`; return `Заказ ${order.code} изменил статус: ${status}.${suffix}`;
@@ -884,8 +866,8 @@ export const resolvers = {
code: orderCode(), code: orderCode(),
kind: 'READY', kind: 'READY',
customerId: customer.id, customerId: customer.id,
deliveryAddressId: selectedAddress?.id ?? null, deliveryAddressId: selectedAddress.id,
deliveryAddress: selectedAddress ? presentDeliveryAddress(selectedAddress) : null, deliveryAddress: presentDeliveryAddress(selectedAddress),
status: 'NEW', status: 'NEW',
items: { items: {
create: input.items.map((item) => { create: input.items.map((item) => {
@@ -921,8 +903,8 @@ export const resolvers = {
code: orderCode(), code: orderCode(),
kind: 'CALCULATION', kind: 'CALCULATION',
customerId: customer.id, customerId: customer.id,
deliveryAddressId: selectedAddress?.id ?? null, deliveryAddressId: selectedAddress.id,
deliveryAddress: selectedAddress ? presentDeliveryAddress(selectedAddress) : null, deliveryAddress: presentDeliveryAddress(selectedAddress),
status: 'NEW', status: 'NEW',
calculationPayload: input.parameters, calculationPayload: input.parameters,
items: { items: {