@ -25,80 +25,24 @@ import org.thingsboard.server.common.data.page.TimePageLink;
import java.util.List ;
import java.util.UUID ;
/ * *
* The Interface EventDao .
* /
public interface EventDao {
/ * *
* Save or update event object async
*
* @param event the event object
* @return saved event object future
* /
ListenableFuture < Void > saveAsync ( Event event ) ;
/ * *
* Find events by tenantId , entityId , eventType and pageLink .
*
* @param tenantId the tenantId
* @param entityId the entityId
* @param eventType the eventType
* @param pageLink the pageLink
* @return the event list
* /
PageData < ? extends Event > findEvents ( UUID tenantId , UUID entityId , EventType eventType , TimePageLink pageLink ) ;
PageData < ? extends Event > findEventByFilter ( UUID tenantId , UUID entityId , EventFilter eventFilter , TimePageLink pageLink ) ;
/ * *
* Find latest events by tenantId , entityId and eventType .
*
* @param tenantId the tenantId
* @param entityId the entityId
* @param eventType the eventType
* @param limit the limit
* @return the event list
* /
List < ? extends Event > findLatestEvents ( UUID tenantId , UUID entityId , EventType eventType , int limit ) ;
/ * *
* Find latest debug IN event by tenantId , entityId .
*
* @param tenantId the tenantId
* @param entityId the entityId
* @return the latest debug IN event
* /
Event findLatestDebugRuleNodeInEvent ( UUID tenantId , UUID entityId ) ;
/ * *
* Executes stored procedure to cleanup old events . Uses separate ttl for debug and other events .
* @param regularEventExpTs the expiration time of the regular events
* @param debugEventExpTs the expiration time of the debug events
* @param cleanupDb
* /
void cleanupEvents ( long regularEventExpTs , long debugEventExpTs , boolean cleanupDb ) ;
/ * *
* Removes all events for the specified entity and time interval
*
* @param tenantId
* @param entityId
* @param startTime
* @param endTime
* /
void removeEvents ( UUID tenantId , UUID entityId , Long startTime , Long endTime ) ;
/ * *
*
* Removes all events for the specified entity , event filter and time interval
*
* @param tenantId
* @param entityId
* @param eventFilter
* @param startTime
* @param endTime
* /
void removeEvents ( UUID tenantId , UUID entityId , Long startTime , Long endTime , EventType . . . types ) ;
void removeEvents ( UUID tenantId , UUID entityId , EventFilter eventFilter , Long startTime , Long endTime ) ;
}