Add Activepieces integration for workflow automation
- Add Activepieces fork with SmoothSchedule custom piece - Create integrations app with Activepieces service layer - Add embed token endpoint for iframe integration - Create Automations page with embedded workflow builder - Add sidebar visibility fix for embed mode - Add list inactive customers endpoint to Public API - Include SmoothSchedule triggers: event created/updated/cancelled - Include SmoothSchedule actions: create/update/cancel events, list resources/services/customers 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"extends": [
|
||||
"../../../../.eslintrc.base.json"
|
||||
],
|
||||
"ignorePatterns": [
|
||||
"!**/*"
|
||||
],
|
||||
"overrides": [
|
||||
{
|
||||
"files": [
|
||||
"*.ts",
|
||||
"*.tsx",
|
||||
"*.js",
|
||||
"*.jsx"
|
||||
],
|
||||
"rules": {}
|
||||
},
|
||||
{
|
||||
"files": [
|
||||
"*.ts",
|
||||
"*.tsx"
|
||||
],
|
||||
"rules": {}
|
||||
},
|
||||
{
|
||||
"files": [
|
||||
"*.js",
|
||||
"*.jsx"
|
||||
],
|
||||
"rules": {}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
# pieces-chainalysis-api
|
||||
|
||||
This library was generated with [Nx](https://nx.dev).
|
||||
|
||||
## Building
|
||||
|
||||
Run `nx build pieces-chainalysis-api` to build the library.
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"name": "@activepieces/piece-chainalysis-api",
|
||||
"version": "0.0.6"
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
{
|
||||
"name": "pieces-chainalysis-api",
|
||||
"$schema": "../../../../node_modules/nx/schemas/project-schema.json",
|
||||
"sourceRoot": "packages/pieces/community/chainalysis-api/src",
|
||||
"projectType": "library",
|
||||
"release": {
|
||||
"version": {
|
||||
"currentVersionResolver": "git-tag",
|
||||
"preserveLocalDependencyProtocols": false,
|
||||
"manifestRootsToUpdate": [
|
||||
"dist/{projectRoot}"
|
||||
]
|
||||
}
|
||||
},
|
||||
"tags": [],
|
||||
"targets": {
|
||||
"build": {
|
||||
"executor": "@nx/js:tsc",
|
||||
"outputs": [
|
||||
"{options.outputPath}"
|
||||
],
|
||||
"options": {
|
||||
"outputPath": "dist/packages/pieces/community/chainalysis-api",
|
||||
"tsConfig": "packages/pieces/community/chainalysis-api/tsconfig.lib.json",
|
||||
"packageJson": "packages/pieces/community/chainalysis-api/package.json",
|
||||
"main": "packages/pieces/community/chainalysis-api/src/index.ts",
|
||||
"assets": [
|
||||
"packages/pieces/community/chainalysis-api/*.md",
|
||||
{
|
||||
"input": "packages/pieces/community/chainalysis-api/src/i18n",
|
||||
"output": "./src/i18n",
|
||||
"glob": "**/!(i18n.json)"
|
||||
}
|
||||
],
|
||||
"buildableProjectDepsInPackageJsonType": "dependencies",
|
||||
"updateBuildableProjectDepsInPackageJson": true
|
||||
},
|
||||
"dependsOn": [
|
||||
"^build",
|
||||
"prebuild"
|
||||
]
|
||||
},
|
||||
"nx-release-publish": {
|
||||
"options": {
|
||||
"packageRoot": "dist/{projectRoot}"
|
||||
}
|
||||
},
|
||||
"lint": {
|
||||
"executor": "@nx/eslint:lint",
|
||||
"outputs": [
|
||||
"{options.outputFile}"
|
||||
]
|
||||
},
|
||||
"prebuild": {
|
||||
"executor": "nx:run-commands",
|
||||
"options": {
|
||||
"cwd": "packages/pieces/community/chainalysis-api",
|
||||
"command": "bun install --no-save --silent"
|
||||
},
|
||||
"dependsOn": [
|
||||
"^build"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"Chainalysis Screening API allows you to check if a blockchain address is sanctioned.": "Die Chainalysis Screening API ermöglicht es Ihnen, zu überprüfen, ob eine Blockchain Adresse sanktioniert wird.",
|
||||
"API Key for Chainalysis Screening API": "API-Schlüssel für die Chainalysis Screening API",
|
||||
"Check Address Sanctions": "Adresse prüfen",
|
||||
"Check if an address is sanctioned": "Überprüfen Sie, ob eine Adresse sanktioniert ist",
|
||||
"Address": "Adresse",
|
||||
"Address to check for sanctions": "Adresse für die Überprüfung von Sanktionen"
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"Chainalysis Screening API allows you to check if a blockchain address is sanctioned.": "La API de detección de Chainalysis te permite comprobar si una dirección de blockchain está sancionada.",
|
||||
"API Key for Chainalysis Screening API": "Clave de API para la API Chainalysis Screening",
|
||||
"Check Address Sanctions": "Comprobar Sanciones de Dirección",
|
||||
"Check if an address is sanctioned": "Comprobar si una dirección está sancionada",
|
||||
"Address": "Dirección",
|
||||
"Address to check for sanctions": "Dirección para buscar sanciones"
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"Chainalysis Screening API allows you to check if a blockchain address is sanctioned.": "L'API de filtrage de chaînes vous permet de vérifier si une adresse blockchain est sanctionnée.",
|
||||
"API Key for Chainalysis Screening API": "Clé API pour l'API de filtrage de chainalyse",
|
||||
"Check Address Sanctions": "Vérifier les sanctions d'adresse",
|
||||
"Check if an address is sanctioned": "Vérifier si une adresse est sanctionnée",
|
||||
"Address": "Adresses",
|
||||
"Address to check for sanctions": "Adresse pour vérifier les sanctions"
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"Chainalysis Screening API allows you to check if a blockchain address is sanctioned.": "ChainalysisスクリーニングAPIを使用すると、ブロックチェーンアドレスが制裁されているかどうかを確認できます。",
|
||||
"API Key for Chainalysis Screening API": "ChainalysisスクリーニングAPIキー",
|
||||
"Check Address Sanctions": "アドレス制約を確認",
|
||||
"Check if an address is sanctioned": "住所が認可されているかどうかを確認します。",
|
||||
"Address": "住所",
|
||||
"Address to check for sanctions": "制裁を確認するアドレス"
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"Chainalysis Screening API allows you to check if a blockchain address is sanctioned.": "Chainalysis Screening API stelt u in staat om te controleren of een blockchain-adres is bestraft.",
|
||||
"API Key for Chainalysis Screening API": "API-sleutel voor Chainalyse schermafdruk API",
|
||||
"Check Address Sanctions": "Controleer Adres Sancties",
|
||||
"Check if an address is sanctioned": "Controleer of een adres is gesanctioneerd",
|
||||
"Address": "Adres:",
|
||||
"Address to check for sanctions": "Adres om te controleren op sancties"
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"Chainalysis Screening API allows you to check if a blockchain address is sanctioned.": "A API Chainalysis Screening permite que você verifique se um endereço blockchain está sancionado.",
|
||||
"API Key for Chainalysis Screening API": "Chave da API para a API Chainalysis de Screening",
|
||||
"Check Address Sanctions": "Verificar Sanções de Endereço",
|
||||
"Check if an address is sanctioned": "Verifique se um endereço é sancionado",
|
||||
"Address": "Endereço",
|
||||
"Address to check for sanctions": "Endereço para verificar se há sanções"
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"Chainalysis Screening API": "API скрининга через цепь",
|
||||
"Chainalysis Screening API allows you to check if a blockchain address is sanctioned.": "API скрининга цепи позволяет проверить, запрещен ли адрес блокчейна.",
|
||||
"API Key for Chainalysis Screening API": "API ключ API для API",
|
||||
"Check Address Sanctions": "Проверить санкции за адрес",
|
||||
"Check if an address is sanctioned": "Отметьте, если адрес запрещен",
|
||||
"Address": "Адрес",
|
||||
"Address to check for sanctions": "Адрес для проверки санкций"
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"Chainalysis Screening API allows you to check if a blockchain address is sanctioned.": "Chainalysis Screening API allows you to check if a blockchain address is sanctioned.",
|
||||
"API Key for Chainalysis Screening API": "API Key for Chainalysis Screening API",
|
||||
"Check Address Sanctions": "Check Address Sanctions",
|
||||
"Check if an address is sanctioned": "Check if an address is sanctioned",
|
||||
"Address": "Address",
|
||||
"Address to check for sanctions": "Address to check for sanctions"
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"Chainalysis Screening API": "Chainalysis Screening API",
|
||||
"Chainalysis Screening API allows you to check if a blockchain address is sanctioned.": "Chainalysis Screening API allows you to check if a blockchain address is sanctioned.",
|
||||
"API Key for Chainalysis Screening API": "API Key for Chainalysis Screening API",
|
||||
"Check Address Sanctions": "Check Address Sanctions",
|
||||
"Check if an address is sanctioned": "Check if an address is sanctioned",
|
||||
"Address": "Address",
|
||||
"Address to check for sanctions": "Address to check for sanctions"
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"Chainalysis Screening API allows you to check if a blockchain address is sanctioned.": "Chainalysis Screening API allows you to check if a blockchain address is sanctioned.",
|
||||
"API Key for Chainalysis Screening API": "API Key for Chainalysis Screening API",
|
||||
"Check Address Sanctions": "Check Address Sanctions",
|
||||
"Check if an address is sanctioned": "Check if an address is sanctioned",
|
||||
"Address": "Address",
|
||||
"Address to check for sanctions": "Address to check for sanctions"
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
|
||||
import { createPiece, PieceAuth } from '@activepieces/pieces-framework';
|
||||
import { checkAddressSanction } from './lib/actions/check-address-sanction';
|
||||
|
||||
export const chainalysisApiAuth = PieceAuth.SecretText({
|
||||
displayName: 'API Key',
|
||||
description: 'API Key for Chainalysis Screening API',
|
||||
required: true,
|
||||
})
|
||||
|
||||
export const chainalysisApi = createPiece({
|
||||
displayName: "Chainalysis Screening API",
|
||||
description: "Chainalysis Screening API allows you to check if a blockchain address is sanctioned.",
|
||||
auth: chainalysisApiAuth,
|
||||
minimumSupportedRelease: '0.20.0',
|
||||
categories: [],
|
||||
logoUrl: "https://cdn.activepieces.com/pieces/chainalysis-api.jpg",
|
||||
authors: ['ahmad-swanblocks'],
|
||||
actions: [checkAddressSanction],
|
||||
triggers: [],
|
||||
});
|
||||
@@ -0,0 +1,41 @@
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import { chainalysisApiAuth } from '../..';
|
||||
|
||||
export const checkAddressSanction = createAction({
|
||||
name: 'checkAddressSanction',
|
||||
displayName: 'Check Address Sanctions',
|
||||
description: 'Check if an address is sanctioned',
|
||||
auth: chainalysisApiAuth,
|
||||
requireAuth: true,
|
||||
props: {
|
||||
address: Property.ShortText({
|
||||
displayName: 'Address',
|
||||
description: 'Address to check for sanctions',
|
||||
required: true,
|
||||
}),
|
||||
},
|
||||
async run({ auth, propsValue }) {
|
||||
const address = propsValue.address;
|
||||
const apiKey = auth.secret_text;
|
||||
|
||||
try {
|
||||
const response = await fetch(`https://public.chainalysis.com/api/v1/address/${address}`, {
|
||||
method: 'GET',
|
||||
headers: {
|
||||
'X-API-Key': apiKey,
|
||||
'Accept': 'application/json',
|
||||
},
|
||||
});
|
||||
|
||||
if (!response.ok) {
|
||||
throw new Error(`Error: ${response.status} ${response.statusText}`);
|
||||
}
|
||||
|
||||
const data = await response.json();
|
||||
return data;
|
||||
} catch (error) {
|
||||
console.error('[chainalysis-api-checkAddressSanction] Error checking address sanction:', error);
|
||||
throw error;
|
||||
}
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"extends": "../../../../tsconfig.base.json",
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
"strict": true,
|
||||
"noImplicitOverride": true,
|
||||
"noImplicitReturns": true,
|
||||
"noFallthroughCasesInSwitch": true,
|
||||
"noPropertyAccessFromIndexSignature": true
|
||||
},
|
||||
"files": [],
|
||||
"include": [],
|
||||
"references": [
|
||||
{
|
||||
"path": "./tsconfig.lib.json"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"extends": "./tsconfig.json",
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"outDir": "../../../../dist/out-tsc",
|
||||
"declaration": true,
|
||||
"types": ["node"]
|
||||
},
|
||||
"exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"],
|
||||
"include": ["src/**/*.ts"]
|
||||
}
|
||||
Reference in New Issue
Block a user