retour json fonctionnel
continuous-integration/drone/push Build is passing Details

pull/2/head
Hugo PRADIER 11 months ago
parent 9fcc8a806c
commit 4fe64e0601

@ -4,8 +4,7 @@
"type": "module",
"scripts": {
"build": "tsc",
"start": "tsx src/server.ts",
"db": "tsx src/database.ts"
"start": "tsx src/server.ts"
},
"devDependencies": {
"@types/bun": "^1.0.4",

@ -4,6 +4,54 @@ import fs from "fs";
const dbDirectory = "./db";
const dbFilePath = `${dbDirectory}/database.db`;
// Fonctions utilitaires pour les requêtes SQL
function runDB(
db: sqlite3.Database,
query: string,
params: any[]
): Promise<void> {
return new Promise((resolve, reject) => {
db.run(query, params, (err) => {
if (err) {
reject(err);
} else {
resolve();
}
});
});
}
function allDB(db: sqlite3.Database, query: string): Promise<any[]> {
return new Promise((resolve, reject) => {
db.all(query, (err, rows) => {
if (err) {
reject(err);
} else {
resolve(rows);
}
});
});
}
function getDB(
db: sqlite3.Database,
query: string,
params: any[]
): Promise<void> {
return new Promise((resolve, reject) => {
db.get(query, params, (err, row) => {
if (err) {
reject(err);
} else {
resolve();
}
});
});
}
// Fonctions pour la gestion de la base de données
// Créer le répertoire db s'il n'existe pas
function createDbDirectory() {
if (!fs.existsSync(dbDirectory)) {
@ -140,15 +188,18 @@ function deleteAllUsers(db: sqlite3.Database) {
}
// Sélectionner tous les utilisateurs de la table registered_user
function selectAllUsers(db: sqlite3.Database) {
function selectAllUsers(db: sqlite3.Database): Promise<unknown[]> {
const selectAllUsersQuery = `SELECT * FROM registered_user`;
db.all(selectAllUsersQuery, [], (err, rows) => {
console.log("Tous les utilisateurs enregistrés :");
if (err) {
throw err;
}
rows.forEach((row) => {
console.log(row);
return new Promise((resolve, reject) => {
db.all(selectAllUsersQuery, (err, rows) => {
if (err) {
reject(err);
} else {
console.log("Utilisateurs :");
console.log(rows);
resolve(rows);
}
});
});
}

@ -143,11 +143,10 @@ fastify.delete("/users", async (request, reply) => {
deleteAllUsers(db);
reply.send({ success: true });
});
// Route pour récupérer tous les utilisateurs
fastify.get("/users", async (request, reply) => {
const users = selectAllUsers(db);
return users;
const users = await selectAllUsers(db);
reply.send(users);
});
// Route pour récupérer un utilisateur par son ID
@ -156,7 +155,7 @@ fastify.get<{
}>("/users/:id", async (request, reply) => {
const { id } = request.params;
const user = selectUserById(db, parseInt(id));
return user;
reply.send(user);
});
// Route pour récupérer un utilisateur par son login
@ -165,7 +164,7 @@ fastify.get<{
}>("/users/login/:login", async (request, reply) => {
const { login } = request.params;
const user = selectUserByLogin(db, login);
return user;
reply.send(user);
});
// Forward output from the runner to the client

Loading…
Cancel
Save