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
@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(),
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();
}
import { pool } from "database";
export class UserService{
public create(data: ICreateUserData){
return pool.query(`INSERT...`);
}
}
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 { Request, Response } from "express";
import { pool } from "database";
import { validationResult } from "express-validator";
export class UserController {
public async create(req: Request, res: Response) {
try {
const errors = validationResult(req);
if (!errors.isEmpty()) {
import { body, ValidationChain } from "express-validator";
export function validatePost(): ValidationChain[] {
return [
body("name", "check the field 'name' and try again.")
.isString()
.isLength({ min: 3, max: 35 }),
body("email", "check the field 'email' and try again").isEmail(),
import { Application } from "express";
import { UserController } from "../controllers/UserController";
export default function userRoutes(app: Application) {
const controller = new UserController();
app.post(
"/user",
controller.create.bind(controller)
);
@IvsonEmidio
IvsonEmidio / UserControllerExample.ts
Last active June 28, 2022 18:40
Zeus Controller Example
import { Request, Response } from "express";
import { pool } from "database";
export class UserController {
public async create(req: Request, res: Response) {
const { name, password, email } = req.body;
if (!name) {
return res.status(400).json({ message: "Field name cannot be empty" });
}
@IvsonEmidio
IvsonEmidio / codigo-exemplo.js
Created May 5, 2022 00:49
Contéudo da aula meet
function solucao(esquerda, direita){
if (esquerda > direita){
console.log("esquerda ganhando");
} else if (esquerda < direita){
console.log("direita ganhando");
} else if (esquerda + direita === 0){
console.log("nenhum voto");
@IvsonEmidio
IvsonEmidio / solid-ocp-correct-two.ts
Created May 1, 2022 23:37
SOLID - OCP - CORRECT EXAMPLE
interface IEmailSend {
send(): boolean;
}
class htmlEmail implements IEmailSend {
public function send () {
return util.sendEmail(this.email, this.user);
}
}