Skip to content

Commit 48b40c6

Browse files
author
Ajit Kumar
committed
feat(sponsor top api)
1 parent d1ff25c commit 48b40c6

File tree

1 file changed

+24
-12
lines changed

1 file changed

+24
-12
lines changed

server/apis/sponsor.js

Lines changed: 24 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,30 @@ const router = Router();
1111
const androidpublisher = google.androidpublisher('v3');
1212
const sponsorImagesPath = resolve(__dirname, '../../data/sponsors');
1313

14-
router.get('/', async (req, res) => {
15-
const { page, limit } = req.query;
16-
17-
const rows = await Sponsor.get(
18-
Sponsor.safeColumns,
19-
[
20-
[Sponsor.STATUS, Sponsor.STATE_PURCHASED],
21-
[Sponsor.PUBLIC, 1],
22-
[Sponsor.CREATED_AT, moment().add(-30, 'days').toISOString(), '>'],
23-
],
24-
{ page, limit },
25-
);
14+
router.get('/{:top}', async (req, res) => {
15+
let page;
16+
let limit;
17+
const isTop = req.params.top === 'top';
18+
const whereClause = [
19+
[Sponsor.STATUS, Sponsor.STATE_PURCHASED],
20+
[Sponsor.PUBLIC, 1],
21+
[Sponsor.CREATED_AT, moment().add(-30, 'days').toISOString(), '>'],
22+
];
23+
24+
if (isTop) {
25+
whereClause.push([Sponsor.TIER, 'titanium']);
26+
} else {
27+
page = req.query.page;
28+
limit = req.query.limit;
29+
}
30+
31+
const rows = await Sponsor.get(Sponsor.safeColumns, whereClause, { page, limit });
32+
33+
if (isTop) {
34+
const randomTop = Math.floor(Math.random() * rows.length);
35+
res.send(rows[randomTop]);
36+
return;
37+
}
2638

2739
res.send(rows);
2840
});

0 commit comments

Comments
 (0)