@ -98,6 +98,7 @@ export function createTables(db: sqlite3.Database) {
// CREATE TABLE registered_user (
// CREATE TABLE registered_user (
// id_user SERIAL PRIMARY KEY,
// id_user SERIAL PRIMARY KEY,
// login VARCHAR(64) NOT NULL,
// login VARCHAR(64) NOT NULL,
// email VARCHAR(64) NOT NULL,
// password VARCHAR(72) NOT NULL,
// password VARCHAR(72) NOT NULL,
// permissions INT NOT NULL,
// permissions INT NOT NULL,
// UNIQUE (login)
// UNIQUE (login)
@ -105,7 +106,13 @@ export function createTables(db: sqlite3.Database) {
/* Créer la table registered_user dans la base de données */
/* Créer la table registered_user dans la base de données */
export function createRegisteredUserTable ( db : sqlite3.Database ) : Promise < void > {
export function createRegisteredUserTable ( db : sqlite3.Database ) : Promise < void > {
const tableRegisteredUser = ` CREATE TABLE IF NOT EXISTS registered_user (id_user INTEGER PRIMARY KEY AUTOINCREMENT, login TEXT NOT NULL, password TEXT NOT NULL, permissions INTEGER NOT NULL, UNIQUE (login)) ` ;
const tableRegisteredUser = ` CREATE TABLE IF NOT EXISTS registered_user (
id_user INTEGER PRIMARY KEY AUTOINCREMENT ,
login TEXT NOT NULL ,
email TEXT NOT NULL ,
password TEXT NOT NULL ,
permissions INTEGER NOT NULL ,
UNIQUE ( login ) ) ` ;
return runDB ( db , tableRegisteredUser , [ ] ) ;
return runDB ( db , tableRegisteredUser , [ ] ) ;
}
}
@ -114,12 +121,13 @@ export function createRegisteredUserTable(db: sqlite3.Database): Promise<void> {
export function insertUser (
export function insertUser (
db : sqlite3.Database ,
db : sqlite3.Database ,
login : string ,
login : string ,
email : string ,
password : string ,
password : string ,
permissions : number
permissions : number
) {
) {
const insertUserQuery = ` INSERT INTO registered_user (login, password, permissions) VALUES (?, ?, ?)` ;
const insertUserQuery = ` INSERT INTO registered_user (login, email, password, permissions) VALUES (?, ?, ?, ?)` ;
return runDB ( db , insertUserQuery , [ login , password, permissions ] ) ;
return runDB ( db , insertUserQuery , [ login , email, password, permissions ] ) ;
}
}
/* Modifier le login d'un utilisateur dans la table registered_user */
/* Modifier le login d'un utilisateur dans la table registered_user */
@ -155,6 +163,15 @@ export function updateUserPermissions(
return runDB ( db , updateUserPermissionsQuery , [ newPermissions , id ] ) ;
return runDB ( db , updateUserPermissionsQuery , [ newPermissions , id ] ) ;
}
}
export function updateUserEmail (
db : sqlite3.Database ,
id : number ,
newEmail : string
) {
const updateUserEmailQuery = ` UPDATE registered_user SET email = ? WHERE id_user = ? ` ;
return runDB ( db , updateUserEmailQuery , [ newEmail , id ] ) ;
}
/* Supprimer un utilisateur de la table registered_user par son ID */
/* Supprimer un utilisateur de la table registered_user par son ID */
export function deleteUserById ( db : sqlite3.Database , id : number ) {
export function deleteUserById ( db : sqlite3.Database , id : number ) {
const deleteUserQuery = ` DELETE FROM registered_user WHERE id_user = ? ` ;
const deleteUserQuery = ` DELETE FROM registered_user WHERE id_user = ? ` ;
@ -277,12 +294,20 @@ export function selectLanguageById(db: sqlite3.Database, id: number) {
// link CHAR(36) NOT NULL,
// link CHAR(36) NOT NULL,
// user_id INT REFERENCES registered_user(id_user),
// user_id INT REFERENCES registered_user(id_user),
// language_id INT NOT NULL REFERENCES language(id_language)
// language_id INT NOT NULL REFERENCES language(id_language)
// title VARCHAR(30) NOT NULL,
// content TEXT NOT NULL,
// content TEXT NOT NULL,
// date TIMESTAMP DEFAULT CURRENT_TIMESTAMP
// );
// );
/* Créer la table work dans la base de données */
/* Créer la table work dans la base de données */
export function createWorkTable ( db : sqlite3.Database ) : Promise < void > {
export function createWorkTable ( db : sqlite3.Database ) : Promise < void > {
const tableWork = ` CREATE TABLE IF NOT EXISTS work (id_work INTEGER PRIMARY KEY AUTOINCREMENT, link CHAR(36) NOT NULL, user_id INTEGER REFERENCES registered_user(id_user), language_id INTEGER NOT NULL REFERENCES language(id_language), content TEXT NOT NULL) ` ;
const tableWork = ` CREATE TABLE IF NOT EXISTS work (
id_work INTEGER PRIMARY KEY AUTOINCREMENT ,
link CHAR ( 36 ) NOT NULL , user_id INTEGER REFERENCES registered_user ( id_user ) ,
language_id INTEGER NOT NULL REFERENCES language ( id_language ) ,
title TEXT NOT NULL ,
content TEXT NOT NULL ,
date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ) ` ;
return runDB ( db , tableWork , [ ] ) ;
return runDB ( db , tableWork , [ ] ) ;
}
}
@ -292,11 +317,13 @@ export function insertWork(
link : string ,
link : string ,
user_id : number ,
user_id : number ,
language_id : number ,
language_id : number ,
content : string
title : string ,
content : string ,
date : string
) {
) {
const insertWorkQuery = ` INSERT INTO work (link, user_id, language_id, content) VALUES (?, ?, ?, ?) ` ;
const insertWorkQuery = ` INSERT INTO work (link, user_id, language_id, title, content, date ) VALUES (?, ?, ?, ?, ?, ?)` ;
return runDB ( db , insertWorkQuery , [ link , user_id , language_id , content] ) ;
return runDB ( db , insertWorkQuery , [ link , user_id , language_id , title, content, date ] ) ;
}
}
/* Sélectionner tous les works de la table work */
/* Sélectionner tous les works de la table work */