feedback_reads.gno
1.87 Kb · 14 lines
1package memba_weighted_host
2
3import "strconv"
4
5func (h *Host) feedbackConfigJSON() string {
6 if h.feedbackPolicy==nil { return "" }
7 return `,"feedbackPolicy":{"target":`+quoteJSON(FeedbackPath)+`,"successor":`+quoteJSON(string(h.feedbackPolicy.Successor()))+`,"memberCategory":"critical","unpauseCategory":"financial","emergencyPause":true,"returnStagesOnly":true,"invalidatesOtherProposals":true}`
8}
9func feedbackStateJSON(s FeedbackState) string {
10 return `{"owner":`+quoteJSON(string(s.Owner))+`,"pendingOwner":`+quoteJSON(string(s.PendingOwner))+`,"paused":`+strconv.FormatBool(s.Paused)+`,"memberCount":`+quoteJSON(strconv.Itoa(s.MemberCount))+`,"membershipRevision":`+quoteJSON(strconv.FormatUint(s.MembershipRevision,10))+`,"ownerMember":`+strconv.FormatBool(s.OwnerMember)+`,"daoMember":`+strconv.FormatBool(s.DAOMember)+`,"successorMember":`+strconv.FormatBool(s.SuccessorMember)+`,"subjectMember":`+strconv.FormatBool(s.SubjectMember)+`,"ownerRoles":`+quoteJSON(s.OwnerRoles)+`,"daoRoles":`+quoteJSON(s.DAORoles)+`,"successorRoles":`+quoteJSON(s.SuccessorRoles)+`,"subjectRoles":`+quoteJSON(s.SubjectRoles)+`,"feedbackChannelCount":`+quoteJSON(strconv.Itoa(s.ChannelCount))+`,"feedbackChannelExists":`+strconv.FormatBool(s.ChannelExists)+`,"feedbackChannelDescription":`+quoteJSON(s.ChannelDescription)+`,"feedbackChannelType":`+quoteJSON(s.ChannelType)+`,"feedbackChannelReadRoles":`+quoteJSON(s.ChannelReadRoles)+`,"feedbackChannelWriteRoles":`+quoteJSON(s.ChannelWriteRoles)+`}`
11}
12func feedbackActionJSON(a FeedbackAction, s FeedbackState) string {
13 return `{"type":"feedback","target":`+quoteJSON(FeedbackPath)+`,"operation":`+quoteJSON(string(a.Kind()))+`,"recipient":`+quoteJSON(string(a.Recipient()))+`,"subject":`+quoteJSON(string(a.Subject()))+`,"roles":`+quoteJSON(a.Roles())+`,"name":`+quoteJSON(a.Name())+`,"description":`+quoteJSON(a.Description())+`,"before":`+feedbackStateJSON(s)+`}`
14}