@digione/node-custom-api 0.1.4 → 0.1.5
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/package.json +1 -1
- package/utils/stream.js +34 -3
package/package.json
CHANGED
package/utils/stream.js
CHANGED
|
@@ -572,6 +572,11 @@ class StreamUtil {
|
|
|
572
572
|
field_data['code']['field_value'] = default_value[field_data['code']['field_target']] || field_data['code']['field_value'];
|
|
573
573
|
}
|
|
574
574
|
}
|
|
575
|
+
else if (item['field_type'] == "map") {
|
|
576
|
+
if (field_data['range'] && field_data['range']['field_target']) {
|
|
577
|
+
field_data['range']['field_value'] = default_value[field_data['range']['field_target']];
|
|
578
|
+
}
|
|
579
|
+
}
|
|
575
580
|
}
|
|
576
581
|
fields.push(Object.assign(Object.assign({}, item), { field_data }));
|
|
577
582
|
}
|
|
@@ -1468,7 +1473,7 @@ class StreamUtil {
|
|
|
1468
1473
|
opt['defaultValue'] = field_data['default_value'];
|
|
1469
1474
|
}
|
|
1470
1475
|
if (changeTable) {
|
|
1471
|
-
let fields = [];
|
|
1476
|
+
let fields = [], range = {};
|
|
1472
1477
|
switch (field['field_type']) {
|
|
1473
1478
|
case (field['is_lang'] == "yes" ? field['field_type'] : ""):
|
|
1474
1479
|
opt['defaultValue'] = undefined;
|
|
@@ -1510,7 +1515,7 @@ class StreamUtil {
|
|
|
1510
1515
|
break;
|
|
1511
1516
|
case "datetime":
|
|
1512
1517
|
fields = [field_slug];
|
|
1513
|
-
|
|
1518
|
+
range = field_data['range'] || {};
|
|
1514
1519
|
if (range['field_target']) {
|
|
1515
1520
|
fields.push(range['field_target']);
|
|
1516
1521
|
}
|
|
@@ -1560,6 +1565,16 @@ class StreamUtil {
|
|
|
1560
1565
|
opt['defaultValue'] = _.isNumber(opt['defaultValue']) ? opt['defaultValue'] : undefined;
|
|
1561
1566
|
yield (0, db_1.addColumn)(`${this.ref}_${table}`, field_slug, Object.assign({ type: sequelize.INTEGER({ length: 11 }) }, opt));
|
|
1562
1567
|
break;
|
|
1568
|
+
case "map":
|
|
1569
|
+
fields = [field_slug];
|
|
1570
|
+
range = field_data['range'] || {};
|
|
1571
|
+
if (range['field_target']) {
|
|
1572
|
+
fields.push(range['field_target']);
|
|
1573
|
+
}
|
|
1574
|
+
for (let field_slug of fields) {
|
|
1575
|
+
yield (0, db_1.addColumn)(`${this.ref}_${table}`, field_slug, Object.assign({ type: sequelize.STRING(20) }, opt));
|
|
1576
|
+
}
|
|
1577
|
+
break;
|
|
1563
1578
|
}
|
|
1564
1579
|
}
|
|
1565
1580
|
}
|
|
@@ -1711,8 +1726,15 @@ class StreamUtil {
|
|
|
1711
1726
|
case "multiple":
|
|
1712
1727
|
field_data = _.pick(field_data, ['choose_stream', 'skip_data', 'self_table', 'regex']);
|
|
1713
1728
|
break;
|
|
1729
|
+
case "map":
|
|
1730
|
+
if (field_data['range.field_target']) {
|
|
1731
|
+
let result = dottie.transform(field_data);
|
|
1732
|
+
field_data['range'] = result['range'];
|
|
1733
|
+
}
|
|
1734
|
+
field_data = _.pick(field_data, ['range']);
|
|
1735
|
+
break;
|
|
1714
1736
|
default:
|
|
1715
|
-
field_data =
|
|
1737
|
+
field_data = {};
|
|
1716
1738
|
break;
|
|
1717
1739
|
}
|
|
1718
1740
|
return field_data;
|
|
@@ -1843,6 +1865,15 @@ class StreamUtil {
|
|
|
1843
1865
|
field = Joi.alternatives(Joi.number(), field);
|
|
1844
1866
|
}
|
|
1845
1867
|
break;
|
|
1868
|
+
case "map":
|
|
1869
|
+
field = Joi.string();
|
|
1870
|
+
if (!is_required)
|
|
1871
|
+
field = field.allow(null, '');
|
|
1872
|
+
if (field_data['range'] && field_data['range']['field_target']) {
|
|
1873
|
+
schema[field_data['range']['field_target']] = field.regex(/^(\+|-)?(?:180(?:(?:\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\.[0-9]{1,6})?))$/).messages({ 'string.pattern.base': `${field_slug} invalid format` });
|
|
1874
|
+
}
|
|
1875
|
+
field = field.regex(/^(\+|-)?(?:90(?:(?:\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\.[0-9]{1,6})?))$/).messages({ 'string.pattern.base': `${field_slug} invalid format` });
|
|
1876
|
+
break;
|
|
1846
1877
|
}
|
|
1847
1878
|
field = field || Joi.any();
|
|
1848
1879
|
if (is_required)
|