Example #1
0
    }, array_values($todos));
    $collection = ['count' => count($todos), 'projects' => count($user->profile['projects']), 'todos' => $todos];
    echo json_encode($collection);
    $app->response->headers->set('Content-Type', 'application/json');
});
/**
 * $id Todo Id
 * @var String
 */
$app->post('/api/todos/:id/', function ($id) use($app, $blueridge) {
    /**
     * @todo check fot xhr
     */
    $userid = $app->request()->params('user');
    $payload = $app->request()->params('payload');
    $userQr = $blueridge['documentManager']->getRepository('\\Blueridge\\Documents\\User');
    $user = $userQr->findOneById($userid);
    if (empty($user)) {
        $app->response()->status(404);
        return;
    }
    $todoQr = $blueridge['documentManager']->getRepository('\\Blueridge\\Documents\\Todo');
    $todo = $todoQr->findOneById($id);
    $basecampClient = new Basecamp($blueridge);
    $result = $basecampClient->updateTodo($user, $todo, $payload);
    if ($result == 200) {
        $blueridge['documentManager']->remove($todo);
        $blueridge['documentManager']->flush();
    }
    $app->response()->status($result);
});