user.hrl 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. -include("types.hrl").
  2. -record(user_status,
  3. {username :: username_type(),
  4. last_login,
  5. show_splash = true :: boolean()
  6. }).
  7. -record(user_info,
  8. {username :: username_type(),
  9. name,
  10. surname,
  11. age,
  12. avatar_url,
  13. sex,
  14. skill = 0 :: integer(),
  15. score = 0 :: integer()}).
  16. -record(user_address, {
  17. username :: username_type(),
  18. address = "",
  19. city = "",
  20. district = "",
  21. postal_code = "",
  22. phone = "",
  23. personal_id = ""
  24. }).
  25. -record(user_type,
  26. {id,
  27. aclver}).
  28. -record(subs,
  29. {who,
  30. whom}).
  31. -record(subscription, %% Obsoleted by #subs{}
  32. {who,
  33. whom,
  34. whom_name}).
  35. -record(subscription_rev, %% Obsoleted by #subs{}
  36. {whom,
  37. who,
  38. who_name}).
  39. -record(group,
  40. {username, % this is an id, has nothing to do with users or name
  41. name,
  42. description,
  43. publicity,
  44. creator,
  45. created,
  46. owner,
  47. feed,
  48. users_count = 0 :: integer(), % we have to store this, counting would be very expensive and this number is sufficient for sorting and stuff
  49. entries_count = 0 :: integer()
  50. }).
  51. -record(group_member, % this contains a list of group for one user ! obsoleted by group_subs, left for data migration
  52. {who,
  53. group,
  54. group_name,
  55. id, % unused in riak, left for mnesia
  56. type = user}).
  57. -record(group_member_rev, % this contains a list of users for a group ! obsoleted by group_subs, left for data migration
  58. {group,
  59. who,
  60. who_name,
  61. type = user}).
  62. -record(group_subs,
  63. {user_id,
  64. group_id,
  65. user_type,
  66. user_posts_count = 0 :: integer() % we need this for sorting and counting is expensive
  67. }).
  68. -record(forget_password,
  69. {token :: string(),
  70. uid :: string(),
  71. create :: {integer(), integer(), integer()}}).
  72. -record(prohibited,
  73. {ip :: {string(), atom()},
  74. activity :: any(),
  75. time :: {integer(),integer(),integer()},
  76. uid = undefined :: 'undefined' | string()}).
  77. -record(avatar,
  78. {big :: string(),
  79. small :: string(),
  80. tiny :: string()}).
  81. -record(user_game_status,
  82. {user,
  83. status %% strings: online|offline|busy|free_for_game|invisible
  84. }).
  85. -record(user_ignores, {who, whom}).
  86. -record(user_ignores_rev, {whom, who}).
  87. -record(user_bought_gifts, {
  88. username,
  89. timestamp,
  90. gift_id
  91. }).
  92. -record(user_count, {count}).
  93. -record(twitter_oauth, {user_id, token, secret}).
  94. -record(facebook_oauth, {user_id, access_token}).
  95. % users activity top
  96. -define(ACTIVE_USERS_TOP_N, 12).
  97. -record(active_users_top, {
  98. no,
  99. user_id,
  100. entries_count,
  101. last_one_timestamp
  102. }).
  103. %% Message queues stuff related to user
  104. %% User exchange name
  105. -define(USER_EXCHANGE(UserId),
  106. list_to_binary("user_exchange."++UserId++".fanout")).
  107. %% Group exchange name
  108. -define(GROUP_EXCHANGE(GroupId),
  109. list_to_binary("group_exchange."++GroupId++".fanout")).