@natlibfi/melinda-rest-api-commons 6.0.1 → 6.2.0-alpha.0
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.
- package/.github/workflows/melinda-node-tests-and-publish.yml +4 -2
- package/README.md +82 -0
- package/dist/amqp.d.ts +41 -0
- package/dist/amqp.d.ts.map +1 -0
- package/dist/amqp.js +242 -218
- package/dist/amqp.js.map +1 -7
- package/dist/constants.d.ts +49 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +38 -38
- package/dist/constants.js.map +1 -7
- package/dist/helpers/conversion.d.ts +8 -0
- package/dist/helpers/conversion.d.ts.map +1 -0
- package/dist/helpers/conversion.js +70 -65
- package/dist/helpers/conversion.js.map +1 -7
- package/dist/helpers/fix-constants.d.ts +76 -0
- package/dist/helpers/fix-constants.d.ts.map +1 -0
- package/dist/helpers/fix-constants.js +41 -41
- package/dist/helpers/fix-constants.js.map +1 -7
- package/dist/helpers/fix-handle-tempurns.d.ts +3 -0
- package/dist/helpers/fix-handle-tempurns.d.ts.map +1 -0
- package/dist/helpers/fix-handle-tempurns.js +73 -71
- package/dist/helpers/fix-handle-tempurns.js.map +1 -7
- package/dist/helpers/fix-strip-f884s.d.ts +10 -0
- package/dist/helpers/fix-strip-f884s.d.ts.map +1 -0
- package/dist/helpers/fix-strip-f884s.js +163 -151
- package/dist/helpers/fix-strip-f884s.js.map +1 -7
- package/dist/helpers/fix.d.ts +6 -0
- package/dist/helpers/fix.d.ts.map +1 -0
- package/dist/helpers/fix.js +133 -117
- package/dist/helpers/fix.js.map +1 -7
- package/dist/helpers/validation.d.ts +9 -0
- package/dist/helpers/validation.d.ts.map +1 -0
- package/dist/helpers/validation.js +14 -16
- package/dist/helpers/validation.js.map +1 -7
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -7
- package/dist/mongo.d.ts +165 -0
- package/dist/mongo.d.ts.map +1 -0
- package/dist/mongo.js +603 -464
- package/dist/mongo.js.map +1 -7
- package/dist/mongoError.d.ts +2 -0
- package/dist/mongoError.d.ts.map +1 -0
- package/dist/mongoError.js +19 -0
- package/dist/mongoError.js.map +1 -0
- package/dist/mongoLog.d.ts +50 -0
- package/dist/mongoLog.d.ts.map +1 -0
- package/dist/mongoLog.js +282 -172
- package/dist/mongoLog.js.map +1 -7
- package/dist/utils.d.ts +36 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +118 -87
- package/dist/utils.js.map +1 -7
- package/eslint.config.ts +66 -0
- package/package.json +23 -25
- package/test/amqp-error-branches.test.ts +551 -0
- package/{tests/amqp.healthtest.js → test/amqp.healthtest.ts} +19 -7
- package/{tests/amqp.tests.localtest.js → test/amqp.tests.localtest.ts} +66 -52
- package/{tests/helpers/conversion.test.js → test/helpers/conversion.test.ts} +39 -11
- package/test/helpers/fix-edge.test.ts +201 -0
- package/test/helpers/fix.test.ts +65 -0
- package/{tests/helpers/validation.test.js → test/helpers/validation.test.ts} +13 -8
- package/{tests/mongo-add-blob-size.test.js → test/mongo-add-blob-size.test.ts} +14 -15
- package/{tests/mongo-check-and-check-state.test.js → test/mongo-check-and-check-state.test.ts} +9 -9
- package/{tests/mongo-check-and-set-import-job-state.test.js → test/mongo-check-and-set-import-job-state.test.ts} +9 -10
- package/{tests/mongo-check-timeout.test.js → test/mongo-check-timeout.test.ts} +6 -9
- package/{tests/mongo-create-bulk.test.js → test/mongo-create-bulk.test.ts} +6 -7
- package/{tests/mongo-create-prio.test.js → test/mongo-create-prio.test.ts} +6 -6
- package/test/mongo-error-branches.test.ts +883 -0
- package/{tests/mongo-get-one.test.js → test/mongo-get-one.test.ts} +6 -6
- package/{tests/mongo-get-stream.test.js → test/mongo-get-stream.test.ts} +10 -9
- package/{tests/mongo-push-ids.test.js → test/mongo-push-ids.test.ts} +6 -6
- package/{tests/mongo-push-messages.test.js → test/mongo-push-messages.test.ts} +6 -6
- package/{tests/mongo-query-by-id.test.js → test/mongo-query-by-id.test.ts} +6 -9
- package/{tests/mongo-query.test.js → test/mongo-query.test.ts} +6 -7
- package/{tests/mongo-read-content.test.js → test/mongo-read-content.test.ts} +16 -9
- package/{tests/mongo-remove.test.js → test/mongo-remove.test.ts} +6 -8
- package/{tests/mongo-set-blob-size.test.js → test/mongo-set-blob-size.test.ts} +6 -6
- package/{tests/mongo-set-import-job-state.test.js → test/mongo-set-import-job-state.test.ts} +6 -6
- package/{tests/mongo-set-operation.test.js → test/mongo-set-operation.test.ts} +6 -6
- package/{tests/mongo-set-operations.test.js → test/mongo-set-operations.test.ts} +6 -6
- package/{tests/mongo-set-state.test.js → test/mongo-set-state.test.ts} +6 -6
- package/test/mongoLog-protect.test.ts +182 -0
- package/test/mongoLog.test.ts +191 -0
- package/{tests/testUtils.js → test/testUtils.ts} +49 -15
- package/test/utils.test.ts +360 -0
- package/tsconfig.json +62 -0
- package/tsconfig.test.json +17 -0
- package/dist/helpers/fix-utils.js +0 -39
- package/dist/helpers/fix-utils.js.map +0 -7
- package/eslint.config.js +0 -53
- package/tests/helpers/fix.test.js +0 -41
- package/tests/mongoLog.test.js +0 -84
package/dist/helpers/fix.js
CHANGED
|
@@ -1,142 +1,158 @@
|
|
|
1
|
-
import createDebugLogger from
|
|
2
|
-
import { MarcRecord } from
|
|
3
|
-
import { createLogger } from
|
|
4
|
-
import { FieldExclusion, SubfieldExclusion } from
|
|
1
|
+
import createDebugLogger from 'debug';
|
|
2
|
+
import { MarcRecord } from '@natlibfi/marc-record';
|
|
3
|
+
import { createLogger } from '@natlibfi/melinda-commons';
|
|
4
|
+
import { FieldExclusion, SubfieldExclusion } from '@natlibfi/marc-record-validators-melinda';
|
|
5
5
|
import { handleTempUrns } from "./fix-handle-tempurns.js";
|
|
6
6
|
import { stripF884s } from "./fix-strip-f884s.js";
|
|
7
7
|
export * from "./fix-constants.js";
|
|
8
8
|
const logger = createLogger();
|
|
9
|
-
const debug = createDebugLogger(
|
|
10
|
-
const debugData = debug.extend(
|
|
9
|
+
const debug = createDebugLogger('@natlibfi/melinda-rest-api-commons:fixRecord');
|
|
10
|
+
const debugData = debug.extend('data');
|
|
11
11
|
export function fixRecord(record, settings = {}) {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
12
|
+
logger.verbose(`We will apply formatting to the record according to settings: ${JSON.stringify(settings)}`);
|
|
13
|
+
const newRecord = MarcRecord.clone(record, { subfieldValues: false });
|
|
14
|
+
debugData(`settings: ${JSON.stringify(settings)}`);
|
|
15
|
+
const generateMissingSIDsOptions = settings.generateMissingSIDs || undefined;
|
|
16
|
+
const newRecord1 = generateMissingSIDs(newRecord, generateMissingSIDsOptions);
|
|
17
|
+
const replacePrefixesOptions = settings.replacePrefixes || [];
|
|
18
|
+
const newRecord2 = replaceAllPrefixes(newRecord1, replacePrefixesOptions);
|
|
19
|
+
const newRecord3 = handleTempUrns(newRecord2, settings.handleTempUrns);
|
|
20
|
+
const newRecord4 = stripF884s(newRecord3, settings.stripF884s);
|
|
21
|
+
const newRecord5 = stripF984s(newRecord4, settings.stripF984s || false);
|
|
22
|
+
const newRecord6 = stripMelindaTempSubfields(newRecord5, settings.stripMelindaTempSubfields || false);
|
|
23
|
+
debugData(newRecord6);
|
|
24
|
+
return newRecord6.toObject();
|
|
25
25
|
}
|
|
26
26
|
function replaceAllPrefixes(record, replacePrefixesOptions) {
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
if (replacePrefixesOptions.length < 1) {
|
|
28
|
+
debug(`NOT running replacePrefixes, no options`);
|
|
29
|
+
return record;
|
|
30
|
+
}
|
|
31
|
+
debug(`Running replacePrefixes fixer`);
|
|
32
|
+
debugData(`replacePrefixesOptions: ${JSON.stringify(replacePrefixesOptions)}`);
|
|
33
|
+
replacePrefixesOptions.forEach(options => {
|
|
34
|
+
replacePrefix(record, options);
|
|
35
|
+
});
|
|
29
36
|
return record;
|
|
30
|
-
}
|
|
31
|
-
debug(`Running replacePrefixes fixer`);
|
|
32
|
-
debugData(`replacePrefixesOptions: ${JSON.stringify(replacePrefixesOptions)}`);
|
|
33
|
-
replacePrefixesOptions.forEach((options) => {
|
|
34
|
-
replacePrefix(record, options);
|
|
35
|
-
});
|
|
36
|
-
return record;
|
|
37
37
|
}
|
|
38
38
|
function replacePrefix(record, options) {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
39
|
+
const { oldPrefix, newPrefix, prefixReplaceCodes } = options;
|
|
40
|
+
debug(`Replacing ${oldPrefix} with ${newPrefix} in subfields ${prefixReplaceCodes}`);
|
|
41
|
+
const pattern = `(${oldPrefix})`;
|
|
42
|
+
const replacement = `(${newPrefix})`;
|
|
43
|
+
record.getDatafields()
|
|
44
|
+
.forEach(field => {
|
|
45
|
+
field.subfields
|
|
46
|
+
.filter(({ code }) => prefixReplaceCodes.includes(code))
|
|
47
|
+
.forEach(subfield => {
|
|
48
|
+
subfield.value = subfield.value.replace(pattern, replacement);
|
|
49
|
+
});
|
|
46
50
|
});
|
|
47
|
-
|
|
48
|
-
return record;
|
|
51
|
+
return record;
|
|
49
52
|
}
|
|
50
53
|
function generateMissingSIDs(record, options) {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
54
|
+
const f035Filters = options?.f035Filters ?? [];
|
|
55
|
+
const fSIDFilters = options?.fSIDFilters ?? [];
|
|
56
|
+
if (f035Filters.length !== fSIDFilters.length) {
|
|
57
|
+
debug(`NOT running generateMissingSIDs: f035Filters (${f035Filters.length}) and fSIDFilters (${fSIDFilters.length}) lengths differ`);
|
|
58
|
+
return record;
|
|
59
|
+
}
|
|
60
|
+
if (f035Filters.length < 1) {
|
|
61
|
+
debug(`NOT running generateMissingSIDs, no options`);
|
|
62
|
+
return record;
|
|
63
|
+
}
|
|
64
|
+
debug(`Running generateMissingSIDs fixer`);
|
|
65
|
+
debugData(`generateMissingSIDs options: ${JSON.stringify(options)}`);
|
|
66
|
+
const f035s = f035ToSidInfo(record.get(/^035$/u));
|
|
67
|
+
const fSIDs = sidsToSidInfo(record.get(/^SID$/u));
|
|
68
|
+
const sidsToBeAdded = genNewSids(fSIDs.length === 0
|
|
69
|
+
? f035s
|
|
70
|
+
: f035s.filter(f035SidInfo => !fSIDs.some(fSIDInfo => f035SidInfo.SID === fSIDInfo.SID && f035SidInfo.value === fSIDInfo.value)));
|
|
71
|
+
debugData(`Adding (${sidsToBeAdded.length}) SIDs: ${JSON.stringify(sidsToBeAdded)}`);
|
|
72
|
+
sidsToBeAdded.forEach(sidField => record.insertField(sidField));
|
|
55
73
|
return record;
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
}
|
|
92
|
-
}
|
|
74
|
+
function genNewSids(sidsToBeAdded) {
|
|
75
|
+
return sidsToBeAdded.map(sidInfo => ({ tag: 'SID', ind1: ' ', ind2: ' ', subfields: [{ code: 'c', value: sidInfo.value }, { code: 'b', value: sidInfo.SID }] }));
|
|
76
|
+
}
|
|
77
|
+
function sidsToSidInfo(SIDs) {
|
|
78
|
+
return SIDs.flatMap(({ subfields }) => {
|
|
79
|
+
const sidSubfields = subfields.filter(sub => sub.code === 'b' && sub.value !== undefined && fSIDFilters.includes(sub.value));
|
|
80
|
+
const SID = sidSubfields[0]?.value;
|
|
81
|
+
const valueSubfields = subfields.filter(sub => sub.code === 'c' && sub.value !== undefined);
|
|
82
|
+
const value = valueSubfields[0]?.value;
|
|
83
|
+
if (SID && value) {
|
|
84
|
+
return {
|
|
85
|
+
SID,
|
|
86
|
+
value
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
return undefined;
|
|
90
|
+
}).filter((value) => value !== undefined);
|
|
91
|
+
}
|
|
92
|
+
function f035ToSidInfo(f035s) {
|
|
93
|
+
return f035s.flatMap(({ subfields }) => {
|
|
94
|
+
const wantedSub = subfields.find(sub => sub.code === 'a' && f035Filters.findIndex(regexp => regexp.test(sub.value)) > -1);
|
|
95
|
+
if (wantedSub) {
|
|
96
|
+
const wantedSubValue = wantedSub.value;
|
|
97
|
+
const filterIndex = f035Filters.findIndex(regexp => regexp.test(wantedSubValue));
|
|
98
|
+
const fSID = fSIDFilters[filterIndex];
|
|
99
|
+
if (fSID !== undefined) {
|
|
100
|
+
return {
|
|
101
|
+
SID: fSID,
|
|
102
|
+
value: wantedSubValue.slice(wantedSubValue.indexOf(')') + 1)
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
return undefined;
|
|
106
|
+
}
|
|
107
|
+
return undefined;
|
|
108
|
+
}).filter((value) => value !== undefined);
|
|
109
|
+
}
|
|
93
110
|
}
|
|
94
111
|
function stripF984s(record, stripF984sSettings) {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
{
|
|
98
|
-
tag: /^984$/u,
|
|
99
|
-
subfields: [
|
|
112
|
+
const F984A_PATTERN = /^(?:ALWAYS|NEVER)-PREFER-IN-MERGE$/u;
|
|
113
|
+
const config = [
|
|
100
114
|
{
|
|
101
|
-
|
|
102
|
-
|
|
115
|
+
tag: /^984$/u,
|
|
116
|
+
subfields: [
|
|
117
|
+
{
|
|
118
|
+
code: /a/u,
|
|
119
|
+
value: F984A_PATTERN
|
|
120
|
+
}
|
|
121
|
+
]
|
|
103
122
|
}
|
|
104
|
-
|
|
123
|
+
];
|
|
124
|
+
debugData(`removeF984AFieldsSettings: ${JSON.stringify(stripF984sSettings)}`);
|
|
125
|
+
if (!stripF984sSettings || !F984A_PATTERN || record.get('984').length < 1) {
|
|
126
|
+
debug(`No settings or pattern for removeF984AFields or f984 in record`);
|
|
127
|
+
return record;
|
|
105
128
|
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
if (!stripF984sSettings || !F984A_PATTERN || record.get("984").length < 1) {
|
|
110
|
-
debug(`No settings or pattern for removeF984AFields or f984 in record`);
|
|
129
|
+
debug(`Removing f984 fields with subfield $a consisting values ${F984A_PATTERN.toString()}`);
|
|
130
|
+
const validator = FieldExclusion(config);
|
|
131
|
+
validator.fix(record);
|
|
111
132
|
return record;
|
|
112
|
-
}
|
|
113
|
-
debug(`Removing f984 fields with subfield $a consisting values ${F984A_PATTERN.toString()}`);
|
|
114
|
-
const validator = FieldExclusion(config);
|
|
115
|
-
validator.fix(record);
|
|
116
|
-
return record;
|
|
117
133
|
}
|
|
118
134
|
function stripMelindaTempSubfields(record, stripMelindaTempSubfieldsSettings) {
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
{
|
|
128
|
-
tag: tagPattern,
|
|
129
|
-
subfields: [
|
|
135
|
+
if (!stripMelindaTempSubfieldsSettings) {
|
|
136
|
+
debug(`No settings for stripMelindaTempSubfields`);
|
|
137
|
+
return record;
|
|
138
|
+
}
|
|
139
|
+
const tagPattern = /^856$/u;
|
|
140
|
+
const subfieldCodePattern = /^9$/u;
|
|
141
|
+
const subfieldValuePattern = /^MELINDA<TEMP>$/u;
|
|
142
|
+
const config = [
|
|
130
143
|
{
|
|
131
|
-
|
|
132
|
-
|
|
144
|
+
tag: tagPattern,
|
|
145
|
+
subfields: [
|
|
146
|
+
{
|
|
147
|
+
code: subfieldCodePattern,
|
|
148
|
+
value: subfieldValuePattern
|
|
149
|
+
}
|
|
150
|
+
]
|
|
133
151
|
}
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
validator.fix(record);
|
|
140
|
-
return record;
|
|
152
|
+
];
|
|
153
|
+
debug(`Running stripMelindaTempSubfields`);
|
|
154
|
+
const validator = SubfieldExclusion(config);
|
|
155
|
+
validator.fix(record);
|
|
156
|
+
return record;
|
|
141
157
|
}
|
|
142
|
-
//# sourceMappingURL=fix.js.map
|
|
158
|
+
//# sourceMappingURL=fix.js.map
|
package/dist/helpers/fix.js.map
CHANGED
|
@@ -1,7 +1 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/helpers/fix.js"],
|
|
4
|
-
"sourcesContent": ["import createDebugLogger from 'debug';\nimport {MarcRecord} from '@natlibfi/marc-record';\nimport {createLogger} from '@natlibfi/melinda-backend-commons';\n\nimport {FieldExclusion, SubfieldExclusion} from '@natlibfi/marc-record-validators-melinda';\n\nimport {handleTempUrns} from './fix-handle-tempurns.js';\nimport {stripF884s} from './fix-strip-f884s.js';\n\nexport * from './fix-constants.js';\n\nconst logger = createLogger();\nconst debug = createDebugLogger('@natlibfi/melinda-rest-api-commons:fixRecord');\nconst debugData = debug.extend('data');\n\nexport function fixRecord(record, settings = {}) {\n\n logger.verbose(`We will apply formatting to the record according to settings: ${JSON.stringify(settings)}`);\n const newRecord = MarcRecord.clone(record, {subfieldValues: false});\n debugData(`settings: ${JSON.stringify(settings)}`);\n\n // We should handle these in some prettier way ...\n\n // Fix 1, generate SIDs\n const generateMissingSIDsOptions = settings.generateMissingSIDs || undefined;\n const newRecord1 = generateMissingSIDs(newRecord, generateMissingSIDsOptions);\n\n // Fix 2, replace identifier prefixes\n const replacePrefixesOptions = settings.replacePrefixes || [];\n const newRecord2 = replaceAllPrefixes(newRecord1, replacePrefixesOptions);\n\n // Fix 3, handle temporary URNs from legal deposit record import\n const newRecord3 = handleTempUrns(newRecord2, settings.handleTempUrns);\n\n // Fix 4, strip extra field 884s\n const newRecord4 = stripF884s(newRecord3, settings.stripF884s);\n\n // Fix 5, strip extra field 984s\n const newRecord5 = stripF984s(newRecord4, settings.stripF984s || false);\n\n // Fix 6, strip $9 MELINDA<TEMP> subfields\n const newRecord6 = stripMelindaTempSubfields(newRecord5, settings.stripMelindaTempSubfields || false);\n\n debugData(newRecord6);\n\n return newRecord6.toObject();\n\n}\n\n\nfunction replaceAllPrefixes(record, replacePrefixesOptions) {\n if (replacePrefixesOptions.length < 1) {\n debug(`NOT running replacePrefixes, no options`);\n return record;\n }\n\n debug(`Running replacePrefixes fixer`);\n debugData(`replacePrefixesOptions: ${JSON.stringify(replacePrefixesOptions)}`);\n\n replacePrefixesOptions.forEach(options => {\n replacePrefix(record, options);\n });\n return record;\n}\n\n\n// Replace prefix in all specified subfields\nfunction replacePrefix(record, options) {\n const {oldPrefix, newPrefix, prefixReplaceCodes} = options;\n debug(`Replacing ${oldPrefix} with ${newPrefix} in subfields ${prefixReplaceCodes}`);\n const pattern = `(${oldPrefix})`;\n const replacement = `(${newPrefix})`;\n record.getDatafields()\n .forEach(field => {\n field.subfields\n .filter(({code}) => prefixReplaceCodes.includes(code))\n .forEach(subfield => {\n subfield.value = subfield.value.replace(pattern, replacement);\n });\n });\n return record;\n}\n\n\nfunction generateMissingSIDs(record, options) {\n\n const f035Filters = options && options.f035Filters ? options.f035Filters : [];\n const fSIDFilters = options && options.fSIDFilters ? options.fSIDFilters : [];\n\n if (f035Filters.length !== fSIDFilters.length || f035Filters.length < 1 || fSIDFilters.length < 1) {\n debug(`NOT running generateMissingsSIDs, no options`);\n return record;\n }\n\n debug(`Running generateMissingSIDs fixer`);\n debugData(`generateMissingSIDs options: ${JSON.stringify(options)}`);\n\n const f035s = f035ToSidInfo(record.get(/^035$/u));\n const fSIDs = sidsToSidInfo(record.get(/^SID$/u));\n\n const sidsToBeAdded = genNewSids(fSIDs.length === 0\n ? f035s\n // test that SIDs are not there yet\n : f035s.filter(f035SidInfo => !fSIDs.some(fSIDInfo => f035SidInfo.SID === fSIDInfo.SID && f035SidInfo.value === fSIDInfo.value)));\n\n debugData(`Adding (${sidsToBeAdded.length}) SIDs: ${JSON.stringify(sidsToBeAdded)}`);\n\n // Add new SIDs\n sidsToBeAdded.forEach(sidField => record.insertField(sidField));\n return record;\n\n function genNewSids(sidsToBeAdded) {\n return sidsToBeAdded.map(sidInfo => ({tag: 'SID', ind1: ' ', ind2: ' ', subfields: [{code: 'c', value: sidInfo.value}, {code: 'b', value: sidInfo.SID}]}));\n }\n\n function sidsToSidInfo(SIDs) {\n return SIDs.flatMap(({subfields}) => {\n const [SID] = subfields.filter(sub => sub.code === 'b' && fSIDFilters.includes(sub.value)).map(sub => sub.value);\n const [value] = subfields.filter(sub => sub.code === 'c' && sub.value !== undefined).map(sub => sub.value);\n\n if (SID && value) {\n return {\n SID,\n value\n };\n }\n\n return undefined;\n }).filter(value => value !== undefined);\n }\n\n function f035ToSidInfo(f035s) {\n return f035s.flatMap(({subfields}) => {\n const [wantedSub] = subfields.filter(sub => sub.code === 'a' && f035Filters.some(regexp => regexp.test(sub.value)));\n\n if (wantedSub) {\n return {\n SID: fSIDFilters[f035Filters.findIndex(regexp => regexp.test(wantedSub.value))],\n value: wantedSub.value.slice(wantedSub.value.indexOf(')') + 1)\n };\n }\n\n return undefined;\n }).filter(value => value !== undefined);\n }\n}\n\n\nfunction stripF984s(record, stripF984sSettings) {\n const F984A_PATTERN = /^(?:ALWAYS|NEVER)-PREFER-IN-MERGE$/u;\n const config = [\n {\n tag: /^984$/u,\n subfields: [\n {\n code: /a/u,\n value: F984A_PATTERN\n }\n ]\n }\n ];\n\n debug(`Running removeF984AFields`);\n debugData(`removeF984AFieldsSettings: ${JSON.stringify(stripF984sSettings)}`);\n\n if (!stripF984sSettings || !F984A_PATTERN || record.get('984').length < 1) {\n debug(`No settings or pattern for removeF984AFields or f984 in record`);\n return record;\n }\n\n debug(`Removing f984 fields with subfield $a consisting values ${F984A_PATTERN.toString()}`);\n const validator = FieldExclusion(config);\n validator.fix(record);\n return record;\n\n}\n\nfunction stripMelindaTempSubfields(record, stripMelindaTempSubfieldsSettings) {\n if (!stripMelindaTempSubfieldsSettings) {\n debug(`No settings for stripMelindaTempSubfields`);\n return record;\n }\n // NOTE: we remove $9 MELINDA<TEMP> subfields only from f856\n const tagPattern = /856/u;\n const subfieldCodePattern = /9/u;\n const subfieldValuePattern = /^MELINDA<TEMP>$/u;\n const config = [\n {\n tag: tagPattern,\n subfields: [\n {\n code: subfieldCodePattern,\n value: subfieldValuePattern\n }\n ]\n }\n ];\n\n debug(`Running stripMelindaTempSubfields`);\n\n const validator = SubfieldExclusion(config);\n validator.fix(record);\n return record;\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["sidsToBeAdded", "f035s"]
|
|
7
|
-
}
|
|
1
|
+
{"version":3,"file":"fix.js","sourceRoot":"","sources":["../../src/helpers/fix.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { MarcRecord, MarcRecordObject } from '@natlibfi/marc-record';
|
|
2
|
+
export interface ValidationResult {
|
|
3
|
+
record: MarcRecord;
|
|
4
|
+
failed: boolean;
|
|
5
|
+
messages: unknown;
|
|
6
|
+
}
|
|
7
|
+
declare const _default: () => Promise<(unvalidRecord: MarcRecord | MarcRecordObject) => Promise<ValidationResult>>;
|
|
8
|
+
export default _default;
|
|
9
|
+
//# sourceMappingURL=validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/helpers/validation.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,UAAU,EAAE,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AAKxE,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB;8BAEwB,OAAO,CAAC,CAAC,aAAa,EAAE,UAAU,GAAG,gBAAgB,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAA7G,wBAgBE"}
|
|
@@ -1,19 +1,17 @@
|
|
|
1
|
-
import validateFactory from
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
} from "@natlibfi/marc-record-validators-melinda";
|
|
5
|
-
import { createLogger } from "@natlibfi/melinda-backend-commons";
|
|
1
|
+
import validateFactory from '@natlibfi/marc-record-validate';
|
|
2
|
+
import { FieldStructure as fieldStructure } from '@natlibfi/marc-record-validators-melinda';
|
|
3
|
+
import { createLogger } from '@natlibfi/melinda-commons';
|
|
6
4
|
export default async () => {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
5
|
+
const logger = createLogger();
|
|
6
|
+
logger.verbose('Running inbuilt record validations');
|
|
7
|
+
const validate = validateFactory([await fieldStructure([{ tag: /^003$/u, valuePattern: /^FI-MELINDA$/u }])]);
|
|
8
|
+
return async (unvalidRecord) => {
|
|
9
|
+
const { record, valid, report } = await validate(unvalidRecord, { fix: false, validateFixes: false }, { subfieldValues: false });
|
|
10
|
+
return {
|
|
11
|
+
record,
|
|
12
|
+
failed: valid === false,
|
|
13
|
+
messages: report
|
|
14
|
+
};
|
|
16
15
|
};
|
|
17
|
-
};
|
|
18
16
|
};
|
|
19
|
-
//# sourceMappingURL=validation.js.map
|
|
17
|
+
//# sourceMappingURL=validation.js.map
|
|
@@ -1,7 +1 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/helpers/validation.js"],
|
|
4
|
-
"sourcesContent": ["import validateFactory from '@natlibfi/marc-record-validate';\nimport {\n FieldStructure as fieldStructure\n} from '@natlibfi/marc-record-validators-melinda';\nimport {createLogger} from '@natlibfi/melinda-backend-commons';\n\nexport default async () => {\n const logger = createLogger();\n\n logger.verbose('Running inbuilt record validations');\n const validate = validateFactory([await fieldStructure([{tag: /^003$/u, valuePattern: /^FI-MELINDA$/u}])]);\n\n return async unvalidRecord => {\n const {record, valid, report} = await validate(unvalidRecord, {fix: false, validateFixes: false}, {subfieldValues: false});\n\n return {\n record,\n failed: valid === false,\n messages: report\n };\n };\n};\n"],
|
|
5
|
-
"mappings": "AAAA,OAAO,qBAAqB;AAC5B;AAAA,EACE,kBAAkB;AAAA,OACb;AACP,SAAQ,oBAAmB;AAE3B,eAAe,YAAY;AACzB,QAAM,SAAS,aAAa;AAE5B,SAAO,QAAQ,oCAAoC;AACnD,QAAM,WAAW,gBAAgB,CAAC,MAAM,eAAe,CAAC,EAAC,KAAK,UAAU,cAAc,gBAAe,CAAC,CAAC,CAAC,CAAC;AAEzG,SAAO,OAAM,kBAAiB;AAC5B,UAAM,EAAC,QAAQ,OAAO,OAAM,IAAI,MAAM,SAAS,eAAe,EAAC,KAAK,OAAO,eAAe,MAAK,GAAG,EAAC,gBAAgB,MAAK,CAAC;AAEzH,WAAO;AAAA,MACL;AAAA,MACA,QAAQ,UAAU;AAAA,MAClB,UAAU;AAAA,IACZ;AAAA,EACF;AACF;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/helpers/validation.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EACL,cAAc,IAAI,cAAc,EACjC,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAC,YAAY,EAAC,MAAM,2BAA2B,CAAC;AAYvD,eAAe,KAAK,IAA0F,EAAE;IAC9G,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAE9B,MAAM,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,eAAe,CAAC,CAAC,MAAM,cAAc,CAAC,CAAC,EAAC,GAAG,EAAE,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAG3G,OAAO,KAAK,EAAE,aAA4C,EAAE,EAAE;QAC5D,MAAM,EAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAC,GAAG,MAAM,QAAQ,CAAC,aAAa,EAAE,EAAC,GAAG,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAC,EAAE,EAAC,cAAc,EAAE,KAAK,EAAC,CAAC,CAAC;QAE3H,OAAO;YACL,MAAM;YACN,MAAM,EAAE,KAAK,KAAK,KAAK;YACvB,QAAQ,EAAE,MAAM;SACjB,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import mongoFactory from './mongo.ts';
|
|
2
|
+
import mongoLogFactory from './mongoLog.ts';
|
|
3
|
+
import amqpFactory from './amqp.ts';
|
|
4
|
+
import conversions from './helpers/conversion.ts';
|
|
5
|
+
import validations from './helpers/validation.ts';
|
|
6
|
+
import * as fixes from './helpers/fix.ts';
|
|
7
|
+
import { logError, createImportJobState, createRecordResponseItem, addRecordResponseItem, addRecordResponseItems } from './utils.ts';
|
|
8
|
+
export { mongoFactory, mongoLogFactory, amqpFactory, conversions, validations, fixes, logError, createImportJobState, createRecordResponseItem, addRecordResponseItem, addRecordResponseItems };
|
|
9
|
+
export * from './constants.ts';
|
|
10
|
+
export type { AmqpOperator, QueueItemMessagePayload, QueueItemRecordPayload } from './amqp.ts';
|
|
11
|
+
export type { ImportJobStateValue, MongoOperator, QueueItem } from './mongo.ts';
|
|
12
|
+
export type { LogItem, LogItemType, MongoLogOperator } from './mongoLog.ts';
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,YAAY,CAAC;AACtC,OAAO,eAAe,MAAM,eAAe,CAAC;AAC5C,OAAO,WAAW,MAAM,WAAW,CAAC;AACpC,OAAO,WAAW,MAAM,yBAAyB,CAAC;AAClD,OAAO,WAAW,MAAM,yBAAyB,CAAC;AAClD,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAC,QAAQ,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,sBAAsB,EAAC,MAAM,YAAY,CAAC;AAEnI,OAAO,EAAC,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,sBAAsB,EAAC,CAAC;AAC9L,cAAc,gBAAgB,CAAC;AAK/B,YAAY,EAAC,YAAY,EAAE,uBAAuB,EAAE,sBAAsB,EAAC,MAAM,WAAW,CAAC;AAC7F,YAAY,EAAC,mBAAmB,EAAE,aAAa,EAAE,SAAS,EAAC,MAAM,YAAY,CAAC;AAC9E,YAAY,EAAC,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAC,MAAM,eAAe,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -7,4 +7,4 @@ import * as fixes from "./helpers/fix.js";
|
|
|
7
7
|
import { logError, createImportJobState, createRecordResponseItem, addRecordResponseItem, addRecordResponseItems } from "./utils.js";
|
|
8
8
|
export { mongoFactory, mongoLogFactory, amqpFactory, conversions, validations, fixes, logError, createImportJobState, createRecordResponseItem, addRecordResponseItem, addRecordResponseItems };
|
|
9
9
|
export * from "./constants.js";
|
|
10
|
-
//# sourceMappingURL=index.js.map
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1,7 +1 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/index.js"],
|
|
4
|
-
"sourcesContent": ["\n\nimport mongoFactory from './mongo.js';\nimport mongoLogFactory from './mongoLog.js';\nimport amqpFactory from './amqp.js';\nimport conversions from './helpers/conversion.js';\nimport validations from './helpers/validation.js';\nimport * as fixes from './helpers/fix.js';\nimport {logError, createImportJobState, createRecordResponseItem, addRecordResponseItem, addRecordResponseItems} from './utils.js';\n\nexport {mongoFactory, mongoLogFactory, amqpFactory, conversions, validations, fixes, logError, createImportJobState, createRecordResponseItem, addRecordResponseItem, addRecordResponseItems};\nexport * from './constants.js';\n"],
|
|
5
|
-
"mappings": "AAEA,OAAO,kBAAkB;AACzB,OAAO,qBAAqB;AAC5B,OAAO,iBAAiB;AACxB,OAAO,iBAAiB;AACxB,OAAO,iBAAiB;AACxB,YAAY,WAAW;AACvB,SAAQ,UAAU,sBAAsB,0BAA0B,uBAAuB,8BAA6B;AAEtH,SAAQ,cAAc,iBAAiB,aAAa,aAAa,aAAa,OAAO,UAAU,sBAAsB,0BAA0B,uBAAuB;AACtK,cAAc;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,YAAY,CAAC;AACtC,OAAO,eAAe,MAAM,eAAe,CAAC;AAC5C,OAAO,WAAW,MAAM,WAAW,CAAC;AACpC,OAAO,WAAW,MAAM,yBAAyB,CAAC;AAClD,OAAO,WAAW,MAAM,yBAAyB,CAAC;AAClD,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAC,QAAQ,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,sBAAsB,EAAC,MAAM,YAAY,CAAC;AAEnI,OAAO,EAAC,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,sBAAsB,EAAC,CAAC;AAC9L,cAAc,gBAAgB,CAAC"}
|
package/dist/mongo.d.ts
ADDED
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import type { WithId } from 'mongodb';
|
|
2
|
+
import type { Readable } from 'stream';
|
|
3
|
+
import { IMPORT_JOB_STATE } from './constants.ts';
|
|
4
|
+
export type ImportJobStateValue = (typeof IMPORT_JOB_STATE)[keyof typeof IMPORT_JOB_STATE];
|
|
5
|
+
export interface QueueItem {
|
|
6
|
+
correlationId: string;
|
|
7
|
+
cataloger?: string;
|
|
8
|
+
oCatalogerIn?: string;
|
|
9
|
+
operation?: string;
|
|
10
|
+
operations: string[];
|
|
11
|
+
contentType?: string;
|
|
12
|
+
recordLoadParams?: unknown;
|
|
13
|
+
operationSettings: {
|
|
14
|
+
prio?: boolean;
|
|
15
|
+
noStream?: boolean;
|
|
16
|
+
};
|
|
17
|
+
queueItemState: string;
|
|
18
|
+
importJobState: {
|
|
19
|
+
CREATE: ImportJobStateValue;
|
|
20
|
+
UPDATE: ImportJobStateValue;
|
|
21
|
+
FIX: ImportJobStateValue;
|
|
22
|
+
};
|
|
23
|
+
blobSize?: number;
|
|
24
|
+
records?: unknown[];
|
|
25
|
+
handledIds?: string[];
|
|
26
|
+
rejectedIds?: string[];
|
|
27
|
+
messages?: unknown[];
|
|
28
|
+
errorMessage?: string;
|
|
29
|
+
errorStatus?: string | number;
|
|
30
|
+
creationTime?: Date;
|
|
31
|
+
modificationTime?: Date;
|
|
32
|
+
}
|
|
33
|
+
export interface CreatePrioParams {
|
|
34
|
+
correlationId: string;
|
|
35
|
+
cataloger: string;
|
|
36
|
+
oCatalogerIn: string;
|
|
37
|
+
operation: string;
|
|
38
|
+
operationSettings?: Record<string, unknown>;
|
|
39
|
+
}
|
|
40
|
+
export interface CreateBulkParams {
|
|
41
|
+
correlationId: string;
|
|
42
|
+
cataloger: string;
|
|
43
|
+
oCatalogerIn: string;
|
|
44
|
+
operation: string;
|
|
45
|
+
contentType: string;
|
|
46
|
+
recordLoadParams: unknown;
|
|
47
|
+
stream?: Readable;
|
|
48
|
+
operationSettings?: Record<string, unknown>;
|
|
49
|
+
}
|
|
50
|
+
export interface CreateBulkResult {
|
|
51
|
+
correlationId: string;
|
|
52
|
+
acknowledged: boolean;
|
|
53
|
+
queueItemState: string;
|
|
54
|
+
}
|
|
55
|
+
export interface CheckAndSetStateParams {
|
|
56
|
+
correlationId: string;
|
|
57
|
+
state: string;
|
|
58
|
+
errorMessage?: unknown;
|
|
59
|
+
errorStatus?: unknown;
|
|
60
|
+
}
|
|
61
|
+
export interface CheckAndSetImportJobStateParams {
|
|
62
|
+
correlationId: string;
|
|
63
|
+
operation: string;
|
|
64
|
+
importJobState: string;
|
|
65
|
+
}
|
|
66
|
+
export interface CheckAndSetResult {
|
|
67
|
+
status: 'updated' | 'timeout' | 'unchanged';
|
|
68
|
+
queueItem: WithId<QueueItem> | null;
|
|
69
|
+
}
|
|
70
|
+
export interface QueryParams {
|
|
71
|
+
limit?: number | string;
|
|
72
|
+
skip?: number | string;
|
|
73
|
+
[key: string]: unknown;
|
|
74
|
+
}
|
|
75
|
+
export interface ShowParams {
|
|
76
|
+
showAll?: boolean | 0;
|
|
77
|
+
showOperations?: boolean | 0;
|
|
78
|
+
showOperationSettings?: boolean | 0;
|
|
79
|
+
showRecordLoadParams?: boolean | 0;
|
|
80
|
+
showImportJobState?: boolean | 0;
|
|
81
|
+
}
|
|
82
|
+
export interface QueryByIdParams {
|
|
83
|
+
correlationId: string;
|
|
84
|
+
checkModTime?: boolean;
|
|
85
|
+
}
|
|
86
|
+
export interface CheckTimeOutParams {
|
|
87
|
+
correlationId: string;
|
|
88
|
+
operation?: string;
|
|
89
|
+
importJobState?: string;
|
|
90
|
+
}
|
|
91
|
+
export interface GetOneParams {
|
|
92
|
+
queueItemState?: string;
|
|
93
|
+
importJobState?: Record<string, unknown>;
|
|
94
|
+
}
|
|
95
|
+
export interface SetStateParams {
|
|
96
|
+
correlationId: string;
|
|
97
|
+
state: string;
|
|
98
|
+
errorMessage?: unknown;
|
|
99
|
+
errorStatus?: unknown;
|
|
100
|
+
}
|
|
101
|
+
export interface SetImportJobStateParams {
|
|
102
|
+
correlationId: string;
|
|
103
|
+
operation: string;
|
|
104
|
+
importJobState: string;
|
|
105
|
+
}
|
|
106
|
+
export interface PushIdsParams {
|
|
107
|
+
correlationId: string;
|
|
108
|
+
handledIds: string[];
|
|
109
|
+
rejectedIds: string[];
|
|
110
|
+
}
|
|
111
|
+
export interface PushMessagesParams {
|
|
112
|
+
correlationId: string;
|
|
113
|
+
messages: unknown[];
|
|
114
|
+
messageField?: string;
|
|
115
|
+
}
|
|
116
|
+
export interface MongoOperator {
|
|
117
|
+
createPrio: (params: CreatePrioParams) => Promise<void>;
|
|
118
|
+
createBulk: (params: CreateBulkParams) => Promise<CreateBulkResult | undefined>;
|
|
119
|
+
checkAndSetState: (params: CheckAndSetStateParams) => Promise<CheckAndSetResult>;
|
|
120
|
+
checkAndSetImportJobState: (params: CheckAndSetImportJobStateParams) => Promise<CheckAndSetResult>;
|
|
121
|
+
query: (params: QueryParams, showParams?: ShowParams) => Promise<WithId<QueueItem>[]>;
|
|
122
|
+
createProjection: (showParams?: ShowParams) => Record<string, number>;
|
|
123
|
+
queryById: (params: QueryByIdParams) => Promise<WithId<QueueItem> | null>;
|
|
124
|
+
checkTimeOut: (params: CheckTimeOutParams) => Promise<boolean>;
|
|
125
|
+
remove: (params: {
|
|
126
|
+
correlationId: string;
|
|
127
|
+
}) => Promise<{
|
|
128
|
+
removed: boolean;
|
|
129
|
+
deletedContent: boolean;
|
|
130
|
+
}>;
|
|
131
|
+
readContent: (correlationId: string) => Promise<{
|
|
132
|
+
contentType: string | undefined;
|
|
133
|
+
readStream: Readable;
|
|
134
|
+
}>;
|
|
135
|
+
removeContent: (params: {
|
|
136
|
+
correlationId: string;
|
|
137
|
+
}) => Promise<boolean>;
|
|
138
|
+
getOne: (params: GetOneParams) => Promise<WithId<QueueItem> | null>;
|
|
139
|
+
getStream: (correlationId: string) => Promise<Readable>;
|
|
140
|
+
setState: (params: SetStateParams) => Promise<WithId<QueueItem> | null>;
|
|
141
|
+
setImportJobState: (params: SetImportJobStateParams) => Promise<WithId<QueueItem> | null>;
|
|
142
|
+
pushIds: (params: PushIdsParams) => Promise<void>;
|
|
143
|
+
pushMessages: (params: PushMessagesParams) => Promise<void>;
|
|
144
|
+
setOperation: (params: {
|
|
145
|
+
correlationId: string;
|
|
146
|
+
operation: string;
|
|
147
|
+
}) => Promise<WithId<QueueItem>>;
|
|
148
|
+
setOperations: (params: {
|
|
149
|
+
correlationId: string;
|
|
150
|
+
addOperation: string;
|
|
151
|
+
removeOperation?: string;
|
|
152
|
+
}) => Promise<WithId<QueueItem>>;
|
|
153
|
+
addBlobSize: (params: {
|
|
154
|
+
correlationId: string;
|
|
155
|
+
}) => Promise<WithId<QueueItem> | null>;
|
|
156
|
+
setBlobSize: (params: {
|
|
157
|
+
correlationId: string;
|
|
158
|
+
blobSize: number;
|
|
159
|
+
}) => Promise<WithId<QueueItem> | null>;
|
|
160
|
+
}
|
|
161
|
+
export default function (MONGO_URI: string, collection: string, db?: string, deps?: {
|
|
162
|
+
operator?: unknown;
|
|
163
|
+
gridFSBucket?: unknown;
|
|
164
|
+
}): Promise<MongoOperator>;
|
|
165
|
+
//# sourceMappingURL=mongo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mongo.d.ts","sourceRoot":"","sources":["../src/mongo.ts"],"names":[],"mappings":"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"}
|