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-actualbudget
|
||||
|
||||
This library was generated with [Nx](https://nx.dev).
|
||||
|
||||
## Building
|
||||
|
||||
Run `nx build pieces-actualbudget` to build the library.
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"name": "@activepieces/piece-actualbudget",
|
||||
"version": "0.0.12",
|
||||
"dependencies": {
|
||||
"@actual-app/api": "25.3.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^20.14.9"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
{
|
||||
"name": "pieces-actualbudget",
|
||||
"$schema": "../../../../node_modules/nx/schemas/project-schema.json",
|
||||
"sourceRoot": "packages/pieces/community/actualbudget/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/actualbudget",
|
||||
"tsConfig": "packages/pieces/community/actualbudget/tsconfig.lib.json",
|
||||
"packageJson": "packages/pieces/community/actualbudget/package.json",
|
||||
"main": "packages/pieces/community/actualbudget/src/index.ts",
|
||||
"assets": [
|
||||
"packages/pieces/community/actualbudget/*.md",
|
||||
{
|
||||
"input": "packages/pieces/community/actualbudget/src/i18n",
|
||||
"output": "./src/i18n",
|
||||
"glob": "**/!(i18n.json)"
|
||||
}
|
||||
],
|
||||
"buildableProjectDepsInPackageJsonType": "dependencies",
|
||||
"updateBuildableProjectDepsInPackageJson": true
|
||||
},
|
||||
"dependsOn": [
|
||||
"prebuild",
|
||||
"^build"
|
||||
]
|
||||
},
|
||||
"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/actualbudget",
|
||||
"command": "bun install --no-save --silent"
|
||||
},
|
||||
"dependsOn": [
|
||||
"^build"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
{
|
||||
"2015": "2015",
|
||||
"2016": "2016",
|
||||
"2017": "2017",
|
||||
"2018": "2018",
|
||||
"2019": "2019",
|
||||
"2020": "2020",
|
||||
"2021": "2021",
|
||||
"2022": "2022",
|
||||
"2023": "2023",
|
||||
"2024": "2024",
|
||||
"2025": "2025",
|
||||
"2026": "2026",
|
||||
"2027": "2027",
|
||||
"2028": "2028",
|
||||
"2029": "2029",
|
||||
"2030": "2030",
|
||||
"Personal finance app": "Persönliche Finanz-App",
|
||||
"Server URL": "Server-URL",
|
||||
"Password": "Kennwort",
|
||||
"Sync ID": "Sync-ID",
|
||||
"End-to-end encryption password": "Ende-zu-Ende-Verschlüsselungspasswort",
|
||||
"This is the URL of your running server": "Dies ist die URL Ihres laufenden Servers",
|
||||
"This is the password you use to log into the server": "Dies ist das Passwort, mit dem Sie sich beim Server anmelden",
|
||||
"This is the ID from Settings → Show advanced settings → Sync ID": "Dies ist die ID von Einstellungen → Erweiterte Einstellungen anzeigen → Sync-ID",
|
||||
"if you have end-to-end encryption enabled": "wenn Ende-zu-Ende-Verschlüsselung aktiviert ist",
|
||||
"Enter authentication details": "Anmeldedaten eingeben",
|
||||
"Get Budget": "Budget holen",
|
||||
"Import Transaction": "Transaktion importieren",
|
||||
"Import Transactions": "Transaktionen importieren",
|
||||
"Get Categories": "Kategorien erhalten",
|
||||
"Get Accounts": "Konten abrufen",
|
||||
"Get your monthly budget": "Hol dir dein monatliches Budget",
|
||||
"Add a transaction": "Transaktion hinzufügen",
|
||||
"Get your categories": "Kategorien erhalten",
|
||||
"Get your accounts": "Hol dir deine Konten",
|
||||
"Month": "Monat",
|
||||
"Year": "Jahr",
|
||||
"Account ID": "Konto-ID",
|
||||
"Date": "Datum",
|
||||
"Payee Name": "Name des Zahlers",
|
||||
"Amount": "Betrag",
|
||||
"Category ID": "Kategorie-ID",
|
||||
"Notes": "Notizen",
|
||||
"Imported ID": "Importierte ID",
|
||||
"Transfer ID": "Überweisungs-ID",
|
||||
"Cleared": "Gelöscht",
|
||||
"Imported Payee": "Importierter Zahler",
|
||||
"Transactions": "Transaktionen",
|
||||
"The month of the budget you want to get": "Der Monat des Budgets, den Sie erhalten möchten",
|
||||
"The year of the budget you want to get": "Das Jahr des Budgets, das du erhalten möchtest",
|
||||
"ID of the account you want to import a transaction to": "ID des Kontos in das eine Transaktion importiert werden soll",
|
||||
"Date the transaction took place": "Datum der Transaktion",
|
||||
"Name of the payee": "Name des Zahlers",
|
||||
"The dollar value of the transaction": "Der Dollar-Wert der Transaktion",
|
||||
"ID of the transaction category": "ID der Überweisungskategorie",
|
||||
"Additional notes about the transaction": "Zusätzliche Notizen zur Transaktion",
|
||||
"Unique ID given by the bank for importing": "Eindeutige ID von der Bank für den Import angegeben",
|
||||
"ID of the transaction in the other account for the transfer": "ID der Transaktion im anderen Konto für die Überweisung",
|
||||
"Flag indicating if the transaction has cleared or not": "Markierung zeigt an, ob die Transaktion gelöscht wurde oder nicht",
|
||||
"Raw description when importing, representing the original value": "Rohe Beschreibung beim Importieren, repräsentiert den ursprünglichen Wert",
|
||||
"A json array of the transaction object": "Ein json Array des Transaktionsobjekts",
|
||||
"January": "Januar",
|
||||
"February": "Februar",
|
||||
"March": "Marsch",
|
||||
"April": "Ascherz",
|
||||
"May": "Mai",
|
||||
"June": "Juni",
|
||||
"July": "Juli",
|
||||
"August": "Luciano",
|
||||
"September": "September",
|
||||
"October": "Oktober",
|
||||
"November": "November",
|
||||
"December": "Dezember"
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
{
|
||||
"2015": "2015",
|
||||
"2016": "2016",
|
||||
"2017": "2017",
|
||||
"2018": "2018",
|
||||
"2019": "2019",
|
||||
"2020": "2020",
|
||||
"2021": "2021",
|
||||
"2022": "2022",
|
||||
"2023": "2023",
|
||||
"2024": "2024",
|
||||
"2025": "2025",
|
||||
"2026": "2026",
|
||||
"2027": "2027",
|
||||
"2028": "2028",
|
||||
"2029": "2029",
|
||||
"2030": "2030",
|
||||
"Personal finance app": "Aplicación de finanzas personales",
|
||||
"Server URL": "URL del servidor",
|
||||
"Password": "Contraseña",
|
||||
"Sync ID": "Sincronizar ID",
|
||||
"End-to-end encryption password": "Contraseña de cifrado de extremo a extremo",
|
||||
"This is the URL of your running server": "Esta es la URL de tu servidor en ejecución",
|
||||
"This is the password you use to log into the server": "Esta es la contraseña que utiliza para iniciar sesión en el servidor",
|
||||
"This is the ID from Settings → Show advanced settings → Sync ID": "Este es el ID de Ajustes → Mostrar configuración avanzada → Sincronizar ID",
|
||||
"if you have end-to-end encryption enabled": "si tiene el cifrado de extremo a extremo habilitado",
|
||||
"Enter authentication details": "Introducir detalles de autenticación",
|
||||
"Get Budget": "Obtener presupuesto",
|
||||
"Import Transaction": "Importar transacción",
|
||||
"Import Transactions": "Importar transacciones",
|
||||
"Get Categories": "Obtener categorías",
|
||||
"Get Accounts": "Obtener cuentas",
|
||||
"Get your monthly budget": "Obtén tu presupuesto mensual",
|
||||
"Add a transaction": "Añadir una transacción",
|
||||
"Get your categories": "Obtén tus categorías",
|
||||
"Get your accounts": "Obtén tus cuentas",
|
||||
"Month": "Mes",
|
||||
"Year": "Año",
|
||||
"Account ID": "ID de cuenta",
|
||||
"Date": "Fecha",
|
||||
"Payee Name": "Nombre del beneficiario",
|
||||
"Amount": "Cantidad",
|
||||
"Category ID": "ID de categoría",
|
||||
"Notes": "Notas",
|
||||
"Imported ID": "ID importado",
|
||||
"Transfer ID": "ID de transacción",
|
||||
"Cleared": "Limpiado",
|
||||
"Imported Payee": "Beneficiario importado",
|
||||
"Transactions": "Transacciones",
|
||||
"The month of the budget you want to get": "El mes del presupuesto que quieres obtener",
|
||||
"The year of the budget you want to get": "El año del presupuesto que quieres obtener",
|
||||
"ID of the account you want to import a transaction to": "ID de la cuenta a la que desea importar una transacción",
|
||||
"Date the transaction took place": "Fecha en que la transacción tuvo lugar",
|
||||
"Name of the payee": "Nombre del beneficiario",
|
||||
"The dollar value of the transaction": "El valor en dólares de la transacción",
|
||||
"ID of the transaction category": "ID de la categoría de transacción",
|
||||
"Additional notes about the transaction": "Notas adicionales sobre la transacción",
|
||||
"Unique ID given by the bank for importing": "ID único dado por el banco para importar",
|
||||
"ID of the transaction in the other account for the transfer": "ID de la transacción en la otra cuenta para la transferencia",
|
||||
"Flag indicating if the transaction has cleared or not": "Marca que indica si la transacción se ha borrado o no",
|
||||
"Raw description when importing, representing the original value": "Descripción incorrecta al importar, representando el valor original",
|
||||
"A json array of the transaction object": "Una matriz json del objeto de transacción",
|
||||
"January": "Enero",
|
||||
"February": "Febrero",
|
||||
"March": "Marzo",
|
||||
"April": "Abril",
|
||||
"May": "Mayo",
|
||||
"June": "Junio",
|
||||
"July": "Julio",
|
||||
"August": "Agosto",
|
||||
"September": "Septiembre",
|
||||
"October": "Octubre",
|
||||
"November": "Noviembre",
|
||||
"December": "Diciembre"
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
{
|
||||
"2015": "2015",
|
||||
"2016": "2016",
|
||||
"2017": "2017",
|
||||
"2018": "2018",
|
||||
"2019": "2019",
|
||||
"2020": "2020",
|
||||
"2021": "2021",
|
||||
"2022": "2022",
|
||||
"2023": "2023",
|
||||
"2024": "2024",
|
||||
"2025": "2025",
|
||||
"2026": "2026",
|
||||
"2027": "2027",
|
||||
"2028": "2028",
|
||||
"2029": "2029",
|
||||
"2030": "2030",
|
||||
"Personal finance app": "Application de finance personnelle",
|
||||
"Server URL": "URL du serveur",
|
||||
"Password": "Password",
|
||||
"Sync ID": "ID de synchronisation",
|
||||
"End-to-end encryption password": "Mot de passe de chiffrement de bout en bout",
|
||||
"This is the URL of your running server": "Ceci est l'URL de votre serveur en cours d'exécution",
|
||||
"This is the password you use to log into the server": "C'est le mot de passe que vous utilisez pour vous connecter au serveur",
|
||||
"This is the ID from Settings → Show advanced settings → Sync ID": "Ceci est l'ID dans Paramètres → Afficher les paramètres avancés → ID de synchronisation",
|
||||
"if you have end-to-end encryption enabled": "si vous avez activé le chiffrement de bout en bout",
|
||||
"Enter authentication details": "Entrez les détails d'authentification",
|
||||
"Get Budget": "Obtenir un budget",
|
||||
"Import Transaction": "Importer une transaction",
|
||||
"Import Transactions": "Importer des transactions",
|
||||
"Get Categories": "Obtenir des catégories",
|
||||
"Get Accounts": "Obtenir des comptes",
|
||||
"Get your monthly budget": "Obtenez votre budget mensuel",
|
||||
"Add a transaction": "Ajouter une transaction",
|
||||
"Get your categories": "Obtenez vos catégories",
|
||||
"Get your accounts": "Obtenez vos comptes",
|
||||
"Month": "Mois",
|
||||
"Year": "Année",
|
||||
"Account ID": "ID du compte client",
|
||||
"Date": "Date",
|
||||
"Payee Name": "Nom du bénéficiaire",
|
||||
"Amount": "Montant",
|
||||
"Category ID": "ID de la catégorie",
|
||||
"Notes": "Notes",
|
||||
"Imported ID": "ID importé",
|
||||
"Transfer ID": "ID de transfert",
|
||||
"Cleared": "Nettoyé",
|
||||
"Imported Payee": "bénéficiaire importé",
|
||||
"Transactions": "Transactions",
|
||||
"The month of the budget you want to get": "Le mois du budget que vous voulez obtenir",
|
||||
"The year of the budget you want to get": "L'année du budget que vous voulez obtenir",
|
||||
"ID of the account you want to import a transaction to": "ID du compte vers lequel vous voulez importer une transaction",
|
||||
"Date the transaction took place": "Date de la transaction",
|
||||
"Name of the payee": "Nom du bénéficiaire",
|
||||
"The dollar value of the transaction": "La valeur en dollars de la transaction",
|
||||
"ID of the transaction category": "ID de la catégorie de transaction",
|
||||
"Additional notes about the transaction": "Notes supplémentaires sur la transaction",
|
||||
"Unique ID given by the bank for importing": "Identifiant unique donné par la banque pour l'importation",
|
||||
"ID of the transaction in the other account for the transfer": "ID de la transaction dans l'autre compte pour le transfert",
|
||||
"Flag indicating if the transaction has cleared or not": "Indicateur indiquant si la transaction a été effacée ou non",
|
||||
"Raw description when importing, representing the original value": "Description brute lors de l'importation, représentant la valeur d'origine",
|
||||
"A json array of the transaction object": "Un tableau json de l'objet transaction",
|
||||
"January": "Janvier",
|
||||
"February": "Février",
|
||||
"March": "Mars",
|
||||
"April": "Avril",
|
||||
"May": "Mai",
|
||||
"June": "Juin",
|
||||
"July": "Juillet",
|
||||
"August": "Août",
|
||||
"September": "Septembre",
|
||||
"October": "Octobre",
|
||||
"November": "Novembre",
|
||||
"December": "Décembre"
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
{
|
||||
"2015": "2015",
|
||||
"2016": "2016",
|
||||
"2017": "2017",
|
||||
"2018": "2018",
|
||||
"2019": "2019",
|
||||
"2020": "2020",
|
||||
"2021": "2021",
|
||||
"2022": "2022",
|
||||
"2023": "2023",
|
||||
"2024": "2024",
|
||||
"2025": "2025",
|
||||
"2026": "2026",
|
||||
"2027": "2027",
|
||||
"2028": "2028",
|
||||
"2029": "2029",
|
||||
"2030": "2030",
|
||||
"Personal finance app": "パーソナルファイナンスアプリ",
|
||||
"Server URL": "サーバー URL",
|
||||
"Password": "パスワード",
|
||||
"Sync ID": "同期ID",
|
||||
"End-to-end encryption password": "エンドツーエンドの暗号化パスワード",
|
||||
"This is the URL of your running server": "これは実行中のサーバーのURLです",
|
||||
"This is the password you use to log into the server": "サーバーへのログインに使用するパスワード",
|
||||
"This is the ID from Settings → Show advanced settings → Sync ID": "これは設定 → 詳細設定の表示 → 同期ID",
|
||||
"if you have end-to-end encryption enabled": "エンドツーエンドの暗号化が有効になっている場合",
|
||||
"Enter authentication details": "認証情報を入力してください",
|
||||
"Get Budget": "予算を取得する",
|
||||
"Import Transaction": "トランザクションをインポート",
|
||||
"Import Transactions": "トランザクションをインポート",
|
||||
"Get Categories": "カテゴリを取得",
|
||||
"Get Accounts": "アカウントを取得",
|
||||
"Get your monthly budget": "毎月の予算を取得する",
|
||||
"Add a transaction": "取引を追加",
|
||||
"Get your categories": "カテゴリを取得する",
|
||||
"Get your accounts": "アカウントを取得する",
|
||||
"Month": "月",
|
||||
"Year": "年",
|
||||
"Account ID": "アカウントID",
|
||||
"Date": "日付",
|
||||
"Payee Name": "支払先名",
|
||||
"Amount": "金額",
|
||||
"Category ID": "カテゴリID",
|
||||
"Notes": "メモ",
|
||||
"Imported ID": "インポートされたID",
|
||||
"Transfer ID": "転送ID",
|
||||
"Cleared": "消去しました",
|
||||
"Imported Payee": "インポートされた支払先",
|
||||
"Transactions": "取引",
|
||||
"The month of the budget you want to get": "取得したい予算の月",
|
||||
"The year of the budget you want to get": "あなたが得たい予算の年",
|
||||
"ID of the account you want to import a transaction to": "トランザクションをインポートしたいアカウントのID",
|
||||
"Date the transaction took place": "取引が行われた日付",
|
||||
"Name of the payee": "支払先の名前",
|
||||
"The dollar value of the transaction": "取引のドル価値",
|
||||
"ID of the transaction category": "取引カテゴリのID",
|
||||
"Additional notes about the transaction": "取引に関する追加メモ",
|
||||
"Unique ID given by the bank for importing": "インポートのための銀行によって与えられた一意のID",
|
||||
"ID of the transaction in the other account for the transfer": "転送のための他のアカウントの取引のID",
|
||||
"Flag indicating if the transaction has cleared or not": "トランザクションがクリアされたかどうかを示すフラグ",
|
||||
"Raw description when importing, representing the original value": "インポート時の生の説明、元の値を表す",
|
||||
"A json array of the transaction object": "トランザクションオブジェクトの json 配列",
|
||||
"January": "1月",
|
||||
"February": "2月",
|
||||
"March": "3月",
|
||||
"April": "4月",
|
||||
"May": "5月",
|
||||
"June": "6月",
|
||||
"July": "7月",
|
||||
"August": "8月",
|
||||
"September": "9月",
|
||||
"October": "10月",
|
||||
"November": "11月",
|
||||
"December": "12月"
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
{
|
||||
"2015": "2015",
|
||||
"2016": "2016",
|
||||
"2017": "2017",
|
||||
"2018": "2018",
|
||||
"2019": "2019",
|
||||
"2020": "2020",
|
||||
"2021": "2021",
|
||||
"2022": "2022",
|
||||
"2023": "2023",
|
||||
"2024": "2024",
|
||||
"2025": "2025",
|
||||
"2026": "2026",
|
||||
"2027": "2027",
|
||||
"2028": "2028",
|
||||
"2029": "2029",
|
||||
"2030": "2030",
|
||||
"Personal finance app": "Persoonlijke financiële app",
|
||||
"Server URL": "Server URL",
|
||||
"Password": "Wachtwoord",
|
||||
"Sync ID": "Synchroniseer ID",
|
||||
"End-to-end encryption password": "End-to-end encryptie wachtwoord",
|
||||
"This is the URL of your running server": "Dit is de URL van uw server",
|
||||
"This is the password you use to log into the server": "Dit is het wachtwoord dat u gebruikt om in te loggen op de server",
|
||||
"This is the ID from Settings → Show advanced settings → Sync ID": "Dit is de ID van Instellingen → Toon geavanceerde instellingen → Sync ID",
|
||||
"if you have end-to-end encryption enabled": "als u end-to-end versleuteling hebt ingeschakeld",
|
||||
"Enter authentication details": "Voer authenticatiegegevens in",
|
||||
"Get Budget": "Krijg budget",
|
||||
"Import Transaction": "Importeer transactie",
|
||||
"Import Transactions": "Importeer transacties",
|
||||
"Get Categories": "Categorieën ophalen",
|
||||
"Get Accounts": "Accounts ophalen",
|
||||
"Get your monthly budget": "Ontvang je maandelijkse budget",
|
||||
"Add a transaction": "Voeg een transactie toe",
|
||||
"Get your categories": "Krijg je categorieën",
|
||||
"Get your accounts": "Vraag je accounts aan",
|
||||
"Month": "maand",
|
||||
"Year": "jaar",
|
||||
"Account ID": "ID klant",
|
||||
"Date": "Datum:",
|
||||
"Payee Name": "Naam begunstigde",
|
||||
"Amount": "Hoeveelheid",
|
||||
"Category ID": "Categorie ID",
|
||||
"Notes": "Opmerkingen",
|
||||
"Imported ID": "Geïmporteerde ID",
|
||||
"Transfer ID": "Transactie ID",
|
||||
"Cleared": "Opgeruimd",
|
||||
"Imported Payee": "Geïmporteerde begunstigde",
|
||||
"Transactions": "Transacties",
|
||||
"The month of the budget you want to get": "De maand van het budget dat u wilt krijgen",
|
||||
"The year of the budget you want to get": "Het jaar van het budget dat u wilt krijgen",
|
||||
"ID of the account you want to import a transaction to": "ID van het account waar je een transactie naar wilt importeren",
|
||||
"Date the transaction took place": "Datum waarop de transactie plaatsvond",
|
||||
"Name of the payee": "Naam van de begunstigde",
|
||||
"The dollar value of the transaction": "De waarde van de dollar van de transactie",
|
||||
"ID of the transaction category": "ID van de transactie categorie",
|
||||
"Additional notes about the transaction": "Aanvullende notities over de transactie",
|
||||
"Unique ID given by the bank for importing": "Unieke ID gegeven door de bank voor het importeren",
|
||||
"ID of the transaction in the other account for the transfer": "ID van de transactie in het andere account voor de overschrijving",
|
||||
"Flag indicating if the transaction has cleared or not": "Melding die aangeeft of de transactie is gewist of niet",
|
||||
"Raw description when importing, representing the original value": "Ruwe beschrijving bij het importeren, die de originele waarde weergeeft",
|
||||
"A json array of the transaction object": "Een json array van het transactie object",
|
||||
"January": "januari",
|
||||
"February": "februari",
|
||||
"March": "maart",
|
||||
"April": "april",
|
||||
"May": "mei",
|
||||
"June": "juni",
|
||||
"July": "juli",
|
||||
"August": "augustus",
|
||||
"September": "september",
|
||||
"October": "oktober",
|
||||
"November": "november",
|
||||
"December": "december"
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
{
|
||||
"2015": "2015",
|
||||
"2016": "2016",
|
||||
"2017": "2017",
|
||||
"2018": "2018",
|
||||
"2019": "2019",
|
||||
"2020": "2020",
|
||||
"2021": "2021",
|
||||
"2022": "2022",
|
||||
"2023": "2023",
|
||||
"2024": "2024",
|
||||
"2025": "2025",
|
||||
"2026": "2026",
|
||||
"2027": "2027",
|
||||
"2028": "2028",
|
||||
"2029": "2029",
|
||||
"2030": "2030",
|
||||
"Personal finance app": "Aplicativo financeiro pessoal",
|
||||
"Server URL": "URL do servidor",
|
||||
"Password": "Senha",
|
||||
"Sync ID": "ID de sincronização",
|
||||
"End-to-end encryption password": "Senha de criptografia ponto-a-ponta",
|
||||
"This is the URL of your running server": "Esta é a URL do seu servidor em execução",
|
||||
"This is the password you use to log into the server": "Esta é a senha que você usa para entrar no servidor",
|
||||
"This is the ID from Settings → Show advanced settings → Sync ID": "Este é o ID em Configurações → Mostrar configurações avançadas → ID de sincronização",
|
||||
"if you have end-to-end encryption enabled": "se você tem criptografia de ponta a ponta ativada",
|
||||
"Enter authentication details": "Digite detalhes de autenticação",
|
||||
"Get Budget": "Obter orçamento",
|
||||
"Import Transaction": "Importar Transação",
|
||||
"Import Transactions": "Importar Transações",
|
||||
"Get Categories": "Obter categorias",
|
||||
"Get Accounts": "Obter Contas",
|
||||
"Get your monthly budget": "Obtenha seu orçamento mensal",
|
||||
"Add a transaction": "Adicionar uma transação",
|
||||
"Get your categories": "Obtenha suas categorias",
|
||||
"Get your accounts": "Obtenha suas contas",
|
||||
"Month": "Mês",
|
||||
"Year": "ano",
|
||||
"Account ID": "ID da Conta",
|
||||
"Date": "Encontro",
|
||||
"Payee Name": "Nome do beneficiário",
|
||||
"Amount": "Quantidade",
|
||||
"Category ID": "ID da Categoria",
|
||||
"Notes": "Observações",
|
||||
"Imported ID": "ID importado",
|
||||
"Transfer ID": "ID de transferência",
|
||||
"Cleared": "Apagado",
|
||||
"Imported Payee": "Favorecido Importado",
|
||||
"Transactions": "Transações",
|
||||
"The month of the budget you want to get": "O mês do orçamento que você deseja obter",
|
||||
"The year of the budget you want to get": "O ano do orçamento que você quer obter",
|
||||
"ID of the account you want to import a transaction to": "ID da conta da qual você deseja importar uma transação para",
|
||||
"Date the transaction took place": "Data em que a transação foi realizada",
|
||||
"Name of the payee": "Nome do beneficiário",
|
||||
"The dollar value of the transaction": "O valor em dólar da transação",
|
||||
"ID of the transaction category": "ID da categoria de transação",
|
||||
"Additional notes about the transaction": "Anotações adicionais sobre a transação",
|
||||
"Unique ID given by the bank for importing": "ID único fornecido pelo banco para importar",
|
||||
"ID of the transaction in the other account for the transfer": "ID da transação na outra conta para a transferência",
|
||||
"Flag indicating if the transaction has cleared or not": "Bandeira indicando se a transação foi liquidada ou não",
|
||||
"Raw description when importing, representing the original value": "Descrição Bruta ao importar, representando o valor original",
|
||||
"A json array of the transaction object": "Um array JSON do objeto de transação",
|
||||
"January": "janeiro",
|
||||
"February": "fevereiro",
|
||||
"March": "março",
|
||||
"April": "abril",
|
||||
"May": "maio",
|
||||
"June": "junho",
|
||||
"July": "julho",
|
||||
"August": "agosto",
|
||||
"September": "setembro",
|
||||
"October": "outubro",
|
||||
"November": "novembro",
|
||||
"December": "dezembro"
|
||||
}
|
||||
@@ -0,0 +1,76 @@
|
||||
{
|
||||
"2015": "2015",
|
||||
"2016": "2016",
|
||||
"2017": "2017",
|
||||
"2018": "2018",
|
||||
"2019": "2019",
|
||||
"2020": "2020",
|
||||
"2021": "2021",
|
||||
"2022": "2022",
|
||||
"2023": "2023",
|
||||
"2024": "2024",
|
||||
"2025": "2025",
|
||||
"2026": "2026",
|
||||
"2027": "2027",
|
||||
"2028": "2028",
|
||||
"2029": "2029",
|
||||
"2030": "2030",
|
||||
"Actual Budget": "Фактический бюджет",
|
||||
"Personal finance app": "Личное финансовое приложение",
|
||||
"Server URL": "URL сервера",
|
||||
"Password": "Пароль",
|
||||
"Sync ID": "Синхр. ID",
|
||||
"End-to-end encryption password": "Конечный пароль шифрования",
|
||||
"This is the URL of your running server": "Это URL вашего запущенного сервера",
|
||||
"This is the password you use to log into the server": "Пароль для входа на сервер",
|
||||
"This is the ID from Settings → Show advanced settings → Sync ID": "Это ID из настроек → Показать расширенные настройки → Sync ID",
|
||||
"if you have end-to-end encryption enabled": "если у вас включено сквозное шифрование",
|
||||
"Enter authentication details": "Введите данные проверки подлинности",
|
||||
"Get Budget": "Получить бюджет",
|
||||
"Import Transaction": "Импорт транзакции",
|
||||
"Import Transactions": "Импорт проводок",
|
||||
"Get Categories": "Получить категории",
|
||||
"Get Accounts": "Получить аккаунты",
|
||||
"Get your monthly budget": "Получите свой ежемесячный бюджет",
|
||||
"Add a transaction": "Добавить транзакцию",
|
||||
"Get your categories": "Получите свои категории",
|
||||
"Get your accounts": "Получить аккаунты",
|
||||
"Month": "Месяц",
|
||||
"Year": "Год",
|
||||
"Account ID": "ID клиента",
|
||||
"Date": "Дата",
|
||||
"Payee Name": "Имя получателя",
|
||||
"Amount": "Сумма",
|
||||
"Category ID": "ID категории",
|
||||
"Notes": "Примечания",
|
||||
"Imported ID": "Импортированный ID",
|
||||
"Transfer ID": "ID перевода",
|
||||
"Cleared": "Очищено",
|
||||
"Imported Payee": "Импортированный получатель",
|
||||
"Transactions": "Транзакции",
|
||||
"The month of the budget you want to get": "Месяц бюджета, который вы хотите получить",
|
||||
"The year of the budget you want to get": "Год бюджета, который вы хотите получить",
|
||||
"ID of the account you want to import a transaction to": "ID аккаунта, который вы хотите импортировать транзакцию в",
|
||||
"Date the transaction took place": "Дата проведения транзакции",
|
||||
"Name of the payee": "Имя получателя",
|
||||
"The dollar value of the transaction": "Долговая стоимость транзакции",
|
||||
"ID of the transaction category": "ID категории транзакций",
|
||||
"Additional notes about the transaction": "Дополнительные заметки о транзакции",
|
||||
"Unique ID given by the bank for importing": "Уникальный идентификатор, присвоенный банком для импорта",
|
||||
"ID of the transaction in the other account for the transfer": "ID транзакции на другом счете для перевода",
|
||||
"Flag indicating if the transaction has cleared or not": "Флаг, указывающий, если транзакция очищена или нет",
|
||||
"Raw description when importing, representing the original value": "Исходное описание при импорте, представляющее оригинальное значение",
|
||||
"A json array of the transaction object": "Json массив объекта транзакции",
|
||||
"January": "Январь",
|
||||
"February": "Февраль",
|
||||
"March": "Март",
|
||||
"April": "Апрель",
|
||||
"May": "Май",
|
||||
"June": "Июнь",
|
||||
"July": "Июль",
|
||||
"August": "Август",
|
||||
"September": "Сентябрь",
|
||||
"October": "Октябрь",
|
||||
"November": "Ноябрь",
|
||||
"December": "Декабрь"
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
{
|
||||
"2015": "2015",
|
||||
"2016": "2016",
|
||||
"2017": "2017",
|
||||
"2018": "2018",
|
||||
"2019": "2019",
|
||||
"2020": "2020",
|
||||
"2021": "2021",
|
||||
"2022": "2022",
|
||||
"2023": "2023",
|
||||
"2024": "2024",
|
||||
"2025": "2025",
|
||||
"2026": "2026",
|
||||
"2027": "2027",
|
||||
"2028": "2028",
|
||||
"2029": "2029",
|
||||
"2030": "2030",
|
||||
"Personal finance app": "Personal finance app",
|
||||
"Server URL": "Server URL",
|
||||
"Password": "Password",
|
||||
"Sync ID": "Sync ID",
|
||||
"End-to-end encryption password": "End-to-end encryption password",
|
||||
"This is the URL of your running server": "This is the URL of your running server",
|
||||
"This is the password you use to log into the server": "This is the password you use to log into the server",
|
||||
"This is the ID from Settings → Show advanced settings → Sync ID": "This is the ID from Settings → Show advanced settings → Sync ID",
|
||||
"if you have end-to-end encryption enabled": "if you have end-to-end encryption enabled",
|
||||
"Enter authentication details": "Enter authentication details",
|
||||
"Get Budget": "Get Budget",
|
||||
"Import Transaction": "Import Transaction",
|
||||
"Import Transactions": "Import Transactions",
|
||||
"Get Categories": "Get Categories",
|
||||
"Get Accounts": "Get Accounts",
|
||||
"Get your monthly budget": "Get your monthly budget",
|
||||
"Add a transaction": "Add a transaction",
|
||||
"Get your categories": "Get your categories",
|
||||
"Get your accounts": "Get your accounts",
|
||||
"Month": "Month",
|
||||
"Year": "Year",
|
||||
"Account ID": "Account ID",
|
||||
"Date": "Date",
|
||||
"Payee Name": "Payee Name",
|
||||
"Amount": "Amount",
|
||||
"Category ID": "Category ID",
|
||||
"Notes": "Notes",
|
||||
"Imported ID": "Imported ID",
|
||||
"Transfer ID": "Transfer ID",
|
||||
"Cleared": "Cleared",
|
||||
"Imported Payee": "Imported Payee",
|
||||
"Transactions": "Transactions",
|
||||
"The month of the budget you want to get": "The month of the budget you want to get",
|
||||
"The year of the budget you want to get": "The year of the budget you want to get",
|
||||
"ID of the account you want to import a transaction to": "ID of the account you want to import a transaction to",
|
||||
"Date the transaction took place": "Date the transaction took place",
|
||||
"Name of the payee": "Name of the payee",
|
||||
"The dollar value of the transaction": "The dollar value of the transaction",
|
||||
"ID of the transaction category": "ID of the transaction category",
|
||||
"Additional notes about the transaction": "Additional notes about the transaction",
|
||||
"Unique ID given by the bank for importing": "Unique ID given by the bank for importing",
|
||||
"ID of the transaction in the other account for the transfer": "ID of the transaction in the other account for the transfer",
|
||||
"Flag indicating if the transaction has cleared or not": "Flag indicating if the transaction has cleared or not",
|
||||
"Raw description when importing, representing the original value": "Raw description when importing, representing the original value",
|
||||
"A json array of the transaction object": "A json array of the transaction object",
|
||||
"January": "January",
|
||||
"February": "February",
|
||||
"March": "March",
|
||||
"April": "April",
|
||||
"May": "May",
|
||||
"June": "June",
|
||||
"July": "July",
|
||||
"August": "August",
|
||||
"September": "September",
|
||||
"October": "October",
|
||||
"November": "November",
|
||||
"December": "December"
|
||||
}
|
||||
@@ -0,0 +1,76 @@
|
||||
{
|
||||
"2015": "2015",
|
||||
"2016": "2016",
|
||||
"2017": "2017",
|
||||
"2018": "2018",
|
||||
"2019": "2019",
|
||||
"2020": "2020",
|
||||
"2021": "2021",
|
||||
"2022": "2022",
|
||||
"2023": "2023",
|
||||
"2024": "2024",
|
||||
"2025": "2025",
|
||||
"2026": "2026",
|
||||
"2027": "2027",
|
||||
"2028": "2028",
|
||||
"2029": "2029",
|
||||
"2030": "2030",
|
||||
"Actual Budget": "Actual Budget",
|
||||
"Personal finance app": "Personal finance app",
|
||||
"Server URL": "Server URL",
|
||||
"Password": "Password",
|
||||
"Sync ID": "Sync ID",
|
||||
"End-to-end encryption password": "End-to-end encryption password",
|
||||
"This is the URL of your running server": "This is the URL of your running server",
|
||||
"This is the password you use to log into the server": "This is the password you use to log into the server",
|
||||
"This is the ID from Settings → Show advanced settings → Sync ID": "This is the ID from Settings → Show advanced settings → Sync ID",
|
||||
"if you have end-to-end encryption enabled": "if you have end-to-end encryption enabled",
|
||||
"Enter authentication details": "Enter authentication details",
|
||||
"Get Budget": "Get Budget",
|
||||
"Import Transaction": "Import Transaction",
|
||||
"Import Transactions": "Import Transactions",
|
||||
"Get Categories": "Get Categories",
|
||||
"Get Accounts": "Get Accounts",
|
||||
"Get your monthly budget": "Get your monthly budget",
|
||||
"Add a transaction": "Add a transaction",
|
||||
"Get your categories": "Get your categories",
|
||||
"Get your accounts": "Get your accounts",
|
||||
"Month": "Month",
|
||||
"Year": "Year",
|
||||
"Account ID": "Account ID",
|
||||
"Date": "Date",
|
||||
"Payee Name": "Payee Name",
|
||||
"Amount": "Amount",
|
||||
"Category ID": "Category ID",
|
||||
"Notes": "Notes",
|
||||
"Imported ID": "Imported ID",
|
||||
"Transfer ID": "Transfer ID",
|
||||
"Cleared": "Cleared",
|
||||
"Imported Payee": "Imported Payee",
|
||||
"Transactions": "Transactions",
|
||||
"The month of the budget you want to get": "The month of the budget you want to get",
|
||||
"The year of the budget you want to get": "The year of the budget you want to get",
|
||||
"ID of the account you want to import a transaction to": "ID of the account you want to import a transaction to",
|
||||
"Date the transaction took place": "Date the transaction took place",
|
||||
"Name of the payee": "Name of the payee",
|
||||
"The dollar value of the transaction": "The dollar value of the transaction",
|
||||
"ID of the transaction category": "ID of the transaction category",
|
||||
"Additional notes about the transaction": "Additional notes about the transaction",
|
||||
"Unique ID given by the bank for importing": "Unique ID given by the bank for importing",
|
||||
"ID of the transaction in the other account for the transfer": "ID of the transaction in the other account for the transfer",
|
||||
"Flag indicating if the transaction has cleared or not": "Flag indicating if the transaction has cleared or not",
|
||||
"Raw description when importing, representing the original value": "Raw description when importing, representing the original value",
|
||||
"A json array of the transaction object": "A json array of the transaction object",
|
||||
"January": "January",
|
||||
"February": "February",
|
||||
"March": "March",
|
||||
"April": "April",
|
||||
"May": "May",
|
||||
"June": "June",
|
||||
"July": "July",
|
||||
"August": "August",
|
||||
"September": "September",
|
||||
"October": "October",
|
||||
"November": "November",
|
||||
"December": "December"
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
{
|
||||
"2015": "2015",
|
||||
"2016": "2016",
|
||||
"2017": "2017",
|
||||
"2018": "2018",
|
||||
"2019": "2019",
|
||||
"2020": "2020",
|
||||
"2021": "2021",
|
||||
"2022": "2022",
|
||||
"2023": "2023",
|
||||
"2024": "2024",
|
||||
"2025": "2025",
|
||||
"2026": "2026",
|
||||
"2027": "2027",
|
||||
"2028": "2028",
|
||||
"2029": "2029",
|
||||
"2030": "2030",
|
||||
"Personal finance app": "Personal finance app",
|
||||
"Server URL": "服务器 URL",
|
||||
"Password": "密码",
|
||||
"Sync ID": "Sync ID",
|
||||
"End-to-end encryption password": "End-to-end encryption password",
|
||||
"This is the URL of your running server": "This is the URL of your running server",
|
||||
"This is the password you use to log into the server": "This is the password you use to log into the server",
|
||||
"This is the ID from Settings → Show advanced settings → Sync ID": "This is the ID from Settings → Show advanced settings → Sync ID",
|
||||
"if you have end-to-end encryption enabled": "if you have end-to-end encryption enabled",
|
||||
"Enter authentication details": "Enter authentication details",
|
||||
"Get Budget": "Get Budget",
|
||||
"Import Transaction": "Import Transaction",
|
||||
"Import Transactions": "Import Transactions",
|
||||
"Get Categories": "Get Categories",
|
||||
"Get Accounts": "Get Accounts",
|
||||
"Get your monthly budget": "Get your monthly budget",
|
||||
"Add a transaction": "Add a transaction",
|
||||
"Get your categories": "Get your categories",
|
||||
"Get your accounts": "Get your accounts",
|
||||
"Month": "Month",
|
||||
"Year": "Year",
|
||||
"Account ID": "Account ID",
|
||||
"Date": "Date",
|
||||
"Payee Name": "Payee Name",
|
||||
"Amount": "Amount",
|
||||
"Category ID": "Category ID",
|
||||
"Notes": "Notes",
|
||||
"Imported ID": "Imported ID",
|
||||
"Transfer ID": "Transfer ID",
|
||||
"Cleared": "Cleared",
|
||||
"Imported Payee": "Imported Payee",
|
||||
"Transactions": "Transactions",
|
||||
"The month of the budget you want to get": "The month of the budget you want to get",
|
||||
"The year of the budget you want to get": "The year of the budget you want to get",
|
||||
"ID of the account you want to import a transaction to": "ID of the account you want to import a transaction to",
|
||||
"Date the transaction took place": "Date the transaction took place",
|
||||
"Name of the payee": "Name of the payee",
|
||||
"The dollar value of the transaction": "The dollar value of the transaction",
|
||||
"ID of the transaction category": "ID of the transaction category",
|
||||
"Additional notes about the transaction": "Additional notes about the transaction",
|
||||
"Unique ID given by the bank for importing": "Unique ID given by the bank for importing",
|
||||
"ID of the transaction in the other account for the transfer": "ID of the transaction in the other account for the transfer",
|
||||
"Flag indicating if the transaction has cleared or not": "Flag indicating if the transaction has cleared or not",
|
||||
"Raw description when importing, representing the original value": "Raw description when importing, representing the original value",
|
||||
"A json array of the transaction object": "A json array of the transaction object",
|
||||
"January": "January",
|
||||
"February": "February",
|
||||
"March": "March",
|
||||
"April": "April",
|
||||
"May": "May",
|
||||
"June": "June",
|
||||
"July": "July",
|
||||
"August": "August",
|
||||
"September": "September",
|
||||
"October": "October",
|
||||
"November": "November",
|
||||
"December": "December"
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
import {
|
||||
createPiece,
|
||||
PieceAuth,
|
||||
Property,
|
||||
} from '@activepieces/pieces-framework';
|
||||
import { getBudget } from './lib/actions/get-budget';
|
||||
import { importTransaction } from './lib/actions/import-transaction';
|
||||
import { getCategories } from './lib/actions/get-categories';
|
||||
import { importTransactions } from './lib/actions/import-transactions';
|
||||
import { getAccounts } from './lib/actions/get-accounts';
|
||||
import { PieceCategory } from '@activepieces/shared';
|
||||
|
||||
export const actualBudgetAuth = PieceAuth.CustomAuth({
|
||||
description: 'Enter authentication details',
|
||||
props: {
|
||||
server_url: Property.ShortText({
|
||||
displayName: 'Server URL',
|
||||
description: 'This is the URL of your running server',
|
||||
required: true,
|
||||
}),
|
||||
password: PieceAuth.SecretText({
|
||||
displayName: 'Password',
|
||||
description: 'This is the password you use to log into the server',
|
||||
required: true,
|
||||
}),
|
||||
sync_id: PieceAuth.SecretText({
|
||||
displayName: 'Sync ID',
|
||||
description:
|
||||
'This is the ID from Settings → Show advanced settings → Sync ID',
|
||||
required: true,
|
||||
}),
|
||||
encryption_password: PieceAuth.SecretText({
|
||||
displayName: 'End-to-end encryption password',
|
||||
description: 'if you have end-to-end encryption enabled',
|
||||
required: false,
|
||||
}),
|
||||
},
|
||||
required: true,
|
||||
});
|
||||
|
||||
export const actualbudget = createPiece({
|
||||
displayName: 'Actual Budget',
|
||||
description: 'Personal finance app',
|
||||
auth: actualBudgetAuth,
|
||||
minimumSupportedRelease: '0.30.0',
|
||||
logoUrl: 'https://cdn.activepieces.com/pieces/actualbudget.png',
|
||||
categories: [PieceCategory.ACCOUNTING],
|
||||
authors: ['hugh-codes'],
|
||||
|
||||
actions: [
|
||||
getBudget,
|
||||
importTransaction,
|
||||
importTransactions,
|
||||
getCategories,
|
||||
getAccounts,
|
||||
],
|
||||
triggers: [],
|
||||
});
|
||||
@@ -0,0 +1,19 @@
|
||||
import { actualBudgetAuth } from '../..';
|
||||
import { createAction } from '@activepieces/pieces-framework';
|
||||
import * as api from '@actual-app/api';
|
||||
import { initializeAndDownloadBudget } from '../common/common';
|
||||
|
||||
|
||||
export const getAccounts = createAction({
|
||||
auth: actualBudgetAuth,
|
||||
name: 'get_accounts',
|
||||
displayName: 'Get Accounts',
|
||||
description: 'Get your accounts',
|
||||
props: {},
|
||||
async run(context) {
|
||||
await initializeAndDownloadBudget(api, context.auth.props)
|
||||
const accounts = await api.getAccounts();
|
||||
await api.shutdown();
|
||||
return accounts;
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,36 @@
|
||||
import { actualBudgetAuth } from '../..';
|
||||
import { Property, createAction } from '@activepieces/pieces-framework';
|
||||
import * as api from '@actual-app/api';
|
||||
import { getMonths, getYears, initializeAndDownloadBudget } from '../common/common';
|
||||
|
||||
|
||||
export const getBudget = createAction({
|
||||
auth: actualBudgetAuth,
|
||||
name: 'get_budget',
|
||||
displayName: 'Get Budget',
|
||||
description: 'Get your monthly budget',
|
||||
props: {
|
||||
month: Property.StaticDropdown({
|
||||
displayName: 'Month',
|
||||
description: 'The month of the budget you want to get',
|
||||
required: true,
|
||||
options: {
|
||||
options: getMonths()
|
||||
}
|
||||
}),
|
||||
year: Property.StaticDropdown({
|
||||
displayName: 'Year',
|
||||
description: 'The year of the budget you want to get',
|
||||
required: true,
|
||||
options: {
|
||||
options: getYears()
|
||||
}
|
||||
})
|
||||
},
|
||||
async run(context) {
|
||||
await initializeAndDownloadBudget(api, context.auth.props)
|
||||
const budget = await api.getBudgetMonth(`${context.propsValue.year}-${context.propsValue.month}`);
|
||||
await api.shutdown();
|
||||
return budget;
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,19 @@
|
||||
import { actualBudgetAuth } from '../..';
|
||||
import { createAction } from '@activepieces/pieces-framework';
|
||||
import * as api from '@actual-app/api';
|
||||
import { initializeAndDownloadBudget } from '../common/common';
|
||||
|
||||
|
||||
export const getCategories = createAction({
|
||||
auth: actualBudgetAuth,
|
||||
name: 'get_categories',
|
||||
displayName: 'Get Categories',
|
||||
description: 'Get your categories',
|
||||
props: {},
|
||||
async run(context) {
|
||||
await initializeAndDownloadBudget(api, context.auth.props)
|
||||
const categories = await api.getCategories();
|
||||
await api.shutdown();
|
||||
return categories;
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,90 @@
|
||||
import { actualBudgetAuth } from '../..';
|
||||
import {
|
||||
Property,
|
||||
createAction,
|
||||
} from '@activepieces/pieces-framework';
|
||||
import { Transaction } from '../common/models';
|
||||
import * as api from '@actual-app/api';
|
||||
import { initializeAndDownloadBudget } from '../common/common';
|
||||
|
||||
export const importTransaction = createAction({
|
||||
auth: actualBudgetAuth,
|
||||
name: 'import_transaction',
|
||||
displayName: 'Import Transaction',
|
||||
description: 'Add a transaction',
|
||||
props: {
|
||||
account_id: Property.ShortText({
|
||||
displayName: 'Account ID',
|
||||
description: 'ID of the account you want to import a transaction to',
|
||||
required: true,
|
||||
}),
|
||||
date: Property.DateTime({
|
||||
displayName: 'Date',
|
||||
description: 'Date the transaction took place',
|
||||
required: true,
|
||||
}),
|
||||
payee_name: Property.ShortText({
|
||||
displayName: 'Payee Name',
|
||||
description: 'Name of the payee',
|
||||
required: false,
|
||||
}),
|
||||
amount: Property.Number({
|
||||
displayName: 'Amount',
|
||||
description: 'The dollar value of the transaction',
|
||||
required: false,
|
||||
}),
|
||||
category: Property.ShortText({
|
||||
displayName: 'Category ID',
|
||||
description: 'ID of the transaction category',
|
||||
required: false,
|
||||
}),
|
||||
notes: Property.LongText({
|
||||
displayName: 'Notes',
|
||||
description: 'Additional notes about the transaction',
|
||||
required: false,
|
||||
}),
|
||||
imported_id: Property.ShortText({
|
||||
displayName: 'Imported ID',
|
||||
description: 'Unique ID given by the bank for importing',
|
||||
required: false,
|
||||
}),
|
||||
transfer_id: Property.ShortText({
|
||||
displayName: 'Transfer ID',
|
||||
description: 'ID of the transaction in the other account for the transfer',
|
||||
required: false,
|
||||
}),
|
||||
cleared: Property.Checkbox({
|
||||
displayName: 'Cleared',
|
||||
description: 'Flag indicating if the transaction has cleared or not',
|
||||
required: false,
|
||||
}),
|
||||
imported_payee: Property.ShortText({
|
||||
displayName: 'Imported Payee',
|
||||
description: 'Raw description when importing, representing the original value',
|
||||
required: false,
|
||||
}),
|
||||
},
|
||||
|
||||
async run({ auth, propsValue: { account_id, payee_name, date, amount, category, notes, imported_id, transfer_id, cleared, imported_payee } }) {
|
||||
|
||||
const formattedDate = new Date(date).toISOString().split('T')[0];
|
||||
|
||||
const transaction: Transaction = {
|
||||
payee_name,
|
||||
date: formattedDate,
|
||||
amount: amount !== undefined ? api.utils.amountToInteger(amount): undefined,
|
||||
category,
|
||||
account: account_id,
|
||||
notes,
|
||||
imported_id,
|
||||
transfer_id,
|
||||
cleared,
|
||||
imported_payee,
|
||||
};
|
||||
|
||||
await initializeAndDownloadBudget(api, auth.props)
|
||||
const res = await api.importTransactions(account_id,[transaction]);
|
||||
await api.shutdown();
|
||||
return res;
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,31 @@
|
||||
import { actualBudgetAuth } from '../..';
|
||||
import { Property, createAction } from '@activepieces/pieces-framework';
|
||||
import * as api from '@actual-app/api';
|
||||
import { initializeAndDownloadBudget } from '../common/common';
|
||||
|
||||
export const importTransactions = createAction({
|
||||
auth: actualBudgetAuth,
|
||||
name: 'import_transactions',
|
||||
displayName: 'Import Transactions',
|
||||
description: 'Import Transactions',
|
||||
props: {
|
||||
account_id: Property.ShortText({
|
||||
displayName: 'Account ID',
|
||||
description: 'ID of the account you want to import a transaction to',
|
||||
required: true,
|
||||
}),
|
||||
transactions: Property.Json({
|
||||
displayName: 'Transactions',
|
||||
description: 'A json array of the transaction object',
|
||||
required: true,
|
||||
defaultValue: [{"payee_name": "Kroger", "date": "2026-12-25", "amount": 1200 }]
|
||||
})
|
||||
},
|
||||
|
||||
async run({ auth, propsValue: { account_id, transactions } }) {
|
||||
await initializeAndDownloadBudget(api, auth.props)
|
||||
const res = await api.importTransactions(account_id, transactions);
|
||||
await api.shutdown();
|
||||
return res;
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,80 @@
|
||||
import { DropdownOption } from '@activepieces/pieces-framework';
|
||||
import os from 'os';
|
||||
|
||||
export async function initializeAndDownloadBudget(api: any, auth: any): Promise<void> {
|
||||
await api.init({
|
||||
// Budget data will be cached locally here, in subdirectories for each file.
|
||||
dataDir: os.tmpdir(),
|
||||
serverURL: auth.server_url,
|
||||
password: auth.password,
|
||||
});
|
||||
|
||||
await api.downloadBudget(auth.sync_id, { password: auth.encryption_password ?? undefined });
|
||||
}
|
||||
|
||||
export function getYears(): DropdownOption<string>[] {
|
||||
const dropDownOptions: DropdownOption<string>[] = [];
|
||||
|
||||
const currentDate = new Date();
|
||||
const currentYear = currentDate.getFullYear();
|
||||
const startYear = currentYear-10;
|
||||
|
||||
for (let year = startYear; year <= currentYear + 5; year++) {
|
||||
dropDownOptions.push({ label: year.toString(), value: year.toString() });
|
||||
}
|
||||
|
||||
return dropDownOptions;
|
||||
}
|
||||
|
||||
export function getMonths(): DropdownOption<string>[] {
|
||||
return [
|
||||
{
|
||||
label: 'January',
|
||||
value: '01'
|
||||
},
|
||||
{
|
||||
label: 'February',
|
||||
value: '02'
|
||||
},
|
||||
{
|
||||
label: 'March',
|
||||
value: '03'
|
||||
},
|
||||
{
|
||||
label: 'April',
|
||||
value: '04'
|
||||
},
|
||||
{
|
||||
label: 'May',
|
||||
value: '05'
|
||||
},
|
||||
{
|
||||
label: 'June',
|
||||
value: '06'
|
||||
},
|
||||
{
|
||||
label: 'July',
|
||||
value: '07'
|
||||
},
|
||||
{
|
||||
label: 'August',
|
||||
value: '08'
|
||||
},
|
||||
{
|
||||
label: 'September',
|
||||
value: '09'
|
||||
},
|
||||
{
|
||||
label: 'October',
|
||||
value: '10'
|
||||
},
|
||||
{
|
||||
label: 'November',
|
||||
value: '11'
|
||||
},
|
||||
{
|
||||
label: 'December',
|
||||
value: '12'
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
export interface Transaction {
|
||||
id?: string;
|
||||
account?: string;
|
||||
date: string;
|
||||
amount?: number;
|
||||
payee?: string;
|
||||
payee_name?: string; // Only available in a create request
|
||||
imported_payee?: string;
|
||||
category?: string;
|
||||
notes?: string;
|
||||
imported_id?: string;
|
||||
transfer_id?: string;
|
||||
cleared?: boolean;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"extends": "../../../../tsconfig.base.json",
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
"strict": true,
|
||||
"noImplicitOverride": true,
|
||||
"noPropertyAccessFromIndexSignature": true,
|
||||
"noImplicitReturns": true,
|
||||
"noFallthroughCasesInSwitch": 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