|
|
|
|
@ -57,46 +57,40 @@ export default async function checkoutSessionCompleted(event: Stripe.Event) {
|
|
|
|
|
orders.id,
|
|
|
|
|
order_status,
|
|
|
|
|
price,
|
|
|
|
|
start_time,
|
|
|
|
|
end_time,
|
|
|
|
|
created_at,
|
|
|
|
|
payment_intents.status as payment_intent_status,
|
|
|
|
|
start_time as "startDate",
|
|
|
|
|
end_time as "endDate",
|
|
|
|
|
json_build_object(
|
|
|
|
|
'id',trainers.id,
|
|
|
|
|
'first_name',users.first_name,
|
|
|
|
|
'last_name',users.last_name,
|
|
|
|
|
'first_name',trainer_user.first_name,
|
|
|
|
|
'last_name',trainer_user.last_name,
|
|
|
|
|
'center_id',trainers.center_id,
|
|
|
|
|
'center_name',centers.name
|
|
|
|
|
) as trainer
|
|
|
|
|
'center_name',centers.name,
|
|
|
|
|
'email',trainer_user.email
|
|
|
|
|
) as trainer,
|
|
|
|
|
json_build_object(
|
|
|
|
|
'id', order_user.id,
|
|
|
|
|
'first_name', order_user.first_name,
|
|
|
|
|
'last_name', order_user.last_name,
|
|
|
|
|
'email', order_user.email
|
|
|
|
|
) as user
|
|
|
|
|
FROM orders
|
|
|
|
|
LEFT JOIN reserved_timeslots ON reserved_timeslots.id = orders.timeslot_id
|
|
|
|
|
LEFT JOIN payment_intents ON payment_intents.id = orders.payment_intent
|
|
|
|
|
LEFT JOIN trainers ON trainers.id = reserved_timeslots.trainer_id
|
|
|
|
|
LEFT JOIN centers on trainers.center_id = centers.id
|
|
|
|
|
LEFT JOIN users on users.id = trainers.user_id
|
|
|
|
|
LEFT JOIN users AS trainer_user on trainer_user.id = trainers.user_id
|
|
|
|
|
LEFT JOIN users AS order_user on order_user.id = orders.user_id
|
|
|
|
|
WHERE
|
|
|
|
|
checkout_session = $1;
|
|
|
|
|
`, [
|
|
|
|
|
session.id
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
const user: User = orderLookup.rows[0].user;
|
|
|
|
|
orderLookup.rows[0].user = undefined;
|
|
|
|
|
const order: Order = orderLookup.rows[0];
|
|
|
|
|
|
|
|
|
|
order.startDate = orderLookup.rows[0].start_time;
|
|
|
|
|
order.endDate = orderLookup.rows[0].end_time;
|
|
|
|
|
|
|
|
|
|
const userLookup = await client.query(`
|
|
|
|
|
SELECT
|
|
|
|
|
users.email,
|
|
|
|
|
users.id,
|
|
|
|
|
users.first_name,
|
|
|
|
|
users.last_name
|
|
|
|
|
FROM orders
|
|
|
|
|
LEFT JOIN users on users.id = orders.user_id
|
|
|
|
|
WHERE
|
|
|
|
|
checkout_session = $1;
|
|
|
|
|
`, [
|
|
|
|
|
session.id
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
const user: User = userLookup.rows[0];
|
|
|
|
|
|
|
|
|
|
sendOrderConfirmationEmail(user, order);
|
|
|
|
|
}
|