userId === '' || $this->compositionId === '') { throw new InvalidArgumentException('Composition save events require tenant, user, and composition identifiers'); } if ($this->revision < 0) { throw new InvalidArgumentException('Composition save event revision cannot be negative'); } parent::__construct( self::class, [ 'userId' => $this->userId, 'compositionId' => $this->compositionId, 'revision' => $this->revision, ], $tenantId, $this->userId, ); } public function userIdentifier(): string { return $this->userId; } public function compositionIdentifier(): string { return $this->compositionId; } public function revision(): int { return $this->revision; } }