@idpass/data-collect-core / EventStore
Interface: EventStore
Defined in: interfaces/types.ts:289
Event store interface for managing form submissions and audit logs.
Provides event sourcing capabilities with Merkle tree integrity verification. All changes to entities flow through this store as immutable events.
Methods
initialize()
initialize():
Promise<void>
Defined in: interfaces/types.ts:291
Initialize the event store (create tables, indexes, etc.)
Returns
Promise<void>
saveEvent()
saveEvent(
form):Promise<string>
Defined in: interfaces/types.ts:293
Save a single event and return its ID
Parameters
form
Returns
Promise<string>
getEvents()
getEvents():
Promise<FormSubmission[]>
Defined in: interfaces/types.ts:295
Get events with optional filtering
Returns
Promise<FormSubmission[]>
getAllEvents()
getAllEvents():
Promise<FormSubmission[]>
Defined in: interfaces/types.ts:297
Get all events in the store
Returns
Promise<FormSubmission[]>
getLatestHash()
getLatestHash():
string
Defined in: interfaces/types.ts:299
Get the latest hash in the hash chain for integrity verification
Returns
string
verifyHashChain()
verifyHashChain():
Promise<boolean>
Defined in: interfaces/types.ts:301
Verify the integrity of the entire event hash chain
Returns
Promise<boolean>
logAuditEntry()
logAuditEntry(
entry):Promise<void>
Defined in: interfaces/types.ts:303
Log a single audit entry
Parameters
entry
Returns
Promise<void>
saveAuditLogs()
saveAuditLogs(
entries):Promise<void>
Defined in: interfaces/types.ts:305
Save multiple audit log entries
Parameters
entries
Returns
Promise<void>
updateEventSyncLevel()
updateEventSyncLevel(
id,syncLevel):Promise<void>
Defined in: interfaces/types.ts:307
Update the sync level of an event
Parameters
id
string
syncLevel
Returns
Promise<void>
updateAuditLogSyncLevel()
updateAuditLogSyncLevel(
id,syncLevel):Promise<void>
Defined in: interfaces/types.ts:309
Update the sync level of an audit log entry
Parameters
id
string
syncLevel
Returns
Promise<void>
getAuditLogsSince()
getAuditLogsSince(
timestamp):Promise<AuditLogEntry[]>
Defined in: interfaces/types.ts:311
Get audit logs created since a specific timestamp
Parameters
timestamp
string
Returns
Promise<AuditLogEntry[]>
getEventsSince()
getEventsSince(
timestamp):Promise<FormSubmission[]>
Defined in: interfaces/types.ts:313
Get events created since a specific timestamp
Parameters
timestamp
string | Date
Returns
Promise<FormSubmission[]>
getEventsSincePagination()
getEventsSincePagination(
timestamp,limit):Promise<{events:FormSubmission[];nextCursor:string|Date|null; }>
Defined in: interfaces/types.ts:315
Get events since timestamp with pagination support (10 events/page default)
Parameters
timestamp
string | Date
limit
number
Returns
Promise<{ events: FormSubmission[]; nextCursor: string | Date | null; }>
updateSyncLevelFromEvents()
updateSyncLevelFromEvents(
events):Promise<void>
Defined in: interfaces/types.ts:323
Update sync levels for multiple events
Parameters
events
Returns
Promise<void>
getLastRemoteSyncTimestamp()
getLastRemoteSyncTimestamp():
Promise<string>
Defined in: interfaces/types.ts:325
Get the timestamp of the last remote sync
Returns
Promise<string>
setLastRemoteSyncTimestamp()
setLastRemoteSyncTimestamp(
timestamp):Promise<void>
Defined in: interfaces/types.ts:327
Set the timestamp of the last remote sync
Parameters
timestamp
string
Returns
Promise<void>
getLastLocalSyncTimestamp()
getLastLocalSyncTimestamp():
Promise<string>
Defined in: interfaces/types.ts:329
Get the timestamp of the last local sync
Returns
Promise<string>
setLastLocalSyncTimestamp()
setLastLocalSyncTimestamp(
timestamp):Promise<void>
Defined in: interfaces/types.ts:331
Set the timestamp of the last local sync
Parameters
timestamp
string
Returns
Promise<void>
getLastPullExternalSyncTimestamp()
getLastPullExternalSyncTimestamp():
Promise<string>
Defined in: interfaces/types.ts:333
Get the timestamp of the last external sync pull
Returns
Promise<string>
setLastPullExternalSyncTimestamp()
setLastPullExternalSyncTimestamp(
timestamp):Promise<void>
Defined in: interfaces/types.ts:335
Set the timestamp of the last external sync pull
Parameters
timestamp
string
Returns
Promise<void>
getLastPushExternalSyncTimestamp()
getLastPushExternalSyncTimestamp():
Promise<string>
Defined in: interfaces/types.ts:337
Get the timestamp of the last external sync push
Returns
Promise<string>
setLastPushExternalSyncTimestamp()
setLastPushExternalSyncTimestamp(
timestamp):Promise<void>
Defined in: interfaces/types.ts:339
Set the timestamp of the last external sync push
Parameters
timestamp
string
Returns
Promise<void>
getLastScopeHash()
getLastScopeHash():
Promise<string|null>
Defined in: interfaces/types.ts:341
Get the last advertised scope hash from the server, or null if never seen.
Returns
Promise<string | null>
setLastScopeHash()
setLastScopeHash(
hash):Promise<void>
Defined in: interfaces/types.ts:343
Persist the latest scope hash (called after a successful pull).
Parameters
hash
string
Returns
Promise<void>
getLastScope()
getLastScope():
Promise<EffectiveScopeBody|null>
Defined in: interfaces/types.ts:348
Get the last persisted effective scope body (areaIds/entityTypes/timeWindow + hash),
or null if no body has been observed yet. Client-only.
Returns
Promise<EffectiveScopeBody | null>
setLastScope()
setLastScope(
scope):Promise<void>
Defined in: interfaces/types.ts:353
Persist the effective scope body advertised by the server (called after a
successful pull alongside setLastScopeHash). Client-only.
Parameters
scope
Returns
Promise<void>
deleteEventsForEntity()
deleteEventsForEntity(
entityGuid):Promise<number>
Defined in: interfaces/types.ts:359
Delete all events whose entityGuid matches the given guid. Used during
client-side scope-purge — see EventStorageAdapter.deleteEventsForEntity.
Returns the number of events deleted.
Parameters
entityGuid
string
Returns
Promise<number>
isEventExisted()
isEventExisted(
guid):Promise<boolean>
Defined in: interfaces/types.ts:361
Check if an event with the given GUID exists
Parameters
guid
string
Returns
Promise<boolean>
getAuditTrailByEntityGuid()
getAuditTrailByEntityGuid(
entityGuid):Promise<AuditLogEntry[]>
Defined in: interfaces/types.ts:363
Get complete audit trail for a specific entity
Parameters
entityGuid
string
Returns
Promise<AuditLogEntry[]>
clearStore()
clearStore():
Promise<void>
Defined in: interfaces/types.ts:365
Clear all data from the store (for testing)
Returns
Promise<void>
closeConnection()
closeConnection():
Promise<void>
Defined in: interfaces/types.ts:367
Close database connections and cleanup resources
Returns
Promise<void>
getMetadataValue()
getMetadataValue(
key):Promise<string|null>
Defined in: interfaces/types.ts:373
Generic key-value metadata accessor scoped to this adapter's tenant.
Stored alongside scope-hash / push-watermark metadata in the same backing
store. Returns null when the key is absent.
Parameters
key
string
Returns
Promise<string | null>
setMetadataValue()
setMetadataValue(
key,value):Promise<void>
Defined in: interfaces/types.ts:375
Persist a metadata value under key. Upsert semantics.
Parameters
key
string
value
string
Returns
Promise<void>
deleteMetadataValue()
deleteMetadataValue(
key):Promise<void>
Defined in: interfaces/types.ts:377
Delete the metadata row for key. No-op if absent.
Parameters
key
string
Returns
Promise<void>
listMetadataKeys()
listMetadataKeys(
prefix):Promise<string[]>
Defined in: interfaces/types.ts:382
List metadata keys whose name starts with prefix (tenant-scoped).
Used for namespaced scans (e.g. cr: change-request records).
Parameters
prefix
string
Returns
Promise<string[]>