github.com/twilio/twilio-go@v1.20.1/client/jwt/taskrouter/policy.go (about) 1 package taskrouter 2 3 type Policy struct { 4 Url string `json:"url,omitempty"` 5 Method string `json:"method,omitempty"` 6 Allow bool `json:"allow,omitempty"` 7 PostFilter map[string]interface{} `json:"post_filter"` 8 QueryFilter map[string]interface{} `json:"query_filter"` 9 } 10 11 func GeneratePolicy(url string, method string, allow bool, postFilters map[string]interface{}, queryFilters map[string]interface{}) Policy { 12 return Policy{ 13 Url: url, 14 Method: method, 15 Allow: allow, 16 PostFilter: postFilters, 17 QueryFilter: queryFilters, 18 } 19 } 20 21 func (policy *Policy) Payload() map[string]interface{} { 22 payload := map[string]interface{}{ 23 "url": policy.Url, 24 "method": policy.Method, 25 "allow": policy.Allow, 26 "post_filter": map[string]interface{}{}, 27 "query_filter": map[string]interface{}{}, 28 } 29 if policy.QueryFilter != nil { 30 payload["query_filter"] = policy.QueryFilter 31 } 32 if policy.PostFilter != nil { 33 payload["post_filter"] = policy.PostFilter 34 } 35 return payload 36 }