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 {
|
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 uri = `http://www.omdbapi.com/?i=${mediaCode}&apikey=${omdb_key}`;
|
||||||
const mJson = await fetch(uri);
|
const mJson = await fetch(uri);
|
||||||
const mData = await mJson.json();
|
const mData = await mJson.json();
|
||||||
@ -43,12 +33,17 @@ async function createMed(req: Request, res: Response) {
|
|||||||
return res.status(404).json({ message: 'wrong code' });
|
return res.status(404).json({ message: 'wrong code' });
|
||||||
}
|
}
|
||||||
|
|
||||||
const media = {
|
const seriesFound = await MediaModel.findOne(Table.series, cleanCode);
|
||||||
code: mediaCode,
|
if (seriesFound.length != 0) {
|
||||||
title: mData.Title,
|
await MediaModel.updateWebImg(Table.series, cleanCode, mData.Poster);
|
||||||
released: mData.Released,
|
return res.status(409).json({ message: 'Media already exists' });
|
||||||
webImg: mData.Poster,
|
}
|
||||||
};
|
|
||||||
|
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) {
|
if (mData.Type.localeCompare("movie") == 0) {
|
||||||
const savedMedia = await MediaModel.save(Table.movies, cleanCode, mData.Title, mData.Released, mData.Poster);
|
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 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);
|
return res.status(201).json(media);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
return res.status(500).json({ message: 'Error when creating media' });
|
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;
|
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> {
|
async function findOneAndDelete(table: Table, code: number): Promise<number> {
|
||||||
try {
|
try {
|
||||||
const [result, fields] = await pool.query<ResultSetHeader>("DELETE FROM " + table + " WHERE code = ?;", [code]);
|
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 {
|
export default {
|
||||||
save,
|
save,
|
||||||
|
updateWebImg,
|
||||||
findOneAndDelete,
|
findOneAndDelete,
|
||||||
findOne,
|
findOne,
|
||||||
find
|
find
|
||||||
|
Loading…
x
Reference in New Issue
Block a user