feat(ui): list sqlite databases in dashboard, project and destination views

This commit is contained in:
peaklabs-dev
2026-09-24 19:03:43 +02:00
parent b112927000
commit f9d93eb7d4
8 changed files with 24 additions and 5 deletions
+1
View File
@@ -33,6 +33,7 @@ class Dashboard extends Component
'mongodbs',
'mysqls',
'mariadbs',
'sqlites',
])
->get();
}
+4 -2
View File
@@ -14,6 +14,7 @@ use App\Models\StandaloneMongodb;
use App\Models\StandaloneMysql;
use App\Models\StandalonePostgresql;
use App\Models\StandaloneRedis;
use App\Models\StandaloneSqlite;
use Illuminate\Contracts\View\View;
use Livewire\Attributes\Locked;
use Livewire\Component;
@@ -61,11 +62,12 @@ class Resources extends Component
$this->destination->keydbs,
$this->destination->dragonflies,
$this->destination->clickhouses,
$this->destination->sqlites,
]);
}
/**
* @param array<int, iterable<Application|Service|StandalonePostgresql|StandaloneRedis|StandaloneMongodb|StandaloneMysql|StandaloneMariadb|StandaloneKeydb|StandaloneDragonfly|StandaloneClickhouse>> $groups
* @param array<int, iterable<Application|Service|StandalonePostgresql|StandaloneRedis|StandaloneMongodb|StandaloneMysql|StandaloneMariadb|StandaloneKeydb|StandaloneDragonfly|StandaloneClickhouse|StandaloneSqlite>> $groups
* @return array<int, array{uuid:string,type:string,name:string,project:string|null,environment:string|null,url:string|null,search:string}>
*/
protected function collectResources(array $groups): array
@@ -81,7 +83,7 @@ class Resources extends Component
}
/**
* @param Application|Service|StandalonePostgresql|StandaloneRedis|StandaloneMongodb|StandaloneMysql|StandaloneMariadb|StandaloneKeydb|StandaloneDragonfly|StandaloneClickhouse $resource
* @param Application|Service|StandalonePostgresql|StandaloneRedis|StandaloneMongodb|StandaloneMysql|StandaloneMariadb|StandaloneKeydb|StandaloneDragonfly|StandaloneClickhouse|StandaloneSqlite $resource
* @return array{uuid:string,type:string,name:string,project:string|null,environment:string|null,url:string|null,search:string}
*/
protected function resourceRow(BaseModel $resource): array
+2
View File
@@ -27,6 +27,7 @@ class Index extends Component
'mongodbs',
'mysqls',
'mariadbs',
'sqlites',
])
->get();
}
@@ -47,6 +48,7 @@ class Index extends Component
$project->mongodbs_count,
$project->mysqls_count,
$project->mariadbs_count,
$project->sqlites_count,
])->sum();
return [
+8 -1
View File
@@ -37,11 +37,13 @@ class Index extends Component
protected Collection $clickhouses;
protected Collection $sqlites;
protected Collection $services;
public function mount(): void
{
$this->applications = $this->postgresqls = $this->redis = $this->mongodbs = $this->mysqls = $this->mariadbs = $this->keydbs = $this->dragonflies = $this->clickhouses = $this->services = collect();
$this->applications = $this->postgresqls = $this->redis = $this->mongodbs = $this->mysqls = $this->mariadbs = $this->keydbs = $this->dragonflies = $this->clickhouses = $this->sqlites = $this->services = collect();
$this->parameters = get_route_parameters();
$project = currentTeam()
->projects()
@@ -68,6 +70,7 @@ class Index extends Component
'keydbs:id,uuid,name,environment_id',
'dragonflies:id,uuid,name,environment_id',
'clickhouses:id,uuid,name,environment_id',
'sqlites:id,uuid,name,environment_id',
];
$this->allEnvironments = $project->environments()
@@ -85,6 +88,7 @@ class Index extends Component
'clickhouses',
'mariadbs',
'mongodbs',
'sqlites',
'services',
]);
@@ -117,6 +121,7 @@ class Index extends Component
'keydbs' => 'keydbs',
'dragonflies' => 'dragonflies',
'clickhouses' => 'clickhouses',
'sqlites' => 'sqlites',
];
foreach ($databaseTypes as $property => $relation) {
@@ -163,6 +168,7 @@ class Index extends Component
'keydbs' => $this->keydbs,
'dragonflies' => $this->dragonflies,
'clickhouses' => $this->clickhouses,
'sqlites' => $this->sqlites,
'services' => $this->services,
'applicationsJs' => $this->toSearchableArray($this->applications, 'application', 'Application'),
'postgresqlsJs' => $this->toSearchableArray($this->postgresqls, 'database', 'Database'),
@@ -173,6 +179,7 @@ class Index extends Component
'keydbsJs' => $this->toSearchableArray($this->keydbs, 'database', 'Database'),
'dragonfliesJs' => $this->toSearchableArray($this->dragonflies, 'database', 'Database'),
'clickhousesJs' => $this->toSearchableArray($this->clickhouses, 'database', 'Database'),
'sqlitesJs' => $this->toSearchableArray($this->sqlites, 'database', 'Database'),
'servicesJs' => $this->toSearchableArray($this->services, 'service', 'Service'),
]);
}
+2
View File
@@ -50,6 +50,7 @@ class Show extends Component
'mongodbs',
'mysqls',
'mariadbs',
'sqlites',
])
->orderBy('created_at'),
])
@@ -105,6 +106,7 @@ class Show extends Component
$environment->mongodbs_count,
$environment->mysqls_count,
$environment->mariadbs_count,
$environment->sqlites_count,
])->sum();
return [
@@ -24,6 +24,7 @@
'keydbs:id,uuid,name,environment_id',
'dragonflies:id,uuid,name,environment_id',
'clickhouses:id,uuid,name,environment_id',
'sqlites:id,uuid,name,environment_id',
])
->get();
$currentProjectUuid = data_get($resource, 'environment.project.uuid');
@@ -141,7 +142,8 @@
->merge($environment->mariadbs ?? collect())
->merge($environment->keydbs ?? collect())
->merge($environment->dragonflies ?? collect())
->merge($environment->clickhouses ?? collect());
->merge($environment->clickhouses ?? collect())
->merge($environment->sqlites ?? collect());
$envResources = collect()
->merge($environment->applications->map(fn($app) => ['type' => 'application', 'resource' => $app]))
->merge($envDatabases->map(fn($db) => ['type' => 'database', 'resource' => $db]))
@@ -191,7 +193,8 @@
->merge($environment->mariadbs ?? collect())
->merge($environment->keydbs ?? collect())
->merge($environment->dragonflies ?? collect())
->merge($environment->clickhouses ?? collect());
->merge($environment->clickhouses ?? collect())
->merge($environment->sqlites ?? collect());
$envResources = collect()
->merge($environment->applications->map(fn($app) => ['type' => 'application', 'resource' => $app]))
->merge($envDatabases->map(fn($db) => ['type' => 'database', 'resource' => $db]))
@@ -45,6 +45,7 @@
$project->mongodbs_count,
$project->mysqls_count,
$project->mariadbs_count,
$project->sqlites_count,
])->sum();
@endphp
@@ -368,6 +368,7 @@
...@js($keydbsJs),
...@js($dragonfliesJs),
...@js($clickhousesJs),
...@js($sqlitesJs),
...@js($servicesJs),
],
get filterGroups() {