From b26ee309905168fab8d7cb37013d02a7ea2541ae Mon Sep 17 00:00:00 2001 From: Anton Dyudin Date: Fri, 19 Aug 2016 17:00:24 -0700 Subject: [PATCH] add :ask|admins dynamic permissions --- app/ask.hoon | 14 ++++++++++++-- gen/ask/admins.hoon | 14 ++++++++++++++ 2 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 gen/ask/admins.hoon diff --git a/app/ask.hoon b/app/ask.hoon index dfc9eb88d..444f382ad 100644 --- a/app/ask.hoon +++ b/app/ask.hoon @@ -13,7 +13,12 @@ ++ email @t -- !: -|_ {bow/bowl adr/(map email {time invited}) sos/(map bone sole-share) wom/(unit ship)} +|_ $: bow/bowl + adr/(map email {time invited}) + sos/(map bone sole-share) + wom/(unit ship) + admins/(set ship) + == ++ prompt ^- sole-prompt ?~ wom [& %ask-ship ":womb-ship? ~"] @@ -25,7 +30,7 @@ |= path ^- (quip {bone card} +>) ~| [%not-in-whitelist src.bow] - ?> (~(has in (sy ~zod our.bow ~wisdyr-holpeg ~)) src.bow) + ?> |((~(has in admins) src.bow) =(our.bow src.bow)) :_ +>.$(sos (~(put by sos) ost.bow *sole-share)) =- [(effect %mor pro+prompt -)]~ =+ all=adrs @@ -56,6 +61,11 @@ ;~(plug (cook crip (star next)) (easy ~)) == :: +++ poke-ask-admins + |= a/(set ship) + ?> =(our.bow src.bow) + `+>.$(admins a) +:: ++ poke-ask-mail |= ask/@t ^- (quip {bone card} +>) diff --git a/gen/ask/admins.hoon b/gen/ask/admins.hoon new file mode 100644 index 000000000..84c41aa87 --- /dev/null +++ b/gen/ask/admins.hoon @@ -0,0 +1,14 @@ +:: +:::: /hoon/release/hood/gen + :: +/? 310 +:: +:::: + !: +:- %say +|= $: {now/@da eny/@uvJ bec/beak} + {who/(list ship) $~} + == +:- %ask-admins ^- (set ship) +~? =(~ who) %admins-unset +(silt who)