- 시더에서 recruiter 역할 및 할당 강제 삭제 로직 추가 - soft delete 레코드 포함 forceDelete 처리 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
65 lines
1.9 KiB
PHP
65 lines
1.9 KiB
PHP
<?php
|
|
|
|
namespace Database\Seeders;
|
|
|
|
use App\Models\Role;
|
|
use App\Models\UserRole;
|
|
use Illuminate\Database\Seeder;
|
|
|
|
class SalesRoleSeeder extends Seeder
|
|
{
|
|
/**
|
|
* 영업파트너 역할 시더
|
|
*
|
|
* 모든 영업 담당자는 "영업파트너"라는 동일한 직위
|
|
* 역할은 수행하는 업무를 정의
|
|
*/
|
|
public function run(): void
|
|
{
|
|
$tenantId = 1; // HQ 테넌트
|
|
|
|
$roles = [
|
|
[
|
|
'name' => 'sales',
|
|
'description' => '영업파트너 - 고객 발굴, 계약 체결',
|
|
],
|
|
[
|
|
'name' => 'manager',
|
|
'description' => '상담매니저 - 고객 상담, 인터뷰 정리',
|
|
],
|
|
];
|
|
|
|
foreach ($roles as $roleData) {
|
|
Role::updateOrCreate(
|
|
[
|
|
'tenant_id' => $tenantId,
|
|
'name' => $roleData['name'],
|
|
],
|
|
[
|
|
'description' => $roleData['description'],
|
|
'guard_name' => 'web',
|
|
]
|
|
);
|
|
}
|
|
|
|
// recruiter 역할 삭제 (더 이상 사용하지 않음)
|
|
$recruiterRole = Role::where('tenant_id', $tenantId)
|
|
->where('name', 'recruiter')
|
|
->first();
|
|
|
|
if ($recruiterRole) {
|
|
// 해당 역할을 가진 user_roles 강제 삭제 (soft delete 포함)
|
|
UserRole::withTrashed()
|
|
->where('role_id', $recruiterRole->id)
|
|
->forceDelete();
|
|
$this->command->info('recruiter 역할 할당이 삭제되었습니다.');
|
|
|
|
// 역할 강제 삭제
|
|
$recruiterRole->forceDelete();
|
|
$this->command->info('recruiter 역할이 삭제되었습니다.');
|
|
}
|
|
|
|
$this->command->info('영업파트너 역할이 생성되었습니다: sales, manager');
|
|
}
|
|
}
|