Initial release: Ironpad v0.1.0 - Local-first, file-based project and knowledge management system. Rust backend, Vue 3 frontend, Milkdown editor, Git integration, cross-platform builds. Built with AI using Open Method.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
skepsismusic
2026-02-06 00:13:31 +01:00
commit ebe3e2aa8f
97 changed files with 25033 additions and 0 deletions

View File

@@ -0,0 +1,30 @@
use axum::{
extract::Query,
http::StatusCode,
response::IntoResponse,
routing::get,
Json, Router,
};
use serde::Deserialize;
use crate::services::search;
#[derive(Debug, Deserialize)]
pub struct SearchQuery {
q: String,
}
pub fn router() -> Router {
Router::new().route("/", get(search_notes))
}
async fn search_notes(Query(params): Query<SearchQuery>) -> impl IntoResponse {
match search::search_notes(&params.q) {
Ok(results) => Json(results).into_response(),
Err(err) => (
StatusCode::INTERNAL_SERVER_ERROR,
format!("Search failed: {}", err),
)
.into_response(),
}
}