From 7d21645ea9b3e3549333f68aa65b2ac34421d375 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Noco=C5=84?= Date: Wed, 17 Sep 2025 10:52:24 +0200 Subject: [PATCH 1/6] Collaborative Editing criterions and sort clauses --- .../created_at_invitation_criterion.md | 23 ++++++++++++ .../created_at_invitation_sort_clause.md | 19 ++++++++++ .../invitation/id_invitation_criterion.md | 23 ++++++++++++ .../invitation_id_invitation_sort_clause.md | 19 ++++++++++ ...nvitation_status_invitation_sort_clause.md | 19 ++++++++++ .../logical_and_invitation_criterion.md | 20 ++++++++++ .../logical_or_invitation_criterion.md | 18 +++++++++ .../invitation/sender_invitation_criterion.md | 26 +++++++++++++ .../session_invitation_criterion.md | 26 +++++++++++++ .../invitation/status_invitation_criterion.md | 23 ++++++++++++ .../updated_at_invitation_criterion.md | 23 ++++++++++++ .../updated_at_invitation_sort_clause.md | 19 ++++++++++ .../session/content_id_session_criterion.md | 23 ++++++++++++ .../session/content_session_criterion.md | 26 +++++++++++++ .../session/created_at_session_criterion.md | 23 ++++++++++++ .../session/created_at_session_sort_clause.md | 19 ++++++++++ .../session/email_session_criterion.md | 23 ++++++++++++ .../session/id_session_criterion.md | 23 ++++++++++++ .../session/is_active_session_criterion.md | 23 ++++++++++++ .../session/language_id_session_criterion.md | 23 ++++++++++++ .../session/logical_and_session_criterion.md | 18 +++++++++ .../session/logical_or_session_criterion.md | 18 +++++++++ .../session/owner_session_criterion.md | 26 +++++++++++++ .../session/session_id_session_sort_clause.md | 19 ++++++++++ .../session/token_session_criterion.md | 23 ++++++++++++ .../session/type_session_criterion.md | 23 ++++++++++++ .../session/updated_at_session_criterion.md | 23 ++++++++++++ .../session/updated_at_session_sort_clause.md | 19 ++++++++++ .../session/user_id_session_criterion.md | 26 +++++++++++++ .../session/version_no_session_criterion.md | 23 ++++++++++++ mkdocs.yml | 37 +++++++++++++++++++ 31 files changed, 696 insertions(+) create mode 100644 docs/search/collaborative_editing_search_reference/invitation/created_at_invitation_criterion.md create mode 100644 docs/search/collaborative_editing_search_reference/invitation/created_at_invitation_sort_clause.md create mode 100644 docs/search/collaborative_editing_search_reference/invitation/id_invitation_criterion.md create mode 100644 docs/search/collaborative_editing_search_reference/invitation/invitation_id_invitation_sort_clause.md create mode 100644 docs/search/collaborative_editing_search_reference/invitation/invitation_status_invitation_sort_clause.md create mode 100644 docs/search/collaborative_editing_search_reference/invitation/logical_and_invitation_criterion.md create mode 100644 docs/search/collaborative_editing_search_reference/invitation/logical_or_invitation_criterion.md create mode 100644 docs/search/collaborative_editing_search_reference/invitation/sender_invitation_criterion.md create mode 100644 docs/search/collaborative_editing_search_reference/invitation/session_invitation_criterion.md create mode 100644 docs/search/collaborative_editing_search_reference/invitation/status_invitation_criterion.md create mode 100644 docs/search/collaborative_editing_search_reference/invitation/updated_at_invitation_criterion.md create mode 100644 docs/search/collaborative_editing_search_reference/invitation/updated_at_invitation_sort_clause.md create mode 100644 docs/search/collaborative_editing_search_reference/session/content_id_session_criterion.md create mode 100644 docs/search/collaborative_editing_search_reference/session/content_session_criterion.md create mode 100644 docs/search/collaborative_editing_search_reference/session/created_at_session_criterion.md create mode 100644 docs/search/collaborative_editing_search_reference/session/created_at_session_sort_clause.md create mode 100644 docs/search/collaborative_editing_search_reference/session/email_session_criterion.md create mode 100644 docs/search/collaborative_editing_search_reference/session/id_session_criterion.md create mode 100644 docs/search/collaborative_editing_search_reference/session/is_active_session_criterion.md create mode 100644 docs/search/collaborative_editing_search_reference/session/language_id_session_criterion.md create mode 100644 docs/search/collaborative_editing_search_reference/session/logical_and_session_criterion.md create mode 100644 docs/search/collaborative_editing_search_reference/session/logical_or_session_criterion.md create mode 100644 docs/search/collaborative_editing_search_reference/session/owner_session_criterion.md create mode 100644 docs/search/collaborative_editing_search_reference/session/session_id_session_sort_clause.md create mode 100644 docs/search/collaborative_editing_search_reference/session/token_session_criterion.md create mode 100644 docs/search/collaborative_editing_search_reference/session/type_session_criterion.md create mode 100644 docs/search/collaborative_editing_search_reference/session/updated_at_session_criterion.md create mode 100644 docs/search/collaborative_editing_search_reference/session/updated_at_session_sort_clause.md create mode 100644 docs/search/collaborative_editing_search_reference/session/user_id_session_criterion.md create mode 100644 docs/search/collaborative_editing_search_reference/session/version_no_session_criterion.md diff --git a/docs/search/collaborative_editing_search_reference/invitation/created_at_invitation_criterion.md b/docs/search/collaborative_editing_search_reference/invitation/created_at_invitation_criterion.md new file mode 100644 index 0000000000..c4f80dedba --- /dev/null +++ b/docs/search/collaborative_editing_search_reference/invitation/created_at_invitation_criterion.md @@ -0,0 +1,23 @@ +--- +description: CreatedAt Search Criterion +--- + +# CreatedAt Search Criterion + +The `CreatedAt` Search Criterion searches for invitations based on the date they were created. + +## Arguments + +- `value` - date to be matched, provided as a DateTimeInterface object +- `operator` - optional operator string (EQ, GT, GTE, LT, LTE) + +## Example + +```php +$criteria = new \Ibexa\Contracts\Collaboration\Invitation\Query\Criterion\CreatedAt( + new DateTime('2025-05-01 14:07:02'), + 'GTE' +); + +$query = new InvitationQuery($criteria); +``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/invitation/created_at_invitation_sort_clause.md b/docs/search/collaborative_editing_search_reference/invitation/created_at_invitation_sort_clause.md new file mode 100644 index 0000000000..d9308d9d04 --- /dev/null +++ b/docs/search/collaborative_editing_search_reference/invitation/created_at_invitation_sort_clause.md @@ -0,0 +1,19 @@ +--- +description: CreatedAt Sort Clause +--- + +# CreatedAt Sort Clause + +The `CreatedAt` Sort Clause sorts search results by the date and time of the creation of invitation. + +## Arguments + +- (optional) `direction` - SortDirection constant, either SortDirection::ASC or SortDirection::DESC. + +## Example + +```php +$sortClause = [new \Ibexa\Contracts\Collaboration\Invitation\Query\SortClause\CreatedAt(SortDirection::DESC)]); + +$query = new InvitationQuery($criteria, sortClause); +``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/invitation/id_invitation_criterion.md b/docs/search/collaborative_editing_search_reference/invitation/id_invitation_criterion.md new file mode 100644 index 0000000000..7a44e27af4 --- /dev/null +++ b/docs/search/collaborative_editing_search_reference/invitation/id_invitation_criterion.md @@ -0,0 +1,23 @@ +--- +description: Id Search Criterion +--- + +# Id Criterion + +The `Id` Search Criterion searches for invitations based on invitation ID. + +## Arguments + +- `value` - integer(s) representing the Invitation ID(s) + +## Example + +```php +$criteria = new \Ibexa\Contracts\Collaboration\Invitation\Query\Criterion\Id(1); + +OR + +$criteria = new \Ibexa\Contracts\Collaboration\Invitation\Query\Criterion\Id([1, 2]); + +$query = new SessionQuery($criteria); +``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/invitation/invitation_id_invitation_sort_clause.md b/docs/search/collaborative_editing_search_reference/invitation/invitation_id_invitation_sort_clause.md new file mode 100644 index 0000000000..2b5af37d6f --- /dev/null +++ b/docs/search/collaborative_editing_search_reference/invitation/invitation_id_invitation_sort_clause.md @@ -0,0 +1,19 @@ +--- +description: InvitationId Sort Clause +--- + +# InvitationId Sort Clause + +The `InvitationId` Sort Clause sorts search results by invitation ID. + +## Arguments + +- (optional) `direction` - SortDirection constant, either SortDirection::ASC or SortDirection::DESC. + +## Example + +```php +$sortClause = [new \Ibexa\Contracts\Collaboration\Invitation\Query\SortClause\Id(SortDirection::DESC)]); + +$query = new InvitationQuery($criteria, sortClause); +``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/invitation/invitation_status_invitation_sort_clause.md b/docs/search/collaborative_editing_search_reference/invitation/invitation_status_invitation_sort_clause.md new file mode 100644 index 0000000000..e097d7eadb --- /dev/null +++ b/docs/search/collaborative_editing_search_reference/invitation/invitation_status_invitation_sort_clause.md @@ -0,0 +1,19 @@ +--- +description: InvitationStatus Sort Clause +--- + +# InvitationStatus Sort Clause + +The `InvitationStatus` Sort Clause sorts search results by invitation status. + +## Arguments + +- (optional) `direction` - SortDirection constant, either SortDirection::ASC or SortDirection::DESC. + +## Example + +```php +$sortClause = [new \Ibexa\Contracts\Collaboration\Invitation\Query\SortClause\Status(SortDirection::DESC)]); + +$query = new InvitationQuery($criteria, sortClause); +``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/invitation/logical_and_invitation_criterion.md b/docs/search/collaborative_editing_search_reference/invitation/logical_and_invitation_criterion.md new file mode 100644 index 0000000000..9c109c1dab --- /dev/null +++ b/docs/search/collaborative_editing_search_reference/invitation/logical_and_invitation_criterion.md @@ -0,0 +1,20 @@ +--- +description: LogicalAnd Search Criterion +--- + +# LogicalAnd Criterion + +The `LogicalAnd` Search Criterion matches combined invitations by the logical operator. + +## Example + +```php +$currentUser = $this->permissionResolver->getCurrentUserReference(); + +$criteria = \Ibexa\Contracts\Collaboration\Invitation\Query\Criterion\LogicalAnd( + new \Ibexa\Contracts\Collaboration\Invitation\Query\Criterion\Status('pending'), + new \Ibexa\Contracts\Collaboration\Invitation\Query\Criterion\Sender($currentUser) +); + +$query = new InvitationQuery($criteria); +``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/invitation/logical_or_invitation_criterion.md b/docs/search/collaborative_editing_search_reference/invitation/logical_or_invitation_criterion.md new file mode 100644 index 0000000000..22f78914d0 --- /dev/null +++ b/docs/search/collaborative_editing_search_reference/invitation/logical_or_invitation_criterion.md @@ -0,0 +1,18 @@ +--- +description: LogicalOr Search Criterion +--- + +# LogicalOr Criterion + +The `LogicalOr` Search Criterion matches combined invitations by the logical operator. + +## Example + +```php +$criteria = \Ibexa\Contracts\Collaboration\Invitation\Query\Criterion\LogicalOr( , + new \Ibexa\Contracts\Collaboration\Invitation\Query\Criterion\Id(1), + new \Ibexa\Contracts\Collaboration\Invitation\Query\Criterion\Status('pending') +); + +$query = new InvitationQuery($criteria); +``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/invitation/sender_invitation_criterion.md b/docs/search/collaborative_editing_search_reference/invitation/sender_invitation_criterion.md new file mode 100644 index 0000000000..5c6a21850c --- /dev/null +++ b/docs/search/collaborative_editing_search_reference/invitation/sender_invitation_criterion.md @@ -0,0 +1,26 @@ +--- +description: Sender Search Criterion +--- + +# Sender Search Criterion + +The `Sender` Search Criterion searches for invitations based on invitation sender. + +## Arguments + +- `value` - user(s) to be matched, provided as a UserReference object + +## Example + +```php +$user = $this->userService->loadUserByLogin('foo'); +$currentUser = $this->permissionResolver->getCurrentUserReference(); + +$criteria = new \Ibexa\Contracts\Collaboration\Invitation\Query\Criterion\Owner($user); + +OR + +$criteria = new \Ibexa\Contracts\Collaboration\Invitation\Query\Criterion\Owner([$user, $currentUser]); + +$query = new InvitationQuery($criteria); +``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/invitation/session_invitation_criterion.md b/docs/search/collaborative_editing_search_reference/invitation/session_invitation_criterion.md new file mode 100644 index 0000000000..21646bc637 --- /dev/null +++ b/docs/search/collaborative_editing_search_reference/invitation/session_invitation_criterion.md @@ -0,0 +1,26 @@ +--- +description: Session Search Criterion +--- + +# Session Search Criterion + +The `Session` Search Criterion searches for invitations based on session. + +## Arguments + +- `value` - objects(s) representing the session(s) and implementing `\Ibexa\Contracts\Collaboration\Session\SessionInterface` + +## Example + +```php +$firstSession = $this->sessionService->getSession(1); +$secondSession = $this->sessionService->getSession(2); + +$criteria = new \Ibexa\Contracts\Collaboration\Invitation\Query\Criterion\Session($firstSession); + +OR + +$criteria = new \Ibexa\Contracts\Collaboration\Invitation\Query\Criterion\Session([$firstSession, $secondSession]); + +$query = new InvitationQuery($criteria); +``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/invitation/status_invitation_criterion.md b/docs/search/collaborative_editing_search_reference/invitation/status_invitation_criterion.md new file mode 100644 index 0000000000..25f4b731fe --- /dev/null +++ b/docs/search/collaborative_editing_search_reference/invitation/status_invitation_criterion.md @@ -0,0 +1,23 @@ +--- +description: Status Search Criterion +--- + +# Status Search Criterion + +The `Status` Search Criterion searches for invitations based on status. + +## Arguments + +- `value` - string(s) representing the invitation status(es) + +## Example + +```php +$criteria = new \Ibexa\Contracts\Collaboration\Invitation\Query\Criterion\Type('pending'); + +OR + +$criteria = new \Ibexa\Contracts\Collaboration\Invitation\Query\Criterion\Type(['pending', 'accepted']); + +$query = new InvitationQuery($criteria); +``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/invitation/updated_at_invitation_criterion.md b/docs/search/collaborative_editing_search_reference/invitation/updated_at_invitation_criterion.md new file mode 100644 index 0000000000..c56ed9671a --- /dev/null +++ b/docs/search/collaborative_editing_search_reference/invitation/updated_at_invitation_criterion.md @@ -0,0 +1,23 @@ +--- +description: UpdatedAt Search Criterion +--- + +# UpdatedAt Criterion + +The `UpdatedAt` Search Criterion searches for invitations based on the date they were updated. + +## Arguments + +- `value` - date to be matched, provided as a DateTimeInterface object +- `operator` - optional operator string (EQ, GT, GTE, LT, LTE) + +## Example + +```php +$criteria = new \Ibexa\Contracts\Collaboration\Invitation\Query\Criterion\UpdatedAt( + new DateTime('2025-05-01 14:07:02'), + 'GTE' +); + +$query = new InvitationQuery($criteria); +``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/invitation/updated_at_invitation_sort_clause.md b/docs/search/collaborative_editing_search_reference/invitation/updated_at_invitation_sort_clause.md new file mode 100644 index 0000000000..0d52a0b86f --- /dev/null +++ b/docs/search/collaborative_editing_search_reference/invitation/updated_at_invitation_sort_clause.md @@ -0,0 +1,19 @@ +--- +description: UpdatedAt Sort Clause +--- + +# UpdatedAt Sort Clause + +The UpdatedAt Sort Clause sorts search results by the date and time when invitation was updated. + +## Arguments + +- (optional) `direction` - SortDirection constant, either SortDirection::ASC or SortDirection::DESC. + +## Example + +```php +$sortClause = [new \Ibexa\Contracts\Collaboration\Invitation\Query\SortClause\UpdatedAt(SortDirection::DESC)]); + +$query = new InvitationQuery($criteria, sortClause); +``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/session/content_id_session_criterion.md b/docs/search/collaborative_editing_search_reference/session/content_id_session_criterion.md new file mode 100644 index 0000000000..3a3bffe5e1 --- /dev/null +++ b/docs/search/collaborative_editing_search_reference/session/content_id_session_criterion.md @@ -0,0 +1,23 @@ +--- +description: ContentID Search Criterion +--- + +# ContentID Criterion + +The `ContentID` Search Criterion searches for content sessions based on content item ID. + +## Arguments + +- `value` - integer(s) representing the content item id(s) + +## Example + +```php +$criteria = new Ibexa\Share\Session\Query\Criterion\ContentId(1); + +OR + +$criteria = new Ibexa\Share\Session\Query\Criterion\ContentId([1, 2]); + +$query = new SessionQuery($criteria); +``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/session/content_session_criterion.md b/docs/search/collaborative_editing_search_reference/session/content_session_criterion.md new file mode 100644 index 0000000000..d01c731414 --- /dev/null +++ b/docs/search/collaborative_editing_search_reference/session/content_session_criterion.md @@ -0,0 +1,26 @@ +--- +description: ContentSession Search Criterion +--- + +# ContentSession Criterion + +The `ContentSession` Search Criterion searches for contentId, versionNo, languageId. + +## Arguments + +- `contentId` - integer representing content item ID +- `versionNo` - integer representing version number +- `languageId` - integer representing language ID + +## Example + +```php +$criteria = new Ibexa\Share\Session\Query\Criterion\ContentSession(1, 2, 3); + +OR + +$versionInfo = $this->contentService->loadVersionInfoById(1); +$criteria = new Ibexa\Share\Session\Query\Criterion\ContentSession::fromVersionInfo($versionInfo); + +$query = new SessionQuery($criteria); +``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/session/created_at_session_criterion.md b/docs/search/collaborative_editing_search_reference/session/created_at_session_criterion.md new file mode 100644 index 0000000000..7183bc8025 --- /dev/null +++ b/docs/search/collaborative_editing_search_reference/session/created_at_session_criterion.md @@ -0,0 +1,23 @@ +--- +description: CreatedAt Search Criterion +--- + +# CreatedAt Criterion + +The `CreatedAt` Search Criterion searches for sessions based on the date when they were created. + +## Arguments + +- `value` - date to be matched, provided as a DateTimeInterface object +- `operator` - optional operator string (EQ, GT, GTE, LT, LTE) + +## Example + +```php +$criteria = new Ibexa\Contracts\Collaboration\Session\Query\Criterion\CreatedAt( + new DateTime('2025-05-01 14:07:02'), + 'GTE' +); + +$query = new SessionQuery($criteria); +``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/session/created_at_session_sort_clause.md b/docs/search/collaborative_editing_search_reference/session/created_at_session_sort_clause.md new file mode 100644 index 0000000000..ec7dadfcab --- /dev/null +++ b/docs/search/collaborative_editing_search_reference/session/created_at_session_sort_clause.md @@ -0,0 +1,19 @@ +--- +description: CreatedAt Sort Clause +--- + +# CreatedAt Sort Clause + +The `CreatedAt` Sort Clause sorts search results by the date and time of the creation of session. + +## Arguments + +- (optional) `direction` - SortDirection constant, either SortDirection::ASC or SortDirection::DESC. + +## Example + +```php +$sortClause = [new \Ibexa\Contracts\Collaboration\Session\Query\SortClause\CreatedAt(SortDirection::DESC)]); + +$query = new SessionQuery($criteria, sortClause); +``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/session/email_session_criterion.md b/docs/search/collaborative_editing_search_reference/session/email_session_criterion.md new file mode 100644 index 0000000000..dfb75b00fe --- /dev/null +++ b/docs/search/collaborative_editing_search_reference/session/email_session_criterion.md @@ -0,0 +1,23 @@ +--- +description: Email Search Criterion +--- + +# Email Criterion + +The `Email` Search Criterion searches for sessions based on external participant email. + +## Arguments + +- `value` - string(s) representing the Participant email(s) + +## Example + +```php +$criteria = new Ibexa\Contracts\Collaboration\Session\Query\Criterion\Email('participant@link.invalid'); + +OR + +$criteria = new \Ibexa\Contracts\Collaboration\Session\Query\Criterion\Email(...['participant1@link.invalid', 'participant2@link.invalid']); + +$query = new SessionQuery($criteria); +``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/session/id_session_criterion.md b/docs/search/collaborative_editing_search_reference/session/id_session_criterion.md new file mode 100644 index 0000000000..172511fbac --- /dev/null +++ b/docs/search/collaborative_editing_search_reference/session/id_session_criterion.md @@ -0,0 +1,23 @@ +--- +description: Id Search Criterion +--- + +# Id Criterion + +The `Id` Search Criterion searches for sessions based on session ID. + +## Arguments + +- `value` - integer(s) representing the Session ID(s) + +## Example + +```php +$criteria = new Ibexa\Contracts\Collaboration\Session\Query\Criterion\Id(1); + +OR + +$criteria = new Ibexa\Contracts\Collaboration\Session\Query\Criterion\Id([1, 2]); + +$query = new SessionQuery($criteria); +``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/session/is_active_session_criterion.md b/docs/search/collaborative_editing_search_reference/session/is_active_session_criterion.md new file mode 100644 index 0000000000..e4b0d298e2 --- /dev/null +++ b/docs/search/collaborative_editing_search_reference/session/is_active_session_criterion.md @@ -0,0 +1,23 @@ +--- +description: IsActive Search Criterion +--- + +# IsActive Criterion + +The `IsActive` Search Criterion searches for sessions based on active status. + +## Arguments + +- (optional) `value` - bool representing the whether to search for active (default true) or inactive (false) sessions. + +## Example + +```php +$criteria = new Ibexa\Contracts\Collaboration\Session\Query\Criterion\IsActive(); + +OR + +$criteria = new Ibexa\Contracts\Collaboration\Session\Query\Criterion\IsActive(false); + +$query = new SessionQuery($criteria); +``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/session/language_id_session_criterion.md b/docs/search/collaborative_editing_search_reference/session/language_id_session_criterion.md new file mode 100644 index 0000000000..8ab3c9996b --- /dev/null +++ b/docs/search/collaborative_editing_search_reference/session/language_id_session_criterion.md @@ -0,0 +1,23 @@ +--- +description: LanguageID Search Criterion +--- + +# LanguageID Criterion + +The `LanguageID` Search Criterion searches for content sessions based on language ID of content item. + +## Arguments + +- `value` - integer(s) representing language id(s) + +## Example + +```php +$criteria = new Ibexa\Share\Session\Query\Criterion\LanguageId(1); + +OR + +$criteria = new Ibexa\Share\Session\Query\Criterion\LanguageId([1, 2]); + +$query = new SessionQuery($criteria); +``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/session/logical_and_session_criterion.md b/docs/search/collaborative_editing_search_reference/session/logical_and_session_criterion.md new file mode 100644 index 0000000000..3308e7390d --- /dev/null +++ b/docs/search/collaborative_editing_search_reference/session/logical_and_session_criterion.md @@ -0,0 +1,18 @@ +--- +description: LogicalAnd Search Criterion +--- + +# LogicalAnd Criterion + +The `LogicalAnd` Search Criterion matches combined sessions by the logical operator. + +## Example + +```php +$criteria = Ibexa\Contracts\Collaboration\Session\Query\Criterion\LogicalAnd( + new Ibexa\Contracts\Collaboration\Session\Query\Criterion\IsActive(), + new Ibexa\Contracts\Collaboration\Session\Query\Criterion\Type('content') +); + +$query = new SessionQuery($criteria); +``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/session/logical_or_session_criterion.md b/docs/search/collaborative_editing_search_reference/session/logical_or_session_criterion.md new file mode 100644 index 0000000000..fcad1ef9b0 --- /dev/null +++ b/docs/search/collaborative_editing_search_reference/session/logical_or_session_criterion.md @@ -0,0 +1,18 @@ +--- +description: LogicalOr Search Criterion +--- + +# LogicalOr Criterion + +The `LogicalOr` Search Criterion matches combined sessions by the logical operator. + +## Example + +```php +$criteria = Ibexa\Contracts\Collaboration\Session\Query\Criterion\LogicalOr( , + new Ibexa\Contracts\Collaboration\Session\Query\Criterion\Id(1), + new Ibexa\Contracts\Collaboration\Session\Query\Criterion\Token('12345-12345-12345-12345') +); + +$query = new SessionQuery($criteria); +``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/session/owner_session_criterion.md b/docs/search/collaborative_editing_search_reference/session/owner_session_criterion.md new file mode 100644 index 0000000000..e86c31b6b3 --- /dev/null +++ b/docs/search/collaborative_editing_search_reference/session/owner_session_criterion.md @@ -0,0 +1,26 @@ +--- +description: Owner Search Criterion +--- + +# Owner Criterion + +The `Owner` Search Criterion searches for sessions based on session Owner. + +## Arguments + +- `value` - user(s) to be matched, provided as a UserReference object + +## Example + +```php +$user = $this->userService->loadUserByLogin('foo'); +$currentUser = $this->permissionResolver->getCurrentUserReference(); + +$criteria = new Ibexa\Contracts\Collaboration\Session\Query\Criterion\Owner($user); + +OR + +$criteria = new Ibexa\Contracts\Collaboration\Session\Query\Criterion\Owner([$user, $currentUser]); + +$query = new SessionQuery($criteria); +``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/session/session_id_session_sort_clause.md b/docs/search/collaborative_editing_search_reference/session/session_id_session_sort_clause.md new file mode 100644 index 0000000000..9f00e2b1f3 --- /dev/null +++ b/docs/search/collaborative_editing_search_reference/session/session_id_session_sort_clause.md @@ -0,0 +1,19 @@ +--- +description: SessionId Sort Clause +--- + +# SessionId Sort Clause + +The `SessionId` Sort Clause sorts search results by session ID. + +## Arguments + +- (optional) `direction` - SortDirection constant, either SortDirection::ASC or SortDirection::DESC. + +## Example + +```php +$sortClause = [new \Ibexa\Contracts\Collaboration\Session\Query\SortClause\Id(SortDirection::DESC)]); + +$query = new SessionQuery($criteria, sortClause); +``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/session/token_session_criterion.md b/docs/search/collaborative_editing_search_reference/session/token_session_criterion.md new file mode 100644 index 0000000000..05c4b6f55c --- /dev/null +++ b/docs/search/collaborative_editing_search_reference/session/token_session_criterion.md @@ -0,0 +1,23 @@ +--- +description: Token Search Criterion +--- + +# Token Criterion + +The `Token` Search Criterion searches for sessions based on session token. + +## Arguments + +- `value` - string(s) representing the session token(s) + +## Example + +```php +$criteria = new Ibexa\Contracts\Collaboration\Session\Query\Criterion\Token('12345-12345-12345-12345-12345'); + +OR + +$criteria = new Ibexa\Contracts\Collaboration\Session\Query\Criterion\Token(['12345-12345-12345-12345-12345', '12345-67890-098765-54321-12345']); + +$query = new SessionQuery($criteria); +``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/session/type_session_criterion.md b/docs/search/collaborative_editing_search_reference/session/type_session_criterion.md new file mode 100644 index 0000000000..5ee59b10ea --- /dev/null +++ b/docs/search/collaborative_editing_search_reference/session/type_session_criterion.md @@ -0,0 +1,23 @@ +--- +description: Type Search Criterion +--- + +# Type Criterion + +The `Type` Search Criterion searches for sessions based on session type. + +## Arguments + +- `value` - string(s) representing the session type(s) + +## Example + +```php +$criteria = new Ibexa\Contracts\Collaboration\Session\Query\Criterion\Type('content'); + +OR + +$criteria = new Ibexa\Contracts\Collaboration\Session\Query\Criterion\Type(['content', 'product']); + +$query = new SessionQuery($criteria); +``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/session/updated_at_session_criterion.md b/docs/search/collaborative_editing_search_reference/session/updated_at_session_criterion.md new file mode 100644 index 0000000000..5d120bab9f --- /dev/null +++ b/docs/search/collaborative_editing_search_reference/session/updated_at_session_criterion.md @@ -0,0 +1,23 @@ +--- +description: UpdatedAt Search Criterion +--- + +# UpdatedAt Criterion + +The `UpdatedAt` Search Criterion searches for sessions based on the date they were updated. + +## Arguments + +- `value` - date to be matched, provided as a DateTimeInterface object +- `operator` - optional operator string (EQ, GT, GTE, LT, LTE) + +## Example + +```php +$criteria = new Ibexa\Contracts\Collaboration\Session\Query\Criterion\UpdatedAt( + new DateTime('2025-05-01 14:07:02'), + 'GTE' +); + +$query = new SessionQuery($criteria); +``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/session/updated_at_session_sort_clause.md b/docs/search/collaborative_editing_search_reference/session/updated_at_session_sort_clause.md new file mode 100644 index 0000000000..7fd80dc04d --- /dev/null +++ b/docs/search/collaborative_editing_search_reference/session/updated_at_session_sort_clause.md @@ -0,0 +1,19 @@ +--- +description: UpdatedAt Sort Clause +--- + +# UpdatedAt Sort Clause + +The `UpdatedAt` Sort Clause sorts search results by the date and time when session was updated. + +## Arguments + +- (optional) `direction` - SortDirection constant, either SortDirection::ASC or SortDirection::DESC. + +## Example + +```php +$sortClause = [new \Ibexa\Contracts\Collaboration\Session\Query\SortClause\UpdatedAt(SortDirection::DESC)]); + +$query = new SessionQuery($criteria, sortClause); +``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/session/user_id_session_criterion.md b/docs/search/collaborative_editing_search_reference/session/user_id_session_criterion.md new file mode 100644 index 0000000000..4bae389868 --- /dev/null +++ b/docs/search/collaborative_editing_search_reference/session/user_id_session_criterion.md @@ -0,0 +1,26 @@ +--- +description: UserID Search Criterion +--- + +# UserID Criterion + +The `UserID` Search Criterion searches for sessions based on internal participants. + +## Arguments + +- `value` - user(s) to be matched, provided as a UserReference object + +## Example + +```php +$user = $this->userService->loadUserByLogin('foo'); +$currentUser = $this->permissionResolver->getCurrentUserReference(); + +$criteria = new \Ibexa\Contracts\Collaboration\Session\Query\Criterion\UserId($user); + +OR + +$criteria = new \Ibexa\Contracts\Collaboration\Session\Query\Criterion\UserId(…[$user, $currentUser]); + +$query = new SessionQuery($criteria); +``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/session/version_no_session_criterion.md b/docs/search/collaborative_editing_search_reference/session/version_no_session_criterion.md new file mode 100644 index 0000000000..a92f0114ae --- /dev/null +++ b/docs/search/collaborative_editing_search_reference/session/version_no_session_criterion.md @@ -0,0 +1,23 @@ +--- +description: VersionNo Search Criterion +--- + +# VersionNo Criterion + +The `VersionNo` Search Criterion searches for content sessions based on version number of content item. + +## Arguments + +- `value` - integer(s) representing version number(s) + +## Example + +```php +$criteria = new Ibexa\Share\Session\Query\Criterion\VersionNo(1); + +OR + +$criteria = new Ibexa\Share\Session\Query\Criterion\VersionNo([1, 2]); + +$query = new SessionQuery($criteria); +``` \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index 89b6ff2ecc..bcd8695731 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -670,6 +670,33 @@ nav: - UserCriterion: search/activity_log_search_reference/user_criterion.md - Action Configuration Search Criteria: search/ai_actions_search_reference/action_configuration_criteria.md - Discounts Search Criteria: search/discounts_search_reference/discounts_criteria.md + - Collaborative editing Search Criteria: + - Session: + - ContentId: search/collaborative_editing_search_reference/session/content_id_session_criterion.md + - Content: search/collaborative_editing_search_reference/session/content_session_criterion.md + - CreatedAt: search/collaborative_editing_search_reference/session/created_at_session_criterion.md + - Email: search/collaborative_editing_search_reference/session/email_session_criterion.md + - Id: search/collaborative_editing_search_reference/session/id_session_criterion.md + - IsActive: search/collaborative_editing_search_reference/session/is_active_session_criterion.md + - LanguageId: search/collaborative_editing_search_reference/session/language_id_session_criterion.md + - LogicalAnd: search/collaborative_editing_search_reference/session/logical_and_session_criterion.md + - LogicalOr: search/collaborative_editing_search_reference/session/logical_or_session_criterion.md + - Owner: search/collaborative_editing_search_reference/session/owner_session_criterion.md + - Token: search/collaborative_editing_search_reference/session/token_session_criterion.md + - Type: search/collaborative_editing_search_reference/session/type_session_criterion.md + - UpdatedAt: search/collaborative_editing_search_reference/session/updated_at_session_criterion.md + - UserId: search/collaborative_editing_search_reference/session/user_id_session_criterion.md + - VersionNo: search/collaborative_editing_search_reference/session/version_no_session_criterion.md + - Invitation: + - CreatedAt: search/collaborative_editing_search_reference/invitation/created_at_invitation_criterion.md + - Id: search/collaborative_editing_search_reference/invitation/id_invitation_criterion.md + - Invitation Id: search/collaborative_editing_search_reference/invitation/invitation_id_invitation_criterion.md + - LogicalAnd: search/collaborative_editing_search_reference/invitation/logical_and_invitation_criterion.md + - LogicalOr: search/collaborative_editing_search_reference/invitation/logical_or_invitation_criterion.md + - Sender: search/collaborative_editing_search_reference/invitation/sender_invitation_criterion.md + - Session: search/collaborative_editing_search_reference/invitation/session_invitation_criterion.md + - Status: search/collaborative_editing_search_reference/invitation/status_invitation_criterion.md + - UpdatedAt: search/collaborative_editing_search_reference/invitation/updated_at_invitation_criterion.md - Sort Clause reference: - General Sort Clauses: - General Sort Clause reference: search/sort_clause_reference/sort_clause_reference.md @@ -736,6 +763,16 @@ nav: - Id Sort Clause: search/url_search_reference/id_url_sort_clause.md - Url Sort Clause: search/url_search_reference/url_url_sort_clause.md - Activity Log Sort Clauses: search/activity_log_search_reference/activity_log_sort_clauses.md + - Collaborative editing Sort Clauses: + - Session: + - CreatedAt: search/collaborative_editing_search_reference/session/created_at_session_sort_clause.md + - SessionId: search/collaborative_editing_search_reference/session/session_id_session_sort_clause.md + - UpdatedAt: search/collaborative_editing_search_reference/session/updated_at_session_sort_clause.md + - Invitation: + - CreatedAt: search/collaborative_editing_search_reference/invitation/created_at_invitation_sort_clause.md + - InvitationId: search/collaborative_editing_search_reference/invitation/invitation_id_invitation_sort_clause.md + - InvitationStatus: search/collaborative_editing_search_reference/invitation/invitation_status_invitation_sort_clause.md + - UpdatedAt: search/collaborative_editing_search_reference/invitation/updated_at_invitation_sort_clause.md - Action Configuration Sort Clauses: search/ai_actions_search_reference/action_configuration_sort_clauses.md - Discounts Sort Clauses: search/discounts_search_reference/discounts_sort_clauses.md - Aggregation reference: From bc316f811189a7fbe18cae8268e142209a12a7da Mon Sep 17 00:00:00 2001 From: julitafalcondusza Date: Thu, 18 Sep 2025 13:40:42 +0200 Subject: [PATCH 2/6] fixes after review --- .../invitation/created_at_invitation_criterion.md | 4 ++-- .../invitation/updated_at_invitation_criterion.md | 4 ++-- .../session/content_id_session_criterion.md | 4 ++-- .../session/content_session_criterion.md | 4 ++-- .../session/created_at_session_criterion.md | 4 ++-- .../session/email_session_criterion.md | 2 +- .../session/id_session_criterion.md | 4 ++-- .../session/is_active_session_criterion.md | 4 ++-- .../session/language_id_session_criterion.md | 4 ++-- .../session/logical_and_session_criterion.md | 6 +++--- .../session/logical_or_session_criterion.md | 6 +++--- .../session/owner_session_criterion.md | 4 ++-- .../session/token_session_criterion.md | 4 ++-- .../session/type_session_criterion.md | 4 ++-- .../session/updated_at_session_criterion.md | 4 ++-- .../session/version_no_session_criterion.md | 4 ++-- 16 files changed, 33 insertions(+), 33 deletions(-) diff --git a/docs/search/collaborative_editing_search_reference/invitation/created_at_invitation_criterion.md b/docs/search/collaborative_editing_search_reference/invitation/created_at_invitation_criterion.md index c4f80dedba..8ae961a0bb 100644 --- a/docs/search/collaborative_editing_search_reference/invitation/created_at_invitation_criterion.md +++ b/docs/search/collaborative_editing_search_reference/invitation/created_at_invitation_criterion.md @@ -9,14 +9,14 @@ The `CreatedAt` Search Criterion searches for invitations based on the date they ## Arguments - `value` - date to be matched, provided as a DateTimeInterface object -- `operator` - optional operator string (EQ, GT, GTE, LT, LTE) +- `operator` - optional operator string (check the list of the allowed values: https://doc.ibexa.co/en/5.0/api/php_api/php_api_reference/classes/Ibexa-Contracts-CoreSearch-Values-Query-Criterion-FieldValueCriterion.html#constants) ## Example ```php $criteria = new \Ibexa\Contracts\Collaboration\Invitation\Query\Criterion\CreatedAt( new DateTime('2025-05-01 14:07:02'), - 'GTE' + FieldValueCriterion:: COMPARISON_GTE ); $query = new InvitationQuery($criteria); diff --git a/docs/search/collaborative_editing_search_reference/invitation/updated_at_invitation_criterion.md b/docs/search/collaborative_editing_search_reference/invitation/updated_at_invitation_criterion.md index c56ed9671a..ad9246f0ea 100644 --- a/docs/search/collaborative_editing_search_reference/invitation/updated_at_invitation_criterion.md +++ b/docs/search/collaborative_editing_search_reference/invitation/updated_at_invitation_criterion.md @@ -9,14 +9,14 @@ The `UpdatedAt` Search Criterion searches for invitations based on the date they ## Arguments - `value` - date to be matched, provided as a DateTimeInterface object -- `operator` - optional operator string (EQ, GT, GTE, LT, LTE) +- `operator` - optional operator string ((check the list of the allowed values: https://doc.ibexa.co/en/5.0/api/php_api/php_api_reference/classes/Ibexa-Contracts-CoreSearch-Values-Query-Criterion-FieldValueCriterion.html#constants) ## Example ```php $criteria = new \Ibexa\Contracts\Collaboration\Invitation\Query\Criterion\UpdatedAt( new DateTime('2025-05-01 14:07:02'), - 'GTE' + FieldValueCriterion:: COMPARISON_GTE ); $query = new InvitationQuery($criteria); diff --git a/docs/search/collaborative_editing_search_reference/session/content_id_session_criterion.md b/docs/search/collaborative_editing_search_reference/session/content_id_session_criterion.md index 3a3bffe5e1..dd9bde13d6 100644 --- a/docs/search/collaborative_editing_search_reference/session/content_id_session_criterion.md +++ b/docs/search/collaborative_editing_search_reference/session/content_id_session_criterion.md @@ -13,11 +13,11 @@ The `ContentID` Search Criterion searches for content sessions based on content ## Example ```php -$criteria = new Ibexa\Share\Session\Query\Criterion\ContentId(1); +$criteria = new \Ibexa\Share\Session\Query\Criterion\ContentId(1); OR -$criteria = new Ibexa\Share\Session\Query\Criterion\ContentId([1, 2]); +$criteria = new \Ibexa\Share\Session\Query\Criterion\ContentId([1, 2]); $query = new SessionQuery($criteria); ``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/session/content_session_criterion.md b/docs/search/collaborative_editing_search_reference/session/content_session_criterion.md index d01c731414..43f65860f0 100644 --- a/docs/search/collaborative_editing_search_reference/session/content_session_criterion.md +++ b/docs/search/collaborative_editing_search_reference/session/content_session_criterion.md @@ -15,12 +15,12 @@ The `ContentSession` Search Criterion searches for contentId, versionNo, languag ## Example ```php -$criteria = new Ibexa\Share\Session\Query\Criterion\ContentSession(1, 2, 3); +$criteria = new \Ibexa\Share\Session\Query\Criterion\ContentSession(1, 2, 3); OR $versionInfo = $this->contentService->loadVersionInfoById(1); -$criteria = new Ibexa\Share\Session\Query\Criterion\ContentSession::fromVersionInfo($versionInfo); +$criteria = new \Ibexa\Share\Session\Query\Criterion\ContentSession::fromVersionInfo($versionInfo); $query = new SessionQuery($criteria); ``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/session/created_at_session_criterion.md b/docs/search/collaborative_editing_search_reference/session/created_at_session_criterion.md index 7183bc8025..c3a46ab089 100644 --- a/docs/search/collaborative_editing_search_reference/session/created_at_session_criterion.md +++ b/docs/search/collaborative_editing_search_reference/session/created_at_session_criterion.md @@ -9,14 +9,14 @@ The `CreatedAt` Search Criterion searches for sessions based on the date when th ## Arguments - `value` - date to be matched, provided as a DateTimeInterface object -- `operator` - optional operator string (EQ, GT, GTE, LT, LTE) +- `operator` - optional operator string ((check the list of the allowed values: https://doc.ibexa.co/en/5.0/api/php_api/php_api_reference/classes/Ibexa-Contracts-CoreSearch-Values-Query-Criterion-FieldValueCriterion.html#constants) ## Example ```php $criteria = new Ibexa\Contracts\Collaboration\Session\Query\Criterion\CreatedAt( new DateTime('2025-05-01 14:07:02'), - 'GTE' + FieldValueCriterion:: COMPARISON_GTE ); $query = new SessionQuery($criteria); diff --git a/docs/search/collaborative_editing_search_reference/session/email_session_criterion.md b/docs/search/collaborative_editing_search_reference/session/email_session_criterion.md index dfb75b00fe..ed8b42967a 100644 --- a/docs/search/collaborative_editing_search_reference/session/email_session_criterion.md +++ b/docs/search/collaborative_editing_search_reference/session/email_session_criterion.md @@ -13,7 +13,7 @@ The `Email` Search Criterion searches for sessions based on external participant ## Example ```php -$criteria = new Ibexa\Contracts\Collaboration\Session\Query\Criterion\Email('participant@link.invalid'); +$criteria = new \Ibexa\Contracts\Collaboration\Session\Query\Criterion\Email('participant@link.invalid'); OR diff --git a/docs/search/collaborative_editing_search_reference/session/id_session_criterion.md b/docs/search/collaborative_editing_search_reference/session/id_session_criterion.md index 172511fbac..7bc113ee9b 100644 --- a/docs/search/collaborative_editing_search_reference/session/id_session_criterion.md +++ b/docs/search/collaborative_editing_search_reference/session/id_session_criterion.md @@ -13,11 +13,11 @@ The `Id` Search Criterion searches for sessions based on session ID. ## Example ```php -$criteria = new Ibexa\Contracts\Collaboration\Session\Query\Criterion\Id(1); +$criteria = new \Ibexa\Contracts\Collaboration\Session\Query\Criterion\Id(1); OR -$criteria = new Ibexa\Contracts\Collaboration\Session\Query\Criterion\Id([1, 2]); +$criteria = new \Ibexa\Contracts\Collaboration\Session\Query\Criterion\Id([1, 2]); $query = new SessionQuery($criteria); ``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/session/is_active_session_criterion.md b/docs/search/collaborative_editing_search_reference/session/is_active_session_criterion.md index e4b0d298e2..6d14ec1fe5 100644 --- a/docs/search/collaborative_editing_search_reference/session/is_active_session_criterion.md +++ b/docs/search/collaborative_editing_search_reference/session/is_active_session_criterion.md @@ -13,11 +13,11 @@ The `IsActive` Search Criterion searches for sessions based on active status. ## Example ```php -$criteria = new Ibexa\Contracts\Collaboration\Session\Query\Criterion\IsActive(); +$criteria = new \Ibexa\Contracts\Collaboration\Session\Query\Criterion\IsActive(); OR -$criteria = new Ibexa\Contracts\Collaboration\Session\Query\Criterion\IsActive(false); +$criteria = new \Ibexa\Contracts\Collaboration\Session\Query\Criterion\IsActive(false); $query = new SessionQuery($criteria); ``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/session/language_id_session_criterion.md b/docs/search/collaborative_editing_search_reference/session/language_id_session_criterion.md index 8ab3c9996b..84116c42fb 100644 --- a/docs/search/collaborative_editing_search_reference/session/language_id_session_criterion.md +++ b/docs/search/collaborative_editing_search_reference/session/language_id_session_criterion.md @@ -13,11 +13,11 @@ The `LanguageID` Search Criterion searches for content sessions based on languag ## Example ```php -$criteria = new Ibexa\Share\Session\Query\Criterion\LanguageId(1); +$criteria = new \Ibexa\Share\Session\Query\Criterion\LanguageId(1); OR -$criteria = new Ibexa\Share\Session\Query\Criterion\LanguageId([1, 2]); +$criteria = new \Ibexa\Share\Session\Query\Criterion\LanguageId([1, 2]); $query = new SessionQuery($criteria); ``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/session/logical_and_session_criterion.md b/docs/search/collaborative_editing_search_reference/session/logical_and_session_criterion.md index 3308e7390d..74dec449ff 100644 --- a/docs/search/collaborative_editing_search_reference/session/logical_and_session_criterion.md +++ b/docs/search/collaborative_editing_search_reference/session/logical_and_session_criterion.md @@ -9,9 +9,9 @@ The `LogicalAnd` Search Criterion matches combined sessions by the logical opera ## Example ```php -$criteria = Ibexa\Contracts\Collaboration\Session\Query\Criterion\LogicalAnd( - new Ibexa\Contracts\Collaboration\Session\Query\Criterion\IsActive(), - new Ibexa\Contracts\Collaboration\Session\Query\Criterion\Type('content') +$criteria = \Ibexa\Contracts\Collaboration\Session\Query\Criterion\LogicalAnd( + new \Ibexa\Contracts\Collaboration\Session\Query\Criterion\IsActive(), + new \Ibexa\Contracts\Collaboration\Session\Query\Criterion\Type('content') ); $query = new SessionQuery($criteria); diff --git a/docs/search/collaborative_editing_search_reference/session/logical_or_session_criterion.md b/docs/search/collaborative_editing_search_reference/session/logical_or_session_criterion.md index fcad1ef9b0..201450ebb3 100644 --- a/docs/search/collaborative_editing_search_reference/session/logical_or_session_criterion.md +++ b/docs/search/collaborative_editing_search_reference/session/logical_or_session_criterion.md @@ -9,9 +9,9 @@ The `LogicalOr` Search Criterion matches combined sessions by the logical operat ## Example ```php -$criteria = Ibexa\Contracts\Collaboration\Session\Query\Criterion\LogicalOr( , - new Ibexa\Contracts\Collaboration\Session\Query\Criterion\Id(1), - new Ibexa\Contracts\Collaboration\Session\Query\Criterion\Token('12345-12345-12345-12345') +$criteria = \Ibexa\Contracts\Collaboration\Session\Query\Criterion\LogicalOr( , + new \Ibexa\Contracts\Collaboration\Session\Query\Criterion\Id(1), + new \Ibexa\Contracts\Collaboration\Session\Query\Criterion\Token('12345-12345-12345-12345') ); $query = new SessionQuery($criteria); diff --git a/docs/search/collaborative_editing_search_reference/session/owner_session_criterion.md b/docs/search/collaborative_editing_search_reference/session/owner_session_criterion.md index e86c31b6b3..dbb51b6427 100644 --- a/docs/search/collaborative_editing_search_reference/session/owner_session_criterion.md +++ b/docs/search/collaborative_editing_search_reference/session/owner_session_criterion.md @@ -16,11 +16,11 @@ The `Owner` Search Criterion searches for sessions based on session Owner. $user = $this->userService->loadUserByLogin('foo'); $currentUser = $this->permissionResolver->getCurrentUserReference(); -$criteria = new Ibexa\Contracts\Collaboration\Session\Query\Criterion\Owner($user); +$criteria = new \Ibexa\Contracts\Collaboration\Session\Query\Criterion\Owner($user); OR -$criteria = new Ibexa\Contracts\Collaboration\Session\Query\Criterion\Owner([$user, $currentUser]); +$criteria = new \Ibexa\Contracts\Collaboration\Session\Query\Criterion\Owner([$user, $currentUser]); $query = new SessionQuery($criteria); ``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/session/token_session_criterion.md b/docs/search/collaborative_editing_search_reference/session/token_session_criterion.md index 05c4b6f55c..b017f4ed11 100644 --- a/docs/search/collaborative_editing_search_reference/session/token_session_criterion.md +++ b/docs/search/collaborative_editing_search_reference/session/token_session_criterion.md @@ -13,11 +13,11 @@ The `Token` Search Criterion searches for sessions based on session token. ## Example ```php -$criteria = new Ibexa\Contracts\Collaboration\Session\Query\Criterion\Token('12345-12345-12345-12345-12345'); +$criteria = new \Ibexa\Contracts\Collaboration\Session\Query\Criterion\Token('12345-12345-12345-12345-12345'); OR -$criteria = new Ibexa\Contracts\Collaboration\Session\Query\Criterion\Token(['12345-12345-12345-12345-12345', '12345-67890-098765-54321-12345']); +$criteria = new \Ibexa\Contracts\Collaboration\Session\Query\Criterion\Token(['12345-12345-12345-12345-12345', '12345-67890-098765-54321-12345']); $query = new SessionQuery($criteria); ``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/session/type_session_criterion.md b/docs/search/collaborative_editing_search_reference/session/type_session_criterion.md index 5ee59b10ea..62ec022d89 100644 --- a/docs/search/collaborative_editing_search_reference/session/type_session_criterion.md +++ b/docs/search/collaborative_editing_search_reference/session/type_session_criterion.md @@ -13,11 +13,11 @@ The `Type` Search Criterion searches for sessions based on session type. ## Example ```php -$criteria = new Ibexa\Contracts\Collaboration\Session\Query\Criterion\Type('content'); +$criteria = new \Ibexa\Contracts\Collaboration\Session\Query\Criterion\Type('content'); OR -$criteria = new Ibexa\Contracts\Collaboration\Session\Query\Criterion\Type(['content', 'product']); +$criteria = new \Ibexa\Contracts\Collaboration\Session\Query\Criterion\Type(['content', 'product']); $query = new SessionQuery($criteria); ``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/session/updated_at_session_criterion.md b/docs/search/collaborative_editing_search_reference/session/updated_at_session_criterion.md index 5d120bab9f..407f3b0db0 100644 --- a/docs/search/collaborative_editing_search_reference/session/updated_at_session_criterion.md +++ b/docs/search/collaborative_editing_search_reference/session/updated_at_session_criterion.md @@ -9,14 +9,14 @@ The `UpdatedAt` Search Criterion searches for sessions based on the date they we ## Arguments - `value` - date to be matched, provided as a DateTimeInterface object -- `operator` - optional operator string (EQ, GT, GTE, LT, LTE) +- `operator` - optional operator string (check the list of the allowed values: https://doc.ibexa.co/en/5.0/api/php_api/php_api_reference/classes/Ibexa-Contracts-CoreSearch-Values-Query-Criterion-FieldValueCriterion.html#constants) ## Example ```php $criteria = new Ibexa\Contracts\Collaboration\Session\Query\Criterion\UpdatedAt( new DateTime('2025-05-01 14:07:02'), - 'GTE' + FieldValueCriterion:: COMPARISON_GTE ); $query = new SessionQuery($criteria); diff --git a/docs/search/collaborative_editing_search_reference/session/version_no_session_criterion.md b/docs/search/collaborative_editing_search_reference/session/version_no_session_criterion.md index a92f0114ae..36016ad48e 100644 --- a/docs/search/collaborative_editing_search_reference/session/version_no_session_criterion.md +++ b/docs/search/collaborative_editing_search_reference/session/version_no_session_criterion.md @@ -13,11 +13,11 @@ The `VersionNo` Search Criterion searches for content sessions based on version ## Example ```php -$criteria = new Ibexa\Share\Session\Query\Criterion\VersionNo(1); +$criteria = new \Ibexa\Share\Session\Query\Criterion\VersionNo(1); OR -$criteria = new Ibexa\Share\Session\Query\Criterion\VersionNo([1, 2]); +$criteria = new \Ibexa\Share\Session\Query\Criterion\VersionNo([1, 2]); $query = new SessionQuery($criteria); ``` \ No newline at end of file From d8d2fe4c3f1c211594d9c6b5fc16af3c2bba82f2 Mon Sep 17 00:00:00 2001 From: julitafalcondusza Date: Thu, 2 Oct 2025 13:37:55 +0200 Subject: [PATCH 3/6] criterions and sort clauses moved to condensed pages --- .../collaboration_criteria.md | 55 +++++++++++++++++++ .../collaboration_sort_clauses.md | 28 ++++++++++ .../created_at_invitation_criterion.md | 23 -------- .../created_at_invitation_sort_clause.md | 19 ------- .../invitation/id_invitation_criterion.md | 23 -------- .../invitation_id_invitation_sort_clause.md | 19 ------- ...nvitation_status_invitation_sort_clause.md | 19 ------- .../logical_and_invitation_criterion.md | 20 ------- .../logical_or_invitation_criterion.md | 18 ------ .../invitation/sender_invitation_criterion.md | 26 --------- .../session_invitation_criterion.md | 26 --------- .../invitation/status_invitation_criterion.md | 23 -------- .../updated_at_invitation_criterion.md | 23 -------- .../updated_at_invitation_sort_clause.md | 19 ------- .../session/content_id_session_criterion.md | 23 -------- .../session/content_session_criterion.md | 26 --------- .../session/created_at_session_criterion.md | 23 -------- .../session/created_at_session_sort_clause.md | 19 ------- .../session/email_session_criterion.md | 23 -------- .../session/id_session_criterion.md | 23 -------- .../session/is_active_session_criterion.md | 23 -------- .../session/language_id_session_criterion.md | 23 -------- .../session/logical_and_session_criterion.md | 18 ------ .../session/logical_or_session_criterion.md | 18 ------ .../session/owner_session_criterion.md | 26 --------- .../session/session_id_session_sort_clause.md | 19 ------- .../session/token_session_criterion.md | 23 -------- .../session/type_session_criterion.md | 23 -------- .../session/updated_at_session_criterion.md | 23 -------- .../session/updated_at_session_sort_clause.md | 19 ------- .../session/user_id_session_criterion.md | 26 --------- .../session/version_no_session_criterion.md | 23 -------- mkdocs.yml | 39 +------------ 33 files changed, 85 insertions(+), 696 deletions(-) create mode 100644 docs/search/collaboration_search_reference/collaboration_criteria.md create mode 100644 docs/search/collaboration_search_reference/collaboration_sort_clauses.md delete mode 100644 docs/search/collaborative_editing_search_reference/invitation/created_at_invitation_criterion.md delete mode 100644 docs/search/collaborative_editing_search_reference/invitation/created_at_invitation_sort_clause.md delete mode 100644 docs/search/collaborative_editing_search_reference/invitation/id_invitation_criterion.md delete mode 100644 docs/search/collaborative_editing_search_reference/invitation/invitation_id_invitation_sort_clause.md delete mode 100644 docs/search/collaborative_editing_search_reference/invitation/invitation_status_invitation_sort_clause.md delete mode 100644 docs/search/collaborative_editing_search_reference/invitation/logical_and_invitation_criterion.md delete mode 100644 docs/search/collaborative_editing_search_reference/invitation/logical_or_invitation_criterion.md delete mode 100644 docs/search/collaborative_editing_search_reference/invitation/sender_invitation_criterion.md delete mode 100644 docs/search/collaborative_editing_search_reference/invitation/session_invitation_criterion.md delete mode 100644 docs/search/collaborative_editing_search_reference/invitation/status_invitation_criterion.md delete mode 100644 docs/search/collaborative_editing_search_reference/invitation/updated_at_invitation_criterion.md delete mode 100644 docs/search/collaborative_editing_search_reference/invitation/updated_at_invitation_sort_clause.md delete mode 100644 docs/search/collaborative_editing_search_reference/session/content_id_session_criterion.md delete mode 100644 docs/search/collaborative_editing_search_reference/session/content_session_criterion.md delete mode 100644 docs/search/collaborative_editing_search_reference/session/created_at_session_criterion.md delete mode 100644 docs/search/collaborative_editing_search_reference/session/created_at_session_sort_clause.md delete mode 100644 docs/search/collaborative_editing_search_reference/session/email_session_criterion.md delete mode 100644 docs/search/collaborative_editing_search_reference/session/id_session_criterion.md delete mode 100644 docs/search/collaborative_editing_search_reference/session/is_active_session_criterion.md delete mode 100644 docs/search/collaborative_editing_search_reference/session/language_id_session_criterion.md delete mode 100644 docs/search/collaborative_editing_search_reference/session/logical_and_session_criterion.md delete mode 100644 docs/search/collaborative_editing_search_reference/session/logical_or_session_criterion.md delete mode 100644 docs/search/collaborative_editing_search_reference/session/owner_session_criterion.md delete mode 100644 docs/search/collaborative_editing_search_reference/session/session_id_session_sort_clause.md delete mode 100644 docs/search/collaborative_editing_search_reference/session/token_session_criterion.md delete mode 100644 docs/search/collaborative_editing_search_reference/session/type_session_criterion.md delete mode 100644 docs/search/collaborative_editing_search_reference/session/updated_at_session_criterion.md delete mode 100644 docs/search/collaborative_editing_search_reference/session/updated_at_session_sort_clause.md delete mode 100644 docs/search/collaborative_editing_search_reference/session/user_id_session_criterion.md delete mode 100644 docs/search/collaborative_editing_search_reference/session/version_no_session_criterion.md diff --git a/docs/search/collaboration_search_reference/collaboration_criteria.md b/docs/search/collaboration_search_reference/collaboration_criteria.md new file mode 100644 index 0000000000..03b054fbf9 --- /dev/null +++ b/docs/search/collaboration_search_reference/collaboration_criteria.md @@ -0,0 +1,55 @@ +--- +month_change: true +--- + +# Collaboration Search Criterion reference + +Search Criteria are found in the `Ibexa\Contracts\Collaboration\Invitation\Query\Criterion` namespace. + +## Invitation Search Criteria + +Invitation Search Criteria are implementing the [CriterionInterface](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Collaboration-Invitation-Query-CriterionInterface.html) interface: + +| Criterion | Description | +|---|---| +| [CreatedAtCriterion](api/php_api/php_api_reference/classes/Ibexa-Contracts-Collaboration-Invitation-Query-Criterion-CreatedAt.html) | Find invitations based on the date they were created | +| [IdCriterion](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Collaboration-Invitation-Query-Criterion-Id.html) | Find invitations with given invitation ID | +| [LogicalAndCriterion](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Collaboration-Invitation-Query-Criterion-LogicalAnd.html) | Composite criterion to group multiple invitations using the AND condition | +| [LogicalOrCriterion](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Collaboration-Invitation-Query-Criterion-LogicalOr.html) | Composite criterion to group multiple invitations using the OR condition | +| [SenderCriterion](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Collaboration-Invitation-Query-Criterion-Sender.html) | Find invitations by invitation sender | +| [SessionCriterion](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Collaboration-Invitation-Query-Criterion-Session.html) | Find invitations by collaboration session | +| [StatusCriterion](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Collaboration-Invitation-Query-Criterion-Status.html) | Find invitations with given status| +| [UpdatedAtCriterion](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Collaboration-Invitation-Query-Criterion-UpdatedAt.html) | Find invitations based on the date they were updated | + +## Session Search Criteria + +Session Search Criteria are implementing the [CriterionInterface](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Collaboration-Session-Query-CriterionInterface.html) interface: + +| Criterion | Description | +|---|---| +| [CreatedAtCriterion](api/php_api/php_api_reference/classes/Ibexa-Contracts-Collaboration-Session-Query-Criterion-CreatedAt.html) | Find sessions based on the date they were created | +| [EmailCriterion](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Collaboration-Session-Query-Criterion-Email.html) | Find sessions based on external participant email | +| [IdCriterion](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Collaboration-Session-Query-Criterion-Id.html) | Find sessions with the session ID | +| [IsActiveCriterion](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Collaboration-Session-Query-Criterion-IsActive.html) | Find sessions based on active status | +| [LogicalAnd](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Collaboration-Session-Query-Criterion-LogicalAnd.html) | Composite criterion to group multiple sessions using the AND condition | +| [LogicalOr](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Collaboration-Session-Query-Criterion-LogicalOr.html) | Composite criterion to group multiple sessions using the OR condition | +| [OwnerCriterion](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Collaboration-Session-Query-Criterion-Owner.html) | Find sessions by their owner | +| [ParticipantTokenCriterion](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Collaboration-Session-Query-Criterion-ParticipantToken.html) | Find sessions by participant token | +| [TokenCriterion](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Collaboration-Session-Query-Criterion-Token.html) | Find sessions with given token| +| [TypeCriterion](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Collaboration-Session-Query-Criterion-Type.html) | Find sessions by type | +| [UpdatedAtCriterion](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Collaboration-Session-Query-Criterion-UpdatedAt.html) | Find sessions based on the date they were updated | +| [UserIdCriterion](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Collaboration-Session-Query-Criterion-UserId.html) | Find sessions with given user ID | + +### Example + +The following example shows how you can use the criteria to find all the currently active sessions: + +```php hl_lines="13-20" +[[= include_file('code_samples/discounts/src/Query/Search.php') =]] +``` + +The criteria limit the result set to sessions matching all of the conditions listed below: + +- session has an active status +- session has a `content` type +- session creation date is not after the current date \ No newline at end of file diff --git a/docs/search/collaboration_search_reference/collaboration_sort_clauses.md b/docs/search/collaboration_search_reference/collaboration_sort_clauses.md new file mode 100644 index 0000000000..6e126b67ec --- /dev/null +++ b/docs/search/collaboration_search_reference/collaboration_sort_clauses.md @@ -0,0 +1,28 @@ +--- +month_change: true +--- + +# Collaboration Search Sort Clauses reference + +Sort Clauses are found in the [`Ibexa\Contracts\Collaboration\Value\Query\SortClause`](/api/php_api/php_api_reference/namespaces/ibexa-contracts-collaboration-invitation-query-sortclause.html) namespace. + +## Invitation Search Sort Clauses + +Invitation Search Sort Clauses are implementing the [SortClauseInterface](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Collaboration-Invitation-Query-SortClauseInterface.html) interface: + +| Name | Description | +| --- | --- | +| [CreatedAt](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Collaboration-Invitation-Query-SortClause-CreatedAt.html) | Sort by invitation's creation date | +| [Id](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Collaboration-Invitation-Query-SortClause-Id.html) | Sort by invitation's ID | +| [Status](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Collaboration-Invitation-Query-SortClause-Status.html)| Sort by invitation's status | +| [UpdatedAt](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Collaboration-Invitation-Query-SortClause-UpdatedAt.html) | Sort by the date and time when invitation was updated | + +## Session Search Sort Clauses + +Session Search Sort Clauses are implementing the [SortClauseInterface](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Collaboration-Session-Query-SortClauseInterface.html) interface: + +| Name | Description | +| --- | --- | +| [CreatedAt](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Collaboration-Session-Query-SortClause-CreatedAt.html) | Sort by session's creation date | +| [Id](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Collaboration-Session-Query-SortClause-Id.html) | Sort by session's ID | +| [UpdatedAt](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Collaboration-Session-Query-SortClause-UpdatedAt.html) | Sort by the date and time when session was updated | \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/invitation/created_at_invitation_criterion.md b/docs/search/collaborative_editing_search_reference/invitation/created_at_invitation_criterion.md deleted file mode 100644 index 8ae961a0bb..0000000000 --- a/docs/search/collaborative_editing_search_reference/invitation/created_at_invitation_criterion.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -description: CreatedAt Search Criterion ---- - -# CreatedAt Search Criterion - -The `CreatedAt` Search Criterion searches for invitations based on the date they were created. - -## Arguments - -- `value` - date to be matched, provided as a DateTimeInterface object -- `operator` - optional operator string (check the list of the allowed values: https://doc.ibexa.co/en/5.0/api/php_api/php_api_reference/classes/Ibexa-Contracts-CoreSearch-Values-Query-Criterion-FieldValueCriterion.html#constants) - -## Example - -```php -$criteria = new \Ibexa\Contracts\Collaboration\Invitation\Query\Criterion\CreatedAt( - new DateTime('2025-05-01 14:07:02'), - FieldValueCriterion:: COMPARISON_GTE -); - -$query = new InvitationQuery($criteria); -``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/invitation/created_at_invitation_sort_clause.md b/docs/search/collaborative_editing_search_reference/invitation/created_at_invitation_sort_clause.md deleted file mode 100644 index d9308d9d04..0000000000 --- a/docs/search/collaborative_editing_search_reference/invitation/created_at_invitation_sort_clause.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -description: CreatedAt Sort Clause ---- - -# CreatedAt Sort Clause - -The `CreatedAt` Sort Clause sorts search results by the date and time of the creation of invitation. - -## Arguments - -- (optional) `direction` - SortDirection constant, either SortDirection::ASC or SortDirection::DESC. - -## Example - -```php -$sortClause = [new \Ibexa\Contracts\Collaboration\Invitation\Query\SortClause\CreatedAt(SortDirection::DESC)]); - -$query = new InvitationQuery($criteria, sortClause); -``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/invitation/id_invitation_criterion.md b/docs/search/collaborative_editing_search_reference/invitation/id_invitation_criterion.md deleted file mode 100644 index 7a44e27af4..0000000000 --- a/docs/search/collaborative_editing_search_reference/invitation/id_invitation_criterion.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -description: Id Search Criterion ---- - -# Id Criterion - -The `Id` Search Criterion searches for invitations based on invitation ID. - -## Arguments - -- `value` - integer(s) representing the Invitation ID(s) - -## Example - -```php -$criteria = new \Ibexa\Contracts\Collaboration\Invitation\Query\Criterion\Id(1); - -OR - -$criteria = new \Ibexa\Contracts\Collaboration\Invitation\Query\Criterion\Id([1, 2]); - -$query = new SessionQuery($criteria); -``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/invitation/invitation_id_invitation_sort_clause.md b/docs/search/collaborative_editing_search_reference/invitation/invitation_id_invitation_sort_clause.md deleted file mode 100644 index 2b5af37d6f..0000000000 --- a/docs/search/collaborative_editing_search_reference/invitation/invitation_id_invitation_sort_clause.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -description: InvitationId Sort Clause ---- - -# InvitationId Sort Clause - -The `InvitationId` Sort Clause sorts search results by invitation ID. - -## Arguments - -- (optional) `direction` - SortDirection constant, either SortDirection::ASC or SortDirection::DESC. - -## Example - -```php -$sortClause = [new \Ibexa\Contracts\Collaboration\Invitation\Query\SortClause\Id(SortDirection::DESC)]); - -$query = new InvitationQuery($criteria, sortClause); -``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/invitation/invitation_status_invitation_sort_clause.md b/docs/search/collaborative_editing_search_reference/invitation/invitation_status_invitation_sort_clause.md deleted file mode 100644 index e097d7eadb..0000000000 --- a/docs/search/collaborative_editing_search_reference/invitation/invitation_status_invitation_sort_clause.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -description: InvitationStatus Sort Clause ---- - -# InvitationStatus Sort Clause - -The `InvitationStatus` Sort Clause sorts search results by invitation status. - -## Arguments - -- (optional) `direction` - SortDirection constant, either SortDirection::ASC or SortDirection::DESC. - -## Example - -```php -$sortClause = [new \Ibexa\Contracts\Collaboration\Invitation\Query\SortClause\Status(SortDirection::DESC)]); - -$query = new InvitationQuery($criteria, sortClause); -``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/invitation/logical_and_invitation_criterion.md b/docs/search/collaborative_editing_search_reference/invitation/logical_and_invitation_criterion.md deleted file mode 100644 index 9c109c1dab..0000000000 --- a/docs/search/collaborative_editing_search_reference/invitation/logical_and_invitation_criterion.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -description: LogicalAnd Search Criterion ---- - -# LogicalAnd Criterion - -The `LogicalAnd` Search Criterion matches combined invitations by the logical operator. - -## Example - -```php -$currentUser = $this->permissionResolver->getCurrentUserReference(); - -$criteria = \Ibexa\Contracts\Collaboration\Invitation\Query\Criterion\LogicalAnd( - new \Ibexa\Contracts\Collaboration\Invitation\Query\Criterion\Status('pending'), - new \Ibexa\Contracts\Collaboration\Invitation\Query\Criterion\Sender($currentUser) -); - -$query = new InvitationQuery($criteria); -``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/invitation/logical_or_invitation_criterion.md b/docs/search/collaborative_editing_search_reference/invitation/logical_or_invitation_criterion.md deleted file mode 100644 index 22f78914d0..0000000000 --- a/docs/search/collaborative_editing_search_reference/invitation/logical_or_invitation_criterion.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -description: LogicalOr Search Criterion ---- - -# LogicalOr Criterion - -The `LogicalOr` Search Criterion matches combined invitations by the logical operator. - -## Example - -```php -$criteria = \Ibexa\Contracts\Collaboration\Invitation\Query\Criterion\LogicalOr( , - new \Ibexa\Contracts\Collaboration\Invitation\Query\Criterion\Id(1), - new \Ibexa\Contracts\Collaboration\Invitation\Query\Criterion\Status('pending') -); - -$query = new InvitationQuery($criteria); -``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/invitation/sender_invitation_criterion.md b/docs/search/collaborative_editing_search_reference/invitation/sender_invitation_criterion.md deleted file mode 100644 index 5c6a21850c..0000000000 --- a/docs/search/collaborative_editing_search_reference/invitation/sender_invitation_criterion.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -description: Sender Search Criterion ---- - -# Sender Search Criterion - -The `Sender` Search Criterion searches for invitations based on invitation sender. - -## Arguments - -- `value` - user(s) to be matched, provided as a UserReference object - -## Example - -```php -$user = $this->userService->loadUserByLogin('foo'); -$currentUser = $this->permissionResolver->getCurrentUserReference(); - -$criteria = new \Ibexa\Contracts\Collaboration\Invitation\Query\Criterion\Owner($user); - -OR - -$criteria = new \Ibexa\Contracts\Collaboration\Invitation\Query\Criterion\Owner([$user, $currentUser]); - -$query = new InvitationQuery($criteria); -``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/invitation/session_invitation_criterion.md b/docs/search/collaborative_editing_search_reference/invitation/session_invitation_criterion.md deleted file mode 100644 index 21646bc637..0000000000 --- a/docs/search/collaborative_editing_search_reference/invitation/session_invitation_criterion.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -description: Session Search Criterion ---- - -# Session Search Criterion - -The `Session` Search Criterion searches for invitations based on session. - -## Arguments - -- `value` - objects(s) representing the session(s) and implementing `\Ibexa\Contracts\Collaboration\Session\SessionInterface` - -## Example - -```php -$firstSession = $this->sessionService->getSession(1); -$secondSession = $this->sessionService->getSession(2); - -$criteria = new \Ibexa\Contracts\Collaboration\Invitation\Query\Criterion\Session($firstSession); - -OR - -$criteria = new \Ibexa\Contracts\Collaboration\Invitation\Query\Criterion\Session([$firstSession, $secondSession]); - -$query = new InvitationQuery($criteria); -``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/invitation/status_invitation_criterion.md b/docs/search/collaborative_editing_search_reference/invitation/status_invitation_criterion.md deleted file mode 100644 index 25f4b731fe..0000000000 --- a/docs/search/collaborative_editing_search_reference/invitation/status_invitation_criterion.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -description: Status Search Criterion ---- - -# Status Search Criterion - -The `Status` Search Criterion searches for invitations based on status. - -## Arguments - -- `value` - string(s) representing the invitation status(es) - -## Example - -```php -$criteria = new \Ibexa\Contracts\Collaboration\Invitation\Query\Criterion\Type('pending'); - -OR - -$criteria = new \Ibexa\Contracts\Collaboration\Invitation\Query\Criterion\Type(['pending', 'accepted']); - -$query = new InvitationQuery($criteria); -``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/invitation/updated_at_invitation_criterion.md b/docs/search/collaborative_editing_search_reference/invitation/updated_at_invitation_criterion.md deleted file mode 100644 index ad9246f0ea..0000000000 --- a/docs/search/collaborative_editing_search_reference/invitation/updated_at_invitation_criterion.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -description: UpdatedAt Search Criterion ---- - -# UpdatedAt Criterion - -The `UpdatedAt` Search Criterion searches for invitations based on the date they were updated. - -## Arguments - -- `value` - date to be matched, provided as a DateTimeInterface object -- `operator` - optional operator string ((check the list of the allowed values: https://doc.ibexa.co/en/5.0/api/php_api/php_api_reference/classes/Ibexa-Contracts-CoreSearch-Values-Query-Criterion-FieldValueCriterion.html#constants) - -## Example - -```php -$criteria = new \Ibexa\Contracts\Collaboration\Invitation\Query\Criterion\UpdatedAt( - new DateTime('2025-05-01 14:07:02'), - FieldValueCriterion:: COMPARISON_GTE -); - -$query = new InvitationQuery($criteria); -``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/invitation/updated_at_invitation_sort_clause.md b/docs/search/collaborative_editing_search_reference/invitation/updated_at_invitation_sort_clause.md deleted file mode 100644 index 0d52a0b86f..0000000000 --- a/docs/search/collaborative_editing_search_reference/invitation/updated_at_invitation_sort_clause.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -description: UpdatedAt Sort Clause ---- - -# UpdatedAt Sort Clause - -The UpdatedAt Sort Clause sorts search results by the date and time when invitation was updated. - -## Arguments - -- (optional) `direction` - SortDirection constant, either SortDirection::ASC or SortDirection::DESC. - -## Example - -```php -$sortClause = [new \Ibexa\Contracts\Collaboration\Invitation\Query\SortClause\UpdatedAt(SortDirection::DESC)]); - -$query = new InvitationQuery($criteria, sortClause); -``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/session/content_id_session_criterion.md b/docs/search/collaborative_editing_search_reference/session/content_id_session_criterion.md deleted file mode 100644 index dd9bde13d6..0000000000 --- a/docs/search/collaborative_editing_search_reference/session/content_id_session_criterion.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -description: ContentID Search Criterion ---- - -# ContentID Criterion - -The `ContentID` Search Criterion searches for content sessions based on content item ID. - -## Arguments - -- `value` - integer(s) representing the content item id(s) - -## Example - -```php -$criteria = new \Ibexa\Share\Session\Query\Criterion\ContentId(1); - -OR - -$criteria = new \Ibexa\Share\Session\Query\Criterion\ContentId([1, 2]); - -$query = new SessionQuery($criteria); -``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/session/content_session_criterion.md b/docs/search/collaborative_editing_search_reference/session/content_session_criterion.md deleted file mode 100644 index 43f65860f0..0000000000 --- a/docs/search/collaborative_editing_search_reference/session/content_session_criterion.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -description: ContentSession Search Criterion ---- - -# ContentSession Criterion - -The `ContentSession` Search Criterion searches for contentId, versionNo, languageId. - -## Arguments - -- `contentId` - integer representing content item ID -- `versionNo` - integer representing version number -- `languageId` - integer representing language ID - -## Example - -```php -$criteria = new \Ibexa\Share\Session\Query\Criterion\ContentSession(1, 2, 3); - -OR - -$versionInfo = $this->contentService->loadVersionInfoById(1); -$criteria = new \Ibexa\Share\Session\Query\Criterion\ContentSession::fromVersionInfo($versionInfo); - -$query = new SessionQuery($criteria); -``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/session/created_at_session_criterion.md b/docs/search/collaborative_editing_search_reference/session/created_at_session_criterion.md deleted file mode 100644 index c3a46ab089..0000000000 --- a/docs/search/collaborative_editing_search_reference/session/created_at_session_criterion.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -description: CreatedAt Search Criterion ---- - -# CreatedAt Criterion - -The `CreatedAt` Search Criterion searches for sessions based on the date when they were created. - -## Arguments - -- `value` - date to be matched, provided as a DateTimeInterface object -- `operator` - optional operator string ((check the list of the allowed values: https://doc.ibexa.co/en/5.0/api/php_api/php_api_reference/classes/Ibexa-Contracts-CoreSearch-Values-Query-Criterion-FieldValueCriterion.html#constants) - -## Example - -```php -$criteria = new Ibexa\Contracts\Collaboration\Session\Query\Criterion\CreatedAt( - new DateTime('2025-05-01 14:07:02'), - FieldValueCriterion:: COMPARISON_GTE -); - -$query = new SessionQuery($criteria); -``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/session/created_at_session_sort_clause.md b/docs/search/collaborative_editing_search_reference/session/created_at_session_sort_clause.md deleted file mode 100644 index ec7dadfcab..0000000000 --- a/docs/search/collaborative_editing_search_reference/session/created_at_session_sort_clause.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -description: CreatedAt Sort Clause ---- - -# CreatedAt Sort Clause - -The `CreatedAt` Sort Clause sorts search results by the date and time of the creation of session. - -## Arguments - -- (optional) `direction` - SortDirection constant, either SortDirection::ASC or SortDirection::DESC. - -## Example - -```php -$sortClause = [new \Ibexa\Contracts\Collaboration\Session\Query\SortClause\CreatedAt(SortDirection::DESC)]); - -$query = new SessionQuery($criteria, sortClause); -``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/session/email_session_criterion.md b/docs/search/collaborative_editing_search_reference/session/email_session_criterion.md deleted file mode 100644 index ed8b42967a..0000000000 --- a/docs/search/collaborative_editing_search_reference/session/email_session_criterion.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -description: Email Search Criterion ---- - -# Email Criterion - -The `Email` Search Criterion searches for sessions based on external participant email. - -## Arguments - -- `value` - string(s) representing the Participant email(s) - -## Example - -```php -$criteria = new \Ibexa\Contracts\Collaboration\Session\Query\Criterion\Email('participant@link.invalid'); - -OR - -$criteria = new \Ibexa\Contracts\Collaboration\Session\Query\Criterion\Email(...['participant1@link.invalid', 'participant2@link.invalid']); - -$query = new SessionQuery($criteria); -``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/session/id_session_criterion.md b/docs/search/collaborative_editing_search_reference/session/id_session_criterion.md deleted file mode 100644 index 7bc113ee9b..0000000000 --- a/docs/search/collaborative_editing_search_reference/session/id_session_criterion.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -description: Id Search Criterion ---- - -# Id Criterion - -The `Id` Search Criterion searches for sessions based on session ID. - -## Arguments - -- `value` - integer(s) representing the Session ID(s) - -## Example - -```php -$criteria = new \Ibexa\Contracts\Collaboration\Session\Query\Criterion\Id(1); - -OR - -$criteria = new \Ibexa\Contracts\Collaboration\Session\Query\Criterion\Id([1, 2]); - -$query = new SessionQuery($criteria); -``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/session/is_active_session_criterion.md b/docs/search/collaborative_editing_search_reference/session/is_active_session_criterion.md deleted file mode 100644 index 6d14ec1fe5..0000000000 --- a/docs/search/collaborative_editing_search_reference/session/is_active_session_criterion.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -description: IsActive Search Criterion ---- - -# IsActive Criterion - -The `IsActive` Search Criterion searches for sessions based on active status. - -## Arguments - -- (optional) `value` - bool representing the whether to search for active (default true) or inactive (false) sessions. - -## Example - -```php -$criteria = new \Ibexa\Contracts\Collaboration\Session\Query\Criterion\IsActive(); - -OR - -$criteria = new \Ibexa\Contracts\Collaboration\Session\Query\Criterion\IsActive(false); - -$query = new SessionQuery($criteria); -``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/session/language_id_session_criterion.md b/docs/search/collaborative_editing_search_reference/session/language_id_session_criterion.md deleted file mode 100644 index 84116c42fb..0000000000 --- a/docs/search/collaborative_editing_search_reference/session/language_id_session_criterion.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -description: LanguageID Search Criterion ---- - -# LanguageID Criterion - -The `LanguageID` Search Criterion searches for content sessions based on language ID of content item. - -## Arguments - -- `value` - integer(s) representing language id(s) - -## Example - -```php -$criteria = new \Ibexa\Share\Session\Query\Criterion\LanguageId(1); - -OR - -$criteria = new \Ibexa\Share\Session\Query\Criterion\LanguageId([1, 2]); - -$query = new SessionQuery($criteria); -``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/session/logical_and_session_criterion.md b/docs/search/collaborative_editing_search_reference/session/logical_and_session_criterion.md deleted file mode 100644 index 74dec449ff..0000000000 --- a/docs/search/collaborative_editing_search_reference/session/logical_and_session_criterion.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -description: LogicalAnd Search Criterion ---- - -# LogicalAnd Criterion - -The `LogicalAnd` Search Criterion matches combined sessions by the logical operator. - -## Example - -```php -$criteria = \Ibexa\Contracts\Collaboration\Session\Query\Criterion\LogicalAnd( - new \Ibexa\Contracts\Collaboration\Session\Query\Criterion\IsActive(), - new \Ibexa\Contracts\Collaboration\Session\Query\Criterion\Type('content') -); - -$query = new SessionQuery($criteria); -``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/session/logical_or_session_criterion.md b/docs/search/collaborative_editing_search_reference/session/logical_or_session_criterion.md deleted file mode 100644 index 201450ebb3..0000000000 --- a/docs/search/collaborative_editing_search_reference/session/logical_or_session_criterion.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -description: LogicalOr Search Criterion ---- - -# LogicalOr Criterion - -The `LogicalOr` Search Criterion matches combined sessions by the logical operator. - -## Example - -```php -$criteria = \Ibexa\Contracts\Collaboration\Session\Query\Criterion\LogicalOr( , - new \Ibexa\Contracts\Collaboration\Session\Query\Criterion\Id(1), - new \Ibexa\Contracts\Collaboration\Session\Query\Criterion\Token('12345-12345-12345-12345') -); - -$query = new SessionQuery($criteria); -``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/session/owner_session_criterion.md b/docs/search/collaborative_editing_search_reference/session/owner_session_criterion.md deleted file mode 100644 index dbb51b6427..0000000000 --- a/docs/search/collaborative_editing_search_reference/session/owner_session_criterion.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -description: Owner Search Criterion ---- - -# Owner Criterion - -The `Owner` Search Criterion searches for sessions based on session Owner. - -## Arguments - -- `value` - user(s) to be matched, provided as a UserReference object - -## Example - -```php -$user = $this->userService->loadUserByLogin('foo'); -$currentUser = $this->permissionResolver->getCurrentUserReference(); - -$criteria = new \Ibexa\Contracts\Collaboration\Session\Query\Criterion\Owner($user); - -OR - -$criteria = new \Ibexa\Contracts\Collaboration\Session\Query\Criterion\Owner([$user, $currentUser]); - -$query = new SessionQuery($criteria); -``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/session/session_id_session_sort_clause.md b/docs/search/collaborative_editing_search_reference/session/session_id_session_sort_clause.md deleted file mode 100644 index 9f00e2b1f3..0000000000 --- a/docs/search/collaborative_editing_search_reference/session/session_id_session_sort_clause.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -description: SessionId Sort Clause ---- - -# SessionId Sort Clause - -The `SessionId` Sort Clause sorts search results by session ID. - -## Arguments - -- (optional) `direction` - SortDirection constant, either SortDirection::ASC or SortDirection::DESC. - -## Example - -```php -$sortClause = [new \Ibexa\Contracts\Collaboration\Session\Query\SortClause\Id(SortDirection::DESC)]); - -$query = new SessionQuery($criteria, sortClause); -``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/session/token_session_criterion.md b/docs/search/collaborative_editing_search_reference/session/token_session_criterion.md deleted file mode 100644 index b017f4ed11..0000000000 --- a/docs/search/collaborative_editing_search_reference/session/token_session_criterion.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -description: Token Search Criterion ---- - -# Token Criterion - -The `Token` Search Criterion searches for sessions based on session token. - -## Arguments - -- `value` - string(s) representing the session token(s) - -## Example - -```php -$criteria = new \Ibexa\Contracts\Collaboration\Session\Query\Criterion\Token('12345-12345-12345-12345-12345'); - -OR - -$criteria = new \Ibexa\Contracts\Collaboration\Session\Query\Criterion\Token(['12345-12345-12345-12345-12345', '12345-67890-098765-54321-12345']); - -$query = new SessionQuery($criteria); -``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/session/type_session_criterion.md b/docs/search/collaborative_editing_search_reference/session/type_session_criterion.md deleted file mode 100644 index 62ec022d89..0000000000 --- a/docs/search/collaborative_editing_search_reference/session/type_session_criterion.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -description: Type Search Criterion ---- - -# Type Criterion - -The `Type` Search Criterion searches for sessions based on session type. - -## Arguments - -- `value` - string(s) representing the session type(s) - -## Example - -```php -$criteria = new \Ibexa\Contracts\Collaboration\Session\Query\Criterion\Type('content'); - -OR - -$criteria = new \Ibexa\Contracts\Collaboration\Session\Query\Criterion\Type(['content', 'product']); - -$query = new SessionQuery($criteria); -``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/session/updated_at_session_criterion.md b/docs/search/collaborative_editing_search_reference/session/updated_at_session_criterion.md deleted file mode 100644 index 407f3b0db0..0000000000 --- a/docs/search/collaborative_editing_search_reference/session/updated_at_session_criterion.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -description: UpdatedAt Search Criterion ---- - -# UpdatedAt Criterion - -The `UpdatedAt` Search Criterion searches for sessions based on the date they were updated. - -## Arguments - -- `value` - date to be matched, provided as a DateTimeInterface object -- `operator` - optional operator string (check the list of the allowed values: https://doc.ibexa.co/en/5.0/api/php_api/php_api_reference/classes/Ibexa-Contracts-CoreSearch-Values-Query-Criterion-FieldValueCriterion.html#constants) - -## Example - -```php -$criteria = new Ibexa\Contracts\Collaboration\Session\Query\Criterion\UpdatedAt( - new DateTime('2025-05-01 14:07:02'), - FieldValueCriterion:: COMPARISON_GTE -); - -$query = new SessionQuery($criteria); -``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/session/updated_at_session_sort_clause.md b/docs/search/collaborative_editing_search_reference/session/updated_at_session_sort_clause.md deleted file mode 100644 index 7fd80dc04d..0000000000 --- a/docs/search/collaborative_editing_search_reference/session/updated_at_session_sort_clause.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -description: UpdatedAt Sort Clause ---- - -# UpdatedAt Sort Clause - -The `UpdatedAt` Sort Clause sorts search results by the date and time when session was updated. - -## Arguments - -- (optional) `direction` - SortDirection constant, either SortDirection::ASC or SortDirection::DESC. - -## Example - -```php -$sortClause = [new \Ibexa\Contracts\Collaboration\Session\Query\SortClause\UpdatedAt(SortDirection::DESC)]); - -$query = new SessionQuery($criteria, sortClause); -``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/session/user_id_session_criterion.md b/docs/search/collaborative_editing_search_reference/session/user_id_session_criterion.md deleted file mode 100644 index 4bae389868..0000000000 --- a/docs/search/collaborative_editing_search_reference/session/user_id_session_criterion.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -description: UserID Search Criterion ---- - -# UserID Criterion - -The `UserID` Search Criterion searches for sessions based on internal participants. - -## Arguments - -- `value` - user(s) to be matched, provided as a UserReference object - -## Example - -```php -$user = $this->userService->loadUserByLogin('foo'); -$currentUser = $this->permissionResolver->getCurrentUserReference(); - -$criteria = new \Ibexa\Contracts\Collaboration\Session\Query\Criterion\UserId($user); - -OR - -$criteria = new \Ibexa\Contracts\Collaboration\Session\Query\Criterion\UserId(…[$user, $currentUser]); - -$query = new SessionQuery($criteria); -``` \ No newline at end of file diff --git a/docs/search/collaborative_editing_search_reference/session/version_no_session_criterion.md b/docs/search/collaborative_editing_search_reference/session/version_no_session_criterion.md deleted file mode 100644 index 36016ad48e..0000000000 --- a/docs/search/collaborative_editing_search_reference/session/version_no_session_criterion.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -description: VersionNo Search Criterion ---- - -# VersionNo Criterion - -The `VersionNo` Search Criterion searches for content sessions based on version number of content item. - -## Arguments - -- `value` - integer(s) representing version number(s) - -## Example - -```php -$criteria = new \Ibexa\Share\Session\Query\Criterion\VersionNo(1); - -OR - -$criteria = new \Ibexa\Share\Session\Query\Criterion\VersionNo([1, 2]); - -$query = new SessionQuery($criteria); -``` \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index bcd8695731..28af37a366 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -670,33 +670,7 @@ nav: - UserCriterion: search/activity_log_search_reference/user_criterion.md - Action Configuration Search Criteria: search/ai_actions_search_reference/action_configuration_criteria.md - Discounts Search Criteria: search/discounts_search_reference/discounts_criteria.md - - Collaborative editing Search Criteria: - - Session: - - ContentId: search/collaborative_editing_search_reference/session/content_id_session_criterion.md - - Content: search/collaborative_editing_search_reference/session/content_session_criterion.md - - CreatedAt: search/collaborative_editing_search_reference/session/created_at_session_criterion.md - - Email: search/collaborative_editing_search_reference/session/email_session_criterion.md - - Id: search/collaborative_editing_search_reference/session/id_session_criterion.md - - IsActive: search/collaborative_editing_search_reference/session/is_active_session_criterion.md - - LanguageId: search/collaborative_editing_search_reference/session/language_id_session_criterion.md - - LogicalAnd: search/collaborative_editing_search_reference/session/logical_and_session_criterion.md - - LogicalOr: search/collaborative_editing_search_reference/session/logical_or_session_criterion.md - - Owner: search/collaborative_editing_search_reference/session/owner_session_criterion.md - - Token: search/collaborative_editing_search_reference/session/token_session_criterion.md - - Type: search/collaborative_editing_search_reference/session/type_session_criterion.md - - UpdatedAt: search/collaborative_editing_search_reference/session/updated_at_session_criterion.md - - UserId: search/collaborative_editing_search_reference/session/user_id_session_criterion.md - - VersionNo: search/collaborative_editing_search_reference/session/version_no_session_criterion.md - - Invitation: - - CreatedAt: search/collaborative_editing_search_reference/invitation/created_at_invitation_criterion.md - - Id: search/collaborative_editing_search_reference/invitation/id_invitation_criterion.md - - Invitation Id: search/collaborative_editing_search_reference/invitation/invitation_id_invitation_criterion.md - - LogicalAnd: search/collaborative_editing_search_reference/invitation/logical_and_invitation_criterion.md - - LogicalOr: search/collaborative_editing_search_reference/invitation/logical_or_invitation_criterion.md - - Sender: search/collaborative_editing_search_reference/invitation/sender_invitation_criterion.md - - Session: search/collaborative_editing_search_reference/invitation/session_invitation_criterion.md - - Status: search/collaborative_editing_search_reference/invitation/status_invitation_criterion.md - - UpdatedAt: search/collaborative_editing_search_reference/invitation/updated_at_invitation_criterion.md + - Collaboration Search Criteria: search/collaboration_search_reference - Sort Clause reference: - General Sort Clauses: - General Sort Clause reference: search/sort_clause_reference/sort_clause_reference.md @@ -763,16 +737,7 @@ nav: - Id Sort Clause: search/url_search_reference/id_url_sort_clause.md - Url Sort Clause: search/url_search_reference/url_url_sort_clause.md - Activity Log Sort Clauses: search/activity_log_search_reference/activity_log_sort_clauses.md - - Collaborative editing Sort Clauses: - - Session: - - CreatedAt: search/collaborative_editing_search_reference/session/created_at_session_sort_clause.md - - SessionId: search/collaborative_editing_search_reference/session/session_id_session_sort_clause.md - - UpdatedAt: search/collaborative_editing_search_reference/session/updated_at_session_sort_clause.md - - Invitation: - - CreatedAt: search/collaborative_editing_search_reference/invitation/created_at_invitation_sort_clause.md - - InvitationId: search/collaborative_editing_search_reference/invitation/invitation_id_invitation_sort_clause.md - - InvitationStatus: search/collaborative_editing_search_reference/invitation/invitation_status_invitation_sort_clause.md - - UpdatedAt: search/collaborative_editing_search_reference/invitation/updated_at_invitation_sort_clause.md + - Collaboration Sort Clauses: search/collaboration_search_reference/collaboration_sort_clauses.md - Action Configuration Sort Clauses: search/ai_actions_search_reference/action_configuration_sort_clauses.md - Discounts Sort Clauses: search/discounts_search_reference/discounts_sort_clauses.md - Aggregation reference: From e99b223f95bd9fc8e6aa92fb87192d7d1fada723 Mon Sep 17 00:00:00 2001 From: julitafalcondusza Date: Thu, 2 Oct 2025 14:30:08 +0200 Subject: [PATCH 4/6] composer, fixes --- .../collaboration/src/Query/Search.php | 18 ++++++++++++++++++ composer.json | 4 +++- .../collaboration_criteria.md | 2 +- 3 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 code_samples/collaboration/src/Query/Search.php diff --git a/code_samples/collaboration/src/Query/Search.php b/code_samples/collaboration/src/Query/Search.php new file mode 100644 index 0000000000..831d0ab822 --- /dev/null +++ b/code_samples/collaboration/src/Query/Search.php @@ -0,0 +1,18 @@ +?php +declare(strict_types=1); +use Ibexa\Contracts\Collaboration\Value\Query\CollaborationQuery; +use Ibexa\Contracts\Collaboration\Value\Query\Criterion; +use Ibexa\Contracts\Collaboration\Value\Query\SortClause; +$now = new \DateTimeImmutable(); +$query = new CollaborationQuery( + new Criterion\LogicalAnd([ + new Criterion\IsActiveCriterion(), + new Criterion\TypeCriterion(‘content’), + new Criterion\CreatedAtCriterion($now, Criterion\CreatedAtCriterion::OPERATOR_LTE), + ]), + [ + new SortClause\CreatedAt(SortClause\CreatedAt::SORT_DESC), + ] +); +/** @var \Ibexa\Contracts\Session\SessionServiceInterface $sessionService */ +$results = $sessionService->findSessions($query); \ No newline at end of file diff --git a/composer.json b/composer.json index b21f1dc068..8b5f82b043 100644 --- a/composer.json +++ b/composer.json @@ -75,7 +75,9 @@ "ibexa/discounts-codes": "~5.0.x-dev", "ibexa/core-search": "~5.0.x-dev", "ibexa/product-catalog-symbol-attribute": "~5.0.x-dev", - "ibexa/messenger": "~5.0.x-dev" + "ibexa/messenger": "~5.0.x-dev", + "ibexa/collaboration": "~5.0.x-dev", + "ibexa/share": "~5.0.x-dev" }, "scripts": { "fix-cs": "php-cs-fixer fix --config=.php-cs-fixer.php -v --show-progress=dots", diff --git a/docs/search/collaboration_search_reference/collaboration_criteria.md b/docs/search/collaboration_search_reference/collaboration_criteria.md index 03b054fbf9..b3564533cc 100644 --- a/docs/search/collaboration_search_reference/collaboration_criteria.md +++ b/docs/search/collaboration_search_reference/collaboration_criteria.md @@ -45,7 +45,7 @@ Session Search Criteria are implementing the [CriterionInterface](/api/php_api/p The following example shows how you can use the criteria to find all the currently active sessions: ```php hl_lines="13-20" -[[= include_file('code_samples/discounts/src/Query/Search.php') =]] +[[= include_file('code_samples/collaboration/src/Query/Search.php') =]] ``` The criteria limit the result set to sessions matching all of the conditions listed below: From 00240212705fa770019afd39d6b940cc36df9561 Mon Sep 17 00:00:00 2001 From: julitafalcondusza Date: Thu, 2 Oct 2025 14:54:03 +0200 Subject: [PATCH 5/6] code fixes --- .../collaboration/src/Query/Search.php | 25 +++++++++++-------- .../collaboration_criteria.md | 2 +- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/code_samples/collaboration/src/Query/Search.php b/code_samples/collaboration/src/Query/Search.php index 831d0ab822..daa8dacab8 100644 --- a/code_samples/collaboration/src/Query/Search.php +++ b/code_samples/collaboration/src/Query/Search.php @@ -1,18 +1,23 @@ -?php +findSessions($query); \ No newline at end of file diff --git a/docs/search/collaboration_search_reference/collaboration_criteria.md b/docs/search/collaboration_search_reference/collaboration_criteria.md index b3564533cc..4d4568ecde 100644 --- a/docs/search/collaboration_search_reference/collaboration_criteria.md +++ b/docs/search/collaboration_search_reference/collaboration_criteria.md @@ -44,7 +44,7 @@ Session Search Criteria are implementing the [CriterionInterface](/api/php_api/p The following example shows how you can use the criteria to find all the currently active sessions: -```php hl_lines="13-20" +```php hl_lines="11-16" [[= include_file('code_samples/collaboration/src/Query/Search.php') =]] ``` From ac36d01854af68e8e45aac11e18f72abc02807c4 Mon Sep 17 00:00:00 2001 From: julitafalcondusza Date: Thu, 2 Oct 2025 13:06:26 +0000 Subject: [PATCH 6/6] PHP & JS CS Fixes --- code_samples/collaboration/src/Query/Search.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code_samples/collaboration/src/Query/Search.php b/code_samples/collaboration/src/Query/Search.php index daa8dacab8..17812e6258 100644 --- a/code_samples/collaboration/src/Query/Search.php +++ b/code_samples/collaboration/src/Query/Search.php @@ -20,4 +20,4 @@ ); /** @var \Ibexa\Contracts\Collaboration\SessionServiceInterface $sessionService */ -$results = $sessionService->findSessions($query); \ No newline at end of file +$results = $sessionService->findSessions($query);