diff --git a/src/api/models/publishedDataset.js b/src/api/models/publishedDataset.js index 62732a82a..e79de7d56 100644 --- a/src/api/models/publishedDataset.js +++ b/src/api/models/publishedDataset.js @@ -50,17 +50,27 @@ export default async db => { ); collection.updateBatch = documents => { - console.warn(documents); - console.warn( - '-------------------- updateBatch ------------------------', - ); return Promise.all( - chunk(documents, 1000).map(data => - /*collection.updateMany({ uri: data.uri }, data, { - w: 1, - }),*/ - console.warn(data), - ), + chunk(documents, 1).map(data => { + const updateQuery = Object.keys(data[0].versions[0]).reduce( + (result, key) => { + return { + ...result, + [`versions.0.${key}`]: data[0].versions[0][key], + }; + }, + {}, + ); + collection.updateOne( + { uri: data[0].uri }, + { + $set: updateQuery, + }, + { + w: 1, + }, + ); + }), ); }; diff --git a/src/api/services/computeExternalRoutineInDocuments.js b/src/api/services/computeExternalRoutineInDocuments.js index e25af5742..f399c312a 100644 --- a/src/api/services/computeExternalRoutineInDocuments.js +++ b/src/api/services/computeExternalRoutineInDocuments.js @@ -3,30 +3,25 @@ import omit from 'lodash.omit'; import getDocumentTransformer from './getDocumentTransformer'; import transformAllDocuments from './transformAllDocuments'; import progress from './progress'; -import { PUBLISH_DOCUMENT } from '../../common/progressStatus'; +import { PRECOMPUTE_ROUTINES } from '../../common/progressStatus'; import logger from './logger'; import { jobLogger } from '../workers/tools'; -export const versionTransformerDecorator = transformDocument => async ( - document, - _, - __, - publicationDate = new Date(), -) => { +export const versionTransformerDecorator = transformDocument => async document => { console.warn( '*************** versionTransformerDecorator *******************', ); - console.warn(document.uri, document.Title); + console.warn('--vTD--', document.uri, document.Title); const doc = await transformDocument(document); console.warn(doc); + console.warn('--end doc--'); return { - uri: doc.uri, - subresourceId: null, + uri: document.uri, versions: [ { - ...omit(doc, ['uri']), - publicationDate, + ...doc, + BPRp: `test-${doc['BPRp']}`, }, ], }; @@ -48,8 +43,8 @@ export const computeExternalRoutineInDocumentsFactory = ({ fields, ); - progress.start({ - status: PUBLISH_DOCUMENT, + progress.start(ctx.tenant, { + status: PRECOMPUTE_ROUTINES, target: count, label: 'publishing', type: 'publisher', diff --git a/src/api/services/progress.js b/src/api/services/progress.js index d549a6cd4..79ff0aa35 100644 --- a/src/api/services/progress.js +++ b/src/api/services/progress.js @@ -2,6 +2,7 @@ import { PENDING, ERROR, PUBLISH_DOCUMENT, + PRECOMPUTE_ROUTINES, ENRICHING, PUBLISH_FACET, CREATE_INDEX, @@ -83,6 +84,7 @@ export class Progress { type: this[tenant].type, isBackground: [ PUBLISH_DOCUMENT, + PRECOMPUTE_ROUTINES, UNPUBLISH_DOCUMENT, ENRICHING, PUBLISH_FACET, diff --git a/src/api/services/publishDocuments.js b/src/api/services/publishDocuments.js index 3e95e8557..9c222c684 100644 --- a/src/api/services/publishDocuments.js +++ b/src/api/services/publishDocuments.js @@ -15,10 +15,7 @@ export const versionTransformerDecorator = ( transformDocument, subresourceId = null, ) => async (document, _, __, publicationDate = new Date()) => { - console.warn(' ** versionTransformerDecorator ** publishDocument ** '); - console.warn(document.uri, document.Title); const doc = await transformDocument(document); - console.warn(doc.uri, doc.YGKH); return { uri: doc.uri, diff --git a/src/common/progressStatus.js b/src/common/progressStatus.js index 83b19bb7b..c13f2a98e 100644 --- a/src/common/progressStatus.js +++ b/src/common/progressStatus.js @@ -2,6 +2,7 @@ export const PENDING = 'PENDING'; export const ERROR = 'ERROR'; export const PUBLISH_FACET = 'PUBLISH_FACET'; export const PUBLISH_DOCUMENT = 'PUBLISH_DOCUMENT'; +export const PRECOMPUTE_ROUTINES = 'PRECOMPUTE_ROUTINES'; export const ENRICHING = 'ENRICHING'; export const UNPUBLISH_DOCUMENT = 'UNPUBLISH_DOCUMENT'; export const UPLOADING_DATASET = 'UPLOADING_DATASET';