⚡️ Практически во всех пакетах добавлен ежедневный запуск тестов через GitHub Workflow.
#yiisoftCacheWincache #yiisoftView #yiisoftDi #yiisoftStrings #yiisoftRbacPhp #yiisoftYiiConsole #yiisoftCache #yiisoftDb #yiisoftRbac #yiisoftYiiAuthClient #yiisoftYiiGii #yiisoftViewTwig #yiisoftYiiWeb #yiisoftDbMssql #yiisoftDbOracle #yiisoftLog #yiisoftYiiDebug #yiisoftDbSqlite #yiisoftDbPgsql #yiisoftDbMysql #yiisoftEventDispatcher #yiisoftI18n #yiisoftYiiEvent #yiisoftYiiDbMigration #yiisoftValidator #yiisoftUser #yiisoftTranslatorMessageGettext #yiisoftSecurity #yiisoftMiddlewareDispatcher #yiisoftMutex #yiisoftNetworkUtilities #yiisoftProfiler #yiisoftProxy #yiisoftRequestBodyParser #yiisoftRouterFastroute #yiisoftInjector #yiisoftCacheApcu #yiisoftAuthJwt #yiisoftAuth #yiisoftAssets #yiisoftArrays #yiisoftAliases #yiisoftDemoApi #yiisoftDemo #yiisoftDataResponse #yiisoftData #yiisoftCsrf #yiisoftCookies #yiisoftConfig #yiisoftCacheMemcached #yiisoftCacheFile #yiisoftHttp #yiisoftHtml #yiisoftFiles #yiisoftFactory #yiisoftErrorHandler #yiisoftLogTargetDb #yiisoftLogTargetEmail #yiisoftLogTargetFile #yiisoftRequestModel #yiisoftRbacSpiralDb #yiisoftRateLimiter #yiisoftPackageTemplate #yiisoftMutexRedis #yiisoftMutexPdoPgsql #yiisoftMutexPdoOracle #yiisoftMutexFile #yiisoftMutexPdoMysql #yiisoftTranslatorFormatterSimple #yiisoftTranslatorFormatterIntl #yiisoftTranslatorExtractor #yiisoftTranslator #yiisoftTestSupport #yiisoftSession #yiisoftRouter #yiisoftRequirements #yiisoftTranslatorMessageDb #yiisoftTranslatorMessagePhp #yiisoftVarDumper #yiisoftWidget #yiisoftYiiBootstrap5 #yiisoftYiiBulma #yiisoftYiiCycle #yiisoftYiiDataview #yiisoftYiiDebugApi #yiisoftYiiDebugViewer #yiisoftMailerSwiftmailer #yiisoftMailer #yiisoftLogTargetSyslog #yiisoftJson #yiisoftForm #yiisoftYiiWidgets #yiisoftYiiView #yiisoftYiiSwagger #yiisoftYiiSentry
#yiisoftCacheWincache #yiisoftView #yiisoftDi #yiisoftStrings #yiisoftRbacPhp #yiisoftYiiConsole #yiisoftCache #yiisoftDb #yiisoftRbac #yiisoftYiiAuthClient #yiisoftYiiGii #yiisoftViewTwig #yiisoftYiiWeb #yiisoftDbMssql #yiisoftDbOracle #yiisoftLog #yiisoftYiiDebug #yiisoftDbSqlite #yiisoftDbPgsql #yiisoftDbMysql #yiisoftEventDispatcher #yiisoftI18n #yiisoftYiiEvent #yiisoftYiiDbMigration #yiisoftValidator #yiisoftUser #yiisoftTranslatorMessageGettext #yiisoftSecurity #yiisoftMiddlewareDispatcher #yiisoftMutex #yiisoftNetworkUtilities #yiisoftProfiler #yiisoftProxy #yiisoftRequestBodyParser #yiisoftRouterFastroute #yiisoftInjector #yiisoftCacheApcu #yiisoftAuthJwt #yiisoftAuth #yiisoftAssets #yiisoftArrays #yiisoftAliases #yiisoftDemoApi #yiisoftDemo #yiisoftDataResponse #yiisoftData #yiisoftCsrf #yiisoftCookies #yiisoftConfig #yiisoftCacheMemcached #yiisoftCacheFile #yiisoftHttp #yiisoftHtml #yiisoftFiles #yiisoftFactory #yiisoftErrorHandler #yiisoftLogTargetDb #yiisoftLogTargetEmail #yiisoftLogTargetFile #yiisoftRequestModel #yiisoftRbacSpiralDb #yiisoftRateLimiter #yiisoftPackageTemplate #yiisoftMutexRedis #yiisoftMutexPdoPgsql #yiisoftMutexPdoOracle #yiisoftMutexFile #yiisoftMutexPdoMysql #yiisoftTranslatorFormatterSimple #yiisoftTranslatorFormatterIntl #yiisoftTranslatorExtractor #yiisoftTranslator #yiisoftTestSupport #yiisoftSession #yiisoftRouter #yiisoftRequirements #yiisoftTranslatorMessageDb #yiisoftTranslatorMessagePhp #yiisoftVarDumper #yiisoftWidget #yiisoftYiiBootstrap5 #yiisoftYiiBulma #yiisoftYiiCycle #yiisoftYiiDataview #yiisoftYiiDebugApi #yiisoftYiiDebugViewer #yiisoftMailerSwiftmailer #yiisoftMailer #yiisoftLogTargetSyslog #yiisoftJson #yiisoftForm #yiisoftYiiWidgets #yiisoftYiiView #yiisoftYiiSwagger #yiisoftYiiSentry
⚡️ #yiisoftRbacPhp
В хранилище на основе PHP-файлов Yii RBAC PHP File Storage для библиотеки Yii Role-Based Access Control реализовали интерфейсы
В хранилище на основе PHP-файлов Yii RBAC PHP File Storage для библиотеки Yii Role-Based Access Control реализовали интерфейсы
RolesStorageInterface
и AssignmentsStorageInterface
для хранения ролей/прав и их назначений пользователям соответственно (PR).⚡️ #yiisoftRbacPhp
Исправлена ошибка в пакете Yii RBAC PHP File Storage: после изменения роли без изменения имени сбрасывались все назначения этой роли пользователям (PR).
Исправлена ошибка в пакете Yii RBAC PHP File Storage: после изменения роли без изменения имени сбрасывались все назначения этой роли пользователям (PR).
⚡️ #yiisoftRbac #yiisoftRbacPhp
В пакете Yii Role-Based Access Control финализировали классы
В Yii RBAC PHP File Storage подняли уровень psalm до 1, доработали описание в readme и "подчистили" служебные файлы (PR)
В пакете Yii Role-Based Access Control финализировали классы
Assignment
, DenyAll
, ClassNameRuleFactory
и публичные методы в абстрактном классе Item
(PR), а также немного улучшили аннотации для psalm (PR).В Yii RBAC PHP File Storage подняли уровень psalm до 1, доработали описание в readme и "подчистили" служебные файлы (PR)
⚡️ #yiisoftRbac #yiisoftRbacPhp
Продолжается подготовка RBAC к релизу.
• В абстрактном классе
• Для правил добавили новый интерфейс
• Из Yii RBAC удалили класс
• Улучшили аннотации psalm в Yii RBAC (PR) и Yii RBAC PHP File Storage (PR).
Продолжается подготовка RBAC к релизу.
• В абстрактном классе
\Yiisoft\Rbac\Rule
имя правила в конструкторе сделали опциональным: если его не передали, то в качестве имени правила будет использоваться имя класса (PR).• Для правил добавили новый интерфейс
RuleInterface
, теперь правила реализуют его, а не ItemInterface
(PR) и адаптировали к этому изменению Yii RBAC PHP File Storage (PR).• Из Yii RBAC удалили класс
DenyAll
(PR), а точнее перенесли его ранее в Yii Access.• Улучшили аннотации psalm в Yii RBAC (PR) и Yii RBAC PHP File Storage (PR).
⚡️ #yiisoftRbacPhp
В пакете Yii RBAC PHP File Storage добавлена поддержка создания вложенных папок в случаях, когда папка для хранения данных не существует (PR).
В пакете Yii RBAC PHP File Storage добавлена поддержка создания вложенных папок в случаях, когда папка для хранения данных не существует (PR).
⚡️ #yiisoftRbac #yiisoftRbacPhp
Продолжаем готовить RBAC к релизу.
• В пакете Yii RBAC в фабрике для создания правил
• Перенесли
• Переименовали методы в классе
Продолжаем готовить RBAC к релизу.
• В пакете Yii RBAC в фабрике для создания правил
ClassNameRuleFactory
добавили валидацию передаваемого имени класса и создаваемого правила, в случае ошибки бросается исключение RuntimeException
с соответствующим сообщением (PR).• Перенесли
Yiisoft\Rbac\RuleFactory\ClassNameRuleFactory
в Yiisoft\Rbac\ClassNameRuleFactory
, переименовали метод Manager::setGuestRole()
в Manager::setGuestRoleName()
, причесали служебные файлы и увеличили покрытие тестами до 100% в пакете Yii RBAC (PR).• Переименовали методы в классе
\Yiisoft\Rbac\Manager
(PR):setDefaultRoles()
→ setDefaultRoleNames()
getDefaultRoles()
→ getDefaultRoleNames()
getDefaultRoleInstances()
→ getDefaultRoles()
• В пакете Yii RBAC PHP File Storage адаптировали код к последним изменениям в Yii RBAC, причесали служебные файлы и увеличили покрытие тестами (PR, PR, PR).⚡️ #yiisoftRbacPhp
Исправили ошибку, возникающую при использовании числовых ID пользователя в пакете Yii RBAC PHP File Storage (commit).
Исправили ошибку, возникающую при использовании числовых ID пользователя в пакете Yii RBAC PHP File Storage (commit).
⚡️ #yiisoftRbac #yiisoftRbacPhp
Выполнили рефакторинг интерфейса хранилища назначений ролей/прав пользователям
• сделали более консистентные и понятные имена методов;
• в аргументах методов заменили объекты ролей/прав на их имена.
Соответствующим образом изменили реализацию хранилища в Yii RBAC PHP File Storage (PR).
Выполнили рефакторинг интерфейса хранилища назначений ролей/прав пользователям
AssignmentsStorageInterface
в пакете Yii Role-Based Access Control (PR):• сделали более консистентные и понятные имена методов;
• в аргументах методов заменили объекты ролей/прав на их имена.
Соответствующим образом изменили реализацию хранилища в Yii RBAC PHP File Storage (PR).
⚡️ #yiisoftRbac #yiisoftRbacPhp #yiisoftDemo
Продолжаем рефакторинг Yii Role-Based Access Control (PR).
•
• В интерфейсе
Соответствующие изменения внесены в Yii RBAC PHP File Storage (PR) и демо веб-приложения (PR).
Продолжаем рефакторинг Yii Role-Based Access Control (PR).
•
RolesStorageInterface
переименован в ItemsStorageInterface
, а также переименованы методы:getItems()
→ getAll()
getItemByName()
→ get()
addItem()
→ add()
updateItem()
→ update()
removeItem()
→ remove()
getChildren()
→ getAllChildren()
getRoleByName()
→ getRole()
getPermissionByName()
→ getPermission()
getChildrenByName()
→ getChildren()
getRuleByName()
→ getRule()
• В методах removeChildren()
, removeChild()
, addChild()
и remove()
интерфейса ItemsStorageInterface
в качестве аргументов вместо объектов элементов RBAC теперь используются их имена.• В интерфейсе
AssignmentsStorageInterface
переименованы методы:getUserAssignments()
→ getByUserId()
removeUserAssignments()
→ removeByUserId()
removeItemAssignments()
→ removeByItemName()
• В методах get()
, add()
и remove()
интерфейса AssignmentsStorageInterface
изменён порядок методов:string $userId, string $itemName
→ string $itemName, string $userId
• В RBAC-менеджере Manager
объекты элементов RBAC заменены на их имена в качестве аргументов в следующих методах:canAddChild()
addChild()
removeChild()
removeChildren()
hasChild()
assign()
revoke()
removeRole()
removePermission()
• В RBAC-менеджере Manager
переименованы методы:getUserIdsByRole()
→ getUserIdsByRoleName()
getPermissionsByUser()
→ getPermissionsByUserId
getPermissionsByRole()
→ getPermissionsByRoleName()
getRolesByUser()
→ getRolesByUserId()
• Исправлена ошибка в методе Manager::getDefaultRoles()
: теперь возвращаются роли из хранилища, а не создаются новые.Соответствующие изменения внесены в Yii RBAC PHP File Storage (PR) и демо веб-приложения (PR).
👍4
⚡️ #yiisoftRbac #yiisoftRbacPhp
В интерфейсе
Соответствующим образом адаптировали хранилище Yii RBAC PHP File Storage (PR).
В интерфейсе
ItemsStorageInterface
пакета Yii Role-Based Access Control заменили метод getAllChildren()
на getParents()
(PR).Соответствующим образом адаптировали хранилище Yii RBAC PHP File Storage (PR).
⚡️ #yiisoftRbac #yiisoftRbacPhp #yiisoftDemo
✨ #yiisoftRbacRulesContainer
Переработали хранение и создание правил в пакете Yii Role-Based Access Control (PR). Теперь правила НЕ сохраняются в хранилище, а создаются с помощью абстрактной фабрики
- из хранилища
- у правил теперь нет имён и соответственно удалён метод
- удалён абстрактный класс
Вместо фабрики
К этим изменениям адаптированы хранилище Yii RBAC PHP File Storage (PR) и демо веб-приложения (PR).
✨ #yiisoftRbacRulesContainer
Переработали хранение и создание правил в пакете Yii Role-Based Access Control (PR). Теперь правила НЕ сохраняются в хранилище, а создаются с помощью абстрактной фабрики
RuleFactoryInterface
. Это позволило существенно упростить код:- из хранилища
ItemsStorageInterface
удалены все методы, касающиеся правил;- у правил теперь нет имён и соответственно удалён метод
getName()
;- удалён абстрактный класс
Rule
, так как он был нужен только для удобства работы с именем правила.Вместо фабрики
ClassNameRuleFactory
в новом пакете Yii RBAC Rules Container создан контейнер правил RulesContainer
(реализует интерфейс RuleFactoryInterface
), позволяющий задавать конфигурацию правил с помощью синтаксиса Yii Definitions и использовать любой PSR-11 контейнер для разрешения зависимостей.К этим изменениям адаптированы хранилище Yii RBAC PHP File Storage (PR) и демо веб-приложения (PR).
👍1