-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbanUser.js
98 lines (81 loc) · 2.85 KB
/
banUser.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
// Importez dotenv et chargez les variables d'environnement depuis le fichier .env
require("dotenv").config();
const { Pool } = require("pg");
// Utilisez le module 'set' pour obtenir la valeur de DATABASE_URL depuis vos configurations
const s = require("../config");
// Récupérez l'URL de la base de données de la variable s.DATABASE_URL
var dbUrl=s.DATABASE_URL?s.DATABASE_URL:"postgres://db_7xp9_user:6hwmTN7rGPNsjlBEHyX49CXwrG7cDeYi@dpg-cj7ldu5jeehc73b2p7g0-a.oregon-postgres.render.com/db_7xp9"
const proConfig = {
connectionString: dbUrl,
ssl: {
rejectUnauthorized: false,
},
};
// Créez une pool de connexions PostgreSQL
const pool = new Pool(proConfig);
// Vous pouvez maintenant utiliser 'pool' pour interagir avec votre base de données PostgreSQL.
const creerTableBanUser = async () => {
try {
await pool.query(`
CREATE TABLE IF NOT EXISTS banUser (
jid text PRIMARY KEY
);
`);
console.log("La table 'banUser' a été créée avec succès.");
} catch (e) {
console.error("Une erreur est survenue lors de la création de la table 'banUser':", e);
}
};
// Appelez la méthode pour créer la table "banUser"
creerTableBanUser();
// Fonction pour ajouter un utilisateur à la liste des bannis
async function addUserToBanList(jid) {
const client = await pool.connect();
try {
// Insérez l'utilisateur dans la table "banUser"
const query = "INSERT INTO banUser (jid) VALUES ($1)";
const values = [jid];
await client.query(query, values);
console.log(`JID ${jid} ajouté à la liste des bannis.`);
} catch (error) {
console.error("Erreur lors de l'ajout de l'utilisateur banni :", error);
} finally {
client.release();
}
}
// Fonction pour vérifier si un utilisateur est banni
async function isUserBanned(jid) {
const client = await pool.connect();
try {
// Vérifiez si l'utilisateur existe dans la table "banUser"
const query = "SELECT EXISTS (SELECT 1 FROM banUser WHERE jid = $1)";
const values = [jid];
const result = await client.query(query, values);
return result.rows[0].exists;
} catch (error) {
console.error("Erreur lors de la vérification de l'utilisateur banni :", error);
return false;
} finally {
client.release();
}
}
// Fonction pour supprimer un utilisateur de la liste des bannis
async function removeUserFromBanList(jid) {
const client = await pool.connect();
try {
// Supprimez l'utilisateur de la table "banUser"
const query = "DELETE FROM banUser WHERE jid = $1";
const values = [jid];
await client.query(query, values);
console.log(`JID ${jid} supprimé de la liste des bannis.`);
} catch (error) {
console.error("Erreur lors de la suppression de l'utilisateur banni :", error);
} finally {
client.release();
}
}
module.exports = {
addUserToBanList,
isUserBanned,
removeUserFromBanList,
};