Merge pull request #131 from ajayyy/query-by-hash-prefix

Hash prefix fixes
This commit is contained in:
Ajay Ramachandran
2020-09-11 17:45:58 -04:00
committed by GitHub
4 changed files with 5 additions and 9 deletions

View File

@@ -5,6 +5,8 @@ BEGIN TRANSACTION;
ALTER TABLE sponsorTimes ADD hashedVideoID TEXT NOT NULL default "";
UPDATE sponsorTimes SET hashedVideoID = sha256(videoID);
CREATE INDEX IF NOT EXISTS sponsorTimes_hashedVideoID on sponsorTimes(hashedVideoID);
/* Bump version in config */
UPDATE config SET value = 3 WHERE key = "version";

View File

@@ -8,7 +8,7 @@ var logger = require('../utils/logger.js');
var getHash = require('../utils/getHash.js');
var getIP = require('../utils/getIP.js');
function cleanGetSegments(videoID, categories) {
function cleanGetSegments(req, videoID, categories) {
let userHashedIP, shadowHiddenSegments;
let segments = [];
@@ -160,7 +160,7 @@ function handleGetSegments(req, res) {
? [req.query.category]
: ['sponsor'];
let segments = cleanGetSegments(videoID, categories);
let segments = cleanGetSegments(req, videoID, categories);
if (segments === null || segments === undefined) {
res.sendStatus(500);

View File

@@ -29,7 +29,7 @@ module.exports = async function (req, res) {
return {
videoID: video.videoID,
hash: video.hashedVideoID,
segments: getSegments(video.videoID, categories)
segments: getSegments(req, video.videoID, categories)
};
});

View File

@@ -12,12 +12,6 @@ describe('getSegmentsByHash', () => {
db.exec(startOfQuery + "('getSegmentsByHash-1', 60, 70, 2, 'getSegmentsByHash-1', 'testman', 0, 50, 'sponsor', 0, '" + getHash('getSegmentsByHash-1', 1) + "')"); // hash = 3272fa85ee0927f6073ef6f07ad5f3146047c1abba794cfa364d65ab9921692b
});
it('Should update the database version when starting the application', (done) => {
let version = db.prepare('get', 'SELECT key, value FROM config where key = ?', ['version']).value;
if (version > 2) done();
else done('Version isn\'t greater than 2. Version is ' + version);
});
it('Should be able to get a 200', (done) => {
request.get(utils.getbaseURL()
+ '/api/skipSegments/3272f?categories=["sponsor", "intro"]', null,