Ejemplo n.º 1
0
 public static function queueBuild($id)
 {
     // If already queued, dont queue again
     if (self::find($id)->queued) {
         return;
     }
     \Eloquent::unguard();
     // Update queued flag
     self::find($id)->update(['queued' => 1]);
     $repo = \Apigenci\Model\Repo::find($id);
     \Queue::pushOn('low', new BuildDocuments($repo));
 }
Ejemplo n.º 2
0
    }
    \Apigenci\Model\Repo::queueBuild($id);
    \Apigenci\Model\Github::webhookRegister($id);
});
Route::post('repo/{id}/disable', function ($id) {
    $id = \Apigenci\Model::repoDecodeWeb($id);
    $repo = \Apigenci\Model\Repo::find($id);
    \Eloquent::unguard();
    $repo->update(['enabled' => 0, 'queued' => 0, 'failed' => 0, 'built' => 0]);
    \Queue::pushOn('low', new \App\Jobs\Apigenci\DeleteGeneratedHtml($repo));
});
Route::get('github/{owner}/{repo}', function ($owner, $repo) {
    return view('apigenci.github.invite', ['owner' => $owner, 'repo' => $repo]);
});
Route::get('github/{owner}/{repo}/tag/{tag}', function ($owner, $repo, $tag) {
    // Make sure repo exists, redirect to invite if not
    if (!\Apigenci\Model::localRepoExists($owner, $repo)) {
        return \Redirect::away("/github/{$owner}/{$repo}");
    }
    return view('apigenci.github.tag', ['owner' => $owner, 'repo' => $repo, 'tag' => $tag]);
});
Route::get('privacy', function () {
    return view('apigenci.privacy');
});
Route::any('webhook', function () {
    $raw = file_get_contents('php://input');
    $id = json_decode($raw)->repository->id;
    // Write a log entry
    \Log::info("[apigen.ci] Got a webhook for repo: {$id}");
    \Apigenci\Model\Repo::queueBuild($id);
});