phase 1 and 2
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Seeders;
|
||||
|
||||
use App\Models\JobSource;
|
||||
use Illuminate\Database\Seeder;
|
||||
|
||||
class JobSourceSeeder extends Seeder
|
||||
{
|
||||
/**
|
||||
* Run the database seeds.
|
||||
*/
|
||||
public function run(): void
|
||||
{
|
||||
$sources = [
|
||||
[
|
||||
'name' => 'Remotive',
|
||||
'api_url' => 'https://remotive.com/api',
|
||||
'api_key' => null, // No API key required
|
||||
'is_active' => true,
|
||||
'rate_limit' => 60, // requests per hour
|
||||
'configuration' => [
|
||||
'description' => 'Remote jobs API - Free, no authentication required',
|
||||
'docs' => 'https://remotive.com/api-documentation',
|
||||
],
|
||||
],
|
||||
[
|
||||
'name' => 'The Muse',
|
||||
'api_url' => 'https://www.themuse.com/api/public',
|
||||
'api_key' => null, // Optional API key for higher limits
|
||||
'is_active' => true,
|
||||
'rate_limit' => 100, // requests per hour
|
||||
'configuration' => [
|
||||
'description' => 'The Muse job board API - Free tier available',
|
||||
'docs' => 'https://www.themuse.com/developers/api/v2',
|
||||
],
|
||||
],
|
||||
[
|
||||
'name' => 'Adzuna',
|
||||
'api_url' => 'https://api.adzuna.com/v1/api/jobs',
|
||||
'api_key' => env('ADZUNA_API_KEY'), // Format: app_id:app_key
|
||||
'is_active' => env('ADZUNA_API_KEY') ? true : false,
|
||||
'rate_limit' => 100, // requests per hour
|
||||
'configuration' => [
|
||||
'country' => 'us',
|
||||
'description' => 'Adzuna job search API - Requires free API key',
|
||||
'docs' => 'https://developer.adzuna.com/overview',
|
||||
'signup' => 'https://developer.adzuna.com/signup',
|
||||
],
|
||||
],
|
||||
];
|
||||
|
||||
foreach ($sources as $source) {
|
||||
JobSource::updateOrCreate(
|
||||
['name' => $source['name']],
|
||||
$source
|
||||
);
|
||||
}
|
||||
|
||||
$this->command->info('Job sources seeded successfully!');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user