Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) Safe-mode: OFF (not secure) /var/www/html/wincloud_gateway/node_modules/strapi-plugin-import-export-content/services/utils/ drwxr-xr-x | |
| Viewing file: Select action/file-type: const {
stringIsEmail,
stringIsDate,
stringIsHour,
stringIsUrl,
urlIsMedia,
} = require("./formatsValidator");
const {
getValidRelations,
getValidMedia,
getValidComponent,
getValidDynamic,
} = require("./contentChecker");
function getFormatFromField(field) {
switch (typeof field) {
case "number":
return "number";
case "boolean":
return "boolean";
case "object":
if (Array.isArray(field)) return "array";
return "object";
case "string":
if (stringIsEmail(field)) return "email";
if (stringIsDate(field)) return "date";
if (stringIsHour(field)) return "time";
if (stringIsUrl(field)) {
if (urlIsMedia(field)) return "media";
return "url";
}
if (field.length > 255) return "text";
return "string";
}
}
function getFieldsFromItems(items) {
const fieldNames = new Set();
items.forEach((item) => {
try {
Object.keys(item).forEach((fieldName) => fieldNames.add(fieldName));
} catch (err) {
console.error(err);
}
});
return Array.from(fieldNames);
}
function mapFieldsToTargetFields({ items, fields, attributes, user }) {
const fieldNames = getFieldsFromItems(items);
return Promise.all(
items.map(async (item) => {
const mappedItem = {};
for (const fieldname of fieldNames) {
const { targetField } = fields[fieldname];
if (targetField && targetField !== "none") {
const attribute = attributes[targetField];
let targetItem = item[fieldname];
// Validate ids and import medias
if (attribute.type === "relation") {
targetItem = await getValidRelations(targetItem, attribute);
} else if (attribute.type === "media") {
targetItem = await getValidMedia(targetItem, attribute, user);
} else if (attribute.type === "component") {
targetItem = await getValidComponent(targetItem, attribute, user);
} else if (attribute.type === "dynamiczone") {
targetItem = await getValidDynamic(targetItem, attribute, user);
}
mappedItem[targetField] = targetItem;
}
}
return mappedItem;
})
);
}
module.exports = {
getFormatFromField,
getFieldsFromItems,
mapFieldsToTargetFields,
};
|
:: Command execute :: | |
--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0041 ]-- |