@natlibfi/melinda-rest-api-commons 4.0.9 → 4.0.10-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -65,11 +65,13 @@ function _default() {
|
|
|
65
65
|
throw new _melindaCommons.Error(_httpStatus.default.UNSUPPORTED_MEDIA_TYPE);
|
|
66
66
|
} catch (err) {
|
|
67
67
|
(0, _utils.logError)(err);
|
|
68
|
+
const message = err.message || err.payload?.message || err.payload;
|
|
69
|
+
logger.debug(`${message}`);
|
|
68
70
|
if (err instanceof _melindaCommons.Error) {
|
|
69
71
|
// eslint-disable-line functional/no-conditional-statements
|
|
70
72
|
throw err;
|
|
71
73
|
}
|
|
72
|
-
throw new _melindaCommons.Error(_httpStatus.default.BAD_REQUEST,
|
|
74
|
+
throw new _melindaCommons.Error(_httpStatus.default.BAD_REQUEST, `Error while serializing record. ${message}`);
|
|
73
75
|
}
|
|
74
76
|
}
|
|
75
77
|
|
|
@@ -101,11 +103,13 @@ function _default() {
|
|
|
101
103
|
throw new _melindaCommons.Error(_httpStatus.default.UNSUPPORTED_MEDIA_TYPE);
|
|
102
104
|
} catch (err) {
|
|
103
105
|
(0, _utils.logError)(err);
|
|
106
|
+
const message = err.message || err.payload?.message || err.payload;
|
|
107
|
+
logger.debug(`${message}`);
|
|
104
108
|
if (err instanceof _melindaCommons.Error) {
|
|
105
109
|
// eslint-disable-line functional/no-conditional-statements
|
|
106
110
|
throw err;
|
|
107
111
|
}
|
|
108
|
-
throw new _melindaCommons.Error(_httpStatus.default.BAD_REQUEST,
|
|
112
|
+
throw new _melindaCommons.Error(_httpStatus.default.BAD_REQUEST, `Error while unserializing record. ${message}`);
|
|
109
113
|
}
|
|
110
114
|
}
|
|
111
115
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversion.js","names":["_httpStatus","_interopRequireDefault","require","_marcRecordSerializers","_melindaBackendCommons","_melindaCommons","_constants","_utils","obj","__esModule","default","_default","logger","createLogger","serialize","unserialize","record","format","verbose","CONVERSION_FORMATS","MARCXML","to","ISO2709","JSON","Json","ALEPHSEQ","AlephSequential","ConversionError","httpStatus","UNSUPPORTED_MEDIA_TYPE","err","logError","BAD_REQUEST","data","validationOptions","subfieldValues","silly","
|
|
1
|
+
{"version":3,"file":"conversion.js","names":["_httpStatus","_interopRequireDefault","require","_marcRecordSerializers","_melindaBackendCommons","_melindaCommons","_constants","_utils","obj","__esModule","default","_default","logger","createLogger","serialize","unserialize","record","format","verbose","CONVERSION_FORMATS","MARCXML","to","ISO2709","JSON","Json","ALEPHSEQ","AlephSequential","ConversionError","httpStatus","UNSUPPORTED_MEDIA_TYPE","err","logError","message","payload","debug","BAD_REQUEST","data","validationOptions","subfieldValues","silly","stringify","from"],"sources":["../../src/helpers/conversion.js"],"sourcesContent":["/**\n*\n* @licstart The following is the entire license notice for the JavaScript code in this file.\n*\n* Shared modules for microservices of Melinda rest api batch import system\n*\n* Copyright (C) 2020-2021 University Of Helsinki (The National Library Of Finland)\n*\n* This file is part of melinda-rest-api-commons\n*\n* melinda-rest-api-commons program is free software: you can redistribute it and/or modify\n* it under the terms of the GNU Affero General Public License as\n* published by the Free Software Foundation, either version 3 of the\n* License, or (at your option) any later version.\n*\n* melinda-rest-api-commons is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU Affero General Public License for more details.\n*\n* You should have received a copy of the GNU Affero General Public License\n* along with this program. If not, see <http://www.gnu.org/licenses/>.\n*\n* @licend The above is the entire license notice\n* for the JavaScript code in this file.\n*\n*/\n\nimport httpStatus from 'http-status';\nimport {MARCXML, ISO2709, Json, AlephSequential} from '@natlibfi/marc-record-serializers';\nimport {createLogger} from '@natlibfi/melinda-backend-commons';\nimport {Error as ConversionError} from '@natlibfi/melinda-commons';\nimport {CONVERSION_FORMATS} from '../constants';\nimport {logError} from '../utils';\n\nexport default function () {\n const logger = createLogger();\n\n return {serialize, unserialize};\n\n // This uses format as a number form contants CONVERSION_FORMATS\n function serialize(record, format) {\n logger.verbose(`Serializing record to ${format}`);\n try {\n if (format === CONVERSION_FORMATS.MARCXML) {\n return MARCXML.to(record);\n }\n\n if (format === CONVERSION_FORMATS.ISO2709) {\n return ISO2709.to(record);\n }\n\n if (format === CONVERSION_FORMATS.JSON) {\n return Json.to(record);\n }\n\n if (format === CONVERSION_FORMATS.ALEPHSEQ) {\n return AlephSequential.to(record);\n }\n\n throw new ConversionError(httpStatus.UNSUPPORTED_MEDIA_TYPE);\n } catch (err) {\n logError(err);\n const message = err.message || err.payload?.message || err.payload;\n logger.debug(`${message}`);\n if (err instanceof ConversionError) { // eslint-disable-line functional/no-conditional-statements\n throw err;\n }\n throw new ConversionError(httpStatus.BAD_REQUEST, `Error while serializing record. ${message}`);\n }\n }\n\n // eslint-disable-next-line max-statements\n function unserialize(data, format, validationOptions = {subfieldValues: false}) {\n logger.verbose(`Unserializing record from ${format}`);\n logger.silly(`Format: ${format}`);\n logger.debug(`Validation options: ${JSON.stringify(validationOptions)}`);\n logger.silly(`Data: ${JSON.stringify(data)}`);\n try {\n if (format === CONVERSION_FORMATS.MARCXML) {\n logger.silly('Unserialize format marcxml');\n return MARCXML.from(data, validationOptions);\n }\n\n if (format === CONVERSION_FORMATS.ISO2709) {\n logger.silly('Unserialize format iso2709');\n return ISO2709.from(data, validationOptions);\n }\n\n if (format === CONVERSION_FORMATS.JSON) {\n logger.silly('Unserialize format json');\n return Json.from(data, validationOptions);\n }\n\n if (format === CONVERSION_FORMATS.ALEPHSEQ) {\n logger.silly('Unserialize format aleph sequential');\n return AlephSequential.from(data, validationOptions);\n }\n\n throw new ConversionError(httpStatus.UNSUPPORTED_MEDIA_TYPE);\n } catch (err) {\n logError(err);\n const message = err.message || err.payload?.message || err.payload;\n logger.debug(`${message}`);\n if (err instanceof ConversionError) { // eslint-disable-line functional/no-conditional-statements\n throw err;\n }\n throw new ConversionError(httpStatus.BAD_REQUEST, `Error while unserializing record. ${message}`);\n }\n }\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"url": "git@github.com:natlibfi/melinda-rest-api-commons.git"
|
|
15
15
|
},
|
|
16
16
|
"license": "AGPL-3.0+",
|
|
17
|
-
"version": "4.0.
|
|
17
|
+
"version": "4.0.10-alpha.2",
|
|
18
18
|
"main": "./dist/index.js",
|
|
19
19
|
"engines": {
|
|
20
20
|
"node": ">=18"
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"build": "babel src --source-maps --copy-files --delete-dir-on-start --out-dir=dist"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@natlibfi/marc-record": "^7.3.
|
|
41
|
+
"@natlibfi/marc-record": "^7.3.1",
|
|
42
42
|
"@natlibfi/marc-record-serializers": "^10.1.0",
|
|
43
43
|
"@natlibfi/marc-record-validate": "^8.0.1",
|
|
44
44
|
"@natlibfi/marc-record-validators-melinda": "^10.11.1",
|