Skip to content

Commit

Permalink
Merge pull request #104 from RiwRiwara/main
Browse files Browse the repository at this point in the history
Update Production
  • Loading branch information
RiwRiwara authored Mar 7, 2024
2 parents c2d1ceb + 8556c11 commit 2cb5b88
Show file tree
Hide file tree
Showing 77 changed files with 2,099 additions and 654 deletions.
3 changes: 2 additions & 1 deletion app/Constants/Districts.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
namespace App\Constants;


class Districts{
class Districts
{

const DISTRICT = [
[
Expand Down
3 changes: 1 addition & 2 deletions app/Http/Controllers/Api/Auth/LoginUserController.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
class LoginUserController extends Controller
{
private LoginRequest $request;

public function __construct(LoginRequest $request)
{
$this->request = $request;
Expand Down Expand Up @@ -42,8 +43,6 @@ public function login(LoginRequest $request) : \Illuminate\Http\JsonResponse
], 401);
}
$user = auth()->user();
$user->tokens()->delete();

$token = $request->user()->createToken('authToken', ['role:participant'], now()->addDay());
return response()->json([
'message' => 'You have been logged in',
Expand Down
1 change: 1 addition & 0 deletions app/Http/Controllers/Api/Auth/RegisterUserController.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
class RegisterUserController extends Controller
{
private RegisterRequest $request;

public function __construct(RegisterRequest $request)
{
$this->request = $request;
Expand Down
37 changes: 37 additions & 0 deletions app/Http/Controllers/Api/User/GetUserByIdController.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
<?php

namespace App\Http\Controllers\Api\User;

use App\Http\Controllers\Controller;
use App\Http\Resources\UserResource;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Log;
use App\Models\User;

class GetUserByIdController extends Controller
{
public function __construct()
{
//
}

public function __invoke(Request $request)
{
return $this->getUserByID($request);
}

public function getUserByID(string $user_id)
{
$user = User::where('user_id', $user_id)->first();
if ($user) {
return response()->json([
'message' => 'User found',
'user' => new UserResource($user)
], 200);
} else {
return response()->json([
'message' => 'User not found'
], 404);
}
}
}
39 changes: 39 additions & 0 deletions app/Http/Controllers/Api/User/UpdateByFieldsName.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
<?php

namespace App\Http\Controllers\Api\User;

use App\Http\Controllers\Controller;
use App\Http\Resources\UserResource;
use Illuminate\Http\Request;
use App\Models\User;

class UpdateByFieldsName extends Controller
{
public function __construct()
{
//
}
public function __invoke(Request $request)
{
return $this->updateByFieldsName($request);
}

public function updateByFieldsName(Request $request)
{
$user = User::where('user_id', $request->user_id)->first();

if ($user) {

$user->update($request->all());
return response()->json([
'message' => 'User updated',
'user' => new UserResource($user)
], 200);

} else {
return response()->json([
'message' => 'User not found'
], 404);
}
}
}
66 changes: 66 additions & 0 deletions app/Http/Controllers/Api/User/UploadUserProfileController.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
<?php

namespace App\Http\Controllers\Api\User;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;
use Intervention\Image\Laravel\Facades\Image;
use App\Models\User;
use App\Services\AzureBlobService;


class UploadUserProfileController extends Controller
{

public function __construct()
{
//
}
public function __invoke(Request $request)
{
}

public function uploadUserProfile(Request $request)
{
try {
$image_tmp = json_decode($request->input('image'), true);
} catch (\Exception $e) {
toastr()->addError('Error uploading image');
return redirect()->back();
}
try {
$path = Storage::path($image_tmp['path']);
$image = Image::read($path)->toWebp();

$blobService = new AzureBlobService();
$containerName = 'testprofileimgs';
$blobName = auth()->user()->user_id . '_' . now() . '.webp';

$decodeImage = base64_decode(preg_replace('#^data:image/\w+;base64,#i', '', $image->toDataUri()));

$blobService->uploadBlob($containerName, $blobName, $decodeImage, $image->mediaType());

// delete temp image
Storage::deleteDirectory('tmp');

// delete old image
$blobService->deleteBlob($containerName, auth()->user()->profile_img);

// update User profile image
$user = User::where('user_id', auth()->user()->user_id)->first();
$user->profile_img = $blobName;
$user->save();


return response()->json([
'message' => 'Profile image uploaded',
'user' => $user
], 200);
} catch (\Exception $e) {
return response()->json([
'message' => 'Error uploading image', 'error' => $e->getMessage()
], 500);
}
}
}
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
<?php

namespace App\Http\Controllers\Api\Auth;
namespace App\Http\Controllers\Api\User;

use App\Http\Controllers\Controller;
use App\Models\User;
use App\Http\Resources\UserResource;
use Illuminate\Http\Request;


class UserController extends Controller
{

Expand All @@ -25,18 +26,7 @@ class UserController extends Controller
*/
public function getUserByID(string $user_id)
{
try {
$user = User::where('user_id', $user_id)->firstOrFail();
return response()->json([
'message' => 'User retrieved successfully',
'user' => new UserResource($user)
], 200);
} catch (\Exception $e) {
return response()->json([
'message' => 'User not found'
], 404);
}

return (new getUserByIdController())->getUserByID($user_id);
}

/**
Expand All @@ -51,25 +41,21 @@ public function getUserByID(string $user_id)
*/
public function updateByFieldsName(Request $request)
{

$request->validate([
'updateFields.first_name' => 'string',
'updateFields.another_fields' => '',
]);

try {
$user = $request->user();
$user->update($request->updateFields);
return response()->json([
'message' => 'User updated successfully',
'user' => new UserResource($user)
], 200);
} catch (\Exception $e) {
return response()->json([
'message' => 'User not found'
], 404);
}
return (new UpdateByFieldsName())->updateByFieldsName($request);
}

/**
* Upload user profile [T]
*
* Uploads a user's profile image to the server and returns the updated user object.
*
* อัปโหลดรูปภาพโปรไฟล์ของผู้ใช้ไปยังเซิร์ฟเวอร์และส่งคืนอ็อบเจ็กต์ผู้ใช้ที่อัปเดตแล้ว
*
* @param \Illuminate\Http\Request $request The incoming request object.
* @return \Illuminate\Http\JsonResponse
*/
public function uploadUserProfile(Request $request)
{
return (new UploadUserProfileController())->uploadUserProfile($request);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ public function store(LoginRequest $request): RedirectResponse
{
$request->authenticate();
$request->session()->regenerate();
toastr()->addSuccess(__('success.success_login'));
return redirect()->intended(RouteServiceProvider::HOME);
}

Expand Down
4 changes: 2 additions & 2 deletions app/Http/Controllers/Auth/RegisteredUserController.php
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ class RegisteredUserController extends Controller
*/
public function create(): View
{
$FORM_DATA_ITEMS = [
$page_data = [
'provinces' => Provinces::provinces(),
'districts' => Cities::cities(),
'cities' => Districts::districts(),
Expand All @@ -40,7 +40,7 @@ public function create(): View
];


return view('guest.register', compact('FORM_DATA_ITEMS', 'breadcrumbItems'));
return view('guest.register', compact('page_data', 'breadcrumbItems'));
}


Expand Down
22 changes: 22 additions & 0 deletions app/Http/Controllers/Event/CreateEvent/CreateEventController.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<?php

namespace App\Http\Controllers\Event\CreateEvent;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;

class CreateEventController extends Controller
{
public function __invoke(Request $request)
{
$page_data = [
'breadcrumbItems' => [
['label' => 'Events', 'url' => route('create-event')],
['label' => 'Create Eevnt'],
],
'event_types' => \App\Models\EventType::all(),
'badge_types' => \App\Models\Badge::all(),
];
return view('logged_in.create_event', compact('page_data'),);
}
}
21 changes: 21 additions & 0 deletions app/Http/Controllers/Event/EventList/EventListController.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<?php

namespace App\Http\Controllers\Event\EventList;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;

class EventListController extends Controller
{
public function __invoke(Request $request)
{
$page_data = [
'breadcrumbItems' => [
['label' => 'Events', 'url' => route('create-event')],
['label' => 'Create Event'],
]
];

return view('logged_in.event-list', compact('page_data'));
}
}
16 changes: 12 additions & 4 deletions app/Http/Controllers/ProfileController.php
Original file line number Diff line number Diff line change
Expand Up @@ -36,12 +36,20 @@ public function myProfileDetail(Request $request): View
$user->gender = Gender::getGenderById($user->gender);
$user->date_of_birth = (new Time($user->date_of_birth, $isThai))->getDateBirthObject();

$breadcrumbItems = [
['label' => 'Dashboard', 'url' => route('dashboard')],
['label' => 'My Profile'],
$page_data = [
'isThai' => $isThai,
'provinces' => Provinces::provinces(),
'districts' => Cities::cities(),
'cities' => Districts::districts(),
'gender' => Gender::gender(),
'breadcrumbItems' => [
['label' => 'Dashboard', 'url' => route('dashboard')],
['label' => 'My Profile'],
]

];

return view('profile.profilePage', compact('user', 'isThai', 'breadcrumbItems'));
return view('profile.profilePage', compact('user', 'page_data'));
}


Expand Down
42 changes: 0 additions & 42 deletions app/Http/Controllers/Tools/UploadImageController.php

This file was deleted.

Loading

0 comments on commit 2cb5b88

Please sign in to comment.