Compare commits
2 Commits
896b01f8b4
...
ef83ad18a4
Author | SHA1 | Date | |
---|---|---|---|
ef83ad18a4 | |||
adbecfa435 |
@ -2,6 +2,7 @@ import mysql, {type Connection, type ConnectionOptions} from 'mysql2';
|
||||
import {Logger} from "tslog";
|
||||
import type {IDbModel} from "@interfaces/database/IDbModel";
|
||||
import type {IDbUser} from "@interfaces/database/IDbUser";
|
||||
import type IDbCategory from "@interfaces/database/IDbCategory";
|
||||
|
||||
|
||||
const access: ConnectionOptions = {
|
||||
@ -88,27 +89,27 @@ const MySqlService = {
|
||||
* Insert a user into the database.
|
||||
*
|
||||
* @param {MysqlHandler} handler - The MySQL database handler.
|
||||
* @param {IDbUser} userData - The user data to insert.
|
||||
* @param {IDbUser} data - The user data to insert.
|
||||
* @returns {Promise<void>} A promise that resolves if the user was inserted successfully, or rejects with an error.
|
||||
* @throws {Error} If an error occurs while executing the query.
|
||||
*/
|
||||
insert(handler: MysqlHandler, userData: IDbUser) {
|
||||
insert(handler: MysqlHandler, data: IDbUser) {
|
||||
return new Promise((resolve, reject) => {
|
||||
if (!userData.id) return reject('Id is undefined');
|
||||
if (userData.id.length !== 36) return reject('Id invalid');
|
||||
if (!data.id) return reject('Id is undefined');
|
||||
if (data.id.length !== 36) return reject('Id invalid');
|
||||
|
||||
const _sql = "INSERT INTO `users`(`id`,`username`, `firstname`, `lastname`, `dob`, `email`, `is_mail_verified`, `is_admin`, `gdpr`, `hash`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)"
|
||||
const _values = [
|
||||
userData.id,
|
||||
userData.username,
|
||||
userData.firstname,
|
||||
userData.lastname,
|
||||
userData.dob,
|
||||
userData.email,
|
||||
userData.is_mail_verified,
|
||||
userData.is_admin,
|
||||
userData.gdpr,
|
||||
userData.hash
|
||||
data.id,
|
||||
data.username,
|
||||
data.firstname,
|
||||
data.lastname,
|
||||
data.dob,
|
||||
data.email,
|
||||
data.is_mail_verified,
|
||||
data.is_admin,
|
||||
data.gdpr,
|
||||
data.hash
|
||||
]
|
||||
try {
|
||||
resolve(handler.execute(_sql, _values))
|
||||
@ -121,37 +122,37 @@ const MySqlService = {
|
||||
/**
|
||||
* Updates user data in the database.
|
||||
* @param {MysqlHandler} handler - The MySQL handler object.
|
||||
* @param {IDbUser} userData - The user data to be updated.
|
||||
* @param {IDbUser} data - The user data to be updated.
|
||||
* @returns {Promise<unknown>} - A promise that resolves when the update is successful.
|
||||
* @throws {Error} - If an error occurs during the update process.
|
||||
*/
|
||||
update(handler: MysqlHandler, userData: IDbUser): Promise<unknown> {
|
||||
update(handler: MysqlHandler, data: IDbUser): Promise<unknown> {
|
||||
return new Promise((resolve, reject) => {
|
||||
if (!userData.id) return reject('Id is undefined');
|
||||
if (userData.id.length !== 36) return reject('Id invalid');
|
||||
if (!data.id) return reject('Id is undefined');
|
||||
if (data.id.length !== 36) return reject('Id invalid');
|
||||
|
||||
try {
|
||||
const _template = `
|
||||
${userData.username ? "`username` = ?," : null}
|
||||
${userData.firstname ? "`firstname` = ?," : null}
|
||||
${userData.lastname ? "`lastname` = ?," : null}
|
||||
${userData.dob ? "`dob` = ?," : null}
|
||||
${userData.email ? "`email` = ?," : null}
|
||||
${userData.is_mail_verified ? "`is_mail_verified` = ?," : null}
|
||||
${userData.is_admin ? "`is_admin` = ?," : null}
|
||||
${userData.gdpr ? "`gdpr` = ?," : null}
|
||||
${userData.hash ? "`hash` = ?" : null}`
|
||||
${data.username ? "`username` = ?," : null}
|
||||
${data.firstname ? "`firstname` = ?," : null}
|
||||
${data.lastname ? "`lastname` = ?," : null}
|
||||
${data.dob ? "`dob` = ?," : null}
|
||||
${data.email ? "`email` = ?," : null}
|
||||
${data.is_mail_verified ? "`is_mail_verified` = ?," : null}
|
||||
${data.is_admin ? "`is_admin` = ?," : null}
|
||||
${data.gdpr ? "`gdpr` = ?," : null}
|
||||
${data.hash ? "`hash` = ?" : null}`
|
||||
const _values = [
|
||||
userData.username,
|
||||
userData.firstname,
|
||||
userData.lastname,
|
||||
userData.dob,
|
||||
userData.email,
|
||||
userData.is_mail_verified,
|
||||
userData.is_admin,
|
||||
userData.gdpr,
|
||||
userData.hash,
|
||||
userData.id
|
||||
data.username,
|
||||
data.firstname,
|
||||
data.lastname,
|
||||
data.dob,
|
||||
data.email,
|
||||
data.is_mail_verified,
|
||||
data.is_admin,
|
||||
data.gdpr,
|
||||
data.hash,
|
||||
data.id
|
||||
]
|
||||
|
||||
const _sql = `UPDATE "users" SET ${_template} WHERE 'id' = ?`;
|
||||
@ -342,6 +343,27 @@ const MySqlService = {
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
Category: {
|
||||
insert(handler: MysqlHandler, data: IDbCategory) {
|
||||
return new Promise((resolve, reject) => {
|
||||
if (!data.id) return reject('Id is undefined');
|
||||
if (data.id.length !== 36) return reject('Id invalid');
|
||||
|
||||
const _sql = "INSERT INTO `users`(`id`,`slug_name`, `display_name`) VALUES (?, ?, ?)"
|
||||
const _values = [
|
||||
data.id,
|
||||
data.slug_name,
|
||||
data.display_name
|
||||
]
|
||||
try {
|
||||
resolve(handler.execute(_sql, _values))
|
||||
} catch (err: unknown) {
|
||||
reject(err as Error);
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user