Skip to content

Instantly share code, notes, and snippets.

View felipepastorelima's full-sized avatar

Felipe Lima felipepastorelima

View GitHub Profile
@felipepastorelima
felipepastorelima / localhostFileStorage.ts
Created June 23, 2021 19:11
backend/src/services/file/localhostFileStorage.ts
import path from 'path';
import fs from 'fs';
import os from 'os';
import jwt from 'jsonwebtoken';
import { getConfig } from '../../config';
import mv from 'mv';
import Error403 from '../../errors/Error403';
/**
* The directory where the files should be uploaded.
@felipepastorelima
felipepastorelima / NEW_orderRepository.js
Created November 8, 2019 14:37
Back-end Refactor Example
const models = require('../models');
const SequelizeRepository = require('./sequelizeRepository');
const AuditLogRepository = require('./auditLogRepository');
const FileRepository = require('./fileRepository');
const lodash = require('lodash');
const SequelizeFilterUtils = require('../utils/sequelizeFilterUtils');
const Sequelize = models.Sequelize;
const Op = Sequelize.Op;
NODE_PATH=src/
{
"javascript.updateImportsOnFileMove.enabled": "always",
"javascript.preferences.importModuleSpecifier": "non-relative"
}
@felipepastorelima
felipepastorelima / jsconfig.json
Last active September 23, 2018 19:23
jsconfig.json
{
"compilerOptions": {
"module": "commonjs",
"target": "es2016",
"jsx": "preserve",
"checkJs": true,
"baseUrl": "./src"
},
"exclude": ["node_modules", "**/node_modules/*"]
}
const seniorCandidatesRequirements = [
// ...
];
const candidates = [
// ...
];
function matchesEveryRequirement(candidates, requirements) {
if (!requirements) {
const seniorCandidatesRequirements = [
{
matches(candidate) {
return Number(candidate.yearsOfExperience) >= 5;
}
},
{
matches(candidate) {
return candidate.languages && candidate.languages.includes('Javascript');
}
function selectSeniorCandidates(candidates) {
return candidates.filter(candidate => {
// with at least 5 years of experience that knows Javascript
return (
candidate.yearsOfExperience >= 5 &&
candidate.languages.includes('Javascript')
);
});
}
@felipepastorelima
felipepastorelima / extract-method-c.js
Created February 26, 2018 11:18
Extract Method - C
function printPrimeNumbersFromZeroToHundred() {
const primeNumbersToPrint = primeNumbersBetween(0, 100);
console.log(primeNumbersToPrint);
}
function primeNumbersBetween(min, max) {
const result = [];
for (let i = min; i <= max; i++) {
if (isPrime(i)) {
@felipepastorelima
felipepastorelima / extract-method-b.js
Created February 26, 2018 11:16
Extract Method - B
function printPrimeNumbersFromZeroToHundred() {
const primeNumbers = [];
for (let i = 0; i <= 100; i++) {
if (isPrime(i)) {
primeNumbers.push(i);
}
}
console.log(primeNumbers);