diff --git a/app/config/collections/platform.php b/app/config/collections/platform.php index b23d170a58..eed45322a4 100644 --- a/app/config/collections/platform.php +++ b/app/config/collections/platform.php @@ -1104,28 +1104,46 @@ $platformCollections = [ 'array' => false, 'filters' => [], ], + [ + '$id' => ID::custom('read'), + 'type' => Database::VAR_BOOLEAN, + 'format' => '', + 'size' => 0, + 'signed' => true, + 'required' => false, + 'default' => false, + 'array' => false, + 'filters' => [], + ], ], 'indexes' => [ [ '$id' => ID::custom('_key_messageId'), - 'type' => Database::INDEX_UNIQUE, + 'type' => Database::INDEX_KEY, 'attributes' => ['messageId'], 'lengths' => [Database::LENGTH_KEY], 'orders' => [Database::ORDER_ASC], ], [ - '$id' => ID::custom('_key_userId'), - 'type' => Database::INDEX_KEY, - 'attributes' => ['userId'], - 'lengths' => [Database::LENGTH_KEY], - 'orders' => [Database::ORDER_ASC], + '$id' => ID::custom('_key_recipient'), + 'type' => Database::INDEX_UNIQUE, + 'attributes' => ['messageId', 'channel', 'userId', 'teamId'], + 'lengths' => [Database::LENGTH_KEY, 64, Database::LENGTH_KEY, Database::LENGTH_KEY], + 'orders' => [Database::ORDER_ASC, Database::ORDER_ASC, Database::ORDER_ASC, Database::ORDER_ASC], ], [ - '$id' => ID::custom('_key_teamId'), + '$id' => ID::custom('_key_userId_read'), 'type' => Database::INDEX_KEY, - 'attributes' => ['teamId'], - 'lengths' => [Database::LENGTH_KEY], - 'orders' => [Database::ORDER_ASC], + 'attributes' => ['userId', 'read'], + 'lengths' => [Database::LENGTH_KEY, 0], + 'orders' => [Database::ORDER_ASC, Database::ORDER_ASC], + ], + [ + '$id' => ID::custom('_key_teamId_read'), + 'type' => Database::INDEX_KEY, + 'attributes' => ['teamId', 'read'], + 'lengths' => [Database::LENGTH_KEY, 0], + 'orders' => [Database::ORDER_ASC, Database::ORDER_ASC], ], [ '$id' => ID::custom('_key_projectId'),