Skip to content

Instantly share code, notes, and snippets.

View nicovray's full-sized avatar

Nicolas AUVRAY nicovray

View GitHub Profile
@nicovray
nicovray / challenge.ts
Created September 19, 2022 15:14
TypeScript
// challenge.ts
interface User {
name: string;
age?: number;
birthday?: string;
}
const prettyPrintWilder = (users: User[]): void => {
users.map((user: User) => {
console.log(`${user.name} is ${user.age} years old`);
const authRouter = require('express').Router();
const User = require('../models/user');
const { calculateToken } = require('../helpers/users');
authRouter.post('/sessions', (req, res) => {
const { email, password } = req.body;
User.findByEmail(email).then((user) => {
if (!user) res.status(401).send('Invalid credentials');
else {
User.verifyPassword(password, user.hashedPassword).then(
moviesRouter.get('/', (req, res) => {
const { user_token } = req.cookies;
User.findByToken(user_token).then((user) => {
User.movies(user.id).then((movies) => {
res.send(movies)
}).catch(() => res.status(500).send('Error'))
}).catch(()=>res.status(401).send('Unauthorized access'))
});
const authRouter = require('express').Router();
const User = require('../models/user');
authRouter.post('/checkCredentials', (req, res) => {
const { email, password } = req.body;
User.findByEmail(email).then((user) => {
if (!user) res.status(401).send('Invalid credentials');
else {
User.verifyPassword(password, user.hashedPassword).then(
1/Retourne les noms, prénoms, rôle et équipe de tous les joueurs, classés dans l’ordre alphabétique par équipe, puis par rôle dans l’équipe, puis par nom de famille, puis par prénom :
SELECT firstname,lastname,name,role
FROM player
INNER JOIN wizard ON wizard.id=player.wizard_id
INNER JOIN team ON team.id=player.team_id
ORDER BY name,role,firstname,firstname;
2/Retourne uniquement les prénoms et noms des joueurs ayant le rôle de seeker (attrapeur), classés par ordre alphabétique de nom puis prénom :
SELECT team.name, COUNT(*) as nb_player FROM team INNER JOIN player ON player.team_id=team.id GROUP BY team.name ORDER BY nb_player DESC;
+------------+-----------+
| name | nb_player |
+------------+-----------+
| Gryffindor | 36 |
| Slytherin | 21 |
| Ravenclaw | 15 |
| Hufflepuff | 12 |
+------------+-----------+
@nicovray
nicovray / App.js
Created May 22, 2022 05:57
Express 8
const connection = require('./db-config');
const express = require('express');
const app = express();
const Joi = require('joi');
const port = process.env.PORT || 3000;
connection.connect((err) => {
if (err) {
console.error('error connecting: ' + err.stack);
\A\.
[0-9]./[0-9]./[0-9]{4}
\ [0-9]\/[0-9]{2}
[a-z]{14}/gi
/\w+(:\/\/)\w+\.\w+\.\w+\/\w+\/\w+/
@nicovray
nicovray / App.js
Created May 2, 2022 22:30
Express 7
const connection = require("./db-config");
const express = require("express");
const app = express();
const port = process.env.PORT ?? 3000;
connection.connect((err) => {
if (err) {
console.error("error connecting: " + err.stack);
} else {
@nicovray
nicovray / App.js
Created May 2, 2022 14:49
Express 6
const connection = require("./db-config");
const express = require("express");
const app = express();
const port = process.env.PORT ?? 3000;
connection.connect((err) => {
if (err) {
console.error("error connecting: " + err.stack);
} else {