diff --git a/boxsdk/object/events.py b/boxsdk/object/events.py index 65e92809..2168471f 100644 --- a/boxsdk/object/events.py +++ b/boxsdk/object/events.py @@ -93,7 +93,7 @@ def get_events(self, limit=100, stream_position=0, stream_type=UserEventsStreamT return self.translator.translate(self._session, response_object=response) @api_call - def get_admin_events(self, limit=None, created_after=None, created_before=None, event_types=None): + def get_admin_events(self, limit=None, stream_position=0, created_after=None, created_before=None, event_types=None): """ Get Box Admin events from a datetime, to a datetime, or between datetimes with a given event type for a enterprise stream type. Used for historical querying (up to one year). Works for Enterprise admin_logs type. @@ -102,6 +102,10 @@ def get_admin_events(self, limit=None, created_after=None, created_before=None, (optional) Maximum number of events to return. :type limit: `int` or None + :param stream_position: + The location in the stream from which to start getting events. 0 is the beginning of time. + :type stream_position: + `unicode` :param created_after: (optional) Start date in datetime format to pull events from Defaults to `None` @@ -132,6 +136,8 @@ def get_admin_events(self, limit=None, created_after=None, created_before=None, params['limit'] = limit if event_types is not None: params['event_type'] = ','.join(event_types) + if stream_position is not None: + params['stream_position'] = stream_position box_response = self._session.get(url, params=params) response = box_response.json() return self.translator.translate(self._session, response_object=response) diff --git a/test/unit/object/test_events.py b/test/unit/object/test_events.py index d2d84f8b..72602ff4 100644 --- a/test/unit/object/test_events.py +++ b/test/unit/object/test_events.py @@ -221,11 +221,13 @@ def test_get_admin_events( mock_box_session.get.return_value = events_response events = test_events.get_admin_events( limit=limit, + stream_position=0, created_after='2019-07-01T22:02:24-07:00', created_before='2019-08-07T22:02:24-07:00', event_types=['ITEM_CREATE', "LOGIN"], ) expected_params = dict( + stream_position=0, created_after='2019-07-01T22:02:24-07:00', created_before='2019-08-07T22:02:24-07:00', event_type='ITEM_CREATE,LOGIN', @@ -233,6 +235,7 @@ def test_get_admin_events( ) if limit: expected_params = dict( + stream_position=0, created_after='2019-07-01T22:02:24-07:00', created_before='2019-08-07T22:02:24-07:00', event_type='ITEM_CREATE,LOGIN',