Browse Source

twitter_id index

Andrii Zadorozhnii 12 years ago
parent
commit
5a50feab3b
3 changed files with 10 additions and 6 deletions
  1. 5 5
      src/kvs_user.erl
  2. 1 0
      src/store_mnesia.erl
  3. 4 1
      src/store_riak.erl

+ 5 - 5
src/kvs_user.erl

@@ -9,8 +9,8 @@
 -include_lib("mqs/include/mqs.hrl").
 -include_lib("mqs/include/mqs.hrl").
 -compile(export_all).
 -compile(export_all).
 
 
-register(#user{username=UserName, email=Email, facebook_id = FacebookId, googleplus_id=GooglePlusId} = Registeration) ->
-    EmailUser = case check_username(UserName, FacebookId, GooglePlusId) of
+register(#user{username=UserName, email=Email, facebook_id = FacebookId, googleplus_id=GooglePlusId, twitter_id=TwitterId} = Registeration) ->
+    EmailUser = case check_username(UserName, FacebookId, GooglePlusId, TwitterId) of
         {error, Reason} -> {error, Reason};
         {error, Reason} -> {error, Reason};
         {ok, Name} -> case kvs_user:get({email, Email}) of
         {ok, Name} -> case kvs_user:get({email, Email}) of
             {error, _} -> {ok, Name};
             {error, _} -> {ok, Name};
@@ -45,11 +45,11 @@ process_register(#user{username=U} = RegisterData0) ->
     mqs:notify([user, init], {U, RegisterData#user.feed}),
     mqs:notify([user, init], {U, RegisterData#user.feed}),
     {ok, U}.
     {ok, U}.
 
 
-check_username(Name, Fbid, Gid) ->
+check_username(Name, Fbid, Gid, Tid) ->
     case kvs_user:get(Name) of
     case kvs_user:get(Name) of
         {error, _} -> {ok, Name};
         {error, _} -> {ok, Name};
-        {ok, User} when Fbid =/= undefined orelse Gid =/= undefined->
-            check_username(User#user.username  ++ integer_to_list(crypto:rand_uniform(0,10)), Fbid, Gid);
+        {ok, User} when Fbid =/= undefined orelse Gid =/= undefined orelse Tid =/= undefined ->
+            check_username(User#user.username  ++ integer_to_list(crypto:rand_uniform(0,10)), Fbid, Gid, Tid);
         {ok, _}-> {error, username_taken} end.
         {ok, _}-> {error, username_taken} end.
 
 
 delete(UserName) ->
 delete(UserName) ->

+ 1 - 0
src/store_mnesia.erl

@@ -55,6 +55,7 @@ initialize() ->
     add_table_index(entry, from),
     add_table_index(entry, from),
     add_table_index(user, facebook_id),
     add_table_index(user, facebook_id),
     add_table_index(user, googleplus_id),
     add_table_index(user, googleplus_id),
+    add_table_index(user, twitter_id),
     add_table_index(user, email),
     add_table_index(user, email),
     ok.
     ok.
 
 

+ 4 - 1
src/store_riak.erl

@@ -130,7 +130,10 @@ post_write_hooks(R,C) ->
                   _ -> C:put(make_object({facebook, R#user.username, R#user.facebook_id})) end,
                   _ -> C:put(make_object({facebook, R#user.username, R#user.facebook_id})) end,
                 case R#user.googleplus_id of
                 case R#user.googleplus_id of
                   undefined -> nothing;
                   undefined -> nothing;
-                  _ -> C:put(make_object({googleplus, R#user.username, #user.googleplus_id})) end;
+                  _ -> C:put(make_object({googleplus, R#user.username, R#user.googleplus_id})) end,
+                case R#user.twitter_id of
+                  undefined -> nothing;
+                  _ -> C:put(make_object({twitter, R#user.username, R#user.twitter_id})) end;
         _ -> continue end.
         _ -> continue end.
 
 
 get(Tab, Key) ->
 get(Tab, Key) ->