diff --git a/server/.sqlx/query-0aedf1b48cca32154a947752c156735fc57b3c22d7381e65b205d50f92fcceab.json b/server/.sqlx/query-0aedf1b48cca32154a947752c156735fc57b3c22d7381e65b205d50f92fcceab.json new file mode 100644 index 0000000..4e81265 --- /dev/null +++ b/server/.sqlx/query-0aedf1b48cca32154a947752c156735fc57b3c22d7381e65b205d50f92fcceab.json @@ -0,0 +1,20 @@ +{ + "db_name": "PostgreSQL", + "query": "SELECT COALESCE(json_agg(json_build_object('id', id, 'name', name, 'slug', slug) ORDER BY name), '[]') circles FROM circles", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "circles", + "type_info": "Json" + } + ], + "parameters": { + "Left": [] + }, + "nullable": [ + null + ] + }, + "hash": "0aedf1b48cca32154a947752c156735fc57b3c22d7381e65b205d50f92fcceab" +} diff --git a/server/.sqlx/query-1990f6932114cc5dcb5a33d9759818ff6ff80d699a13054511cb3605920149af.json b/server/.sqlx/query-1990f6932114cc5dcb5a33d9759818ff6ff80d699a13054511cb3605920149af.json new file mode 100644 index 0000000..42bd675 --- /dev/null +++ b/server/.sqlx/query-1990f6932114cc5dcb5a33d9759818ff6ff80d699a13054511cb3605920149af.json @@ -0,0 +1,20 @@ +{ + "db_name": "PostgreSQL", + "query": "SELECT COALESCE(json_agg(json_build_object('id', id, 'name', name, 'slug', slug) ORDER BY name), '[]') events FROM events", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "events", + "type_info": "Json" + } + ], + "parameters": { + "Left": [] + }, + "nullable": [ + null + ] + }, + "hash": "1990f6932114cc5dcb5a33d9759818ff6ff80d699a13054511cb3605920149af" +} diff --git a/server/.sqlx/query-42f5397cba5ba7ab925f5688b5de7c4431789e5ed8e923b2dfe04464106f3fb6.json b/server/.sqlx/query-42f5397cba5ba7ab925f5688b5de7c4431789e5ed8e923b2dfe04464106f3fb6.json new file mode 100644 index 0000000..012fcdd --- /dev/null +++ b/server/.sqlx/query-42f5397cba5ba7ab925f5688b5de7c4431789e5ed8e923b2dfe04464106f3fb6.json @@ -0,0 +1,20 @@ +{ + "db_name": "PostgreSQL", + "query": "SELECT COALESCE(json_agg(json_build_object('id', id, 'name', name, 'slug', slug) ORDER BY name), '[]') tags FROM tags", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "tags", + "type_info": "Json" + } + ], + "parameters": { + "Left": [] + }, + "nullable": [ + null + ] + }, + "hash": "42f5397cba5ba7ab925f5688b5de7c4431789e5ed8e923b2dfe04464106f3fb6" +} diff --git a/server/.sqlx/query-9880c3dbfe4c2a7c978c050505c2bea548dab97f5e38f7cf00a72bf9e65bb30c.json b/server/.sqlx/query-9880c3dbfe4c2a7c978c050505c2bea548dab97f5e38f7cf00a72bf9e65bb30c.json new file mode 100644 index 0000000..b1ac4d6 --- /dev/null +++ b/server/.sqlx/query-9880c3dbfe4c2a7c978c050505c2bea548dab97f5e38f7cf00a72bf9e65bb30c.json @@ -0,0 +1,20 @@ +{ + "db_name": "PostgreSQL", + "query": "SELECT COALESCE(json_agg(json_build_object('id', id, 'name', name, 'slug', slug) ORDER BY name), '[]') magazines FROM magazines", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "magazines", + "type_info": "Json" + } + ], + "parameters": { + "Left": [] + }, + "nullable": [ + null + ] + }, + "hash": "9880c3dbfe4c2a7c978c050505c2bea548dab97f5e38f7cf00a72bf9e65bb30c" +} diff --git a/server/.sqlx/query-9acf9b3cfff911b91ad03b43de5962cdf4fd09d2df785f2c0201b73e82f636f8.json b/server/.sqlx/query-9acf9b3cfff911b91ad03b43de5962cdf4fd09d2df785f2c0201b73e82f636f8.json new file mode 100644 index 0000000..99b8fbe --- /dev/null +++ b/server/.sqlx/query-9acf9b3cfff911b91ad03b43de5962cdf4fd09d2df785f2c0201b73e82f636f8.json @@ -0,0 +1,20 @@ +{ + "db_name": "PostgreSQL", + "query": "SELECT COALESCE(json_agg(json_build_object('id', id, 'name', name, 'slug', slug) ORDER BY name), '[]') publishers FROM publishers", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "publishers", + "type_info": "Json" + } + ], + "parameters": { + "Left": [] + }, + "nullable": [ + null + ] + }, + "hash": "9acf9b3cfff911b91ad03b43de5962cdf4fd09d2df785f2c0201b73e82f636f8" +} diff --git a/server/.sqlx/query-bdf0b652525383e2553ffe455722881d8b3f62e8260be695137420b44c8c48c7.json b/server/.sqlx/query-bdf0b652525383e2553ffe455722881d8b3f62e8260be695137420b44c8c48c7.json new file mode 100644 index 0000000..d198ec9 --- /dev/null +++ b/server/.sqlx/query-bdf0b652525383e2553ffe455722881d8b3f62e8260be695137420b44c8c48c7.json @@ -0,0 +1,20 @@ +{ + "db_name": "PostgreSQL", + "query": "SELECT COALESCE(json_agg(json_build_object('id', id, 'name', name, 'slug', slug) ORDER BY name), '[]') parodies FROM parodies", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "parodies", + "type_info": "Json" + } + ], + "parameters": { + "Left": [] + }, + "nullable": [ + null + ] + }, + "hash": "bdf0b652525383e2553ffe455722881d8b3f62e8260be695137420b44c8c48c7" +} diff --git a/server/.sqlx/query-ed7684059c078407f193275544d3ea89ec15910d8ab42574a0e3868443abd5ec.json b/server/.sqlx/query-ed7684059c078407f193275544d3ea89ec15910d8ab42574a0e3868443abd5ec.json new file mode 100644 index 0000000..37af3c9 --- /dev/null +++ b/server/.sqlx/query-ed7684059c078407f193275544d3ea89ec15910d8ab42574a0e3868443abd5ec.json @@ -0,0 +1,20 @@ +{ + "db_name": "PostgreSQL", + "query": "SELECT COALESCE(json_agg(json_build_object('id', id, 'name', name, 'slug', slug) ORDER BY name), '[]') artists FROM artists", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "artists", + "type_info": "Json" + } + ], + "parameters": { + "Left": [] + }, + "nullable": [ + null + ] + }, + "hash": "ed7684059c078407f193275544d3ea89ec15910d8ab42574a0e3868443abd5ec" +} diff --git a/server/src/api/routes.rs b/server/src/api/routes.rs index 84ffa79..bab79aa 100644 --- a/server/src/api/routes.rs +++ b/server/src/api/routes.rs @@ -5,7 +5,7 @@ use super::{ use crate::db; use anyhow::anyhow; use axum::extract::{Path, Query, State}; -use serde::{Deserialize, Serialize}; +use serde::Serialize; use std::{collections::HashMap, fmt::Display, str::FromStr}; use tokio::sync::oneshot; @@ -210,7 +210,7 @@ pub async fn taxonomy(State(state): State) -> Result, value: &str, blacklist: &[St } for taxonomy in blacklist { - let splits = &taxonomy.split(":").collect::>(); - let namespace = splits.get(0); + let splits = &taxonomy.split(':').collect::>(); + let namespace = splits.first(); let taxonomy_id = splits.get(1).and_then(|s| s.parse::().ok()); if let (Some(namespace), Some(id)) = (namespace, taxonomy_id) {