Skip to content
GitLab
Explore
Projects
Groups
Snippets
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Memri
POD
Commits
cddefbae
Unverified
Commit
cddefbae
authored
4 years ago
by
Vasili Novikov
Browse files
Options
Download
Email Patches
Plain Diff
Remove get_all_items (superseded by search)
parent
3695fc8c
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
src/internal_api.rs
+0
-56
src/internal_api.rs
src/sql_converters.rs
+0
-10
src/sql_converters.rs
src/warp_api.rs
+0
-12
src/warp_api.rs
src/warp_endpoints.rs
+0
-9
src/warp_endpoints.rs
with
0 additions
and
87 deletions
+0
-87
src/internal_api.rs
+
0
-
56
View file @
cddefbae
...
...
@@ -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
(
_
))
}
...
...
This diff is collapsed.
Click to expand it.
src/sql_converters.rs
+
0
-
10
View file @
cddefbae
...
...
@@ -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
,
...
...
This diff is collapsed.
Click to expand it.
src/warp_api.rs
+
0
-
12
View file @
cddefbae
...
...
@@ -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
))
...
...
This diff is collapsed.
Click to expand it.
src/warp_endpoints.rs
+
0
-
9
View file @
cddefbae
...
...
@@ -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
>>
,
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment
Menu
Explore
Projects
Groups
Snippets