mirror of
https://github.com/ajayyy/SponsorBlockServer.git
synced 2025-12-06 11:36:58 +03:00
Merge pull request #131 from ajayyy/query-by-hash-prefix
Hash prefix fixes
This commit is contained in:
@@ -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";
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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)
|
||||
};
|
||||
});
|
||||
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user