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/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;