PHP 8.2.30
Preview: converters.js Size: 2.43 KB
//proc/thread-self/root/home/byroehnu/.trash/node_modules11/@adminjs/prisma/lib/utils/converters.js

import { safeParseJSON, safeParseNumber } from './helpers.js';
export const convertParam = (property, fields, value) => {
    const type = property.type();
    if (type === 'mixed')
        return value;
    if (type === 'number') {
        return safeParseNumber(value);
    }
    if (type === 'reference') {
        const foreignColumn = fields.find((field) => field.name === property.foreignColumnName());
        if (!foreignColumn)
            return value;
        if (value === undefined || value === null)
            return value;
        const foreignColumnType = foreignColumn.type;
        if (foreignColumnType === 'String')
            return String(value);
        return safeParseNumber(value);
    }
    return value;
};
export const convertFilter = (modelFields, filterObject) => {
    if (!filterObject)
        return {};
    const uuidRegex = /^[0-9A-F]{8}-[0-9A-F]{4}-[5|4|3|2|1][0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i;
    const { filters = {} } = filterObject;
    return Object.entries(filters).reduce((where, [name, filter]) => {
        if (['boolean', 'number', 'float', 'object', 'array'].includes(filter.property.type())) {
            where[name] = safeParseJSON(filter.value);
        }
        else if (['date', 'datetime'].includes(filter.property.type())) {
            if (typeof filter.value !== 'string' && filter.value.from && filter.value.to) {
                where[name] = { gte: new Date(filter.value.from), lte: new Date(filter.value.to) };
            }
            else if (typeof filter.value !== 'string' && filter.value.from) {
                where[name] = { gte: new Date(filter.value.from) };
            }
            else if (typeof filter.value !== 'string' && filter.value.to) {
                where[name] = { lte: new Date(filter.value.to) };
            }
        }
        else if (filter.property.isEnum()) {
            where[name] = { equals: filter.value };
        }
        else if (filter.property.type() === 'string' && uuidRegex.test(filter.value.toString())) {
            where[name] = { equals: filter.value };
        }
        else if (filter.property.type() === 'reference' && filter.property.foreignColumnName()) {
            where[filter.property.foreignColumnName()] = convertParam(filter.property, modelFields, filter.value);
        }
        else {
            where[name] = { contains: filter.value.toString() };
        }
        return where;
    }, {});
};
//# sourceMappingURL=converters.js.map

Directory Contents

Dirs: 0 × Files: 15

Name Size Perms Modified Actions
486 B lrw-r--r-- 2026-02-28 00:28:52
Edit Download
2.43 KB lrw-r--r-- 2026-02-28 00:27:32
Edit Download
2.71 KB lrw-r--r-- 2026-02-28 00:28:34
Edit Download
119 B lrw-r--r-- 2026-02-28 00:28:54
Edit Download
261 B lrw-r--r-- 2026-02-28 00:27:38
Edit Download
347 B lrw-r--r-- 2026-02-28 00:28:36
Edit Download
99 B lrw-r--r-- 2026-02-28 00:28:56
Edit Download
379 B lrw-r--r-- 2026-02-28 00:27:58
Edit Download
504 B lrw-r--r-- 2026-02-28 00:28:38
Edit Download
80 B lrw-r--r-- 2026-02-28 00:28:58
Edit Download
425 B lrw-r--r-- 2026-02-28 00:28:02
Edit Download
571 B lrw-r--r-- 2026-02-28 00:28:38
Edit Download
757 B lrw-r--r-- 2026-02-28 00:28:58
Edit Download
1011 B lrw-r--r-- 2026-02-28 00:28:06
Edit Download
921 B lrw-r--r-- 2026-02-28 00:28:42
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).