diff --git a/src/Appwrite/SDK/Specification/Format.php b/src/Appwrite/SDK/Specification/Format.php index 4c7fa6f377..fc67dedb13 100644 --- a/src/Appwrite/SDK/Specification/Format.php +++ b/src/Appwrite/SDK/Specification/Format.php @@ -757,28 +757,28 @@ abstract class Format case 'updateAuthMethod': switch ($param) { case 'methodId': - return 'AuthMethod'; + return 'ProjectAuthMethodId'; } break; case 'getPolicy': switch ($param) { case 'policyId': - return 'ProjectPolicy'; + return 'ProjectPolicyId'; } break; case 'getOAuth2Provider': switch ($param) { case 'providerId': - return 'OAuthProvider'; + return 'ProjectOAuthProviderId'; } break; case 'getEmailTemplate': case 'updateEmailTemplate': switch ($param) { case 'templateId': - return 'EmailTemplateType'; + return 'ProjectEmailTemplateId'; case 'locale': - return 'EmailTemplateLocale'; + return 'ProjectEmailTemplateLocale'; } break; case 'getUsage': @@ -787,6 +787,39 @@ abstract class Format return 'ProjectUsageRange'; } break; + case 'updateProtocol': + switch ($param) { + case 'protocolId': + return 'ProjectProtocolId'; + } + break; + case 'updateService': + switch ($param) { + case 'serviceId': + return 'ProjectServiceId'; + } + break; + case 'updateSMTP': + case 'createSMTPTest': + switch ($param) { + case 'secure': + return 'ProjectSMTPSecure'; + } + break; + case 'updateOAuth2Google': + switch ($param) { + case 'prompt': + return 'ProjectOAuth2GooglePrompt'; + } + break; + case 'createKey': + case 'createEphemeralKey': + case 'updateKey': + switch ($param) { + case 'scopes': + return 'ProjectKeyScopes'; + } + break; } break; case 'projects': @@ -1019,8 +1052,12 @@ abstract class Format return self::REQUEST_PARAMETER_OVERRIDES; } - public function getResponseEnumName(string $model, string $param): ?string + public function getResponseEnumName(string $model, string $param, ?string $enumSDKName = null): ?string { + if ($enumSDKName) { + return $enumSDKName; + } + if ($param === 'type' && \str_starts_with($model, 'platform') && $model !== 'platformList') { return 'PlatformType'; } diff --git a/src/Appwrite/SDK/Specification/Format/OpenAPI3.php b/src/Appwrite/SDK/Specification/Format/OpenAPI3.php index f69ec3972a..3be3fe7115 100644 --- a/src/Appwrite/SDK/Specification/Format/OpenAPI3.php +++ b/src/Appwrite/SDK/Specification/Format/OpenAPI3.php @@ -988,13 +988,13 @@ class OpenAPI3 extends Format if ($rule['type'] === 'enum' && !empty($rule['enum'])) { if ($rule['array']) { $output['components']['schemas'][$model->getType()]['properties'][$name]['items']['enum'] = \array_values($rule['enum']); - $enumName = $this->getResponseEnumName($model->getType(), $name); + $enumName = $this->getResponseEnumName($model->getType(), $name, $rule['enumSDKName'] ?? null); if ($enumName) { $output['components']['schemas'][$model->getType()]['properties'][$name]['items']['x-enum-name'] = $enumName; } } else { $output['components']['schemas'][$model->getType()]['properties'][$name]['enum'] = \array_values($rule['enum']); - $enumName = $this->getResponseEnumName($model->getType(), $name); + $enumName = $this->getResponseEnumName($model->getType(), $name, $rule['enumSDKName'] ?? null); if ($enumName) { $output['components']['schemas'][$model->getType()]['properties'][$name]['x-enum-name'] = $enumName; } diff --git a/src/Appwrite/SDK/Specification/Format/Swagger2.php b/src/Appwrite/SDK/Specification/Format/Swagger2.php index 52e33bcc27..9a16bc8bbe 100644 --- a/src/Appwrite/SDK/Specification/Format/Swagger2.php +++ b/src/Appwrite/SDK/Specification/Format/Swagger2.php @@ -975,13 +975,13 @@ class Swagger2 extends Format if ($rule['type'] === 'enum' && !empty($rule['enum'])) { if ($rule['array']) { $output['definitions'][$model->getType()]['properties'][$name]['items']['enum'] = \array_values($rule['enum']); - $enumName = $this->getResponseEnumName($model->getType(), $name); + $enumName = $this->getResponseEnumName($model->getType(), $name, $rule['enumSDKName'] ?? null); if ($enumName) { $output['definitions'][$model->getType()]['properties'][$name]['items']['x-enum-name'] = $enumName; } } else { $output['definitions'][$model->getType()]['properties'][$name]['enum'] = \array_values($rule['enum']); - $enumName = $this->getResponseEnumName($model->getType(), $name); + $enumName = $this->getResponseEnumName($model->getType(), $name, $rule['enumSDKName'] ?? null); if ($enumName) { $output['definitions'][$model->getType()]['properties'][$name]['x-enum-name'] = $enumName; } diff --git a/src/Appwrite/Utopia/Response/Model/ProjectAuthMethod.php b/src/Appwrite/Utopia/Response/Model/ProjectAuthMethod.php index e500d7caa6..cb4a7dc93f 100644 --- a/src/Appwrite/Utopia/Response/Model/ProjectAuthMethod.php +++ b/src/Appwrite/Utopia/Response/Model/ProjectAuthMethod.php @@ -17,6 +17,7 @@ class ProjectAuthMethod extends Model 'default' => '', 'example' => 'email-password', 'enum' => \array_keys(Config::getParam('auth', [])), + 'enumSDKName' => 'ProjectAuthMethodId', ]) ->addRule('enabled', [ 'type' => self::TYPE_BOOLEAN, diff --git a/src/Appwrite/Utopia/Response/Model/ProjectProtocol.php b/src/Appwrite/Utopia/Response/Model/ProjectProtocol.php index fc166be9aa..918b1bc630 100644 --- a/src/Appwrite/Utopia/Response/Model/ProjectProtocol.php +++ b/src/Appwrite/Utopia/Response/Model/ProjectProtocol.php @@ -17,6 +17,7 @@ class ProjectProtocol extends Model 'default' => '', 'example' => 'graphql', 'enum' => \array_keys(Config::getParam('protocols', [])), + 'enumSDKName' => 'ProjectProtocolId', ]) ->addRule('enabled', [ 'type' => self::TYPE_BOOLEAN, diff --git a/src/Appwrite/Utopia/Response/Model/ProjectService.php b/src/Appwrite/Utopia/Response/Model/ProjectService.php index ca481c2946..2e76dcfbe7 100644 --- a/src/Appwrite/Utopia/Response/Model/ProjectService.php +++ b/src/Appwrite/Utopia/Response/Model/ProjectService.php @@ -17,6 +17,7 @@ class ProjectService extends Model 'default' => '', 'example' => 'sites', 'enum' => \array_keys(\array_filter(Config::getParam('services', []), fn ($element) => $element['optional'])), + 'enumSDKName' => 'ProjectServiceId', ]) ->addRule('enabled', [ 'type' => self::TYPE_BOOLEAN,