ResourceImport
extends ProcessorEntity
in package
Class ResourceImport
Processor class to import a resource
Table of Contents
- $id : mixed
- Processor ID.
- $db : ADOConnection|null
- DB connections.
- $details : array<string|int, mixed>
- {@inheritDoc}
- $logger : MonologWrapper
- Logger object.
- $meta : array<string|int, mixed>
- Metadata for the processor.
- $request : Request
- All the request details.
- $resourceMapper : ResourceMapper
- Resource mapper class.
- $validator : ResourceValidator
- Resource validator class.
- __construct() : mixed
- details() : array<string|int, mixed>
- Return details for processor.
- process() : DataContainer
- {@inheritDoc}
- val() : mixed|DataContainer
- Process a variable into a final result for the processor.
- extractNewResource() : array<string|int, mixed>
- Extract the input YAML or JSON into an array.
- generateParams() : array<string|int, mixed>
- Generate the params array for the sql search.
- isDataContainer() : bool
- Validate if a set of data is wrapped in a DataContainer object.
- validateImportPermissions() : void
- Validate user permissions to import a resource.
- validateResourceExists() : void
- Validate the new resource does not already exist.
- validateAllowedTypes() : void
- Validate an input for allowed variable types
- validateAllowedValues() : void
- Validate an input for allowed values.
Properties
$id
Processor ID.
public
mixed
$id
= ''
Processor ID.
$db
DB connections.
protected
ADOConnection|null
$db
$details
{@inheritDoc}
protected
array<string|int, mixed>
$details
= ['name' => 'Resource import', 'machineName' => 'resource_import', 'description' => 'Import a resource from a file.', 'menu' => 'Admin', 'input' => ['resource' => ['description' => 'The resource file file. This can be YAML or JSON.', 'cardinality' => [1, 1], 'literalAllowed' => false, 'limitProcessors' => ['var_file'], 'limitTypes' => [], 'limitValues' => [], 'default' => null]]]
Details of the processor.
$logger
Logger object.
protected
MonologWrapper
$logger
$meta
Metadata for the processor.
protected
array<string|int, mixed>
$meta
$request
All the request details.
protected
Request
$request
Request.
$resourceMapper
Resource mapper class.
private
ResourceMapper
$resourceMapper
$validator
Resource validator class.
private
ResourceValidator
$validator
Methods
__construct()
public
__construct(array<string|int, mixed> &$meta, Request &$request, ADOConnection|null $db, MonologWrapper|null $logger) : mixed
Parameters
- $meta : array<string|int, mixed>
-
Metadata for the processor.
- $request : Request
-
The full request object.
- $db : ADOConnection|null
-
The DB connection object.
- $logger : MonologWrapper|null
-
The logger.
Return values
mixed —details()
Return details for processor.
public
details() : array<string|int, mixed>
Return values
array<string|int, mixed> —process()
{@inheritDoc}
public
process() : DataContainer
Tags
Return values
DataContainer —Result of the processor.
val()
Process a variable into a final result for the processor.
public
val(string $key[, bool|null $rawData = false ]) : mixed|DataContainer
This method can be used to process a value in its meta to return a final result that it can use. If the object is a processor, then it will process that down to a final return value, or if the obj is a simple value, then it will return that. Anything else will return an error object.
Setting $realValue to true will force the value to be the actual value, rather than a potential dataContainer.
Parameters
- $key : string
-
The key for the input variable in the meta.
- $rawData : bool|null = false
-
Return the raw data or a DataContainer.
Tags
Return values
mixed|DataContainer —extractNewResource()
Extract the input YAML or JSON into an array.
protected
extractNewResource(string $string) : array<string|int, mixed>
Parameters
- $string : string
Tags
Return values
array<string|int, mixed> —generateParams()
Generate the params array for the sql search.
protected
generateParams(string|null $keyword, array<string|int, mixed>|null $keywordCols, string|null $orderBy, string|null $direction) : array<string|int, mixed>
Parameters
- $keyword : string|null
-
Search keyword.
- $keywordCols : array<string|int, mixed>|null
-
Columns to search for the keyword.
- $orderBy : string|null
-
Order by column.
- $direction : string|null
-
Order direction.
Return values
array<string|int, mixed> —isDataContainer()
Validate if a set of data is wrapped in a DataContainer object.
protected
isDataContainer(mixed $data) : bool
Parameters
- $data : mixed
-
DataContainer or raw data.
Return values
bool —validateImportPermissions()
Validate user permissions to import a resource.
protected
validateImportPermissions(int $uid, array<string|int, mixed> $resource) : void
Parameters
- $uid : int
- $resource : array<string|int, mixed>
Tags
Return values
void —validateResourceExists()
Validate the new resource does not already exist.
protected
validateResourceExists(array<string|int, mixed> $resource) : void
Parameters
- $resource : array<string|int, mixed>
Tags
Return values
void —validateAllowedTypes()
Validate an input for allowed variable types
private
validateAllowedTypes(string $type, array<string|int, mixed> $limitTypes, int $min, string $key) : void
Parameters
- $type : string
-
Input value type.
- $limitTypes : array<string|int, mixed>
-
List of limit on variable types.
- $min : int
-
Minimum number of values.
- $key : string
-
The key of the input being validated.
Tags
Return values
void —validateAllowedValues()
Validate an input for allowed values.
private
validateAllowedValues(mixed $val, array<string|int, mixed> $limitValues, int $min, string $key) : void
Parameters
- $val : mixed
-
Input value.
- $limitValues : array<string|int, mixed>
-
List of allowed values.
- $min : int
-
Minimum number of values.
- $key : string
-
The key of the input being validated.