mirror of
https://github.com/openclassify/openclassify.git
synced 2026-04-14 11:12:09 -05:00
- Fix CI workflow: actions/checkout@v6 → v4
- Install FilamentPHP ^5.0 and spatie/laravel-permission ^7.2
- Remove laravel/breeze from require-dev (replaced by Filament auth)
- Update User model: implements FilamentUser, HasTenants, HasRoles
- Publish Spatie permission migrations for role-based access
- Create Admin module with FilamentPHP panel at /admin
- UserResource, CategoryResource, ListingResource, LocationResource
- Role-based access (admin role required)
- Create Partner module with tenant-isolated panel at /partner/{id}
- ListingResource scoped to authenticated user
- Update modules_statuses.json: add Admin and Partner modules
- Update DatabaseSeeder: create admin/partner users with roles
- Improve seeders: LocationSeeder (10 countries), CategorySeeder (8 categories with children), ListingSeeder (10 sample listings)
- Add Docker support: Dockerfile, docker-compose.yml, docker-compose.dev.yml
- Add GitHub Codespaces: .devcontainer/devcontainer.json
- Update .env.example with Filament-relevant settings
- Update README.md with full documentation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
46 lines
1.7 KiB
PHP
46 lines
1.7 KiB
PHP
<?php
|
|
namespace Modules\Location\Database\Seeders;
|
|
|
|
use Illuminate\Database\Seeder;
|
|
use Modules\Location\Models\City;
|
|
use Modules\Location\Models\Country;
|
|
|
|
class LocationSeeder extends Seeder
|
|
{
|
|
public function run(): void
|
|
{
|
|
$countries = [
|
|
['name' => 'Turkey', 'code' => 'TR', 'phone_code' => '+90'],
|
|
['name' => 'United States', 'code' => 'US', 'phone_code' => '+1'],
|
|
['name' => 'Germany', 'code' => 'DE', 'phone_code' => '+49'],
|
|
['name' => 'France', 'code' => 'FR', 'phone_code' => '+33'],
|
|
['name' => 'United Kingdom', 'code' => 'GB', 'phone_code' => '+44'],
|
|
['name' => 'Spain', 'code' => 'ES', 'phone_code' => '+34'],
|
|
['name' => 'Italy', 'code' => 'IT', 'phone_code' => '+39'],
|
|
['name' => 'Russia', 'code' => 'RU', 'phone_code' => '+7'],
|
|
['name' => 'China', 'code' => 'CN', 'phone_code' => '+86'],
|
|
['name' => 'Japan', 'code' => 'JP', 'phone_code' => '+81'],
|
|
];
|
|
|
|
foreach ($countries as $country) {
|
|
Country::firstOrCreate(['code' => $country['code']], array_merge($country, ['is_active' => true]));
|
|
}
|
|
|
|
$tr = Country::where('code', 'TR')->first();
|
|
if ($tr) {
|
|
$cities = ['Istanbul', 'Ankara', 'Izmir', 'Bursa', 'Antalya'];
|
|
foreach ($cities as $city) {
|
|
City::firstOrCreate(['name' => $city, 'country_id' => $tr->id]);
|
|
}
|
|
}
|
|
|
|
$us = Country::where('code', 'US')->first();
|
|
if ($us) {
|
|
$cities = ['New York', 'Los Angeles', 'Chicago', 'Houston', 'Phoenix'];
|
|
foreach ($cities as $city) {
|
|
City::firstOrCreate(['name' => $city, 'country_id' => $us->id]);
|
|
}
|
|
}
|
|
}
|
|
}
|