Skip to content

Instantly share code, notes, and snippets.

🎯
Focusing

Amenallah Hsoumi LazyFatArrow

🎯
Focusing
Block or report user

Report or block LazyFatArrow

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View app.middleware.ts
import { Injectable, NestMiddleware } from '@nestjs/common';
import { Request, Response } from 'express';
import { join } from 'path';
@Injectable()
export class ServeHTMLMiddleware implements NestMiddleware {
use(req: Request, res: Response, next: () => void) {
// here you can check if the requested path is your api endpoint, if that's the case then we have to return next()
if (req.path.includes('graphql')) {
return next();
View main.ts
// ...imports
import * as express from 'express';
import { join } from 'path';
async function bootstrap() {
const app = await NestFactory.create(AppModule);
// serve static assets from the client/dist folder, change this to the correct path for your project
app.use(express.static(join(process.cwd(), '../client/dist/')));
View app.module.ts
// ...imports
import { MiddlewareConsumer, Module, NestModule, RequestMethod } from '@nestjs/common';
import { ServeHTMLMiddleware } from './app.middleware';
@Module({
// ...module options
})
export class AppModule implements NestModule {
configure(consumer: MiddlewareConsumer) {
consumer
View app.controller.ts
import { Controller, Get, Res, Next, Req } from '@nestjs/common';
import { join } from 'path';
import { Response, NextFunction, Request } from 'express';
@Controller()
export class AppController {
@Get('*')
get(
@Res() res: Response,
@Next() next: NextFunction,
View index.js
import pollResolvers from './poll.resolvers'
export default {
Query: {
...pollResolvers.queries
},
Mutation: {
...pollResolvers.mutations
},
View poll.model.js
import mongoose, { Schema } from 'mongoose';
const OptionSchema = new Schema({
name: String,
votes: {
type: Number,
default: 0,
},
})
View poll.model.js
import mongoose, { Schema } from 'mongoose';
const OptionSchema = new Schema({
name: String,
votes: {
type: Number,
default: 0,
},
})
View poll.service.js
import Poll from '../models/poll.model'
export function create(data) {
return Poll.create(data)
}
export function findAll() {
return Poll.find().sort({ createdAt: -1 })
}
View poll.service.js
import Poll from '../models/poll.model'
export function create(data) {
return Poll.create(data)
}
export function findAll() {
return Poll.find().sort({ createdAt: -1 })
}
View Polls.vue
<template>
<!-- ...html -->
</template>
<script>
// ... code
import { OPTION_VOTED, POLL_CREATED } from '@/gql/subscriptions/poll.subscriptions'
// ... code
You can’t perform that action at this time.