addRule('key', [ 'type' => self::TYPE_STRING, 'description' => 'Attribute Key.', 'default' => '', 'example' => 'userEmail', ]) ->addRule('type', [ 'type' => self::TYPE_STRING, 'description' => 'Attribute type.', 'default' => '', 'example' => 'string', ]) ->addRule('format', [ 'type' => self::TYPE_STRING, 'description' => 'String format.', 'default' => APP_DATABASE_ATTRIBUTE_EMAIL, 'example' => APP_DATABASE_ATTRIBUTE_EMAIL, ]) ->addRule('default', [ 'type' => self::TYPE_STRING, 'description' => 'Default value for attribute when not provided. Cannot be set when attribute is required.', 'default' => null, 'required' => false, 'example' => 'default@example.com', ]) ; } public array $conditions = [ 'type' => self::TYPE_STRING, 'format' => \APP_DATABASE_ATTRIBUTE_EMAIL ]; /** * Get Name * * @return string */ public function getName(): string { return 'AttributeEmail'; } /** * Get Type * * @return string */ public function getType(): string { return Response::MODEL_ATTRIBUTE_EMAIL; } }