Add usage tags to circle configs, allowing clients to store arbitrary meta usage info.

This commit is contained in:
Fang 2018-02-14 16:54:51 +01:00
parent cfd52cc2ae
commit 35d3b04d21
6 changed files with 54 additions and 0 deletions

View File

@ -342,11 +342,13 @@
?- -.act
:: circle configuration
$create (action-create +.act)
$design (action-design +.act)
$source (action-source +.act)
$depict (action-depict +.act)
$filter (action-filter +.act)
$permit (action-permit +.act)
$delete (action-delete +.act)
$usage (action-usage +.act)
:: messaging
$convey (action-convey +.act)
$phrase (action-phrase +.act)
@ -410,6 +412,7 @@
%^ impact nom %new
:* [[[our.bol nom] ~] ~ ~]
des
~
*filter
:- typ
?. ?=(?($village $journal) typ) ~
@ -417,6 +420,14 @@
==
(ta-evil (crip "{(trip nom)}: already exists"))
::
++ action-design
:> creates a story with the specified config.
::
|= {nom/name cof/config}
?. (~(has in stories) nom)
(impact nom %new cof)
(ta-evil (crip "{(trip nom)}: already exists"))
::
++ action-delete
:> delete + announce
:>
@ -464,6 +475,15 @@
(ta-evil (crip "no story {(trip nom)}"))
so-done:(~(so-sources so nom ~ u.soy) sub srs)
::
++ action-usage
:> add or remove usage tags.
::
|= {nom/name add/? tas/tags}
=+ soy=(~(get by stories) nom)
?~ soy
(ta-evil (crip "no story {(trip nom)}"))
so-done:(~(so-usage so nom ~ u.soy) add tas)
::
:> # %messaging
+|
++ action-convey
@ -1129,6 +1149,17 @@
?: =(cap cap.shape) +>
(so-delta-our %config so-cir %caption cap)
::
++ so-usage
:> add or remove usage tags.
::
|= {add/? tas/tags}
^+ +>
=/ sas/tags
%. tag.shape
?:(add ~(dif in tas) ~(int in tas))
?~ sas +>.$
(so-delta-our %config so-cir %usage add sas)
::
++ so-filter
:> change message rules
:>

View File

@ -1856,6 +1856,7 @@
$(dif [%filter fit.cof.dif])
?: ?=($remove -.dif)
(sh-note (weld "rip " (~(cr-show cr cir) ~)))
?: ?=($usage -.dif) +>
%- sh-note
%+ weld
(weld ~(cr-phat cr cir) ": ")

View File

@ -178,6 +178,7 @@
$full (conf cof.a)
$source (pairs add+b+add.a src+(sorc src.a) ~)
$caption s+cap.a
$usage (pairs add+b+add.a tas+(sa tas.a cord) ~)
$filter (filt fit.a)
$secure s+sec.a
$permit (pairs add+b+add.a sis+(sa sis.a ship) ~)
@ -229,6 +230,7 @@
%- pairs :~
src+(sa src.a sorc)
cap+s+cap.a
tag+(sa tag.a cord)
fit+(filt fit.a)
con+(cont con.a)
==
@ -425,6 +427,7 @@
%- of :~
full+conf
source+(ot add+bo src+sorc ~)
usage+(ot add+bo tas+(as so) ~)
caption+so
filter+filt
secure+secu
@ -469,6 +472,7 @@
%- ot :~
src+(as sorc)
cap+so
tag+(as so)
fit+filt
con+cont
==

View File

@ -126,6 +126,15 @@
$caption cof(cap cap.dif)
$filter cof(fit fit.dif)
$remove cof
::
$usage
%= cof
tag
%. tas.dif
?: add.dif
~(uni in tag.cof)
~(dif in tag.cof)
==
::
$source
%= cof

View File

@ -16,11 +16,13 @@
^- action:hall
=- (need ((of -) a))
:~ create+(ot nom+so des+so sec+secu ~)
design+(ot nom+so cof+conf ~)
delete+(ot nom+so why+(mu so) ~)
depict+(ot nom+so des+so ~)
filter+(ot nom+so fit+filt ~)
permit+(ot nom+so inv+bo sis+(as (su fed:ag)) ~)
source+(ot nom+so sub+bo srs+(as sorc) ~)
usage+(ot nom+so add+bo tas+(as so) ~)
::
convey+(ar thot)
phrase+(ot aud+audi ses+(ar spec:dejs:hall-json) ~)
@ -46,11 +48,13 @@
%- pairs
?- -.act
$create ~[nom+s+nom.act des+s+des.act sec+s+sec.act]
$design ~[nom+s+nom.act cof+(conf cof.act)]
$delete ~[nom+s+nom.act why+(mabe why.act cord:enjs)]
$depict ~[nom+s+nom.act des+s+des.act]
$filter ~[nom+s+nom.act fit+(filt fit.act)]
$permit ~[nom+s+nom.act inv+b+inv.act sis+(sa sis.act ship)]
$source ~[nom+s+nom.act sub+b+sub.act srs+(sa srs.act sorc)]
$usage ~[nom+s+nom.act add+b+add.act tas+(sa tas.act cord:enjs)]
::
$phrase ~[aud+(audi aud.act) ses+a+(turn ses.act spec:enjs)]
::

View File

@ -16,6 +16,7 @@
::TODO rename
++ name term :< circle name
++ nick cord :< local nickname
++ tags (set knot) :< usage tags
::
:> #
:> # %query-models
@ -110,6 +111,7 @@
$% {$full cof/config} :< set w/o side-effects
{$source add/? src/source} :< add/rem sources
{$caption cap/cord} :< changed description
{$usage add/? tas/tags} :< add/rem usage tags
{$filter fit/filter} :< changed filter
{$secure sec/security} :< changed security
{$permit add/? sis/(set ship)} :< add/rem to b/w-list
@ -136,11 +138,13 @@
++ action :> user action
$% :: circle configuration ::
{$create nom/name des/cord sec/security} :< create circle
{$design nom/name cof/config} :< create with config
{$delete nom/name why/(unit cord)} :< delete + announce
{$depict nom/name des/cord} :< change description
{$filter nom/name fit/filter} :< change message rules
{$permit nom/name inv/? sis/(set ship)} :< invite/banish
{$source nom/name sub/? srs/(set source)} :< un/sub to/from src
{$usage nom/name add/? tas/tags} :< add/rem usage tags
:: messaging ::
{$convey tos/(list thought)} :< post exact
{$phrase aud/audience ses/(list speech)} :< post easy
@ -178,6 +182,7 @@
++ config :> circle config
$: src/(set source) :< active sources
cap/cord :< description
tag/tags :< usage tags
fit/filter :< message rules
con/control :< restrictions
== ::