Advertisement
fastje

Untitled

Jun 22nd, 2022
1,093
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.44 KB | None | 0 0
  1. #route
  2. $router->group(['middleware' => ['checkActionApiRpc', 'checkTypeCampaignApiRpc']], function () use ($router) {
  3.     $router->post('api-rpc', ['uses' => 'ApiRpcController@index']);
  4. });
  5.  
  6.  
  7. class ApiRpcController extends Controller
  8. {
  9.     protected $request;
  10.     protected $campaign;
  11.     protected $action;
  12.     protected $youtubeService;
  13.     protected $userService;
  14.     protected $servicesService;
  15.     /**
  16.      * Create a new controller instance.
  17.      *
  18.      * @return void
  19.      */
  20.     public function __construct(
  21.         Request $request,
  22.         YoutubeService $youtubeService,
  23.         UserService $userService,
  24.         ServicesService $servicesService
  25.     )
  26.     {
  27.         $this->request = $request;
  28.         $this->youtubeService = $youtubeService;
  29.         $this->userService = $userService;
  30.         $this->servicesService = $servicesService;
  31.         $this->action = $this->request->input('action');
  32.         $this->campaign = explode('.', $this->request->input('campaign'));
  33.     }
  34.  
  35.     public function index()
  36.     {
  37.         $mappingAction = [
  38.             'campaign.getall' => fn() => $this->youtubeService->{"getCampaign{$this->campaign[1]}"}(null, true, true),
  39.             'campaign.get' => fn() => $this->youtubeService->{"getCampaign{$this->campaign[1]}"}($this->request->input('campaign_id')),
  40.             'campaign.fund' => fn() => $this->youtubeService->fundBalanceCampaign($this->campaign[1], $this->request->input('campaign_id')),
  41.             'campaign.refund' => fn() => $this->youtubeService->refundBalanceCampaign($this->campaign[1], $this->request->input('campaign_id')),
  42.             'campaign.delete' => fn() => $this->youtubeService->deleteCampaign($this->campaign[1], $this->request->input('campaign_id')),
  43.             'campaign.status' => fn() => $this->youtubeService->changeStatus($this->campaign[1], $this->request->input('campaign_id')),
  44.             'campaign.create' => fn() => $this->youtubeService->{"createCampaign{$this->campaign[1]}"}(),
  45.             'users.me' => fn() => $this->userService->getMe(),
  46.             'users.find' => fn() => $this->userService->getUserById($this->request->input('user_id')),
  47.             'services.get' => fn() => $this->servicesService->get()
  48.         ];
  49.  
  50.         $getCampaign = $mappingAction[$this->action]();
  51.         $code = $getCampaign['code'];
  52.         unset($getCampaign['code']);
  53.         return response()->json(
  54.             $getCampaign,
  55.             $code
  56.         );
  57.     }
  58. }
  59.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement