12 Commits

Author SHA1 Message Date
0e9a772462 Reject invalid and negation-only queries in QueryEvents
Added validation to prevent using contradictory filter criteria (e.g., Ids and NotIds together) and reject negation-only queries as they are impractical. Refactored logic for simplicity and added tests to ensure proper handling of invalid filters.
2025-07-01 20:16:05 +01:00
0fc3792345 Add support for query limit filtering and server interface.
Introduced a `Limit` field to `filter.F` for event query limits and updated database queries to respect this constraint. Added a `Server` interface and relay API for improved modularity and functionality. Included tests for limit behavior and new components to ensure validity.
2025-06-30 08:43:25 +01:00
327ac82694 Add API documentation for the Manifold database
Introduces a comprehensive README detailing the public API of the Manifold database package. Includes sections on database initialization, operations, event handling, querying, and logging, with full function signatures and usage explanations.
2025-06-29 18:27:18 +01:00
7c8d3f34bc Add marshaling/unmarshaling logic and encoder tests
Introduced methods for marshaling and unmarshaling filters, ensuring correct handling of fields and sentinels. Added comprehensive unit tests to validate the encoding and decoding behavior across various scenarios. Minor typo fix in `hex/aliases.go` and removed commented code from `database/store.go`.
2025-06-29 18:19:58 +01:00
586354cb54 Add negation filters for IDs, authors, and tags in queries, improve result sort logic
Updated the query logic to support `NotIds`, `NotAuthors`, and `NotTags` filters, enabling exclusion of specific IDs, authors, or tags. Introduced tests to validate these negation features and ensure proper functionality when combined or used individually.
2025-06-29 17:37:36 +01:00
61d9957654 add timestamp to all author/tag combos 2025-06-26 14:43:03 +01:00
08cdba7839 add full filter search, fix bugs in tag encoding, pass tests 2025-06-26 13:16:11 +01:00
4291391047 implement store and retrieve 2025-06-25 19:04:57 +01:00
c34d2d1a8d implement get event indexes, add fulltext index generator, move text read/write 2025-06-25 16:09:00 +01:00
f2f9374137 get all tests working, make use of chk.E universal 2025-06-25 14:38:28 +01:00
55c8214f79 refactor indexes to be more organised and straight forward 2025-06-25 13:31:02 +01:00
7af44b7189 define key codec and key types 2025-06-25 01:18:31 +01:00