Skip to content

Instantly share code, notes, and snippets.

View davidcsejtei's full-sized avatar

Dávid Csejtei davidcsejtei

  • CEO & Co-Founder of Amicode Expert Kft.
  • Hungary
View GitHub Profile
@davidcsejtei
davidcsejtei / deleteSheet.js
Created June 28, 2022 08:58
Delete a selected worksheet (or tab) from an excel file in Node.js
const xlsx = require('xlsx');
const deleteWorksheet = (filePath, workSheetName) => {
const workBook = xlsx.readFile(filePath);
const workSheetNames = Object.keys(workBook.Sheets);
if (workSheetNames.includes(workSheetName)) {
delete workBook.Sheets[workSheetName];
delete workBook.SheetNames[workSheetName];
indexToDelete = workBook.SheetNames.indexOf(workSheetName);
@davidcsejtei
davidcsejtei / squash.sh
Created December 13, 2021 09:08
Squash commits into one
```
git checkout feature/TICKET-123
git merge master
git reset master
git add .
git commit -m "TICKET-123 add something"
git push -f origin feature/TICKET-123
```
@davidcsejtei
davidcsejtei / GetAllUsers.ts
Created June 18, 2021 10:14
GetAllUsers endpoint and test
import { Request, Response } from "express";
import { findAllUsers } from "../services/userService";
export default function getAllUsers(request: Request, response: Response) {
const users = findAllUsers();
response.statusCode = 200;
response.send().json({ users });
}
@davidcsejtei
davidcsejtei / getAllUsers.spec.ts
Created May 26, 2021 18:21
Test private class method with Jest
import { Request, Response } from 'express';
import GetAllUsers from './getAllUsers';
describe('Get all users request', () => {
let mockRequest: Partial<Request>;
let mockResponse: Partial<Response>;
let responseObject = {};
beforeEach(() => {
mockRequest = {
@davidcsejtei
davidcsejtei / downloadExcelController.js
Created January 15, 2021 18:53
Example of download an excel file with Express
const express = require('express');
const router = express.Router();
router.get('/excel/example', (request, response) => {
response.download('./excelFiles/foods.xlsx', 'example.xlsx');
});
module.exports = router;
@davidcsejtei
davidcsejtei / example-1.ts
Created January 11, 2021 15:28
Typescript usage - from pain to gain
export type User = {
name: string,
age: number,
roles: Role[];
}
export function isValidUser(user: unknown): user is User {
return !!(user as User).name &&
!!(user as User).age &&
!!(user as User).roles &&
@davidcsejtei
davidcsejtei / example.ts
Created January 11, 2021 15:26
Typescript usage - from pain to gain
type User = {
name: string,
age: number,
roles: Role[];
}
type Role = {
label: string
}
@davidcsejtei
davidcsejtei / exportService.js
Created October 21, 2020 12:03
Export from JavaScript to Excel (xlsx)
const xlsx = require('xlsx');
const path = require('path');
const exportExcel = (data, workSheetColumnNames, workSheetName, filePath) => {
const workBook = xlsx.utils.book_new();
const workSheetData = [
workSheetColumnNames,
... data
];
const workSheet = xlsx.utils.aoa_to_sheet(workSheetData);
@davidcsejtei
davidcsejtei / functions.js
Created October 19, 2020 10:09
Coding styles - functions
const validateUser = (user) ⇒ {
return user.name === undefined;
}
// OR
const validateUser = (user) ⇒ user.name === undefined;
// OR
@davidcsejtei
davidcsejtei / index.final.ts
Created October 18, 2020 09:30
Express application uses TypeORM
import "reflect-metadata";
import {createConnection, ConnectionOptions} from "typeorm";
import http from "http";
import express from 'express';
import config from "../ormconfig.json";
import GetAllUsers from "./controllers/GetAllUsers";
createConnection(config as ConnectionOptions).then(async connection => {
const app = express();
app.use(express.json());