Database context¶
- class luna_events.db.db_context.DBContext(adaptor, streams, storageTime, encryptionCtx)¶
Class to work with database.
- streams¶
streams with data
- adaptor¶
A DBAdaptor instance
- storageTime¶
A str, storage time setting
- encryptionCtx¶
descriptors encryption context
- async checkEvent(eventId, accountId=None)¶
Check event existence :type eventId:
str
:param eventId: event id :type accountId:str
|None
:param accountId: account id- Return type:
bool
- Returns:
True if event exists otherwise False
- property dbType: str¶
Returns a string, database type (‘postgres’ only).
- async deleteDescriptors(filters)¶
Delete events descriptors
- Parameters:
filters (
DescriptorsFilters
) – DescriptorsFilters instance- Return type:
list
[str
]- Returns:
event ids which descriptors have been deleted
- async deleteEvents(targets, createTimeGte=None, createTimeLt=None, insertTimeGte=None, insertTimeLt=None, accountId=None, handlerId=None)¶
Delete events from database :type targets:
list
[str
] :param targets: deletion info targets :type createTimeGte:datetime
|None
:param createTimeGte: lower create time boundary :type createTimeLt:datetime
|None
:param createTimeLt: upper create time boundary :type insertTimeGte:datetime
|None
:param insertTimeGte: lower insert time boundary :type insertTimeLt:datetime
|None
:param insertTimeLt: upper insert time boundary :type accountId:str
|None
:param accountId: account id :type handlerId:str
|None
:param handlerId: handler id- Returns:
event_id with deletion info attributes
- Return type:
list with dicts for each deleted event
- async getDescriptorById(eventId, accountId=None, descriptorVersion=None, descriptorModel=<class 'db.events_db_tools.models.events_models.Descriptor'>)¶
Search event descriptor by event id.
- Parameters:
eventId (
str
) – event idaccountId (
str
|None
) – account iddescriptorVersion (
int
|None
) – descriptor versiondescriptorModel (
Descriptor
|BodyDescriptor
) – descriptor model. Either Descriptor or BodyDescriptor
- Raises:
VLException(Error.EventNotFound) if no event found –
VLException(Error.DescriptorNotFound) if no descriptor of specified version found –
- Return type:
bytes
- Returns:
descriptor as bytes
- async getSequenceValues(eventCount)¶
Get several sequence.next_val values from db for new events :type eventCount:
int
:param eventCount: count of incoming event- Return type:
list
[int
]- Returns:
list of ids for incoming events
- static prepareSearchQueryFilters(filters, meta)¶
Prepare search query filters.
- Parameters:
filters (
SearchEventsFilters
) – query filtersmeta (
list
[UDFilter
]) – user-defined event meta’s filters
- Return type:
tuple
[BooleanClauseList
,list
[FromClause
]]- Returns:
filters for Event select query
- static prepareTarget(targets)¶
Extend query targets if needed.
- Return type:
list
[str
]
- async searchEvents(filters, *, meta=None, target=None, page=1, pageSize=100, order='desc')¶
Search events by given filters.
- Parameters:
target (
list
[str
] |None
) – target Event columns’ names to get info onfilters (
SearchEventsFilters
) – raw search request filtersmeta (
list
[UDFilter
]) – user-defined event meta’s filterspage (
int
|None
) – number of result pagepage_size – count of results in page
order (
str
|None
) – result sort order (ask or desc)
- Return type:
list
[dict
]- Returns:
events
- async searchEventsMissing(filters, page=1, pageSize=100)¶
Get events with samples without specified attributes (filters.kind).
- Parameters:
filters (
SearchEventsMissingFilters
) – A SearchEventsMissingFilters instancepage (
int
|None
) – number of result pagepageSize (
int
|None
) – count of results in page
- Return type:
list
[dict
[str
,object
]]- Returns:
List of events
- async searchEventsMissingCount(filters)¶
Get number of events with samples without specified attributes (filters.kind).
- Parameters:
filters (
SearchEventsMissingFilters
) – A SearchEventsMissingFilters instance- Return type:
int
- Returns:
An integer, count of events.
- async updateEvent(eventId, accountId, eventForUpdate)¶
Update event.
- Parameters:
eventId (
str
) – event idaccountId (
str
|None
) – account ideventForUpdate (
dict
) – event containing data to update
- Raises:
VLException(Error.EventNotFound) if no event found –
- Return type:
None