lib/graphql/resolvers/queries/movie.js
const { db } = require('../../../adapters/db')
const { movieLaterals, movieSelects } = require('../../../utils/helpers')
module.exports = async (_, { id }) => {
let whereID = 'WHERE id = $1'
if (id && id.indexOf('tt') > -1) {
whereID = 'WHERE imdb_id = $1'
}
const sql = `
SELECT
distinct on (m.id) m.*,
${movieSelects}
FROM
(
SELECT *,
EXTRACT(YEAR FROM release_date) as year
FROM movies ${whereID}
) as m,
${movieLaterals}
`
try {
return await db.one(sql, [id])
} catch (e) {
return null
}
}