├── .dockerignore ├── .env.example ├── .eslintrc.json ├── .gitignore ├── Dockerfile ├── LICENSE ├── README.md ├── app.json ├── components ├── sections │ ├── Apis.tsx │ ├── DangerZone.tsx │ ├── Secrets.tsx │ └── index.ts └── ui │ ├── ApiMethodTag.tsx │ ├── ApiStats.tsx │ ├── BackLink.tsx │ ├── ConfirmDialog.tsx │ ├── Footer.tsx │ ├── HelpText.tsx │ ├── MockDeploymentBanner.tsx │ ├── QueryParamInput.tsx │ ├── SecretInput.tsx │ ├── SectionHeading.tsx │ └── index.ts ├── docker-compose.yml ├── heroku-docker.start.sh ├── heroku.Dockerfile ├── heroku.yml ├── lib ├── chakra-theme.ts ├── contexts │ └── ProjectSecrets.ts ├── internals │ ├── get-api-route.ts │ ├── secrets.ts │ ├── send-response.ts │ └── utils.ts ├── middlewares │ ├── cache.ts │ ├── index.ts │ ├── partial-query.ts │ ├── rate-limit.ts │ └── restriction.ts ├── prisma.ts └── redis.ts ├── next-env.d.ts ├── next.config.js ├── package.json ├── pages ├── _app.tsx ├── _document.tsx ├── api │ ├── projects │ │ ├── [id] │ │ │ ├── index.ts │ │ │ └── secrets │ │ │ │ ├── [name].ts │ │ │ │ └── create.ts │ │ └── create.ts │ ├── routes │ │ ├── [id].ts │ │ └── create.ts │ └── v1 │ │ ├── [..._path].ts │ │ └── types.d.ts ├── index.tsx └── projects │ ├── [projectId] │ ├── index.tsx │ └── routes │ │ └── [routeId].tsx │ └── index.tsx ├── prisma ├── migrations │ ├── 20211113123240_ │ │ └── migration.sql │ ├── 20211113131155_ │ │ └── migration.sql │ ├── 20211113154036_ │ │ └── migration.sql │ ├── 20211113154127_ │ │ └── migration.sql │ ├── 20211113155739_ │ │ └── migration.sql │ ├── 20211113172240_ │ │ └── migration.sql │ ├── 20211114064542_ │ │ └── migration.sql │ ├── 20211114143143_ │ │ └── migration.sql │ ├── 20211209083527_add_partial_query │ │ └── migration.sql │ ├── 20211211120919_update_restriction_middleware_config │ │ └── migration.sql │ ├── 20211216132158_add_request_data_forwarding_flag │ │ └── migration.sql │ └── migration_lock.toml └── schema.prisma ├── public ├── favicon.ico ├── try-with-docker.svg └── vercel.svg ├── start.sh ├── tsconfig.json └── types.d.ts /.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .next -------------------------------------------------------------------------------- /.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/.env.example -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "next/core-web-vitals" 3 | } 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/.gitignore -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/README.md -------------------------------------------------------------------------------- /app.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/app.json -------------------------------------------------------------------------------- /components/sections/Apis.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/components/sections/Apis.tsx -------------------------------------------------------------------------------- /components/sections/DangerZone.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/components/sections/DangerZone.tsx -------------------------------------------------------------------------------- /components/sections/Secrets.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/components/sections/Secrets.tsx -------------------------------------------------------------------------------- /components/sections/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/components/sections/index.ts -------------------------------------------------------------------------------- /components/ui/ApiMethodTag.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/components/ui/ApiMethodTag.tsx -------------------------------------------------------------------------------- /components/ui/ApiStats.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/components/ui/ApiStats.tsx -------------------------------------------------------------------------------- /components/ui/BackLink.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/components/ui/BackLink.tsx -------------------------------------------------------------------------------- /components/ui/ConfirmDialog.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/components/ui/ConfirmDialog.tsx -------------------------------------------------------------------------------- /components/ui/Footer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/components/ui/Footer.tsx -------------------------------------------------------------------------------- /components/ui/HelpText.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/components/ui/HelpText.tsx -------------------------------------------------------------------------------- /components/ui/MockDeploymentBanner.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/components/ui/MockDeploymentBanner.tsx -------------------------------------------------------------------------------- /components/ui/QueryParamInput.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/components/ui/QueryParamInput.tsx -------------------------------------------------------------------------------- /components/ui/SecretInput.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/components/ui/SecretInput.tsx -------------------------------------------------------------------------------- /components/ui/SectionHeading.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/components/ui/SectionHeading.tsx -------------------------------------------------------------------------------- /components/ui/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/components/ui/index.ts -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /heroku-docker.start.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/heroku-docker.start.sh -------------------------------------------------------------------------------- /heroku.Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/heroku.Dockerfile -------------------------------------------------------------------------------- /heroku.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/heroku.yml -------------------------------------------------------------------------------- /lib/chakra-theme.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/lib/chakra-theme.ts -------------------------------------------------------------------------------- /lib/contexts/ProjectSecrets.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/lib/contexts/ProjectSecrets.ts -------------------------------------------------------------------------------- /lib/internals/get-api-route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/lib/internals/get-api-route.ts -------------------------------------------------------------------------------- /lib/internals/secrets.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/lib/internals/secrets.ts -------------------------------------------------------------------------------- /lib/internals/send-response.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/lib/internals/send-response.ts -------------------------------------------------------------------------------- /lib/internals/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/lib/internals/utils.ts -------------------------------------------------------------------------------- /lib/middlewares/cache.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/lib/middlewares/cache.ts -------------------------------------------------------------------------------- /lib/middlewares/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/lib/middlewares/index.ts -------------------------------------------------------------------------------- /lib/middlewares/partial-query.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/lib/middlewares/partial-query.ts -------------------------------------------------------------------------------- /lib/middlewares/rate-limit.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/lib/middlewares/rate-limit.ts -------------------------------------------------------------------------------- /lib/middlewares/restriction.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/lib/middlewares/restriction.ts -------------------------------------------------------------------------------- /lib/prisma.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/lib/prisma.ts -------------------------------------------------------------------------------- /lib/redis.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/lib/redis.ts -------------------------------------------------------------------------------- /next-env.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/next-env.d.ts -------------------------------------------------------------------------------- /next.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/next.config.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/package.json -------------------------------------------------------------------------------- /pages/_app.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/pages/_app.tsx -------------------------------------------------------------------------------- /pages/_document.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/pages/_document.tsx -------------------------------------------------------------------------------- /pages/api/projects/[id]/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/pages/api/projects/[id]/index.ts -------------------------------------------------------------------------------- /pages/api/projects/[id]/secrets/[name].ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/pages/api/projects/[id]/secrets/[name].ts -------------------------------------------------------------------------------- /pages/api/projects/[id]/secrets/create.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/pages/api/projects/[id]/secrets/create.ts -------------------------------------------------------------------------------- /pages/api/projects/create.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/pages/api/projects/create.ts -------------------------------------------------------------------------------- /pages/api/routes/[id].ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/pages/api/routes/[id].ts -------------------------------------------------------------------------------- /pages/api/routes/create.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/pages/api/routes/create.ts -------------------------------------------------------------------------------- /pages/api/v1/[..._path].ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/pages/api/v1/[..._path].ts -------------------------------------------------------------------------------- /pages/api/v1/types.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/pages/api/v1/types.d.ts -------------------------------------------------------------------------------- /pages/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/pages/index.tsx -------------------------------------------------------------------------------- /pages/projects/[projectId]/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/pages/projects/[projectId]/index.tsx -------------------------------------------------------------------------------- /pages/projects/[projectId]/routes/[routeId].tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/pages/projects/[projectId]/routes/[routeId].tsx -------------------------------------------------------------------------------- /pages/projects/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/pages/projects/index.tsx -------------------------------------------------------------------------------- /prisma/migrations/20211113123240_/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/prisma/migrations/20211113123240_/migration.sql -------------------------------------------------------------------------------- /prisma/migrations/20211113131155_/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/prisma/migrations/20211113131155_/migration.sql -------------------------------------------------------------------------------- /prisma/migrations/20211113154036_/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/prisma/migrations/20211113154036_/migration.sql -------------------------------------------------------------------------------- /prisma/migrations/20211113154127_/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/prisma/migrations/20211113154127_/migration.sql -------------------------------------------------------------------------------- /prisma/migrations/20211113155739_/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/prisma/migrations/20211113155739_/migration.sql -------------------------------------------------------------------------------- /prisma/migrations/20211113172240_/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/prisma/migrations/20211113172240_/migration.sql -------------------------------------------------------------------------------- /prisma/migrations/20211114064542_/migration.sql: -------------------------------------------------------------------------------- 1 | -- DropIndex 2 | DROP INDEX "ApiRoute_projectId_name_key"; 3 | -------------------------------------------------------------------------------- /prisma/migrations/20211114143143_/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/prisma/migrations/20211114143143_/migration.sql -------------------------------------------------------------------------------- /prisma/migrations/20211209083527_add_partial_query/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/prisma/migrations/20211209083527_add_partial_query/migration.sql -------------------------------------------------------------------------------- /prisma/migrations/20211211120919_update_restriction_middleware_config/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/prisma/migrations/20211211120919_update_restriction_middleware_config/migration.sql -------------------------------------------------------------------------------- /prisma/migrations/20211216132158_add_request_data_forwarding_flag/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/prisma/migrations/20211216132158_add_request_data_forwarding_flag/migration.sql -------------------------------------------------------------------------------- /prisma/migrations/migration_lock.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/prisma/migrations/migration_lock.toml -------------------------------------------------------------------------------- /prisma/schema.prisma: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/prisma/schema.prisma -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /public/try-with-docker.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/public/try-with-docker.svg -------------------------------------------------------------------------------- /public/vercel.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/public/vercel.svg -------------------------------------------------------------------------------- /start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | npx prisma migrate deploy && npm run start 4 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/tsconfig.json -------------------------------------------------------------------------------- /types.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blenderskool/diode/HEAD/types.d.ts --------------------------------------------------------------------------------