Viewing file: FacebookController.php (9.14 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
namespace App\Http\Controllers;
use GuzzleHttp\Client;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Validator;
use App\Helpers\NotificationHelper;
class FacebookController extends Controller
{
protected $client;
public function __construct() {
$this->client = new Client([
'base_uri' => env('MONGO_PROXY_URL'),
'auth' => [env('MONGO_PROXY_USER'), env('MONGO_PROXY_PASSWORD')],
'headers' => [
'Accept' => 'application/json',
],
]);
}
public function createfb_user(Request $req)
{
try{
$validator = Validator::make($req->all(), [
"user_id" => 'required|string|between:2,32'
]);
if ($validator->fails()) {
return response()->json(['error' => 'true', 'message' => $validator->errors()->all()],402);
}
$req_body=array_merge($req->all(), ['vendor_id' => auth()->user()['id']]);
$res = $this->client->post('/fb_user', ["json"=>$req_body,'http_errors' => false]);
if ($res->getStatusCode()==200) {
return response()->json(json_decode($res->getBody()->getContents()));
}else {
return response()->json(json_decode($res->getBody()->getContents()),$res->getStatusCode());
}
} catch (\Exception $exception) {
return response()->json(['error' => 'true', 'message' => $exception->getMessage()],500);
}
}
public function createLive(Request $req)
{
try{
$validator = Validator::make($req->all(), [
'title' => 'required|string|between:2,250',
"description" => 'required|string|between:2,250',
"page_id" => 'required|string|between:2,32'
]);
if ($validator->fails()) {
return response()->json(['error' => 'true', 'message' => $validator->errors()->all()],402);
}
$req_body=array_merge($req->all(), ['vendor_id' => auth()->user()['id']]);
$res = $this->client->post('/live', ["json"=>$req_body,'http_errors' => false]);
if ($res->getStatusCode()==200) {
return response()->json(json_decode($res->getBody()->getContents()));
}else {
return response()->json(json_decode($res->getBody()->getContents()),$res->getStatusCode());
}
} catch (\Exception $exception) {
return response()->json(['error' => 'true', 'message' => $exception->getMessage()],500);
}
}
public function startLive(Request $req)
{
return response()->json(["message"=>"testing"]);
// try{
// $req_body=array_merge($req->all(), ['vendor_id' => auth()->user()['id']]);
// $client = new Client([
// 'auth' => ['Facebook_Live', 'jiFFFacebook@2023!@!@!@']
// ]);
// $res = $client->request('POST', 'http://159.203.91.178:3000/create_file',["json"=>$req_body]);
// if ($res->getStatusCode()==200) {
// return response()->json(["message"=>$res->getBody()->getContents()]);
// }else {
// return response()->json(["error"=>"true", "message"=>json_decode($res->getBody()->getContents())],getStatusCode());
// }
// } catch (\Exception $exception) {
// return response()->json(['error' => 'true', 'message' =>$exception->getMessage()],500);
// }
}
public function stopLive(Request $req)
{
try{
$validator = Validator::make($req->all(), [
'live_id' => 'required|string|between:2,64',
"page_id" => 'required|string|between:2,32'
]);
if ($validator->fails()) {
return response()->json(['error' => 'true', 'message' => $validator->errors()->all()],402);
}
$req_body=array_merge($req->all(), ['vendor_id' => auth()->user()['id']]);
$client = new Client([
'auth' => ['Mongo_API', 'jiFFMongo@2023!@!@!@']
]);
$res = $this->client->post('/stop_live', ["json"=>$req_body,'http_errors' => false]);
if ($res->getStatusCode()==200) {
$notification=new NotificationHelper();
$notification->send('/end_live',["json"=>[
'vendor_id' => auth()->user()['id']
]]);
return response()->json(json_decode($res->getBody()->getContents()));
}else {
return response()->json(json_decode($res->getBody()->getContents()),$res->getStatusCode());
}
} catch (\Exception $exception) {
return response()->json(['error' => 'true', 'message' => $exception->getMessage()],500);
}
}
public function createSchedule(Request $req)
{
try{
$validator = Validator::make($req->all(), [
'description' => 'required|string|between:2,200',
'title' => 'required|string|between:2,200',
"page_id" => 'required|string|between:2,32'
]);
if ($validator->fails()) {
return response()->json(['error' => 'true', 'message' => $validator->errors()->all()],402);
}
$current_epoch=strtotime("now")+60;
if ($current_epoch>$req->input('start_time')) {
return response()->json(["error"=>"true", "message"=>"An event time must be 5 minutes ahead of current time"],402);
}
$req_body=array_merge($req->all(), ['vendor_id' => auth()->user()['id']]);
$res = $this->client->post('/schedule', ["json"=>$req_body,'http_errors' => false]);
if ($res->getStatusCode()==200) {
$notification=new NotificationHelper();
$notification->send('/schedule',["json"=>[
'vendor_id' => auth()->user()['id'],
'start_time'=>$req->input('start_time')
]]);
return response()->json(json_decode($res->getBody()->getContents()));
}else {
return response()->json(json_decode($res->getBody()->getContents()),$res->getStatusCode());
}
} catch (\Exception $exception) {
return response()->json(['error' => 'true', 'message' =>$exception->getMessage()],500);
}
// try {
// $client = new Client([
// 'auth' => ['Notification', 'jiFFNotification@2023!@!@!@']
// ]);
// $res1= $client->request('POST', 'https://notification.businesscloud.xyz/new_schedule',["json"=>['vendor_id' => auth()->user()['id'],'start_time'=>$req->input('start_time')]]);
// } catch (\Exception $exception) {
// }
}
public function createPost(Request $req)
{
try{
$validator = Validator::make($req->all(), [
'caption' => 'required|string|between:2,300',
'folder' => 'required|string|between:2,100',
"product_code" => 'required|string|between:2,10',
"page_id" => 'required|string|between:2,32',
"images" => 'nullable|string|between:0,200'
]);
if ($validator->fails()) {
return response()->json(['error' => 'true', 'message' => $validator->errors()->all()],402);
}
$req_body=array_merge($req->all(), ['vendor_id' => auth()->user()['id']]);
$res = $this->client->post('/post', ["json"=>$req_body,'http_errors' => false]);
if ($res->getStatusCode()==200) {
return response()->json(json_decode($res->getBody()->getContents()));
}else {
return response()->json(json_decode($res->getBody()->getContents()),$res->getStatusCode());
}
} catch (\Exception $exception) {
return response()->json(['error' => 'true', 'message' =>$exception->getMessage()],500);
}
}
function deletePost(Request $req)
{
try{
$validator = Validator::make($req->all(), [
"post_id" => 'required|string|between:2,64',
"page_id" => 'required|string|between:2,32'
]);
if ($validator->fails()) {
return response()->json(['error' => 'true', 'message' => $validator->errors()->all()],402);
}
$req_body=array_merge($req->all(), ['vendor_id' => auth()->user()['id']]);
$res = $this->client->post('/delete_post', ["json"=>$req_body,'http_errors' => false]);
if ($res->getStatusCode()==200) {
return response()->json(json_decode($res->getBody()->getContents()));
}else {
return response()->json(json_decode($res->getBody()->getContents()),$res->getStatusCode());
}
} catch (\Exception $exception) {
return response()->json(['error' => 'true', 'message' =>$exception->getMessage()],500);
}
}
}
|