Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #route
- $router->group(['middleware' => ['checkActionApiRpc', 'checkTypeCampaignApiRpc']], function () use ($router) {
- $router->post('api-rpc', ['uses' => 'ApiRpcController@index']);
- });
- class ApiRpcController extends Controller
- {
- protected $request;
- protected $campaign;
- protected $action;
- protected $youtubeService;
- protected $userService;
- protected $servicesService;
- /**
- * Create a new controller instance.
- *
- * @return void
- */
- public function __construct(
- Request $request,
- YoutubeService $youtubeService,
- UserService $userService,
- ServicesService $servicesService
- )
- {
- $this->request = $request;
- $this->youtubeService = $youtubeService;
- $this->userService = $userService;
- $this->servicesService = $servicesService;
- $this->action = $this->request->input('action');
- $this->campaign = explode('.', $this->request->input('campaign'));
- }
- public function index()
- {
- $mappingAction = [
- 'campaign.getall' => fn() => $this->youtubeService->{"getCampaign{$this->campaign[1]}"}(null, true, true),
- 'campaign.get' => fn() => $this->youtubeService->{"getCampaign{$this->campaign[1]}"}($this->request->input('campaign_id')),
- 'campaign.fund' => fn() => $this->youtubeService->fundBalanceCampaign($this->campaign[1], $this->request->input('campaign_id')),
- 'campaign.refund' => fn() => $this->youtubeService->refundBalanceCampaign($this->campaign[1], $this->request->input('campaign_id')),
- 'campaign.delete' => fn() => $this->youtubeService->deleteCampaign($this->campaign[1], $this->request->input('campaign_id')),
- 'campaign.status' => fn() => $this->youtubeService->changeStatus($this->campaign[1], $this->request->input('campaign_id')),
- 'campaign.create' => fn() => $this->youtubeService->{"createCampaign{$this->campaign[1]}"}(),
- 'users.me' => fn() => $this->userService->getMe(),
- 'users.find' => fn() => $this->userService->getUserById($this->request->input('user_id')),
- 'services.get' => fn() => $this->servicesService->get()
- ];
- $getCampaign = $mappingAction[$this->action]();
- $code = $getCampaign['code'];
- unset($getCampaign['code']);
- return response()->json(
- $getCampaign,
- $code
- );
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement