diff --git a/packages/component-mts-package/src/MTS.js b/packages/component-mts-package/src/MTS.js index af920246a4d6194ba61f8e4459cdbdbb6323c7da..637b367df1330626207a927df5a7bcaf4c2259d3 100644 --- a/packages/component-mts-package/src/MTS.js +++ b/packages/component-mts-package/src/MTS.js @@ -1,5 +1,5 @@ const convert = require('xml-js') -const { set, get } = require('lodash') +const { set, get, reduce } = require('lodash') const PackageManager = require('./PackageManager') const mts = require('./mts-json-template') @@ -116,20 +116,29 @@ class MTS { return jsonTemplate } - static setFigures({ supplementary = [] }, jsonTemplate) { - const figs = supplementary.map((f, i) => ({ - label: { - _text: `Figure ${i + 1}`, + static setFiles(files, jsonTemplate) { + const jsonFiles = reduce( + files, + (result, value, key) => { + value.map(v => + result.push({ + item_type: { + _text: key, + }, + item_description: { + _text: key, + }, + item_name: { + _text: v.name, + }, + }), + ) + + return result }, - graphic: { - _attributes: { - 'xlink:href': f.name, - 'xmlns:xlink': 'http://www.w3.org/1999/xlink', - }, - }, - })) - - set(jsonTemplate, 'article.body.fig', figs) + [], + ) + set(jsonTemplate, 'article.front.files.file', jsonFiles) return jsonTemplate } @@ -171,6 +180,9 @@ class MTS { id: `aff${i + 1}`, }, country: {}, + 'addr-line': { + _text: a.affiliation || '', + }, })) set( @@ -186,6 +198,7 @@ class MTS { composeJson(fragment = {}) { const { authors = [], + files = [], metadata = { title: 'untitled', abstract: '' }, submitted = new Date(), } = fragment @@ -195,7 +208,7 @@ class MTS { ...this.setMetadata(metadata, this.jsonTemplate), ...this.constructor.setContributors(authors, this.jsonTemplate), ...this.constructor.setHistory(submitted, this.jsonTemplate), - // ...this.constructor.setFigures(files, this.jsonTemplate), + ...this.constructor.setFiles(files, this.jsonTemplate), } } diff --git a/packages/component-mts-package/src/mts-json-template.js b/packages/component-mts-package/src/mts-json-template.js index ee0c091bba0b57fe0584b00ecf687b9535c07a3a..330744aeddb2936f92af2eee0f4368212acc97aa 100644 --- a/packages/component-mts-package/src/mts-json-template.js +++ b/packages/component-mts-package/src/mts-json-template.js @@ -142,6 +142,9 @@ const getJsonTemplate = (config = {}) => ({ }, 'funding-group': {}, }, + files: { + file: [], + }, }, }, })