AirLay backend

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

Methods

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
throws
AirlayException
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
throws
AirlayException
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
throws
AirlayException
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
throws
AirlayException
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
throws
AirlayException
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
throws
AirlayException
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
throws
AirlayException
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
throws
AirlayException
Return values
bool|string

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
throws
AirlayException
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
throws
AirlayException
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
throws
AirlayException
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
throws
AirlayException
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
throws
AirlayException
Return values
string

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

getTranslator()

protected getTranslator([string|null $language = null ]) : NativeArray
Parameters
$language : string|null = null
Tags
throws
Exception
Return values
NativeArray

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

Search results