diff --git a/app/Services/RegisterService.php b/app/Services/RegisterService.php index 480d625..9e22a4a 100644 --- a/app/Services/RegisterService.php +++ b/app/Services/RegisterService.php @@ -3,14 +3,11 @@ namespace App\Services; use App\Helpers\TenantCodeGenerator; -use App\Models\Commons\Menu; use App\Models\Members\User; use App\Models\Tenants\Tenant; use App\Models\Tenants\TenantUserProfile; -use App\Services\TenantBootstrap\RecipeRegistry; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Hash; -use Spatie\Permission\Models\Permission; use Spatie\Permission\Models\Role; use Spatie\Permission\PermissionRegistrar; @@ -51,10 +48,6 @@ public static function register(array $params): array ], ]); - // 2. Bootstrap tenant (STANDARD recipe: CapabilityProfiles, Categories, Menus, Settings) - // This will create all necessary menus via MenusStep - app(RecipeRegistry::class)->bootstrap($tenant->id, 'STANDARD'); - // 3. Create User with hashed password and options $user = User::create([ 'user_id' => $params['user_id'], @@ -76,11 +69,10 @@ public static function register(array $params): array ]); // 5. Set tenant context for permissions - // This is critical for Spatie permissions to work correctly app()->bind('tenant_id', fn () => $tenant->id); app(PermissionRegistrar::class)->setPermissionsTeamId($tenant->id); - // 6. Create 'system_manager' role + // 6. Create 'system_manager' role (without menu permissions for now) $role = Role::create([ 'tenant_id' => $tenant->id, 'guard_name' => 'api', @@ -88,31 +80,10 @@ public static function register(array $params): array 'description' => '시스템 관리자', ]); - // 7. Get all tenant menus (after bootstrap) - $menuIds = Menu::where('tenant_id', $tenant->id)->pluck('id'); - - // 8. Create permissions for each menu and assign to role - $permissions = []; - foreach ($menuIds as $menuId) { - $permName = "menu.{$menuId}"; - - // Use firstOrCreate to avoid duplicate permission errors - $perm = Permission::firstOrCreate([ - 'tenant_id' => $tenant->id, - 'guard_name' => 'api', - 'name' => $permName, - ]); - - $permissions[] = $perm; - } - - // 9. Assign all menu permissions to system_manager role - $role->syncPermissions($permissions); - - // 10. Assign system_manager role to user + // 7. Assign system_manager role to user $user->assignRole($role); - // 11. Return user and tenant data + // 8. Return user and tenant data return [ 'user' => [ 'id' => $user->id,