mirror of
https://github.com/ilyakooo0/urbit.git
synced 2024-11-13 08:38:43 +03:00
metadata-hook: support group members other than host creating shared resources
This commit is contained in:
parent
3a1f73a167
commit
eb1561cfc4
@ -224,7 +224,7 @@
|
|||||||
?> ?=(^ app-path.act)
|
?> ?=(^ app-path.act)
|
||||||
%- zing
|
%- zing
|
||||||
:~ :~ (chat-hook-poke [%remove app-path.act])
|
:~ :~ (chat-hook-poke [%remove app-path.act])
|
||||||
(metadata-store-poke [%remove group-path [%chat app-path.act]])
|
(metadata-poke [%remove group-path [%chat app-path.act]])
|
||||||
(chat-poke [%delete app-path.act])
|
(chat-poke [%delete app-path.act])
|
||||||
==
|
==
|
||||||
::
|
::
|
||||||
@ -300,7 +300,7 @@
|
|||||||
?: (is-managed app-path) (snag 0 app-path)
|
?: (is-managed app-path) (snag 0 app-path)
|
||||||
(snag 1 app-path)
|
(snag 1 app-path)
|
||||||
==
|
==
|
||||||
:~ (metadata-store-poke [%add group-path [%chat app-path] metadata])
|
:~ (metadata-poke [%add group-path [%chat app-path] metadata])
|
||||||
(metadata-hook-poke [%add-owned group-path])
|
(metadata-hook-poke [%add-owned group-path])
|
||||||
==
|
==
|
||||||
::
|
::
|
||||||
@ -309,10 +309,10 @@
|
|||||||
^- card
|
^- card
|
||||||
[%pass / %agent [our.bol %contact-view] %poke %contact-view-action !>(act)]
|
[%pass / %agent [our.bol %contact-view] %poke %contact-view-action !>(act)]
|
||||||
::
|
::
|
||||||
++ metadata-store-poke
|
++ metadata-poke
|
||||||
|= act=metadata-action
|
|= act=metadata-action
|
||||||
^- card
|
^- card
|
||||||
[%pass / %agent [our.bol %metadata-store] %poke %metadata-action !>(act)]
|
[%pass / %agent [our.bol %metadata-hook] %poke %metadata-action !>(act)]
|
||||||
::
|
::
|
||||||
++ metadata-hook-poke
|
++ metadata-hook-poke
|
||||||
|= act=metadata-hook-action
|
|= act=metadata-hook-action
|
||||||
|
@ -42,6 +42,9 @@
|
|||||||
=^ cards state
|
=^ cards state
|
||||||
(poke-hook-action:hc !<(metadata-hook-action vase))
|
(poke-hook-action:hc !<(metadata-hook-action vase))
|
||||||
[cards this]
|
[cards this]
|
||||||
|
::
|
||||||
|
%metadata-action
|
||||||
|
[(poke-action:hc !<(metadata-action vase)) this]
|
||||||
==
|
==
|
||||||
::
|
::
|
||||||
++ on-watch
|
++ on-watch
|
||||||
@ -106,6 +109,43 @@
|
|||||||
[%pass path %agent [ship %metadata-hook] %leave ~]~
|
[%pass path %agent [ship %metadata-hook] %leave ~]~
|
||||||
--
|
--
|
||||||
::
|
::
|
||||||
|
++ poke-action
|
||||||
|
|= act=metadata-action
|
||||||
|
^- (list card)
|
||||||
|
|^
|
||||||
|
?: (team:title our.bowl src.bowl)
|
||||||
|
?- -.act
|
||||||
|
%add (send group-path.act)
|
||||||
|
%remove (send group-path.act)
|
||||||
|
==
|
||||||
|
?> (is-permitted src.bowl group-path.act)
|
||||||
|
?- -.act
|
||||||
|
%add (metadata-poke our.bowl %metadata-store)
|
||||||
|
%remove (metadata-poke our.bowl %metadata-store)
|
||||||
|
==
|
||||||
|
::
|
||||||
|
++ send
|
||||||
|
|= =group-path
|
||||||
|
^- (list card)
|
||||||
|
=/ =ship
|
||||||
|
%+ slav %p
|
||||||
|
?: (is-managed group-path) (snag 0 group-path)
|
||||||
|
(snag 1 group-path)
|
||||||
|
=/ app ?:(=(ship our.bowl) %metadata-store %metadata-hook)
|
||||||
|
(metadata-poke ship app)
|
||||||
|
::
|
||||||
|
++ metadata-poke
|
||||||
|
|= [=ship app=@tas]
|
||||||
|
^- (list card)
|
||||||
|
[%pass / %agent [ship app] %poke %metadata-action !>(act)]~
|
||||||
|
::
|
||||||
|
++ is-managed
|
||||||
|
|= =path
|
||||||
|
^- ?
|
||||||
|
?> ?=(^ path)
|
||||||
|
!=(i.path '~')
|
||||||
|
--
|
||||||
|
::
|
||||||
++ watch-group
|
++ watch-group
|
||||||
|= =path
|
|= =path
|
||||||
^- (list card)
|
^- (list card)
|
||||||
@ -117,17 +157,6 @@
|
|||||||
^- card
|
^- card
|
||||||
[%give %fact ~ %metadata-update !>([%add group-path resource metadata])]
|
[%give %fact ~ %metadata-update !>([%add group-path resource metadata])]
|
||||||
::
|
::
|
||||||
++ is-permitted
|
|
||||||
|= [=ship pax=^path]
|
|
||||||
^- ?
|
|
||||||
=. pax
|
|
||||||
;: weld
|
|
||||||
/=permission-store/(scot %da now.bowl)/permitted
|
|
||||||
[(scot %p ship) pax]
|
|
||||||
/noun
|
|
||||||
==
|
|
||||||
.^(? %gx pax)
|
|
||||||
::
|
|
||||||
++ metadata-scry
|
++ metadata-scry
|
||||||
|= pax=^path
|
|= pax=^path
|
||||||
^- associations
|
^- associations
|
||||||
@ -203,4 +232,15 @@
|
|||||||
^- (quip card _state)
|
^- (quip card _state)
|
||||||
?> ?=(^ wir)
|
?> ?=(^ wir)
|
||||||
[~ ?~(saw state state(synced (~(del by synced) t.wir)))]
|
[~ ?~(saw state state(synced (~(del by synced) t.wir)))]
|
||||||
|
::
|
||||||
|
++ is-permitted
|
||||||
|
|= [=ship pax=path]
|
||||||
|
^- ?
|
||||||
|
=. pax
|
||||||
|
;: weld
|
||||||
|
/=permission-store/(scot %da now.bowl)/permitted
|
||||||
|
[(scot %p ship) pax]
|
||||||
|
/noun
|
||||||
|
==
|
||||||
|
.^(? %gx pax)
|
||||||
--
|
--
|
||||||
|
7
pkg/arvo/mar/metadata/action.hoon
Normal file
7
pkg/arvo/mar/metadata/action.hoon
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
/- *metadata-store
|
||||||
|
|_ act=metadata-action
|
||||||
|
++ grab
|
||||||
|
|%
|
||||||
|
++ noun metadata-action
|
||||||
|
--
|
||||||
|
--
|
Loading…
Reference in New Issue
Block a user