Compare commits
3 Commits
d05c7efadc
...
8138231112
| Author | SHA1 | Date | |
|---|---|---|---|
| 8138231112 | |||
| edf2f6880c | |||
| cd4b8479d2 |
19
.idea/dataSources.local.xml
generated
Normal file
19
.idea/dataSources.local.xml
generated
Normal file
@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="dataSourceStorageLocal" created-in="DB-241.14494.283">
|
||||
<data-source name="@docker/brief05" uuid="1f2800b5-8649-4a80-a9ec-b7b2a24623b4">
|
||||
<database-info product="MariaDB" version="10.3.39-MariaDB-1:10.3.39+maria~ubu2004" jdbc-version="4.2" driver-name="MariaDB Connector/J" driver-version="3.3.3" dbms="MARIADB" exact-version="10.3.39" exact-driver-version="3.3">
|
||||
<extra-name-characters>#@</extra-name-characters>
|
||||
<identifier-quote-string>`</identifier-quote-string>
|
||||
</database-info>
|
||||
<case-sensitivity plain-identifiers="exact" quoted-identifiers="exact" />
|
||||
<secret-storage>master_key</secret-storage>
|
||||
<user-name>user_brief05</user-name>
|
||||
<schema-mapping>
|
||||
<introspection-scope>
|
||||
<node kind="schema" qname="@" />
|
||||
</introspection-scope>
|
||||
</schema-mapping>
|
||||
</data-source>
|
||||
</component>
|
||||
</project>
|
||||
12
.idea/dataSources.xml
generated
Normal file
12
.idea/dataSources.xml
generated
Normal file
@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="DataSourceManagerImpl" format="xml" multifile-model="true">
|
||||
<data-source source="LOCAL" name="@docker/brief05" uuid="1f2800b5-8649-4a80-a9ec-b7b2a24623b4">
|
||||
<driver-ref>mariadb</driver-ref>
|
||||
<synchronize>true</synchronize>
|
||||
<jdbc-driver>org.mariadb.jdbc.Driver</jdbc-driver>
|
||||
<jdbc-url>jdbc:mariadb://localhost:3434/brief_05</jdbc-url>
|
||||
<working-dir>$ProjectFileDir$</working-dir>
|
||||
</data-source>
|
||||
</component>
|
||||
</project>
|
||||
1306
.idea/dataSources/1f2800b5-8649-4a80-a9ec-b7b2a24623b4.xml
generated
Normal file
1306
.idea/dataSources/1f2800b5-8649-4a80-a9ec-b7b2a24623b4.xml
generated
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,2 @@
|
||||
#n:brief_05
|
||||
!<md> [0, 0, null, null, -2147483648, -2147483648]
|
||||
6
.idea/sqldialects.xml
generated
Normal file
6
.idea/sqldialects.xml
generated
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="SqlDialectMappings">
|
||||
<file url="PROJECT" dialect="MariaDB" />
|
||||
</component>
|
||||
</project>
|
||||
@ -7,7 +7,7 @@
|
||||
"author": "Mathis HERRIOT",
|
||||
"license": "MIT",
|
||||
"scripts": {
|
||||
"bun:dev": "--watch src/app.ts"
|
||||
"bun:dev": "bun run --watch src/app.ts"
|
||||
},
|
||||
"dependencies": {
|
||||
"@node-rs/argon2": "^1.8.3",
|
||||
|
||||
@ -581,8 +581,16 @@ const MySqlService = {
|
||||
})
|
||||
}
|
||||
},
|
||||
//ToTest
|
||||
Vehicle: {
|
||||
insert(handler: MysqlHandler, data: IDbVehicle) {
|
||||
/**
|
||||
* Inserts a new record into the `vehicles` table.
|
||||
* @param {MysqlHandler} handler - The MySQL handler object.
|
||||
* @param {IDbVehicle} data - The vehicle data to be inserted.
|
||||
* @throws Throws an error if the provided `data` object does not contain the `id` property or if the `id` is not a valid UUID.
|
||||
* @returns {Promise<IDbStatusResult>} A promise that resolves to the result of the insert operation.
|
||||
*/
|
||||
insert(handler: MysqlHandler, data: IDbVehicle): Promise<IDbStatusResult> {
|
||||
return new Promise((resolve, reject) => {
|
||||
if (!data.id) return reject('Id is undefined');
|
||||
if (data.id.length !== 36) return reject('Id invalid');
|
||||
@ -603,10 +611,38 @@ const MySqlService = {
|
||||
})
|
||||
},
|
||||
|
||||
//TODO update by id
|
||||
update(handler: MysqlHandler, data: IDbVehicle) {
|
||||
/**
|
||||
* Update a vehicle record in the database.
|
||||
*
|
||||
* @param {MysqlHandler} handler - The MySQL handler object for executing the SQL query.
|
||||
* @param {IDbVehicle} data - The updated vehicle data.
|
||||
* @throws {string} Throws an error if the id is undefined or invalid.
|
||||
* @returns {Promise<IDbStatusResult>} Returns a Promise that resolves to the status result of the update operation.
|
||||
*/
|
||||
update(handler: MysqlHandler, data: IDbVehicle): 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 {
|
||||
const _template = `
|
||||
${data.model_id ? "`model_id` = ?," : null}
|
||||
${data.plate_number ? "`plate_number` = ?," : null}
|
||||
${data.odometer ? "`odometer` = ?," : null}
|
||||
${data.health_state ? "`health_state` = ?," : null}`
|
||||
|
||||
const _values = [
|
||||
data.model_id,
|
||||
data.plate_number,
|
||||
data.odometer,
|
||||
data.health_state,
|
||||
data.id
|
||||
]
|
||||
const _sql = `UPDATE "vehicles" SET ${_template} WHERE 'id' = ?`;
|
||||
return resolve(handler.execute(_sql, _values) as unknown as IDbStatusResult);
|
||||
} catch (err: unknown) {
|
||||
reject(err as Error);
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user