| 818 | } |
| 819 | |
| 820 | func newClaim(claims ...*claimParam) *Builder { |
| 821 | bb := base(1, TypeClaim) |
| 822 | bb.SetClaimDate(clockNow()) |
| 823 | if len(claims) == 1 { |
| 824 | cp := claims[0] |
| 825 | populateClaimMap(bb.m, cp) |
| 826 | return bb |
| 827 | } |
| 828 | var claimList []interface{} |
| 829 | for _, cp := range claims { |
| 830 | m := map[string]interface{}{} |
| 831 | populateClaimMap(m, cp) |
| 832 | claimList = append(claimList, m) |
| 833 | } |
| 834 | bb.m["claimType"] = "multi" |
| 835 | bb.m["claims"] = claimList |
| 836 | return bb |
| 837 | } |
| 838 | |
| 839 | func populateClaimMap(m map[string]interface{}, cp *claimParam) { |
| 840 | m["claimType"] = string(cp.claimType) |