Browse Source

clean twitter, change API.

Maxim Sokhatsky 11 years ago
parent
commit
8b5629f2b7
7 changed files with 24 additions and 79 deletions
  1. 1 1
      src/avz.erl
  2. 2 1
      src/email.erl
  3. 5 5
      src/facebook.erl
  4. 4 4
      src/github.erl
  5. 4 4
      src/google.erl
  6. 4 4
      src/microsoft.erl
  7. 4 60
      src/twitter.erl

+ 1 - 1
src/avz.erl

@@ -3,7 +3,7 @@
 -compile(export_all).
 -include_lib("avz/include/avz.hrl").
 -include_lib("n2o/include/wf.hrl").
--include_lib("kvs/include/users.hrl").
+-include_lib("kvs/include/user.hrl").
 
 callbacks(Methods) -> [ M:callback() || M <- Methods].
 sdk(Methods) -> [ M:sdk() || M <- Methods].

+ 2 - 1
src/email.erl

@@ -2,7 +2,7 @@
 -author('Andrii Zadorozhnii').
 -include_lib("avz/include/avz.hrl").
 -include_lib("n2o/include/wf.hrl").
--include_lib("kvs/include/users.hrl").
+-include_lib("kvs/include/user.hrl").
 -compile(export_all).
 -export(?API).
 
@@ -12,6 +12,7 @@ registration_data(Props, email, Ori)->
             display_name = Email,
             email = Email,
             register_date = now(),
+            tokens = [{email,Email}|Ori#user.tokens],
             status = ok,
             password = kvs:sha(proplists:get_value(<<"password">>,Props))}.
 

+ 5 - 5
src/facebook.erl

@@ -2,7 +2,7 @@
 -author('Andrii Zadorozhnii').
 -include_lib("avz/include/avz.hrl").
 -include_lib("n2o/include/wf.hrl").
--include_lib("kvs/include/users.hrl").
+-include_lib("kvs/include/user.hrl").
 -compile(export_all).
 -export(?API).
 -define(HTTP_ADDRESS, case application:get_env(web, http_address) of {ok, A} -> A; _ -> "" end).
@@ -26,10 +26,10 @@ registration_data(Props, facebook, Ori)->
                 display_name = UserName,
                 avatar = "https://graph.facebook.com/" ++ UserName ++ "/picture",
                 email = Email,
-                name = proplists:get_value(<<"first_name">>, Props),
-                surname = proplists:get_value(<<"last_name">>, Props),
-                facebook_id = Id,
-                age = {element(3, BirthDay), element(1, BirthDay), element(2, BirthDay)},
+                names = proplists:get_value(<<"first_name">>, Props),
+                surnames = proplists:get_value(<<"last_name">>, Props),
+                tokens = [{facebook,Id}|Ori#user.tokens],
+                birth = {element(3, BirthDay), element(1, BirthDay), element(2, BirthDay)},
                 register_date = erlang:now(),
                 status = ok }.
 

+ 4 - 4
src/github.erl

@@ -1,7 +1,7 @@
 -module(github).
 -author('Andrii Zadorozhnii').
 -include_lib("n2o/include/wf.hrl").
--include_lib("kvs/include/users.hrl").
+-include_lib("kvs/include/user.hrl").
 -include_lib("avz/include/avz.hrl").
 -compile(export_all).
 -export(?API).
@@ -56,9 +56,9 @@ registration_data(Props, github, Ori) ->
                 display_name = Name,
                 avatar = proplists:get_value(<<"avatar_url">>, Props),
                 email = Email,
-                name  = Name,
-                surname = [],
-                github_id = Id,
+                names  = Name,
+                surnames = [],
+                tokens = [{github,Id}|Ori#user.tokens],
                 register_date = erlang:now(),
                 status = ok }.
 

+ 4 - 4
src/google.erl

@@ -2,7 +2,7 @@
 -author('Andrii Zadorozhnii').
 -include_lib("avz/include/avz.hrl").
 -include_lib("n2o/include/wf.hrl").
--include_lib("kvs/include/users.hrl").
+-include_lib("kvs/include/user.hrl").
 -compile(export_all).
 -export(?API).
 -define(GPLUS_CLIENT_ID, case application:get_env(web, gplus_client_id) of {ok, Id} -> Id; _-> "" end).
