mirror of
https://github.com/appwrite/appwrite.git
synced 2026-05-26 13:51:13 +00:00
Rename everything to use specification instead of size
This commit is contained in:
@@ -3057,7 +3057,7 @@ $projectCollections = array_merge([
|
||||
],
|
||||
[
|
||||
'array' => false,
|
||||
'$id' => ID::custom('size'),
|
||||
'$id' => ID::custom('specification'),
|
||||
'type' => Database::VAR_STRING,
|
||||
'format' => '',
|
||||
'size' => 128,
|
||||
|
||||
@@ -525,9 +525,9 @@ return [
|
||||
'code' => 408,
|
||||
],
|
||||
|
||||
Exception::FUNCTION_INVALID_RUNTIME_SIZE => [
|
||||
'name' => Exception::FUNCTION_INVALID_RUNTIME_SIZE,
|
||||
'description' => "The requested runtime size is either unsupported or isn't included in your plan. If your running self-hosted check the value of the _APP_FUNCTIONS_MEMORY and _APP_FUNCTIONS_CPUS environment variable.",
|
||||
Exception::FUNCTION_INVALID_RUNTIME_SPECIFICATION => [
|
||||
'name' => Exception::FUNCTION_INVALID_RUNTIME_SPECIFICATION,
|
||||
'description' => "The requested runtime specification is either unsupported or isn't included in your plan. If your running community edition check the value of the _APP_FUNCTIONS_MEMORY and _APP_FUNCTIONS_CPUS environment variable.",
|
||||
'code' => 400,
|
||||
],
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
enum Sizes: string
|
||||
enum Specifications: string
|
||||
{
|
||||
case S_1VCPU_512MB = 's-1vcpu-512mb';
|
||||
case S_1VCPU_1GB = 's-1vcpu-1gb';
|
||||
|
||||
@@ -3,22 +3,22 @@
|
||||
require_once __DIR__ . '/enum.php';
|
||||
|
||||
return [
|
||||
Sizes::S_1VCPU_512MB->value => [
|
||||
Specifications::S_1VCPU_512MB->value => [
|
||||
'slug' => 's-1vcpu-512mb',
|
||||
'memory' => 512,
|
||||
'cpus' => 1
|
||||
],
|
||||
Sizes::S_1VCPU_1GB->value => [
|
||||
Specifications::S_1VCPU_1GB->value => [
|
||||
'slug' => 's-1vcpu-1gb',
|
||||
'memory' => 1024,
|
||||
'cpus' => 1
|
||||
],
|
||||
Sizes::S_2VCPU_2GB->value => [
|
||||
Specifications::S_2VCPU_2GB->value => [
|
||||
'slug' => 's-2vcpu-2gb',
|
||||
'memory' => 2048,
|
||||
'cpus' => 2
|
||||
],
|
||||
Sizes::S_2VCPU_4GB->value => [
|
||||
Specifications::S_2VCPU_4GB->value => [
|
||||
'slug' => 's-2vcpu-4gb',
|
||||
'memory' => 4096,
|
||||
'cpus' => 2
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -10,7 +10,7 @@ use Appwrite\Event\Usage;
|
||||
use Appwrite\Event\Validator\FunctionEvent;
|
||||
use Appwrite\Extend\Exception;
|
||||
use Appwrite\Extend\Exception as AppwriteException;
|
||||
use Appwrite\Functions\Validator\RuntimeSize;
|
||||
use Appwrite\Functions\Validator\RuntimeSpecification;
|
||||
use Appwrite\Messaging\Adapter\Realtime;
|
||||
use Appwrite\Task\Validator\Cron;
|
||||
use Appwrite\Utopia\Database\Validator\CustomId;
|
||||
@@ -161,7 +161,7 @@ App::post('/v1/functions')
|
||||
->param('templateOwner', '', new Text(128, 0), 'The name of the owner of the template.', true)
|
||||
->param('templateRootDirectory', '', new Text(128, 0), 'Path to function code in the template repo.', true)
|
||||
->param('templateBranch', '', new Text(128, 0), 'Production branch for the repo linked to the function template.', true)
|
||||
->param('size', 's-1vcpu-512mb', fn (array $plan) => new RuntimeSize($plan), 'Runtime size for the function and builds.', true, ['plan'])
|
||||
->param('specification', 's-1vcpu-512mb', fn (array $plan) => new RuntimeSpecification($plan), 'Runtime specification for the function and builds.', true, ['plan'])
|
||||
->inject('request')
|
||||
->inject('response')
|
||||
->inject('dbForProject')
|
||||
@@ -171,7 +171,7 @@ App::post('/v1/functions')
|
||||
->inject('queueForBuilds')
|
||||
->inject('dbForConsole')
|
||||
->inject('gitHub')
|
||||
->action(function (string $functionId, string $name, string $runtime, array $execute, array $events, string $schedule, int $timeout, bool $enabled, bool $logging, string $entrypoint, string $commands, string $installationId, string $providerRepositoryId, string $providerBranch, bool $providerSilentMode, string $providerRootDirectory, string $templateRepository, string $templateOwner, string $templateRootDirectory, string $templateBranch, string $size, Request $request, Response $response, Database $dbForProject, Document $project, Document $user, Event $queueForEvents, Build $queueForBuilds, Database $dbForConsole, GitHub $github) use ($redeployVcs) {
|
||||
->action(function (string $functionId, string $name, string $runtime, array $execute, array $events, string $schedule, int $timeout, bool $enabled, bool $logging, string $entrypoint, string $commands, string $installationId, string $providerRepositoryId, string $providerBranch, bool $providerSilentMode, string $providerRootDirectory, string $templateRepository, string $templateOwner, string $templateRootDirectory, string $templateBranch, string $specification, Request $request, Response $response, Database $dbForProject, Document $project, Document $user, Event $queueForEvents, Build $queueForBuilds, Database $dbForConsole, GitHub $github) use ($redeployVcs) {
|
||||
$functionId = ($functionId == 'unique()') ? ID::unique() : $functionId;
|
||||
|
||||
$allowList = \array_filter(\explode(',', System::getEnv('_APP_FUNCTIONS_RUNTIMES', '')));
|
||||
@@ -204,10 +204,10 @@ App::post('/v1/functions')
|
||||
throw new Exception(Exception::GENERAL_ARGUMENT_INVALID, 'When connecting to VCS (Version Control System), you need to provide "installationId" and "providerBranch".');
|
||||
}
|
||||
|
||||
$spec = Config::getParam('runtime-sizes')[$size] ?? [];
|
||||
$spec = Config::getParam('runtime-specifications')[$specification] ?? [];
|
||||
|
||||
if (empty($spec) || empty($spec['memory']) || empty($spec['cpus'])) {
|
||||
throw new Exception(Exception::FUNCTION_INVALID_RUNTIME_SIZE);
|
||||
throw new Exception(Exception::FUNCTION_INVALID_RUNTIME_SPECIFICATION);
|
||||
}
|
||||
|
||||
$function = $dbForProject->createDocument('functions', new Document([
|
||||
@@ -237,7 +237,7 @@ App::post('/v1/functions')
|
||||
'providerBranch' => $providerBranch,
|
||||
'providerRootDirectory' => $providerRootDirectory,
|
||||
'providerSilentMode' => $providerSilentMode,
|
||||
'size' => $size
|
||||
'specification' => $specification
|
||||
]));
|
||||
|
||||
$schedule = Authorization::skip(
|
||||
@@ -451,55 +451,55 @@ App::get('/v1/functions/runtimes')
|
||||
]), Response::MODEL_RUNTIME_LIST);
|
||||
});
|
||||
|
||||
App::get('/v1/functions/sizes')
|
||||
App::get('/v1/functions/specifications')
|
||||
->groups(['api', 'functions'])
|
||||
->desc('Get available function runtime sizes')
|
||||
->desc('Get available function runtime specifications')
|
||||
->label('scope', 'functions.read')
|
||||
->label('sdk.auth', [APP_AUTH_TYPE_KEY])
|
||||
->label('sdk.namespace', 'functions')
|
||||
->label('sdk.method', 'getSizes')
|
||||
->label('sdk.description', '/docs/references/functions/get-sizes.md')
|
||||
->label('sdk.method', 'getSpecifications')
|
||||
->label('sdk.description', '/docs/references/functions/get-specifications.md')
|
||||
->label('sdk.response.code', Response::STATUS_CODE_OK)
|
||||
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
|
||||
->label('sdk.response.model', Response::MODEL_SIZE_LIST)
|
||||
->label('sdk.response.model', Response::MODEL_SPECIFICATION_LIST)
|
||||
->inject('response')
|
||||
->inject('plan')
|
||||
->action(function (Response $response, array $plan) {
|
||||
$allRuntimesSizes = Config::getParam('runtime-sizes');
|
||||
$allRuntimeSpecs = Config::getParam('runtime-specifications', []);
|
||||
$plans = Config::getParam('plans', []);
|
||||
|
||||
$runtimeSizes = [];
|
||||
foreach ($allRuntimesSizes as $key => $size) {
|
||||
$runtimeSpecs = [];
|
||||
foreach ($allRuntimeSpecs as $key => $spec) {
|
||||
// Don't perform any billing calculations for CE
|
||||
if (empty($plans)) {
|
||||
$size['enabled'] = true;
|
||||
$spec['enabled'] = true;
|
||||
} else {
|
||||
// Show plan names on sizes
|
||||
// Show plan names on specs
|
||||
foreach ($plans as $billingPlan) {
|
||||
if (key_exists('runtimeSizes', $billingPlan) && in_array($key, $billingPlan['runtimeSizes'])) {
|
||||
if (key_exists('runtimeSpecifications', $billingPlan) && in_array($key, $billingPlan['runtimeSpecifications'])) {
|
||||
if ($billingPlan['$id'] !== 'tier-0') {
|
||||
$size['plan'] = $billingPlan['name'];
|
||||
$spec['plan'] = $billingPlan['name'];
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Check if the size is enabled for the current plan
|
||||
if (key_exists('runtimeSizes', $plan)) {
|
||||
$size['enabled'] = in_array($key, $plan['runtimeSizes']);
|
||||
// Check if the spec is enabled for the current plan
|
||||
if (key_exists('runtimeSpecifications', $plan)) {
|
||||
$spec['enabled'] = in_array($key, $plan['runtimeSpecifications']);
|
||||
}
|
||||
}
|
||||
|
||||
// Only add sizes that are within the limits set by environment variables
|
||||
if ($size['cpus'] <= System::getEnv('_APP_FUNCTIONS_CPUS', 1) && $size['memory'] <= System::getEnv('_APP_FUNCTIONS_MEMORY', 512)) {
|
||||
$runtimeSizes[] = $size;
|
||||
// Only add specs that are within the limits set by environment variables
|
||||
if ($spec['cpus'] <= System::getEnv('_APP_FUNCTIONS_CPUS', 1) && $spec['memory'] <= System::getEnv('_APP_FUNCTIONS_MEMORY', 512)) {
|
||||
$runtimeSpecs[] = $spec;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$response->dynamic(new Document([
|
||||
'sizes' => $runtimeSizes,
|
||||
]), Response::MODEL_SIZE_LIST);
|
||||
'specifications' => $runtimeSpecs,
|
||||
]), Response::MODEL_SPECIFICATION_LIST);
|
||||
});
|
||||
|
||||
App::get('/v1/functions/:functionId')
|
||||
@@ -759,7 +759,7 @@ App::put('/v1/functions/:functionId')
|
||||
->param('providerBranch', '', new Text(128, 0), 'Production branch for the repo linked to the function', true)
|
||||
->param('providerSilentMode', false, new Boolean(), 'Is the VCS (Version Control System) connection in silent mode for the repo linked to the function? In silent mode, comments will not be made on commits and pull requests.', true)
|
||||
->param('providerRootDirectory', '', new Text(128, 0), 'Path to function code in the linked repo.', true)
|
||||
->param('size', 's-1vcpu-512mb', fn (array $plan) => new RuntimeSize($plan), 'Runtime size for the function and builds.', true, ['plan'])
|
||||
->param('specification', 's-1vcpu-512mb', fn (array $plan) => new RuntimeSpecification($plan), 'Runtime specification for the function and builds.', true, ['plan'])
|
||||
->inject('request')
|
||||
->inject('response')
|
||||
->inject('dbForProject')
|
||||
@@ -768,7 +768,7 @@ App::put('/v1/functions/:functionId')
|
||||
->inject('queueForBuilds')
|
||||
->inject('dbForConsole')
|
||||
->inject('gitHub')
|
||||
->action(function (string $functionId, string $name, string $runtime, array $execute, array $events, string $schedule, int $timeout, bool $enabled, bool $logging, string $entrypoint, string $commands, string $installationId, string $providerRepositoryId, string $providerBranch, bool $providerSilentMode, string $providerRootDirectory, string $size, Request $request, Response $response, Database $dbForProject, Document $project, Event $queueForEvents, Build $queueForBuilds, Database $dbForConsole, GitHub $github) use ($redeployVcs) {
|
||||
->action(function (string $functionId, string $name, string $runtime, array $execute, array $events, string $schedule, int $timeout, bool $enabled, bool $logging, string $entrypoint, string $commands, string $installationId, string $providerRepositoryId, string $providerBranch, bool $providerSilentMode, string $providerRootDirectory, string $specification, Request $request, Response $response, Database $dbForProject, Document $project, Event $queueForEvents, Build $queueForBuilds, Database $dbForConsole, GitHub $github) use ($redeployVcs) {
|
||||
// TODO: If only branch changes, re-deploy
|
||||
$function = $dbForProject->getDocument('functions', $functionId);
|
||||
|
||||
@@ -867,14 +867,14 @@ App::put('/v1/functions/:functionId')
|
||||
$live = false;
|
||||
}
|
||||
|
||||
$spec = Config::getParam('runtime-sizes')[$size] ?? [];
|
||||
$spec = Config::getParam('runtime-specifications')[$specification] ?? [];
|
||||
|
||||
if (empty($spec) || empty($spec['memory']) || empty($spec['cpus'])) {
|
||||
throw new Exception(Exception::FUNCTION_INVALID_RUNTIME_SIZE);
|
||||
throw new Exception(Exception::FUNCTION_INVALID_RUNTIME_SPECIFICATION);
|
||||
}
|
||||
|
||||
// Enforce Cold Start if spec limits change.
|
||||
if ($function->getAttribute('size') !== $size && !empty($function->getAttribute('deployment'))) {
|
||||
if ($function->getAttribute('specification') !== $specification && !empty($function->getAttribute('deployment'))) {
|
||||
$executor = new Executor(App::getEnv('_APP_EXECUTOR_HOST'));
|
||||
try {
|
||||
$executor->deleteRuntime($project->getId(), $function->getAttribute('deployment'));
|
||||
@@ -903,7 +903,7 @@ App::put('/v1/functions/:functionId')
|
||||
'providerBranch' => $providerBranch,
|
||||
'providerRootDirectory' => $providerRootDirectory,
|
||||
'providerSilentMode' => $providerSilentMode,
|
||||
'size' => $size,
|
||||
'specification' => $specification,
|
||||
'search' => implode(' ', [$functionId, $name, $runtime]),
|
||||
])));
|
||||
|
||||
@@ -1625,7 +1625,10 @@ App::post('/v1/functions/:functionId/executions')
|
||||
|
||||
$version = $function->getAttribute('version', 'v2');
|
||||
$runtimes = Config::getParam($version === 'v2' ? 'runtimes-v2' : 'runtimes', []);
|
||||
$spec = Config::getParam('runtime-sizes')[$function->getAttribute('size', 's-1vcpu-512mb')];
|
||||
$spec = Config::getParam('runtime-specifications')[$function->getAttribute('specification', 's-1vcpu-512mb')];
|
||||
|
||||
var_dump($function);
|
||||
var_dump($spec);
|
||||
|
||||
$runtime = (isset($runtimes[$function->getAttribute('runtime', '')])) ? $runtimes[$function->getAttribute('runtime', '')] : null;
|
||||
|
||||
|
||||
@@ -130,7 +130,7 @@ function router(App $utopia, Database $dbForConsole, callable $getProjectDB, Swo
|
||||
|
||||
$version = $function->getAttribute('version', 'v2');
|
||||
$runtimes = Config::getParam($version === 'v2' ? 'runtimes-v2' : 'runtimes', []);
|
||||
$spec = Config::getParam('runtime-sizes')[$function->getAttribute('size', 's-1vcpu-512mb')];
|
||||
$spec = Config::getParam('runtime-specifications')[$function->getAttribute('specification', 's-1vcpu-512mb')];
|
||||
|
||||
$runtime = (isset($runtimes[$function->getAttribute('runtime', '')])) ? $runtimes[$function->getAttribute('runtime', '')] : null;
|
||||
|
||||
|
||||
+1
-1
@@ -291,7 +291,7 @@ Config::load('storage-logos', __DIR__ . '/config/storage/logos.php');
|
||||
Config::load('storage-mimes', __DIR__ . '/config/storage/mimes.php');
|
||||
Config::load('storage-inputs', __DIR__ . '/config/storage/inputs.php');
|
||||
Config::load('storage-outputs', __DIR__ . '/config/storage/outputs.php');
|
||||
Config::load('runtime-sizes', __DIR__ . '/config/runtimes/sizes.php');
|
||||
Config::load('runtime-specifications', __DIR__ . '/config/runtimes/specifications.php');
|
||||
|
||||
/**
|
||||
* New DB Filters
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
Get allowed function memory and cpus values on this instance.
|
||||
@@ -0,0 +1 @@
|
||||
Get allowed function specifications for this instance.
|
||||
@@ -154,7 +154,7 @@ class Exception extends \Exception
|
||||
public const FUNCTION_RUNTIME_UNSUPPORTED = 'function_runtime_unsupported';
|
||||
public const FUNCTION_ENTRYPOINT_MISSING = 'function_entrypoint_missing';
|
||||
public const FUNCTION_SYNCHRONOUS_TIMEOUT = 'function_synchronous_timeout';
|
||||
public const FUNCTION_INVALID_RUNTIME_SIZE = 'function_invalid_runtime_size';
|
||||
public const FUNCTION_INVALID_RUNTIME_SPECIFICATION = 'function_invalid_runtime_specification';
|
||||
|
||||
/** Deployments */
|
||||
public const DEPLOYMENT_NOT_FOUND = 'deployment_not_found';
|
||||
|
||||
+13
-13
@@ -6,7 +6,7 @@ use Utopia\Config\Config;
|
||||
use Utopia\System\System;
|
||||
use Utopia\Validator;
|
||||
|
||||
class RuntimeSize extends Validator
|
||||
class RuntimeSpecification extends Validator
|
||||
{
|
||||
private array $plan;
|
||||
|
||||
@@ -16,31 +16,31 @@ class RuntimeSize extends Validator
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Allowed Values.
|
||||
* Get Allowed Specifications.
|
||||
*
|
||||
* Get allowed values taking into account the limits set by the environment variables.
|
||||
* Get allowed specifications taking into account the limits set by the environment variables and the plan.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getAllowedSizes(): array
|
||||
public function getAllowedSpecifications(): array
|
||||
{
|
||||
$sizes = Config::getParam('runtime-sizes', []);
|
||||
$specifications = Config::getParam('runtime-specifications', []);
|
||||
|
||||
$allowedSizes = [];
|
||||
$allowedSpecficiations = [];
|
||||
|
||||
foreach ($sizes as $size => $values) {
|
||||
foreach ($specifications as $size => $values) {
|
||||
if ($values['cpus'] <= System::getEnv('_APP_FUNCTIONS_CPUS', 1) && $values['memory'] <= System::getEnv('_APP_FUNCTIONS_MEMORY', 512)) {
|
||||
if (!empty($this->plan) && key_exists('runtimeSizes', $this->plan)) {
|
||||
if (!\in_array($size, $this->plan['runtimeSizes'])) {
|
||||
if (!empty($this->plan) && key_exists('runtimeSpecifications', $this->plan)) {
|
||||
if (!\in_array($size, $this->plan['runtimeSpecifications'])) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
$allowedSizes[] = $size;
|
||||
$allowedSpecifications[] = $size;
|
||||
}
|
||||
}
|
||||
|
||||
return $allowedSizes;
|
||||
return $allowedSpecifications;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -52,7 +52,7 @@ class RuntimeSize extends Validator
|
||||
*/
|
||||
public function getDescription(): string
|
||||
{
|
||||
return 'String must be a valid size value of ' . implode(', ', $this->getAllowedSizes());
|
||||
return 'String must be a valid size value of ' . implode(', ', $this->getAllowedSpecifications());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -74,7 +74,7 @@ class RuntimeSize extends Validator
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!\in_array($value, $this->getAllowedSizes())) {
|
||||
if (!\in_array($value, $this->getAllowedSpecifications())) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -140,7 +140,7 @@ class Builds extends Action
|
||||
}
|
||||
|
||||
$version = $function->getAttribute('version', 'v2');
|
||||
$spec = Config::getParam('runtime-sizes')[$function->getAttribute('size', 's-1vcpu-512mb')];
|
||||
$spec = Config::getParam('runtime-specifications')[$function->getAttribute('specifications', 's-1vcpu-512mb')];
|
||||
$runtimes = Config::getParam($version === 'v2' ? 'runtimes-v2' : 'runtimes', []);
|
||||
$key = $function->getAttribute('runtime');
|
||||
$runtime = $runtimes[$key] ?? null;
|
||||
|
||||
@@ -308,7 +308,7 @@ class Functions extends Action
|
||||
$user ??= new Document();
|
||||
$functionId = $function->getId();
|
||||
$deploymentId = $function->getAttribute('deployment', '');
|
||||
$spec = Config::getParam('runtime-sizes')[$function->getAttribute('size', 's-1vcpu-512mb')];
|
||||
$spec = Config::getParam('runtime-specifications')[$function->getAttribute('specification', 's-1vcpu-512mb')];
|
||||
|
||||
$log->addTag('deploymentId', $deploymentId);
|
||||
|
||||
|
||||
@@ -82,7 +82,7 @@ use Appwrite\Utopia\Response\Model\ProviderRepository;
|
||||
use Appwrite\Utopia\Response\Model\Rule;
|
||||
use Appwrite\Utopia\Response\Model\Runtime;
|
||||
use Appwrite\Utopia\Response\Model\Session;
|
||||
use Appwrite\Utopia\Response\Model\Size;
|
||||
use Appwrite\Utopia\Response\Model\Specification;
|
||||
use Appwrite\Utopia\Response\Model\Subscriber;
|
||||
use Appwrite\Utopia\Response\Model\Target;
|
||||
use Appwrite\Utopia\Response\Model\Team;
|
||||
@@ -248,8 +248,8 @@ class Response extends SwooleResponse
|
||||
public const MODEL_BUILD_LIST = 'buildList'; // Not used anywhere yet
|
||||
public const MODEL_FUNC_PERMISSIONS = 'funcPermissions';
|
||||
public const MODEL_HEADERS = 'headers';
|
||||
public const MODEL_SIZE = 'size';
|
||||
public const MODEL_SIZE_LIST = 'sizeList';
|
||||
public const MODEL_SPECIFICATION = 'specification';
|
||||
public const MODEL_SPECIFICATION_LIST = 'specificationList';
|
||||
|
||||
// Proxy
|
||||
public const MODEL_PROXY_RULE = 'proxyRule';
|
||||
@@ -367,7 +367,7 @@ class Response extends SwooleResponse
|
||||
->setModel(new BaseList('Target list', self::MODEL_TARGET_LIST, 'targets', self::MODEL_TARGET))
|
||||
->setModel(new BaseList('Migrations List', self::MODEL_MIGRATION_LIST, 'migrations', self::MODEL_MIGRATION))
|
||||
->setModel(new BaseList('Migrations Firebase Projects List', self::MODEL_MIGRATION_FIREBASE_PROJECT_LIST, 'projects', self::MODEL_MIGRATION_FIREBASE_PROJECT))
|
||||
->setModel(new BaseList('Sizes List', self::MODEL_SIZE_LIST, 'sizes', self::MODEL_SIZE))
|
||||
->setModel(new BaseList('Specifications List', self::MODEL_SPECIFICATION_LIST, 'specifications', self::MODEL_SPECIFICATION))
|
||||
// Entities
|
||||
->setModel(new Database())
|
||||
->setModel(new Collection())
|
||||
@@ -444,7 +444,7 @@ class Response extends SwooleResponse
|
||||
->setModel(new UsageFunction())
|
||||
->setModel(new UsageProject())
|
||||
->setModel(new Headers())
|
||||
->setModel(new Size())
|
||||
->setModel(new Specification())
|
||||
->setModel(new Rule())
|
||||
->setModel(new TemplateSMS())
|
||||
->setModel(new TemplateEmail())
|
||||
|
||||
@@ -145,9 +145,9 @@ class Func extends Model
|
||||
'default' => false,
|
||||
'example' => false,
|
||||
])
|
||||
->addRule('size', [
|
||||
->addRule('specification', [
|
||||
'type' => self::TYPE_STRING,
|
||||
'description' => 'Function execution and builds machine size.',
|
||||
'description' => 'Function execution and builds machine specification.',
|
||||
'default' => 's-1vcpu-512mb',
|
||||
'example' => 's-1vcpu-512mb',
|
||||
])
|
||||
|
||||
+3
-3
@@ -5,7 +5,7 @@ namespace Appwrite\Utopia\Response\Model;
|
||||
use Appwrite\Utopia\Response;
|
||||
use Appwrite\Utopia\Response\Model;
|
||||
|
||||
class Size extends Model
|
||||
class Specification extends Model
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
@@ -49,7 +49,7 @@ class Size extends Model
|
||||
*/
|
||||
public function getName(): string
|
||||
{
|
||||
return 'Sizes';
|
||||
return 'Specification';
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -59,6 +59,6 @@ class Size extends Model
|
||||
*/
|
||||
public function getType(): string
|
||||
{
|
||||
return Response::MODEL_SIZE;
|
||||
return Response::MODEL_SPECIFICATION;
|
||||
}
|
||||
}
|
||||
@@ -857,12 +857,12 @@ class FunctionsCustomServerTest extends Scope
|
||||
'timeout' => 15,
|
||||
'runtime' => 'php-8.0',
|
||||
'entrypoint' => 'index.php',
|
||||
'size' => 's-1vcpu-1gb',
|
||||
'specification' => 's-1vcpu-1gb',
|
||||
]);
|
||||
|
||||
$this->assertEquals(200, $response1['headers']['status-code']);
|
||||
$this->assertNotEmpty($response1['body']['$id']);
|
||||
$this->assertEquals('s-1vcpu-1gb', $response1['body']['size']);
|
||||
$this->assertEquals('s-1vcpu-1gb', $response1['body']['specification']);
|
||||
|
||||
// Test Execution
|
||||
$execution = $this->client->call(Client::METHOD_POST, '/functions/' . $data['functionId'] . '/executions', array_merge([
|
||||
@@ -887,12 +887,12 @@ class FunctionsCustomServerTest extends Scope
|
||||
'timeout' => 15,
|
||||
'runtime' => 'php-8.0',
|
||||
'entrypoint' => 'index.php',
|
||||
'size' => 's-1vcpu-512mb',
|
||||
'specification' => 's-1vcpu-512mb',
|
||||
]);
|
||||
|
||||
$this->assertEquals(200, $response2['headers']['status-code']);
|
||||
$this->assertNotEmpty($response2['body']['$id']);
|
||||
$this->assertEquals('s-1vcpu-512mb', $response2['body']['size']);
|
||||
$this->assertEquals('s-1vcpu-512mb', $response2['body']['specification']);
|
||||
|
||||
// Test Execution
|
||||
$execution = $this->client->call(Client::METHOD_POST, '/functions/' . $data['functionId'] . '/executions', array_merge([
|
||||
@@ -920,11 +920,11 @@ class FunctionsCustomServerTest extends Scope
|
||||
'timeout' => 15,
|
||||
'runtime' => 'php-8.0',
|
||||
'entrypoint' => 'index.php',
|
||||
'size' => 's-2vcpu-512mb', // Invalid size
|
||||
'specification' => 's-2vcpu-512mb', // Invalid specification
|
||||
]);
|
||||
|
||||
$this->assertEquals(400, $response3['headers']['status-code']);
|
||||
$this->assertEquals('Invalid `size` param: String must be a valid size value of s-1vcpu-512mb, s-1vcpu-1gb', $response3['body']['message']);
|
||||
$this->assertEquals('Invalid `specification` param: String must be a valid specification value of s-1vcpu-512mb, s-1vcpu-1gb', $response3['body']['message']);
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user