Source of file Test_EncryptedModel.php
Size: 2,038 Bytes - Last Modified: 2021-12-23T10:00:31+00:00
/var/www/docs.ssmods.com/process/src/tests/Test_EncryptedModel.php
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 | <?php namespace LeKoala\Encrypt\Test; use SilverStripe\Assets\File; use SilverStripe\Dev\TestOnly; use SilverStripe\ORM\DataObject; use LeKoala\Encrypt\EncryptedDBText; use LeKoala\Encrypt\EncryptedDBField; use LeKoala\Encrypt\EncryptedDBVarchar; use LeKoala\Encrypt\HasEncryptedFields; use LeKoala\Encrypt\EncryptedDBHTMLText; use LeKoala\Encrypt\EncryptedDBJson; use LeKoala\Encrypt\EncryptedFile; use LeKoala\Encrypt\EncryptedNumberField; use SilverStripe\Security\Member; /** * A test model for our encryption * * @property string $Name * @property string $MyText * @property string $MyHTMLText * @property string $MyVarchar * @property string $MyNumber * @property string $MyVarcharWithIndex * @property string $MyJson * @property int $RegularFileID * @property int $EncryptedFileID */ class Test_EncryptedModel extends DataObject implements TestOnly { use HasEncryptedFields; private static $table_name = 'EncryptedModel'; private static $db = [ "Name" => 'Varchar', "MyText" => EncryptedDBText::class, "MyHTMLText" => EncryptedDBHTMLText::class, "MyVarchar" => EncryptedDBVarchar::class, "MyNumber" => EncryptedNumberField::class . '(["output_size" => 4, "domain_size" => 10])', "MyIndexedVarchar" => EncryptedDBField::class, "MyJson" => EncryptedDBJson::class, ]; private static $has_one = [ "RegularFile" => File::class, // We use regular File class for encrypted files to keep only one table "EncryptedFile" => File::class, "EncryptedFileClass" => EncryptedFile::class, "Member" => Member::class, ]; private static $indexes = [ 'MyIndexedVarcharBlindIndex' => true, 'MyNumberBlindIndex' => true, 'MyNumberLastFourBlindIndex' => true, ]; public function getField($field) { return $this->getEncryptedField($field); } public function setField($fieldName, $val) { return $this->setEncryptedField($fieldName, $val); } } |