From f2a5c90135d5412dd3d0ca55e5f1f903f0658fb9 Mon Sep 17 00:00:00 2001 From: jehna Date: Tue, 1 Sep 2015 19:50:12 +0300 Subject: [PATCH] Added public methods for creating custom Twitter API calls --- dist/ng-twitter-api.js | 4 +++- dist/ng-twitter-api.min.js | 4 ++-- src/twitter-functions.js | 4 +++- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/dist/ng-twitter-api.js b/dist/ng-twitter-api.js index db05cab..396b835 100644 --- a/dist/ng-twitter-api.js +++ b/dist/ng-twitter-api.js @@ -81,7 +81,9 @@ angular.module('twitter.functions', []) }, getUserDetails: function(user_id, parameters) { return getRequest(USER_DETAILS_URL, {user_id: user_id}, parameters); - } + }, + getRequest: getRequest, + postRequest: postRequest }; }]); diff --git a/dist/ng-twitter-api.min.js b/dist/ng-twitter-api.min.js index 844a4e4..3668d5f 100644 --- a/dist/ng-twitter-api.min.js +++ b/dist/ng-twitter-api.min.js @@ -1,3 +1,3 @@ -// ng-twitter-api - v0.1.4 (2015-08-27) +// ng-twitter-api - v0.1.4 (2015-09-01) // http://www.devdactic.com -angular.module("twitter.functions",[]).factory("$twitterApi",["$q","$twitterHelpers","$http",function(a,b,c){function d(d,e,i){var j=a.defer();"undefined"==typeof i&&(i={}),"undefined"==typeof e&&(e={});var k=angular.extend(i,e);return b.createTwitterSignature("GET",d,k,g,h,f),c({method:"GET",url:d,params:k}).success(function(a,b,c,d){j.resolve(a)}).error(function(a,b,c,d){401===b&&(f=null),j.reject(b)}),j.promise}function e(d,e,i){var j=a.defer();"undefined"==typeof i&&(i={});var k=angular.extend(i,e);b.createTwitterSignature("POST",d,k,g,h,f);return k!=={}&&(d=d+"?"+b.transformRequest(k)),c.post(d,k).success(function(a,b,c,d){j.resolve(a)}).error(function(a,b,c,d){401===b&&(f=null),j.reject(b)}),j.promise}var f,g="",h="",i="https://api.twitter.com/1.1/statuses/home_timeline.json",j="https://api.twitter.com/1.1/search/tweets.json",k="https://api.twitter.com/1.1/statuses/update.json",l="https://api.twitter.com/1.1/statuses/mentions_timeline.json",m="https://api.twitter.com/1.1/statuses/user_timeline.json",n="https://api.twitter.com/1.1/users/show.json";return{configure:function(a,b,c){g=a,h=b,f=c},getHomeTimeline:function(a){return d(i,a)},getMentionsTimeline:function(a){return d(l,a)},getUserTimeline:function(a){return d(m,a)},searchTweets:function(a,b){return d(j,{q:a},b)},postStatusUpdate:function(a,b){return e(k,{status:a},b)},getUserDetails:function(a,b){return d(n,{user_id:a},b)}}}]),angular.module("ngTwitter",["twitter.functions","twitter.utils"]),angular.module("twitter.utils",[]).factory("$twitterHelpers",["$q","$http",function(a,b){function c(a,b,c,d,f,g){if("undefined"!=typeof jsSHA){for(var h=angular.copy(c),i=Object.keys(d),j=0;jd;d++)b+=c.charAt(Math.floor(Math.random()*c.length));return b}function e(a){var b=encodeURIComponent(a);return b=b.replace(/\!/g,"%21"),b=b.replace(/\'/g,"%27"),b=b.replace(/\(/g,"%28"),b=b.replace(/\)/g,"%29"),b=b.replace(/\*/g,"%2A")}function f(a){var b=[];for(var c in a)b.push(encodeURIComponent(c)+"="+e(a[c]));return console.log(b.join("&")),b.join("&")}return{createTwitterSignature:function(a,e,f,g,h,i){var j={oauth_consumer_key:g,oauth_nonce:d(10),oauth_signature_method:"HMAC-SHA1",oauth_token:i.oauth_token,oauth_timestamp:Math.round((new Date).getTime()/1e3),oauth_version:"1.0"},k=c(a,e,j,f,h,i.oauth_token_secret);return b.defaults.headers.common.Authorization=k.authorization_header,k},transformRequest:f}}]); \ No newline at end of file +angular.module("twitter.functions",[]).factory("$twitterApi",["$q","$twitterHelpers","$http",function(a,b,c){function d(d,e,i){var j=a.defer();"undefined"==typeof i&&(i={}),"undefined"==typeof e&&(e={});var k=angular.extend(i,e);return b.createTwitterSignature("GET",d,k,g,h,f),c({method:"GET",url:d,params:k}).success(function(a,b,c,d){j.resolve(a)}).error(function(a,b,c,d){401===b&&(f=null),j.reject(b)}),j.promise}function e(d,e,i){var j=a.defer();"undefined"==typeof i&&(i={});var k=angular.extend(i,e);b.createTwitterSignature("POST",d,k,g,h,f);return k!=={}&&(d=d+"?"+b.transformRequest(k)),c.post(d,k).success(function(a,b,c,d){j.resolve(a)}).error(function(a,b,c,d){401===b&&(f=null),j.reject(b)}),j.promise}var f,g="",h="",i="https://api.twitter.com/1.1/statuses/home_timeline.json",j="https://api.twitter.com/1.1/search/tweets.json",k="https://api.twitter.com/1.1/statuses/update.json",l="https://api.twitter.com/1.1/statuses/mentions_timeline.json",m="https://api.twitter.com/1.1/statuses/user_timeline.json",n="https://api.twitter.com/1.1/users/show.json";return{configure:function(a,b,c){g=a,h=b,f=c},getHomeTimeline:function(a){return d(i,a)},getMentionsTimeline:function(a){return d(l,a)},getUserTimeline:function(a){return d(m,a)},searchTweets:function(a,b){return d(j,{q:a},b)},postStatusUpdate:function(a,b){return e(k,{status:a},b)},getUserDetails:function(a,b){return d(n,{user_id:a},b)},getRequest:d,postRequest:e}}]),angular.module("ngTwitter",["twitter.functions","twitter.utils"]),angular.module("twitter.utils",[]).factory("$twitterHelpers",["$q","$http",function(a,b){function c(a,b,c,d,f,g){if("undefined"!=typeof jsSHA){for(var h=angular.copy(c),i=Object.keys(d),j=0;jd;d++)b+=c.charAt(Math.floor(Math.random()*c.length));return b}function e(a){var b=encodeURIComponent(a);return b=b.replace(/\!/g,"%21"),b=b.replace(/\'/g,"%27"),b=b.replace(/\(/g,"%28"),b=b.replace(/\)/g,"%29"),b=b.replace(/\*/g,"%2A")}function f(a){var b=[];for(var c in a)b.push(encodeURIComponent(c)+"="+e(a[c]));return console.log(b.join("&")),b.join("&")}return{createTwitterSignature:function(a,e,f,g,h,i){var j={oauth_consumer_key:g,oauth_nonce:d(10),oauth_signature_method:"HMAC-SHA1",oauth_token:i.oauth_token,oauth_timestamp:Math.round((new Date).getTime()/1e3),oauth_version:"1.0"},k=c(a,e,j,f,h,i.oauth_token_secret);return b.defaults.headers.common.Authorization=k.authorization_header,k},transformRequest:f}}]); \ No newline at end of file diff --git a/src/twitter-functions.js b/src/twitter-functions.js index 443e758..5d27edb 100644 --- a/src/twitter-functions.js +++ b/src/twitter-functions.js @@ -81,6 +81,8 @@ angular.module('twitter.functions', []) }, getUserDetails: function(user_id, parameters) { return getRequest(USER_DETAILS_URL, {user_id: user_id}, parameters); - } + }, + getRequest: getRequest, + postRequest: postRequest }; }]);