220 lines
4.3 KiB
TypeScript
220 lines
4.3 KiB
TypeScript
import createAuthData from './create-auth-data';
|
|
import verifyCredentials from './verify-credentials';
|
|
import isStillVerified from './is-still-verified';
|
|
|
|
export default {
|
|
fields: [
|
|
{
|
|
key: 'oAuthRedirectUrl',
|
|
label: 'OAuth Redirect URL',
|
|
type: 'string',
|
|
required: true,
|
|
readOnly: true,
|
|
value: '{WEB_APP_URL}/app/twitter/connections/add',
|
|
placeholder: null,
|
|
description:
|
|
'When asked to input an OAuth callback or redirect URL in Twitter OAuth, enter the URL above.',
|
|
clickToCopy: true,
|
|
},
|
|
{
|
|
key: 'consumerKey',
|
|
label: 'API Key',
|
|
type: 'string',
|
|
required: true,
|
|
readOnly: false,
|
|
value: null,
|
|
placeholder: null,
|
|
description: null,
|
|
clickToCopy: false,
|
|
},
|
|
{
|
|
key: 'consumerSecret',
|
|
label: 'API Secret',
|
|
type: 'string',
|
|
required: true,
|
|
readOnly: false,
|
|
value: null,
|
|
placeholder: null,
|
|
description: null,
|
|
clickToCopy: false,
|
|
},
|
|
],
|
|
authenticationSteps: [
|
|
{
|
|
step: 1,
|
|
type: 'mutation',
|
|
name: 'createConnection',
|
|
arguments: [
|
|
{
|
|
name: 'key',
|
|
value: '{key}',
|
|
},
|
|
{
|
|
name: 'formattedData',
|
|
value: null,
|
|
properties: [
|
|
{
|
|
name: 'consumerKey',
|
|
value: '{fields.consumerKey}',
|
|
},
|
|
{
|
|
name: 'consumerSecret',
|
|
value: '{fields.consumerSecret}',
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
{
|
|
step: 2,
|
|
type: 'mutation',
|
|
name: 'createAuthData',
|
|
arguments: [
|
|
{
|
|
name: 'id',
|
|
value: '{createConnection.id}',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
step: 3,
|
|
type: 'openWithPopup',
|
|
name: 'openAuthPopup',
|
|
arguments: [
|
|
{
|
|
name: 'url',
|
|
value: '{createAuthData.url}',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
step: 4,
|
|
type: 'mutation',
|
|
name: 'updateConnection',
|
|
arguments: [
|
|
{
|
|
name: 'id',
|
|
value: '{createConnection.id}',
|
|
},
|
|
{
|
|
name: 'formattedData',
|
|
value: null,
|
|
properties: [
|
|
{
|
|
name: 'oauthVerifier',
|
|
value: '{openAuthPopup.oauth_verifier}',
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
{
|
|
step: 5,
|
|
type: 'mutation',
|
|
name: 'verifyConnection',
|
|
arguments: [
|
|
{
|
|
name: 'id',
|
|
value: '{createConnection.id}',
|
|
},
|
|
],
|
|
},
|
|
],
|
|
reconnectionSteps: [
|
|
{
|
|
step: 1,
|
|
type: 'mutation',
|
|
name: 'resetConnection',
|
|
arguments: [
|
|
{
|
|
name: 'id',
|
|
value: '{connection.id}',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
step: 2,
|
|
type: 'mutation',
|
|
name: 'updateConnection',
|
|
arguments: [
|
|
{
|
|
name: 'id',
|
|
value: '{connection.id}',
|
|
},
|
|
{
|
|
name: 'formattedData',
|
|
value: null,
|
|
properties: [
|
|
{
|
|
name: 'consumerKey',
|
|
value: '{fields.consumerKey}',
|
|
},
|
|
{
|
|
name: 'consumerSecret',
|
|
value: '{fields.consumerSecret}',
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
{
|
|
step: 3,
|
|
type: 'mutation',
|
|
name: 'createAuthData',
|
|
arguments: [
|
|
{
|
|
name: 'id',
|
|
value: '{connection.id}',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
step: 4,
|
|
type: 'openWithPopup',
|
|
name: 'openAuthPopup',
|
|
arguments: [
|
|
{
|
|
name: 'url',
|
|
value: '{createAuthData.url}',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
step: 5,
|
|
type: 'mutation',
|
|
name: 'updateConnection',
|
|
arguments: [
|
|
{
|
|
name: 'id',
|
|
value: '{connection.id}',
|
|
},
|
|
{
|
|
name: 'formattedData',
|
|
value: null,
|
|
properties: [
|
|
{
|
|
name: 'oauthVerifier',
|
|
value: '{openAuthPopup.oauth_verifier}',
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
{
|
|
step: 6,
|
|
type: 'mutation',
|
|
name: 'verifyConnection',
|
|
arguments: [
|
|
{
|
|
name: 'id',
|
|
value: '{connection.id}',
|
|
},
|
|
],
|
|
},
|
|
],
|
|
|
|
createAuthData,
|
|
verifyCredentials,
|
|
isStillVerified,
|
|
};
|