src/Controller/APIController.php line 166

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Service\APIServices\AddCreditMemoTransaction;
  4. use App\Service\APIServices\CreditMemoHistory;
  5. use App\Service\APIServices\DailyConsolidator;
  6. use App\Service\APIServices\DailyCustomerDeposit;
  7. use App\Service\APIServices\DailyWoofyDeposit;
  8. use App\Service\APIServices\DailyCustomerDepositEPayment;
  9. use App\Service\APIServices\DailySalesService;
  10. use App\Service\APIServices\DailySalesV2Service;
  11. use App\Service\APIServices\GetCreditMemoTransaction;
  12. use App\Service\APIServices\SubscriberWalletTransaction;
  13. use App\Service\APIServices\TransactionHistoryService;
  14. use App\Service\APIServices\SubscriberService;
  15. use App\Service\APIServices\QuickBooksIDService;
  16. use App\Service\APIServices\WoofyEcpayEpaymentsTransactions;
  17. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  18. use Symfony\Component\HttpFoundation\Request;
  19. use Symfony\Component\Routing\Annotation\Route;
  20. use App\Service\JournalEntryService;
  21. use App\Service\FillManagersOtcTransaction;
  22. use Symfony\Component\HttpFoundation\JsonResponse;
  23. class APIController extends AbstractController
  24. {
  25.     private $addCreditMemoTransaction;
  26.     private $dailyConsolidator;
  27.     private $dailySalesService;
  28.     private $dailySalesV2Service;
  29.     private $dailyCustomerDeposit;
  30.     private $dailyWoofyDeposit;
  31.     private $dailyCustomerDepositEPayment;
  32.     private $transactionHistoryService;
  33.     private $subscriberWalletTransaction;
  34.     private $creditMemoHistory;
  35.     private $subscriberService;
  36.     private $quickBooksIDService;
  37.     private $woofyEcpayEpaymentsTransactions;
  38.     private $journalEntryService;
  39.     private $fillManagersOtcTransaction;
  40.     private $getCreditMemoTransaction;
  41.     public function __construct(
  42.         AddCreditMemoTransaction $addCreditMemoTransaction,
  43.         GetCreditMemoTransaction $getCreditMemoTransaction,
  44.         DailySalesService $dailySalesService,
  45.         TransactionHistoryService $transactionHistoryService,
  46.         SubscriberWalletTransaction $subscriberWalletTransaction,
  47.         DailyCustomerDeposit $dailyCustomerDeposit,
  48.         DailyWoofyDeposit $dailyWoofyDeposit,
  49.         DailyCustomerDepositEPayment $dailyCustomerDepositEPayment,
  50.         DailyConsolidator $dailyConsolidator,
  51.         CreditMemoHistory $creditMemoHistory,
  52.         SubscriberService $subscriberService,
  53.         QuickBooksIDService $quickBooksIDService,
  54.         WoofyEcpayEpaymentsTransactions $woofyEcpayEpaymentsTransactions,
  55.         DailySalesV2Service $dailySalesV2Service,
  56.         JournalEntryService $journalEntryService,
  57.         FillManagersOtcTransaction $fillManagersOtcTransaction
  58.     ) {
  59.         $this->addCreditMemoTransaction $addCreditMemoTransaction;
  60.         $this->getCreditMemoTransaction $getCreditMemoTransaction;
  61.         $this->dailyConsolidator $dailyConsolidator;
  62.         $this->dailySalesService $dailySalesService;
  63.         $this->dailyCustomerDeposit $dailyCustomerDeposit;
  64.         $this->dailyWoofyDeposit $dailyWoofyDeposit;
  65.         $this->dailyCustomerDepositEPayment $dailyCustomerDepositEPayment;
  66.         $this->transactionHistoryService $transactionHistoryService;
  67.         $this->subscriberWalletTransaction $subscriberWalletTransaction;
  68.         $this->creditMemoHistory $creditMemoHistory;
  69.         $this->subscriberService $subscriberService;
  70.         $this->quickBooksIDService $quickBooksIDService;
  71.         $this->woofyEcpayEpaymentsTransactions $woofyEcpayEpaymentsTransactions;
  72.         $this->dailySalesV2Service $dailySalesV2Service;
  73.         $this->journalEntryService $journalEntryService;
  74.         $this->fillManagersOtcTransaction $fillManagersOtcTransaction;
  75.     }
  76.     /**
  77.      * @Route("/api/dailySales", name="dailySales", methods={"GET"})
  78.      */
  79.     public function dailySales(Request $request)
  80.     {
  81.         return $this->dailySalesService->getDailySales($request)->prepare($request);
  82.     }
  83.     /**
  84.      * @Route("/api/dailySalesV2", name="dailySalesV2", methods={"GET"})
  85.      */
  86.     public function dailySalesV2(Request $request)
  87.     {
  88.         return $this->dailySalesV2Service->getDailySales($request)->prepare($request);
  89.     }
  90.     /**
  91.      * @Route("/api/subscriberWalletTransaction", name="subscriberWalletTransaction", methods={"GET"})
  92.      */
  93.     public function subscriberWalletTransaction(Request $request)
  94.     {
  95.         return $this->subscriberWalletTransaction->getSubscriberWalletTransaction($request)->prepare($request);
  96.     }
  97.     /**
  98.      * @Route("/api/transactionHistory", name="transactionHistory", methods={"GET"})
  99.      */
  100.     public function transactionHistory(Request $request)
  101.     {
  102.         return $this->transactionHistoryService->getTransactionHistory($request)->prepare($request);
  103.     }
  104.     /**
  105.      * @Route("/api/creditMemoTransaction", name="creditMemoTransaction", methods={"POST"})
  106.      */
  107.     public function creditMemoTransaction(Request $request)
  108.     {
  109.         return $this->addCreditMemoTransaction->addCreditMemoTransaction($request)->prepare($request);
  110.     }
  111.     /**
  112.      * @Route("/api/creditMemoTransaction", name="getCreditMemoTransaction", methods={"GET"})
  113.      */
  114.     public function getCreditMemoTransaction(Request $request)
  115.     {
  116.         return $this->getCreditMemoTransaction->getCreditMemoTransaction($request)->prepare($request);
  117.     }
  118.     /**
  119.      * @Route("/api/dailyCustomerDeposit", name="dailyCustomerDeposit", methods={"GET"})
  120.      */
  121.     public function dailyCustomerDeposit(Request $request)
  122.     {
  123.         return $this->dailyCustomerDeposit->getDailyCustomerDeposit($request)->prepare($request);
  124.     }
  125.     /**
  126.      * @Route("/api/dailyCustomerDepositEpayment", name="dailyCustomerDepositEpayment", methods={"GET"})
  127.      */
  128.     public function dailyCustomerDepositEpayment(Request $request)
  129.     {
  130.         return $this->dailyCustomerDepositEPayment->getDailyCustomerDeposit($request)->prepare($request);
  131.     }
  132.     /**
  133.      * @Route("/api/dailyConsolidator", name="dailyConsolidator", methods={"GET"})
  134.      */
  135.     public function dailyConsolidator(Request $request)
  136.     {
  137.         return $this->dailyConsolidator->getDailyConsolidator($request)->prepare($request);
  138.     }
  139.     /**
  140.      * @Route("/api/creditMemoHistory", name="creditMemoHistory", methods={"GET"})
  141.      */
  142.     public function creditMemoHistory(Request $request)
  143.     {
  144.         return $this->creditMemoHistory->getCreditMemoHistory($request)->prepare($request);
  145.     }
  146.     /**
  147.      * @Route("/api/subscriber", name="add_subscriber", methods={"POST"})
  148.      */
  149.     public function addSubscriber(Request $request)
  150.     {
  151.         return $this->subscriberService->addSubscriber($request)->prepare($request);
  152.     }
  153.     /**
  154.      * @Route("/api/quickbooks-id", methods={"POST"}, name="add_quickbooks_id")
  155.      */
  156.     public function addQuickBooksID(Request $request)
  157.     {
  158.         $content json_decode($request->getContent(), true);
  159.         $location $this->quickBooksIDService->addQuickBooksID($content);
  160.         if (array_key_exists('error'$location)) {
  161.             return $this->json($locationJsonResponse::HTTP_BAD_REQUEST);
  162.         }
  163.         return $this->json($location);
  164.     }
  165.     /**
  166.      * @Route("/api/quickbooks-id", name="show_quickbooks_id", methods={"GET"})
  167.      */
  168.     public function showQuickBooksID(Request $request)
  169.     {
  170.         return $this->quickBooksIDService->showQuickBooksEntries($request)->prepare($request);
  171.     }
  172.     /**
  173.      * @Route("/api/updateLocationQuickbooksId", methods={"PUT"}, name="updateLocationQuickbooksId")
  174.      */
  175.     public function updateLocationQuickbooksId(Request $request)
  176.     {
  177.         $content json_decode($request->getContent(), true);
  178.         $result $this->quickBooksIDService->updateLocationQuickbooksId($content);
  179.         if (array_key_exists('error'$result)) {
  180.             return $this->json($resultJsonResponse::HTTP_BAD_REQUEST);
  181.         }
  182.         return $this->json($result);
  183.     }
  184.     /**
  185.      * @Route("/api/quickbooks-id/{id}", name="update_quickbooks_id", methods={"PUT"})
  186.      */
  187.     public function updateQuickBooksID(Request $request$id)
  188.     {
  189.         return $this->quickBooksIDService->updateQuickBooksID($request$id)->prepare($request);
  190.     }
  191.     /**
  192.      * @Route("/api/quickbooks-id/{id}", name="delete_quickbooks_id", methods={"DELETE"})
  193.      */
  194.     public function deleteQuickBooksID($id)
  195.     {
  196.         return $this->quickBooksIDService->deleteQuickBooksID($id);
  197.     }
  198.     /**
  199.      * @Route("/api/dailyWoofyDeposit", name="dailyWoofyDeposit", methods={"GET"})
  200.      */
  201.     public function dailyWoofyDeposit(Request $request)
  202.     {
  203.         return $this->dailyWoofyDeposit->getDailyWoofyDeposit($request)->prepare($request);
  204.     }
  205.     /**
  206.      * @Route("/api/getAllDeposits", name="getAllDeposits", methods={"GET"})
  207.      */
  208.     public function dailyDepositsWoofyEpaymentEcPay(Request $request)
  209.     {
  210.         return $this->woofyEcpayEpaymentsTransactions->getDailyDepositsWoofyEpaymentEcPay($request)->prepare($request);
  211.     }
  212.     /**
  213.      * @Route("/api/deleteJournalEntry", name="deleteJournalEntry", methods={"POST"})
  214.      */
  215.     public function deleteJournalEntry(Request $request)
  216.     {
  217.         return $this->journalEntryService->delete($request);
  218.     }
  219.     /**
  220.      * @Route("/api/fillManagers", name="fillManagers", methods={"POST"})
  221.      */
  222.     public function fillManagers(Request $request)
  223.     {
  224.         $result $this->fillManagersOtcTransaction->fillManagers($request);
  225.         if (isset($result["error"])) {
  226.             return new JsonResponse($result);
  227.         }
  228.         return new JsonResponse(["success" => "success in filling up managers in otc transaction"]);
  229.     }
  230.     /**
  231.      * @Route("/api/dailyWoofyDepositV2", name="dailyWoofyDepositV2", methods={"GET"})
  232.      */
  233.     public function dailyWoofyDepositV2(Request $request)
  234.     {
  235.         return $this->dailyWoofyDeposit->getDailyWoofyDepositV2($request)->prepare($request);
  236.     }
  237.     /**
  238.      * @Route("/api/deleteJournalEntryByDocNumber", name="deleteJournalEntryByDocNumber", methods={"POST"})
  239.      */
  240.     public function deleteJournalEntryByDocNumber(Request $request)
  241.     {
  242.         return $this->journalEntryService->deleteByDocNumber($request);
  243.     }
  244.     /**
  245.      * @Route("/api/qbo/fetch-journal-entry", name="fetchJournalEntry", methods={"POST"})
  246.      */
  247.     public function fetchJournalEntry(Request $request)
  248.     {
  249.         try {
  250.             $content json_decode($request->getContent(), true);
  251.             $result $this->journalEntryService->fetchQbEntry($content["consolidatorId"]);
  252.             return $this->json($result);
  253.         } catch (\Throwable $th) {
  254.             return $this->json(["error" => $th->getMessage()], 422);
  255.         }
  256.     }
  257. }