From cd7c626c651ee7b3c0330cbacb4274aee93be331 Mon Sep 17 00:00:00 2001
From: Bogdan Cochior <bogdan.cochior@thinslices.com>
Date: Thu, 27 Sep 2018 10:36:35 +0300
Subject: [PATCH] feat(mts): update MTS xml properties

---
 packages/component-mts-package/src/MTS.js     | 36 ++++++++++++-------
 .../app/config/journal/metadata.js            |  4 +--
 packages/xpub-faraday/config/default.js       |  1 +
 3 files changed, 27 insertions(+), 14 deletions(-)

diff --git a/packages/component-mts-package/src/MTS.js b/packages/component-mts-package/src/MTS.js
index 0f9a82235..5907e433d 100644
--- a/packages/component-mts-package/src/MTS.js
+++ b/packages/component-mts-package/src/MTS.js
@@ -1,8 +1,12 @@
 const convert = require('xml-js')
-const { set, get, reduce, isEmpty } = require('lodash')
+const config = require('config')
+const { set, get, reduce, isEmpty, capitalize } = require('lodash')
 
 const PackageManager = require('./PackageManager')
 const mts = require('./mts-json-template')
+
+const manuscriptTypes = config.get('journalConfig.manuscriptTypes')
+
 const {
   defaultConfig,
   defaultParseXmlOptions,
@@ -76,7 +80,11 @@ class MTS {
             'subj-group-type': 'Article Type',
           },
           subject: {
-            _text: metadata.type,
+            _text: get(
+              manuscriptTypes.find(v => v.value === metadata.type),
+              'label',
+              'Research Article',
+            ),
           },
         },
       ],
@@ -147,12 +155,16 @@ class MTS {
     const {
       hasConflicts = 'no',
       message = '',
-      hasDataAvailability,
-      dataAvailabilityMessage,
-      hasFunding,
-      fundingMessage,
+      hasDataAvailability = 'no',
+      dataAvailabilityMessage = '',
+      hasFunding = 'no',
+      fundingMessage = '',
     } = conflicts
     const questions = []
+    const funding = isEmpty(hasFunding) ? 'no' : hasFunding
+    const dataAvailability = isEmpty(hasDataAvailability)
+      ? 'no'
+      : hasDataAvailability
 
     if (!isEmpty(hasConflicts)) {
       questions.push({
@@ -160,20 +172,20 @@ class MTS {
           type: 'COI',
         },
         answer: {
-          _text: hasConflicts,
+          _text: capitalize(hasConflicts),
         },
         statement: {
           _text: message,
         },
       })
     }
-    if (!isEmpty(hasDataAvailability)) {
+    if (!isEmpty(dataAvailability)) {
       questions.push({
         _attributes: {
           type: 'DA',
         },
         answer: {
-          _text: hasDataAvailability,
+          _text: capitalize(dataAvailability),
         },
         statement: {
           _text: isEmpty(dataAvailabilityMessage)
@@ -182,13 +194,13 @@ class MTS {
         },
       })
     }
-    if (!isEmpty(hasFunding)) {
+    if (!isEmpty(funding)) {
       questions.push({
         _attributes: {
           type: 'Fund',
         },
         answer: {
-          _text: hasFunding,
+          _text: capitalize(funding),
         },
         statement: {
           _text: isEmpty(fundingMessage)
@@ -206,7 +218,7 @@ class MTS {
     const contrib = authors.map((a, i) => ({
       _attributes: {
         'contrib-type': 'author',
-        corresp: a.isCorresponding ? 'yes' : 'no',
+        corresp: a.isCorresponding ? 'Yes' : 'No',
       },
       role: {
         _attributes: {
diff --git a/packages/xpub-faraday/app/config/journal/metadata.js b/packages/xpub-faraday/app/config/journal/metadata.js
index d23e29ac8..3a1ef627a 100644
--- a/packages/xpub-faraday/app/config/journal/metadata.js
+++ b/packages/xpub-faraday/app/config/journal/metadata.js
@@ -7,10 +7,10 @@ module.exports = {
     doctype: 'article SYSTEM "JATS-archivearticle1-mathml3.dtd"',
     dtdVersion: '1.1d1',
     articleType: 'Research Article',
-    journalIdPublisher: 'research',
+    journalIdPublisher: 'BCA',
     email: 'bca.support@hindawi.com',
     journalTitle: 'Bioinorganic Chemistry and Applications',
     issn: '2474-7394',
-    prefix: 'RESEARCH-BCA-',
+    prefix: 'BCA-',
   },
 }
diff --git a/packages/xpub-faraday/config/default.js b/packages/xpub-faraday/config/default.js
index 79f2c7ccb..2e0282b48 100644
--- a/packages/xpub-faraday/config/default.js
+++ b/packages/xpub-faraday/config/default.js
@@ -81,6 +81,7 @@ module.exports = {
       remoteRoot: '/BCA/',
       exclude: ['*.js'],
     },
+    journal: get(journalConfig, 'metadata.mts'),
   },
   'invite-reset-password': {
     url: process.env.PUBSWEET_INVITE_PASSWORD_RESET_URL || '/invite',
-- 
GitLab