Added table to users page
This commit is contained in:
parent
d9a5ab53e5
commit
c6f0058d62
|
@ -48,7 +48,7 @@ class ShortlinkController extends Controller
|
||||||
|
|
||||||
public static function goto(Request $request, $id) {
|
public static function goto(Request $request, $id) {
|
||||||
try {
|
try {
|
||||||
$shortlink = (new Shortlink())->get($id);
|
$shortlink = Shortlink::where('shortid', $id)->first();
|
||||||
// check if the link is expired or if it has reached the max clicks
|
// check if the link is expired or if it has reached the max clicks
|
||||||
if ($shortlink->expires_at != null && strtotime($shortlink->expires_at) < time()) {
|
if ($shortlink->expires_at != null && strtotime($shortlink->expires_at) < time()) {
|
||||||
return response()->json(['error' => 'This link has expired'], 404);
|
return response()->json(['error' => 'This link has expired'], 404);
|
||||||
|
@ -69,7 +69,7 @@ class ShortlinkController extends Controller
|
||||||
|
|
||||||
public function getDetails(Request $request, $id) {
|
public function getDetails(Request $request, $id) {
|
||||||
try {
|
try {
|
||||||
$shortlink = (new Shortlink())->get($id);
|
$shortlink = Shortlink::where('shortid', $id)->first();
|
||||||
if ($shortlink->user_id != auth()->id()) {
|
if ($shortlink->user_id != auth()->id()) {
|
||||||
return response()->json(['error' => 'Unauthorized'], 401);
|
return response()->json(['error' => 'Unauthorized'], 401);
|
||||||
}
|
}
|
||||||
|
@ -82,7 +82,7 @@ class ShortlinkController extends Controller
|
||||||
|
|
||||||
public function update(Request $request, $id) {
|
public function update(Request $request, $id) {
|
||||||
try {
|
try {
|
||||||
$shortlink = (new Shortlink())->get($id);
|
$shortlink = Shortlink::where('shortid', $id)->first();
|
||||||
if ($shortlink->user_id != auth()->id()) {
|
if ($shortlink->user_id != auth()->id()) {
|
||||||
return response()->json(['error' => 'Unauthorized'], 401);
|
return response()->json(['error' => 'Unauthorized'], 401);
|
||||||
}
|
}
|
||||||
|
@ -110,11 +110,19 @@ class ShortlinkController extends Controller
|
||||||
|
|
||||||
public function delete(Request $request, $id) {
|
public function delete(Request $request, $id) {
|
||||||
try {
|
try {
|
||||||
$shortlink = (new Shortlink())->get($id);
|
$shortlink = Shortlink::where('shortid', $id)->first();
|
||||||
$shortlink->delete();
|
$shortlink->delete();
|
||||||
return redirect('profile');
|
return redirect('profile');
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
return response()->json(['error' => $e->getMessage()], 404);
|
return response()->json(['error' => $e->getMessage()], 404);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getLinksByUser(Request $request) {
|
||||||
|
if (auth()->user() == null) {
|
||||||
|
return redirect('home');
|
||||||
|
}
|
||||||
|
$shortlinks = Shortlink::where('user_id', auth()->id())->get();
|
||||||
|
return view('profile', ['shortlinks' => $shortlinks]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,14 +30,6 @@ class Shortlink extends Model
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function get(string $id): Shortlink {
|
|
||||||
$shortlink = Shortlink::where('shortid', $id)->first();
|
|
||||||
if ($shortlink == null) {
|
|
||||||
throw new \Exception('This shortened link does not exist');
|
|
||||||
}
|
|
||||||
return $shortlink;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function delete(): void {
|
public function delete(): void {
|
||||||
Shortlink::where('shortid', $this->id)->delete();
|
Shortlink::where('shortid', $this->id)->delete();
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,4 +9,18 @@
|
||||||
<p>Username: <em>{{ Auth::user()->name }}</em></p>
|
<p>Username: <em>{{ Auth::user()->name }}</em></p>
|
||||||
<p>Email: <em>{{ Auth::user()->email }}</em></p>
|
<p>Email: <em>{{ Auth::user()->email }}</em></p>
|
||||||
<p>Created at: <em>{{ Auth::user()->created_at }}</em></p>
|
<p>Created at: <em>{{ Auth::user()->created_at }}</em></p>
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<th>Link</th>
|
||||||
|
<th>Destination</th>
|
||||||
|
<th>Created at</th>
|
||||||
|
</tr>
|
||||||
|
@foreach ($shortlinks as $shortlink)
|
||||||
|
<tr>
|
||||||
|
<td>{{ $shortlink['shortid'] }}</td>
|
||||||
|
<td>{{ $shortlink['destination'] }}</td>
|
||||||
|
<td>{{ $shortlink['created_at'] }}</td>
|
||||||
|
</tr>
|
||||||
|
@endforeach
|
||||||
|
</table>
|
||||||
@endsection
|
@endsection
|
|
@ -33,12 +33,7 @@ Route::get('/logout', function () {
|
||||||
return redirect('home');
|
return redirect('home');
|
||||||
});
|
});
|
||||||
|
|
||||||
Route::get('/profile', function () {
|
Route::get('/profile', [ShortlinkController::class, 'getLinksByUser']);
|
||||||
if (!auth()->check()) {
|
|
||||||
return redirect('home');
|
|
||||||
}
|
|
||||||
return view('profile');
|
|
||||||
});
|
|
||||||
|
|
||||||
Route::get('/home', function () {
|
Route::get('/home', function () {
|
||||||
if (!auth()->check()) {
|
if (!auth()->check()) {
|
||||||
|
@ -49,7 +44,7 @@ Route::get('/home', function () {
|
||||||
|
|
||||||
Route::post('/shorten', [ShortlinkController::class, 'create']);
|
Route::post('/shorten', [ShortlinkController::class, 'create']);
|
||||||
|
|
||||||
Route::get('/l/{id}/details', [Link_interactionController::class, 'getCountryArray']);
|
Route::post('/l/{id}/update', [ShortlinkController::class, 'update']);
|
||||||
|
|
||||||
Route::get('/l/{id}', [ShortlinkController::class, 'getDetails']);
|
Route::get('/l/{id}', [ShortlinkController::class, 'getDetails']);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue