/**
  * Get users events
  *
  * @depends testAuthUser
  * @param  array      $auth
  * @return void
  */
 public function testGetUsersEvents($auth)
 {
     // Instanciate apihelper
     $api = new \App\Helpers\ApiHelper();
     $events = $api->index('events?filter[and][][user_id]=' . $auth->id . '&sort[desc][]=id');
     return $events;
 }
 /**
  * Test Create Event
  *
  * @return event
  */
 public function testCreateEvent()
 {
     $eventData = ['user_id' => '1', 'title' => 'Unit test event ' . time(), 'address1' => '123 st', 'zipcode' => '89017', 'tags' => 'concerts', 'is_published' => 1, 'meta' => '{"schedules": [{"timeZoneId": 6, "daysOfWeek": null, "start": {"date": "2020-10-31", "time": "12:00:00"}, "end": {"date": "2020-10-31", "time": "17:00:00"}, "repeat": null}]}'];
     $api = new \App\Helpers\ApiHelper();
     $event = $api->store('events', $eventData);
     $event = $event['data']['event'];
     return $event;
 }
 /**
  * @depends testUser
  * @return $events
  */
 public function testGetEvents($auth)
 {
     // Instanciate apihelper
     $api = new \App\Helpers\ApiHelper();
     // Grab a user from
     $events = $api->index('events?filter[and][][is_published]=1&filter[and][][user_id]=' . $auth->id);
     $events = $events['data']['events'];
     return $events;
 }
 /**
  * This will grab a single event to edit schedules
  *
  * @depends testGetEvents
  */
 public function testGrabSchedule($events)
 {
     $event = $events[0];
     // Instanciate apihelper
     $api = new \App\Helpers\ApiHelper();
     $event = $api->show('events', $event['id'] . '?with[]=schedules');
     $schedule = $event['data']['event']['schedules'][0];
     return $schedule;
 }
 public function testGetEvent()
 {
     // Instanciate ApiHelper
     $api = new \App\Helpers\ApiHelper();
     // Grab an event from the DB using api
     $event = $result = $api->index('events?with[]=user');
     // Define the event
     $event = $event['data']['events'][0];
     return $event;
 }
 /**
  * testPostAccountLogin (Logged out)
  *
  * @return $user
  */
 public function testAccountLogin()
 {
     // Instanciate apihelper
     $api = new \App\Helpers\ApiHelper();
     // Grab a user from
     $user = $api->show('users', '4');
     // Set usersname
     $user = $user['data']['user'];
     $result = $this->visit('account/login')->type($user['email'], 'email')->type('timberlake', 'password')->press('Sign in')->see($user['email'])->see('Search Events Near You')->seePageIs('/');
     return $user;
 }
 /**
  * testPostAccountLogin (Logged out)
  *
  *
  */
 public function testAuthUser()
 {
     // Instanciate apihelper
     $api = new \App\Helpers\ApiHelper();
     // Grab a user from
     $user = $api->show('users', '3?with[]=events');
     // Set usersname
     $user = $user['data']['user'];
     $auth = new ApiGenericUser(['id' => $user['id']]);
     return $auth;
 }
