mirror of
https://github.com/appwrite/appwrite
synced 2026-04-21 13:37:16 +00:00
Unify getDiscriminator to produce a single discriminator object for both
single-key and compound cases. Single-key returns standard {propertyName,
mapping}. Compound falls back to extending the object with x-propertyNames
and x-mapping for multi-property discrimination.
Simplify call sites: OpenAPI3 uses 'discriminator', Swagger2 uses
'x-discriminator' — no more split keys.
Add conditions to all 7 Algo models (AlgoArgon2, AlgoBcrypt, AlgoMd5,
AlgoPhpass, AlgoScrypt, AlgoScryptModified, AlgoSha) to enable
discriminator generation for hashOptions unions.
45 lines
901 B
PHP
45 lines
901 B
PHP
<?php
|
|
|
|
namespace Appwrite\Utopia\Response\Model;
|
|
|
|
use Appwrite\Utopia\Response;
|
|
use Appwrite\Utopia\Response\Model;
|
|
|
|
class AlgoBcrypt extends Model
|
|
{
|
|
public array $conditions = [
|
|
'type' => 'bcrypt',
|
|
];
|
|
|
|
public function __construct()
|
|
{
|
|
// No options, because this can only be imported, and verifying doesnt require any configuration
|
|
$this
|
|
->addRule('type', [
|
|
'type' => self::TYPE_STRING,
|
|
'description' => 'Algo type.',
|
|
'default' => 'bcrypt',
|
|
'example' => 'bcrypt',
|
|
]);
|
|
}
|
|
|
|
/**
|
|
* Get Name
|
|
*
|
|
* @return string
|
|
*/
|
|
public function getName(): string
|
|
{
|
|
return 'AlgoBcrypt';
|
|
}
|
|
|
|
/**
|
|
* Get Type
|
|
*
|
|
* @return string
|
|
*/
|
|
public function getType(): string
|
|
{
|
|
return Response::MODEL_ALGO_BCRYPT;
|
|
}
|
|
}
|