@toxplanet/pegasus-sdk 1.1.10 → 1.1.11

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.
Files changed (2) hide show
  1. package/lib/chemicals.js +11 -4
  2. package/package.json +1 -1
package/lib/chemicals.js CHANGED
@@ -46,6 +46,13 @@ class ChemicalsService {
46
46
  logInfo('pegasus-sdk', `[bulkIndexFielded] Processing document ${i}: source_id=${doc.source_id}, chemical_name=${doc.chemical_name}`);
47
47
 
48
48
  try {
49
+ const parseDate = (dateValue) => {
50
+ if (!dateValue) return new Date();
51
+ if (dateValue instanceof Date) return dateValue;
52
+ if (typeof dateValue === 'string') return new Date(dateValue);
53
+ return new Date();
54
+ };
55
+
49
56
  const chemical = {
50
57
  sourceId: doc.source_id || doc._id,
51
58
  chemicalName: doc.chemical_name || doc.name,
@@ -53,8 +60,8 @@ class ChemicalsService {
53
60
  chemicalIdentifiers: doc.chemical_identifiers || {},
54
61
  chemicalSynonyms: doc.chemical_synonyms || [],
55
62
  chemicalCategories: doc.chemical_categories || [],
56
- createdAt: doc.created_at || new Date(),
57
- updatedAt: doc.updated_at || new Date(),
63
+ createdAt: parseDate(doc.created_at),
64
+ updatedAt: parseDate(doc.updated_at),
58
65
  ...(doc.imported_at && { importedAt: doc.imported_at }),
59
66
  ...(doc.chemical_id && { chemicalId: doc.chemical_id })
60
67
  };
@@ -690,8 +697,8 @@ class ChemicalsService {
690
697
  chemical_identifiers: doc.chemical_identifiers || {},
691
698
  chemical_synonyms: doc.chemical_synonyms || [],
692
699
  chemical_categories: doc.chemical_categories || [],
693
- created_at: doc.chemical_created_at,
694
- updated_at: doc.chemical_updated_at
700
+ created_at: doc.chemical_created_at ? (typeof doc.chemical_created_at === 'string' ? new Date(doc.chemical_created_at) : doc.chemical_created_at) : new Date(),
701
+ updated_at: doc.chemical_updated_at ? (typeof doc.chemical_updated_at === 'string' ? new Date(doc.chemical_updated_at) : doc.chemical_updated_at) : new Date()
695
702
  };
696
703
  cdiDocuments.push(cdiDoc);
697
704
  logInfo('pegasus-sdk', `[ChemicalsService.bulk] Extracted CDI doc: ${JSON.stringify({ source_id: cdiDoc.source_id, chemical_name: cdiDoc.chemical_name })}`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@toxplanet/pegasus-sdk",
3
- "version": "1.1.10",
3
+ "version": "1.1.11",
4
4
  "description": "SDK for migrating chemical data to Pegasus PostgreSQL + OpenSearch architecture with Elasticsearch client compatibility",
5
5
  "main": "index.js",
6
6
  "type": "commonjs",