예제 #8
0
 protected static function getApiUserInfo(Request $request)
 {
     $api_key = $request->input('key');
     if (!$api_key) {
         // no API key provided -- check whether anonymous API is on
         if (env('SETTING_ANON_API') == 'on') {
             $username = '******' . $request->ip();
         } else {
             abort(401, "Authentication token required.");
         }
         $user = (object) ['username' => $username];
     } else {
         $user = User::where('active', 1)->where('api_key', $api_key)->where('api_active', 1)->first();
         if (!$user) {
             abort(401, "Invalid authentication token.");
         }
         $username = $user->username;
     }
     $api_limit_reached = ApiHelper::checkUserApiQuota($username);
     if ($api_limit_reached) {
         abort(403, "Quota exceeded.");
     }
     return $user;
 }
 /**
  * Show List of events
  * @return friends page view
  */
 public function showAllEvents()
 {
     // Illuminate the APIHelper
     $api = new \App\Helpers\ApiHelper();
     $limit = 200;
     $url = 'events?filter[and][][times.end]=date&limit=' . $limit . '&fields[]=slug&fields[]=title&fields[]=latitude&fields[]=longitude&fields[]=address1&fields[]=address2&fields[]=city&fields[]=state&fields[]=zipcode&fields[]=phone&fields[]=venueName&fields[]=tags&fields[]=nextEvent&with[]=tags&with[]=nextEvent';
     if (\Auth::check()) {
         $url .= '&auth_user_id=' . \Auth::user()->id;
     }
     $events = $api->index($url);
     $events = $events['data']['events'];
     for ($i = 0; $i < count($events); $i++) {
         $events[$i] = ['title' => isset($events[$i]['title']) ? $events[$i]['title'] : null, 'slug' => isset($events[$i]['slug']) ? $events[$i]['slug'] : null, 'venueName' => isset($events[$i]['venueName']) ? $events[$i]['venueName'] : null, 'address1' => isset($events[$i]['address1']) ? $events[$i]['address1'] : null, 'address2' => isset($events[$i]['address2']) ? $events[$i]['address2'] : null, 'city' => isset($events[$i]['city']) ? $events[$i]['city'] : null, 'state' => isset($events[$i]['state']) ? $events[$i]['state'] : null, 'zipcode' => isset($events[$i]['zipcode']) ? $events[$i]['zipcode'] : null, 'phone' => isset($events[$i]['phone']) ? $events[$i]['phone'] : null, 'latitude' => isset($events[$i]['latitude']) ? $events[$i]['latitude'] : null, 'longitude' => isset($events[$i]['longitude']) ? $events[$i]['longitude'] : null, 'tags' => isset($events[$i]['tags']) ? $events[$i]['tags'] : null, 'nextEvent' => isset($events[$i]['nextEvent']) ? date('m/d/Y g:ia', strtotime($events[$i]['nextEvent']['start'])) : ''];
     }
     return $events;
 }
 /**
  *
  * Sets logged in users friends if any for show method
  *
  */
 protected function setFriends($api)
 {
     $friends = $api->index('users/' . \Auth::user()->id . '?with[]=friends&with[]=ticketInventories&with[]=stripeManagedAccounts&auth_user_id=' . \Auth::user()->id);
     $friends = isset($friends['data']['user']['friends']) ? $friends['data']['user']['friends'] : [];
     // Strip fields needed for friends list
     $friends = ApiHelper::stripFieldsCollection($friends, ['id', 'email', 'username', 'firstName', 'lastName', 'avatar', 'pivot']);
     return $friends;
 }
 /**
  * Display the reservation confirmation page.
  *
  * @param  $slug returns title of specified event
  * @param  $reserve holds name of reservation
  * @param  $confirmation holds confirmation message
  *
  * @return Returns reservation confirmation for all reservations made and returns view
  */
 public function showReservationConfirmation($slug)
 {
     // Instantiate the APIHelper
     $api = new \App\Helpers\ApiHelper();
     if (\Session::has('confirmation')) {
         $url = 'events/' . $slug . '?with[]=photos&with[]=TicketsOrder';
         if (\Auth::check()) {
             $url .= '&auth_user_id=' . \Auth::user()->id;
         }
         // Pull in single event with photos
         $events = $api->show($url, '');
         // Define events
         $events = $events['data']['event'];
         // Set default photo
         $defaultPhoto = null;
         // Use featured photo if available
         if (isset($events['featuredPhoto'])) {
             $defaultPhoto = $events['featuredPhoto'];
         }
         // Holds name of reservation
         $reserve = \Session::get('reserveInfo');
         // Holds returned success response for confirmation info
         $confirmation = \Session::get('confirmation');
         // For each reservation made, pull name and confirmation message
         for ($n = 0; $n < count($reserve); $n++) {
             $reservationConfirmation[] = ['name' => $reserve[$n]['name'], 'confirmation' => $confirmation[$n]['confirmation']];
         }
         return \View::make('events.reservation-confirmation')->with(array('events' => $events, 'defaultPhoto' => $defaultPhoto, 'reservationConfirmation' => $reservationConfirmation));
     } else {
         return \Redirect::back()->with('message', 'Something went wrong.');
     }
 }
 /**
  * Display the specified resource.
  *
  * @param  int  $id
  * @return Response
  */
 public function confirmation($slug)
 {
     // \Response::header('Cache-Control', 'no-store, no-cache, must-revalidate, post-check=0, pre-check=0');
     $api = new ApiHelper();
     $url = 'events/' . $slug . '?with[]=photos&with[]=TicketsOrder';
     if (\Auth::check()) {
         $url .= '&auth_user_id=' . \Auth::user()->id;
     }
     // Pull in single event with photos
     $events = $api->index($url);
     // Define events
     $events = $events['data']['event'];
     if (\Session::has('quantity')) {
         foreach ($events['ticketsOrder'] as $ticketOrder) {
             if ($ticketOrder === end($events['ticketsOrder'])) {
                 $email = $ticketOrder['email'];
                 $amount = $ticketOrder['amount'];
                 $total = $ticketOrder['amount'];
             }
         }
         $quantity = \Session::get('quantity');
         return \View::make('events.confirmation')->with(array('events' => $events, 'quantity' => $quantity, 'amount' => $amount));
     } else {
         return \Redirect::route('home')->with('message', 'Confirmation page no longer available. Check your email for recipt and tickets');
     }
 }
 /**
  * testGetEventsIdSchedulesIndex (Logged out)
  * Check response status as there is nothing to test
  *
  * @depends testAuth
  * @depends testShowProfile
  * @return void
  */
 public function testGetEventsIdSchedulesIndexIn($auth, $user)
 {
     // Instanciate apihelper
     $api = new \App\Helpers\ApiHelper();
     // Pull users events with schedules
     $event = $api->index('events?filter[and][][user_id]=' . $user['data']['user']['id'] . '&with[]=schedules', []);
     $eventId = $event['data']['events'][0]['id'];
     $result = $this->actingAs($auth)->visit('events/' . $eventId . '/schedules/index')->see('Add Schedule')->seePageIs('events/' . $eventId . '/schedules/index');
 }
 /**
  * Create test tickets
  *
  * @depends testCreateEvent
  * @return $eventsTicketsUserData
  */
 public function testCreateTickets($event)
 {
     // Instanciate apihelper
     $api = new \App\Helpers\ApiHelper();
     $ticketsToMake = 6;
     for ($ticket = 0; $ticket < $ticketsToMake; $ticket++) {
         switch (true) {
             case $ticket < 3:
                 // Grab a user from
                 $user = $api->store('ticketsinventories', ['name' => 'Test ticket' . time(), 'amount' => 1.6, 'inventory' => 9999, 'user_id' => $event['user_id'], 'event_id' => $event['id'], 'is_enabled' => 1]);
                 break;
             default:
                 // Grab a user from
                 $user = $api->store('ticketsinventories', ['name' => 'Test ticket' . time(), 'amount' => 6 * 45, 'inventory' => 9999, 'user_id' => $event['user_id'], 'event_id' => $event['id'], 'is_enabled' => 1]);
                 break;
         }
     }
     $eventsTicketsUserData = $api->index('events/' . $event['slug'] . '?with[]=ticketsInventory&with[]=nextEvent');
     echo 'Creating events schedule...';
     sleep(15);
     // Refresh event data
     $eventsTicketsUserData = $api->index('events/' . $event['slug'] . '?with[]=ticketsInventory&with[]=nextEvent');
     return $eventsTicketsUserData;
 }
 /**
  * Show Friends Page
  * @return friends page view
  */
 public function showFriends()
 {
     // Shimmer the APIHelper
     $api = new \App\Helpers\ApiHelper();
     // Show current friends list
     $friend = $api->index('users/' . \Auth::user()->id . '?with[]=friends&with[]=events&with[]=friendRequests&with[]=eventInvites&with[]=ticketInventories&with[]=stripeManagedAccounts&auth_user_id=' . \Auth::user()->id);
     $user = $friend['data']['user'];
     // Shows event requests
     $eventInvite = $api->index('events/invites/' . \Auth::user()->id . '?fields[]=event.city&auth_user_id=' . \Auth::user()->id);
     $eventInvites = isset($eventInvite['data']['resource']) ? $eventInvite['data']['resource'] : [];
     // Grabs user created events for invites
     $event = $friend['data']['user']['events'];
     // Friend requests if any exist
     $friendRequest = isset($friend['data']['user']['friendRequests']) ? $friend['data']['user']['friendRequests'] : [];
     // Shows existing friends
     $friend = isset($friend['data']['user']['friends']) ? $friend['data']['user']['friends'] : [];
     // Strip fields needed for friends list
     $friend = ApiHelper::stripFieldsCollection($friend, ['id', 'email', 'username', 'firstName', 'lastName', 'avatar']);
     // Strip fields needed for user created event
     $event = ApiHelper::stripFieldsCollection($event, ['id', 'title']);
     // Strip fields needed for friend request
     $friendRequest = ApiHelper::stripFieldsCollection($friendRequest, ['id', 'email', 'username', 'firstName', 'lastName', 'avatar']);
     return View::make('accounts.friends')->with(['friend' => $friend, 'eventInvites' => $eventInvites, 'user' => $user, 'event' => $event, 'friendRequest' => $friendRequest]);
 }
 public function oathCallback(Request $request, $provider)
 {
     // Check if user is signed in
     if (!\Auth::check()) {
         // Return fail message
         return Redirect::route('home')->with('fail_message', 'You must be signed in to make this request');
     }
     // Check if code is set
     if (!isset($request::all()['code'])) {
         return Redirect::route('payment')->with('fail_message', 'There was a problem creating your account. Please try again later');
     }
     // Define userId
     $userId = \Auth::user()->id;
     // Define connected user data with return authorization
     $connectedUser = Socialize::driver($provider)->user();
     // Define create data
     $acctId = $connectedUser->id;
     $meta = json_encode($connectedUser);
     // Insanciate the APIHelper
     $api = new \App\Helpers\ApiHelper();
     // Save managed account to API
     $stripeManagedAccount = $api->store('users/createManaged', ['user_id' => $userId, 'acct_id' => $acctId, 'meta' => $meta]);
     // Check success
     if ($stripeManagedAccount['success'] !== true) {
         return Redirect::route('payment')->with(['fail_message' => $stripeManagedAccount['error']]);
     }
     // Return success
     return Redirect::route('payment')->with(['success_message' => 'Account connected successfully!']);
 }