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

View File

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

View File

@@ -2,23 +2,31 @@
namespace App\Models; namespace App\Models;
use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable; use Illuminate\Notifications\Notifiable;
use Laravel\Fortify\TwoFactorAuthenticatable; use Laravel\Fortify\TwoFactorAuthenticatable;
use Laravel\Sanctum\HasApiTokens; use Laravel\Sanctum\HasApiTokens;
use App\Traits\ModelTrait;
class User extends Authenticatable 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() public function userTenants()
{ {
return $this->hasMany(UserTenant::class); 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() public function userRoles()
@@ -31,4 +39,9 @@ public function roles()
return $this->belongsToMany(Role::class, 'user_roles') return $this->belongsToMany(Role::class, 'user_roles')
->withPivot('tenant_id', 'assigned_at'); ->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\Model;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
use App\Traits\ModelTrait;
use App\Traits\BelongsToTenant;
class UserTenant extends Model class UserTenant extends Model
{ {
use SoftDeletes; use SoftDeletes, ModelTrait, BelongsToTenant;
protected $fillable = [ protected $fillable = [
'user_id', 'tenant_id', 'is_active', 'joined_at', 'left_at' 'user_id', 'tenant_id', 'is_active', 'joined_at', 'left_at'

View File

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

View File

@@ -3,9 +3,7 @@
namespace App\Services; namespace App\Services;
use App\Helpers\ApiResponse; use App\Helpers\ApiResponse;
use App\Models\MemberCompany;
use App\Models\Products\CommonCode; use App\Models\Products\CommonCode;
use Illuminate\Support\Facades\DB;
class ProductService class ProductService
{ {
@@ -20,18 +18,5 @@ public static function getCategory(string $userToken, bool $debug = false)
return ApiResponse::response('get', $query, true); 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);
}
} }