fix : Member 모델에서 User 모델로 변경

This commit is contained in:
2025-07-26 14:23:13 +09:00
parent 94dac2e059
commit 8a4a7c9508
6 changed files with 35 additions and 35 deletions

View File

@@ -2,7 +2,7 @@
namespace App\Http\Controllers\Api\V1;
use App\Models\Member;
use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Str;
@@ -73,7 +73,7 @@ public function login(Request $request)
}
$user = Member::where('mb_id', $userId)->first();
$user = User::where('user_id', $userId)->first();
if (!$user) {
return response()->json(['error' => '사용자를 찾을 수 없습니다.'], 404);
@@ -81,12 +81,12 @@ public function login(Request $request)
$isValid = false;
if (Str::startsWith($user->mb_pass, '$2y$')) {
if (Str::startsWith($user->password, '$2y$')) {
// bcrypt로 해싱된 경우
$isValid = Hash::check($userPwd, $user->mb_pass);
$isValid = Hash::check($userPwd, $user->password);
} else {
// sha256으로 해싱된 경우
$isValid = strtoupper(hash('sha256', $userPwd)) === strtoupper($user->mb_pass);
$isValid = strtoupper(hash('sha256', $userPwd)) === strtoupper($user->password);
}
if (!$isValid) {
@@ -126,7 +126,7 @@ public function logout(Request $request)
$token = $request->header('X-API-KEY'); // 또는 Authorization 헤더
// 회원 테이블에서 해당 토큰으로 유저 찾기
$user = Member::where('remember_token', $token)->first();
$user = User::where('remember_token', $token)->first();
if ($user) {
$user->remember_token = null;

View File

@@ -5,7 +5,7 @@
use Closure;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use App\Models\Member;
use App\Models\User;
use Illuminate\Support\Facades\Log;
use Laravel\Sanctum\PersonalAccessToken;
@@ -44,7 +44,7 @@ public function handle(Request $request, Closure $next)
$user = [];
if($token = $request->bearerToken()) {
$accessToken = PersonalAccessToken::findToken($token);
if ($accessToken && $accessToken->tokenable instanceof Member) {
if ($accessToken && $accessToken->tokenable instanceof User) {
$user = $accessToken->tokenable;
if ($user) {

View File

@@ -2,23 +2,31 @@
namespace App\Models;
use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use Laravel\Fortify\TwoFactorAuthenticatable;
use Laravel\Sanctum\HasApiTokens;
use App\Traits\ModelTrait;
class User extends Authenticatable
{
use HasApiTokens, Notifiable, TwoFactorAuthenticatable, SoftDeletes;
use HasApiTokens, Notifiable, TwoFactorAuthenticatable, SoftDeletes, ModelTrait;
protected $hidden = [
'password', 'remember_token',
'two_factor_secret', 'two_factor_recovery_codes', 'two_factor_confirmed_at'
];
public function userTenants()
{
return $this->hasMany(UserTenant::class);
}
public function tenants()
public function userTenant() // 단일 기본 테넌트
{
return $this->belongsToMany(Tenant::class, 'user_tenants');
// 예시: 첫 번째(기본) 테넌트 반환
return $this->hasOne(UserTenant::class)->where('is_active', 1);
}
public function userRoles()
@@ -31,4 +39,9 @@ public function roles()
return $this->belongsToMany(Role::class, 'user_roles')
->withPivot('tenant_id', 'assigned_at');
}
public function userTenantById($tenantId)
{
return $this->hasOne(UserTenant::class)->where('tenant_id', $tenantId);
}
}

View File

@@ -4,10 +4,12 @@
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use App\Traits\ModelTrait;
use App\Traits\BelongsToTenant;
class UserTenant extends Model
{
use SoftDeletes;
use SoftDeletes, ModelTrait, BelongsToTenant;
protected $fillable = [
'user_id', 'tenant_id', 'is_active', 'joined_at', 'left_at'

View File

@@ -3,8 +3,7 @@
namespace App\Services;
use App\Helpers\ApiResponse;
use App\Models\Member;
use App\Models\MemberCompany;
use App\Models\User;
use Illuminate\Support\Facades\DB;
class MemberService
@@ -27,10 +26,10 @@ public static function getMembers(string $userToken, bool $debug = false)
*/
public static function getMember(int $userNo, bool $debug = false)
{
$query = Member::where('mb_num', $userNo);
return ApiResponse::response('first', $query, $debug);
$query = User::whereHas('userTenants', function($q) {
$q->active();
})->where('id', $userNo);
return ApiResponse::response('first', $query);
}
@@ -40,8 +39,9 @@ public static function getMember(int $userNo, bool $debug = false)
public static function getMyInfo($request, bool $debug = false)
{
$member = $request->user();
$company = MemberCompany::where('mc_num',$member->tn_num)->first();
$apiUser = app('api_user');
$user = User::find($apiUser);
$data=[
'member' => $member,
'company' => $company

View File

@@ -3,9 +3,7 @@
namespace App\Services;
use App\Helpers\ApiResponse;
use App\Models\MemberCompany;
use App\Models\Products\CommonCode;
use Illuminate\Support\Facades\DB;
class ProductService
{
@@ -20,18 +18,5 @@ public static function getCategory(string $userToken, bool $debug = false)
return ApiResponse::response('get', $query, true);
}
public static function getMyInfo($request, bool $debug = false)
{
$member = $request->user();
$company = MemberCompany::where('mc_num',$member->tn_num)->first();
$data=[
'member' => $member,
'company' => $company
];
return ApiResponse::response('result', $data, $debug);
}
}