# Task: Discord Job Checker System

## Planning
- [x] Explore project structure (models, controllers, migrations, routes)
- [x] Write implementation plan
- [ ] Get user approval

## Database
- [ ] Migration: `discord_role_configs` (role_pool - mapping Discord role_id → job)
- [ ] Migration: `discord_moderators` (whitelist moderator discord_id)

## Models
- [ ] `DiscordRoleConfig` model
- [ ] `DiscordModerator` model

## Artisan Command (Job Checker)
- [ ] `CheckDiscordJob` command → calls Discord API, maps role → job, updates `users_loket.job`

## Console Schedule
- [ ] Register command in [Kernel.php](file:///c:/laragon/www/satu_mimpi/loket/app/Http/Kernel.php) (e.g. every 5 minutes or every minute)

## Integration: After Profile Complete
- [ ] Trigger job check after `ProfileController::update()` saves profile

## Seeder / Config Data
- [ ] Seeder for `discord_role_configs` with initial data
- [ ] Seeder for `discord_moderators` with mod ID `816281110039625729`

## Web Admin (Moderator)
- [ ] Controller: `ModeratorController` - list/create/delete role configs & moderators
- [ ] Views: role config manager table, moderator manager table
- [ ] Routes: admin routes protected by moderator middleware
- [ ] Middleware: `IsModerator` - check if logged in user is in `discord_moderators`

## Verification
- [ ] Run migration + seeders
- [ ] Test artisan command manually
- [ ] Test profile complete flow triggers job update
