offset=0
)
+ limit:
+ type: string
+ description: |
+ Maximum number of returned log groups (default: limit=25
)
+
+ Example: limit=10
+ filter:
+ type: array
+ description: |
+ List of filters (no filter by default).
+ A filter is a type and parameters depending on this type.
+
+ - type: `object_class`, parameter: `class` (a FQCN)
+ - type: `action`, parameter: `value` (the action)
+ - type: `logged_at`, parameters: `value` and `operator`
+ - `logged_at` `value` value can be anything accepted by `DateTimeImmutable`
+ - `logged_at` `operator` value can be one of the following:
+
+ | Comparison | Value |
+ |-----------------------|-------|
+ | Equal | `=` |
+ | Not equal | `<>` |
+ | Less than | `<` |
+ | Less than or equal | `<=` |
+ | Greater than | `>` |
+ | Greater than or equal | `>=` |
+
+ Example: `filter[0][type]=object_class&filter[0][class]=Ibexa\Contracts\Core\Repository\Values\Content\Content&filter[1][type]=action&filter[1][value]=create&filter[2][type]=logged_at&filter[2][value]=-1hour&filter[2][operator]=>=`
+ sort:
+ type: array
+ description: |
+ List of sort clause and direction pairs
+ (default: sort[0][type]=logged_at&sort[0][direction]=ASC
)
+
+ Example: sort[0][type]=logged_at&sort[0][direction]=DESC
+ responses:
+ 200:
+ body:
+ application/vnd.ibexa.api.ActivityLogGroupList+xml:
+ type: ActivityLogGroupList
+ example: !include examples/activityloggroup/GET/ActivityLogGroupList.xml.example
+ application/vnd.ibexa.api.ActivityLogGroupList+json:
+ type: ActivityLogGroupList
+ example: !include examples/activityloggroup/GET/ActivityLogGroupList.json.example
+ 401:
+ description: Error - the user is not authorized to list activities.
+ post:
+ displayName: List of filtered activity log groups
+ description: Lists activity log groups of entries filtered according to the input payload. List input reflects the criteria model of the PHP API. See Activity Log Search reference.
+ headers:
+ Accept:
+ description: If set, the list is returned in XML or JSON format.
+ example: |
+ application/vnd.ibexa.api.ActivityLogGroupList+xml
+ application/vnd.ibexa.api.ActivityLogGroupList+json
+ Content-Type:
+ description: The ActivityLogListInput query schema encoded in XML or JSON format.
+ example: |
+ application/vnd.ibexa.api.ActivityLogGroupListInput+xml
+ application/vnd.ibexa.api.ActivityLogGroupListInput+json
+ body:
+ application/vnd.ibexa.api.ActivityLogGroupListInput+xml:
+ type: ActivityLogGroupListInput
+ example: !include examples/activityloggroup/POST/ActivityLogGroupListInput.xml.example
+ application/vnd.ibexa.api.ActivityLogGroupListInput+json:
+ type: ActivityLogGroupListInput
+ example: !include examples/activityloggroup/POST/ActivityLogGroupListInput.json.example
+ responses:
+ 200:
+ body:
+ application/vnd.ibexa.api.ActivityLogGroupList+xml:
+ type: ActivityLogGroupList
+ example: !include examples/activityloggroup/POST/ActivityLogGroupList.xml.example
+ application/vnd.ibexa.api.ActivityLogGroupList+json:
+ type: ActivityLogGroupList
+ example: !include examples/activityloggroup/POST/ActivityLogGroupList.json.example
+ 401:
+ description: Error - the user is not authorized to list activities.
diff --git a/docs/api/rest_api/rest_api_reference/input/ibexa-types.raml b/docs/api/rest_api/rest_api_reference/input/ibexa-types.raml
index 1af76e4e3b..c970d76e06 100644
--- a/docs/api/rest_api/rest_api_reference/input/ibexa-types.raml
+++ b/docs/api/rest_api/rest_api_reference/input/ibexa-types.raml
@@ -3968,3 +3968,27 @@ SalesRepresentativesList:
Users:
type: User[]
+ActivityLogGroupListInput:
+ description: "This class represents the activity log group search query's criteria and sort clauses."
+ type: object
+
+ActivityLogGroupList:
+ description: "This class represents activity log context groups"
+ type: object
+ properties:
+ ActivityLogGroups:
+ type: object
+ properties:
+ user_id:
+ type: integer
+ description: "The ID of the user performing the logged actions"
+ logged_at:
+ type: integer
+ description: "Timestamp representing when the group has been logged"
+ ActivityLogEntries:
+ type: ActivityLog[]
+ description: "Log entries from the group"
+
+ActivityLog:
+ description: 'This class represents an activity log entry.'
+ type: object
diff --git a/docs/api/rest_api/rest_api_reference/input/ibexa.raml b/docs/api/rest_api/rest_api_reference/input/ibexa.raml
index 81fffaa0ea..8b52aa24cf 100644
--- a/docs/api/rest_api/rest_api_reference/input/ibexa.raml
+++ b/docs/api/rest_api/rest_api_reference/input/ibexa.raml
@@ -77,4 +77,6 @@ baseUri: ../rest_api_usage/rest_api_usage/
/taxonomy: !include ibexa-taxonomy.raml
+/activity-log-group: !include ibexa-activityloggroup.raml
+
types: !include ibexa-types.raml
diff --git a/docs/api/rest_api/rest_api_reference/rest_api_reference.html b/docs/api/rest_api/rest_api_reference/rest_api_reference.html
index 3c4c231c33..b3dde91ddb 100644
--- a/docs/api/rest_api/rest_api_reference/rest_api_reference.html
+++ b/docs/api/rest_api/rest_api_reference/rest_api_reference.html
@@ -125122,6 +125122,1262 @@ + GET + /activity-log-group/list +
+Lists last activity log groups and their entries.
+ +Accept
+If set, the list is returned in XML or JSON format.
+Property | +Value | +
---|---|
Type | ++ + + string + + + + + | +
Examples | +
+ application/vnd.ibexa.api.ActivityLogGroupList+xml
+application/vnd.ibexa.api.ActivityLogGroupList+json
+
+ |
+
Property | +Type | +Value | +||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
+ offset + | ++ + + string + + + + + | +
+ (default: |
+||||||||||||||
+ limit + | ++ + + string + + + + + | +
+ Maximum number of returned log groups (default: Example: |
+||||||||||||||
+ filter + | ++ + | +
+ List of filters (no filter by default). +A filter is a type and parameters depending on this type. +
Example: |
+||||||||||||||
+ sort + | ++ + | +
+ List of sort clause and direction pairs
+(default: Example: |
+
Code | +Description | +
---|---|
+ + 200 + + | ++ + | +
+ 401 + | +
+ Error - the user is not authorized to list activities. + |
+
Type | +Description | +
---|---|
+ + ActivityLogGroupList + + | +This class represents activity log context groups | +
Code: 200
+ + file_copy + +
+
+ <?xml version="1.0" encoding="UTF-8"?>
+<ActivityLogGroupList media-type="application/vnd.ibexa.api.ActivityLogGroupList+xml" href="/api/ibexa/v2/activity-log-group/list">
+ <ActivityLogGroup media-type="application/vnd.ibexa.api.ActivityLogGroup+xml">
+ <user_id>14</user_id>
+ <logged_at>1707478796</logged_at>
+ <ActivityLog media-type="application/vnd.ibexa.api.ActivityLog+xml">
+ <object_id>396</object_id>
+ <object_class>Ibexa\Contracts\Core\Repository\Values\Content\Content</object_class>
+ <action>create</action>
+ <data/>
+ </ActivityLog>
+ <ActivityLog media-type="application/vnd.ibexa.api.ActivityLog+xml">
+ <object_id>396</object_id>
+ <object_class>Ibexa\Contracts\Core\Repository\Values\Content\Content</object_class>
+ <action>publish</action>
+ <data/>
+ </ActivityLog>
+ </ActivityLogGroup>
+ <ActivityLogGroup media-type="application/vnd.ibexa.api.ActivityLogGroup+xml">
+ <user_id>14</user_id>
+ <logged_at>1707475048</logged_at>
+ <ActivityLog media-type="application/vn
+
+ + file_copy + +
+
+ {
+ "ActivityLogGroupList": {
+ "_media-type": "application\/vnd.ibexa.api.ActivityLogGroupList+json",
+ "_href": "\/api\/ibexa\/v2\/activity-log-group\/list",
+ "ActivityLogGroups": [
+ {
+ "_media-type": "application\/vnd.ibexa.api.ActivityLogGroup+json",
+ "user_id": 14,
+ "logged_at": 1707478796,
+ "ActivityLogEntries": [
+ {
+ "_media-type": "application\/vnd.ibexa.api.ActivityLog+json",
+ "object_id": "396",
+ "object_class": "Ibexa\\Contracts\\Core\\Repository\\Values\\Content\\Content",
+ "action": "create",
+ "data": {}
+ },
+ {
+ "_media-type": "application\/vnd.ibexa.api.ActivityLog+json",
+ "object_id": "396",
+ "object_class": "Ibexa\\Contracts\\Core\\Repository\
+
+ + POST + /activity-log-group/list +
+Lists activity log groups of entries filtered according to the input payload. List input reflects the criteria model of the PHP API. See Activity Log Search reference.
+ +Accept
+If set, the list is returned in XML or JSON format.
+Property | +Value | +
---|---|
Type | ++ + + string + + + + + | +
Examples | +
+ application/vnd.ibexa.api.ActivityLogGroupList+xml
+application/vnd.ibexa.api.ActivityLogGroupList+json
+
+ |
+
Content-Type
+The ActivityLogListInput query schema encoded in XML or JSON format.
+Property | +Value | +
---|---|
Type | ++ + + string + + + + + | +
Examples | +
+ application/vnd.ibexa.api.ActivityLogGroupListInput+xml
+application/vnd.ibexa.api.ActivityLogGroupListInput+json
+
+ |
+
Code | +Description | +
---|---|
+ + 200 + + | ++ + | +
+ 401 + | +
+ Error - the user is not authorized to list activities. + |
+
Type | +Description | +
---|---|
+ + ActivityLogGroupListInput + + | +This class represents the activity log group search query's criteria and sort clauses. | +
+ + ActivityLogGroupList + + | +This class represents activity log context groups | +
+ file_copy + +
+
+ <?xml version="1.0" encoding="UTF-8" ?>
+<ActivityLogListInput>
+ <offset>0</offset>
+ <limit>10</limit>
+ <criteria>
+ <criterion type="object_class">
+ <class>Ibexa\Contracts\Core\Repository\Values\Content\Content</class>
+ </criterion>
+ <criterion type="action">
+ <value>create</value>
+ </criterion>
+ <criterion type="logged_at">
+ <value>- 1 hour</value>
+ <operator>>=</operator>
+ </criterion>
+ </criteria>
+ <sortClauses>
+ <sortClause type="logged_at">DESC</sortClause>
+ </sortClauses>
+</ActivityLogListInput>
+
+ + file_copy + +
+
+ {
+ "ActivityLogGroupListInput": {
+ "offset": 0,
+ "limit": 10,
+ "criteria": [
+ {"type": "object_class", "class": "Ibexa\\Contracts\\Core\\Repository\\Values\\Content\\Content"},
+ {"type": "action", "value": ["create"]},
+ {"type": "logged_at", "value": "- 1 hour", "operator": ">="}
+ ],
+ "sortClauses": [
+ {"type": "logged_at", "direction": "DESC"}
+ ]
+ }
+}
+
+
+ Code: 200
+ + file_copy + +
+
+ <?xml version="1.0" encoding="UTF-8"?>
+<ActivityLogGroupList media-type="application/vnd.ibexa.api.ActivityLogGroupList+xml" href="/api/ibexa/v2/activity-log-group/list">
+ <ActivityLogGroup media-type="application/vnd.ibexa.api.ActivityLogGroup+xml">
+ <user_id>14</user_id>
+ <logged_at>1707478796</logged_at>
+ <ActivityLog media-type="application/vnd.ibexa.api.ActivityLog+xml">
+ <object_id>396</object_id>
+ <object_class>Ibexa\Contracts\Core\Repository\Values\Content\Content</object_class>
+ <action>create</action>
+ <data/>
+ </ActivityLog>
+ <ActivityLog media-type="application/vnd.ibexa.api.ActivityLog+xml">
+ <object_id>396</object_id>
+ <object_class>Ibexa\Contracts\Core\Repository\Values\Content\Content</object_class>
+ <action>publish</action>
+ <data/>
+ </ActivityLog>
+ </ActivityLogGroup>
+ <ActivityLogGroup media-type="application/vnd.ibexa.api.ActivityLogGroup+xml">
+ <user_id>14</user_id>
+ <logged_at>1707475048</logged_at>
+ <ActivityLog media-type="application/vn
+
+ + file_copy + +
+
+ {
+ "ActivityLogGroupList": {
+ "_media-type": "application\/vnd.ibexa.api.ActivityLogGroupList+json",
+ "_href": "\/api\/ibexa\/v2\/activity-log-group\/list",
+ "ActivityLogGroups": [
+ {
+ "_media-type": "application\/vnd.ibexa.api.ActivityLogGroup+json",
+ "user_id": 14,
+ "logged_at": 1707478796,
+ "ActivityLogEntries": [
+ {
+ "_media-type": "application\/vnd.ibexa.api.ActivityLog+json",
+ "object_id": "396",
+ "object_class": "Ibexa\\Contracts\\Core\\Repository\\Values\\Content\\Content",
+ "action": "create",
+ "data": {}
+ },
+ {
+ "_media-type": "application\/vnd.ibexa.api.ActivityLog+json",
+ "object_id": "396",
+ "object_class": "Ibexa\\Contracts\\Core\\Repository\
+
+