-
Notifications
You must be signed in to change notification settings - Fork 82
Collaborative Editing criterions and sort clauses #2903
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: 5.0
Are you sure you want to change the base?
Changes from 10 commits
7d21645
bc316f8
d8d2fe4
98fedc9
e99b223
0024021
ac36d01
e2b6abd
295099c
a17ef6f
0c1de27
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
<?php | ||
|
||
declare(strict_types=1); | ||
|
||
use Ibexa\Contracts\Collaboration\Session\Query\Criterion; | ||
use Ibexa\Contracts\Collaboration\Session\Query\SortClause; | ||
use Ibexa\Contracts\Collaboration\Session\SessionQuery; | ||
|
||
$now = new DateTimeImmutable(); | ||
|
||
$query = new SessionQuery( | ||
new Criterion\LogicalAnd([ | ||
new Criterion\IsActive(), | ||
new Criterion\Type(‘content’), | ||
new Criterion\CreatedAt($now, Criterion\CreatedAt::OPERATOR_LTE), | ||
]), | ||
[ | ||
new SortClause\CreatedAt(SortClause\CreatedAt::SORT_DESC), | ||
] | ||
); | ||
|
||
/** @var \Ibexa\Contracts\Collaboration\SessionServiceInterface $sessionService */ | ||
$results = $sessionService->findSessions($query); |
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
@@ -0,0 +1,55 @@ | ||||||
--- | ||||||
Check warning on line 1 in docs/search/collaboration_search_reference/collaboration_criteria.md
|
||||||
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: | ||||||
Check failure on line 11 in docs/search/collaboration_search_reference/collaboration_criteria.md
|
||||||
|
||||||
| 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 | | ||||||
Check failure on line 15 in docs/search/collaboration_search_reference/collaboration_criteria.md
|
||||||
| [IdCriterion](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Collaboration-Invitation-Query-Criterion-Id.html) | Find invitations with given invitation ID | | ||||||
Check failure on line 16 in docs/search/collaboration_search_reference/collaboration_criteria.md
|
||||||
julitafalcondusza marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||||
| [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 | | ||||||
Check failure on line 17 in docs/search/collaboration_search_reference/collaboration_criteria.md
|
||||||
julitafalcondusza marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||||
| [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 | | ||||||
Check failure on line 18 in docs/search/collaboration_search_reference/collaboration_criteria.md
|
||||||
julitafalcondusza marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||||
| [SenderCriterion](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Collaboration-Invitation-Query-Criterion-Sender.html) | Find invitations by invitation sender | | ||||||
Check failure on line 19 in docs/search/collaboration_search_reference/collaboration_criteria.md
|
||||||
julitafalcondusza marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||||
| [SessionCriterion](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Collaboration-Invitation-Query-Criterion-Session.html) | Find invitations by collaboration session | | ||||||
Check failure on line 20 in docs/search/collaboration_search_reference/collaboration_criteria.md
|
||||||
julitafalcondusza marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||||
| [StatusCriterion](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Collaboration-Invitation-Query-Criterion-Status.html) | Find invitations with given status| | ||||||
Check failure on line 21 in docs/search/collaboration_search_reference/collaboration_criteria.md
|
||||||
| [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 | | ||||||
Check failure on line 22 in docs/search/collaboration_search_reference/collaboration_criteria.md
|
||||||
|
||||||
## 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: | ||||||
Check failure on line 26 in docs/search/collaboration_search_reference/collaboration_criteria.md
|
||||||
|
||||||
| 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 | | ||||||
Check failure on line 30 in docs/search/collaboration_search_reference/collaboration_criteria.md
|
||||||
| [EmailCriterion](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Collaboration-Session-Query-Criterion-Email.html) | Find sessions based on external participant email | | ||||||
Check failure on line 31 in docs/search/collaboration_search_reference/collaboration_criteria.md
|
||||||
| [IdCriterion](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Collaboration-Session-Query-Criterion-Id.html) | Find sessions with the session ID | | ||||||
Check failure on line 32 in docs/search/collaboration_search_reference/collaboration_criteria.md
|
||||||
| [IsActiveCriterion](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Collaboration-Session-Query-Criterion-IsActive.html) | Find sessions based on active status | | ||||||
Check failure on line 33 in docs/search/collaboration_search_reference/collaboration_criteria.md
|
||||||
| [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 | | ||||||
Check failure on line 34 in docs/search/collaboration_search_reference/collaboration_criteria.md
|
||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
| [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 | | ||||||
Check failure on line 35 in docs/search/collaboration_search_reference/collaboration_criteria.md
|
||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
| [OwnerCriterion](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Collaboration-Session-Query-Criterion-Owner.html) | Find sessions by their owner | | ||||||
Check failure on line 36 in docs/search/collaboration_search_reference/collaboration_criteria.md
|
||||||
| [ParticipantTokenCriterion](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Collaboration-Session-Query-Criterion-ParticipantToken.html) | Find sessions by participant token | | ||||||
Check failure on line 37 in docs/search/collaboration_search_reference/collaboration_criteria.md
|
||||||
| [TokenCriterion](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Collaboration-Session-Query-Criterion-Token.html) | Find sessions with given token| | ||||||
Check failure on line 38 in docs/search/collaboration_search_reference/collaboration_criteria.md
|
||||||
| [TypeCriterion](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Collaboration-Session-Query-Criterion-Type.html) | Find sessions by type | | ||||||
Check failure on line 39 in docs/search/collaboration_search_reference/collaboration_criteria.md
|
||||||
| [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 | | ||||||
Check failure on line 40 in docs/search/collaboration_search_reference/collaboration_criteria.md
|
||||||
| [UserIdCriterion](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Collaboration-Session-Query-Criterion-UserId.html) | Find sessions with given user ID | | ||||||
Check failure on line 41 in docs/search/collaboration_search_reference/collaboration_criteria.md
|
||||||
|
||||||
### Example | ||||||
|
||||||
The following example shows how you can use the criteria to find all the currently active sessions: | ||||||
|
||||||
```php hl_lines="11-16" | ||||||
[[= include_file('code_samples/collaboration/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 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
--- | ||
Check warning on line 1 in docs/search/collaboration_search_reference/collaboration_sort_clauses.md
|
||
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: | ||
Check failure on line 11 in docs/search/collaboration_search_reference/collaboration_sort_clauses.md
|
||
|
||
| Name | Description | | ||
| --- | --- | | ||
| [CreatedAt](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Collaboration-Invitation-Query-SortClause-CreatedAt.html) | Sort by invitation's creation date | | ||
Check failure on line 15 in docs/search/collaboration_search_reference/collaboration_sort_clauses.md
|
||
| [Id](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Collaboration-Invitation-Query-SortClause-Id.html) | Sort by invitation's ID | | ||
Check failure on line 16 in docs/search/collaboration_search_reference/collaboration_sort_clauses.md
|
||
| [Status](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Collaboration-Invitation-Query-SortClause-Status.html)| Sort by invitation's status | | ||
Check failure on line 17 in docs/search/collaboration_search_reference/collaboration_sort_clauses.md
|
||
| [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 | | ||
Check failure on line 18 in docs/search/collaboration_search_reference/collaboration_sort_clauses.md
|
||
|
||
## 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: | ||
Check failure on line 22 in docs/search/collaboration_search_reference/collaboration_sort_clauses.md
|
||
|
||
| Name | Description | | ||
| --- | --- | | ||
| [CreatedAt](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Collaboration-Session-Query-SortClause-CreatedAt.html) | Sort by session's creation date | | ||
Check failure on line 26 in docs/search/collaboration_search_reference/collaboration_sort_clauses.md
|
||
| [Id](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Collaboration-Session-Query-SortClause-Id.html) | Sort by session's ID | | ||
Check failure on line 27 in docs/search/collaboration_search_reference/collaboration_sort_clauses.md
|
||
| [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 | | ||
Check failure on line 28 in docs/search/collaboration_search_reference/collaboration_sort_clauses.md
|
||
|
||
### Example | ||
|
||
The following example shows how to use them to sort the searched sessions: | ||
|
||
```php hl_lines="16-18" | ||
[[= include_file('code_samples/collaboration/src/Query/Search.php') =]] | ||
``` | ||
|
||
The returned active sessions are sorted by creation date (descending). |
Uh oh!
There was an error while loading. Please reload this page.