-include("types.hrl"). -record(user_status, {username :: username_type(), last_login, show_splash = true :: boolean() }). -record(user_info, {username :: username_type(), name, surname, age, avatar_url, sex, skill = 0 :: integer(), score = 0 :: integer()}). -record(user_address, { username :: username_type(), address = "", city = "", district = "", postal_code = "", phone = "", personal_id = "" }). -record(user_type, {id, aclver}). -record(subs, {who, whom}). -record(subscription, %% Obsoleted by #subs{} {who, whom, whom_name}). -record(subscription_rev, %% Obsoleted by #subs{} {whom, who, who_name}). -record(group, {username, % this is an id, has nothing to do with users or name name, description, publicity, creator, created, owner, feed, users_count = 0 :: integer(), % we have to store this, counting would be very expensive and this number is sufficient for sorting and stuff entries_count = 0 :: integer() }). -record(group_member, % this contains a list of group for one user ! obsoleted by group_subs, left for data migration {who, group, group_name, id, % unused in riak, left for mnesia type = user}). -record(group_member_rev, % this contains a list of users for a group ! obsoleted by group_subs, left for data migration {group, who, who_name, type = user}). -record(group_subs, {user_id, group_id, user_type, user_posts_count = 0 :: integer() % we need this for sorting and counting is expensive }). -record(forget_password, {token :: string(), uid :: string(), create :: {integer(), integer(), integer()}}). -record(prohibited, {ip :: {string(), atom()}, activity :: any(), time :: {integer(),integer(),integer()}, uid = undefined :: 'undefined' | string()}). -record(avatar, {big :: string(), small :: string(), tiny :: string()}). -record(user_game_status, {user, status %% strings: online|offline|busy|free_for_game|invisible }). -record(user_ignores, {who, whom}). -record(user_ignores_rev, {whom, who}). -record(user_bought_gifts, { username, timestamp, gift_id }). -record(user_count, {count}). -record(twitter_oauth, {user_id, token, secret}). -record(facebook_oauth, {user_id, access_token}). % users activity top -define(ACTIVE_USERS_TOP_N, 12). -record(active_users_top, { no, user_id, entries_count, last_one_timestamp }). %% Message queues stuff related to user %% User exchange name -define(USER_EXCHANGE(UserId), list_to_binary("user_exchange."++UserId++".fanout")). %% Group exchange name -define(GROUP_EXCHANGE(GroupId), list_to_binary("group_exchange."++GroupId++".fanout")).