1515
1616## 全体像
1717
18- - Pulsate API での認可制御は Policy クラスによって定義される .
19- - Policy クラスは ` withCheck ` static メソッドを持ち,actor, action, resource ,
20- targetの3値,および関数 ` fn ` を要求する.
18+ - Pulsate API での認可制御は Policy を接尾辞にもつクラス群によって定義される .
19+ - この Policy クラス群の各クラスは ` withCheck ` static メソッドを持ち,actor,
20+ action, resource, targetの3値,および関数 ` fn ` を要求する.
2121 - ` withCheck ` メソッドはジェネリクス ` <Target,Res> ` を受け取る.` Target ` は
2222 target の型,` Res ` は ` fn ` の返値である.
2323
@@ -28,7 +28,7 @@ interface PolicyArgs<Actor, Action, Resource> {
2828 resource: Resource ;
2929}
3030
31- type NotePolicyArgs = PolicyArgs <Account , NotePolicyScope , Note >;
31+ type NotePolicyArgs = PolicyArgs <Account , NotePolicyAction , Note >;
3232
3333class NotePolicy {
3434 static withCheck<Target , Res >(
@@ -49,11 +49,11 @@ class NotePolicy {
4949}
5050```
5151
52- ### PolicyScope
52+ ### PolicyAction
5353
54- Action は識別子 PolicyScope を用いて識別する.
54+ Action は識別子 PolicyAction を用いて識別する.
5555
56- - PolicyScope は3つの要素からなる文字列である.
56+ - PolicyAction は3つの要素からなる文字列である.
5757- 要素は以下の通り.
5858 - 1: ポリシー名
5959 - 2: モデル名 (例: ` account ` , ` note ` )
@@ -63,8 +63,8 @@ Action は識別子 PolicyScope を用いて識別する.
6363- これらは以下で示す型で表現できる形式に従って結合される.
6464
6565``` ts
66- type PolicyScope = ` ${PolicyName }.${ModelName }:${ActionName } ` ;
66+ type PolicyAction = ` ${PolicyName }.${ModelName }:${ActionName } ` ;
6767```
6868
69- - ` withCheck ` メソッドは,PolicyScope
69+ - ` withCheck ` メソッドは,PolicyAction
7070 のポリシー名が自分が管理するものでない場合,エラーを返す.
0 commit comments