Skip to content

Commit c47e772

Browse files
committed
add new store
1 parent f047111 commit c47e772

7 files changed

Lines changed: 1467 additions & 2 deletions

File tree

Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,11 @@ phpunit-integration: vendor
4141

4242
.PHONY: phpunit-integration-postgres
4343
phpunit-integration-postgres: vendor ## run phpunit integration tests on postgres
44-
DB_URL="pdo-pgsql://postgres:postgres@localhost:5432/eventstore?charset=utf8" vendor/bin/phpunit --testsuite=integration
44+
DB_URL="pdo-pgsql://postgres:postgres@127.0.0.1:5432/eventstore?charset=utf8" vendor/bin/phpunit --testsuite=integration
4545

4646
.PHONY: phpunit-integration-mysql
4747
phpunit-integration-mysql: vendor ## run phpunit integration tests on mysql
48-
DB_URL="pdo-mysql://root@localhost:3306/eventstore?charset=utf8" vendor/bin/phpunit --testsuite=integration
48+
DB_URL="pdo-mysql://root@127.0.0.1:3306/eventstore?charset=utf8" vendor/bin/phpunit --testsuite=integration
4949

5050
.PHONY: phpunit-unit
5151
phpunit-unit: vendor ## run phpunit unit tests

src/Metadata/Message/MessageHeaderRegistry.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
use Patchlevel\EventSourcing\Store\Header\PlayheadHeader;
1111
use Patchlevel\EventSourcing\Store\Header\RecordedOnHeader;
1212
use Patchlevel\EventSourcing\Store\Header\StreamNameHeader;
13+
use Patchlevel\EventSourcing\Store\Header\TagsHeader;
1314
use Patchlevel\EventSourcing\Store\StreamStartHeader;
1415

1516
use function array_flip;
@@ -83,6 +84,7 @@ public static function createWithInternalHeaders(array $headerNameToClassMap = [
8384
'newStreamStart' => StreamStartHeader::class,
8485
'eventId' => EventIdHeader::class,
8586
'index' => IndexHeader::class,
87+
'tags' => TagsHeader::class,
8688
];
8789

8890
return new self($headerNameToClassMap + $internalHeaders);
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace Patchlevel\EventSourcing\Store\Criteria;
6+
7+
use InvalidArgumentException;
8+
9+
use function array_unique;
10+
use function array_values;
11+
12+
final class TagCriterion
13+
{
14+
/** @var list<string> */
15+
public readonly array $tags;
16+
17+
public function __construct(
18+
string ...$tags,
19+
) {
20+
$this->tags = array_values(array_unique($tags));
21+
22+
if ($this->tags === []) {
23+
throw new InvalidArgumentException('At least one tag must be provided.');
24+
}
25+
}
26+
}

0 commit comments

Comments
 (0)