Skip to content

Commit

Permalink
Add videos
Browse files Browse the repository at this point in the history
  • Loading branch information
ftab committed Aug 4, 2024
1 parent 6468a5c commit 992fcc8
Show file tree
Hide file tree
Showing 3 changed files with 45 additions and 2 deletions.
15 changes: 15 additions & 0 deletions routes/api/videos.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
const express = require('express');
const router = express.Router();
const videos = require('../../services/videos');

/* GET videos */
router.get('/', async function(req, res, next) {
try {
res.json(await videos.getMultiple(req.query.userid, req.query.page));
} catch (err) {
console.error(`Error while getting videos `, err.message);
next(err);
}
});

module.exports = router;
7 changes: 5 additions & 2 deletions server.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,20 @@ const app = express();
const port = process.env.PORT || 5000;

const homeRouter = require("./routes/home");
const usersRouter = require("./routes/api/users");

const leaderboardRouter = require("./routes/api/leaderboard");
const usersRouter = require("./routes/api/users");
const videosRouter = require("./routes/api/videos");

app.set('view engine', 'pug');

app.use(express.static('public'));

app.use("/", homeRouter);

app.use("/api/users", usersRouter);
app.use("/api/leaderboard", leaderboardRouter);
app.use("/api/users", usersRouter);
app.use("/api/videos", videosRouter);

app.use((err, req, res, next) => {
const statusCode = err.statusCode || 500;
Expand Down
25 changes: 25 additions & 0 deletions services/videos.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
const db = require('./db');
const helper = require('../helper');
const config = require('../config');

async function getMultiple(userid, page = 1){
const offset = helper.getOffset(page, config.listPerPage);
const rows = await db.query(
`SELECT videoId, youtubeId, soundcloudId, vimeoId, bandcampId, isFlagged, tags, title
FROM video WHERE videoId IN (
SELECT videoId FROM user_video WHERE userId = ?
) ORDER BY videoId LIMIT ?,?`,
[userid, offset, config.listPerPage]
);
const data = helper.emptyOrRows(rows);
const meta = {page};

return {
data,
meta
}
}

module.exports = {
getMultiple
}

0 comments on commit 992fcc8

Please sign in to comment.