Clay permissions interface proposal.

This commit is contained in:
Fang 2018-01-23 22:52:31 +01:00
parent c0e7a71633
commit 2e364287d7
2 changed files with 19 additions and 8 deletions

View File

@ -43,13 +43,13 @@
::
:: Type of request.
::
:: %d produces a set of desks, %u checks for existence, %v produces a ++dome of
:: all desk data, %w with a time or label case gets the aeon at that case, %w
:: with a number case is not recommended, %x gets file contents, %y gets a
:: directory listing, and %z gets a recursive hash of the file contents and
:: children.
:: %d produces a set of desks, %p gets file permissions, %u checks for
:: existence, %v produces a ++dome of all desk data, %w with a time or label
:: case gets the aeon at that case, %w with a number case is not recommended,
:: %x gets file contents, %y gets a directory listing, and %z gets a recursive
:: hash of the file contents and children.
::
:: ++ care ?($d $u $v $w $x $y $z)
:: ++ care ?($d $p $u $v $w $x $y $z)
::
:: Keeps track of subscribers.
::
@ -78,6 +78,7 @@
::
++ dome
$: ank/ankh :: state
per/(map path rule) :: permissions by path
let/aeon :: top id
hit/(map aeon tako) :: versions by id
lab/(map @tas aeon) :: labels
@ -183,6 +184,7 @@
:: -- `mon` is a collection of mount points (mount point name to urbit
:: location).
:: -- `hez` is the unix duct that %ergo's should be sent to.
:: -- `cez` is a collection of named permission groups.
::
++ raft :: filesystem
$: fat/(map ship room) :: domestic
@ -190,6 +192,7 @@
ran/rang :: hashes
mon/(map term beam) :: mount points
hez/(unit duct) :: sync duct
cez/(map @ta crew) :: permission groups
== ::
::
:: Object store.

View File

@ -381,7 +381,8 @@
++ able ^?
|%
++ gift :: out result <-$
$% {$dirk p/@tas} :: mark mount dirty
$% {$cruz cez/(map @tas crew)} :: permission groups
{$dirk p/@tas} :: mark mount dirty
{$ergo p/@tas q/mode} :: version update
{$hill p/(list @tas)} :: mount points
{$mack p/(unit tang)} :: ack
@ -389,12 +390,15 @@
{$mere p/(each (set path) (pair term tang))} :: merge result
{$note p/@tD q/tank} :: debug message
{$ogre p/@tas} :: delete mount point
{$rule own/? rul/rule} :: node permission
{$send p/lane:ames q/@} :: transmit packet
{$writ p/riot} :: response
{$wris p/case p/(set path)} :: responses
== ::
++ task :: in request ->$
$% {$boat $~} :: pier rebooted
{$crew $~} :: permission groups
{$cred nom/@ta cew/crew} :: set permission group
{$drop p/@p q/desk} :: cancel pending merge
{$info p/@p q/desk r/nori} :: internal edit
{$init p/@p} :: report install
@ -403,6 +407,7 @@
{$mont p/desk q/beam} :: mount to unix
{$dirk p/desk} :: mark mount dirty
{$ogre p/$@(desk beam)} :: delete mount point
{$perm des/desk pax/path rul/(unit rule)} :: change permissions
{$warp p/sock q/riff} :: file request
{$wegh $~} :: report memory
{$went p/sack q/path r/@ud s/coop} :: response confirm
@ -423,13 +428,14 @@
$% {$delta p/lobe q/{p/mark q/lobe} r/page} :: delta on q
{$direct p/lobe q/page} :: immediate
== ::
++ care ?($d $u $v $w $x $y $z) :: clay submode
++ care ?($d $p $u $v $w $x $y $z) :: clay submode
++ case :: ship desk case spur
$% {$da p/@da} :: date
{$tas p/@tas} :: label
{$ud p/@ud} :: number
== ::
++ coop (unit ares) :: e2e ack
++ crew (set ship) :: permissions group
++ dome :: project state
$: ank/ankh :: state
let/@ud :: top id
@ -495,6 +501,7 @@
== ::
++ riff {p/desk q/(unit rave)} :: request+desist
++ riot (unit rant) :: response+complete
++ rule {mod/?($black $white) who/(set whom)} :: node permission
++ rump {p/care q/case r/@tas s/path} :: relative path
++ saba {p/ship q/@tas r/moar s/dome} :: patch+merge
++ soba (list {p/path q/miso}) :: delta
@ -507,6 +514,7 @@
{$| p/(list a) q/(list a)} :: p -> q[chunk]
== ::
++ urge |*(a/mold (list (unce a))) :: list change
++ whom (each ship @ta) :: ship or named crew
++ yaki :: commit
$: p/(list tako) :: parents
q/(map path lobe) :: namespace