Andrii Zadorozhnii 11 лет назад
Родитель
Сommit
7d8a5d2f33
4 измененных файлов с 12 добавлено и 8 удалено
  1. 2 0
      include/users.hrl
  2. 5 7
      src/kvs_user.erl
  3. 1 0
      src/store_mnesia.erl
  4. 4 1
      src/store_riak.erl

+ 2 - 0
include/users.hrl

@@ -8,6 +8,7 @@
         facebook_id,
         twitter_id,
         googleplus_id,
+        github_id,
         auth,
         avatar,
         name = undefined,
@@ -92,6 +93,7 @@
 -record(twitter_oauth, {user_id, token, secret}).
 -record(facebook_oauth, {user_id, access_token}).
 -record(googleplus_oauth, {user_id, access_token}).
+-record(github_oauth, {user_id, access_token}).
 
 -define(ACTIVE_USERS_TOP_N, 12).
 

+ 5 - 7
src/kvs_user.erl

@@ -9,8 +9,8 @@
 -include_lib("mqs/include/mqs.hrl").
 -compile(export_all).
 
-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
+register(#user{username=UserName, email=Email} = Registration) ->
+    EmailUser = case check_username(UserName) of
         {error, Reason} -> {error, Reason};
         {ok, Name} -> case kvs_user:get({email, Email}) of
             {error, _} -> {ok, Name};
@@ -23,7 +23,7 @@ register(#user{username=UserName, email=Email, facebook_id = FacebookId, googlep
             {ok,_} -> {error, username_taken} end end,
 
     case GroupUser of
-        {ok, Name3} -> process_register(Registeration#user{username=Name3});
+        {ok, Name3} -> process_register(Registration#user{username=Name3});
         Error -> Error end.
 
 process_register(#user{email=E} = RegisterData0) ->
@@ -45,12 +45,10 @@ process_register(#user{email=E} = RegisterData0) ->
 %    mqs:notify([user, init], {E, RegisterData#user.feed}),
     {ok, RegisterData}.
 
-check_username(Name, Fbid, Gid, Tid) ->
+check_username(Name) ->
     case kvs_user:get(Name) of
         {error, _} -> {ok, Name};
-        {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, User} -> check_username(Name ++ integer_to_list(crypto:rand_uniform(0,10))) end.
 
 delete(UserName) ->
     case kvs_user:get(UserName) of

+ 1 - 0
src/store_mnesia.erl

@@ -42,6 +42,7 @@ add_indexes() ->
     add_table_index(user, facebook_id),
     add_table_index(user, googleplus_id),
     add_table_index(user, twitter_id),
+    add_table_index(user, github_id),
     add_table_index(user, email),
     ok.
 create_users() ->  ?CREATE_TAB(user).

+ 4 - 1
src/store_riak.erl

@@ -133,7 +133,10 @@ post_write_hooks(R,C) ->
                   _ -> 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;
+                  _ -> C:put(make_object({twitter, R#user.username, R#user.twitter_id})) end,
+                case R#user.github_id of
+                  undefined -> nothing;
+                  _ -> C:put(make_object({github, R#user.username, R#user.github_id})) end;
         _ -> continue end.
 
 get(Tab, Key) ->