*/ interface RequestLogStorageReadable extends RequestLogStorageWritable { /** * Find user requests. * * Result example: * ``` * [ * [...], * [ * 'user_id' => 'http://sample/first.rdf#i1490617729993174', * 'user_role' => 'http://www.tao.lu/Ontologies/TAO.rdf#BackOfficeRole,http://www.tao.lu/Ontologies/TAOLTI.rdf#LtiDeliveryProviderManagerRole', * 'action' => '/tao/Main/index?structure=settings&ext=tao§ion=settings_ext_mng', * 'event_time' => '1490617792.5479', * 'details' => '"{\"login\":\"proctor\"}"', //json encoded additional data * ], * [...], * ] * ``` * * Filters parameter example: * ``` * [ * ['user_id', 'in', ['http://sample/first.rdf#i1490617729993174', 'http://sample/first.rdf#i1490617729993174'], * ['event_time', 'between', '1490703795.3624', '1490704796.2467'], * ['action', '=', '/tao/Main/login'], * ] * ``` * Available operations: `<`, `>`, `<>`, `<=`, `>=`, `=`, `between`, `like` * * Options parameter example: * ``` * [ * 'limit' => 100, * 'offset' => 200, * 'group' => 'user_id, * ] * ``` * @param array $filters filters by user id, url, role etc. * @param array $options * @return \Iterator */ public function find(array $filters = [], array $options = []); /** * Count number of records by given search criteria * Options parameter example: * ``` * [ * 'group' => 'user_id, * ] * ``` * * @param array $filters @see self::find() description. * @param array $options * @return integer */ public function count(array $filters = [], array $options = []); }