Skip to content

Commit

Permalink
Merge pull request #97 from Dreallers/dev
Browse files Browse the repository at this point in the history
Dev
  • Loading branch information
Aurelemeriau authored Feb 5, 2024
2 parents 7b2d302 + 6a19aa0 commit 470562b
Show file tree
Hide file tree
Showing 163 changed files with 6,750 additions and 1,468 deletions.
6 changes: 4 additions & 2 deletions backend/.eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,15 @@
"sourceType": "module"
},
"rules": {
"no-console": "off",
"no-console": 0,
"no-restricted-syntax": [
"error",
{
"selector": "CallExpression[callee.object.name='console'][callee.property.name!=/^(error|warn|info)$/]",
"message": "You can only call the error(), warn() and info() methods from the console object"
}
]
],
"camelcase": "off",
"import/no-extraneous-dependencies": "off"
}
}
1 change: 1 addition & 0 deletions backend/.gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
node_modules
coverage
.env
public
2 changes: 1 addition & 1 deletion backend/database/client.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ client
connection.release();
})
.catch((error) => {
console.warn(
console.error(
"Warning:",
"Failed to establish a database connection.",
"Please check your database credentials in the .env file if you need a database access."
Expand Down
94 changes: 55 additions & 39 deletions backend/database/schema.sql
Original file line number Diff line number Diff line change
@@ -1,26 +1,23 @@
DROP TABLE IF EXISTS `User`;
DROP TABLE IF EXISTS `Avatar`;

CREATE TABLE
`User` (
`Avatar` (
`id` INT PRIMARY KEY AUTO_INCREMENT NOT NULL,
`name` VARCHAR(50) NOT NULL,
`email` VARCHAR(50) NOT NULL,
`naissance` DATE NOT NULL,
`civility` BOOLEAN NOT NULL,
`hashed_password` VARCHAR(150) NOT NULL,
`IsAdmin` BOOLEAN NOT NULL DEFAULT 0,
`avatar` VARCHAR(255)
`avatar_url` VARCHAR(255),
`avatar_filename` VARCHAR(255)
);

DROP TABLE IF EXISTS `Film`;

CREATE TABLE
`Film` (
`id` INT PRIMARY KEY AUTO_INCREMENT NOT NULL,
`miniature` VARCHAR(255) NOT NULL,
`cover` VARCHAR(255) NOT NULL,
`miniature_url` VARCHAR(255) DEFAULT NULL,
`miniature_filename` VARCHAR(255) DEFAULT NULL,
`cover_url` VARCHAR(255) DEFAULT NULL,
`cover_filename` VARCHAR(255) DEFAULT NULL,
`title` VARCHAR(255) NOT NULL,
`videoUrl` VARCHAR(255),
`videoUrl` VARCHAR(255) NOT NULL,
`duration` INT NOT NULL,
`year` VARCHAR(4) NOT NULL,
`description` VARCHAR(700) NOT NULL,
Expand All @@ -35,51 +32,70 @@ CREATE TABLE
`name` VARCHAR(255) NOT NULL
);

-- Join tables

DROP TABLE IF EXISTS `Watchlist`;
DROP TABLE IF EXISTS `User`;

CREATE TABLE
`Watchlist` (
`userId` INT NOT NULL,
`filmId` INT NOT NULL,
CONSTRAINT FK_Watchlist_user_id FOREIGN KEY (`userId`) REFERENCES `User` (`id`),
CONSTRAINT FK_Watchlist_film_id FOREIGN KEY (`filmId`) REFERENCES `Film` (`id`),
PRIMARY KEY (`userId`, `filmId`)
`User` (
`id` INT PRIMARY KEY AUTO_INCREMENT NOT NULL,
`name` VARCHAR(50) NOT NULL,
`email` VARCHAR(50) NOT NULL,
`naissance` DATE NOT NULL,
`civility` BOOLEAN NOT NULL,
`hashed_password` VARCHAR(150) NOT NULL,
`IsAdmin` BOOLEAN NOT NULL DEFAULT 0,
`avatarId` INT NOT NULL,
CONSTRAINT FK_User_avatar_id FOREIGN KEY (`avatarId`) REFERENCES `Avatar` (`id`)
);

DROP TABLE IF EXISTS `Favori_film`;

CREATE TABLE
`Favori_film` (
`userId` INT NOT NULL,
`filmId` INT NOT NULL,
CONSTRAINT FK_Favori_Film_user_id FOREIGN KEY (`userId`) REFERENCES `User` (`id`),
CONSTRAINT FK_Favori_Film_film_id FOREIGN KEY (`filmId`) REFERENCES `Film` (`id`),
PRIMARY KEY (`userId`, `filmId`)
);
-- Join tables

DROP TABLE IF EXISTS `Categorie_par_film`;

CREATE TABLE
`Categorie_par_film` (
`filmId` INT NOT NULL,
`categorieId` INT NOT NULL,
CONSTRAINT FK_Categorie_Par_Film_film_id FOREIGN KEY (`filmId`) REFERENCES `Film` (`id`),
CONSTRAINT FK_Categorie_Par_Film_categorie_id FOREIGN KEY (`categorieId`) REFERENCES `Categorie` (`id`),
`unique_key` VARCHAR(255) NOT NULL,
CONSTRAINT FK_Categorie_Par_Film_film_id FOREIGN KEY (`filmId`) REFERENCES `Film` (`id`) ON DELETE CASCADE,
CONSTRAINT FK_Categorie_Par_Film_categorie_id FOREIGN KEY (`categorieId`) REFERENCES `Categorie` (`id`) ON DELETE CASCADE,
PRIMARY KEY (`filmId`, `categorieId`)
);

DROP TABLE IF EXISTS `Commentaire_film`;

CREATE TABLE `Commentaire_film` (
`id` INT PRIMARY KEY AUTO_INCREMENT NOT NULL,
`userId` INT NOT NULL,
`filmId` INT NOT NULL,
`avatarId` INT NOT NULL,
`content` VARCHAR(500) NOT NULL,
`date` DATETIME NOT NULL,
`unique_key` VARCHAR(350) NOT NULL DEFAULT '',
CONSTRAINT FK_Commentaire_Film_user_id FOREIGN KEY (`userId`) REFERENCES `User` (`id`),
CONSTRAINT FK_Commentaire_Film_film_id FOREIGN KEY (`filmId`) REFERENCES `Film` (`id`) ON DELETE CASCADE,
CONSTRAINT FK_Commentaire_Film_avatar_id FOREIGN KEY (`avatarId`) REFERENCES `Avatar` (`id`)
);

DROP TABLE IF EXISTS `Watchlist`;

CREATE TABLE
`Commentaire_film` (
`id` INT PRIMARY KEY AUTO_INCREMENT NOT NULL,
`Watchlist` (
`userId` INT NOT NULL,
`filmId` INT NOT NULL,
`content` VARCHAR(500) NOT NULL,
`date` DATETIME NOT NULL,
`unique_key` VARCHAR(255) NOT NULL,
CONSTRAINT FK_Commentaire_Film_user_id FOREIGN KEY (`userId`) REFERENCES `User` (`id`),
CONSTRAINT FK_Commentaire_Film_film_id FOREIGN KEY (`filmId`) REFERENCES `Film` (`id`)
CONSTRAINT FK_Watchlist_user_id FOREIGN KEY (`userId`) REFERENCES `User` (`id`),
CONSTRAINT FK_Watchlist_film_id FOREIGN KEY (`filmId`) REFERENCES `Film` (`id`) ON DELETE CASCADE,
PRIMARY KEY (`userId`, `filmId`)
);

DROP TABLE IF EXISTS `Favori_film`;

CREATE TABLE
`Favori_film` (
`userId` INT NOT NULL,
`filmId` INT NOT NULL,
`unique_key` VARCHAR(255) NOT NULL,
CONSTRAINT FK_Favori_Film_user_id FOREIGN KEY (`userId`) REFERENCES `User` (`id`),
CONSTRAINT FK_Favori_Film_film_id FOREIGN KEY (`filmId`) REFERENCES `Film` (`id`) ON DELETE CASCADE,
PRIMARY KEY (`userId`, `filmId`)
);
133 changes: 119 additions & 14 deletions backend/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 3 additions & 2 deletions backend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"start": "node index.js",
"test": "jest",
"prettier": "npx prettier --write .",
"lint": "npx eslint . --fix",
"lint": "npx eslint .",
"build": "npm run db:migrate ; npm run db:seed"
},
"dependencies": {
Expand All @@ -15,6 +15,7 @@
"cors": "^2.8.5",
"dotenv": "^16.3.1",
"express": "^4.18.2",
"jsonwebtoken": "^9.0.2",
"multer": "^1.4.5-lts.1",
"mysql2": "^3.5.2",
"uuid": "^9.0.1"
Expand All @@ -35,4 +36,4 @@
"*.sql": "prettier --check",
"*.js": "eslint"
}
}
}
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
Loading

0 comments on commit 470562b

Please sign in to comment.