-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathantilien.js
153 lines (116 loc) · 4.5 KB
/
antilien.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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
require("dotenv").config();
const { Pool } = require("pg");
let s =require("../config")
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,
},
};
const pool = new Pool(proConfig);
// Fonction pour créer la table "antilien"
async function createAntilienTable() {
const client = await pool.connect();
try {
// Exécutez une requête SQL pour créer la table "antilien" si elle n'existe pas déjà
await client.query(`
CREATE TABLE IF NOT EXISTS antilien (
jid text PRIMARY KEY,
etat text,
action text
);
`);
console.log("La table 'antilien' a été créée avec succès.");
} catch (error) {
console.error("Une erreur est survenue lors de la création de la table 'antilien':", error);
} finally {
client.release();
}
}
// Appelez la méthode pour créer la table "antilien"
createAntilienTable();
async function ajouterOuMettreAJourJid(jid, etat) {
const client = await pool.connect();
try {
// Vérifiez si le jid existe déjà dans la table 'antilien'
const result = await client.query('SELECT * FROM antilien WHERE jid = $1', [jid]);
const jidExiste = result.rows.length > 0;
if (jidExiste) {
// Si le jid existe, mettez à jour l'état avec la valeur passée en argument
await client.query('UPDATE antilien SET etat = $1 WHERE jid = $2', [etat, jid]);
} else {
// Si le jid n'existe pas, ajoutez-le avec l'état passé en argument et l'action 'supp' par défaut
await client.query('INSERT INTO antilien (jid, etat, action) VALUES ($1, $2, $3)', [jid, etat, 'supp']);
}
console.log(`JID ${jid} ajouté ou mis à jour avec succès dans la table 'antilien'.`);
} catch (error) {
console.error('Erreur lors de l\'ajout ou de la mise à jour du JID dans la table ,', error);
} finally {
client.release();
}
};
async function mettreAJourAction(jid, action) {
const client = await pool.connect();
try {
// Vérifiez si le jid existe déjà dans la table 'antilien'
const result = await client.query('SELECT * FROM antilien WHERE jid = $1', [jid]);
const jidExiste = result.rows.length > 0;
if (jidExiste) {
// Si le jid existe, mettez à jour l'action avec la valeur fournie (et laissez l'état inchangé)
await client.query('UPDATE antilien SET action = $1 WHERE jid = $2', [action, jid]);
} else {
// Si le jid n'existe pas, ajoutez-le avec l'état 'non' par défaut et l'action fournie
await client.query('INSERT INTO antilien (jid, etat, action) VALUES ($1, $2, $3)', [jid, 'non', action]);
}
console.log(`Action mise à jour avec succès pour le JID ${jid} dans la table 'antilien'.`);
} catch (error) {
console.error('Erreur lors de la mise à jour de l\'action pour le JID dans la table :', error);
} finally {
client.release();
}
};
async function verifierEtatJid(jid) {
const client = await pool.connect();
try {
// Recherchez le JID dans la table 'antilien' et récupérez son état
const result = await client.query('SELECT etat FROM antilien WHERE jid = $1', [jid]);
if (result.rows.length > 0) {
const etat = result.rows[0].etat;
return etat === 'oui';
} else {
// Si le JID n'existe pas dans la table, il n'est pas enregistré comme "oui"
return false;
}
} catch (error) {
console.error('Erreur lors de la vérification de l\'état du JID dans la table ', error);
return false;
} finally {
client.release();
}
};
async function recupererActionJid(jid) {
const client = await pool.connect();
try {
// Recherchez le JID dans la table 'antilien' et récupérez son action
const result = await client.query('SELECT action FROM antilien WHERE jid = $1', [jid]);
if (result.rows.length > 0) {
const action = result.rows[0].action;
return action;
} else {
// Si le JID n'existe pas dans la table, retournez une valeur par défaut (par exemple, 'supp')
return 'supp';
}
} catch (error) {
console.error('Erreur lors de la récupération de l\'action du JID dans la table :', error);
return 'supp'; // Gestion de l'erreur en retournant une valeur par défaut
} finally {
client.release();
}
};
module.exports = {
mettreAJourAction,
ajouterOuMettreAJourJid,
verifierEtatJid,
recupererActionJid,
};