tachybase_todo/docs/zh-CN/api/acl/acl-resource.md
ChengLei Shao d805fafbfc
docs: relation repository & acl (#848)
* docs: relation-repository

* docs: has many repository

* docs: acl

* docs: acl

* docs: acl

* docs: acl

* docs: acl/AllowManager

* docs: acl/ACLAvailableAction

* docs: acl

* docs: clean up

* feat: doc menus

Co-authored-by: chenos <chenlinxh@gmail.com>
2022-10-06 10:29:53 +08:00

58 lines
1.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# ACLResource
ACLResourceACL 系统中的资源类。在 ACL 系统中,为用户授予权限时会自动创建对应的资源。
## 基础数据结构
### `ResourceActions`
Action 集合对象:
* key 表示 action 的名称
* value 表示 action 的配置参数,见 [`RoleActionParams`](#RoleActionParams)。
**定义**
```typescript
type ResourceActions = { [key: string]: RoleActionParams };
```
## 类方法
### `constructor(options: AclResourceOptions)`
创建 `ACLResource` 实例
**AclResourceOptions 参数**
* options - 资源配置参数
* name - 资源名称
* role - 资源所属角色
* actions - ResourceActions 对象,定义资源的 Action
### `getActions()`
获取资源的所有 Action返回结果为 `ResourceActions` 对象。
### `getAction(name: string)`
根据名称返回 Action 的参数配置,返回结果为 `RoleActionParams` 对象。
## `setAction(name: string, params: RoleActionParams)`
在资源内部设置一个 Action 的参数配置,返回结果为 `RoleActionParams` 对象。
**参数**
* name - 要设置的 action 名称
* params - [`RoleActionParams`](#RoleActionParams)
## `setActions(actions: ResourceActions)`
批量调用 `setAction` 的便捷方法
**参数**
* actions: [RoleActionParams](#RoleActionParams)