+9
-2
automod/engine/account_meta.go
+9
-2
automod/engine/account_meta.go
···
36
36
DisplayName *string
37
37
}
38
38
39
+
// opaque fingerprints for correlating abusive accounts
40
+
type AbuseSignature struct {
41
+
Property string
42
+
Value string
43
+
}
44
+
39
45
type AccountPrivate struct {
40
46
Email string
41
47
EmailConfirmed bool
42
48
IndexedAt *time.Time
43
49
AccountTags []string
44
50
// ReviewState will be one of ReviewStateEscalated, ReviewStateOpen, ReviewStateClosed, ReviewStateNone, or "" (unknown)
45
-
ReviewState string
46
-
Appealed bool
51
+
ReviewState string
52
+
Appealed bool
53
+
AbuseSignatures []AbuseSignature
47
54
}
+7
automod/engine/fetch_account_meta.go
+7
automod/engine/fetch_account_meta.go
···
148
148
}
149
149
}
150
150
}
151
+
if rd.ThreatSignatures != nil || len(rd.ThreatSignatures) > 0 {
152
+
asigs := make([]AbuseSignature, len(rd.ThreatSignatures))
153
+
for i, sig := range rd.ThreatSignatures {
154
+
asigs[i] = AbuseSignature{Property: sig.Property, Value: sig.Value}
155
+
}
156
+
am.Private.AbuseSignatures = asigs
157
+
}
151
158
am.Private = &ap
152
159
}
153
160
}