user.hrl 3.2 KB

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