/
home
/
infinitibizsol
/
.trash
/
controllers.2
/
File Upload :
llllll
Current File: /home/infinitibizsol/.trash/controllers.2/userSubscriptionController.js
const { Op, INTEGER } = require("sequelize"); const db = require("../models"); //Optimized Code const getAllSubscribedAuctioneerList = async (req, res) => { // try { // const { userId, weekId } = req.body; // const [resultTableAdmin, resultTableSubscription, resultTableAdminUsers] = // await Promise.all([ // db.tblAuctioneer.findAll({ // attributes: ["auctioneer_id", "first_name","business_name"], // order: [["first_name", "ASC"]], // }), // db.tblUserSubAuctioneer.findAll({ // where: { // user_id: userId, // }, // }), // db.tblOpportunity.findAll({ // where: { // week_id: weekId, // user_id: userId, // }, // }), // ]); // const adminIdsInSubTbl = new Set( // resultTableSubscription.map((item) => item.auctioneer_id) // ); // const adminIdsInUsers = new Set( // resultTableAdminUsers.map((item) => item.auctioneer_id) // ); // const data = resultTableAdmin.map((item) => ({ // ...item.get(), // status: adminIdsInSubTbl.has(item.auctioneer_id), // opportunity_status: adminIdsInUsers.has(item.auctioneer_id), // })); // return res.json({ status: 200, data: data }); // } catch (error) { // return res.json(error.message); // } }; const subscribeAuctioneer = async (req, res) => { try { // Set start_date as the current date const start_date = new Date(); // Set expiration_date as one month from the current date const expirationDate = new Date(); expirationDate.setMonth(expirationDate.getMonth() + 1); const expiration_date = expirationDate; const data = { user_id: req.body.user_id, auctioneer_id: req.body.auctioneer_id, start_date: start_date, expiration_date: expiration_date, }; let result = await db.tblUserSubAuctioneer.create(data); /* let resultTableAdmin = await db.tblAuctioneer.findAll(); let resultTableAdminUsers = await db.tblUserSubAuctioneer.findAll({ where: { user_id: userId, }, }); const adminIdsInUsers = new Set( resultTableAdminUsers.map((item) => item.auctioneer_id) ); resultTableAdmin = resultTableAdmin.map((item) => item.get()); const data = resultTableAdmin.map((item) => ({ ...item, status: adminIdsInUsers.has(item.auctioneer_id), // status: true, })); */ return res.json({ status: 200, data: [result] }); } catch (error) { return res.json(error.message); } }; const unSubscribeAuctioneer = async (req, res) => { try { const { user_id, auctioneer_id } = req.body; let destroyOpportunity = db.tblOpportunity.destroy({ where: { [Op.and]: [ { user_id: user_id, }, { auctioneer_id: auctioneer_id }, ], }, }); let destroyUserSubAuctioneer = db.tblUserSubAuctioneer.destroy({ where: { [Op.and]: [ { user_id: user_id, }, { auctioneer_id: auctioneer_id }, ], }, }); const [opportunityResult, userSubAuctioneerResult] = await Promise.all([ destroyOpportunity, destroyUserSubAuctioneer, ]); console.log("Opportunity Deletion Result:", opportunityResult); console.log("UserSubAuctioneer Deletion Result:", userSubAuctioneerResult); /* let resultTableAdmin = await db.tblAuctioneer.findAll(); let resultTableAdminUsers = await db.tblUserSubAuctioneer.findAll({ where: { user_id: userId, }, }); const adminIdsInUsers = new Set( resultTableAdminUsers.map((item) => item.auctioneer_id) ); resultTableAdmin = resultTableAdmin.map((item) => item.get()); const data = resultTableAdmin.map((item) => ({ ...item, status: adminIdsInUsers.has(item.auctioneer_id), // status: true, })); */ return res.json({ status: 200, message: "Success" }); } catch (error) { return res.json(error.message); } }; async function subscribeAuctioneerWebHook(user_id, auctioneer_id) { try { const dataObject = { user_id: user_id, auctioneer_id: auctioneer_id }; let result = await db.tblUserSubAuctioneer.create(dataObject); return [result]; } catch (error) { return res.json(error.message); } } module.exports = { subscribeAuctioneer, getAllSubscribedAuctioneerList, subscribeAuctioneerWebHook, unSubscribeAuctioneer, };
Copyright ©2k19 -
Hexid
|
Tex7ure