├── .eslintrc.json ├── .github └── workflows │ └── main.yml ├── .gitignore ├── .npmignore ├── .prettierrc ├── LICENSE ├── README.md ├── __tests__ ├── adapters │ └── prisma │ │ ├── .env │ │ ├── client.ts │ │ ├── index.ts │ │ ├── prisma │ │ └── schema.prisma │ │ ├── seed.ts │ │ └── utils │ │ ├── parseCursor.ts │ │ ├── parseOrderBy.ts │ │ ├── parseRecursive.ts │ │ └── parseWhere.ts ├── handler.ts ├── queryParser.ts └── utils.ts ├── docs ├── .gitignore ├── README.md ├── components │ └── Logo.js ├── next-env.d.ts ├── next.config.js ├── package.json ├── pages │ ├── _app.tsx │ ├── _meta.json │ ├── api-docs │ │ ├── _meta.json │ │ ├── adapters.mdx │ │ ├── callbacks.mdx │ │ ├── middlewares.mdx │ │ └── options.mdx │ ├── index.mdx │ ├── pagination.mdx │ ├── query-params.mdx │ └── swagger.mdx ├── public │ ├── icon.svg │ └── oggraph.png ├── styles.css ├── theme.config.tsx ├── tsconfig.json └── yarn.lock ├── example ├── .env ├── .gitignore ├── Api.ts ├── README.md ├── app │ └── api │ │ └── appdir │ │ └── [...nextcrud] │ │ └── route.ts ├── components │ ├── Header.tsx │ ├── Layout.tsx │ └── users │ │ ├── UserForm.tsx │ │ └── UserListItem.tsx ├── db.ts ├── next-env.d.ts ├── package.json ├── pages │ ├── _app.tsx │ ├── api │ │ ├── [...nextcrud].ts │ │ └── users │ │ │ └── custom.ts │ ├── docs.tsx │ ├── index.tsx │ └── users │ │ ├── [id].tsx │ │ ├── create.tsx │ │ └── index.tsx ├── prisma │ ├── .env │ ├── database.db │ └── schema.prisma ├── tsconfig.json └── yarn.lock ├── jest.config.js ├── package.json ├── src ├── adapters │ └── prisma │ │ ├── index.ts │ │ ├── jsonSchemaParser.ts │ │ ├── types.ts │ │ └── utils │ │ ├── parseCursor.ts │ │ ├── parseOrderBy.ts │ │ ├── parseRecursive.ts │ │ └── parseWhere.ts ├── handler.ts ├── handlers │ ├── createHandler.ts │ ├── deleteHandler.ts │ ├── getAll.ts │ ├── getOne.ts │ ├── index.ts │ └── updateHandler.ts ├── httpError.ts ├── index.ts ├── queryParser.ts ├── swagger │ ├── parameters.ts │ └── utils.ts ├── types.ts └── utils.ts ├── tsconfig.json └── yarn.lock /.eslintrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/.eslintrc.json -------------------------------------------------------------------------------- /.github/workflows/main.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/.github/workflows/main.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | .eslintcache 3 | dist 4 | coverage/ 5 | *.db 6 | .DS_Store 7 | .env* -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/.npmignore -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/.prettierrc -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/README.md -------------------------------------------------------------------------------- /__tests__/adapters/prisma/.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/__tests__/adapters/prisma/.env -------------------------------------------------------------------------------- /__tests__/adapters/prisma/client.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/__tests__/adapters/prisma/client.ts -------------------------------------------------------------------------------- /__tests__/adapters/prisma/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/__tests__/adapters/prisma/index.ts -------------------------------------------------------------------------------- /__tests__/adapters/prisma/prisma/schema.prisma: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/__tests__/adapters/prisma/prisma/schema.prisma -------------------------------------------------------------------------------- /__tests__/adapters/prisma/seed.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/__tests__/adapters/prisma/seed.ts -------------------------------------------------------------------------------- /__tests__/adapters/prisma/utils/parseCursor.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/__tests__/adapters/prisma/utils/parseCursor.ts -------------------------------------------------------------------------------- /__tests__/adapters/prisma/utils/parseOrderBy.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/__tests__/adapters/prisma/utils/parseOrderBy.ts -------------------------------------------------------------------------------- /__tests__/adapters/prisma/utils/parseRecursive.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/__tests__/adapters/prisma/utils/parseRecursive.ts -------------------------------------------------------------------------------- /__tests__/adapters/prisma/utils/parseWhere.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/__tests__/adapters/prisma/utils/parseWhere.ts -------------------------------------------------------------------------------- /__tests__/handler.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/__tests__/handler.ts -------------------------------------------------------------------------------- /__tests__/queryParser.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/__tests__/queryParser.ts -------------------------------------------------------------------------------- /__tests__/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/__tests__/utils.ts -------------------------------------------------------------------------------- /docs/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/docs/.gitignore -------------------------------------------------------------------------------- /docs/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/docs/README.md -------------------------------------------------------------------------------- /docs/components/Logo.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/docs/components/Logo.js -------------------------------------------------------------------------------- /docs/next-env.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/docs/next-env.d.ts -------------------------------------------------------------------------------- /docs/next.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/docs/next.config.js -------------------------------------------------------------------------------- /docs/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/docs/package.json -------------------------------------------------------------------------------- /docs/pages/_app.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/docs/pages/_app.tsx -------------------------------------------------------------------------------- /docs/pages/_meta.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/docs/pages/_meta.json -------------------------------------------------------------------------------- /docs/pages/api-docs/_meta.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/docs/pages/api-docs/_meta.json -------------------------------------------------------------------------------- /docs/pages/api-docs/adapters.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/docs/pages/api-docs/adapters.mdx -------------------------------------------------------------------------------- /docs/pages/api-docs/callbacks.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/docs/pages/api-docs/callbacks.mdx -------------------------------------------------------------------------------- /docs/pages/api-docs/middlewares.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/docs/pages/api-docs/middlewares.mdx -------------------------------------------------------------------------------- /docs/pages/api-docs/options.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/docs/pages/api-docs/options.mdx -------------------------------------------------------------------------------- /docs/pages/index.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/docs/pages/index.mdx -------------------------------------------------------------------------------- /docs/pages/pagination.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/docs/pages/pagination.mdx -------------------------------------------------------------------------------- /docs/pages/query-params.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/docs/pages/query-params.mdx -------------------------------------------------------------------------------- /docs/pages/swagger.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/docs/pages/swagger.mdx -------------------------------------------------------------------------------- /docs/public/icon.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/docs/public/icon.svg -------------------------------------------------------------------------------- /docs/public/oggraph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/docs/public/oggraph.png -------------------------------------------------------------------------------- /docs/styles.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/docs/styles.css -------------------------------------------------------------------------------- /docs/theme.config.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/docs/theme.config.tsx -------------------------------------------------------------------------------- /docs/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/docs/tsconfig.json -------------------------------------------------------------------------------- /docs/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/docs/yarn.lock -------------------------------------------------------------------------------- /example/.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/example/.env -------------------------------------------------------------------------------- /example/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/example/.gitignore -------------------------------------------------------------------------------- /example/Api.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/example/Api.ts -------------------------------------------------------------------------------- /example/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/example/README.md -------------------------------------------------------------------------------- /example/app/api/appdir/[...nextcrud]/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/example/app/api/appdir/[...nextcrud]/route.ts -------------------------------------------------------------------------------- /example/components/Header.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/example/components/Header.tsx -------------------------------------------------------------------------------- /example/components/Layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/example/components/Layout.tsx -------------------------------------------------------------------------------- /example/components/users/UserForm.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/example/components/users/UserForm.tsx -------------------------------------------------------------------------------- /example/components/users/UserListItem.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/example/components/users/UserListItem.tsx -------------------------------------------------------------------------------- /example/db.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/example/db.ts -------------------------------------------------------------------------------- /example/next-env.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/example/next-env.d.ts -------------------------------------------------------------------------------- /example/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/example/package.json -------------------------------------------------------------------------------- /example/pages/_app.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/example/pages/_app.tsx -------------------------------------------------------------------------------- /example/pages/api/[...nextcrud].ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/example/pages/api/[...nextcrud].ts -------------------------------------------------------------------------------- /example/pages/api/users/custom.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/example/pages/api/users/custom.ts -------------------------------------------------------------------------------- /example/pages/docs.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/example/pages/docs.tsx -------------------------------------------------------------------------------- /example/pages/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/example/pages/index.tsx -------------------------------------------------------------------------------- /example/pages/users/[id].tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/example/pages/users/[id].tsx -------------------------------------------------------------------------------- /example/pages/users/create.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/example/pages/users/create.tsx -------------------------------------------------------------------------------- /example/pages/users/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/example/pages/users/index.tsx -------------------------------------------------------------------------------- /example/prisma/.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/example/prisma/.env -------------------------------------------------------------------------------- /example/prisma/database.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/example/prisma/database.db -------------------------------------------------------------------------------- /example/prisma/schema.prisma: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/example/prisma/schema.prisma -------------------------------------------------------------------------------- /example/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/example/tsconfig.json -------------------------------------------------------------------------------- /example/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/example/yarn.lock -------------------------------------------------------------------------------- /jest.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/jest.config.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/package.json -------------------------------------------------------------------------------- /src/adapters/prisma/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/src/adapters/prisma/index.ts -------------------------------------------------------------------------------- /src/adapters/prisma/jsonSchemaParser.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/src/adapters/prisma/jsonSchemaParser.ts -------------------------------------------------------------------------------- /src/adapters/prisma/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/src/adapters/prisma/types.ts -------------------------------------------------------------------------------- /src/adapters/prisma/utils/parseCursor.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/src/adapters/prisma/utils/parseCursor.ts -------------------------------------------------------------------------------- /src/adapters/prisma/utils/parseOrderBy.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/src/adapters/prisma/utils/parseOrderBy.ts -------------------------------------------------------------------------------- /src/adapters/prisma/utils/parseRecursive.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/src/adapters/prisma/utils/parseRecursive.ts -------------------------------------------------------------------------------- /src/adapters/prisma/utils/parseWhere.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/src/adapters/prisma/utils/parseWhere.ts -------------------------------------------------------------------------------- /src/handler.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/src/handler.ts -------------------------------------------------------------------------------- /src/handlers/createHandler.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/src/handlers/createHandler.ts -------------------------------------------------------------------------------- /src/handlers/deleteHandler.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/src/handlers/deleteHandler.ts -------------------------------------------------------------------------------- /src/handlers/getAll.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/src/handlers/getAll.ts -------------------------------------------------------------------------------- /src/handlers/getOne.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/src/handlers/getOne.ts -------------------------------------------------------------------------------- /src/handlers/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/src/handlers/index.ts -------------------------------------------------------------------------------- /src/handlers/updateHandler.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/src/handlers/updateHandler.ts -------------------------------------------------------------------------------- /src/httpError.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/src/httpError.ts -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/src/index.ts -------------------------------------------------------------------------------- /src/queryParser.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/src/queryParser.ts -------------------------------------------------------------------------------- /src/swagger/parameters.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/src/swagger/parameters.ts -------------------------------------------------------------------------------- /src/swagger/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/src/swagger/utils.ts -------------------------------------------------------------------------------- /src/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/src/types.ts -------------------------------------------------------------------------------- /src/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/src/utils.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/tsconfig.json -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/premieroctet/next-crud/HEAD/yarn.lock --------------------------------------------------------------------------------