storage: add filtering to SyncLatest (#3368)

* wip

* storage: add filtering to SyncLatest

* don't increment the record version, so intermediate changes are requested

* fix stream filter
This commit is contained in:
Caleb Doxsey 2022-05-17 22:00:23 +00:00 committed by GitHub
parent 363dd82802
commit 1669b601ea
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 88 additions and 49 deletions

View file

@ -130,12 +130,16 @@ func (e *encryptedBackend) Sync(ctx context.Context, serverVersion, recordVersio
}, nil
}
func (e *encryptedBackend) SyncLatest(ctx context.Context) (serverVersion uint64, stream RecordStream, err error) {
serverVersion, stream, err = e.underlying.SyncLatest(ctx)
func (e *encryptedBackend) SyncLatest(
ctx context.Context,
recordType string,
filter FilterExpression,
) (serverVersion, recordVersion uint64, stream RecordStream, err error) {
serverVersion, recordVersion, stream, err = e.underlying.SyncLatest(ctx, recordType, filter)
if err != nil {
return serverVersion, nil, err
return serverVersion, recordVersion, nil, err
}
return serverVersion, &encryptedRecordStream{
return serverVersion, recordVersion, &encryptedRecordStream{
underlying: stream,
backend: e,
}, nil