RelationsController
extends RelationsController
in package
Class ApiBaseController.
Table of Contents
- $config : AirlayConfig
- $config : AirlayConfig
- $request : Request
- $user : UserEntity
- $status : StatusPage|null
- $tokenHandler : TokenHandler|null
- __destruct() : mixed
- addMemberAction() : bool|string
- Add relation to relation request([ 'method' => 'POST', 'url' => '/api/v3/relations/addMember' 'params' => [ [ 'name' => 'dataSetId', 'type' => 'objectId', 'description' => 'DataSet id', 'required' => true ], [ 'name' => 'parentId', 'type' => 'objectId', 'required' => true ], [ 'name' => 'childId', 'type' => 'objectId', 'required' => true ] ] ]) response([ 'status' => 'OK', 'message' => 'Ok', 'code' => 0 ])
- afterExecuteRoute() : mixed
- beforeExecuteRoute() : mixed
- deleteAction() : string
- Delete relations request([ 'method' => 'POST', 'url' => '/api/v4/relations/delete' 'params' => [ [ 'name' => 'dataSetId', 'type' => 'objectId', 'required' => true ], [ 'name' => 'ids', 'type' => 'json', 'required' => true, 'description' => 'relation ids in json array' ] ] ]) response([ 'status' => 200, 'message' => 'OК', 'code' => 0 ])
- deleteWithLinksAction() : string
- Delete relations with links request([ 'method' => 'POST', 'url' => '/api/v4/relations/deleteWithLinks' 'params' => [ [ 'name' => 'dataSetId', 'type' => 'objectId', 'required' => true ], [ 'name' => 'ids', 'type' => 'json', 'required' => true, 'description' => 'relation ids in json array' ] ] ]) response([ 'status' => 200, 'message' => 'OК', 'code' => 0 ])
- findAction() : false|string
- Find relation by filter: bbox, filter Filters: bbox [[lon, lat],[lon, lat]], first point is top left bound, second point bottom right bound filter - filter by attribute request([ 'method' => 'GET' | 'POST', 'url' => '/api/v4/relations/find' 'params' => [ [ 'name' => 'dataSetId', 'type' => 'objectId', 'description' => 'DataSet id', 'required' => true ], [ 'name' => 'filter', 'type' => 'string', 'required' => false ], [ 'name' => 'bbox', 'type' => 'json', 'required' => false ], [ 'name' => 'skip', 'type' => 'int', 'required' => false, 'default' => 0 ], [ 'name' => 'limit', 'type' => 'int', 'required' => false, 'default' => 10000 ] ] ]) response([ 'status' => 'OK', 'message' => RelationsEntity[], 'code' => 0 ])
- findInvalidAction() : string
- Find invalid relation with children.
- getAction() : false|string
- Get relation by filter: id, bbox, uniqueValue, memberId.
- getChildrenFeaturesAction() : string
- Get children of relation request([ 'method' => 'POST', 'url' => '/api/v4/relations/getChildrenFeatures' 'params' => [ [ 'name' => 'dataSetId', 'type' => 'objectId', 'required' => true 'description' => 'data set id' ], [ 'name' => 'relationId', 'type' => 'objectId', 'required' => true, 'description' => 'relation id' ], [ 'name' => 'recursive', 'type' => 'bool', 'required' => false, 'description' => 'enable recursive search' ] ] ]) response([ 'status' => 200, 'message' => Features[], 'code' => 0 ])
- getParentsAction() : bool|string
- Get relation parents request([ 'method' => 'GET', 'url' => '/api/v3/relations/getParents' 'params' => [ [ 'name' => 'dataSetId', 'type' => 'objectId', 'description' => 'DataSet id', 'required' => true ], [ 'name' => 'relationId', 'type' => 'objectId', 'required' => true ] ] ]) response([ 'status' => 'OK', 'message' => [ [ 'parent' => RelationEntity, 'children' => RelationEntity[] ], ... ], 'code' => 0 ])
- indexAction() : mixed
- initialize() : void
- removeMemberAction() : bool|string
- Remove member from relation request([ 'method' => 'POST', 'url' => '/api/v3/relations/removeMember' 'params' => [ [ 'name' => 'dataSetId', 'type' => 'objectId', 'description' => 'DataSet id', 'required' => true ], [ 'name' => 'parentId', 'type' => 'objectId', 'required' => true ], [ 'name' => 'childId', 'type' => 'objectId', 'required' => true ] ] ]) response([ 'status' => 'OK', 'message' => 'Ok', 'code' => 0 ])
- replaceMemberAction() : bool|string
- Replace members to relation request([ 'method' => 'POST', 'url' => '/api/v3/relations/replaceMember' 'params' => [ [ 'name' => 'dataSetId', 'type' => 'objectId', 'description' => 'DataSet id', 'required' => true ], [ 'name' => 'parentId', 'type' => 'objectId', 'required' => true ], [ 'name' => 'replacerId', 'type' => 'objectId', 'required' => true ], [ 'name' => 'replaceableId', 'type' => 'objectId', 'required' => true ] ] ]) response([ 'status' => 'OK', 'message' => 'Ok', 'code' => 0 ])
- setAlternativeCoordinatesAction() : bool|string
- Set alternative coordinates in master objects request([ 'method' => 'POST', 'url' => '/api/v4/relations/setAlternativeCoordinates' 'params' => [ [ 'name' => 'dataSetId', 'type' => 'objectId', 'required' => true 'description' => 'data set id' ], [ 'name' => 'relationId', 'type' => 'objectId', 'required' => true, 'description' => 'relation id' ] ] ]) response([ 'status' => 200, 'message' => Features[], 'code' => 0 ])
- setCategoryAction() : string
- Set category for relation.
- setCategoryMultiAction() : string
- Set category for relations.
- addLog() : DataSetLogEntity
- attachTmpFile() : Response
- extractDataSet() : RelatedDataSet|DependentDataSet
- extractDataSetFromRequest() : DataSetEntity
- firesAnRelationUpdateEvents() : void
- getId() : mixed
- getNormalizedUserId() : int|ObjectId
- getTranslator() : NativeArray
- getUserInfo() : UserEntity
- rebuildGeometry() : void
- secureData() : mixed
- sendEmail() : mixed
- deleteRelations() : void
- setCategories() : void
Properties
$config
public
AirlayConfig
$config
$config
public
AirlayConfig
$config
$request
public
Request
$request
$user
public
UserEntity
$user
$status
protected
StatusPage|null
$status
$tokenHandler
protected
TokenHandler|null
$tokenHandler
Methods
__destruct()
public
__destruct() : mixed
Return values
mixed —addMemberAction()
Add relation to relation request([ 'method' => 'POST', 'url' => '/api/v3/relations/addMember' 'params' => [ [ 'name' => 'dataSetId', 'type' => 'objectId', 'description' => 'DataSet id', 'required' => true ], [ 'name' => 'parentId', 'type' => 'objectId', 'required' => true ], [ 'name' => 'childId', 'type' => 'objectId', 'required' => true ] ] ]) response([ 'status' => 'OK', 'message' => 'Ok', 'code' => 0 ])
public
addMemberAction() : bool|string
Tags
Return values
bool|string —afterExecuteRoute()
public
afterExecuteRoute(Dispatcher $dispatcher) : mixed
Parameters
- $dispatcher : Dispatcher
Return values
mixed —beforeExecuteRoute()
public
beforeExecuteRoute(Dispatcher $dispatcher) : mixed
Parameters
- $dispatcher : Dispatcher
Return values
mixed —deleteAction()
Delete relations request([ 'method' => 'POST', 'url' => '/api/v4/relations/delete' 'params' => [ [ 'name' => 'dataSetId', 'type' => 'objectId', 'required' => true ], [ 'name' => 'ids', 'type' => 'json', 'required' => true, 'description' => 'relation ids in json array' ] ] ]) response([ 'status' => 200, 'message' => 'OК', 'code' => 0 ])
public
deleteAction() : string
Tags
Return values
string —deleteWithLinksAction()
Delete relations with links request([ 'method' => 'POST', 'url' => '/api/v4/relations/deleteWithLinks' 'params' => [ [ 'name' => 'dataSetId', 'type' => 'objectId', 'required' => true ], [ 'name' => 'ids', 'type' => 'json', 'required' => true, 'description' => 'relation ids in json array' ] ] ]) response([ 'status' => 200, 'message' => 'OК', 'code' => 0 ])
public
deleteWithLinksAction() : string
Tags
Return values
string —findAction()
Find relation by filter: bbox, filter Filters: bbox [[lon, lat],[lon, lat]], first point is top left bound, second point bottom right bound filter - filter by attribute request([ 'method' => 'GET' | 'POST', 'url' => '/api/v4/relations/find' 'params' => [ [ 'name' => 'dataSetId', 'type' => 'objectId', 'description' => 'DataSet id', 'required' => true ], [ 'name' => 'filter', 'type' => 'string', 'required' => false ], [ 'name' => 'bbox', 'type' => 'json', 'required' => false ], [ 'name' => 'skip', 'type' => 'int', 'required' => false, 'default' => 0 ], [ 'name' => 'limit', 'type' => 'int', 'required' => false, 'default' => 10000 ] ] ]) response([ 'status' => 'OK', 'message' => RelationsEntity[], 'code' => 0 ])
public
findAction() : false|string
Tags
Return values
false|string —findInvalidAction()
Find invalid relation with children.
public
findInvalidAction() : string
request([ 'method' => 'POST', 'url' => '/api/v4/relations/findInvalid' 'params' => [ [ 'name' => 'dataSetId', 'type' => 'objectId', 'description' => 'DataSet id', 'required' => true ], [ 'name' => 'skip', 'type' => 'int', 'required' => false, 'default' => 0 ], [ 'name' => 'limit', 'type' => 'int', 'required' => false, 'default' => 10 ], [ 'name' => 'value', 'type' => 'string', 'required' => false, 'description' => 'Start of objects unique value', 'default' => '' ], [ 'name' => 'filter', 'type' => 'string' 'required' => false, 'value' => '', 'example' => '({{createDate}}>=1657731600&{{createDate}}<=1658422799)&({{status_rus}}="доставлено"|{{status_rus}}="отправлено")' ] ] ]) response([ 'status' => 'OK', 'message' => array, 'code' => 0 ])
Tags
Return values
string —getAction()
Get relation by filter: id, bbox, uniqueValue, memberId.
public
getAction() : false|string
Filters: id - find by relations id bbox [[lon, lat],[lon, lat]], first point is top left bound, second point bottom right bound uniqueValue - find relation by unique field memberId - find relations by member id request([ 'method' => 'GET' | 'POST', 'url' => '/api/v4/relations/get' 'params' => [ [ 'name' => 'dataSetId', 'type' => 'objectId', 'description' => 'DataSet id', 'required' => true ], [ 'name' => 'filterName', 'type' => 'string', 'required' => false ], [ 'name' => 'filterValue', 'type' => 'mixed', 'required' => false ], [ 'name' => 'skip', 'type' => 'int', 'required' => false, 'default' => 0 ], [ 'name' => 'limit', 'type' => 'int', 'required' => false, 'default' => 10000 ], [ 'name' => 'hierarchy', 'type' => 'bool', 'required' => false, 'default' => false ] ] ]) response([ 'status' => 'OK', 'message' => [ 'editableRelations' => RelationsEntity[], 'uneditableRelations' => RelationsEntity[] ], 'code' => 0 ])
Tags
Return values
false|string —getChildrenFeaturesAction()
Get children of relation request([ 'method' => 'POST', 'url' => '/api/v4/relations/getChildrenFeatures' 'params' => [ [ 'name' => 'dataSetId', 'type' => 'objectId', 'required' => true 'description' => 'data set id' ], [ 'name' => 'relationId', 'type' => 'objectId', 'required' => true, 'description' => 'relation id' ], [ 'name' => 'recursive', 'type' => 'bool', 'required' => false, 'description' => 'enable recursive search' ] ] ]) response([ 'status' => 200, 'message' => Features[], 'code' => 0 ])
public
getChildrenFeaturesAction() : string
Tags
Return values
string —getParentsAction()
Get relation parents request([ 'method' => 'GET', 'url' => '/api/v3/relations/getParents' 'params' => [ [ 'name' => 'dataSetId', 'type' => 'objectId', 'description' => 'DataSet id', 'required' => true ], [ 'name' => 'relationId', 'type' => 'objectId', 'required' => true ] ] ]) response([ 'status' => 'OK', 'message' => [ [ 'parent' => RelationEntity, 'children' => RelationEntity[] ], ... ], 'code' => 0 ])
public
getParentsAction() : bool|string
Tags
Return values
bool|string —indexAction()
public
indexAction() : mixed
Return values
mixed —initialize()
public
initialize() : void
Return values
void —removeMemberAction()
Remove member from relation request([ 'method' => 'POST', 'url' => '/api/v3/relations/removeMember' 'params' => [ [ 'name' => 'dataSetId', 'type' => 'objectId', 'description' => 'DataSet id', 'required' => true ], [ 'name' => 'parentId', 'type' => 'objectId', 'required' => true ], [ 'name' => 'childId', 'type' => 'objectId', 'required' => true ] ] ]) response([ 'status' => 'OK', 'message' => 'Ok', 'code' => 0 ])
public
removeMemberAction() : bool|string
Tags
Return values
bool|string —replaceMemberAction()
Replace members to relation request([ 'method' => 'POST', 'url' => '/api/v3/relations/replaceMember' 'params' => [ [ 'name' => 'dataSetId', 'type' => 'objectId', 'description' => 'DataSet id', 'required' => true ], [ 'name' => 'parentId', 'type' => 'objectId', 'required' => true ], [ 'name' => 'replacerId', 'type' => 'objectId', 'required' => true ], [ 'name' => 'replaceableId', 'type' => 'objectId', 'required' => true ] ] ]) response([ 'status' => 'OK', 'message' => 'Ok', 'code' => 0 ])
public
replaceMemberAction() : bool|string
Tags
Return values
bool|string —setAlternativeCoordinatesAction()
Set alternative coordinates in master objects request([ 'method' => 'POST', 'url' => '/api/v4/relations/setAlternativeCoordinates' 'params' => [ [ 'name' => 'dataSetId', 'type' => 'objectId', 'required' => true 'description' => 'data set id' ], [ 'name' => 'relationId', 'type' => 'objectId', 'required' => true, 'description' => 'relation id' ] ] ]) response([ 'status' => 200, 'message' => Features[], 'code' => 0 ])
public
setAlternativeCoordinatesAction() : bool|string
Tags
Return values
bool|string —setCategoryAction()
Set category for relation.
public
setCategoryAction() : string
request([ 'method' => 'POST', 'url' => '/api/v4/relations/setCategory' 'params' => [ [ 'name' => 'dataSetId', 'type' => 'objectId', 'required' => true ], [ 'name' => 'relationId', 'type' => 'objectId', 'required' => true ], [ 'name' => 'categoryId', 'type' => 'objectId', 'required' => true ] ] ]) response([ 'status' => 200, 'message' => 'OК', 'code' => 0 ])
Tags
Return values
string —setCategoryMultiAction()
Set category for relations.
public
setCategoryMultiAction() : string
request([ 'method' => 'POST', 'url' => '/api/v4/relations/setCategoryMulti' 'params' => [ [ 'name' => 'dataSetId', 'type' => 'objectId', 'required' => true ], [ 'name' => 'relationIds', 'type' => 'arrayObjectId', 'required' => true ], [ 'name' => 'categoryId', 'type' => 'objectId', 'required' => true ] ] ]) response([ 'status' => 200, 'message' => 'OК', 'code' => 0 ])
Tags
Return values
string —addLog()
protected
addLog(DataSetEntity $dataSet, array<string|int, RelationEntity> $relations, string $operation) : DataSetLogEntity
Parameters
- $dataSet : DataSetEntity
- $relations : array<string|int, RelationEntity>
- $operation : string
Return values
DataSetLogEntity —attachTmpFile()
protected
attachTmpFile(TmpFile $tmpFile) : Response
Parameters
- $tmpFile : TmpFile
Return values
Response —extractDataSet()
protected
extractDataSet() : RelatedDataSet|DependentDataSet
Tags
Return values
RelatedDataSet|DependentDataSet —extractDataSetFromRequest()
protected
extractDataSetFromRequest() : DataSetEntity
Tags
Return values
DataSetEntity —firesAnRelationUpdateEvents()
protected
firesAnRelationUpdateEvents(array<string|int, mixed> $relations, ObjectId $dataSetId[, DataSetLogEntity|null $log = null ]) : void
Parameters
- $relations : array<string|int, mixed>
- $dataSetId : ObjectId
- $log : DataSetLogEntity|null = null
Return values
void —getId()
protected
getId() : mixed
Return values
mixed —getNormalizedUserId()
protected
getNormalizedUserId() : int|ObjectId
Tags
Return values
int|ObjectId —getTranslator()
protected
getTranslator([string|null $language = null ]) : NativeArray
Parameters
- $language : string|null = null
Tags
Return values
NativeArray —getUserInfo()
protected
getUserInfo() : UserEntity
Tags
Return values
UserEntity —rebuildGeometry()
protected
rebuildGeometry(RelatedDataSet $relatedDataSet, array<string|int, RelationEntity> $relations) : void
Parameters
- $relatedDataSet : RelatedDataSet
- $relations : array<string|int, RelationEntity>
Return values
void —secureData()
protected
secureData(mixed $data) : mixed
Parameters
- $data : mixed
Return values
mixed —sendEmail()
protected
sendEmail(string $email, string $name, string $subject, string $body) : mixed
Parameters
- $email : string
- $name : string
- $subject : string
- $body : string
Return values
mixed —deleteRelations()
private
deleteRelations(RelatedDataSet $relatedDataSet, array<string|int, ObjectId> $relationIds) : void
Parameters
- $relatedDataSet : RelatedDataSet
- $relationIds : array<string|int, ObjectId>
Tags
Return values
void —setCategories()
private
setCategories(RelatedDataSet|DependentDataSet $dataSetCollection, ObjectId $categoryId, array<string|int, ObjectId> $objectIds) : void
Parameters
- $dataSetCollection : RelatedDataSet|DependentDataSet
- $categoryId : ObjectId
- $objectIds : array<string|int, ObjectId>