Flatten threads: don't show reply button when appropriate

This CL also refactors the response interceptors to use the new
ThreadModel.

Fixed: twpowertools:160
Change-Id: I859e0fa1b8f5f4057bd66af3d167e4b21c6d12ed
diff --git a/src/models/enums/ItemMetadataState.js b/src/models/enums/ItemMetadataState.js
new file mode 100644
index 0000000..3331c08
--- /dev/null
+++ b/src/models/enums/ItemMetadataState.js
@@ -0,0 +1,24 @@
+const kItemMetadataStateEnum = {
+  UNDEFINED: 0,
+  PUBLISHED: 1,
+  DRAFT: 2,
+  AUTOMATED_ABUSE_TAKE_DOWN_HIDE: 3,
+  AUTOMATED_ABUSE_TAKE_DOWN_DELETE: 4,
+  AUTOMATED_ABUSE_REINSTATE: 13,
+  AUTOMATED_OFF_TOPIC_HIDE: 10,
+  AUTOMATED_FLAGGED_PENDING_MANUAL_REVIEW: 14,
+  USER_FLAGGED_PENDING_MANUAL_REVIEW: 5,
+  OWNER_DELETED: 6,
+  MANUAL_TAKE_DOWN_HIDE: 7,
+  MANUAL_PROFILE_TAKE_DOWN_SUSPEND: 17,
+  MANUAL_TAKE_DOWN_DELETE: 8,
+  REINSTATE_PROFILE_TAKEDOWN: 18,
+  REINSTATE_ABUSE_TAKEDOWN: 9,
+  CLEAR_OFF_TOPIC: 11,
+  CONFIRM_OFF_TOPIC: 12,
+  GOOGLER_OFF_TOPIC_HIDE: 15,
+  EXPERT_FLAGGED_PENDING_MANUAL_REVIEW: 16,
+  AWAITING_CLASSIFICATION: 19,
+};
+
+export default kItemMetadataStateEnum;
diff --git a/src/models/enums/UserRole.js b/src/models/enums/UserRole.js
new file mode 100644
index 0000000..287f194
--- /dev/null
+++ b/src/models/enums/UserRole.js
@@ -0,0 +1,25 @@
+export const kUserRoleEnum = {
+  ROLE_USER: 0,
+  ROLE_PRODUCT_EXPERT_LEVEL_1: 1,
+  ROLE_PRODUCT_EXPERT_LEVEL_2: 2,
+  ROLE_PRODUCT_EXPERT_LEVEL_3: 3,
+  ROLE_PRODUCT_EXPERT_LEVEL_4: 4,
+  ROLE_PRODUCT_EXPERT_LEVEL_5: 5,
+  ROLE_COMMUNITY_MANAGER: 10,
+  ROLE_COMMUNITY_SPECIALIST: 20,
+  ROLE_GOOGLE_EMPLOYEE: 100,
+  ROLE_ALUMNUS: 30,
+};
+export default kUserRoleEnum;
+
+export let kUserRoleRank = {};
+kUserRoleRank[kUserRoleEnum.ROLE_USER] = 0;
+kUserRoleRank[kUserRoleEnum.ROLE_ALUMNUS] = 1;
+kUserRoleRank[kUserRoleEnum.ROLE_PRODUCT_EXPERT_LEVEL_1] = 2;
+kUserRoleRank[kUserRoleEnum.ROLE_PRODUCT_EXPERT_LEVEL_2] = 3;
+kUserRoleRank[kUserRoleEnum.ROLE_PRODUCT_EXPERT_LEVEL_3] = 4;
+kUserRoleRank[kUserRoleEnum.ROLE_PRODUCT_EXPERT_LEVEL_4] = 5;
+kUserRoleRank[kUserRoleEnum.ROLE_PRODUCT_EXPERT_LEVEL_5] = 6;
+kUserRoleRank[kUserRoleEnum.ROLE_COMMUNITY_SPECIALIST] = 7;
+kUserRoleRank[kUserRoleEnum.ROLE_COMMUNITY_MANAGER] = 8;
+kUserRoleRank[kUserRoleEnum.ROLE_GOOGLE_EMPLOYEE] = 9;