Fix companions API (column rename), home search, search URL params
- Fix companion_relationships column: relationship → companion_type (with AS alias) - Home page search passes query via ?q= URL param - Search page reads ?q= on load and auto-searches
This commit is contained in:
@@ -6,7 +6,7 @@ use super::models::{CompanionRelationship, CompanionWithNames, CreateCompanion};
|
||||
|
||||
pub async fn list_all(pool: &PgPool) -> Result<Vec<CompanionWithNames>> {
|
||||
sqlx::query_as::<_, CompanionWithNames>(
|
||||
"SELECT cr.id, cr.species_a_id, cr.species_b_id, cr.relationship,
|
||||
"SELECT cr.id, cr.species_a_id, cr.species_b_id, cr.companion_type AS relationship,
|
||||
cr.mechanism, cr.source_url, cr.created_at,
|
||||
sa.name_scientific AS species_a_scientific,
|
||||
sa.name_de AS species_a_de,
|
||||
@@ -28,9 +28,10 @@ pub async fn list_all(pool: &PgPool) -> Result<Vec<CompanionWithNames>> {
|
||||
|
||||
pub async fn list_for_species(pool: &PgPool, species_id: Uuid) -> Result<Vec<CompanionRelationship>> {
|
||||
sqlx::query_as::<_, CompanionRelationship>(
|
||||
"SELECT * FROM companion_relationships
|
||||
"SELECT id, species_a_id, species_b_id, companion_type AS relationship, mechanism, source_url, created_at
|
||||
FROM companion_relationships
|
||||
WHERE species_a_id = $1 OR species_b_id = $1
|
||||
ORDER BY relationship, created_at"
|
||||
ORDER BY companion_type, created_at"
|
||||
)
|
||||
.bind(species_id)
|
||||
.fetch_all(pool)
|
||||
@@ -48,8 +49,9 @@ pub async fn create(pool: &PgPool, req: &CreateCompanion) -> Result<CompanionRel
|
||||
};
|
||||
|
||||
sqlx::query_as::<_, CompanionRelationship>(
|
||||
"INSERT INTO companion_relationships (id, species_a_id, species_b_id, relationship, mechanism, source_url)
|
||||
VALUES ($1, $2, $3, $4::companion_type, $5, $6) RETURNING *"
|
||||
"INSERT INTO companion_relationships (id, species_a_id, species_b_id, companion_type, mechanism, source_url)
|
||||
VALUES ($1, $2, $3, $4, $5, $6)
|
||||
RETURNING id, species_a_id, species_b_id, companion_type AS relationship, mechanism, source_url, created_at"
|
||||
)
|
||||
.bind(id).bind(a).bind(b).bind(&req.relationship)
|
||||
.bind(&req.mechanism).bind(&req.source_url)
|
||||
|
||||
Reference in New Issue
Block a user