update to update image URL if media is in db
This commit is contained in:
parent
7870951fc7
commit
9ff76bd210
@ -25,16 +25,6 @@ async function createMed(req: Request, res: Response) {
|
||||
|
||||
try {
|
||||
|
||||
const seriesFound = await MediaModel.findOne(Table.series, cleanCode);
|
||||
if (seriesFound.length != 0) {
|
||||
return res.status(409).json({ message: 'Media already exists' });
|
||||
}
|
||||
|
||||
const moviesFound = await MediaModel.findOne(Table.movies, cleanCode);
|
||||
if (moviesFound.length != 0) {
|
||||
return res.status(409).json({ message: 'Media already exists' });
|
||||
}
|
||||
|
||||
const uri = `http://www.omdbapi.com/?i=${mediaCode}&apikey=${omdb_key}`;
|
||||
const mJson = await fetch(uri);
|
||||
const mData = await mJson.json();
|
||||
@ -43,12 +33,17 @@ async function createMed(req: Request, res: Response) {
|
||||
return res.status(404).json({ message: 'wrong code' });
|
||||
}
|
||||
|
||||
const media = {
|
||||
code: mediaCode,
|
||||
title: mData.Title,
|
||||
released: mData.Released,
|
||||
webImg: mData.Poster,
|
||||
};
|
||||
const seriesFound = await MediaModel.findOne(Table.series, cleanCode);
|
||||
if (seriesFound.length != 0) {
|
||||
await MediaModel.updateWebImg(Table.series, cleanCode, mData.Poster);
|
||||
return res.status(409).json({ message: 'Media already exists' });
|
||||
}
|
||||
|
||||
const moviesFound = await MediaModel.findOne(Table.movies, cleanCode);
|
||||
if (moviesFound.length != 0) {
|
||||
await MediaModel.updateWebImg(Table.movies, cleanCode, mData.Poster);
|
||||
return res.status(409).json({ message: 'Media already exists' });
|
||||
}
|
||||
|
||||
if (mData.Type.localeCompare("movie") == 0) {
|
||||
const savedMedia = await MediaModel.save(Table.movies, cleanCode, mData.Title, mData.Released, mData.Poster);
|
||||
@ -57,6 +52,13 @@ async function createMed(req: Request, res: Response) {
|
||||
const savedMedia = await MediaModel.save(Table.series, cleanCode, mData.Title, mData.Released, mData.Poster);
|
||||
}
|
||||
|
||||
const media = {
|
||||
code: mediaCode,
|
||||
title: mData.Title,
|
||||
released: mData.Released,
|
||||
webImg: mData.Poster,
|
||||
};
|
||||
|
||||
return res.status(201).json(media);
|
||||
} catch (err) {
|
||||
return res.status(500).json({ message: 'Error when creating media' });
|
||||
|
@ -31,6 +31,21 @@ async function save(table: Table, code: number, title: string, released: string,
|
||||
return 0;
|
||||
}
|
||||
|
||||
async function updateWebImg(table: Table, code: number, webImg: string): Promise<number> {
|
||||
try {
|
||||
const options: QueryOptions = {
|
||||
sql: "UPDATE " + table + "SET webImg = ? WHERE code = ?;",
|
||||
values: [webImg, code]
|
||||
};
|
||||
const [result, fields] = await pool.query<ResultSetHeader>(options);
|
||||
return result.affectedRows;
|
||||
}
|
||||
catch (err) {
|
||||
console.log(err);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
async function findOneAndDelete(table: Table, code: number): Promise<number> {
|
||||
try {
|
||||
const [result, fields] = await pool.query<ResultSetHeader>("DELETE FROM " + table + " WHERE code = ?;", [code]);
|
||||
@ -66,6 +81,7 @@ async function find(table: Table): Promise<Media[]> {
|
||||
|
||||
export default {
|
||||
save,
|
||||
updateWebImg,
|
||||
findOneAndDelete,
|
||||
findOne,
|
||||
find
|
||||
|
Loading…
x
Reference in New Issue
Block a user