Ejemplo n.º 1
0
 def list_all_events(start_time: int, session=None):
     conditions = [EventModel.create_time >= start_time]
     event_model_list = session.query(EventModel).filter(*conditions).all()
     return [
         event_model_to_event(event_model)
         for event_model in event_model_list
     ]
Ejemplo n.º 2
0
    def list_events(key: Union[str, Tuple[str]],
                    version: int = None,
                    event_type: str = None,
                    start_time: int = None,
                    namespace: str = None,
                    session=None):
        key = None if key == "" else key
        event_type = None if event_type == "" else event_type
        namespace = None if namespace == "" else namespace
        if isinstance(key, str):
            key = (key, )
        elif isinstance(key, Iterable):
            key = tuple(key)
        if key is None:
            raise Exception('key cannot be empty.')

        conditions = []
        if event_type is not None and event_type != ANY_CONDITION:
            conditions.append(EventModel.event_type == event_type)
        if start_time is not None and start_time > 0:
            conditions.append(EventModel.create_time >= start_time)
        if ANY_CONDITION != namespace:
            conditions.append(EventModel.namespace == namespace)
        if version > 0:
            conditions.append(EventModel.version > version)
        if ANY_CONDITION not in key:
            conditions.append(EventModel.key.in_(key))
        event_model_list = session.query(EventModel).filter(*conditions).all()
        return [
            event_model_to_event(event_model)
            for event_model in event_model_list
        ]
Ejemplo n.º 3
0
 def list_all_events_from_version(start_version: int,
                                  end_version: int = None,
                                  session=None):
     conditions = [EventModel.version > start_version]
     if end_version is not None and end_version > 0:
         conditions.append(EventModel.version <= end_version)
     event_model_list = session.query(EventModel).filter(*conditions).all()
     return [
         event_model_to_event(event_model)
         for event_model in event_model_list
     ]
Ejemplo n.º 4
0
 def sync_event(event: BaseEvent, uuid, session=None):
     event_model = EventModel()
     event_model.key = event.key
     event_model.value = event.value
     event_model.event_type = event.event_type
     event_model.context = event.context
     event_model.namespace = event.namespace
     event_model.create_time = event.create_time
     event_model.uuid = uuid
     session.add(event_model)
     session.commit()
     return event_model_to_event(event_model)
Ejemplo n.º 5
0
 def add_event(event: BaseEvent, uuid, session=None):
     event_model = EventModel()
     event_model.key = event.key
     event_model.value = event.value
     event_model.event_type = event.event_type
     event_model.context = event.context
     event_model.namespace = event.namespace
     event_model.create_time = int(time.time() * 1000)
     event_model.uuid = uuid
     event_model.sender = event.sender
     session.add(event_model)
     session.commit()
     return event_model_to_event(event_model)