X-Git-Url: http://git.squeep.com/?p=websub-hub;a=blobdiff_plain;f=src%2Fdb%2Fsqlite%2Findex.js;fp=src%2Fdb%2Fsqlite%2Findex.js;h=a30c9b4ff00c673902708c3011e2d88dbc874f4d;hp=56afa000cb886f900277e4bf819139b93e926707;hb=41ae00113d39abada54823b7133c473b8fb758f5;hpb=acf63f7913320f8edb9db9dc31d13ec7ff5d104f diff --git a/src/db/sqlite/index.js b/src/db/sqlite/index.js index 56afa00..a30c9b4 100644 --- a/src/db/sqlite/index.js +++ b/src/db/sqlite/index.js @@ -302,7 +302,7 @@ class DatabaseSQLite extends Database { throw new DBErrors.UnexpectedResult('did not upsert authentication'); } } catch (e) { - this.logger.error(_scope, 'failed', { error: e, identifier, scrubbedCredential }) + this.logger.error(_scope, 'failed', { error: e, identifier, scrubbedCredential }); throw e; } } @@ -558,7 +558,7 @@ class DatabaseSQLite extends Database { httpRemoteAddr: null, httpFrom: null, ...data, - } + }; this._subscriptionUpsertDataValidate(subscriptionData); let result; @@ -759,7 +759,7 @@ class DatabaseSQLite extends Database { } - topicGetByUrl(dbCtx, topicUrl) { + topicGetByUrl(dbCtx, topicUrl, applyDefaults = true) { const _scope = _fileScope('topicGetByUrl'); this.logger.debug(_scope, 'called', { topicUrl }); @@ -767,7 +767,10 @@ class DatabaseSQLite extends Database { try { topic = this.statement.topicGetByUrl.get({ topicUrl }); DatabaseSQLite._topicDataToNative(topic); - return this._topicDefaults(topic); + if (applyDefaults) { + topic = this._topicDefaults(topic); + } + return topic; } catch (e) { this.logger.error(_scope, 'failed', { error: e, topic, topicUrl }); throw e; @@ -824,10 +827,11 @@ class DatabaseSQLite extends Database { topicPublishHistory(dbCtx, topicId, days) { const _scope = _fileScope('topicPublishHistory'); - this.logger.debug(_scope, 'called', { topicId, days }) + this.logger.debug(_scope, 'called', { topicId, days }); const events = this.statement.topicPublishHistory.all({ topicId, daysAgo: days }); const history = Array.from({ length: days }, () => 0); + // eslint-disable-next-line security/detect-object-injection events.forEach(({ daysAgo, contentUpdates }) => history[daysAgo] = Number(contentUpdates)); return history;