3namespace Bitrix\Rest\APAuth;
6use Bitrix\Main\Localization\Loc;
7use Bitrix\Main\ORM\Data\Internal\DeleteByFilterTrait;
8use Bitrix\Main\ORM\Fields\EnumField;
9use Bitrix\Main\Security\Random;
11use Bitrix\Rest\Preset\EventController;
13use Bitrix\Rest\Service\ServiceContainer;
15Loc::loadMessages(__FILE__);
50 use DeleteByFilterTrait;
76 'data_type' =>
'integer',
78 'autocomplete' =>
true,
81 'data_type' =>
'integer',
85 'data_type' =>
'string',
89 'data_type' =>
'boolean',
90 'values' =>
array(static::INACTIVE, static::ACTIVE),
93 ->configureTitle(
'Type')
94 ->configureValues(Enum\
APAuth\PasswordType::getValues())
95 ->configureDefaultValue(Enum\
APAuth\PasswordType::User->value),
97 'data_type' =>
'string',
100 'data_type' =>
'string',
102 'DATE_CREATE' =>
array(
103 'data_type' =>
'datetime',
105 'DATE_LOGIN' =>
array(
106 'data_type' =>
'datetime',
109 'data_type' =>
'string',
116 return Random::getString($length);
135 'TITLE' => Loc::getMessage(
'REST_APP_SYSCOMMENT',
array(
136 '#TITLE#' => $siteTitle,
138 'COMMENT' => Loc::getMessage(
'REST_APP_COMMENT'),
140 $res = static::add($passwordData);
142 if(
$res->isSuccess())
144 $scopeList = array_unique($scopeList);
145 foreach($scopeList as $scope)
148 'PASSWORD_ID' =>
$res->getId(),
153 $passwordData[
'ID'] =
$res->getId();
160 $return = $passwordData;
171 EventController::onAfterAddAp(
$event);
176 self::clearServiceCache((
int)
$event->getParameter(
'id'));
181 self::clearServiceCache((
int)
$event->getParameter(
'id'));
184 private static function clearServiceCache(
int $id): void
187 ->getAPAuthPasswordService()
188 ->clearCacheById($id)
if(!is_object($USER)||! $USER->IsAuthorized()) $userId
static generatePassword($length=self::DEFAULT_LENGTH)
static createPassword($userId, array $scopeList, $siteTitle, $returnArray=false)
static onAfterDelete(ORM\Event $event)
static onAfterUpdate(ORM\Event $event)
static onAfterAdd(Main\Entity\Event $event)
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)