1
0
Fork 0
mirror of synced 2024-06-12 07:44:44 +12:00
appwrite/src/Appwrite/Utopia/Request/Filters/V12.php

62 lines
1.8 KiB
PHP
Raw Normal View History

2021-12-30 22:25:43 +13:00
<?php
namespace Appwrite\Utopia\Request\Filters;
use Appwrite\Utopia\Request\Filter;
2021-12-31 21:40:35 +13:00
class V12 extends Filter
2021-12-30 22:25:43 +13:00
{
// Convert 0.11 params format to 0.12 format
public function parse(array $content, string $model): array
{
$parsedResponse = [];
switch ($model) {
2022-01-01 01:00:07 +13:00
// No IDs -> Custom IDs
2021-12-30 22:25:43 +13:00
case "account.create":
2022-01-01 01:00:07 +13:00
case "account.createMagicURLSession":
case "users.create":
$parsedResponse = $this->addId('userId', $content);
break;
case "functions.create":
$parsedResponse = $this->addId('functionId', $content);
break;
case "teams.create":
$parsedResponse = $this->addId('teamId', $content);
break;
// Status integer -> boolean
case "users.updateStatus":
$parsedResponse = $this->convertStatus($content);
break;
// The rest (more complex) formats
case "database.createDocument":
$parsedResponse = $this->addId('documentId', $content);
break;
case "database.createCollection":
$parsedResponse = $this->addId('collectionId', $content);
2021-12-30 22:25:43 +13:00
break;
}
if(empty($parsedResponse)) {
2021-12-31 21:40:35 +13:00
// No changes between current version and the one user requested
2021-12-30 22:25:43 +13:00
$parsedResponse = $content;
}
return $parsedResponse;
}
2022-01-01 01:00:07 +13:00
protected function addUserId(string $key, array $content): array
{
$content[$key] = 'unique()';
return $content;
}
protected function convertStatus(array $content): array
2021-12-30 22:25:43 +13:00
{
2022-01-01 01:00:07 +13:00
$content['status'] = 'false'; // TODO: True or false. original is integer
2021-12-30 22:25:43 +13:00
return $content;
}
}