Unverified Commit cddefbae authored by Vasili Novikov's avatar Vasili Novikov
Browse files

Remove get_all_items (superseded by search)

parent 3695fc8c
Showing with 0 additions and 87 deletions
+0 -87
......@@ -10,18 +10,14 @@ use crate::schema::SchemaPropertyType;
use crate::sql_converters::borrow_sql_params;
use crate::sql_converters::json_value_to_sqlite;
use crate::sql_converters::sqlite_row_to_map;
use crate::sql_converters::sqlite_rows_to_json;
use crate::sql_converters::sqlite_value_to_json;
use crate::sql_converters::validate_property_name;
use crate::triggers;
use chrono::Utc;
use log::info;
use log::warn;
use rusqlite::params;
use rusqlite::Connection;
use rusqlite::ToSql;
use rusqlite::Transaction;
use rusqlite::NO_PARAMS;
use serde_json::Map;
use serde_json::Value;
use std::collections::HashMap;
......@@ -33,37 +29,6 @@ pub fn get_project_version() -> String {
crate::command_line_interface::VERSION.to_string()
}
fn get_item_properties_old(tx: &Transaction, id: i64) -> Result<HashMap<String, Value>> {
let mut stmt = tx.prepare_cached("SELECT name, value FROM itemproperties WHERE itemId = ?1")?;
let rows_iter = stmt.query_map(params![id], |row| {
let name: String = row.get(0)?;
let value = sqlite_value_to_json(row.get_raw(1), &name);
if let Some(value) = value {
Ok(Some((name, value)))
} else {
Ok(None)
}
})?;
let mut result = HashMap::new();
for row in rows_iter {
if let Some((k, v)) = row? {
result.insert(k, v);
}
}
Ok(result)
}
fn get_item_rowid(tx: &Transaction, id: &str) -> Result<Option<i64>> {
let mut stmt = tx.prepare_cached("SELECT rowid FROM items WHERE id = ?1")?;
let mut rows = stmt.query_map(params![id], |row| row.get(0))?;
if let Some(row) = rows.next() {
let rowid: i64 = row?;
Ok(Some(rowid))
} else {
Ok(None)
}
}
/// Get all properties that the item has, ignoring those
/// that exist in the DB but are not defined in the Schema
pub fn get_item_properties(
......@@ -153,27 +118,6 @@ pub fn get_item_tx(tx: &Transaction, schema: &Schema, id: &str) -> Result<Vec<Va
Ok(result)
}
// fn check_item_exists(tx: &Transaction, uid: i64) -> Result<bool> {
// let mut stmt = tx.prepare_cached("SELECT 1 FROM items WHERE uid = :uid")?;
// let mut rows = stmt.query_named(&[(":uid", &uid)])?;
// let result = match rows.next()? {
// None => false,
// Some(row) => {
// let count: isize = row.get(0)?;
// count > 0
// }
// };
// Ok(result)
// }
pub fn get_all_items(conn: &Connection) -> Result<Vec<Value>> {
info!("Getting all items");
let mut stmt = conn.prepare_cached("SELECT * FROM items")?;
let rows = stmt.query(NO_PARAMS)?;
let json = sqlite_rows_to_json(rows, true)?;
Ok(json)
}
fn is_array_or_object(value: &Value) -> bool {
matches!(value, Value::Array(_) | Value::Object(_))
}
......
......@@ -12,7 +12,6 @@ use regex::Regex;
use rusqlite::types::ToSqlOutput;
use rusqlite::types::ValueRef;
use rusqlite::Row;
use rusqlite::Rows;
use rusqlite::ToSql;
use serde_json::Map;
use serde_json::Value;
......@@ -33,15 +32,6 @@ pub fn sqlite_row_to_map(row: &Row, partial: bool) -> rusqlite::Result<Map<Strin
Ok(row_map)
}
pub fn sqlite_rows_to_json(mut rows: Rows, partial: bool) -> rusqlite::Result<Vec<Value>> {
let mut result = Vec::new();
while let Some(row) = rows.next()? {
let json_object = sqlite_row_to_map(row, partial)?;
result.push(Value::from(json_object));
}
Ok(result)
}
pub fn sqlite_value_to_json(value: ValueRef, column_name: &str) -> Option<Value> {
match value {
ValueRef::Null => None,
......
......@@ -80,17 +80,6 @@ pub async fn run_server(cli_options: &CLIOptions) {
respond_with_result(result)
});
let init_db = initialized_databases_arc.clone();
let get_all_items = items_api
.and(warp::path!(String / "get_all_items"))
.and(warp::path::end())
.and(warp::body::json())
.map(move |owner: String, body: PayloadWrapper<()>| {
let result = warp_endpoints::get_all_items(owner, init_db.deref(), body);
let result = result.map(|result| warp::reply::json(&result));
respond_with_result(result)
});
let init_db = initialized_databases_arc.clone();
let update_item = items_api
.and(warp::path!(String / "update_item"))
......@@ -225,7 +214,6 @@ pub async fn run_server(cli_options: &CLIOptions) {
});
let sensitive_filters = sensitive_filters
.or(get_item.with(&headers))
.or(get_all_items.with(&headers))
.or(bulk_action.with(&headers))
.or(update_item.with(&headers))
.or(delete_item.with(&headers))
......
......@@ -42,15 +42,6 @@ pub fn get_item(
})
}
pub fn get_all_items(
owner: String,
init_db: &RwLock<HashSet<String>>,
body: PayloadWrapper<()>,
) -> Result<Vec<Value>> {
let conn: Connection = check_owner_and_initialize_db(&owner, &init_db, &body.database_key)?;
internal_api::get_all_items(&conn)
}
pub fn create_item(
owner: String,
init_db: &RwLock<HashSet<String>>,
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment