17 Commits

Author SHA1 Message Date
Dmitriy Ryajov
44c198b96a
rework contains to return a bool (#39) 2022-12-02 16:25:44 -06:00
Dmitriy Ryajov
9d49c8016e
Several fixes and missing features (#38)
* shorten lines

* only return data when `query.value == true`

* test `query.value = false`

* close mounted ds

* allow passing dispose to query iter constructor

* fix fs querying

* use currentSourcePath

* remove `dsobj` extensions from directories

* don't return error on missing key delete

* return `DatastoreKeyNotFound` on empty `get`

* return `DatastoreKeyNotFound` on missing sql key
2022-11-22 15:23:23 -06:00
Dmitriy Ryajov
6c06a3b095
Adding batching capabilities (#37)
* adding batch entry

* add batched put and delete

* add batched tests

* adding batching capabilities to remaining stores

* open db in readonly mode

* make naming consistent

* release prepared statements

* don't use deprecated add

* check file exists on test exit

* remove unused var
2022-09-30 08:24:26 -06:00
Dmitriy Ryajov
308b5c08be
Better fsds path sanitization (#31)
* add better path sanytizing

* rebase master

* Bugfixed and moved all checks into path()

* added check for empty basename in order to avoid bug in isValidFilename
* refactored - all filename checks are moved into path() function that constructs this filename

Co-authored-by: Bulat-Ziganshin <bulat.ziganshin@gmail.com>
2022-09-29 11:56:24 -06:00
Dmitriy Ryajov
446de6f978
Fsds query (#32)
* add basic query capabilities to fsds

* rename common tests

* make query tests common

* sanitize key

* check it's possible to query keys at same level
2022-09-20 18:18:33 -06:00
Dmitriy Ryajov
02167bb69e
Add proper sqlite query support (#30)
* Add query support for sqlite backend

* basic tests with in memory ds

* remove `close` default implementation
2022-09-20 14:41:54 -06:00
Dmitriy Ryajov
e6430b6b85
close db 2022-09-20 09:51:28 -06:00
Dmitriy Ryajov
a3781edc6a
remove path sanitization for now, address in upcoming pr 2022-09-20 09:16:56 -06:00
Dmitriy Ryajov
bb387650ab
exclude windows from protected dirs checking 2022-09-19 23:19:38 -06:00
Dmitriy Ryajov
b4b90485ef
wip 2022-09-19 23:11:47 -06:00
Dmitriy Ryajov
29577b6dd7
paths are already sanitized, removing allowed 2022-09-19 23:01:10 -06:00
Dmitriy Ryajov
309ac94f21
test invalid char on windows 2022-09-19 22:40:46 -06:00
Dmitriy Ryajov
1dfc30f64a
more valid chars 2022-09-19 22:28:58 -06:00
Dmitriy Ryajov
5f6acbd88d
add numbers as allowed chars 2022-09-19 22:27:08 -06:00
Dmitriy Ryajov
17c4ff92a4
use proper os separator depending on OS 2022-09-19 22:21:10 -06:00
Dmitriy Ryajov
2680789884
missing key should return appropriate error 2022-09-19 17:12:34 -06:00
Dmitriy Ryajov
b380d09d6b
rename fsstore to fsds 2022-09-19 15:52:00 -06:00