Skip to content

Instantly share code, notes, and snippets.

@devmnj
Created July 26, 2021 16:00
Show Gist options
  • Save devmnj/fb0d973551d7a982fd161dc7c9942598 to your computer and use it in GitHub Desktop.
Save devmnj/fb0d973551d7a982fd161dc7c9942598 to your computer and use it in GitHub Desktop.
Prisma Nuxtjs API using Middleware
import colors from 'vuetify/es5/util/colors'
export default {
// Disable server-side rendering: https://go.nuxtjs.dev/ssr-mode
ssr: false,
serverMiddleware:[
'~/api/index.ts',
] ,
// Global page headers: https://go.nuxtjs.dev/config-head
head: {
titleTemplate: '%s - app_tmpl',
title: 'app_tmpl',
htmlAttrs: {
lang: 'en'
},
meta: [
{ charset: 'utf-8' },
{ name: 'viewport', content: 'width=device-width, initial-scale=1' },
{ hid: 'description', name: 'description', content: '' }
],
link: [
{ rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }
]
},
// Global CSS: https://go.nuxtjs.dev/config-css
css: [
],
// Plugins to run before rendering page: https://go.nuxtjs.dev/config-plugins
plugins: [
],
// Auto import components: https://go.nuxtjs.dev/config-components
components: true,
// Modules for dev and build (recommended): https://go.nuxtjs.dev/config-modules
buildModules: [
// https://go.nuxtjs.dev/typescript
'@nuxt/typescript-build',
// https://go.nuxtjs.dev/vuetify
'@nuxtjs/vuetify',
],
// Modules: https://go.nuxtjs.dev/config-modules
modules: [
],
// Vuetify module configuration: https://go.nuxtjs.dev/config-vuetify
vuetify: {
customVariables: ['~/assets/variables.scss'],
theme: {
dark: true,
themes: {
dark: {
primary: colors.blue.darken2,
accent: colors.grey.darken3,
secondary: colors.amber.darken3,
info: colors.teal.lighten1,
warning: colors.amber.base,
error: colors.deepOrange.accent4,
success: colors.green.accent3
}
}
}
},
// Build Configuration: https://go.nuxtjs.dev/config-build
build: {
}
}
import express from "express";
import { PrismaClient, Todo } from "@prisma/client";
const app = express();
const prisma = new PrismaClient();
app.use(express.json());
app.get("/", (req, res) => {
res.json("Wlcome to API");
});
app.get("/todos", async (req, res) => {
const todos = await prisma.todo.findMany();
res.json(todos);
});
export default {
path: "/api",
handler: app
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment