diff --git a/client/coral-admin/src/components/UserDetail.js b/client/coral-admin/src/components/UserDetail.js
index 723a71eef..070f22ba4 100644
--- a/client/coral-admin/src/components/UserDetail.js
+++ b/client/coral-admin/src/components/UserDetail.js
@@ -245,9 +245,12 @@ class UserDetail extends React.Component {
- {100}
+ {user.reliable.commenterScore}
diff --git a/client/coral-admin/src/containers/UserDetail.js b/client/coral-admin/src/containers/UserDetail.js
index 360819dd6..810a336c8 100644
--- a/client/coral-admin/src/containers/UserDetail.js
+++ b/client/coral-admin/src/containers/UserDetail.js
@@ -185,6 +185,8 @@ export const withUserDetailQuery = withQuery(
}
reliable {
flagger
+ commenter
+ commenterScore
}
state {
status {
diff --git a/client/coral-framework/utils/user.js b/client/coral-framework/utils/user.js
index 693652994..e591fa558 100644
--- a/client/coral-framework/utils/user.js
+++ b/client/coral-framework/utils/user.js
@@ -55,10 +55,10 @@ export const canUsernameBeUpdated = status => {
* retrieves karma value as string
*/
-export const getKarma = score => {
- if (score === 0) {
+export const getKarma = reliability => {
+ if (reliability === null) {
return 'neutral';
- } else if (score) {
+ } else if (reliability) {
return 'good';
} else {
return 'bad';
diff --git a/graph/typeDefs.graphql b/graph/typeDefs.graphql
index 07947af6e..1c323e6f4 100644
--- a/graph/typeDefs.graphql
+++ b/graph/typeDefs.graphql
@@ -20,9 +20,17 @@ type Reliability {
# `null` if the reliability cannot be determined.
flagger: Boolean
+ # flaggerScore will contains the number of agreed flags vs disagred flag
+ # count.
+ flaggerScore: Int!
+
# Commenter will be `true` when the commenter is reliable, `false` if not, or
# `null` if the reliability cannot be determined.
commenter: Boolean
+
+ # commenterScore the number of approved comments (not untouched) subtracted by
+ # the number of rejected comments.
+ commenterScore: Int!
}
################################################################################
diff --git a/services/karma.js b/services/karma.js
index 58d9da3a0..c39c93a32 100644
--- a/services/karma.js
+++ b/services/karma.js
@@ -1,6 +1,7 @@
const debug = require('debug')('talk:services:karma');
const UserModel = require('../models/user');
const { TRUST_THRESHOLDS } = require('../config');
+const { get } = require('lodash');
/**
* This will create an object with the property name of the action type as the
@@ -83,9 +84,17 @@ class KarmaModel {
return KarmaService.isReliable('flag', this.model);
}
+ get flaggerScore() {
+ return get(this.model, 'flag.karma', 0);
+ }
+
get commenter() {
return KarmaService.isReliable('comment', this.model);
}
+
+ get commenterScore() {
+ return get(this.model, 'comment.karma', 0);
+ }
}
/**