From 979838f4b7a24c441445b363daf798923568ce37 Mon Sep 17 00:00:00 2001 From: Ibby Hadeed Date: Wed, 20 Jul 2016 05:55:20 -0400 Subject: [PATCH] feat(twitter-connect): add twitter connect plugin closes #308 --- src/index.ts | 3 +++ src/plugins/twitter-connect.ts | 45 ++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 src/plugins/twitter-connect.ts diff --git a/src/index.ts b/src/index.ts index 45a511cba..5b5902ef1 100644 --- a/src/index.ts +++ b/src/index.ts @@ -72,6 +72,7 @@ import {StatusBar} from './plugins/statusbar'; import {ThreeDeeTouch} from './plugins/3dtouch'; import {Toast} from './plugins/toast'; import {TouchID} from './plugins/touchid'; +import {TwitterConnect} from './plugins/twitter-connect'; import {Vibration} from './plugins/vibration'; import {WebIntent} from './plugins/webintent'; export * from './plugins/3dtouch'; @@ -145,6 +146,7 @@ export { StatusBar, TouchID, Transfer, + TwitterConnect, Vibration, WebIntent } @@ -220,6 +222,7 @@ window['IonicNative'] = { Toast: Toast, TouchID: TouchID, Transfer: Transfer, + TwitterConnect: TwitterConnect, Vibration: Vibration, WebIntent: WebIntent }; diff --git a/src/plugins/twitter-connect.ts b/src/plugins/twitter-connect.ts new file mode 100644 index 000000000..b9310ab3d --- /dev/null +++ b/src/plugins/twitter-connect.ts @@ -0,0 +1,45 @@ +import { Plugin, Cordova } from './plugin'; +/** + * @name Twitter Connect + * @description + * Plugin to use Twitter Single Sign On + * Uses Twitter's Fabric SDK + */ +@Plugin({ + plugin: 'twitter-connect-plugin', + pluginRef: 'TwitterConnect', + repo: '', + install: 'ionic plugin add twitter-connect-plugin --variable FABRIC_KEY=' +}) +export class TwitterConnect { + /** + * Logs in + * @return {Promise} returns a promise that resolves if logged in and rejects if failed to login + */ + @Cordova() + static login(): Promise {return; } + /** + * Logs out + * @return {Promise} returns a promise that resolves if logged out and rejects if failed to logout + */ + @Cordova() + static logout(): Promise {return; } +} +export interface TwitterConnectResponse { + /** + * Twitter Username + */ + userName: string; + /** + * Twitter User ID + */ + userId: string; + /** + * Twitter OAuth Secret + */ + secret: string; + /** + * Twitter OAuth Token + */ + token: string; +}