Skip to content

Instantly share code, notes, and snippets.

View IvsonEmidio's full-sized avatar
🎵
Now the oceans have drained out, can I come up for air?

IvsonEmidio

🎵
Now the oceans have drained out, can I come up for air?
View GitHub Profile
import { Application } from "express";
import { UserController } from "../controllers/UserController";
import { validatePost } from "../middlewares/validators/userValidator";
export default function userRoutes(app: Application) {
const controller = new UserController();
app.post(
"/user",
validatePost(),
import { pool } from "database";
export class UserService{
public create(data: ICreateUserData){
return pool.query(`INSERT...`);
}
}
import { Request, Response } from "express";
import { validationResult } from "express-validator";
import { UserService } from "../services/UserService";
export class UserController {
service: UserService;
constructor(){
this.service = new UserService();
}
@IvsonEmidio
IvsonEmidio / CacheService.ts
Last active November 24, 2022 18:31
Typescript localstorage cache manager with validity.
import moment from "moment";
import { CacheProperties } from "../../@types/Cache";
export default class CacheService {
public set(key: string, value: string, validityInMinutes: number = 0): boolean {
try {
const properties: CacheProperties = {
key,
value,
createdAt: moment().format(),
@IvsonEmidio
IvsonEmidio / FixGroqJsonValidation400.ts
Last active March 9, 2025 08:46
Fix Groq JSON Validation error 400
# BEFORE
const response = await groqClient.chat.completions.create({
messages: [
// Your messages here
],
model: "your-model",
response_format: {
type: "json_object"
}
});