Compare commits
No commits in common. "da028ea2c48ff490f48061531021b23d36fc9413" and "03fc5307e6b90a2dc5061f2056755729cf4031ba" have entirely different histories.
da028ea2c4
...
03fc5307e6
@ -1036,7 +1036,7 @@ brief\\_05|schema||user_brief05||UPDATE|G</Grants>
|
||||
</schema>
|
||||
<schema id="325" parent="1" name="brief_05">
|
||||
<Current>1</Current>
|
||||
<LastIntrospectionLocalTimestamp>2024-05-03.07:39:06</LastIntrospectionLocalTimestamp>
|
||||
<LastIntrospectionLocalTimestamp>2024-04-29.12:54:42</LastIntrospectionLocalTimestamp>
|
||||
<CollationName>latin1_swedish_ci</CollationName>
|
||||
</schema>
|
||||
<user id="326" parent="1" name="user_brief05"/>
|
||||
@ -1063,7 +1063,7 @@ brief\\_05|schema||user_brief05||UPDATE|G</Grants>
|
||||
<Engine>InnoDB</Engine>
|
||||
<CollationName>latin1_swedish_ci</CollationName>
|
||||
</table>
|
||||
<table id="332" parent="325" name="rents">
|
||||
<table id="332" parent="325" name="rent">
|
||||
<Engine>InnoDB</Engine>
|
||||
<CollationName>latin1_swedish_ci</CollationName>
|
||||
</table>
|
||||
@ -1270,7 +1270,7 @@ brief\\_05|schema||user_brief05||UPDATE|G</Grants>
|
||||
<Position>7</Position>
|
||||
</column>
|
||||
<column id="376" parent="332" name="id">
|
||||
<DasType>varchar(36)|0s</DasType>
|
||||
<DasType>tinyint(1)|0s</DasType>
|
||||
<NotNull>1</NotNull>
|
||||
<Position>8</Position>
|
||||
</column>
|
||||
|
||||
6
db.sql
6
db.sql
@ -74,13 +74,13 @@ CREATE TABLE `models` (
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Table structure for table `rents`
|
||||
-- Table structure for table `rent`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS 'rents';
|
||||
DROP TABLE IF EXISTS `rent`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
CREATE TABLE `rents` (
|
||||
CREATE TABLE `rent` (
|
||||
`vehicle_id` varchar(36) NOT NULL,
|
||||
`user_id` varchar(36) NOT NULL,
|
||||
`active` tinyint(1) NOT NULL,
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
export interface IDbRent {
|
||||
id?: string;
|
||||
vehicle_id: string;
|
||||
user_id: string;
|
||||
active: boolean;
|
||||
|
||||
@ -6,7 +6,6 @@ import type {
|
||||
IDbFactorizeOutput,
|
||||
} from "@interfaces/database/IDbFactorize";
|
||||
import type { IDbModel } from "@interfaces/database/IDbModel";
|
||||
import type IDbRent from "@interfaces/database/IDbRent";
|
||||
import type { IDbStatusResult } from "@interfaces/database/IDbStatusResult";
|
||||
import type { IDbUser } from "@interfaces/database/IDbUser";
|
||||
import type { IDbVehicle } from "@interfaces/database/IDbVehicle";
|
||||
@ -181,6 +180,7 @@ const MySqlService = {
|
||||
return new Promise((resolve, reject) => {
|
||||
if (!data.id) return reject("Id is undefined");
|
||||
if (data.id.length !== 36) return reject("Id invalid");
|
||||
|
||||
handler
|
||||
.factorize({
|
||||
values: data,
|
||||
@ -194,9 +194,8 @@ const MySqlService = {
|
||||
})`;
|
||||
|
||||
try {
|
||||
if (isDebugMode()) handler.Logger.trace(_sql);
|
||||
if (isDebugMode()) handler.Logger.trace(valuesArray);
|
||||
//ToTest
|
||||
handler.Logger.trace(_sql);
|
||||
handler.Logger.trace(valuesArray);
|
||||
handler.execute(_sql, valuesArray).then((result) => {
|
||||
return resolve(result as unknown as IDbStatusResult);
|
||||
});
|
||||
@ -225,26 +224,13 @@ const MySqlService = {
|
||||
handler
|
||||
.factorize({
|
||||
values: data,
|
||||
actionName: "Update user..",
|
||||
actionName: `Update user ID::${data.id}`,
|
||||
})
|
||||
.then((factorizeResult) => {
|
||||
const _sql = `UPDATE users SET (${factorizeResult._keysTemplate}) WERE id VALUES(${
|
||||
factorizeResult._questionMarksFields
|
||||
})`;
|
||||
|
||||
try {
|
||||
if (isDebugMode()) handler.Logger.trace(_sql);
|
||||
if (isDebugMode())
|
||||
handler.Logger.trace(factorizeResult._valuesArray);
|
||||
//ToTest
|
||||
handler
|
||||
.execute(_sql, factorizeResult._valuesArray)
|
||||
.then((result) => {
|
||||
return resolve(result as unknown as IDbStatusResult);
|
||||
});
|
||||
} catch (err: unknown) {
|
||||
reject(err as Error);
|
||||
}
|
||||
.then((result) => {
|
||||
const _sql = `UPDATE "users" SET ${result._keysTemplate} WHERE 'id' = '${data.id}'`;
|
||||
handler.execute(_sql, result._valuesArray).then((result) => {
|
||||
return resolve(result as unknown as IDbStatusResult);
|
||||
});
|
||||
});
|
||||
} catch (err: unknown) {
|
||||
reject(err as Error);
|
||||
@ -252,19 +238,10 @@ const MySqlService = {
|
||||
});
|
||||
},
|
||||
|
||||
//ToTest
|
||||
/**
|
||||
* Retrieves user information from the database based on the provided user ID.
|
||||
*
|
||||
* @param {MysqlHandler} handler - The MySQL handler instance.
|
||||
* @param {string} userId - The user ID used to locate the user in the database.
|
||||
* @returns {Promise<Array<IDbUser>>} A promise that resolves with an array of user objects matching the provided user ID.
|
||||
* @throws {string} Throws an error if the provided user ID is invalid.
|
||||
* @throws {Error} Throws*/
|
||||
getById(handler: MysqlHandler, userId: string): Promise<Array<IDbUser>> {
|
||||
return new Promise((resolve, reject) => {
|
||||
if (userId.length !== 36) return reject("Id invalid");
|
||||
const _sql = "SELECT * FROM users WHERE id VALUES(?)";
|
||||
const _sql = "SELECT * FROM `users` WHERE `id` = ?";
|
||||
const _values = [userId];
|
||||
try {
|
||||
handler.execute(_sql, _values).then((result) => {
|
||||
@ -276,7 +253,6 @@ const MySqlService = {
|
||||
});
|
||||
},
|
||||
|
||||
//ToTest
|
||||
/**
|
||||
* Retrieves all users from the database.
|
||||
*
|
||||
@ -286,7 +262,7 @@ const MySqlService = {
|
||||
*/
|
||||
getAll(handler: MysqlHandler): Promise<Array<IDbUser>> {
|
||||
return new Promise((resolve, reject) => {
|
||||
const _sql = "SELECT * FROM users";
|
||||
const _sql = "SELECT * FROM `users`";
|
||||
try {
|
||||
handler.query(_sql).then((result) => {
|
||||
return resolve(result as unknown as Array<IDbUser>);
|
||||
@ -308,7 +284,7 @@ const MySqlService = {
|
||||
getByEmail(handler: MysqlHandler, email: string): Promise<Array<IDbUser>> {
|
||||
return new Promise((resolve, reject) => {
|
||||
if (!email) return reject("email is undefined");
|
||||
const _sql = "SELECT * FROM users WHERE email VALUES(?)";
|
||||
const _sql = "SELECT * FROM `users` WHERE `email` = ?";
|
||||
const _values = [email];
|
||||
try {
|
||||
handler.execute(_sql, _values).then((result) => {
|
||||
@ -320,7 +296,6 @@ const MySqlService = {
|
||||
});
|
||||
},
|
||||
|
||||
//ToTest
|
||||
/**
|
||||
* Retrieves the admin state for a given user ID.
|
||||
*
|
||||
@ -334,10 +309,9 @@ const MySqlService = {
|
||||
userId: string,
|
||||
): Promise<boolean> {
|
||||
return new Promise((resolve, reject) => {
|
||||
const _sql = "SELECT is_admin FROM users WHERE id VALUES(?)";
|
||||
const _sql = "SELECT `is_admin` FROM `users` WHERE `id` = ?";
|
||||
const _values = [userId];
|
||||
try {
|
||||
//FIX Output type
|
||||
const isAdmin = handler.execute(
|
||||
_sql,
|
||||
_values,
|
||||
@ -362,7 +336,7 @@ const MySqlService = {
|
||||
return new Promise((resolve, reject) => {
|
||||
if (!userId) return reject("Id is undefined");
|
||||
if (userId.length !== 36) return reject("Id invalid");
|
||||
const _sql = "DELETE FROM users WHERE id VALUES(?)";
|
||||
const _sql = "DELETE FROM `users` WHERE `id` = ?";
|
||||
const _values = [userId];
|
||||
try {
|
||||
handler.execute(_sql, _values).then((result) => {
|
||||
@ -387,29 +361,20 @@ const MySqlService = {
|
||||
return new Promise((resolve, reject) => {
|
||||
if (!data.id) return reject("Id is undefined");
|
||||
if (data.id.length !== 36) return reject("Id invalid");
|
||||
handler
|
||||
.factorize({
|
||||
values: data,
|
||||
actionName: "Inserting new brand",
|
||||
})
|
||||
.then((result) => {
|
||||
const valuesArray = result._valuesArray;
|
||||
const template = result._keysTemplate;
|
||||
const _sql = `INSERT INTO brands (${template + `, id`}) VALUES(${
|
||||
result._questionMarksFields
|
||||
})`;
|
||||
|
||||
try {
|
||||
if (isDebugMode()) handler.Logger.trace(_sql);
|
||||
if (isDebugMode()) handler.Logger.trace(valuesArray);
|
||||
//ToTest
|
||||
handler.execute(_sql, valuesArray).then((result) => {
|
||||
return resolve(result as unknown as IDbStatusResult);
|
||||
});
|
||||
} catch (err: unknown) {
|
||||
reject(err as Error);
|
||||
}
|
||||
});
|
||||
const _sql =
|
||||
"INSERT INTO `brands`(`id`,`display_name`, `slug_name`, `image_blob`) VALUES (?, ?, ?, ?)";
|
||||
const _values = [
|
||||
data.id,
|
||||
data.display_name,
|
||||
data.slug_name,
|
||||
data.image_blob,
|
||||
];
|
||||
try {
|
||||
resolve(handler.execute(_sql, _values) as unknown as IDbStatusResult);
|
||||
} catch (err: unknown) {
|
||||
reject(err as Error);
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
@ -429,26 +394,13 @@ const MySqlService = {
|
||||
handler
|
||||
.factorize({
|
||||
values: data,
|
||||
actionName: "Update brand..",
|
||||
actionName: `Update brand ID::${data.id}`,
|
||||
})
|
||||
.then((factorizeResult) => {
|
||||
const _sql = `UPDATE brands SET (${factorizeResult._keysTemplate}) WERE id VALUES(${
|
||||
factorizeResult._questionMarksFields
|
||||
})`;
|
||||
|
||||
try {
|
||||
if (isDebugMode()) handler.Logger.trace(_sql);
|
||||
if (isDebugMode())
|
||||
handler.Logger.trace(factorizeResult._valuesArray);
|
||||
//ToTest
|
||||
handler
|
||||
.execute(_sql, factorizeResult._valuesArray)
|
||||
.then((result) => {
|
||||
return resolve(result as unknown as IDbStatusResult);
|
||||
});
|
||||
} catch (err: unknown) {
|
||||
reject(err as Error);
|
||||
}
|
||||
.then((result) => {
|
||||
const _sql = `UPDATE "brands" SET ${result._keysTemplate} WHERE 'id' = '${data.id}'`;
|
||||
handler.execute(_sql, result._valuesArray).then((result) => {
|
||||
return resolve(result as unknown as IDbStatusResult);
|
||||
});
|
||||
});
|
||||
} catch (err: unknown) {
|
||||
reject(err as Error);
|
||||
@ -465,7 +417,7 @@ const MySqlService = {
|
||||
*/
|
||||
getAll(handler: MysqlHandler): Promise<Array<IDbBrand>> {
|
||||
return new Promise((resolve, reject) => {
|
||||
const _sql = "SELECT * FROM brands";
|
||||
const _sql = "SELECT * FROM `brands`";
|
||||
try {
|
||||
handler.query(_sql).then((result) => {
|
||||
return resolve(result as unknown as Array<IDbBrand>);
|
||||
@ -489,7 +441,7 @@ const MySqlService = {
|
||||
return new Promise((resolve, reject) => {
|
||||
if (!brandId) return reject("Id is undefined");
|
||||
if (brandId.length !== 36) return reject("Id invalid");
|
||||
const _sql = "SELECT * FROM brands WHERE id VALUES(?)";
|
||||
const _sql = "SELECT * FROM `brands` WHERE `id` = ?";
|
||||
const _values = [brandId];
|
||||
try {
|
||||
handler.execute(_sql, _values).then((result) => {
|
||||
@ -512,7 +464,7 @@ const MySqlService = {
|
||||
getBySlug(handler: MysqlHandler, brandSlug: string): Promise<IDbBrand> {
|
||||
return new Promise((resolve, reject) => {
|
||||
if (!brandSlug) return reject("slug is undefined");
|
||||
const _sql = "SELECT * FROM brands WHERE slug_name VALUES(?)";
|
||||
const _sql = "SELECT * FROM `brands` WHERE `slug_name` = ?";
|
||||
const _values = [brandSlug];
|
||||
try {
|
||||
handler.execute(_sql, _values).then((result) => {
|
||||
@ -537,7 +489,7 @@ const MySqlService = {
|
||||
return new Promise((resolve, reject) => {
|
||||
if (!brandId) return reject("Id is undefined");
|
||||
if (brandId.length !== 36) return reject("Id invalid");
|
||||
const _sql = "DELETE FROM brands WHERE id VALUES(?)";
|
||||
const _sql = "DELETE FROM `brands` WHERE `id` = ?";
|
||||
const _values = [brandId];
|
||||
try {
|
||||
handler.execute(_sql, _values).then((result) => {
|
||||
@ -561,7 +513,7 @@ const MySqlService = {
|
||||
*/
|
||||
getAll(handler: MysqlHandler): Promise<Array<IDbModel>> {
|
||||
return new Promise((resolve, reject) => {
|
||||
const _sql = "SELECT * FROM models";
|
||||
const _sql = "SELECT * FROM `models`";
|
||||
try {
|
||||
handler.query(_sql).then((result) => {
|
||||
return resolve(result as unknown as Array<IDbModel>);
|
||||
@ -582,7 +534,7 @@ const MySqlService = {
|
||||
*/
|
||||
getBySlug(handler: MysqlHandler, modelSlug: string): Promise<IDbModel> {
|
||||
return new Promise((resolve, reject) => {
|
||||
const _sql = "SELECT * FROM models WHERE slug_name VALUES(?)";
|
||||
const _sql = "SELECT * FROM `models` WHERE `slug_name` = ?";
|
||||
const _values = [modelSlug];
|
||||
try {
|
||||
handler.execute(_sql, _values).then((result) => {
|
||||
@ -603,7 +555,7 @@ const MySqlService = {
|
||||
*/
|
||||
getById(handler: MysqlHandler, modelId: string): Promise<IDbModel> {
|
||||
return new Promise((resolve, reject) => {
|
||||
const _sql = "SELECT * FROM models WHERE id VALUES(?)";
|
||||
const _sql = "SELECT * FROM `models` WHERE `id` = ?";
|
||||
const _values = [modelId];
|
||||
try {
|
||||
resolve(handler.execute(_sql, _values) as unknown as IDbModel);
|
||||
@ -625,29 +577,26 @@ const MySqlService = {
|
||||
return new Promise((resolve, reject) => {
|
||||
if (!data.id) return reject("Id is undefined");
|
||||
if (data.id.length !== 36) return reject("Id invalid");
|
||||
handler
|
||||
.factorize({
|
||||
values: data,
|
||||
actionName: "Inserting new model",
|
||||
})
|
||||
.then((factorizedResult) => {
|
||||
const valuesArray = factorizedResult._valuesArray;
|
||||
const template = factorizedResult._keysTemplate;
|
||||
const _sql = `INSERT INTO users (${template + `, id`}) VALUES(${
|
||||
factorizedResult._questionMarksFields
|
||||
})`;
|
||||
|
||||
try {
|
||||
if (isDebugMode()) handler.Logger.trace(_sql);
|
||||
if (isDebugMode()) handler.Logger.trace(valuesArray);
|
||||
//ToTest
|
||||
handler.execute(_sql, valuesArray).then((result) => {
|
||||
return resolve(result as unknown as IDbStatusResult);
|
||||
});
|
||||
} catch (err: unknown) {
|
||||
reject(err as Error);
|
||||
}
|
||||
const _sql =
|
||||
"INSERT INTO `models`(`slug_name`,`display_name`, `brand_id`, `category_id`, `image_blob`, `is_trending`, `base_price`, `id`) VALUES (?, ?, ?, ?, ?, ?, ?, ?)";
|
||||
const _values = [
|
||||
data.slug_name,
|
||||
data.display_name,
|
||||
data.brand_id,
|
||||
data.category_id,
|
||||
data.image_blob,
|
||||
data.is_trending,
|
||||
data.base_price,
|
||||
data.id,
|
||||
];
|
||||
try {
|
||||
handler.execute(_sql, _values).then((result) => {
|
||||
return resolve(result as unknown as IDbStatusResult);
|
||||
});
|
||||
} catch (err: unknown) {
|
||||
reject(err as Error);
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
@ -669,26 +618,13 @@ const MySqlService = {
|
||||
handler
|
||||
.factorize({
|
||||
values: data,
|
||||
actionName: "Update model..",
|
||||
actionName: `Update users ID::${data.id}`,
|
||||
})
|
||||
.then((factorizeResult) => {
|
||||
const _sql = `UPDATE models SET (${factorizeResult._keysTemplate}) WERE id VALUES(${
|
||||
factorizeResult._questionMarksFields
|
||||
})`;
|
||||
|
||||
try {
|
||||
if (isDebugMode()) handler.Logger.trace(_sql);
|
||||
if (isDebugMode())
|
||||
handler.Logger.trace(factorizeResult._valuesArray);
|
||||
//ToTest
|
||||
handler
|
||||
.execute(_sql, factorizeResult._valuesArray)
|
||||
.then((result) => {
|
||||
return resolve(result as unknown as IDbStatusResult);
|
||||
});
|
||||
} catch (err: unknown) {
|
||||
reject(err as Error);
|
||||
}
|
||||
.then((result) => {
|
||||
const _sql = `UPDATE "users" SET ${result._keysTemplate} WHERE 'id' = '${data.id}'`;
|
||||
handler.execute(_sql, result._valuesArray).then((result) => {
|
||||
return resolve(result as unknown as IDbStatusResult);
|
||||
});
|
||||
});
|
||||
} catch (err: unknown) {
|
||||
reject(err as Error);
|
||||
@ -709,7 +645,7 @@ const MySqlService = {
|
||||
return new Promise((resolve, reject) => {
|
||||
if (!modelId) return reject("Id is undefined");
|
||||
if (modelId.length !== 36) return reject("Id invalid");
|
||||
const _sql = "DELETE FROM models WHERE id VALUES(?)";
|
||||
const _sql = "DELETE FROM `models` WHERE `id` = ?";
|
||||
const _values = [modelId];
|
||||
try {
|
||||
handler.execute(_sql, _values).then((result) => {
|
||||
@ -733,29 +669,23 @@ const MySqlService = {
|
||||
return new Promise((resolve, reject) => {
|
||||
if (!data.id) return reject("Id is undefined");
|
||||
if (data.id.length !== 36) return reject("Id invalid");
|
||||
handler
|
||||
.factorize({
|
||||
values: data,
|
||||
actionName: "Inserting new vehicle",
|
||||
})
|
||||
.then((factorizedResult) => {
|
||||
const valuesArray = factorizedResult._valuesArray;
|
||||
const template = factorizedResult._keysTemplate;
|
||||
const _sql = `INSERT INTO models (${template + `, id`}) VALUES(${
|
||||
factorizedResult._questionMarksFields
|
||||
})`;
|
||||
|
||||
try {
|
||||
if (isDebugMode()) handler.Logger.trace(_sql);
|
||||
if (isDebugMode()) handler.Logger.trace(valuesArray);
|
||||
//ToTest
|
||||
handler.execute(_sql, valuesArray).then((result) => {
|
||||
return resolve(result as unknown as IDbStatusResult);
|
||||
});
|
||||
} catch (err: unknown) {
|
||||
reject(err as Error);
|
||||
}
|
||||
const _sql =
|
||||
"INSERT INTO `vehicles`(`model_id`, `plate_number`, `odometer`, `health_state`, `id`) VALUES (?, ?, ?, ?, ?)";
|
||||
const _values = [
|
||||
data.model_id,
|
||||
data.plate_number,
|
||||
data.odometer,
|
||||
data.health_state,
|
||||
data.id,
|
||||
];
|
||||
try {
|
||||
handler.execute(_sql, _values).then((result) => {
|
||||
return resolve(result as unknown as IDbStatusResult);
|
||||
});
|
||||
} catch (err: unknown) {
|
||||
reject(err as Error);
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
@ -775,26 +705,13 @@ const MySqlService = {
|
||||
handler
|
||||
.factorize({
|
||||
values: data,
|
||||
actionName: "Update vehicle..",
|
||||
actionName: `Update vehicle ID::${data.id}`,
|
||||
})
|
||||
.then((factorizeResult) => {
|
||||
const _sql = `UPDATE vehicles SET (${factorizeResult._keysTemplate}) WERE id VALUES(${
|
||||
factorizeResult._questionMarksFields
|
||||
})`;
|
||||
|
||||
try {
|
||||
if (isDebugMode()) handler.Logger.trace(_sql);
|
||||
if (isDebugMode())
|
||||
handler.Logger.trace(factorizeResult._valuesArray);
|
||||
//ToTest
|
||||
handler
|
||||
.execute(_sql, factorizeResult._valuesArray)
|
||||
.then((result) => {
|
||||
return resolve(result as unknown as IDbStatusResult);
|
||||
});
|
||||
} catch (err: unknown) {
|
||||
reject(err as Error);
|
||||
}
|
||||
.then((result) => {
|
||||
const _sql = `UPDATE "vehicles" SET ${result._keysTemplate} WHERE 'id' = '${data.id}'`;
|
||||
handler.execute(_sql, result._valuesArray).then((result) => {
|
||||
return resolve(result as unknown as IDbStatusResult);
|
||||
});
|
||||
});
|
||||
} catch (err: unknown) {
|
||||
reject(err as Error);
|
||||
@ -814,7 +731,7 @@ const MySqlService = {
|
||||
return new Promise((resolve, reject) => {
|
||||
if (!vehicleId) return reject("Id is undefined");
|
||||
if (vehicleId.length !== 36) return reject("Id invalid");
|
||||
const _sql = "SELECT * FROM vehicles WHERE id VALUES(?)";
|
||||
const _sql = "SELECT * FROM `vehicles` WHERE `id` = ?";
|
||||
const _values = [vehicleId];
|
||||
try {
|
||||
handler.execute(_sql, _values).then((result) => {
|
||||
@ -835,7 +752,7 @@ const MySqlService = {
|
||||
*/
|
||||
getAll(handler: MysqlHandler): Promise<Array<IDbVehicle>> {
|
||||
return new Promise((resolve, reject) => {
|
||||
const _sql = "SELECT * FROM models";
|
||||
const _sql = "SELECT * FROM `models`";
|
||||
try {
|
||||
handler.query(_sql).then((result) => {
|
||||
return resolve(result as unknown as Array<IDbVehicle>);
|
||||
@ -855,7 +772,7 @@ const MySqlService = {
|
||||
*/
|
||||
getAvailable(handler: MysqlHandler): Promise<Array<IDbVehicle>> {
|
||||
return new Promise((resolve, reject) => {
|
||||
const _sql = "SELECT * FROM vehicles WERE isAvailable = 1";
|
||||
const _sql = "SELECT * FROM `vehicles` WERE `isAvailable` = 1";
|
||||
try {
|
||||
handler.query(_sql).then((result) => {
|
||||
return resolve(result as unknown as Array<IDbVehicle>);
|
||||
@ -866,21 +783,7 @@ const MySqlService = {
|
||||
});
|
||||
},
|
||||
|
||||
delete(handler: MysqlHandler, vehicleId: string): Promise<IDbStatusResult> {
|
||||
return new Promise((resolve, reject) => {
|
||||
if (!vehicleId) return reject("Id is undefined");
|
||||
if (vehicleId.length !== 36) return reject("Id invalid");
|
||||
const _sql = "DELETE FROM vehicle WHERE id VALUES(?)";
|
||||
const _values = [vehicleId];
|
||||
try {
|
||||
handler.execute(_sql, _values).then((result) => {
|
||||
return resolve(result as unknown as IDbStatusResult);
|
||||
});
|
||||
} catch (err: unknown) {
|
||||
reject(err as Error);
|
||||
}
|
||||
});
|
||||
},
|
||||
//TODO DELETE
|
||||
},
|
||||
Category: {
|
||||
/**
|
||||
@ -895,29 +798,17 @@ const MySqlService = {
|
||||
return new Promise((resolve, reject) => {
|
||||
if (!data.id) return reject("Id is undefined");
|
||||
if (data.id.length !== 36) return reject("Id invalid");
|
||||
handler
|
||||
.factorize({
|
||||
values: data,
|
||||
actionName: "Inserting new category",
|
||||
})
|
||||
.then((factorizedResult) => {
|
||||
const valuesArray = factorizedResult._valuesArray;
|
||||
const template = factorizedResult._keysTemplate;
|
||||
const _sql = `INSERT INTO categories (${template + `, id`}) VALUES(${
|
||||
factorizedResult._questionMarksFields
|
||||
})`;
|
||||
|
||||
try {
|
||||
if (isDebugMode()) handler.Logger.trace(_sql);
|
||||
if (isDebugMode()) handler.Logger.trace(valuesArray);
|
||||
//ToTest
|
||||
handler.execute(_sql, valuesArray).then((result) => {
|
||||
return resolve(result as unknown as IDbStatusResult);
|
||||
});
|
||||
} catch (err: unknown) {
|
||||
reject(err as Error);
|
||||
}
|
||||
const _sql =
|
||||
"INSERT INTO `categories`(`id`,`slug_name`, `display_name`) VALUES (?, ?, ?)";
|
||||
const _values = [data.id, data.slug_name, data.display_name];
|
||||
try {
|
||||
handler.execute(_sql, _values).then((result) => {
|
||||
return resolve(result as unknown as IDbStatusResult);
|
||||
});
|
||||
} catch (err: unknown) {
|
||||
reject(err as Error);
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
@ -936,26 +827,13 @@ const MySqlService = {
|
||||
handler
|
||||
.factorize({
|
||||
values: data,
|
||||
actionName: "Update brand..",
|
||||
actionName: `Update category ID::${data.id}`,
|
||||
})
|
||||
.then((factorizeResult) => {
|
||||
const _sql = `UPDATE categories SET (${factorizeResult._keysTemplate}) WERE id VALUES(${
|
||||
factorizeResult._questionMarksFields
|
||||
})`;
|
||||
|
||||
try {
|
||||
if (isDebugMode()) handler.Logger.trace(_sql);
|
||||
if (isDebugMode())
|
||||
handler.Logger.trace(factorizeResult._valuesArray);
|
||||
//ToTest
|
||||
handler
|
||||
.execute(_sql, factorizeResult._valuesArray)
|
||||
.then((result) => {
|
||||
return resolve(result as unknown as IDbStatusResult);
|
||||
});
|
||||
} catch (err: unknown) {
|
||||
reject(err as Error);
|
||||
}
|
||||
.then((result) => {
|
||||
const _sql = `UPDATE "categories" SET ${result._keysTemplate} WHERE 'id' = '${data.id}'`;
|
||||
handler.execute(_sql, result._valuesArray).then((result) => {
|
||||
return resolve(result as unknown as IDbStatusResult);
|
||||
});
|
||||
});
|
||||
} catch (err: unknown) {
|
||||
reject(err as Error);
|
||||
@ -974,7 +852,7 @@ const MySqlService = {
|
||||
*/
|
||||
getAll(handler: MysqlHandler): Promise<Array<IDbCategory>> {
|
||||
return new Promise((resolve, reject) => {
|
||||
const _sql = "SELECT * FROM categories";
|
||||
const _sql = "SELECT * FROM `categories`";
|
||||
try {
|
||||
resolve(handler.query(_sql) as unknown as Array<IDbCategory>);
|
||||
} catch (err: unknown) {
|
||||
@ -996,7 +874,7 @@ const MySqlService = {
|
||||
): Promise<IDbCategory> {
|
||||
return new Promise((resolve, reject) => {
|
||||
if (!categorySlug) return reject("slug is undefined");
|
||||
const _sql = "SELECT * FROM categories WHERE slug_name VALUES(?)";
|
||||
const _sql = "SELECT * FROM `categories` WHERE `slug_name` = ?";
|
||||
const _values = [categorySlug];
|
||||
try {
|
||||
handler.execute(_sql, _values).then((result) => {
|
||||
@ -1019,7 +897,7 @@ const MySqlService = {
|
||||
return new Promise((resolve, reject) => {
|
||||
if (!categoryId) return reject("slug is undefined");
|
||||
if (categoryId.length !== 36) return reject("Id invalid");
|
||||
const _sql = "SELECT * FROM categories WHERE id VALUES(?)";
|
||||
const _sql = "SELECT * FROM `categories` WHERE `id` = ?";
|
||||
const _values = [categoryId];
|
||||
try {
|
||||
handler.execute(_sql, _values).then((result) => {
|
||||
@ -1040,14 +918,11 @@ const MySqlService = {
|
||||
* @returns {Promise<IDbStatusResult>} - A promise that resolves to the database status result after deletion.
|
||||
* @throws {Error} - If an error occurs while executing the deletion query.
|
||||
*/
|
||||
delete(
|
||||
handler: MysqlHandler,
|
||||
categoryId: string,
|
||||
): Promise<IDbStatusResult> {
|
||||
delete(handler: MysqlHandler, categoryId: string) {
|
||||
return new Promise((resolve, reject) => {
|
||||
if (!categoryId) return reject("Id is undefined");
|
||||
if (categoryId.length !== 36) return reject("Id invalid");
|
||||
const _sql = "DELETE FROM categories WHERE id VALUES(?)";
|
||||
const _sql = "DELETE FROM `categories` WHERE `id` = ?";
|
||||
const _values = [categoryId];
|
||||
try {
|
||||
handler.execute(_sql, _values).then((result) => {
|
||||
@ -1058,163 +933,7 @@ const MySqlService = {
|
||||
}
|
||||
});
|
||||
},
|
||||
//ToTest
|
||||
/**
|
||||
* Retrieves all models from a specific category.
|
||||
*
|
||||
* @param {MysqlHandler} handler - The MySQL handler object used for executing the query.
|
||||
* @param {string} categoryId - The ID of the category.
|
||||
* @return {Promise<Array<IDbModel>>} - A promise that resolves to an array of database models belonging to the specified category.
|
||||
*/
|
||||
getAllModelsFromCategory(handler: MysqlHandler, categoryId: string): Promise<Array<IDbModel>> {
|
||||
return new Promise((resolve, reject) => {
|
||||
const _sql =
|
||||
"SELECT models.* FROM models INNER JOIN categories ON models.category_id = categories.id WHERE categories.id VALUES(?)";
|
||||
try {
|
||||
handler.execute(_sql, [categoryId]).then((result) => {
|
||||
return resolve(result as unknown as Array<IDbModel>);
|
||||
});
|
||||
} catch (err: unknown) {
|
||||
reject(err as Error);
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
},
|
||||
Rent: {
|
||||
//ToTest
|
||||
insert(handler: MysqlHandler, data: IDbRent): Promise<IDbStatusResult> {
|
||||
return new Promise((resolve, reject) => {
|
||||
if (!data.id) return reject("Id is undefined");
|
||||
if (data.id.length !== 36) return reject("Id invalid");
|
||||
handler
|
||||
.factorize({
|
||||
values: data,
|
||||
actionName: "Inserting new rent",
|
||||
})
|
||||
.then((factorizedResult) => {
|
||||
const valuesArray = factorizedResult._valuesArray;
|
||||
const template = factorizedResult._keysTemplate;
|
||||
const _sql = `INSERT INTO rents (${template + `, id`}) VALUES(${
|
||||
factorizedResult._questionMarksFields
|
||||
})`;
|
||||
|
||||
try {
|
||||
if (isDebugMode()) handler.Logger.trace(_sql);
|
||||
if (isDebugMode()) handler.Logger.trace(valuesArray);
|
||||
//ToTest
|
||||
handler.execute(_sql, valuesArray).then((result) => {
|
||||
return resolve(result as unknown as IDbStatusResult);
|
||||
});
|
||||
} catch (err: unknown) {
|
||||
reject(err as Error);
|
||||
}
|
||||
});
|
||||
});
|
||||
},
|
||||
|
||||
//ToTest
|
||||
/**
|
||||
* Retrieves the assigned vehicles for a given user.
|
||||
*
|
||||
* @param {MysqlHandler} handler - The MySQL handler used to execute the database query.
|
||||
* @param {string} userId - The ID of the user.
|
||||
* @returns {Promise<Array<IDbVehicle>>} A promise that resolves to an array of assigned vehicles.
|
||||
* @throws {Error} If an error occurs during the execution of the query.
|
||||
* @throws {string} If the user ID is undefined or invalid.
|
||||
*/
|
||||
getAssignedToUser(
|
||||
handler: MysqlHandler,
|
||||
userId: string,
|
||||
): Promise<Array<IDbVehicle>> {
|
||||
return new Promise((resolve, reject) => {
|
||||
if (!userId) return reject("Id is undefined");
|
||||
if (userId.length !== 36) return reject("Id invalid");
|
||||
const _sql =
|
||||
"SELECT vehicle.* FROM rent JOIN vehicles ON rent.vehicle_id = vehicles.id WHERE user_id AND active = 1 VALUES(?)";
|
||||
const _values = [userId];
|
||||
try {
|
||||
handler.execute(_sql, _values).then((result) => {
|
||||
return resolve(result as unknown as Array<IDbVehicle>);
|
||||
});
|
||||
} catch (err: unknown) {
|
||||
reject(err as Error);
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* Retrieves all assigned vehicles from the database.
|
||||
*
|
||||
* @param {MysqlHandler} handler - The MySQL handler object used for executing the query.
|
||||
*
|
||||
* @returns {Promise<Array<IDbVehicle>>} A Promise that resolves with an array of assigned vehicles.
|
||||
* @throws {Error} If an error occurs during query execution or result conversion.
|
||||
*/
|
||||
getAllAssigned(handler: MysqlHandler): Promise<Array<IDbVehicle>> {
|
||||
return new Promise((resolve, reject) => {
|
||||
const _sql =
|
||||
"SELECT vehicle.* FROM rent JOIN vehicles ON rent.vehicle_id = vehicles.id WHERE active = 1";
|
||||
try {
|
||||
handler.query(_sql).then((result) => {
|
||||
return resolve(result as unknown as Array<IDbVehicle>);
|
||||
});
|
||||
} catch (err: unknown) {
|
||||
reject(err as Error);
|
||||
}
|
||||
});
|
||||
},
|
||||
update(handler: MysqlHandler, data: IDbRent): Promise<IDbStatusResult> {
|
||||
return new Promise((resolve, reject) => {
|
||||
if (!data.id) return reject("Id is undefined");
|
||||
if (data.id.length !== 36) return reject("Id invalid");
|
||||
try {
|
||||
handler
|
||||
.factorize({
|
||||
values: data,
|
||||
actionName: "Update rent..",
|
||||
})
|
||||
.then((factorizeResult) => {
|
||||
const _sql = `UPDATE rents SET (${factorizeResult._keysTemplate}) WERE id = ? VALUES(${factorizeResult._questionMarksFields})`;
|
||||
|
||||
try {
|
||||
if (isDebugMode()) handler.Logger.trace(_sql);
|
||||
if (isDebugMode())
|
||||
handler.Logger.trace(factorizeResult._valuesArray);
|
||||
//ToTest
|
||||
handler
|
||||
.execute(_sql, factorizeResult._valuesArray)
|
||||
.then((result) => {
|
||||
return resolve(result as unknown as IDbStatusResult);
|
||||
});
|
||||
} catch (err: unknown) {
|
||||
reject(err as Error);
|
||||
}
|
||||
});
|
||||
} catch (err: unknown) {
|
||||
reject(err as Error);
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
delete(
|
||||
handler: MysqlHandler,
|
||||
rentId: string,
|
||||
): Promise<IDbStatusResult> {
|
||||
return new Promise((resolve, reject) => {
|
||||
if (!rentId) return reject("Id is undefined");
|
||||
if (rentId.length !== 36) return reject("Id invalid");
|
||||
const _sql = "DELETE FROM rents WHERE id VALUES(?)";
|
||||
const _values = [rentId];
|
||||
try {
|
||||
handler.execute(_sql, _values).then((result) => {
|
||||
return resolve(result as unknown as IDbStatusResult);
|
||||
});
|
||||
} catch (err: unknown) {
|
||||
reject(err as Error);
|
||||
}
|
||||
});
|
||||
},
|
||||
//TODO Get models in category
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user