feat(mailerlite): add mailerlite integration

This commit is contained in:
Rıdvan Akca
2024-01-26 13:44:34 +03:00
parent 0297b0f296
commit 8ef2bd3b8d
9 changed files with 100 additions and 1 deletions

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 9.0 KiB

View File

@@ -0,0 +1,33 @@
import verifyCredentials from './verify-credentials.js';
import isStillVerified from './is-still-verified.js';
export default {
fields: [
{
key: 'screenName',
label: 'Screen Name',
type: 'string',
required: true,
readOnly: false,
value: null,
placeholder: null,
description:
'Screen name of your connection to be used on Automatisch UI.',
clickToCopy: false,
},
{
key: 'apiKey',
label: 'API Key',
type: 'string',
required: true,
readOnly: false,
value: null,
placeholder: null,
description: 'MailerLite API key of your account.',
clickToCopy: false,
},
],
verifyCredentials,
isStillVerified,
};

View File

@@ -0,0 +1,8 @@
import verifyCredentials from './verify-credentials.js';
const isStillVerified = async ($) => {
await verifyCredentials($);
return true;
};
export default isStillVerified;

View File

@@ -0,0 +1,10 @@
const verifyCredentials = async ($) => {
await $.http.get('/campaigns');
await $.auth.set({
screenName: $.auth.data.screenName,
apiKey: $.auth.data.apiKey,
});
};
export default verifyCredentials;

View File

@@ -0,0 +1,9 @@
const addAuthHeader = ($, requestConfig) => {
if ($.auth.data?.apiKey) {
requestConfig.headers.Authorization = `Bearer ${$.auth.data.apiKey}`;
}
return requestConfig;
};
export default addAuthHeader;

View File

@@ -0,0 +1,16 @@
import defineApp from '../../helpers/define-app.js';
import addAuthHeader from './common/add-auth-header.js';
import auth from './auth/index.js';
export default defineApp({
name: 'MailerLite',
key: 'mailerlite',
iconUrl: '{BASE_URL}/apps/mailerlite/assets/favicon.svg',
authDocUrl: 'https://automatisch.io/docs/apps/mailerlite/connection',
supportsConnections: true,
baseUrl: 'https://www.mailerlite.com',
apiBaseUrl: 'https://connect.mailerlite.com/api',
primaryColor: '09C269',
beforeRequest: [addAuthHeader],
auth,
});

View File

@@ -197,6 +197,12 @@ export default defineConfig({
{ text: 'Connection', link: '/apps/invoice-ninja/connection' },
],
},
{
text: 'MailerLite',
collapsible: true,
collapsed: true,
items: [{ text: 'Connection', link: '/apps/mailerlite/connection' }],
},
{
text: 'Mattermost',
collapsible: true,
@@ -305,7 +311,7 @@ export default defineConfig({
collapsed: true,
items: [
{ text: 'Actions', link: '/apps/removebg/actions' },
{ text: 'Connection', link: '/apps/removebg/connection' }
{ text: 'Connection', link: '/apps/removebg/connection' },
],
},
{

View File

@@ -0,0 +1,15 @@
# MailerLite
:::info
This page explains the steps you need to follow to set up the MailerLite
connection in Automatisch. If any of the steps are outdated, please let us know!
:::
1. Login to your MailerLite account: [https://www.mailerlite.com/](https://www.mailerlite.com/).
2. Click on the **Integrations** tab on the left.
3. Click on the **Use** button in the MailerLite API section.
4. Click on the **Generate new token** button.
5. Fill the form and click on the **Create token** button.
6. Copy the token from the popup to the `API Key` field on Automatisch.
7. Write any screen name to be displayed in Automatisch.
8. Now, you can start using the MailerLite connection with Automatisch.

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 9.0 KiB