UserController
extends ApiBaseController
in package
implements
AirlayIndexDi
Class UserController.
Interfaces, Classes, Traits and Enums
- AirlayIndexDi
- Interface AirlayIndexDi
Table of Contents
- $config : AirlayConfig
- $request : Request
- $user : UserEntity
- $status : StatusPage|null
- $tokenHandler : TokenHandler|null
- __destruct() : mixed
- afterExecuteRoute() : mixed
- authAction() : string
- Authorization user request( 'method' => 'POST', 'url' => '/api/v3/user/auth', 'params' => [ [ 'name' => 'name', 'type' => 'string', 'description' => 'User name', 'require' => true ], [ 'name' => 'password', 'type' => 'string', 'description' => 'User password', 'require' => true ], [ 'name' => 'deviceId', 'type' => 'string', 'description' => 'Device Id', 'require' => false ] ] ) response( '200' => [ 'status' => 200, 'message' => [ 'access_token' => JWT, 'refresh_token' => JWT ], 'code' => 0 ] ).
- beforeExecuteRoute() : mixed
- confirmRegistrationAction() : string
- Confirm user registration.
- findUsersByIdsAction() : string
- findUsersByNamesAction() : string
- Get users filtered by name.
- geocodeAction() : string
- Coordinates geocoding.
- getRoleAction() : string
- Get role for portal or cms request([ 'method' => 'GET', 'url' => 'api/v3/user/getRole', 'params' => [ [ 'name' => 'portalId', 'type' => 'int', 'required' => false ] ] ]) response([ 'status' => 200, 'message' = 'Guest' | 'User' | 'CmsUser', 'code' => 0 ]).
- getUploadLogsAction() : void
- getUserInfoAction() : bool|string
- Confirm user registration.
- getUserSearchAction() : string|false
- Get users search.
- getUserWindowPositionAction() : string
- Get user window position.
- indexAction() : mixed
- initialize() : void
- logoutAction() : string
- Logout user request( 'method' => 'POST', 'url' => '/api/v3/user/logout', 'params' => [ [ 'name' => 'refresh_token', 'type' => 'string', 'description' => 'Refresh token', 'require' => true ] ] ) response([ 'status' => 200, 'message' => Ok, 'code' => 0 ])
- performUserSearchAction() : string
- Perform user search.
- pinCodeAuthAction() : string
- Authorization by pin code request( 'method' => 'POST', 'url' => '/api/v3/user/pinCodeAuth', 'params' => [ [ 'name' => 'pinCode', 'type' => 'absint', 'description' => 'Authorization pin code', 'require' => true ], [ 'name' => 'token', 'type' => 'string', 'description' => 'Token for authorization by pin code', 'require' => true ] ] ) response( '200' => [ 'status' => 200, 'message' => [ 'access_token' => JWT, 'refresh_token' => JWT ], 'code' => 0 ] ).
- refreshTokensAction() : mixed
- registrationAction() : string
- Registration new user request( 'method' => 'POST', 'url' => '/api/v3/user/registration', 'params' => [ [ 'name' => 'name', 'type' => 'string', 'description' => 'user login', 'require' => true ], [ 'name' => 'password', 'type' => 'string', 'description' => 'user password', 'require' => true ], [ 'name' => 'email', 'type' => 'string', 'description' => 'user email', 'require' => true ], [ 'name' => 'organization', 'type' => 'string', 'description' => 'organization name', 'require' => true ], [ 'name' => 'firstName', 'type' => 'string', 'description' => 'user firstName', 'require' => false ], [ 'name' => 'secondName', 'type' => 'string', 'description' => 'user secondName', 'require' => false ], [ 'name' => 'lastName', 'type' => 'string', 'description' => 'user lastName', 'require' => false ], [ 'name' => 'number', 'type' => 'string', 'description' => 'user phone number', 'require' => false ], [ 'name' => 'portalId', 'type' => 'ObjectId', 'description' => 'registration portal id', 'require' => false ], [ 'name' => 'organizationTemplate', 'type' => 'ObjectId', 'description' => 'organizationTemplateId', 'require' => false ], [ 'name' => 'domain', 'type' => 'string', 'description' => 'organization domain', 'require' => false ] ] ) response( '200' => [ 'status' => 200, 'message' => string, 'code' => 0 ] ).
- restorePasswordAction() : void
- Restore password request([ 'method' => 'POST', 'url' => 'api/v3/user/restorePassword', 'params' => [ [ 'password' => 'email', 'type' => 'string', 'required' => true ] [ 'token' => 'portalId', 'type' => 'int', 'required' => false ] ] ]) response([ 'status' => 200, 'message' = 'OK', 'code' => 0 ]).
- saveUserWindowPositionAction() : string
- Save user window position.
- setPasswordAction() : string
- Set user password request([ 'method' => 'POST', 'url' => 'api/v3/user/setPassword', 'params' => [ [ 'name' => 'userId', 'type' => 'objectId', 'required' => true ], [ 'name' => 'password', 'type' => 'string', 'required' => false ] ] ]) response([ 'status' => 'OK', 'message' = 'OK', 'code' => 0 ]).
- setPasswordByKeyAction() : void
- Set password by key request([ 'method' => 'POST', 'url' => 'api/v3/user/setPasswordByKey', 'params' => [ [ 'name' => 'password', 'type' => 'string', 'required' => true ] [ 'name' => 'key', 'type' => 'string', 'required' => true ] ] ]) response([ 'status' => 200, 'message' = 'OK', 'code' => 0 ]).
- setPasswordByTokenAction() : string
- Set password by token request([ 'method' => 'POST', 'url' => 'api/v3/user/changePasswordByToken', 'params' => [ [ 'password' => 'password', 'type' => 'string', 'required' => true ] [ 'token' => 'token', 'type' => 'string', 'required' => true ] ] ]) response([ 'status' => 'OK', 'message' = User, 'code' => 0 ]).
- updateUserInfoAction() : 200
- POST Update user info.
- uploadUsersAction() : string
- verifyAction() : string|false
- Verified new user request( 'method' => 'POST', 'url' => '/api/v3/user/verify', 'params' => [ [ 'name' => 'id', 'type' => 'ObjectId', 'description' => 'user id', 'require' => true ], [ 'name' => 'isVerified', 'type' => 'bool', 'description' => 'verified user or not', 'require' => true ] ] ) response( '200' => [ 'status' => 200, 'message' => string, 'code' => 0 ] ).
- generateUnicKey() : string
- getId() : mixed
- getUserInfo() : UserEntity
- isTwoFactorAuthorizationEnabled() : bool
- secureData() : mixed
- sendEmail() : mixed
- twoFactorAuthorization() : array<string|int, mixed>
- sendRegistrationSupportMessage() : void
Properties
$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 —afterExecuteRoute()
public
afterExecuteRoute(Dispatcher $dispatcher) : mixed
Parameters
- $dispatcher : Dispatcher
Return values
mixed —authAction()
Authorization user request( 'method' => 'POST', 'url' => '/api/v3/user/auth', 'params' => [ [ 'name' => 'name', 'type' => 'string', 'description' => 'User name', 'require' => true ], [ 'name' => 'password', 'type' => 'string', 'description' => 'User password', 'require' => true ], [ 'name' => 'deviceId', 'type' => 'string', 'description' => 'Device Id', 'require' => false ] ] ) response( '200' => [ 'status' => 200, 'message' => [ 'access_token' => JWT, 'refresh_token' => JWT ], 'code' => 0 ] ).
public
authAction() : string
Tags
Return values
string —beforeExecuteRoute()
public
beforeExecuteRoute(Dispatcher $dispatcher) : mixed
Parameters
- $dispatcher : Dispatcher
Return values
mixed —confirmRegistrationAction()
Confirm user registration.
public
confirmRegistrationAction() : string
request( 'method' => 'POST', 'url' => '/api/v3/user/confirm', 'params' => [ [ 'name' => 'key', 'type' => 'string', 'description' => 'Confirm key', 'require' => true ] ] ) response( '200' => [ 'status' => 200, 'message' => [ 'access_token' => JWT, 'refresh_token' => JWT ], 'code' => 0 ] ).
Tags
Return values
string —findUsersByIdsAction()
public
findUsersByIdsAction() : string
Return values
string —findUsersByNamesAction()
Get users filtered by name.
public
findUsersByNamesAction() : string
request([ 'method' => 'GET', 'url' => '/api/v3/user/findUsersByNames' 'params' => [ [ 'name' => 'name', 'type' => 'string', 'required' => 'true' ] ]) response([ 'status' => 200, 'message' => UserEntity[], 'code' => 0 ]).
Tags
Return values
string —geocodeAction()
Coordinates geocoding.
public
geocodeAction() : string
request([ 'method' => 'GET', 'url' => '/api/v3/user/geocode' 'params' => [ [ 'name' => 'query', 'type' => 'string', 'required' => 'true' ] ]) response([ 'status' => 200, 'message' => Search result, 'code' => 0 ])
Return values
string —getRoleAction()
Get role for portal or cms request([ 'method' => 'GET', 'url' => 'api/v3/user/getRole', 'params' => [ [ 'name' => 'portalId', 'type' => 'int', 'required' => false ] ] ]) response([ 'status' => 200, 'message' = 'Guest' | 'User' | 'CmsUser', 'code' => 0 ]).
public
getRoleAction() : string
Tags
Return values
string —getUploadLogsAction()
public
getUploadLogsAction() : void
Tags
Return values
void —getUserInfoAction()
Confirm user registration.
public
getUserInfoAction() : bool|string
request( 'method' => 'GET', 'url' => '/api/v3/user/getUserInfo', 'params' => [ [ 'name' => 'portalId', 'type' => 'absint', 'description' => 'Portal id', 'require' => true ] ] ) response( '200' => [ 'status' => 200, 'message' => UserEntity, 'code' => 0 ] ).
Tags
Return values
bool|string —getUserSearchAction()
Get users search.
public
getUserSearchAction() : string|false
request([ 'method' => 'GET', 'url' => '/api/v3/user/getUserSearch' 'params' => [ [ 'name' => 'portalId', 'type' => 'int', 'required' => 'true' ] ]) response([ 'status' => 200, 'message' => SearchingEntity[], 'code' => 0 ]).
Tags
Return values
string|false —getUserWindowPositionAction()
Get user window position.
public
getUserWindowPositionAction() : string
request([ 'method' => 'GET', 'url' => '/api/v3/user/getUserWindowPosition' 'params' => [ [ 'name' => 'query', 'type' => 'string', 'required' => 'true' ] ]) response([ 'status' => 200, 'message' => Window position, 'code' => 0 ])
Tags
Return values
string —indexAction()
public
indexAction() : mixed
Return values
mixed —initialize()
public
initialize() : void
Return values
void —logoutAction()
Logout user request( 'method' => 'POST', 'url' => '/api/v3/user/logout', 'params' => [ [ 'name' => 'refresh_token', 'type' => 'string', 'description' => 'Refresh token', 'require' => true ] ] ) response([ 'status' => 200, 'message' => Ok, 'code' => 0 ])
public
logoutAction() : string
Tags
Return values
string —performUserSearchAction()
Perform user search.
public
performUserSearchAction() : string
request( 'method' => 'GET'|'POST', 'url' => '/api/v3/user/performUserSearch', 'params' => [ [ 'name' => 'type', 'type' => 'string', 'description' => 'Search type(user/system)', 'require' => true ], [ 'name' => 'query', 'type' => 'string', 'description' => 'Search query', 'require' => true ], [ 'name' => 'backName', 'type' => 'string', 'description' => 'Search name, only for system searching', 'require' => false ], [ 'name' => 'searchId', 'type' => 'ObjectId', 'description' => 'SearchEngine id, only for user searching', 'require' => false ], [ 'name' => 'objectType', 'type' => 'string', 'description' => 'Features/Relations', 'require' => false ], [ 'name' => 'filter', 'type' => 'string', 'description' => 'filter for find objects', 'require' => false ], [ 'name' => 'skip', 'type' => 'int', 'description' => 'Skip items in result', 'require' => false ], [ 'name' => 'limit', 'type' => 'int', 'description' => 'Limit items in result', 'require' => false ], [ 'name' => 'restriction', 'type' => 'array', 'description' => 'Restrict query $restriction['type'] Type of geometry restriction: circle/area/bbox $restriction['payload'] Restrict variables: circle: [[point], radius] bbox: [[coordinates]] area: [[coordinates]]', 'require' => false ] ] ) response( '200' => [ 'status' => 200, 'message' => Search result, 'code' => 0 ] )
Tags
Return values
string —pinCodeAuthAction()
Authorization by pin code request( 'method' => 'POST', 'url' => '/api/v3/user/pinCodeAuth', 'params' => [ [ 'name' => 'pinCode', 'type' => 'absint', 'description' => 'Authorization pin code', 'require' => true ], [ 'name' => 'token', 'type' => 'string', 'description' => 'Token for authorization by pin code', 'require' => true ] ] ) response( '200' => [ 'status' => 200, 'message' => [ 'access_token' => JWT, 'refresh_token' => JWT ], 'code' => 0 ] ).
public
pinCodeAuthAction() : string
Tags
Return values
string —refreshTokensAction()
public
refreshTokensAction() : mixed
Return values
mixed —registrationAction()
Registration new user request( 'method' => 'POST', 'url' => '/api/v3/user/registration', 'params' => [ [ 'name' => 'name', 'type' => 'string', 'description' => 'user login', 'require' => true ], [ 'name' => 'password', 'type' => 'string', 'description' => 'user password', 'require' => true ], [ 'name' => 'email', 'type' => 'string', 'description' => 'user email', 'require' => true ], [ 'name' => 'organization', 'type' => 'string', 'description' => 'organization name', 'require' => true ], [ 'name' => 'firstName', 'type' => 'string', 'description' => 'user firstName', 'require' => false ], [ 'name' => 'secondName', 'type' => 'string', 'description' => 'user secondName', 'require' => false ], [ 'name' => 'lastName', 'type' => 'string', 'description' => 'user lastName', 'require' => false ], [ 'name' => 'number', 'type' => 'string', 'description' => 'user phone number', 'require' => false ], [ 'name' => 'portalId', 'type' => 'ObjectId', 'description' => 'registration portal id', 'require' => false ], [ 'name' => 'organizationTemplate', 'type' => 'ObjectId', 'description' => 'organizationTemplateId', 'require' => false ], [ 'name' => 'domain', 'type' => 'string', 'description' => 'organization domain', 'require' => false ] ] ) response( '200' => [ 'status' => 200, 'message' => string, 'code' => 0 ] ).
public
registrationAction() : string
Tags
Return values
string —restorePasswordAction()
Restore password request([ 'method' => 'POST', 'url' => 'api/v3/user/restorePassword', 'params' => [ [ 'password' => 'email', 'type' => 'string', 'required' => true ] [ 'token' => 'portalId', 'type' => 'int', 'required' => false ] ] ]) response([ 'status' => 200, 'message' = 'OK', 'code' => 0 ]).
public
restorePasswordAction() : void
Tags
Return values
void —saveUserWindowPositionAction()
Save user window position.
public
saveUserWindowPositionAction() : string
request([ 'method' => 'POST', 'url' => '/api/v3/user/saveUserWindowPosition' 'params' => [ [ 'name' => 'name', 'type' => 'string', 'required' => 'true' ], [ 'name' => 'value', 'type' => 'json', 'required' => 'true' ] ]) response([ 'status' => 200, 'message' => Window position, 'code' => 0 ])
Tags
Return values
string —setPasswordAction()
Set user password request([ 'method' => 'POST', 'url' => 'api/v3/user/setPassword', 'params' => [ [ 'name' => 'userId', 'type' => 'objectId', 'required' => true ], [ 'name' => 'password', 'type' => 'string', 'required' => false ] ] ]) response([ 'status' => 'OK', 'message' = 'OK', 'code' => 0 ]).
public
setPasswordAction() : string
Tags
Return values
string —setPasswordByKeyAction()
Set password by key request([ 'method' => 'POST', 'url' => 'api/v3/user/setPasswordByKey', 'params' => [ [ 'name' => 'password', 'type' => 'string', 'required' => true ] [ 'name' => 'key', 'type' => 'string', 'required' => true ] ] ]) response([ 'status' => 200, 'message' = 'OK', 'code' => 0 ]).
public
setPasswordByKeyAction() : void
Tags
Return values
void —setPasswordByTokenAction()
Set password by token request([ 'method' => 'POST', 'url' => 'api/v3/user/changePasswordByToken', 'params' => [ [ 'password' => 'password', 'type' => 'string', 'required' => true ] [ 'token' => 'token', 'type' => 'string', 'required' => true ] ] ]) response([ 'status' => 'OK', 'message' = User, 'code' => 0 ]).
public
setPasswordByTokenAction() : string
Tags
Return values
string —updateUserInfoAction()
POST Update user info.
public
updateUserInfoAction() : 200
Tags
Return values
200 —OK
uploadUsersAction()
public
uploadUsersAction() : string
Tags
Return values
string —verifyAction()
Verified new user request( 'method' => 'POST', 'url' => '/api/v3/user/verify', 'params' => [ [ 'name' => 'id', 'type' => 'ObjectId', 'description' => 'user id', 'require' => true ], [ 'name' => 'isVerified', 'type' => 'bool', 'description' => 'verified user or not', 'require' => true ] ] ) response( '200' => [ 'status' => 200, 'message' => string, 'code' => 0 ] ).
public
verifyAction() : string|false
Tags
Return values
string|false —generateUnicKey()
protected
generateUnicKey(array<string|int, mixed> $props) : string
Parameters
- $props : array<string|int, mixed>
Return values
string —getId()
protected
getId() : mixed
Return values
mixed —getUserInfo()
protected
getUserInfo() : UserEntity
Tags
Return values
UserEntity —isTwoFactorAuthorizationEnabled()
protected
isTwoFactorAuthorizationEnabled(UserEntity $user) : bool
Parameters
- $user : UserEntity
Return values
bool —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 —twoFactorAuthorization()
protected
twoFactorAuthorization(UserEntity $user[, string|null $deviceId = null ]) : array<string|int, mixed>
Parameters
- $user : UserEntity
- $deviceId : string|null = null
Tags
Return values
array<string|int, mixed> —sendRegistrationSupportMessage()
private
sendRegistrationSupportMessage(UserEntity $user, string $organizationName) : void
Parameters
- $user : UserEntity
- $organizationName : string