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.
17 lines
524 B
Go
17 lines
524 B
Go
package server
|
|
|
|
import (
|
|
"manifold.mleku.dev/database/indexes/types/number"
|
|
"manifold.mleku.dev/event"
|
|
"manifold.mleku.dev/filter"
|
|
)
|
|
|
|
type I interface {
|
|
StoreEvent(ev *event.E) (err error)
|
|
FindEventSerialById(evId []byte) (ser *number.Uint40, err error)
|
|
GetEventFromSerial(ser *number.Uint40) (ev *event.E, err error)
|
|
GetIdPubkeyTimestampFromSerial(ser *number.Uint40) (id, pk []byte, ts int64, err error)
|
|
GetEventById(evId []byte) (ev *event.E, err error)
|
|
QueryEvents(f *filter.F) (eventIds [][]byte, err error)
|
|
}
|