Sindbad~EG File Manager

Current Path : /home/infinitibizsol/.trash/controllers.2/
Upload File :
Current File : /home/infinitibizsol/.trash/controllers.2/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.endpointSecret
    );
    console.log("Requested");
    console.log(event);
  } catch (err) {
    console.log(`Webhook Error: ${err.message}`);
    response.status(400).send(`Webhook Error: ${err.message}`);
    return;
  }

  // Handle the event
  switch (event.type) {
    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