57 lines
1.2 KiB
PHP
57 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Api;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Http\Resources\UrlCollection;
|
|
use App\Http\Resources\UrlHistoryCollection;
|
|
use App\Http\Resources\UrlResource;
|
|
use App\Http\Resources\UrlStatsCollection;
|
|
use App\Models\Url;
|
|
use Illuminate\Http\Request;
|
|
|
|
class UrlController extends Controller
|
|
{
|
|
/**
|
|
* Returns a listing of the urls.
|
|
*
|
|
* @return \Illuminate\Http\Response
|
|
*/
|
|
public function index()
|
|
{
|
|
return new UrlCollection(Url::paginate(25));
|
|
}
|
|
|
|
/**
|
|
* Returns the specified url.
|
|
*
|
|
* @param Url $url
|
|
* @return \Illuminate\Http\Response
|
|
*/
|
|
public function show(Url $url)
|
|
{
|
|
return new UrlResource($url);
|
|
}
|
|
|
|
/**
|
|
* Returns the history for a given url.
|
|
*
|
|
* @param Url $url
|
|
* @return \Illuminate\Http\Response
|
|
*/
|
|
public function getHistory(Url $url)
|
|
{
|
|
return new UrlHistoryCollection($url->history);
|
|
}
|
|
|
|
/**
|
|
* Returns the stats for the given url.
|
|
*
|
|
* @param Url $url
|
|
* @return \Illuminate\Http\Response
|
|
*/
|
|
public function getstats(Url $url)
|
|
{
|
|
return new UrlStatsCollection($url->stats);
|
|
}
|
|
}
|