Skip to content
Snippets Groups Projects
ddruganov's avatar
2d001340

Описание

Пакет предоставляет всё необходимое для работы с rest api Битрикс24

palax\yii2bitrix\bitrix\*

  • BitrixApi - класс-обёртка для вызова основных методов rest api Битрикс24
  • BitrixRequest - класс, позволяющий делать запросы к rest api Битрикс24

palax\yii2bitrix\console\*

Работа с Битрикс24 в консоли ведётся с помощью токенов авторизации, которые надо перехватывать при запуске приложения в браузере. Это нужно сделать один раз, после этого токены обновляются самостоятельно. В связи с этим, термин "текущий пользователь" обозначает пользователя, из-под которого были перехвачены токены

  • controllers:
    • AuthController - контроллер, позволяющий обновить токены авторизации для консольного приложения через php yii auth/regren
    • RbacController - контроллер, позволяющий создать админа из текущего пользователя через php yii rbac/create-admin-from-tokens названиеРолиАдмина
  • migration:
    • RbacMigration - миграция, упрощающая создание ролей и прав

palax\yii2bitrix\data_handlers\*

  • client:
    • CreateExternalClient - создание контрагента в Битрикс24
    • SearchClients - поиск контрагентов в БД и Битрикс24. БД имеет преимущество
  • multimedia:
    • GenerateMultimediaViewLink - генерирует ссылку на просмотр файла в Битрикс24 Необходимость таких усложнений обусловлена тем, что в ссылку на просмотр зашиты токены, которые истекают через какое-то время
  • rbac:
    • role
      • BaseRoleHandler - базовый абстрактный класс для работы с ролью
      • BindPermissions - привязывает разрешения к роли
      • CreateRole - создание роли
      • DeleteRole - удаление роли
      • UpdateRole - редактирование роли
    • GrantRole - выдача роли пользователю
    • ListPermissions - получение списка разрешений
    • ListRoles - получение списка ролей
    • RevokeRole - отзыв роли у пользователя
  • user:
    • SearchUsers - поиск пользователей в БД и Битрикс24. БД имеет преимущество

palax\yii2bitrix\exceptions\*

  • PermissionDeniedException - отказано в доступе
  • UnauthenticatedException - отсутствие авторизации

palax\yii2bitrix\middleware\*

  • Authenticated - мидлвар, проверяющий наличие токенов авторизации в запросе
  • Authorized - мидлвар, проверяющий наличие прав на совершение действия

palax\yii2bitrix\migrations\*

Миграции, создающие пользователя, токены, контрагентов, роли и права.

palax\yii2bitrix\models\*

Все необходимые для работы модели

palax\yii2bitrix\provider\*

  • bitrix:
    • BitrixSettingsProviderInterface - контракт поставщика настроек для взаимодействия с Битрикс24
    • YiiParamsBasedBitrixSettingsProvider - реализация контракта по умолчанию, основанная на параметрах приложения

palax\yii2bitrix\repository\*

  • client:
    • ClientData - dto, описывающий данные о контрагенте
    • ClientDataRepository - репозиторий контрагентов
    • ClientDataRepositoryInterface - контракт репозитория контрагентов
  • token:
    • AuthenticationTokenRepository - репозиторий токенов авторизации
    • AuthenticationTokenRepositoryInterface - контракт репозитория токенов авторизации
    • CookieAuthenticationTokenRepository - хранилище токенов на основе кук
    • HeaderAuthenticationTokenRepository - хранилище токенов на основе заголовков http-запроса
    • JsonAuthenticationTokenRepository - хранилище токенов на основе файла tokens.json в корне репозитория
  • user:
    • UserData - dto, описывающий данные о пользователе
    • UserDataRepository - репозиторий пользователей
    • UserDataRepositoryInterface - контракт репозитория пользователей

palax\yii2bitrix\service\*

  • auth:
    • AuthenticationService - сервис авторизации
    • AuthenticationServiceInterface - контракт сервиса авторизации
  • client:
    • ClientEmailData - данные об email контрагента
    • ClientService - сервис контрагентов
    • ClientServiceInterface - контракт сервиса контрагентов
  • oauth:
    • AuthenticationTokenPair - dto токенов авторизации
    • BitrixOAuthService - сервис работы с токенами на основе Битрикс24
    • OAuthServiceInterface - контракт сервиса работы с токенами авторизации
  • rbac:
    • RbacRuleInterface - контракт правила проверки доступа
    • RbacService - сервис работы с доступом
    • RbacServiceInterface - контракт сервиса работы с доступом
  • user:
    • UserService - сервис работы с пользователями
    • UserServiceInterface - контракт сервиса работы с пользователями

palax\yii2bitrix\traits\*

  • db:
    • FullTextSearch - трейт, позволяющий производить полнотекстовый поиск через метод fts(). Подключается в ActiveQuery

palax\yii2bitrix\validation\*

  • ClientId - проверяет, является ли значение валидным идентификатором контрагента. Проверка ведётся в БД и в Битрикс24. БД имеет преимущество

    #[ClientId]
    public ?int $clientId = null;
    
    #[ClientId]
    public ?array $clientIds = null;
  • UserId - проверяет, является ли значение валидным идентификатором пользователя. Проверка ведётся в БД и в Битрикс24. БД имеет преимущество

    #[UserId]
    public ?int $userId = null;
    
    #[UserId]
    public ?array $userIds = null;