69 lines
1.6 KiB
PHP
69 lines
1.6 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Api\V2;
|
|
|
|
use App\Http\Resources\V2\UserCollection;
|
|
use App\Models\User;
|
|
use Illuminate\Http\Request;
|
|
|
|
use Laravel\Sanctum\PersonalAccessToken;
|
|
|
|
|
|
class UserController extends Controller
|
|
{
|
|
public function info($id)
|
|
{
|
|
return new UserCollection(User::where('id', auth()->user()->id)->get());
|
|
}
|
|
|
|
public function updateName(Request $request)
|
|
{
|
|
$user = User::findOrFail($request->user_id);
|
|
$user->update([
|
|
'name' => $request->name
|
|
]);
|
|
return response()->json([
|
|
'message' => translate('Profile information has been updated successfully')
|
|
]);
|
|
}
|
|
|
|
public function getUserInfoByAccessToken(Request $request)
|
|
{
|
|
|
|
$false_response = [
|
|
'result' => false,
|
|
'id' => 0,
|
|
'name' => "",
|
|
'email' => "",
|
|
'avatar' => "",
|
|
'avatar_original' => "",
|
|
'phone' => ""
|
|
];
|
|
|
|
|
|
|
|
$token = PersonalAccessToken::findToken($request->access_token);
|
|
if (!$token) {
|
|
return response()->json($false_response);
|
|
}
|
|
|
|
$user = $token->tokenable;
|
|
|
|
|
|
|
|
if ($user == null) {
|
|
return response()->json($false_response);
|
|
}
|
|
|
|
return response()->json([
|
|
'result' => true,
|
|
'id' => $user->id,
|
|
'name' => $user->name,
|
|
'email' => $user->email,
|
|
'avatar' => $user->avatar,
|
|
'avatar_original' => uploaded_asset($user->avatar_original),
|
|
'phone' => $user->phone
|
|
]);
|
|
}
|
|
}
|