Unify order flow across users
This commit is contained in:
@@ -205,26 +205,8 @@ async function requireCompletedCounterpartyProfile(context, userId) {
|
||||
}
|
||||
|
||||
async function resolveOrderRequirements(context, user, deliveryAddressId) {
|
||||
if (user.role !== 'MANAGER') {
|
||||
await requireCompletedCounterpartyProfile(context, user.id);
|
||||
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);
|
||||
await requireCompletedCounterpartyProfile(context, user.id);
|
||||
return resolveSelectedDeliveryAddress(context, user.id, deliveryAddressId);
|
||||
}
|
||||
|
||||
function formatOrderStatusMessage(order, status, note) {
|
||||
@@ -884,8 +866,8 @@ export const resolvers = {
|
||||
code: orderCode(),
|
||||
kind: 'READY',
|
||||
customerId: customer.id,
|
||||
deliveryAddressId: selectedAddress?.id ?? null,
|
||||
deliveryAddress: selectedAddress ? presentDeliveryAddress(selectedAddress) : null,
|
||||
deliveryAddressId: selectedAddress.id,
|
||||
deliveryAddress: presentDeliveryAddress(selectedAddress),
|
||||
status: 'NEW',
|
||||
items: {
|
||||
create: input.items.map((item) => {
|
||||
@@ -921,8 +903,8 @@ export const resolvers = {
|
||||
code: orderCode(),
|
||||
kind: 'CALCULATION',
|
||||
customerId: customer.id,
|
||||
deliveryAddressId: selectedAddress?.id ?? null,
|
||||
deliveryAddress: selectedAddress ? presentDeliveryAddress(selectedAddress) : null,
|
||||
deliveryAddressId: selectedAddress.id,
|
||||
deliveryAddress: presentDeliveryAddress(selectedAddress),
|
||||
status: 'NEW',
|
||||
calculationPayload: input.parameters,
|
||||
items: {
|
||||
|
||||
Reference in New Issue
Block a user