Search Apps Documentation Source Content File Folder Download Copy Actions Download State String Boolean Number Struct Map Slice Pointer Function Closure Reference Nil Package Type Interface Unknown

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}