Example #1
0
 */
use Locust\Models\Issue;
use Locust\Models\Status;
// -----------------------------------------------------------------------------
// Issues
get('/issues', function () {
    $issues = Issue::all();
    echo json_encode($issues);
});
// Create issue
post('/issues', function () {
    // Check if logged in
    if (!currentUser()) {
        return http_response_code(401);
    }
    $status = Status::find(ng('status_id'));
    $data = ['summary' => ng('summary'), 'description' => ng('description'), 'version_id' => ng('version_id'), 'user_id' => currentUser()['id'], 'status_id' => $status->id, 'is_closed' => $status->is_closed];
    $issue = new Issue($data);
    if ($issue->save()) {
        echo json_encode($issue);
    } else {
        http_response_code(400);
        echo json_encode($issue->errors());
    }
});
// Delete issue
delete('/issues/(\\d+)', function ($id) {
    // Check if logged in and is admin
    if (!currentUser() || currentUser()['role'] != 'admin') {
        return http_response_code(currentUser() ? 401 : 403);
    }