feat(flowers-software): add app with authentication

This commit is contained in:
Ali BARIN
2022-12-15 00:46:42 +01:00
parent f30ac46672
commit 7175d92eaf
8 changed files with 124 additions and 0 deletions

View File

@@ -0,0 +1,43 @@
import verifyCredentials from './verify-credentials';
import isStillVerified from './is-still-verified';
export default {
fields: [
{
key: 'username',
label: 'Username',
type: 'string' as const,
required: true,
readOnly: false,
value: null,
placeholder: null,
description: null,
clickToCopy: false,
},
{
key: 'password',
label: 'Password',
type: 'string' as const,
required: true,
readOnly: false,
value: null,
placeholder: null,
description: null,
clickToCopy: false,
},
{
key: 'apiKey',
label: 'API Key',
type: 'string' as const,
required: true,
readOnly: false,
value: null,
placeholder: null,
description: null,
clickToCopy: false,
},
],
verifyCredentials,
isStillVerified,
};

View File

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

View File

@@ -0,0 +1,20 @@
import { IGlobalVariable } from '@automatisch/types';
import getWebhooks from '../common/get-webhooks';
const verifyCredentials = async ($: IGlobalVariable) => {
const response = await getWebhooks($);
const successful = Array.isArray(response.data);
if (!successful) {
throw new Error('Failed while authorizing!');
}
await $.auth.set({
screenName: $.auth.data.username,
username: $.auth.data.username,
password: $.auth.data.password,
apiKey: $.auth.data.apiKey,
});
};
export default verifyCredentials;