mirror of
https://github.com/urbit/shrub.git
synced 2024-12-21 09:51:36 +03:00
58 lines
1005 B
Plaintext
58 lines
1005 B
Plaintext
/+ *permission-json
|
|
=, dejs:format
|
|
|_ act=permission-action
|
|
++ grab
|
|
|%
|
|
++ noun permission-action
|
|
++ json
|
|
|= jon=^json
|
|
=< (parse-permission-action jon)
|
|
|%
|
|
++ parse-permission-action
|
|
%- of
|
|
:~ [%create create]
|
|
[%delete delete]
|
|
[%add add]
|
|
[%remove remove]
|
|
[%allow allow]
|
|
[%deny deny]
|
|
==
|
|
::
|
|
++ create
|
|
%- ot
|
|
:~ [%path pa]
|
|
[%kind ki]
|
|
[%who (as pa)]
|
|
==
|
|
::
|
|
++ delete
|
|
(ot [%path pa]~)
|
|
::
|
|
++ add
|
|
%- ot
|
|
:~ [%path pa]
|
|
[%who (as (su ;~(pfix sig fed:ag)))]
|
|
==
|
|
::
|
|
++ remove
|
|
%- ot
|
|
:~ [%path pa]
|
|
[%who (as (su ;~(pfix sig fed:ag)))]
|
|
==
|
|
::
|
|
++ allow
|
|
%- ot
|
|
:~ [%path pa]
|
|
[%who (as (su ;~(pfix sig fed:ag)))]
|
|
==
|
|
::
|
|
++ deny
|
|
%- ot
|
|
:~ [%path pa]
|
|
[%who (as (su ;~(pfix sig fed:ag)))]
|
|
==
|
|
::
|
|
--
|
|
--
|
|
--
|