init commit
This commit is contained in:
103
src/database/birthdaydb.js
Normal file
103
src/database/birthdaydb.js
Normal file
@@ -0,0 +1,103 @@
|
||||
const { client } = require('./database')
|
||||
|
||||
const CreateBirthday = async (user, birthday) => {
|
||||
try {
|
||||
const alreadyReportedResult = await client.query(`
|
||||
SELECT discorduser FROM birthday
|
||||
WHERE discorduser = $1;`,
|
||||
[user]
|
||||
)
|
||||
|
||||
if (alreadyReportedResult.rows.length === 1) {
|
||||
return alreadyReportedResult.rows[0]
|
||||
}
|
||||
|
||||
const userResult = await client.query(`
|
||||
SELECT * FROM discorduser
|
||||
WHERE name = $1;`,
|
||||
[user]
|
||||
)
|
||||
|
||||
if (userResult.rows.length === 0) {
|
||||
await client.query(`
|
||||
INSERT INTO discorduser (name)
|
||||
VALUES ($1);`,
|
||||
[user]
|
||||
)
|
||||
}
|
||||
|
||||
await client.query(`
|
||||
INSERT INTO birthday (date, discorduser)
|
||||
VALUES ($1, $2);`,
|
||||
[new Date(birthday.split('.').reverse().join('-')).toISOString().slice(0, 10), user]
|
||||
)
|
||||
|
||||
return true
|
||||
} catch (error) {
|
||||
console.error('Error creating birthday entry:', error)
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
const ReadBirthday = async (user) => {
|
||||
try {
|
||||
if (user) {
|
||||
const res = await client.query(`
|
||||
SELECT * FROM birthday
|
||||
WHERE discorduser = $1;`,
|
||||
[user]
|
||||
)
|
||||
return res.rows
|
||||
} else {
|
||||
const res = await client.query(`
|
||||
SELECT * FROM birthday`,
|
||||
)
|
||||
return res.rows
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Error reading birthday table:', error)
|
||||
return []
|
||||
}
|
||||
}
|
||||
|
||||
const UpdateBirthday = async (user, birthday) => {
|
||||
try {
|
||||
if (!birthday) return false
|
||||
|
||||
await client.query(`
|
||||
UPDATE birthday
|
||||
SET birthday = $2
|
||||
WHERE discorduser = $1;`,
|
||||
[user, birthday]
|
||||
)
|
||||
|
||||
return true
|
||||
} catch (error) {
|
||||
console.error('Error updating birthday table:', error)
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
const DeleteBirthday = async (user) => {
|
||||
try {
|
||||
if (!user) return false
|
||||
|
||||
await client.query(`
|
||||
DELETE FROM birthday
|
||||
WHERE discorduser = $1;`,
|
||||
[user]
|
||||
)
|
||||
|
||||
return true
|
||||
} catch (error) {
|
||||
console.error('Error deleting birthday table:', error)
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
CreateBirthday,
|
||||
ReadBirthday,
|
||||
UpdateBirthday,
|
||||
DeleteBirthday,
|
||||
}
|
||||
101
src/database/blacklistdb.js
Normal file
101
src/database/blacklistdb.js
Normal file
@@ -0,0 +1,101 @@
|
||||
const { client } = require('./database')
|
||||
|
||||
const CreateBlacklist = async (reportedUser, reason, reportedByUser) => {
|
||||
try {
|
||||
const alreadyReportedResult = await client.query(`
|
||||
SELECT name FROM blacklist
|
||||
WHERE name = $1`,
|
||||
[reportedUser]
|
||||
)
|
||||
|
||||
if (alreadyReportedResult.rows.length === 1) {
|
||||
return alreadyReportedResult.rows[0]
|
||||
}
|
||||
|
||||
const userResult = await client.query(`
|
||||
SELECT * FROM discorduser
|
||||
WHERE name = $1;`,
|
||||
[reportedByUser]
|
||||
)
|
||||
|
||||
if (userResult.rows.length === 0) {
|
||||
await client.query(`
|
||||
INSERT INTO discorduser (name)
|
||||
VALUES ($1);`,
|
||||
[reportedByUser]
|
||||
)
|
||||
}
|
||||
|
||||
await client.query(`
|
||||
INSERT INTO blacklist (name, reason, reportedby)
|
||||
VALUES ($1, $2, $3);`,
|
||||
[reportedUser, reason, reportedByUser]
|
||||
)
|
||||
|
||||
return true
|
||||
} catch (error) {
|
||||
console.error('Error creating blacklist entry:', error)
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
const ReadBlacklist = async (user) => {
|
||||
try {
|
||||
if (user) {
|
||||
const res = await client.query(`
|
||||
SELECT * FROM blacklist
|
||||
WHERE name=$1`,
|
||||
[user]
|
||||
)
|
||||
return res.rows[0] || false
|
||||
} else {
|
||||
const res = await client.query(`
|
||||
SELECT * FROM blacklist`
|
||||
)
|
||||
return res.rows
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Error reading blacklist table:', error)
|
||||
return []
|
||||
}
|
||||
}
|
||||
|
||||
const UpdateBlacklist = async (reportedUser, reason) => {
|
||||
try {
|
||||
if (!reportedUser) return false
|
||||
|
||||
await client.query(`
|
||||
UPDATE blacklist
|
||||
SET reason = $2
|
||||
WHERE name = $1;`,
|
||||
[reportedUser, reason]
|
||||
)
|
||||
return true
|
||||
} catch (error) {
|
||||
console.error('Error updating blacklist table:', error)
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
const DeleteBlacklist = async (user) => {
|
||||
try {
|
||||
if (!user) return false
|
||||
|
||||
await client.query(`
|
||||
DELETE FROM blacklist
|
||||
WHERE name = $1;`,
|
||||
[user]
|
||||
)
|
||||
return true
|
||||
} catch (error) {
|
||||
console.error('Error deleting blacklist table:', error)
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
CreateBlacklist,
|
||||
ReadBlacklist,
|
||||
UpdateBlacklist,
|
||||
DeleteBlacklist,
|
||||
}
|
||||
25
src/database/database.js
Normal file
25
src/database/database.js
Normal file
@@ -0,0 +1,25 @@
|
||||
const { Client } = require('pg')
|
||||
require('dotenv').config()
|
||||
|
||||
const DB_USER = process.env.DB_USER
|
||||
const DB_HOST = process.env.DB_HOST
|
||||
const DB_NAME = process.env.DB_NAME
|
||||
const DB_PASS = process.env.DB_PASS
|
||||
|
||||
const client = new Client({
|
||||
connectionString: `postgresql://${DB_USER}:${DB_PASS}@${DB_HOST}/${DB_NAME}`
|
||||
})
|
||||
|
||||
const connectDatabase = async () => {
|
||||
try {
|
||||
await client.connect()
|
||||
console.log('Database connected')
|
||||
} catch (error) {
|
||||
console.error('Database connection error:', err)
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
client,
|
||||
connectDatabase,
|
||||
}
|
||||
Reference in New Issue
Block a user