1
0
Fork 0

TokenDao: Make root field configurable

This was previously hard-coded to "exports", which is so named because the
system is currently used only to export data to another system.

This change retains the previous functionality.

* src/server/daemon/controller.js (_initExportService): Pass new TokenDao
    argument.
* src/server/token/TokenDao.ts (TokenDao)[_rootField]: New property.
  (constructor, getToken, _genRoot): Use it.
master
Mike Gerwitz 2019-09-05 16:44:53 -04:00
parent b83f13f480
commit 742955a671
2 changed files with 10 additions and 4 deletions

View File

@ -244,7 +244,7 @@ function _initExportService( db, callback )
ExportService
.use( TokenedService(
'c1import',
new TokenDao( collection ),
new TokenDao( collection, "exports" ),
function tokgen()
{
var shasum = crypto.createHash( 'sha1' );

View File

@ -50,15 +50,21 @@ export = class TokenDao
*/
private readonly _collection: MongoCollection;
/**
* Field storing token data, relative to document root
*/
private readonly _rootField: string;
/**
* Initialize connection
*
* @param collection Mongo collection
*/
constructor( collection: MongoCollection )
constructor( collection: MongoCollection, root_field: string )
{
this._collection = collection;
this._rootField = root_field;
}
@ -169,7 +175,7 @@ export = class TokenDao
return;
}
const field = <TokenNamespaceResults>data.exports || {};
const field = <TokenNamespaceResults>data[ this._rootField ] || {};
if ( !field[ ns ] )
{
@ -252,7 +258,7 @@ export = class TokenDao
private _genRoot( ns: string ): string
{
// XXX: injectable
return 'exports.' + ns;
return this._rootField + '.' + ns;
}
};