mirror of
https://github.com/urbit/shrub.git
synced 2024-12-21 01:41:37 +03:00
72 lines
1.6 KiB
Plaintext
72 lines
1.6 KiB
Plaintext
/- *resource, *group
|
|
^?
|
|
|%
|
|
+$ app ?(%graph %groups)
|
|
+$ uid @uvH
|
|
::
|
|
:: $request: State of a join request
|
|
::
|
|
:: .started: Time request first sent
|
|
:: .ship: Host of group
|
|
:: .progress: Progress of request
|
|
:: .share-co: Automatically share contact?
|
|
:: .autojoin: Automatically join graphs
|
|
:: .app: Whether we're joining a group or a graph
|
|
:: .invite: Associated invites
|
|
::
|
|
+$ request
|
|
$: started=time
|
|
=ship
|
|
=progress
|
|
=app
|
|
share-co=?
|
|
autojoin=?
|
|
invite=(set uid)
|
|
==
|
|
::
|
|
+$ action
|
|
$% :: host side
|
|
[%create name=term =policy title=@t description=@t]
|
|
[%remove =resource]
|
|
:: client side
|
|
$: %join
|
|
=resource
|
|
=ship
|
|
=app
|
|
share-contact=?
|
|
autojoin=?
|
|
==
|
|
[%abort =resource]
|
|
[%leave =resource]
|
|
::
|
|
[%invite =resource ships=(set ship) description=@t]
|
|
:: pending ops
|
|
[%done =resource]
|
|
==
|
|
:: $progress: state of a join request
|
|
::
|
|
:: %start: Waiting on add poke to succeed
|
|
:: %added: Waiting on groups
|
|
:: %metadata: Waiting on metadata
|
|
:: final: Join request succeeded/errors
|
|
+$ progress
|
|
?(%start %added %metadata final)
|
|
::
|
|
:: $final: resolution of a join request
|
|
::
|
|
:: %no-perms: Failed, did not have permissions
|
|
:: %abort: Join request manually aborted
|
|
:: %strange: Failed unexpectedly
|
|
:: %done: Succeeded
|
|
::
|
|
+$ final
|
|
?(%no-perms %abort %strange %done)
|
|
::
|
|
+$ update
|
|
$% [%initial initial=(map resource request)]
|
|
[%started =resource =request]
|
|
[%progress =resource =progress]
|
|
[%hide =resource]
|
|
==
|
|
--
|