mirror of
https://github.com/ajayyy/SponsorBlockServer.git
synced 2025-12-07 12:07:07 +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 "";
|
ALTER TABLE sponsorTimes ADD hashedVideoID TEXT NOT NULL default "";
|
||||||
UPDATE sponsorTimes SET hashedVideoID = sha256(videoID);
|
UPDATE sponsorTimes SET hashedVideoID = sha256(videoID);
|
||||||
|
|
||||||
|
CREATE INDEX IF NOT EXISTS sponsorTimes_hashedVideoID on sponsorTimes(hashedVideoID);
|
||||||
|
|
||||||
/* Bump version in config */
|
/* Bump version in config */
|
||||||
UPDATE config SET value = 3 WHERE key = "version";
|
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 getHash = require('../utils/getHash.js');
|
||||||
var getIP = require('../utils/getIP.js');
|
var getIP = require('../utils/getIP.js');
|
||||||
|
|
||||||
function cleanGetSegments(videoID, categories) {
|
function cleanGetSegments(req, videoID, categories) {
|
||||||
let userHashedIP, shadowHiddenSegments;
|
let userHashedIP, shadowHiddenSegments;
|
||||||
|
|
||||||
let segments = [];
|
let segments = [];
|
||||||
@@ -160,7 +160,7 @@ function handleGetSegments(req, res) {
|
|||||||
? [req.query.category]
|
? [req.query.category]
|
||||||
: ['sponsor'];
|
: ['sponsor'];
|
||||||
|
|
||||||
let segments = cleanGetSegments(videoID, categories);
|
let segments = cleanGetSegments(req, videoID, categories);
|
||||||
|
|
||||||
if (segments === null || segments === undefined) {
|
if (segments === null || segments === undefined) {
|
||||||
res.sendStatus(500);
|
res.sendStatus(500);
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ module.exports = async function (req, res) {
|
|||||||
return {
|
return {
|
||||||
videoID: video.videoID,
|
videoID: video.videoID,
|
||||||
hash: video.hashedVideoID,
|
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
|
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) => {
|
it('Should be able to get a 200', (done) => {
|
||||||
request.get(utils.getbaseURL()
|
request.get(utils.getbaseURL()
|
||||||
+ '/api/skipSegments/3272f?categories=["sponsor", "intro"]', null,
|
+ '/api/skipSegments/3272f?categories=["sponsor", "intro"]', null,
|
||||||
|
|||||||
Reference in New Issue
Block a user