@@ -22,9 +22,9 @@ registration_data(Props, google, Ori)->
                 avatar = lists:nth(1,string:tokens(
                         binary_to_list(proplists:get_value(<<"url">>, Image#struct.lst)), "?")),
                 email = Email,
-                name = GivenName,
-                surname = FamilyName,
-                googleplus_id = Id,
+                names = GivenName,
+                surnames = FamilyName,
+                tokens = [{google,Id}|Ori#user.tokens],
                 register_date = erlang:now(),
                 sex = proplists:get_value(gender, Props),
                 status = ok }.

+ 4 - 4
src/microsoft.erl

@@ -2,7 +2,7 @@
 -author('Maxim Sokhatsku').
 -include_lib("avz/include/avz.hrl").
 -include_lib("n2o/include/wf.hrl").
--include_lib("kvs/include/users.hrl").
+-include_lib("kvs/include/user.hrl").
 -compile(export_all).
 -export(?API).
 -define(CLIENT_ID, "000000004C0FEEB0").
@@ -29,9 +29,9 @@ registration_data(Props, microsoft, Ori)->
     Ori#user{   id = Email,
                 display_name = proplists:get_value(<<"name">>, Props),
                 email = Email,
-                name = GivenName,
-                surname = FamilyName,
-                googleplus_id = Id,
+                names = GivenName,
+                surnames = FamilyName,
+                tokens = [{microsoft,Id}|Ori#user.tokens],
                 register_date = erlang:now(),
                 sex = proplists:get_value(<<"gender">>, Props),
                 status = ok }.

+ 4 - 60
src/twitter.erl

@@ -2,7 +2,7 @@
 -author('Andrii Zadorozhnii').
 -include_lib("n2o/include/wf.hrl").
 -include_lib("avz/include/avz.hrl").
--include_lib("kvs/include/users.hrl").
+-include_lib("kvs/include/user.hrl").
 -compile(export_all).
 -export(?API).
 -define(CONSUMER_KEY, case application:get_env(web, tw_consumer_key) of {ok, K} -> K;_-> "" end).
@@ -17,10 +17,10 @@ registration_data(Props, twitter, Ori)->
                 username = re:replace(UserName, "\\.", "_", [{return, list}]),
                 display_name = proplists:get_value(<<"screen_name">>, Props),
                 avatar = proplists:get_value(<<"profile_image_url">>, Props),
-                name = proplists:get_value(<<"name">>, Props),
+                names = proplists:get_value(<<"name">>, Props),
                 email = Email,
-                surname = [],
-                twitter_id = Id,
+                surnames = [],
+                tokens = [{twitter,Id}|Ori#user.tokens],
                 register_date = erlang:now(),
                 status = ok }.
 
@@ -99,59 +99,3 @@ show(Props)->
     _ -> error
   end.
 
-service_item()->
-  case nsm_db:get(user, wf:user()) of 
-    {error, notfound} -> wf:redirect("login");
-    {ok, #user{twitter_id=TwitterId}} ->
-      try service_btn(TwitterId) of
-        Btn ->  #li{id=twServiceBtn, class=png, body=Btn}
-      catch
-        _:_ -> []
-      end
-  end.
-
-service_btn(undefined) ->
-  case get_request_token() of
-    {RequestToken, _, _} ->
-      [#image{image="/images/img-52.png"}, #span{body= <<"Twitter">>},
-      #link{class="btn", body=["<span>+</span>", "Add"], url=authorize_url(RequestToken)}];
-    {error, R} -> error_logger:info_msg("Twitter request failed:", [R]), []
-  end;
-service_btn(TwitterId)->
-  case nsm_db:get(twitter_oauth, TwitterId) of
-    {error, notfound}->
-      service_btn(undefined);
-    {ok, #twitter_oauth{token=Token, secret=TokenSecret}} when Token == undefined orelse TokenSecret == undefined ->
-      service_btn(undefined);
-    {ok, #twitter_oauth{}} ->
-      [#image{image="/images/img-52.png"}, #span{body= <<"Twitter">>},
-      #link{class="btn", body=["<span>-</span>", "Del"], postback={delete, twitter}}]
-  end.
-
-delete()->
-  case nsm_db:get(user, wf:user()) of
-    {error, notfound} -> wf:redirect("login");
-    {ok, #user{twitter_id=TwitterId} = User} when TwitterId =/= undefined ->
-      case nsm_db:get(twitter_oauth, TwitterId) of
-        {error, notfound} -> ok;
-        {ok, #twitter_oauth{}} ->
-          nsm_db:put(User#user{twitter_id = undefined}),
-          %nsx_msg:notify(["system", "put"], User#user{twitter_id = undefined}),
-          nsm_sb:delete(twitter_oauth, TwitterId),
-          %nsx_msg:notify(["system", "delete"], {twitter_oauth, TwitterId}),
-          wf:update(twServiceBtn, service_btn(undefined))
-      end;
-    _ -> ok
-  end.
-
-tweet(UserName, Msg)->
-  case nsm_db:get(user, UserName) of
-    {error, notfound} -> fail;
-    {ok, #user{twitter_id=TwitterId}}->
-      case nsm_db:get(twitter_oauth, TwitterId) of
-        {error, notfound} -> fail;
-        {ok, #twitter_oauth{token = AccessToken, secret=AccessTokenSecret}}->
-          URL = "http://api.twitter.com/1.1/statuses/update.json",
-          oauth:post(URL, [{"status", Msg}], ?CONSUMER, AccessToken, AccessTokenSecret)
-    end
-  end.