nedb-engine 2.2.24__tar.gz → 2.2.26__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. {nedb_engine-2.2.24 → nedb_engine-2.2.26}/PKG-INFO +1 -1
  2. {nedb_engine-2.2.24 → nedb_engine-2.2.26}/pyproject.toml +1 -1
  3. {nedb_engine-2.2.24 → nedb_engine-2.2.26}/python/nedb/__init__.py +1 -1
  4. {nedb_engine-2.2.24 → nedb_engine-2.2.26}/python/nedb/_native.abi3.so +0 -0
  5. nedb_engine-2.2.26/python/nedb/nedbd-v2 +0 -0
  6. {nedb_engine-2.2.24 → nedb_engine-2.2.26}/python/nedb/nedbd-v2-darwin-arm64 +0 -0
  7. {nedb_engine-2.2.24 → nedb_engine-2.2.26}/python/nedb/nedbd-v2-darwin-x64 +0 -0
  8. {nedb_engine-2.2.24 → nedb_engine-2.2.26}/python/nedb/nedbd-v2.exe +0 -0
  9. {nedb_engine-2.2.24 → nedb_engine-2.2.26}/python/nedb/server.py +13 -2
  10. nedb_engine-2.2.24/python/nedb/nedbd-v2 +0 -0
  11. {nedb_engine-2.2.24 → nedb_engine-2.2.26}/.gitignore +0 -0
  12. {nedb_engine-2.2.24 → nedb_engine-2.2.26}/LICENSE +0 -0
  13. {nedb_engine-2.2.24 → nedb_engine-2.2.26}/README.md +0 -0
  14. {nedb_engine-2.2.24 → nedb_engine-2.2.26}/client/node/README.md +0 -0
  15. {nedb_engine-2.2.24 → nedb_engine-2.2.26}/client/python/README.md +0 -0
  16. {nedb_engine-2.2.24 → nedb_engine-2.2.26}/python/nedb/autoindex.py +0 -0
  17. {nedb_engine-2.2.24 → nedb_engine-2.2.26}/python/nedb/backends/__init__.py +0 -0
  18. {nedb_engine-2.2.24 → nedb_engine-2.2.26}/python/nedb/backends/redis_backend.py +0 -0
  19. {nedb_engine-2.2.24 → nedb_engine-2.2.26}/python/nedb/cascade.py +0 -0
  20. {nedb_engine-2.2.24 → nedb_engine-2.2.26}/python/nedb/concurrent.py +0 -0
  21. {nedb_engine-2.2.24 → nedb_engine-2.2.26}/python/nedb/crypto.py +0 -0
  22. {nedb_engine-2.2.24 → nedb_engine-2.2.26}/python/nedb/engine.py +0 -0
  23. {nedb_engine-2.2.24 → nedb_engine-2.2.26}/python/nedb/index.py +0 -0
  24. {nedb_engine-2.2.24 → nedb_engine-2.2.26}/python/nedb/log.py +0 -0
  25. {nedb_engine-2.2.24 → nedb_engine-2.2.26}/python/nedb/merkle.py +0 -0
  26. {nedb_engine-2.2.24 → nedb_engine-2.2.26}/python/nedb/mongo.py +0 -0
  27. {nedb_engine-2.2.24 → nedb_engine-2.2.26}/python/nedb/query.py +0 -0
  28. {nedb_engine-2.2.24 → nedb_engine-2.2.26}/python/nedb/redis_compat.py +0 -0
  29. {nedb_engine-2.2.24 → nedb_engine-2.2.26}/python/nedb/relations.py +0 -0
  30. {nedb_engine-2.2.24 → nedb_engine-2.2.26}/python/nedb/resp2.py +0 -0
  31. {nedb_engine-2.2.24 → nedb_engine-2.2.26}/python/nedb/snapshot.py +0 -0
  32. {nedb_engine-2.2.24 → nedb_engine-2.2.26}/python/nedb/sql.py +0 -0
  33. {nedb_engine-2.2.24 → nedb_engine-2.2.26}/python/nedb/store.py +0 -0
  34. {nedb_engine-2.2.24 → nedb_engine-2.2.26}/python/nedb/wrap_redis.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nedb-engine
3
- Version: 2.2.24
3
+ Version: 2.2.26
4
4
  Summary: NEDB — a versioned, self-compressing, time-traveling embedded database (replay-protected, idempotent, relational, searchable) with durable AOF persistence and a server daemon (nedbd).
5
5
  Project-URL: Homepage, https://github.com/aiassistsecure/nedb
6
6
  Project-URL: Repository, https://github.com/aiassistsecure/nedb
@@ -10,7 +10,7 @@ build-backend = "hatchling.build"
10
10
 
11
11
  [project]
12
12
  name = "nedb-engine"
13
- version = "2.2.24"
13
+ version = "2.2.26"
14
14
  description = "NEDB — a versioned, self-compressing, time-traveling embedded database (replay-protected, idempotent, relational, searchable) with durable AOF persistence and a server daemon (nedbd)."
15
15
  readme = "README.md"
16
16
  requires-python = ">=3.8"
@@ -47,4 +47,4 @@ __all__ = [
47
47
  "wrap_redis", "WrappedRedis",
48
48
  "_native", "__has_native__",
49
49
  ]
50
- __version__ = "2.2.24"
50
+ __version__ = "2.2.26"
Binary file
@@ -323,8 +323,12 @@ def make_handler(manager: Manager, token: Optional[str]):
323
323
  _scalar = ("client", "nonce", "idem", "evidence", "confidence",
324
324
  "valid_from", "valid_to")
325
325
  kw = {k: b[k] for k in _scalar if b.get(k) is not None}
326
- if b.get("caused_by") is not None:
327
- kw["caused_by"] = list(b["caused_by"])
326
+ # caused_by may live at the top level of the request body
327
+ # OR inside doc (natural for clients embedding it in the document).
328
+ # Check both; top-level wins if both are present.
329
+ _cb = b.get("caused_by") or doc.get("caused_by")
330
+ if _cb is not None:
331
+ kw["caused_by"] = list(_cb)
328
332
  try:
329
333
  stored = db.put(str(coll), str(rid), dict(doc), **kw)
330
334
  except ReplayError as e:
@@ -345,6 +349,13 @@ def make_handler(manager: Manager, token: Optional[str]):
345
349
  db.link(str(b["frm"]), str(b["rel"]), str(b["to"]))
346
350
  self._send(200, {"ok": True, "seq": db.seq, "head": db.head})
347
351
  return
352
+ if method == "POST" and action == "neighbors":
353
+ b = self._body()
354
+ if not b.get("node") or not b.get("rel"):
355
+ raise HttpError(400, "node and rel are required")
356
+ nodes = db.neighbors(str(b["node"]), str(b["rel"]))
357
+ self._send(200, {"nodes": nodes, "count": len(nodes)})
358
+ return
348
359
  if method == "GET" and action == "verify":
349
360
  self._send(200, {"ok": db.verify(), "seq": db.seq, "head": db.head})
350
361
  return
Binary file
File without changes
File without changes
File without changes