Skip to content

Instantly share code, notes, and snippets.

View ragokan's full-sized avatar
🥳
Coding!

Okan YILDIRIM ragokan

🥳
Coding!
View GitHub Profile
@ragokan
ragokan / swagger-nestjs-generator.ts
Created July 8, 2022 20:33
Swagger NestJS Generator With Better Names
const { generateApi } = require("swagger-typescript-api");
const path = require("path");
const fs = require("fs");
const output = path.resolve(process.cwd(), "./src/services");
generateApi({
url: "http://localhost:8000/api-json",
output,
generateClient: true,
@ragokan
ragokan / rabbitmq-nest-golang.go
Last active July 8, 2022 19:10
RabbitMQ Nest Client Go
package main
import (
"encoding/json"
"github.com/streadway/amqp"
. "gofast/helpers"
. "gofast/types"
"log"
)
@ragokan
ragokan / redis-nest-client.ts
Created June 15, 2022 21:00
Redis Nest Client
import Redis from "ioredis";
// Create pub and sub clients
const sub = new Redis();
const pub = new Redis();
// Set the queue names
const queue = "getHello";
const replyQueue = `${queue}.reply`;
@ragokan
ragokan / rabbitmq-nest-client.ts
Created June 15, 2022 20:52
RabbitMQ Nest Client
import amqp, { Message, Channel } from "amqplib/callback_api";
const handleMessage = (message: Message, channel: Channel) => {
// Parse message
const content = JSON.parse(message.content.toString()) as IncomingMessage;
// Get properties
const { replyTo, correlationId } = message.properties;
// Reply to message 5 times
@ragokan
ragokan / prisma-cache.ts
Created June 7, 2022 21:35
Cache middlweware for prisma
import { Prisma } from "@prisma/client";
import Redis from "ioredis";
const mutationActions = ["create", "update", "delete", "deleteMany", "updateMany"];
const queryActions = ["findUnique", "findMany", "count"];
const allActions = [...mutationActions, ...queryActions];
export function cacheMiddleware(
redis: Redis,
cacheDuration = 100 // 100 seconds