* feat: implement Trello integration with OAuth and user fields * feat: migrate Trello integration to new integrations table * refactor: migrate Trello integration to use new integration system * refactor: migrate Trello integration to use new integrations table * fix: add loading check for Trello integration and update VSCode settings * feat: enhance import boards UI with dynamic integration providers and local storage config * feat: add select/unselect all buttons and loading state to board import form * feat: add Trello import env vars on README * docs: update Trello import guide to use OAuth flow instead of API keys * feat: add integrations table for OAuth token management * feat: connect trello from import modal * refactor: consolidate Trello integration endpoints into unified integration router * fix: trello import again * refactor: generalize integration authorization flow and improve error handling * refactor: update Trello API endpoints and tags for better organization * feat: add Integrations tag to OpenAPI specification * refactor: update Trello auth endpoint to use generic integration provider param * refactor: move Trello integration logic from trello.ts to import.ts router * refactor: consolidate Trello integration endpoints and fix API URL * chore: remove debug logs --------- Co-authored-by: Henry <henry_ball@hotmail.co.uk>
120 lines
2.6 KiB
JSON
120 lines
2.6 KiB
JSON
{
|
|
"$schema": "https://turborepo.org/schema.json",
|
|
"ui": "tui",
|
|
"tasks": {
|
|
"topo": {
|
|
"dependsOn": ["^topo"]
|
|
},
|
|
"build": {
|
|
"dependsOn": ["^build"],
|
|
"outputs": [".cache/tsbuildinfo.json", "dist/**"]
|
|
},
|
|
"dev": {
|
|
"dependsOn": ["^dev"],
|
|
"cache": false,
|
|
"persistent": false
|
|
},
|
|
"format": {
|
|
"outputs": [".cache/.prettiercache"],
|
|
"outputLogs": "new-only"
|
|
},
|
|
"lint": {
|
|
"dependsOn": ["^topo", "^build"],
|
|
"outputs": [".cache/.eslintcache"]
|
|
},
|
|
"typecheck": {
|
|
"dependsOn": ["^topo", "^build"],
|
|
"outputs": [".cache/tsbuildinfo.json"]
|
|
},
|
|
"clean": {
|
|
"cache": false
|
|
},
|
|
"//#clean": {
|
|
"cache": false
|
|
},
|
|
"push": {
|
|
"cache": false,
|
|
"interactive": true
|
|
},
|
|
"studio": {
|
|
"cache": false,
|
|
"persistent": true
|
|
},
|
|
"ui-add": {
|
|
"cache": false,
|
|
"interactive": true
|
|
}
|
|
},
|
|
"globalEnv": [
|
|
"POSTGRES_URL",
|
|
"TRELLO_APP_API_KEY",
|
|
"TRELLO_APP_SECRET",
|
|
"GOOGLE_CLIENT_ID",
|
|
"GOOGLE_CLIENT_SECRET",
|
|
"DISCORD_CLIENT_ID",
|
|
"DISCORD_CLIENT_SECRET",
|
|
"GITHUB_CLIENT_ID",
|
|
"GITHUB_CLIENT_SECRET",
|
|
"GITLAB_CLIENT_ID",
|
|
"GITLAB_CLIENT_SECRET",
|
|
"GITLAB_ISSUER",
|
|
"MICROSOFT_CLIENT_ID",
|
|
"MICROSOFT_CLIENT_SECRET",
|
|
"TWITTER_CLIENT_ID",
|
|
"TWITTER_CLIENT_SECRET",
|
|
"KICK_CLIENT_ID",
|
|
"KICK_CLIENT_SECRET",
|
|
"ZOOM_CLIENT_ID",
|
|
"ZOOM_CLIENT_SECRET",
|
|
"DROPBOX_CLIENT_ID",
|
|
"DROPBOX_CLIENT_SECRET",
|
|
"VK_CLIENT_ID",
|
|
"VK_CLIENT_SECRET",
|
|
"LINKEDIN_CLIENT_ID",
|
|
"LINKEDIN_CLIENT_SECRET",
|
|
"REDDIT_CLIENT_ID",
|
|
"REDDIT_CLIENT_SECRET",
|
|
"ROBLOX_CLIENT_ID",
|
|
"ROBLOX_CLIENT_SECRET",
|
|
"SPOTIFY_CLIENT_ID",
|
|
"SPOTIFY_CLIENT_SECRET",
|
|
"TIKTOK_CLIENT_ID",
|
|
"TIKTOK_CLIENT_SECRET",
|
|
"TIKTOK_CLIENT_KEY",
|
|
"TWITCH_CLIENT_ID",
|
|
"TWITCH_CLIENT_SECRET",
|
|
"APPLE_CLIENT_ID",
|
|
"APPLE_CLIENT_SECRET",
|
|
"APPLE_APP_BUNDLE_IDENTIFIER",
|
|
"EMAIL_FROM",
|
|
"SMTP_HOST",
|
|
"SMTP_PORT",
|
|
"SMTP_USER",
|
|
"SMTP_PASSWORD",
|
|
"NEXT_PUBLIC_KAN_ENV",
|
|
"STRIPE_SECRET_KEY",
|
|
"STRIPE_WEBHOOK_SECRET",
|
|
"STRIPE_PRO_PLAN_PRICE_ID",
|
|
"NEXT_PUBLIC_STORAGE_DOMAIN",
|
|
"NEXT_PUBLIC_STORAGE_URL",
|
|
"NEXT_PUBLIC_AVATAR_BUCKET_NAME",
|
|
"NEXT_PUBLIC_ALLOW_CREDENTIALS",
|
|
"NEXT_PUBLIC_DISABLE_SIGN_UP",
|
|
"S3_REGION",
|
|
"S3_ACCESS_KEY_ID",
|
|
"S3_SECRET_ACCESS_KEY",
|
|
"S3_ENDPOINT",
|
|
"PORT",
|
|
"BETTER_AUTH_SECRET",
|
|
"BETTER_AUTH_TRUSTED_ORIGINS"
|
|
],
|
|
"globalPassThroughEnv": [
|
|
"NODE_ENV",
|
|
"CI",
|
|
"VERCEL",
|
|
"VERCEL_ENV",
|
|
"VERCEL_URL",
|
|
"npm_lifecycle_event"
|
|
]
|
|
}
|