Базовая настройка RBAC на языке CASL и Typescript

#typescript #casl

#typescript #casl

Вопрос:

Я тестировал CASL для нового проекта и после некоторой помощи получил базовую настройку RBAC на typescript, настроенную на CodeSandbox:

https://codesandbox.io/s/wonderful-meadow-02kls?file=/src/index.ts

Я вытащил фрагменты из кулинарной книги на:

https://casl.js.org/v4/en/cookbook/roles-with-static-permissions

Я столкнулся с рядом ошибок и недостаточно хорошо разбираюсь в Typescript, чтобы понять, где что-то не так.

Любая помощь будет высоко оценена.

Ответ №1:

Существует некоторая проблема с интерпретацией typeof operator в codesandbox. Если вы измените это на обычные типы:

 type AppAbilities = [
  'update',
  'User' | 'all'
]
  

Все работает, как ожидалось. Пример обновления: https://codesandbox.io/s/eloquent-jang-0jl6s?file=/src/index.ts

Комментарии:

1. это действительно удобно знать, спасибо — я, естественно, предполагаю, что это всегда моя вина 🙂