Sindbad~EG File Manager

Current Path : /home/infinitibizsol/.trash/controllers.4/
Upload File :
Current File : /home/infinitibizsol/.trash/controllers.4/webhookcontroller.js

const stripe = require("stripe")(process.env.STRIPE_SECRETE_KEY);
const { subscriptionData } = require("../controllers/paymentController");
const {
  subscribeAuctioneerWebHook,
} = require("../controllers/userSubscriptionController");

const webhookController = async (request, response) => {
  const sig = request.headers["stripe-signature"];
  let event;
  try {
    event = stripe.webhooks.constructEvent(
      request.body,
      sig,
      process.env.WEB_HOOK_SCERETE
    );
  } catch (error) {
    return res.status(500).json({
      status: 500,
      message: "Internal Server Error",
      error: error.message,
    });
  }

  // Handle the event
  switch (event.type) {
    case "checkout.session.completed":
      const session = event.data.object;
      console.log(session);
      break;
    case "payment_intent.succeeded":
      const paymentIntentSucceeded = event.data.object;
      // Then define and call a function to handle the event payment_intent.succeeded
      // console.log(paymentIntentSucceeded);
      break;
    case "charge.succeeded":
      const chargeSucceeded = event.data.object;
      // console.log(chargeSucceeded);
      let result = await subscribeAuctioneerWebHook(
        subscriptionData.user_id,
        subscriptionData.auctioneer_id
      );
      console.log(subscriptionData);
      if (result.length <= 0) {
        console.log("Task Not Completed");
      } else {
        console.log("Task Completed");
        subscriptionData.auctioneer_id = null;
        subscriptionData.user_id = null;
      }
      break;
    // ... handle other event types
    default:
      console.log(`Unhandled event type ${event.type}`);
  }
  return response.send();
};
module.exports = { webhookController };

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists