mirror of
https://github.com/appwrite/appwrite
synced 2026-05-17 05:58:31 +00:00
Update V15.php
This commit is contained in:
parent
a04a968def
commit
80e60d9d95
1 changed files with 85 additions and 1 deletions
|
|
@ -25,20 +25,27 @@ class V15 extends Filter
|
|||
$parsedResponse = $this->handleDatetimeAttributes($content, ['startTime', 'endTime']);
|
||||
break;
|
||||
case Response::MODEL_BUCKET:
|
||||
$parsedResponse = $this->handleBucketAttributes($content);
|
||||
break;
|
||||
case Response::MODEL_COLLECTION:
|
||||
$parsedResponse = $this->handleCollectionAttributes($content);
|
||||
break;
|
||||
case Response::MODEL_DEPLOYMENT:
|
||||
case Response::MODEL_DOCUMENT:
|
||||
case Response::MODEL_EXECUTION:
|
||||
$parsedResponse = $this->handleExecutionAttributes($content);
|
||||
break;
|
||||
case Response::MODEL_PLATFORM:
|
||||
case Response::MODEL_PROJECT:
|
||||
case Response::MODEL_TEAM:
|
||||
case Response::MODEL_FILE:
|
||||
case Response::MODEL_WEBHOOK:
|
||||
case Response::MODEL_DOMAIN:
|
||||
case Response::MODEL_DATABASE:
|
||||
$parsedResponse = $this->handleDatetimeAttributes($content, ['$createdAt', '$updatedAt']);
|
||||
break;
|
||||
case Response::MODEL_FUNCTION:
|
||||
$parsedResponse = $this->handleDatetimeAttributes($content, ['$createdAt', '$updatedAt', 'scheduleNext', 'schedulePrevious']);
|
||||
$parsedResponse = $this->handleFunctionAttribtues($content);
|
||||
break;
|
||||
case Response::MODEL_KEY:
|
||||
$parsedResponse = $this->handleDatetimeAttributes($content, ['$createdAt', '$updatedAt', 'expire']);
|
||||
|
|
@ -55,6 +62,8 @@ class V15 extends Filter
|
|||
case Response::MODEL_TOKEN:
|
||||
$parsedResponse = $this->handleDatetimeAttributes($content, ['$createdAt', 'expire']);
|
||||
break;
|
||||
case Response::MODEL_USAGE_FUNCTIONS:
|
||||
$parsedResponse = $this->handleModelUsageFuncAttributes($content);
|
||||
}
|
||||
|
||||
// Downgrade Permissions for all models
|
||||
|
|
@ -63,6 +72,20 @@ class V15 extends Filter
|
|||
return $parsedResponse;
|
||||
}
|
||||
|
||||
protected function handleBucketAttributes(array $content)
|
||||
{
|
||||
if ($content['fileSecurity']) {
|
||||
$content['permssion'] = 'file';
|
||||
} else {
|
||||
$content['permssion'] = 'bucket';
|
||||
}
|
||||
|
||||
unset($content['fileSecurity']);
|
||||
unset($content['compression']);
|
||||
|
||||
$content = $this->handleDatetimeAttributes($content, ['$createdAt', '$updatedAt']);
|
||||
}
|
||||
|
||||
protected function handleDatetimeAttributes(array $content, array $attributes): array
|
||||
{
|
||||
foreach ($attributes as $attribute) {
|
||||
|
|
@ -76,6 +99,10 @@ class V15 extends Filter
|
|||
protected function handleUser(array $content): array
|
||||
{
|
||||
unset($content['password']);
|
||||
unset($content['hash']);
|
||||
unset($content['hashOptions']);
|
||||
|
||||
$content = $this->handleDatetimeAttributes($content, ['registration', 'passwordUpdate', '$createdAt', '$updatedAt']);
|
||||
return $content;
|
||||
}
|
||||
|
||||
|
|
@ -149,4 +176,61 @@ class V15 extends Filter
|
|||
unset($model['$permissions']);
|
||||
return array_merge($model, $result);
|
||||
}
|
||||
|
||||
protected function handleCollectionAttributes(array $content)
|
||||
{
|
||||
$content['permission'] = $content['documentSecurity'];
|
||||
|
||||
unset($content['documentSecurity']);
|
||||
$content = $this->handleDatetimeAttributes($content, ['$createdAt', '$updatedAt']);
|
||||
return $content;
|
||||
}
|
||||
|
||||
private function handleExecutionAttributes($content)
|
||||
{
|
||||
unset($content['stdout']);
|
||||
|
||||
$content = $this->handleDatetimeAttributes($content, ['$createdAt', '$updatedAt']);
|
||||
return $content;
|
||||
}
|
||||
|
||||
private function handleFunctionAttribtues($content)
|
||||
{
|
||||
$content['execute'] = array_map($this->downgradePermissionSelector, $content['execute']);
|
||||
|
||||
$content = $this->handleDatetimeAttributes($content, ['$createdAt', '$updatedAt', 'scheduleNext', 'schedulePrevious']);
|
||||
return $content;
|
||||
}
|
||||
|
||||
private function handleModelUsageFuncAttributes($content)
|
||||
{
|
||||
$content['functiosnExecutions'] = $content['executionsTotal'];
|
||||
$content['functionsFailures'] = $content['executionsFailure'];
|
||||
$content['functionsCompute'] = $content['executionsTime'];
|
||||
unset($content['functionExecutions']);
|
||||
unset($content['functionFailure']);
|
||||
unset($content['executionsTime']);
|
||||
unset($content['buildsTotal']);
|
||||
unset($content['executionsSuccess']);
|
||||
unset($content['buildsFailure']);
|
||||
unset($content['buildsSuccess']);
|
||||
unset($content['buildsTime']);
|
||||
|
||||
return $content;
|
||||
}
|
||||
|
||||
private function handleUsageProjectAttributes($content)
|
||||
{
|
||||
$content['functions'] = $content['executions'];
|
||||
unset($content['executions']);
|
||||
|
||||
return $content;
|
||||
}
|
||||
|
||||
private function handleUsageStorageAttribtues($content)
|
||||
{
|
||||
$content['filesStorage'] = $content['storage'];
|
||||
$content['tagsStorage'] = [];
|
||||
unset($content['storage']);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue