-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathstickcmd.js
134 lines (113 loc) · 3.38 KB
/
stickcmd.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
// 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,
},
};
const pool = new Pool(proConfig);
async function creerTableStickcmd() {
try {
await pool.query(`
CREATE TABLE IF NOT EXISTS stickcmd (
cmd text PRIMARY KEY,
id text NOT NULL
);
`);
console.log("La table 'stickcmd' a été créée avec succès.");
} catch (e) {
console.error("Une erreur est survenue lors de la création de la table 'stickcmd':", e);
}
}
creerTableStickcmd();
async function addstickcmd(cmd, id) {
let client;
try {
client = await pool.connect();
const query = "INSERT INTO stickcmd(cmd, id) VALUES ($1, $2)";
const values = [cmd, id];
await client.query(query, values);
} catch (error) {
console.log('Erreur lors de l\'ajout du stickcmd', error);
} finally {
if (client) {
client.release();
}
}
}
async function inStickCmd(id) {
let client;
try {
client = await pool.connect();
const query = "SELECT EXISTS (SELECT 1 FROM stickcmd WHERE id = $1)";
const values = [id];
const result = await client.query(query, values);
return result.rows[0].exists;
} catch (error) {
return false;
} finally {
if (client) {
client.release();
}
}
}
async function deleteCmd(cmd) {
const client = await pool.connect();
try {
const query = "DELETE FROM stickcmd WHERE cmd = $1";
const values = [cmd];
await client.query(query, values);
console.log(`Le stickcmd ${cmd} a été supprimé de la liste.`);
} catch (error) {
console.error("Erreur lors de la suppression du stickcmd :", error);
} finally {
client.release();
}
} ;
async function getCmdById(id) {
let client;
try {
client = await pool.connect();
const query = "SELECT cmd FROM stickcmd WHERE id = $1";
const values = [id];
const result = await client.query(query, values);
if (result.rows.length > 0) {
return result.rows[0].cmd;
} else {
return null; // Ajustez la valeur de retour en conséquence si l'id n'est pas trouvé.
}
} catch (error) {
console.error("Erreur lors de la récupération du stickcmd par id :", error);
return null; // Gérer l'erreur et ajuster la valeur de retour si nécessaire.
} finally {
if (client) {
client.release();
}
}
};
async function getAllStickCmds() {
const client = await pool.connect();
try {
const query = "SELECT cmd FROM stickcmd";
const result = await client.query(query);
return result.rows;
} catch (error) {
console.error("Erreur lors de la récupération de toutes les commandes stickcmd :", error);
return [];
} finally {
client.release();
}
} ;
module.exports = {
addstickcmd,
deleteCmd,
getCmdById,
inStickCmd,
getAllStickCmds,
}