@gadmin2n/react-common 0.0.49 → 0.0.50

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.
@@ -137,34 +137,53 @@ var generateSort = function (sort) {
137
137
  return;
138
138
  };
139
139
  var createSearchQuery = function (filter) {
140
- var _a, _b, _c, _d, _e;
140
+ var _a, _b, _c, _d, _e, _f;
141
141
  if (filter.operator !== 'and' &&
142
142
  filter.operator !== 'or' &&
143
143
  'field' in filter) {
144
+ // Skip filters with empty/null/undefined values
145
+ if (filter.value === undefined ||
146
+ filter.value === null ||
147
+ filter.value === '' ||
148
+ (Array.isArray(filter.value) && filter.value.length === 0)) {
149
+ return {};
150
+ }
151
+ // Handle "between" operator: convert [start, end] to { gte: start, lte: end }
152
+ if (filter.operator === 'between') {
153
+ if (Array.isArray(filter.value) && filter.value.length === 2) {
154
+ return _a = {},
155
+ _a[filter.field] = {
156
+ gte: filter.value[0],
157
+ lte: filter.value[1]
158
+ },
159
+ _a;
160
+ }
161
+ return {};
162
+ }
144
163
  // query
145
164
  if (filter.field.endsWith('.id')) {
146
- return _a = {},
147
- _a[filter.field.split('.')[0]] = {
148
- id: (_b = {},
149
- _b[mapOperator(filter.operator)] = Array.isArray(filter.value)
165
+ return _b = {},
166
+ _b[filter.field.split('.')[0]] = {
167
+ id: (_c = {},
168
+ _c[mapOperator(filter.operator)] = Array.isArray(filter.value)
150
169
  ? filter.value.map(function (item) { return parseInt(item.toString()); })
151
170
  : parseInt(filter.value.toString()),
152
- _b)
171
+ _c)
153
172
  },
154
- _a;
173
+ _b;
155
174
  }
156
- return _c = {},
157
- _c[filter.field] = (_d = {},
158
- _d[mapOperator(filter.operator)] = filter.value,
159
- _d),
160
- _c;
175
+ return _d = {},
176
+ _d[filter.field] = (_e = {},
177
+ _e[mapOperator(filter.operator)] = filter.value,
178
+ _e),
179
+ _d;
161
180
  }
162
181
  var operator = filter.operator;
163
- return _e = {},
164
- _e[mapOperator(operator)] = filter.value.map(function (filter) {
182
+ return _f = {},
183
+ _f[mapOperator(operator)] = filter.value.map(function (filter) {
165
184
  return createSearchQuery(filter);
166
185
  }),
167
- _e;
186
+ _f;
168
187
  };
169
188
  var generateSearchFilter = function (filters) {
170
189
  return createSearchQuery({
@@ -1 +1 @@
1
- {"version":3,"file":"gadmin-data-provider.js","sourceRoot":"","sources":["../../../src/data-provider/gadmin-data-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gadmin-data-provider.js","sourceRoot":"","sources":["../../../src/data-provider/gadmin-data-provider.ts"],"names":[],"mappings":"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"}
@@ -671,34 +671,53 @@ var generateSort = function (sort) {
671
671
  return;
672
672
  };
673
673
  var createSearchQuery = function (filter) {
674
- var _a, _b, _c, _d, _e;
674
+ var _a, _b, _c, _d, _e, _f;
675
675
  if (filter.operator !== 'and' &&
676
676
  filter.operator !== 'or' &&
677
677
  'field' in filter) {
678
+ // Skip filters with empty/null/undefined values
679
+ if (filter.value === undefined ||
680
+ filter.value === null ||
681
+ filter.value === '' ||
682
+ (Array.isArray(filter.value) && filter.value.length === 0)) {
683
+ return {};
684
+ }
685
+ // Handle "between" operator: convert [start, end] to { gte: start, lte: end }
686
+ if (filter.operator === 'between') {
687
+ if (Array.isArray(filter.value) && filter.value.length === 2) {
688
+ return _a = {},
689
+ _a[filter.field] = {
690
+ gte: filter.value[0],
691
+ lte: filter.value[1]
692
+ },
693
+ _a;
694
+ }
695
+ return {};
696
+ }
678
697
  // query
679
698
  if (filter.field.endsWith('.id')) {
680
- return _a = {},
681
- _a[filter.field.split('.')[0]] = {
682
- id: (_b = {},
683
- _b[mapOperator(filter.operator)] = Array.isArray(filter.value)
699
+ return _b = {},
700
+ _b[filter.field.split('.')[0]] = {
701
+ id: (_c = {},
702
+ _c[mapOperator(filter.operator)] = Array.isArray(filter.value)
684
703
  ? filter.value.map(function (item) { return parseInt(item.toString()); })
685
704
  : parseInt(filter.value.toString()),
686
- _b)
705
+ _c)
687
706
  },
688
- _a;
707
+ _b;
689
708
  }
690
- return _c = {},
691
- _c[filter.field] = (_d = {},
692
- _d[mapOperator(filter.operator)] = filter.value,
693
- _d),
694
- _c;
709
+ return _d = {},
710
+ _d[filter.field] = (_e = {},
711
+ _e[mapOperator(filter.operator)] = filter.value,
712
+ _e),
713
+ _d;
695
714
  }
696
715
  var operator = filter.operator;
697
- return _e = {},
698
- _e[mapOperator(operator)] = filter.value.map(function (filter) {
716
+ return _f = {},
717
+ _f[mapOperator(operator)] = filter.value.map(function (filter) {
699
718
  return createSearchQuery(filter);
700
719
  }),
701
- _e;
720
+ _f;
702
721
  };
703
722
  var generateSearchFilter = function (filters) {
704
723
  return createSearchQuery({
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../../src/utils/common-helpers.ts","../../src/utils/prisma-helpers.ts","../../src/utils/table-helpers.ts","../../src/utils/form-helpers.ts","../../src/data-provider/gadmin-data-provider.ts","../../src/index.ts"],"sourcesContent":["import { When } from '../types/config.types'\nimport { IStringToTsType, ScalarType, TsTypeString } from '../types/types'\nimport produce from 'immer'\n\nexport function uncapitalize(string: string) {\n return string[0].toLowerCase() + string.slice(1)\n}\n\nexport function capitalize(string: string) {\n return string[0].toUpperCase() + string.slice(1)\n}\n\nexport function isObject(item: any) {\n return item && typeof item === 'object' && !Array.isArray(item)\n}\n\nexport function omit(obj: Record<string, any>, fields: string[]) {\n // eslint-disable-next-line prefer-object-spread\n const shallowCopy: Record<string, any> = Object.assign({}, obj)\n for (let i = 0; i < fields.length; i += 1) {\n const key = fields[i]\n delete shallowCopy[key]\n }\n return shallowCopy\n}\nexport function pick(obj: Record<string, any>, fields: string[]) {\n // eslint-disable-next-line prefer-object-spread\n const shallowCopy: Record<string, any> = {}\n for (let i = 0; i < fields.length; i += 1) {\n const key = fields[i]\n if (obj.hasOwnProperty(key)) {\n shallowCopy[key] = obj[key]\n }\n }\n return shallowCopy\n}\n\nexport function mergeDeep(target: any, source: any) {\n let output = Object.assign({}, target)\n if (isObject(target) && isObject(source)) {\n Object.keys(source).forEach(key => {\n if (isObject(source[key])) {\n if (!(key in target)) Object.assign(output, { [key]: source[key] })\n else output[key] = mergeDeep(target[key], source[key])\n } else {\n Object.assign(output, { [key]: source[key] })\n }\n })\n }\n return output\n}\n\nexport function deepClone(obj: any) {\n const newObj: any = Array.isArray(obj) ? [] : {}\n if (obj && typeof obj === 'object') {\n Object.entries(obj).forEach(([key, value]) => {\n newObj[key] = typeof value === 'object' ? deepClone(value) : value\n })\n }\n return newObj\n}\n\nexport const stringToTsType: IStringToTsType = (\n value: ScalarType,\n dataTypeString: TsTypeString\n) => {\n if (typeof value !== 'string') {\n return value\n }\n switch (dataTypeString) {\n case 'string':\n break\n case 'boolean':\n if (value === 'true') {\n return true\n }\n return false\n case 'bigint':\n case 'number':\n return Number(value)\n default:\n break\n }\n return value\n}\n\nfunction hasIntersection(arr1, arr2) {\n return arr1.some(num => arr2.includes(num))\n}\n\nexport function whenIsTrue(\n expact: When,\n realValues: Record<string, any>\n): boolean {\n if (!expact) {\n return true\n }\n if (expact === '*') {\n return true\n }\n if (typeof expact === 'function') {\n return expact(realValues)\n }\n return Object.entries(expact).every(([k, v]) => {\n if (k === 'id') {\n if (realValues[k] === undefined) {\n // 新增模式\n return undefined === v\n }\n return '*' === v //编辑模式\n }\n if (Array.isArray(realValues[k])) {\n if (Array.isArray(v)) {\n return hasIntersection(v, realValues[k])\n }\n return realValues[k].includes(v)\n } else {\n return Array.isArray(v) ? v.includes(realValues[k]) : realValues[k] === v\n }\n })\n}\n\nexport function recipeRunner(recipe: Function | undefined, state: any) {\n if (!recipe) {\n return state\n }\n return produce(state, recipe)\n}\n","const PrismaScalarToTypeScript: Record<string, string> = {\n String: 'string',\n Boolean: 'boolean',\n Int: 'number',\n // [Working with BigInt](https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields#working-with-bigint)\n BigInt: 'bigint',\n Float: 'number',\n // [Working with Decimal](https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields#working-with-decimal)\n Decimal: 'number',\n DateTime: 'Date',\n // [working with JSON fields](https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields)\n Json: 'Prisma.JsonValue',\n // [Working with Bytes](https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields#working-with-bytes)\n Bytes: 'Buffer'\n}\n\nconst knownPrismaScalarTypes = Object.keys(PrismaScalarToTypeScript)\n\nexport const scalarToTS = (scalar: string, useInputTypes = false): string => {\n if (!knownPrismaScalarTypes.includes(scalar)) {\n return 'string'\n }\n\n // [Working with JSON fields](https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields)\n // supports different types for input / output. `Prisma.InputJsonValue` extends `Prisma.JsonValue` with `undefined`\n if (useInputTypes && scalar === 'Json') {\n return 'Prisma.InputJsonValue'\n }\n\n return PrismaScalarToTypeScript[scalar]\n}\n\nexport function prismaEnumToOptions(enumObject: { [s: string]: string }) {\n return Object.entries(enumObject).map(([k, v]) => ({\n value: k,\n text: v\n }))\n}\n\n/**\n * Check if a value is a Prisma Decimal object.\n * Prisma Decimal objects have the format {s: sign, e: exponent, d: digits[]}\n * when serialized through JSON (losing prototype methods).\n */\nexport function isPrismaDecimal(value: any): boolean {\n return (\n value &&\n typeof value === 'object' &&\n 'd' in value &&\n 'e' in value &&\n 's' in value\n )\n}\n\n/**\n * Convert Prisma Decimal object (from decimal.js) to a displayable value.\n * Prisma Decimal objects have the format {s: sign, e: exponent, d: digits[]}\n * when serialized through JSON (losing prototype methods).\n *\n * @param value - The value to convert (may or may not be a Decimal object)\n * @returns The converted value as a string/number, or the original value if not a Decimal\n */\nexport function convertPrismaDecimal(value: any): string | number | any {\n if (!isPrismaDecimal(value)) {\n return value\n }\n\n const { s, e, d } = value\n if (!Array.isArray(d) || d.length === 0) {\n return 0\n }\n\n // Each element in d array represents up to 7 digits\n let numStr = d\n .map((n: number, i: number) =>\n i === 0 ? String(n) : String(n).padStart(7, '0')\n )\n .join('')\n\n // Remove trailing zeros from the digit string for cleaner output\n numStr = numStr.replace(/0+$/, '') || '0'\n\n // Calculate decimal point position\n const decimalPos = e + 1\n if (decimalPos <= 0) {\n numStr = '0.' + '0'.repeat(-decimalPos) + numStr\n } else if (decimalPos < numStr.length) {\n numStr = numStr.slice(0, decimalPos) + '.' + numStr.slice(decimalPos)\n } else if (decimalPos > numStr.length) {\n numStr = numStr + '0'.repeat(decimalPos - numStr.length)\n }\n\n return s === -1 ? '-' + numStr : numStr\n}\n","import {\n FieldDataType,\n ModelsFieldsTypeMap,\n ModelType,\n RequestMethod\n} from '../types/types'\nimport { ModelConfig } from '../types/config.types'\nimport { stringToTsType } from './common-helpers'\n\nexport const ALL_VALUE = '__ALL__'\nexport const TEA_PRO_TABLE_PARAMS_FIELDS = ['pageSize', 'pageIndex', 'current']\nexport const DEFAULT_TABLE_PAGE_SIZE = 10\nexport const DEFAUTL_SORT = { by: 'id', order: 'desc' } as const\n\nexport async function requestModel<T, K>(\n url: string,\n method: RequestMethod,\n body: T\n): Promise<K> {\n const response = await fetch(url, {\n method: method,\n headers: {\n 'Content-Type': 'application/json;charset=utf-8'\n },\n body: JSON.stringify(body)\n })\n\n if (!response.ok) {\n throw new Error(`response error ${response.status},${response.statusText}`)\n }\n\n return await response.json()\n}\n\nexport function formatDate(date: Date) {\n let month = String(date.getMonth() + 1)\n let day = String(date.getDate())\n const year = date.getFullYear()\n if (month.length < 2) {\n month = `0${month}`\n }\n if (day.length < 2) {\n day = `0${day}`\n }\n return [year, month, day].join('-')\n}\n\nexport function tableSearchBar(\n searchConfig: ModelConfig['table']['toolbar']['searchBar'],\n model: any\n) {\n const fields = searchConfig.fields\n .filter(name => !name.includes('.'))\n .map(name => model[name])\n .filter(field =>\n ['string', 'boolean', 'number', 'Date', 'bigint'].includes(field.tsType)\n )\n\n return {\n placeholder:\n searchConfig.placeholder || fields.map(field => field.name).join(', '),\n getSearchFilters: (keyword: string) =>\n fields\n .map(field => ({\n field: field.name,\n dataType: field.tsType,\n searchType: (searchConfig.containsFields || []).includes(field.name)\n ? 'contains'\n : 'equals'\n }))\n .map(item => {\n if (item.searchType === 'contains') {\n return {\n field: item.field,\n operator: 'contains',\n value: keyword\n }\n } else {\n const data = stringToTsType(keyword, item.dataType)\n if (\n item.dataType === 'number' &&\n (keyword === '' || isNaN(data as any))\n ) {\n return {\n field: '',\n operator: 'null',\n value: ''\n }\n }\n return {\n field: item.field,\n operator: 'eq',\n value: data\n }\n }\n })\n .filter(item => item.field !== '')\n }\n}\n\nexport function getColumns(\n modelName: string,\n fields: string[],\n modelsMap: ModelsFieldsTypeMap\n) {\n const columns: FieldDataType[] = []\n fields.forEach(fieldName => {\n let field = modelsMap[modelName]?.['model']?.[fieldName]\n if (!field && fieldName.includes('.')) {\n let [newModelName, newFieldName] = fieldName.split('.')\n if (modelsMap[modelName]?.['model']?.[newModelName]) {\n newModelName = modelsMap[modelName]['model'][newModelName]['type']\n }\n field = modelsMap[newModelName]?.['model']?.[newFieldName]\n if (field) {\n field = { ...field, name: fieldName }\n }\n }\n if (field) {\n columns.push(field)\n }\n })\n return columns\n}\n","import 'reflect-metadata'\nimport { plainToInstance } from 'class-transformer'\nimport { omit } from './common-helpers'\nimport { validate } from 'class-validator'\nimport {\n ChangeValueModal,\n FieldDataType,\n ModelType,\n ScalarType,\n TsTypeString\n} from '../types/types'\nimport produce from 'immer'\n\nconst ValidatorOptions = {\n stopAtFirstError: false,\n skipMissingProperties: true\n}\nconst TransformOptions = {\n enableImplicitConversion: true,\n excludePrefixes: ['_'],\n exposeUnsetFields: false\n}\n\nexport function inputValidator(\n transformClass: FunctionConstructor,\n field: string,\n tsType: TsTypeString\n) {\n return ({ getFieldValue }: { getFieldValue: any }) => ({\n async validator(_: any, value: ScalarType) {\n if (\n tsType === 'string' &&\n (value === null ||\n value === '' ||\n (Array.isArray(value) && value.length > 0)) // checkbox select(mutiple)\n ) {\n return Promise.resolve() //依赖required规则先执行(''值无法通过required的验证)\n }\n let newValue = value\n if (tsType === 'boolean' || tsType === 'number' || tsType === 'bigint') {\n newValue = value?.toString().trim()\n if (newValue === '' && value !== '') {\n return Promise.reject(\n new Error(`'${field}' can not be blank characters`)\n )\n }\n }\n if (Array.isArray(value) && value.length === 0) {\n value = undefined\n }\n const obj = plainToInstance(\n transformClass,\n //{ [field]: stringToTsType(value, tsType) },\n { [field]: value },\n TransformOptions\n )\n const errors = await validate(obj, ValidatorOptions)\n\n // errors is an array of validation errors\n if (errors.length > 0) {\n return Promise.reject(\n new Error(Object.values(errors[0].constraints || []).join(' AND '))\n )\n } else {\n return Promise.resolve()\n }\n }\n })\n}\n\nexport function addValidator(field: any, transformClass: any) {\n return produce(field, (draft: any) => {\n draft.validator = inputValidator(\n transformClass,\n draft.name,\n draft.tsType\n ) as any\n })\n}\n\nexport function produceModel(\n model: ModelType,\n propsObj: any,\n transformClass: any = undefined,\n permanentProps: any = undefined\n) {\n return produce(model, (draft: FieldDataType) => {\n if (transformClass || permanentProps) {\n for (const [key, value] of Object.entries(model)) {\n if (transformClass && key !== 'id') {\n draft[key].validator = inputValidator(\n transformClass,\n value.name,\n value.tsType\n )\n }\n if (permanentProps) {\n Object.assign(draft[key], permanentProps)\n }\n }\n }\n for (const [key, value] of Object.entries(propsObj)) {\n Object.assign(draft[key], value)\n }\n })\n}\n\nexport function formStringValuesToTs(\n transformClass: FunctionConstructor,\n values: Record<string, any>\n) {\n /*\n const newValues = {};\n Object.entries(values).forEach(([k, v]) => {\n newValues[k] = stringToTsType(v, scalarToTS(dataTypes[k].type) as TsTypeString);\n })\n */\n const isInsert = values.id === undefined\n\n const transformedValues: Record<string, any> = plainToInstance(\n transformClass,\n values,\n TransformOptions\n )\n\n const newValues = Object.entries(values).reduce((acc, [key, value]) => {\n if (value === undefined) return acc\n\n if (typeof value === 'object' && value.hasOwnProperty('connect')) {\n const realValue = value['connect']\n if (Array.isArray(realValue)) {\n acc[key] = {\n set: [], // 顺序不能乱\n connect: realValue.map(id => ({ id }))\n }\n } else {\n acc[key] = {\n set: [],\n connect: { id: realValue }\n }\n }\n if (isInsert) {\n delete acc[key].set\n }\n } else {\n acc[key] = transformedValues[key]\n }\n return acc\n }, {})\n\n if (!isInsert && newValues.hasOwnProperty('id')) {\n delete (newValues as any).id\n }\n\n return newValues\n}\n\nexport function getModalFormFields(\n changeValueModal: ChangeValueModal,\n fieldsComponent: any\n) {\n return changeValueModal.fields\n .map(fieldName => fieldsComponent[fieldName])\n .filter(component => component)\n .map(component =>\n changeValueModal.keys.length &&\n !changeValueModal.initialValues.hasOwnProperty('id')\n ? omit(component, ['when', 'visible', 'reaction']) // rowSelection CHANGE_VALUE\n : component\n ) as any\n}\n\nexport function handleOnFinish(\n values: Record<string, any>,\n fields: FieldDataType[],\n action?: 'edit' | 'create' | 'clone' | undefined\n): Record<string, any> {\n return {\n ...values,\n\n ...fields.reduce((aac, field) => {\n const {\n formItem: { type: uiType, args }\n } = field.uiType\n\n if (field.kind === 'object') {\n if (field.name.endsWith('.connect')) {\n const fieldName = field.name.split('.')[0]\n if (field.isList) {\n if (action === 'edit') {\n aac[fieldName] = {\n set: [], // 顺序不能乱\n connect: values?.[fieldName]?.ids.map((id: number) => ({ id }))\n }\n } else {\n aac[fieldName] = {\n connect: values?.[fieldName]?.ids.map((id: number) => ({ id }))\n }\n }\n } else {\n aac[fieldName] = { connect: { id: values?.[fieldName]?.id } }\n }\n }\n } else if (uiType === 'File' || uiType === 'Image') {\n if (Array.isArray(values[field.name])) {\n aac[field.name] = JSON.stringify(\n values[field.name].map(val => ({\n ...omit(val, [\n 'xhr',\n 'originFileObj',\n 'lastModified',\n 'lastModifiedDate'\n ]),\n thumbUrl: val?.response?.url\n }))\n )\n }\n } else if (\n uiType === 'CheckBox' ||\n (uiType === 'Select' && (args as any).mode === 'multiple')\n ) {\n if (Array.isArray(values[field.name])) {\n aac[field.name] = JSON.stringify(values[field.name])\n }\n }\n return aac\n }, {})\n }\n}\n\nexport function handleInitialValues(\n initialValues: Record<string, any>,\n fields: FieldDataType[]\n): Record<string, any> {\n return {\n ...initialValues,\n\n ...fields.reduce((aac, field) => {\n const {\n formItem: { type: uiType, args }\n } = field.uiType\n\n if (\n field.kind === 'object' &&\n field.isList &&\n field.name.endsWith('.connect')\n ) {\n const fieldName = field.name.split('.')[0]\n aac[fieldName] = {\n ids: initialValues?.[fieldName]?.map(\n (item: { id: number }) => item.id\n )\n }\n } else if (\n initialValues[field.name] &&\n (['File', 'Image', 'CheckBox'].includes(uiType || '') ||\n (uiType === 'Select' && (args as any).mode === 'multiple'))\n ) {\n aac[field.name] = JSON.parse(initialValues[field.name])\n }\n\n if (['', null].includes(initialValues[field.name])) {\n aac[field.name] = undefined\n }\n\n return aac\n }, {})\n }\n}\n","import axios, { AxiosInstance } from 'axios'\nimport { QuerySortOperator, SCondition } from '@nestjsx/crud-request'\nimport {\n DataProvider,\n HttpError,\n CrudFilters as RefineCrudFilter,\n CrudOperators,\n CrudSorting,\n CrudFilter\n} from '@refinedev/core'\nimport { stringify } from 'query-string'\nimport { omit, pick } from '../utils'\n\ntype SortBy = Array<{ [key: string]: QuerySortOperator }>\n\nconst axiosInstance = axios.create()\n\naxiosInstance.interceptors.response.use(\n response => {\n return response\n },\n error => {\n let message = error.response?.data?.message\n if (message) {\n if (Array.isArray(message)) {\n message = message.join(' AND ')\n } else if (typeof message === 'string') {\n if (message.includes('Unique constraint')) {\n message = `Unique constraint ${message.split('Unique constraint')[1]}`\n } else {\n let strings = message.split(')')\n message = strings[strings.length - 1]\n }\n }\n }\n const customError: HttpError = {\n ...error,\n message: `${error?.response?.statusText || ''}: ${message}`,\n statusCode: error?.response?.status || 500\n }\n\n return Promise.reject(customError)\n }\n)\n\nconst mapOperator = (operator: CrudOperators) => {\n switch (operator) {\n case 'and':\n return 'AND'\n case 'or':\n return 'OR'\n case 'ne':\n return 'not'\n case 'lt':\n return 'lt'\n case 'gt':\n return 'gt'\n case 'lte':\n return 'lte'\n case 'gte':\n return 'gte'\n case 'in':\n case 'ina':\n return 'in'\n case 'nin':\n case 'nina':\n return 'notIn'\n case 'contains':\n return 'contains'\n case 'ncontains':\n return '$exclL'\n case 'containss':\n return 'contains'\n case 'ncontainss':\n return '$excl'\n case 'null':\n return 'none'\n case 'startswith':\n return 'startsWith'\n case 'startswiths':\n return 'startsWith'\n case 'endswith':\n return 'endsWith'\n case 'endswiths':\n return 'endsWith'\n }\n\n return 'equals'\n}\n\nconst generateSort = (sort?: CrudSorting): SortBy | undefined => {\n if (sort && sort.length > 0) {\n const multipleSort: SortBy = []\n sort.map(({ field, order }) => {\n if (field && order) {\n multipleSort.push({\n [field]: order.toLowerCase() as QuerySortOperator\n })\n }\n })\n return multipleSort\n }\n\n return\n}\n\nconst createSearchQuery = (filter: CrudFilter): SCondition => {\n if (\n filter.operator !== 'and' &&\n filter.operator !== 'or' &&\n 'field' in filter\n ) {\n // query\n if (filter.field.endsWith('.id')) {\n return {\n [filter.field.split('.')[0]]: {\n id: {\n [mapOperator(filter.operator)]: Array.isArray(filter.value)\n ? filter.value.map(item => parseInt(item.toString()))\n : parseInt(filter.value.toString())\n }\n }\n }\n }\n return {\n [filter.field]: {\n [mapOperator(filter.operator)]: filter.value\n }\n }\n }\n\n const { operator } = filter\n\n return {\n [mapOperator(operator)]: filter.value.map(filter =>\n createSearchQuery(filter)\n )\n }\n}\n\nconst generateSearchFilter = (filters: RefineCrudFilter): SCondition => {\n return createSearchQuery({\n operator: 'and',\n value: filters\n })\n}\n\nconst returnParamFn = (a: any) => a\n\nexport const GadminCrud = (\n apiUrl: string,\n httpClient: AxiosInstance = axiosInstance\n): Required<DataProvider> => ({\n getList: async ({\n resource,\n pagination = { current: 1, pageSize: 10, mode: 'server' },\n filters = [],\n sorters = [],\n meta = {}\n }) => {\n const url = `${apiUrl}/${resource}/findMany`\n\n const { current = 1, pageSize = 10, mode = 'server' } = pagination ?? {}\n\n const query: any = { where: { AND: [] } }\n\n const q = filters.find((f: any) => f.field === 'q')\n if (filters) {\n Object.assign(query, {\n where: generateSearchFilter(\n (meta?.transformFn || returnParamFn)(filters).filter(\n (f: any) => f.field !== 'q'\n )\n )\n })\n }\n\n if (q) {\n if (meta.transformQFn) {\n query.where.AND.push({\n OR: (generateSearchFilter(meta.transformQFn(q.value)) as any).AND\n })\n } else {\n query.where.AND.push({\n q: q.value\n })\n }\n }\n\n if (mode === 'server') {\n Object.assign(query, {\n skip: (current - 1) * pageSize,\n take: pageSize\n })\n }\n\n Object.assign(\n query,\n {\n orderBy: generateSort(sorters) || [{ id: 'desc' }]\n },\n pick(meta, ['select', 'where'])\n )\n\n const { data } = await httpClient.post(url, query)\n\n return {\n data: data.data,\n total: data.meta.itemCount\n }\n },\n\n getMany: async ({ resource, ids, meta }) => {\n const url = `${apiUrl}/${resource}/findMany`\n\n const query = { where: { id: { in: ids } } }\n\n const { data } = await httpClient.post(url, query)\n\n return {\n data\n }\n },\n\n create: async ({ resource, variables, meta }) => {\n const url = `${apiUrl}/${resource}/createOne`\n\n const { data } = await httpClient.post(url, variables)\n\n return {\n data\n }\n },\n\n update: async ({ resource, id, variables, meta }) => {\n const url = `${apiUrl}/${resource}/updateUnique/${id}`\n\n const { data } = await httpClient.patch(url, variables)\n\n return {\n data\n }\n },\n\n updateMany: async ({ resource, ids, variables, meta }) => {\n const url = `${apiUrl}/${resource}/updateMany`\n\n const query = {\n where: { id: { in: ids } },\n data: variables\n }\n\n const { data } = await httpClient.patch(url, query)\n\n return {\n data\n }\n },\n\n createMany: async ({ resource, variables, meta }) => {\n const url = `${apiUrl}/${resource}/createMany`\n\n const { data } = await httpClient.post(url, variables)\n\n const res = {\n data: new Array(data.count).fill({ id: -1 })\n }\n return res\n },\n\n getOne: async ({ resource, id, meta }) => {\n const url = `${apiUrl}/${resource}/findUnique/${id}`\n const { data } = await httpClient.post(url, (meta || {}).select || {})\n\n return {\n data\n }\n },\n\n deleteOne: async ({ resource, id, meta }) => {\n const url = `${apiUrl}/${resource}/deleteUnique/${id}`\n\n const { data } = await httpClient.delete(url)\n\n return {\n data\n }\n },\n\n deleteMany: async ({ resource, ids, meta }) => {\n const url = `${apiUrl}/${resource}/deleteMany`\n\n const query = { where: { id: { in: ids } } }\n\n const { data } = await httpClient.delete(url, {\n data: query\n })\n\n return {\n data\n }\n },\n\n getApiUrl: () => {\n return apiUrl\n },\n\n custom: async ({\n url,\n method,\n filters,\n sorters,\n payload,\n query,\n headers,\n meta\n }) => {\n const body = { ...payload }\n\n if (filters) {\n Object.assign(body, {\n where: generateSearchFilter(filters)\n })\n }\n\n if (sorters) {\n Object.assign(body, {\n orderBy: generateSort(sorters)\n })\n }\n\n let requestUrl = url\n if (query) {\n requestUrl = `${requestUrl}?${stringify(query)}`\n }\n\n if (headers) {\n Object.assign(httpClient.defaults.headers.common, headers)\n }\n\n let axiosResponse\n switch (method) {\n case 'put':\n case 'post':\n case 'patch':\n axiosResponse = await httpClient[method](requestUrl, body)\n break\n case 'delete':\n axiosResponse = await httpClient.delete(requestUrl, {\n data: body\n })\n break\n default:\n axiosResponse = await httpClient.get(requestUrl)\n break\n }\n\n const { data } = axiosResponse\n\n return Promise.resolve({ data })\n }\n})\n","// Import here Polyfills if needed. Recommended core-js (npm i -D core-js)\n// import \"core-js/fn/array.find\"\n// ...\nexport * from './utils'\nexport * from './types/types'\nexport * from './data-provider'\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../../src/utils/common-helpers.ts","../../src/utils/prisma-helpers.ts","../../src/utils/table-helpers.ts","../../src/utils/form-helpers.ts","../../src/data-provider/gadmin-data-provider.ts","../../src/index.ts"],"sourcesContent":["import { When } from '../types/config.types'\nimport { IStringToTsType, ScalarType, TsTypeString } from '../types/types'\nimport produce from 'immer'\n\nexport function uncapitalize(string: string) {\n return string[0].toLowerCase() + string.slice(1)\n}\n\nexport function capitalize(string: string) {\n return string[0].toUpperCase() + string.slice(1)\n}\n\nexport function isObject(item: any) {\n return item && typeof item === 'object' && !Array.isArray(item)\n}\n\nexport function omit(obj: Record<string, any>, fields: string[]) {\n // eslint-disable-next-line prefer-object-spread\n const shallowCopy: Record<string, any> = Object.assign({}, obj)\n for (let i = 0; i < fields.length; i += 1) {\n const key = fields[i]\n delete shallowCopy[key]\n }\n return shallowCopy\n}\nexport function pick(obj: Record<string, any>, fields: string[]) {\n // eslint-disable-next-line prefer-object-spread\n const shallowCopy: Record<string, any> = {}\n for (let i = 0; i < fields.length; i += 1) {\n const key = fields[i]\n if (obj.hasOwnProperty(key)) {\n shallowCopy[key] = obj[key]\n }\n }\n return shallowCopy\n}\n\nexport function mergeDeep(target: any, source: any) {\n let output = Object.assign({}, target)\n if (isObject(target) && isObject(source)) {\n Object.keys(source).forEach(key => {\n if (isObject(source[key])) {\n if (!(key in target)) Object.assign(output, { [key]: source[key] })\n else output[key] = mergeDeep(target[key], source[key])\n } else {\n Object.assign(output, { [key]: source[key] })\n }\n })\n }\n return output\n}\n\nexport function deepClone(obj: any) {\n const newObj: any = Array.isArray(obj) ? [] : {}\n if (obj && typeof obj === 'object') {\n Object.entries(obj).forEach(([key, value]) => {\n newObj[key] = typeof value === 'object' ? deepClone(value) : value\n })\n }\n return newObj\n}\n\nexport const stringToTsType: IStringToTsType = (\n value: ScalarType,\n dataTypeString: TsTypeString\n) => {\n if (typeof value !== 'string') {\n return value\n }\n switch (dataTypeString) {\n case 'string':\n break\n case 'boolean':\n if (value === 'true') {\n return true\n }\n return false\n case 'bigint':\n case 'number':\n return Number(value)\n default:\n break\n }\n return value\n}\n\nfunction hasIntersection(arr1, arr2) {\n return arr1.some(num => arr2.includes(num))\n}\n\nexport function whenIsTrue(\n expact: When,\n realValues: Record<string, any>\n): boolean {\n if (!expact) {\n return true\n }\n if (expact === '*') {\n return true\n }\n if (typeof expact === 'function') {\n return expact(realValues)\n }\n return Object.entries(expact).every(([k, v]) => {\n if (k === 'id') {\n if (realValues[k] === undefined) {\n // 新增模式\n return undefined === v\n }\n return '*' === v //编辑模式\n }\n if (Array.isArray(realValues[k])) {\n if (Array.isArray(v)) {\n return hasIntersection(v, realValues[k])\n }\n return realValues[k].includes(v)\n } else {\n return Array.isArray(v) ? v.includes(realValues[k]) : realValues[k] === v\n }\n })\n}\n\nexport function recipeRunner(recipe: Function | undefined, state: any) {\n if (!recipe) {\n return state\n }\n return produce(state, recipe)\n}\n","const PrismaScalarToTypeScript: Record<string, string> = {\n String: 'string',\n Boolean: 'boolean',\n Int: 'number',\n // [Working with BigInt](https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields#working-with-bigint)\n BigInt: 'bigint',\n Float: 'number',\n // [Working with Decimal](https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields#working-with-decimal)\n Decimal: 'number',\n DateTime: 'Date',\n // [working with JSON fields](https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields)\n Json: 'Prisma.JsonValue',\n // [Working with Bytes](https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields#working-with-bytes)\n Bytes: 'Buffer'\n}\n\nconst knownPrismaScalarTypes = Object.keys(PrismaScalarToTypeScript)\n\nexport const scalarToTS = (scalar: string, useInputTypes = false): string => {\n if (!knownPrismaScalarTypes.includes(scalar)) {\n return 'string'\n }\n\n // [Working with JSON fields](https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields)\n // supports different types for input / output. `Prisma.InputJsonValue` extends `Prisma.JsonValue` with `undefined`\n if (useInputTypes && scalar === 'Json') {\n return 'Prisma.InputJsonValue'\n }\n\n return PrismaScalarToTypeScript[scalar]\n}\n\nexport function prismaEnumToOptions(enumObject: { [s: string]: string }) {\n return Object.entries(enumObject).map(([k, v]) => ({\n value: k,\n text: v\n }))\n}\n\n/**\n * Check if a value is a Prisma Decimal object.\n * Prisma Decimal objects have the format {s: sign, e: exponent, d: digits[]}\n * when serialized through JSON (losing prototype methods).\n */\nexport function isPrismaDecimal(value: any): boolean {\n return (\n value &&\n typeof value === 'object' &&\n 'd' in value &&\n 'e' in value &&\n 's' in value\n )\n}\n\n/**\n * Convert Prisma Decimal object (from decimal.js) to a displayable value.\n * Prisma Decimal objects have the format {s: sign, e: exponent, d: digits[]}\n * when serialized through JSON (losing prototype methods).\n *\n * @param value - The value to convert (may or may not be a Decimal object)\n * @returns The converted value as a string/number, or the original value if not a Decimal\n */\nexport function convertPrismaDecimal(value: any): string | number | any {\n if (!isPrismaDecimal(value)) {\n return value\n }\n\n const { s, e, d } = value\n if (!Array.isArray(d) || d.length === 0) {\n return 0\n }\n\n // Each element in d array represents up to 7 digits\n let numStr = d\n .map((n: number, i: number) =>\n i === 0 ? String(n) : String(n).padStart(7, '0')\n )\n .join('')\n\n // Remove trailing zeros from the digit string for cleaner output\n numStr = numStr.replace(/0+$/, '') || '0'\n\n // Calculate decimal point position\n const decimalPos = e + 1\n if (decimalPos <= 0) {\n numStr = '0.' + '0'.repeat(-decimalPos) + numStr\n } else if (decimalPos < numStr.length) {\n numStr = numStr.slice(0, decimalPos) + '.' + numStr.slice(decimalPos)\n } else if (decimalPos > numStr.length) {\n numStr = numStr + '0'.repeat(decimalPos - numStr.length)\n }\n\n return s === -1 ? '-' + numStr : numStr\n}\n","import {\n FieldDataType,\n ModelsFieldsTypeMap,\n ModelType,\n RequestMethod\n} from '../types/types'\nimport { ModelConfig } from '../types/config.types'\nimport { stringToTsType } from './common-helpers'\n\nexport const ALL_VALUE = '__ALL__'\nexport const TEA_PRO_TABLE_PARAMS_FIELDS = ['pageSize', 'pageIndex', 'current']\nexport const DEFAULT_TABLE_PAGE_SIZE = 10\nexport const DEFAUTL_SORT = { by: 'id', order: 'desc' } as const\n\nexport async function requestModel<T, K>(\n url: string,\n method: RequestMethod,\n body: T\n): Promise<K> {\n const response = await fetch(url, {\n method: method,\n headers: {\n 'Content-Type': 'application/json;charset=utf-8'\n },\n body: JSON.stringify(body)\n })\n\n if (!response.ok) {\n throw new Error(`response error ${response.status},${response.statusText}`)\n }\n\n return await response.json()\n}\n\nexport function formatDate(date: Date) {\n let month = String(date.getMonth() + 1)\n let day = String(date.getDate())\n const year = date.getFullYear()\n if (month.length < 2) {\n month = `0${month}`\n }\n if (day.length < 2) {\n day = `0${day}`\n }\n return [year, month, day].join('-')\n}\n\nexport function tableSearchBar(\n searchConfig: ModelConfig['table']['toolbar']['searchBar'],\n model: any\n) {\n const fields = searchConfig.fields\n .filter(name => !name.includes('.'))\n .map(name => model[name])\n .filter(field =>\n ['string', 'boolean', 'number', 'Date', 'bigint'].includes(field.tsType)\n )\n\n return {\n placeholder:\n searchConfig.placeholder || fields.map(field => field.name).join(', '),\n getSearchFilters: (keyword: string) =>\n fields\n .map(field => ({\n field: field.name,\n dataType: field.tsType,\n searchType: (searchConfig.containsFields || []).includes(field.name)\n ? 'contains'\n : 'equals'\n }))\n .map(item => {\n if (item.searchType === 'contains') {\n return {\n field: item.field,\n operator: 'contains',\n value: keyword\n }\n } else {\n const data = stringToTsType(keyword, item.dataType)\n if (\n item.dataType === 'number' &&\n (keyword === '' || isNaN(data as any))\n ) {\n return {\n field: '',\n operator: 'null',\n value: ''\n }\n }\n return {\n field: item.field,\n operator: 'eq',\n value: data\n }\n }\n })\n .filter(item => item.field !== '')\n }\n}\n\nexport function getColumns(\n modelName: string,\n fields: string[],\n modelsMap: ModelsFieldsTypeMap\n) {\n const columns: FieldDataType[] = []\n fields.forEach(fieldName => {\n let field = modelsMap[modelName]?.['model']?.[fieldName]\n if (!field && fieldName.includes('.')) {\n let [newModelName, newFieldName] = fieldName.split('.')\n if (modelsMap[modelName]?.['model']?.[newModelName]) {\n newModelName = modelsMap[modelName]['model'][newModelName]['type']\n }\n field = modelsMap[newModelName]?.['model']?.[newFieldName]\n if (field) {\n field = { ...field, name: fieldName }\n }\n }\n if (field) {\n columns.push(field)\n }\n })\n return columns\n}\n","import 'reflect-metadata'\nimport { plainToInstance } from 'class-transformer'\nimport { omit } from './common-helpers'\nimport { validate } from 'class-validator'\nimport {\n ChangeValueModal,\n FieldDataType,\n ModelType,\n ScalarType,\n TsTypeString\n} from '../types/types'\nimport produce from 'immer'\n\nconst ValidatorOptions = {\n stopAtFirstError: false,\n skipMissingProperties: true\n}\nconst TransformOptions = {\n enableImplicitConversion: true,\n excludePrefixes: ['_'],\n exposeUnsetFields: false\n}\n\nexport function inputValidator(\n transformClass: FunctionConstructor,\n field: string,\n tsType: TsTypeString\n) {\n return ({ getFieldValue }: { getFieldValue: any }) => ({\n async validator(_: any, value: ScalarType) {\n if (\n tsType === 'string' &&\n (value === null ||\n value === '' ||\n (Array.isArray(value) && value.length > 0)) // checkbox select(mutiple)\n ) {\n return Promise.resolve() //依赖required规则先执行(''值无法通过required的验证)\n }\n let newValue = value\n if (tsType === 'boolean' || tsType === 'number' || tsType === 'bigint') {\n newValue = value?.toString().trim()\n if (newValue === '' && value !== '') {\n return Promise.reject(\n new Error(`'${field}' can not be blank characters`)\n )\n }\n }\n if (Array.isArray(value) && value.length === 0) {\n value = undefined\n }\n const obj = plainToInstance(\n transformClass,\n //{ [field]: stringToTsType(value, tsType) },\n { [field]: value },\n TransformOptions\n )\n const errors = await validate(obj, ValidatorOptions)\n\n // errors is an array of validation errors\n if (errors.length > 0) {\n return Promise.reject(\n new Error(Object.values(errors[0].constraints || []).join(' AND '))\n )\n } else {\n return Promise.resolve()\n }\n }\n })\n}\n\nexport function addValidator(field: any, transformClass: any) {\n return produce(field, (draft: any) => {\n draft.validator = inputValidator(\n transformClass,\n draft.name,\n draft.tsType\n ) as any\n })\n}\n\nexport function produceModel(\n model: ModelType,\n propsObj: any,\n transformClass: any = undefined,\n permanentProps: any = undefined\n) {\n return produce(model, (draft: FieldDataType) => {\n if (transformClass || permanentProps) {\n for (const [key, value] of Object.entries(model)) {\n if (transformClass && key !== 'id') {\n draft[key].validator = inputValidator(\n transformClass,\n value.name,\n value.tsType\n )\n }\n if (permanentProps) {\n Object.assign(draft[key], permanentProps)\n }\n }\n }\n for (const [key, value] of Object.entries(propsObj)) {\n Object.assign(draft[key], value)\n }\n })\n}\n\nexport function formStringValuesToTs(\n transformClass: FunctionConstructor,\n values: Record<string, any>\n) {\n /*\n const newValues = {};\n Object.entries(values).forEach(([k, v]) => {\n newValues[k] = stringToTsType(v, scalarToTS(dataTypes[k].type) as TsTypeString);\n })\n */\n const isInsert = values.id === undefined\n\n const transformedValues: Record<string, any> = plainToInstance(\n transformClass,\n values,\n TransformOptions\n )\n\n const newValues = Object.entries(values).reduce((acc, [key, value]) => {\n if (value === undefined) return acc\n\n if (typeof value === 'object' && value.hasOwnProperty('connect')) {\n const realValue = value['connect']\n if (Array.isArray(realValue)) {\n acc[key] = {\n set: [], // 顺序不能乱\n connect: realValue.map(id => ({ id }))\n }\n } else {\n acc[key] = {\n set: [],\n connect: { id: realValue }\n }\n }\n if (isInsert) {\n delete acc[key].set\n }\n } else {\n acc[key] = transformedValues[key]\n }\n return acc\n }, {})\n\n if (!isInsert && newValues.hasOwnProperty('id')) {\n delete (newValues as any).id\n }\n\n return newValues\n}\n\nexport function getModalFormFields(\n changeValueModal: ChangeValueModal,\n fieldsComponent: any\n) {\n return changeValueModal.fields\n .map(fieldName => fieldsComponent[fieldName])\n .filter(component => component)\n .map(component =>\n changeValueModal.keys.length &&\n !changeValueModal.initialValues.hasOwnProperty('id')\n ? omit(component, ['when', 'visible', 'reaction']) // rowSelection CHANGE_VALUE\n : component\n ) as any\n}\n\nexport function handleOnFinish(\n values: Record<string, any>,\n fields: FieldDataType[],\n action?: 'edit' | 'create' | 'clone' | undefined\n): Record<string, any> {\n return {\n ...values,\n\n ...fields.reduce((aac, field) => {\n const {\n formItem: { type: uiType, args }\n } = field.uiType\n\n if (field.kind === 'object') {\n if (field.name.endsWith('.connect')) {\n const fieldName = field.name.split('.')[0]\n if (field.isList) {\n if (action === 'edit') {\n aac[fieldName] = {\n set: [], // 顺序不能乱\n connect: values?.[fieldName]?.ids.map((id: number) => ({ id }))\n }\n } else {\n aac[fieldName] = {\n connect: values?.[fieldName]?.ids.map((id: number) => ({ id }))\n }\n }\n } else {\n aac[fieldName] = { connect: { id: values?.[fieldName]?.id } }\n }\n }\n } else if (uiType === 'File' || uiType === 'Image') {\n if (Array.isArray(values[field.name])) {\n aac[field.name] = JSON.stringify(\n values[field.name].map(val => ({\n ...omit(val, [\n 'xhr',\n 'originFileObj',\n 'lastModified',\n 'lastModifiedDate'\n ]),\n thumbUrl: val?.response?.url\n }))\n )\n }\n } else if (\n uiType === 'CheckBox' ||\n (uiType === 'Select' && (args as any).mode === 'multiple')\n ) {\n if (Array.isArray(values[field.name])) {\n aac[field.name] = JSON.stringify(values[field.name])\n }\n }\n return aac\n }, {})\n }\n}\n\nexport function handleInitialValues(\n initialValues: Record<string, any>,\n fields: FieldDataType[]\n): Record<string, any> {\n return {\n ...initialValues,\n\n ...fields.reduce((aac, field) => {\n const {\n formItem: { type: uiType, args }\n } = field.uiType\n\n if (\n field.kind === 'object' &&\n field.isList &&\n field.name.endsWith('.connect')\n ) {\n const fieldName = field.name.split('.')[0]\n aac[fieldName] = {\n ids: initialValues?.[fieldName]?.map(\n (item: { id: number }) => item.id\n )\n }\n } else if (\n initialValues[field.name] &&\n (['File', 'Image', 'CheckBox'].includes(uiType || '') ||\n (uiType === 'Select' && (args as any).mode === 'multiple'))\n ) {\n aac[field.name] = JSON.parse(initialValues[field.name])\n }\n\n if (['', null].includes(initialValues[field.name])) {\n aac[field.name] = undefined\n }\n\n return aac\n }, {})\n }\n}\n","import axios, { AxiosInstance } from 'axios'\nimport { QuerySortOperator, SCondition } from '@nestjsx/crud-request'\nimport {\n DataProvider,\n HttpError,\n CrudFilters as RefineCrudFilter,\n CrudOperators,\n CrudSorting,\n CrudFilter\n} from '@refinedev/core'\nimport { stringify } from 'query-string'\nimport { omit, pick } from '../utils'\n\ntype SortBy = Array<{ [key: string]: QuerySortOperator }>\n\nconst axiosInstance = axios.create()\n\naxiosInstance.interceptors.response.use(\n response => {\n return response\n },\n error => {\n let message = error.response?.data?.message\n if (message) {\n if (Array.isArray(message)) {\n message = message.join(' AND ')\n } else if (typeof message === 'string') {\n if (message.includes('Unique constraint')) {\n message = `Unique constraint ${message.split('Unique constraint')[1]}`\n } else {\n let strings = message.split(')')\n message = strings[strings.length - 1]\n }\n }\n }\n const customError: HttpError = {\n ...error,\n message: `${error?.response?.statusText || ''}: ${message}`,\n statusCode: error?.response?.status || 500\n }\n\n return Promise.reject(customError)\n }\n)\n\nconst mapOperator = (operator: CrudOperators) => {\n switch (operator) {\n case 'and':\n return 'AND'\n case 'or':\n return 'OR'\n case 'ne':\n return 'not'\n case 'lt':\n return 'lt'\n case 'gt':\n return 'gt'\n case 'lte':\n return 'lte'\n case 'gte':\n return 'gte'\n case 'in':\n case 'ina':\n return 'in'\n case 'nin':\n case 'nina':\n return 'notIn'\n case 'contains':\n return 'contains'\n case 'ncontains':\n return '$exclL'\n case 'containss':\n return 'contains'\n case 'ncontainss':\n return '$excl'\n case 'null':\n return 'none'\n case 'startswith':\n return 'startsWith'\n case 'startswiths':\n return 'startsWith'\n case 'endswith':\n return 'endsWith'\n case 'endswiths':\n return 'endsWith'\n }\n\n return 'equals'\n}\n\nconst generateSort = (sort?: CrudSorting): SortBy | undefined => {\n if (sort && sort.length > 0) {\n const multipleSort: SortBy = []\n sort.map(({ field, order }) => {\n if (field && order) {\n multipleSort.push({\n [field]: order.toLowerCase() as QuerySortOperator\n })\n }\n })\n return multipleSort\n }\n\n return\n}\n\nconst createSearchQuery = (filter: CrudFilter): SCondition => {\n if (\n filter.operator !== 'and' &&\n filter.operator !== 'or' &&\n 'field' in filter\n ) {\n // Skip filters with empty/null/undefined values\n if (\n filter.value === undefined ||\n filter.value === null ||\n filter.value === '' ||\n (Array.isArray(filter.value) && filter.value.length === 0)\n ) {\n return {}\n }\n\n // Handle \"between\" operator: convert [start, end] to { gte: start, lte: end }\n if (filter.operator === 'between') {\n if (Array.isArray(filter.value) && filter.value.length === 2) {\n return {\n [filter.field]: {\n gte: filter.value[0],\n lte: filter.value[1]\n }\n }\n }\n return {}\n }\n\n // query\n if (filter.field.endsWith('.id')) {\n return {\n [filter.field.split('.')[0]]: {\n id: {\n [mapOperator(filter.operator)]: Array.isArray(filter.value)\n ? filter.value.map(item => parseInt(item.toString()))\n : parseInt(filter.value.toString())\n }\n }\n }\n }\n return {\n [filter.field]: {\n [mapOperator(filter.operator)]: filter.value\n }\n }\n }\n\n const { operator } = filter\n\n return {\n [mapOperator(operator)]: filter.value.map(filter =>\n createSearchQuery(filter)\n )\n }\n}\n\nconst generateSearchFilter = (filters: RefineCrudFilter): SCondition => {\n return createSearchQuery({\n operator: 'and',\n value: filters\n })\n}\n\nconst returnParamFn = (a: any) => a\n\nexport const GadminCrud = (\n apiUrl: string,\n httpClient: AxiosInstance = axiosInstance\n): Required<DataProvider> => ({\n getList: async ({\n resource,\n pagination = { current: 1, pageSize: 10, mode: 'server' },\n filters = [],\n sorters = [],\n meta = {}\n }) => {\n const url = `${apiUrl}/${resource}/findMany`\n\n const { current = 1, pageSize = 10, mode = 'server' } = pagination ?? {}\n\n const query: any = { where: { AND: [] } }\n\n const q = filters.find((f: any) => f.field === 'q')\n if (filters) {\n Object.assign(query, {\n where: generateSearchFilter(\n (meta?.transformFn || returnParamFn)(filters).filter(\n (f: any) => f.field !== 'q'\n )\n )\n })\n }\n\n if (q) {\n if (meta.transformQFn) {\n query.where.AND.push({\n OR: (generateSearchFilter(meta.transformQFn(q.value)) as any).AND\n })\n } else {\n query.where.AND.push({\n q: q.value\n })\n }\n }\n\n if (mode === 'server') {\n Object.assign(query, {\n skip: (current - 1) * pageSize,\n take: pageSize\n })\n }\n\n Object.assign(\n query,\n {\n orderBy: generateSort(sorters) || [{ id: 'desc' }]\n },\n pick(meta, ['select', 'where'])\n )\n\n const { data } = await httpClient.post(url, query)\n\n return {\n data: data.data,\n total: data.meta.itemCount\n }\n },\n\n getMany: async ({ resource, ids, meta }) => {\n const url = `${apiUrl}/${resource}/findMany`\n\n const query = { where: { id: { in: ids } } }\n\n const { data } = await httpClient.post(url, query)\n\n return {\n data\n }\n },\n\n create: async ({ resource, variables, meta }) => {\n const url = `${apiUrl}/${resource}/createOne`\n\n const { data } = await httpClient.post(url, variables)\n\n return {\n data\n }\n },\n\n update: async ({ resource, id, variables, meta }) => {\n const url = `${apiUrl}/${resource}/updateUnique/${id}`\n\n const { data } = await httpClient.patch(url, variables)\n\n return {\n data\n }\n },\n\n updateMany: async ({ resource, ids, variables, meta }) => {\n const url = `${apiUrl}/${resource}/updateMany`\n\n const query = {\n where: { id: { in: ids } },\n data: variables\n }\n\n const { data } = await httpClient.patch(url, query)\n\n return {\n data\n }\n },\n\n createMany: async ({ resource, variables, meta }) => {\n const url = `${apiUrl}/${resource}/createMany`\n\n const { data } = await httpClient.post(url, variables)\n\n const res = {\n data: new Array(data.count).fill({ id: -1 })\n }\n return res\n },\n\n getOne: async ({ resource, id, meta }) => {\n const url = `${apiUrl}/${resource}/findUnique/${id}`\n const { data } = await httpClient.post(url, (meta || {}).select || {})\n\n return {\n data\n }\n },\n\n deleteOne: async ({ resource, id, meta }) => {\n const url = `${apiUrl}/${resource}/deleteUnique/${id}`\n\n const { data } = await httpClient.delete(url)\n\n return {\n data\n }\n },\n\n deleteMany: async ({ resource, ids, meta }) => {\n const url = `${apiUrl}/${resource}/deleteMany`\n\n const query = { where: { id: { in: ids } } }\n\n const { data } = await httpClient.delete(url, {\n data: query\n })\n\n return {\n data\n }\n },\n\n getApiUrl: () => {\n return apiUrl\n },\n\n custom: async ({\n url,\n method,\n filters,\n sorters,\n payload,\n query,\n headers,\n meta\n }) => {\n const body = { ...payload }\n\n if (filters) {\n Object.assign(body, {\n where: generateSearchFilter(filters)\n })\n }\n\n if (sorters) {\n Object.assign(body, {\n orderBy: generateSort(sorters)\n })\n }\n\n let requestUrl = url\n if (query) {\n requestUrl = `${requestUrl}?${stringify(query)}`\n }\n\n if (headers) {\n Object.assign(httpClient.defaults.headers.common, headers)\n }\n\n let axiosResponse\n switch (method) {\n case 'put':\n case 'post':\n case 'patch':\n axiosResponse = await httpClient[method](requestUrl, body)\n break\n case 'delete':\n axiosResponse = await httpClient.delete(requestUrl, {\n data: body\n })\n break\n default:\n axiosResponse = await httpClient.get(requestUrl)\n break\n }\n\n const { data } = axiosResponse\n\n return Promise.resolve({ data })\n }\n})\n","// Import here Polyfills if needed. Recommended core-js (npm i -D core-js)\n// import \"core-js/fn/array.find\"\n// ...\nexport * from './utils'\nexport * from './types/types'\nexport * from './data-provider'\n"],"names":[],"mappings":"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"}
@@ -673,34 +673,53 @@
673
673
  return;
674
674
  };
675
675
  var createSearchQuery = function (filter) {
676
- var _a, _b, _c, _d, _e;
676
+ var _a, _b, _c, _d, _e, _f;
677
677
  if (filter.operator !== 'and' &&
678
678
  filter.operator !== 'or' &&
679
679
  'field' in filter) {
680
+ // Skip filters with empty/null/undefined values
681
+ if (filter.value === undefined ||
682
+ filter.value === null ||
683
+ filter.value === '' ||
684
+ (Array.isArray(filter.value) && filter.value.length === 0)) {
685
+ return {};
686
+ }
687
+ // Handle "between" operator: convert [start, end] to { gte: start, lte: end }
688
+ if (filter.operator === 'between') {
689
+ if (Array.isArray(filter.value) && filter.value.length === 2) {
690
+ return _a = {},
691
+ _a[filter.field] = {
692
+ gte: filter.value[0],
693
+ lte: filter.value[1]
694
+ },
695
+ _a;
696
+ }
697
+ return {};
698
+ }
680
699
  // query
681
700
  if (filter.field.endsWith('.id')) {
682
- return _a = {},
683
- _a[filter.field.split('.')[0]] = {
684
- id: (_b = {},
685
- _b[mapOperator(filter.operator)] = Array.isArray(filter.value)
701
+ return _b = {},
702
+ _b[filter.field.split('.')[0]] = {
703
+ id: (_c = {},
704
+ _c[mapOperator(filter.operator)] = Array.isArray(filter.value)
686
705
  ? filter.value.map(function (item) { return parseInt(item.toString()); })
687
706
  : parseInt(filter.value.toString()),
688
- _b)
707
+ _c)
689
708
  },
690
- _a;
709
+ _b;
691
710
  }
692
- return _c = {},
693
- _c[filter.field] = (_d = {},
694
- _d[mapOperator(filter.operator)] = filter.value,
695
- _d),
696
- _c;
711
+ return _d = {},
712
+ _d[filter.field] = (_e = {},
713
+ _e[mapOperator(filter.operator)] = filter.value,
714
+ _e),
715
+ _d;
697
716
  }
698
717
  var operator = filter.operator;
699
- return _e = {},
700
- _e[mapOperator(operator)] = filter.value.map(function (filter) {
718
+ return _f = {},
719
+ _f[mapOperator(operator)] = filter.value.map(function (filter) {
701
720
  return createSearchQuery(filter);
702
721
  }),
703
- _e;
722
+ _f;
704
723
  };
705
724
  var generateSearchFilter = function (filters) {
706
725
  return createSearchQuery({
@@ -1 +1 @@
1
- {"version":3,"file":"index.umd.js","sources":["../../src/utils/common-helpers.ts","../../src/utils/prisma-helpers.ts","../../src/utils/table-helpers.ts","../../src/utils/form-helpers.ts","../../src/data-provider/gadmin-data-provider.ts","../../src/index.ts"],"sourcesContent":["import { When } from '../types/config.types'\nimport { IStringToTsType, ScalarType, TsTypeString } from '../types/types'\nimport produce from 'immer'\n\nexport function uncapitalize(string: string) {\n return string[0].toLowerCase() + string.slice(1)\n}\n\nexport function capitalize(string: string) {\n return string[0].toUpperCase() + string.slice(1)\n}\n\nexport function isObject(item: any) {\n return item && typeof item === 'object' && !Array.isArray(item)\n}\n\nexport function omit(obj: Record<string, any>, fields: string[]) {\n // eslint-disable-next-line prefer-object-spread\n const shallowCopy: Record<string, any> = Object.assign({}, obj)\n for (let i = 0; i < fields.length; i += 1) {\n const key = fields[i]\n delete shallowCopy[key]\n }\n return shallowCopy\n}\nexport function pick(obj: Record<string, any>, fields: string[]) {\n // eslint-disable-next-line prefer-object-spread\n const shallowCopy: Record<string, any> = {}\n for (let i = 0; i < fields.length; i += 1) {\n const key = fields[i]\n if (obj.hasOwnProperty(key)) {\n shallowCopy[key] = obj[key]\n }\n }\n return shallowCopy\n}\n\nexport function mergeDeep(target: any, source: any) {\n let output = Object.assign({}, target)\n if (isObject(target) && isObject(source)) {\n Object.keys(source).forEach(key => {\n if (isObject(source[key])) {\n if (!(key in target)) Object.assign(output, { [key]: source[key] })\n else output[key] = mergeDeep(target[key], source[key])\n } else {\n Object.assign(output, { [key]: source[key] })\n }\n })\n }\n return output\n}\n\nexport function deepClone(obj: any) {\n const newObj: any = Array.isArray(obj) ? [] : {}\n if (obj && typeof obj === 'object') {\n Object.entries(obj).forEach(([key, value]) => {\n newObj[key] = typeof value === 'object' ? deepClone(value) : value\n })\n }\n return newObj\n}\n\nexport const stringToTsType: IStringToTsType = (\n value: ScalarType,\n dataTypeString: TsTypeString\n) => {\n if (typeof value !== 'string') {\n return value\n }\n switch (dataTypeString) {\n case 'string':\n break\n case 'boolean':\n if (value === 'true') {\n return true\n }\n return false\n case 'bigint':\n case 'number':\n return Number(value)\n default:\n break\n }\n return value\n}\n\nfunction hasIntersection(arr1, arr2) {\n return arr1.some(num => arr2.includes(num))\n}\n\nexport function whenIsTrue(\n expact: When,\n realValues: Record<string, any>\n): boolean {\n if (!expact) {\n return true\n }\n if (expact === '*') {\n return true\n }\n if (typeof expact === 'function') {\n return expact(realValues)\n }\n return Object.entries(expact).every(([k, v]) => {\n if (k === 'id') {\n if (realValues[k] === undefined) {\n // 新增模式\n return undefined === v\n }\n return '*' === v //编辑模式\n }\n if (Array.isArray(realValues[k])) {\n if (Array.isArray(v)) {\n return hasIntersection(v, realValues[k])\n }\n return realValues[k].includes(v)\n } else {\n return Array.isArray(v) ? v.includes(realValues[k]) : realValues[k] === v\n }\n })\n}\n\nexport function recipeRunner(recipe: Function | undefined, state: any) {\n if (!recipe) {\n return state\n }\n return produce(state, recipe)\n}\n","const PrismaScalarToTypeScript: Record<string, string> = {\n String: 'string',\n Boolean: 'boolean',\n Int: 'number',\n // [Working with BigInt](https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields#working-with-bigint)\n BigInt: 'bigint',\n Float: 'number',\n // [Working with Decimal](https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields#working-with-decimal)\n Decimal: 'number',\n DateTime: 'Date',\n // [working with JSON fields](https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields)\n Json: 'Prisma.JsonValue',\n // [Working with Bytes](https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields#working-with-bytes)\n Bytes: 'Buffer'\n}\n\nconst knownPrismaScalarTypes = Object.keys(PrismaScalarToTypeScript)\n\nexport const scalarToTS = (scalar: string, useInputTypes = false): string => {\n if (!knownPrismaScalarTypes.includes(scalar)) {\n return 'string'\n }\n\n // [Working with JSON fields](https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields)\n // supports different types for input / output. `Prisma.InputJsonValue` extends `Prisma.JsonValue` with `undefined`\n if (useInputTypes && scalar === 'Json') {\n return 'Prisma.InputJsonValue'\n }\n\n return PrismaScalarToTypeScript[scalar]\n}\n\nexport function prismaEnumToOptions(enumObject: { [s: string]: string }) {\n return Object.entries(enumObject).map(([k, v]) => ({\n value: k,\n text: v\n }))\n}\n\n/**\n * Check if a value is a Prisma Decimal object.\n * Prisma Decimal objects have the format {s: sign, e: exponent, d: digits[]}\n * when serialized through JSON (losing prototype methods).\n */\nexport function isPrismaDecimal(value: any): boolean {\n return (\n value &&\n typeof value === 'object' &&\n 'd' in value &&\n 'e' in value &&\n 's' in value\n )\n}\n\n/**\n * Convert Prisma Decimal object (from decimal.js) to a displayable value.\n * Prisma Decimal objects have the format {s: sign, e: exponent, d: digits[]}\n * when serialized through JSON (losing prototype methods).\n *\n * @param value - The value to convert (may or may not be a Decimal object)\n * @returns The converted value as a string/number, or the original value if not a Decimal\n */\nexport function convertPrismaDecimal(value: any): string | number | any {\n if (!isPrismaDecimal(value)) {\n return value\n }\n\n const { s, e, d } = value\n if (!Array.isArray(d) || d.length === 0) {\n return 0\n }\n\n // Each element in d array represents up to 7 digits\n let numStr = d\n .map((n: number, i: number) =>\n i === 0 ? String(n) : String(n).padStart(7, '0')\n )\n .join('')\n\n // Remove trailing zeros from the digit string for cleaner output\n numStr = numStr.replace(/0+$/, '') || '0'\n\n // Calculate decimal point position\n const decimalPos = e + 1\n if (decimalPos <= 0) {\n numStr = '0.' + '0'.repeat(-decimalPos) + numStr\n } else if (decimalPos < numStr.length) {\n numStr = numStr.slice(0, decimalPos) + '.' + numStr.slice(decimalPos)\n } else if (decimalPos > numStr.length) {\n numStr = numStr + '0'.repeat(decimalPos - numStr.length)\n }\n\n return s === -1 ? '-' + numStr : numStr\n}\n","import {\n FieldDataType,\n ModelsFieldsTypeMap,\n ModelType,\n RequestMethod\n} from '../types/types'\nimport { ModelConfig } from '../types/config.types'\nimport { stringToTsType } from './common-helpers'\n\nexport const ALL_VALUE = '__ALL__'\nexport const TEA_PRO_TABLE_PARAMS_FIELDS = ['pageSize', 'pageIndex', 'current']\nexport const DEFAULT_TABLE_PAGE_SIZE = 10\nexport const DEFAUTL_SORT = { by: 'id', order: 'desc' } as const\n\nexport async function requestModel<T, K>(\n url: string,\n method: RequestMethod,\n body: T\n): Promise<K> {\n const response = await fetch(url, {\n method: method,\n headers: {\n 'Content-Type': 'application/json;charset=utf-8'\n },\n body: JSON.stringify(body)\n })\n\n if (!response.ok) {\n throw new Error(`response error ${response.status},${response.statusText}`)\n }\n\n return await response.json()\n}\n\nexport function formatDate(date: Date) {\n let month = String(date.getMonth() + 1)\n let day = String(date.getDate())\n const year = date.getFullYear()\n if (month.length < 2) {\n month = `0${month}`\n }\n if (day.length < 2) {\n day = `0${day}`\n }\n return [year, month, day].join('-')\n}\n\nexport function tableSearchBar(\n searchConfig: ModelConfig['table']['toolbar']['searchBar'],\n model: any\n) {\n const fields = searchConfig.fields\n .filter(name => !name.includes('.'))\n .map(name => model[name])\n .filter(field =>\n ['string', 'boolean', 'number', 'Date', 'bigint'].includes(field.tsType)\n )\n\n return {\n placeholder:\n searchConfig.placeholder || fields.map(field => field.name).join(', '),\n getSearchFilters: (keyword: string) =>\n fields\n .map(field => ({\n field: field.name,\n dataType: field.tsType,\n searchType: (searchConfig.containsFields || []).includes(field.name)\n ? 'contains'\n : 'equals'\n }))\n .map(item => {\n if (item.searchType === 'contains') {\n return {\n field: item.field,\n operator: 'contains',\n value: keyword\n }\n } else {\n const data = stringToTsType(keyword, item.dataType)\n if (\n item.dataType === 'number' &&\n (keyword === '' || isNaN(data as any))\n ) {\n return {\n field: '',\n operator: 'null',\n value: ''\n }\n }\n return {\n field: item.field,\n operator: 'eq',\n value: data\n }\n }\n })\n .filter(item => item.field !== '')\n }\n}\n\nexport function getColumns(\n modelName: string,\n fields: string[],\n modelsMap: ModelsFieldsTypeMap\n) {\n const columns: FieldDataType[] = []\n fields.forEach(fieldName => {\n let field = modelsMap[modelName]?.['model']?.[fieldName]\n if (!field && fieldName.includes('.')) {\n let [newModelName, newFieldName] = fieldName.split('.')\n if (modelsMap[modelName]?.['model']?.[newModelName]) {\n newModelName = modelsMap[modelName]['model'][newModelName]['type']\n }\n field = modelsMap[newModelName]?.['model']?.[newFieldName]\n if (field) {\n field = { ...field, name: fieldName }\n }\n }\n if (field) {\n columns.push(field)\n }\n })\n return columns\n}\n","import 'reflect-metadata'\nimport { plainToInstance } from 'class-transformer'\nimport { omit } from './common-helpers'\nimport { validate } from 'class-validator'\nimport {\n ChangeValueModal,\n FieldDataType,\n ModelType,\n ScalarType,\n TsTypeString\n} from '../types/types'\nimport produce from 'immer'\n\nconst ValidatorOptions = {\n stopAtFirstError: false,\n skipMissingProperties: true\n}\nconst TransformOptions = {\n enableImplicitConversion: true,\n excludePrefixes: ['_'],\n exposeUnsetFields: false\n}\n\nexport function inputValidator(\n transformClass: FunctionConstructor,\n field: string,\n tsType: TsTypeString\n) {\n return ({ getFieldValue }: { getFieldValue: any }) => ({\n async validator(_: any, value: ScalarType) {\n if (\n tsType === 'string' &&\n (value === null ||\n value === '' ||\n (Array.isArray(value) && value.length > 0)) // checkbox select(mutiple)\n ) {\n return Promise.resolve() //依赖required规则先执行(''值无法通过required的验证)\n }\n let newValue = value\n if (tsType === 'boolean' || tsType === 'number' || tsType === 'bigint') {\n newValue = value?.toString().trim()\n if (newValue === '' && value !== '') {\n return Promise.reject(\n new Error(`'${field}' can not be blank characters`)\n )\n }\n }\n if (Array.isArray(value) && value.length === 0) {\n value = undefined\n }\n const obj = plainToInstance(\n transformClass,\n //{ [field]: stringToTsType(value, tsType) },\n { [field]: value },\n TransformOptions\n )\n const errors = await validate(obj, ValidatorOptions)\n\n // errors is an array of validation errors\n if (errors.length > 0) {\n return Promise.reject(\n new Error(Object.values(errors[0].constraints || []).join(' AND '))\n )\n } else {\n return Promise.resolve()\n }\n }\n })\n}\n\nexport function addValidator(field: any, transformClass: any) {\n return produce(field, (draft: any) => {\n draft.validator = inputValidator(\n transformClass,\n draft.name,\n draft.tsType\n ) as any\n })\n}\n\nexport function produceModel(\n model: ModelType,\n propsObj: any,\n transformClass: any = undefined,\n permanentProps: any = undefined\n) {\n return produce(model, (draft: FieldDataType) => {\n if (transformClass || permanentProps) {\n for (const [key, value] of Object.entries(model)) {\n if (transformClass && key !== 'id') {\n draft[key].validator = inputValidator(\n transformClass,\n value.name,\n value.tsType\n )\n }\n if (permanentProps) {\n Object.assign(draft[key], permanentProps)\n }\n }\n }\n for (const [key, value] of Object.entries(propsObj)) {\n Object.assign(draft[key], value)\n }\n })\n}\n\nexport function formStringValuesToTs(\n transformClass: FunctionConstructor,\n values: Record<string, any>\n) {\n /*\n const newValues = {};\n Object.entries(values).forEach(([k, v]) => {\n newValues[k] = stringToTsType(v, scalarToTS(dataTypes[k].type) as TsTypeString);\n })\n */\n const isInsert = values.id === undefined\n\n const transformedValues: Record<string, any> = plainToInstance(\n transformClass,\n values,\n TransformOptions\n )\n\n const newValues = Object.entries(values).reduce((acc, [key, value]) => {\n if (value === undefined) return acc\n\n if (typeof value === 'object' && value.hasOwnProperty('connect')) {\n const realValue = value['connect']\n if (Array.isArray(realValue)) {\n acc[key] = {\n set: [], // 顺序不能乱\n connect: realValue.map(id => ({ id }))\n }\n } else {\n acc[key] = {\n set: [],\n connect: { id: realValue }\n }\n }\n if (isInsert) {\n delete acc[key].set\n }\n } else {\n acc[key] = transformedValues[key]\n }\n return acc\n }, {})\n\n if (!isInsert && newValues.hasOwnProperty('id')) {\n delete (newValues as any).id\n }\n\n return newValues\n}\n\nexport function getModalFormFields(\n changeValueModal: ChangeValueModal,\n fieldsComponent: any\n) {\n return changeValueModal.fields\n .map(fieldName => fieldsComponent[fieldName])\n .filter(component => component)\n .map(component =>\n changeValueModal.keys.length &&\n !changeValueModal.initialValues.hasOwnProperty('id')\n ? omit(component, ['when', 'visible', 'reaction']) // rowSelection CHANGE_VALUE\n : component\n ) as any\n}\n\nexport function handleOnFinish(\n values: Record<string, any>,\n fields: FieldDataType[],\n action?: 'edit' | 'create' | 'clone' | undefined\n): Record<string, any> {\n return {\n ...values,\n\n ...fields.reduce((aac, field) => {\n const {\n formItem: { type: uiType, args }\n } = field.uiType\n\n if (field.kind === 'object') {\n if (field.name.endsWith('.connect')) {\n const fieldName = field.name.split('.')[0]\n if (field.isList) {\n if (action === 'edit') {\n aac[fieldName] = {\n set: [], // 顺序不能乱\n connect: values?.[fieldName]?.ids.map((id: number) => ({ id }))\n }\n } else {\n aac[fieldName] = {\n connect: values?.[fieldName]?.ids.map((id: number) => ({ id }))\n }\n }\n } else {\n aac[fieldName] = { connect: { id: values?.[fieldName]?.id } }\n }\n }\n } else if (uiType === 'File' || uiType === 'Image') {\n if (Array.isArray(values[field.name])) {\n aac[field.name] = JSON.stringify(\n values[field.name].map(val => ({\n ...omit(val, [\n 'xhr',\n 'originFileObj',\n 'lastModified',\n 'lastModifiedDate'\n ]),\n thumbUrl: val?.response?.url\n }))\n )\n }\n } else if (\n uiType === 'CheckBox' ||\n (uiType === 'Select' && (args as any).mode === 'multiple')\n ) {\n if (Array.isArray(values[field.name])) {\n aac[field.name] = JSON.stringify(values[field.name])\n }\n }\n return aac\n }, {})\n }\n}\n\nexport function handleInitialValues(\n initialValues: Record<string, any>,\n fields: FieldDataType[]\n): Record<string, any> {\n return {\n ...initialValues,\n\n ...fields.reduce((aac, field) => {\n const {\n formItem: { type: uiType, args }\n } = field.uiType\n\n if (\n field.kind === 'object' &&\n field.isList &&\n field.name.endsWith('.connect')\n ) {\n const fieldName = field.name.split('.')[0]\n aac[fieldName] = {\n ids: initialValues?.[fieldName]?.map(\n (item: { id: number }) => item.id\n )\n }\n } else if (\n initialValues[field.name] &&\n (['File', 'Image', 'CheckBox'].includes(uiType || '') ||\n (uiType === 'Select' && (args as any).mode === 'multiple'))\n ) {\n aac[field.name] = JSON.parse(initialValues[field.name])\n }\n\n if (['', null].includes(initialValues[field.name])) {\n aac[field.name] = undefined\n }\n\n return aac\n }, {})\n }\n}\n","import axios, { AxiosInstance } from 'axios'\nimport { QuerySortOperator, SCondition } from '@nestjsx/crud-request'\nimport {\n DataProvider,\n HttpError,\n CrudFilters as RefineCrudFilter,\n CrudOperators,\n CrudSorting,\n CrudFilter\n} from '@refinedev/core'\nimport { stringify } from 'query-string'\nimport { omit, pick } from '../utils'\n\ntype SortBy = Array<{ [key: string]: QuerySortOperator }>\n\nconst axiosInstance = axios.create()\n\naxiosInstance.interceptors.response.use(\n response => {\n return response\n },\n error => {\n let message = error.response?.data?.message\n if (message) {\n if (Array.isArray(message)) {\n message = message.join(' AND ')\n } else if (typeof message === 'string') {\n if (message.includes('Unique constraint')) {\n message = `Unique constraint ${message.split('Unique constraint')[1]}`\n } else {\n let strings = message.split(')')\n message = strings[strings.length - 1]\n }\n }\n }\n const customError: HttpError = {\n ...error,\n message: `${error?.response?.statusText || ''}: ${message}`,\n statusCode: error?.response?.status || 500\n }\n\n return Promise.reject(customError)\n }\n)\n\nconst mapOperator = (operator: CrudOperators) => {\n switch (operator) {\n case 'and':\n return 'AND'\n case 'or':\n return 'OR'\n case 'ne':\n return 'not'\n case 'lt':\n return 'lt'\n case 'gt':\n return 'gt'\n case 'lte':\n return 'lte'\n case 'gte':\n return 'gte'\n case 'in':\n case 'ina':\n return 'in'\n case 'nin':\n case 'nina':\n return 'notIn'\n case 'contains':\n return 'contains'\n case 'ncontains':\n return '$exclL'\n case 'containss':\n return 'contains'\n case 'ncontainss':\n return '$excl'\n case 'null':\n return 'none'\n case 'startswith':\n return 'startsWith'\n case 'startswiths':\n return 'startsWith'\n case 'endswith':\n return 'endsWith'\n case 'endswiths':\n return 'endsWith'\n }\n\n return 'equals'\n}\n\nconst generateSort = (sort?: CrudSorting): SortBy | undefined => {\n if (sort && sort.length > 0) {\n const multipleSort: SortBy = []\n sort.map(({ field, order }) => {\n if (field && order) {\n multipleSort.push({\n [field]: order.toLowerCase() as QuerySortOperator\n })\n }\n })\n return multipleSort\n }\n\n return\n}\n\nconst createSearchQuery = (filter: CrudFilter): SCondition => {\n if (\n filter.operator !== 'and' &&\n filter.operator !== 'or' &&\n 'field' in filter\n ) {\n // query\n if (filter.field.endsWith('.id')) {\n return {\n [filter.field.split('.')[0]]: {\n id: {\n [mapOperator(filter.operator)]: Array.isArray(filter.value)\n ? filter.value.map(item => parseInt(item.toString()))\n : parseInt(filter.value.toString())\n }\n }\n }\n }\n return {\n [filter.field]: {\n [mapOperator(filter.operator)]: filter.value\n }\n }\n }\n\n const { operator } = filter\n\n return {\n [mapOperator(operator)]: filter.value.map(filter =>\n createSearchQuery(filter)\n )\n }\n}\n\nconst generateSearchFilter = (filters: RefineCrudFilter): SCondition => {\n return createSearchQuery({\n operator: 'and',\n value: filters\n })\n}\n\nconst returnParamFn = (a: any) => a\n\nexport const GadminCrud = (\n apiUrl: string,\n httpClient: AxiosInstance = axiosInstance\n): Required<DataProvider> => ({\n getList: async ({\n resource,\n pagination = { current: 1, pageSize: 10, mode: 'server' },\n filters = [],\n sorters = [],\n meta = {}\n }) => {\n const url = `${apiUrl}/${resource}/findMany`\n\n const { current = 1, pageSize = 10, mode = 'server' } = pagination ?? {}\n\n const query: any = { where: { AND: [] } }\n\n const q = filters.find((f: any) => f.field === 'q')\n if (filters) {\n Object.assign(query, {\n where: generateSearchFilter(\n (meta?.transformFn || returnParamFn)(filters).filter(\n (f: any) => f.field !== 'q'\n )\n )\n })\n }\n\n if (q) {\n if (meta.transformQFn) {\n query.where.AND.push({\n OR: (generateSearchFilter(meta.transformQFn(q.value)) as any).AND\n })\n } else {\n query.where.AND.push({\n q: q.value\n })\n }\n }\n\n if (mode === 'server') {\n Object.assign(query, {\n skip: (current - 1) * pageSize,\n take: pageSize\n })\n }\n\n Object.assign(\n query,\n {\n orderBy: generateSort(sorters) || [{ id: 'desc' }]\n },\n pick(meta, ['select', 'where'])\n )\n\n const { data } = await httpClient.post(url, query)\n\n return {\n data: data.data,\n total: data.meta.itemCount\n }\n },\n\n getMany: async ({ resource, ids, meta }) => {\n const url = `${apiUrl}/${resource}/findMany`\n\n const query = { where: { id: { in: ids } } }\n\n const { data } = await httpClient.post(url, query)\n\n return {\n data\n }\n },\n\n create: async ({ resource, variables, meta }) => {\n const url = `${apiUrl}/${resource}/createOne`\n\n const { data } = await httpClient.post(url, variables)\n\n return {\n data\n }\n },\n\n update: async ({ resource, id, variables, meta }) => {\n const url = `${apiUrl}/${resource}/updateUnique/${id}`\n\n const { data } = await httpClient.patch(url, variables)\n\n return {\n data\n }\n },\n\n updateMany: async ({ resource, ids, variables, meta }) => {\n const url = `${apiUrl}/${resource}/updateMany`\n\n const query = {\n where: { id: { in: ids } },\n data: variables\n }\n\n const { data } = await httpClient.patch(url, query)\n\n return {\n data\n }\n },\n\n createMany: async ({ resource, variables, meta }) => {\n const url = `${apiUrl}/${resource}/createMany`\n\n const { data } = await httpClient.post(url, variables)\n\n const res = {\n data: new Array(data.count).fill({ id: -1 })\n }\n return res\n },\n\n getOne: async ({ resource, id, meta }) => {\n const url = `${apiUrl}/${resource}/findUnique/${id}`\n const { data } = await httpClient.post(url, (meta || {}).select || {})\n\n return {\n data\n }\n },\n\n deleteOne: async ({ resource, id, meta }) => {\n const url = `${apiUrl}/${resource}/deleteUnique/${id}`\n\n const { data } = await httpClient.delete(url)\n\n return {\n data\n }\n },\n\n deleteMany: async ({ resource, ids, meta }) => {\n const url = `${apiUrl}/${resource}/deleteMany`\n\n const query = { where: { id: { in: ids } } }\n\n const { data } = await httpClient.delete(url, {\n data: query\n })\n\n return {\n data\n }\n },\n\n getApiUrl: () => {\n return apiUrl\n },\n\n custom: async ({\n url,\n method,\n filters,\n sorters,\n payload,\n query,\n headers,\n meta\n }) => {\n const body = { ...payload }\n\n if (filters) {\n Object.assign(body, {\n where: generateSearchFilter(filters)\n })\n }\n\n if (sorters) {\n Object.assign(body, {\n orderBy: generateSort(sorters)\n })\n }\n\n let requestUrl = url\n if (query) {\n requestUrl = `${requestUrl}?${stringify(query)}`\n }\n\n if (headers) {\n Object.assign(httpClient.defaults.headers.common, headers)\n }\n\n let axiosResponse\n switch (method) {\n case 'put':\n case 'post':\n case 'patch':\n axiosResponse = await httpClient[method](requestUrl, body)\n break\n case 'delete':\n axiosResponse = await httpClient.delete(requestUrl, {\n data: body\n })\n break\n default:\n axiosResponse = await httpClient.get(requestUrl)\n break\n }\n\n const { data } = axiosResponse\n\n return Promise.resolve({ data })\n }\n})\n","// Import here Polyfills if needed. Recommended core-js (npm i -D core-js)\n// import \"core-js/fn/array.find\"\n// ...\nexport * from './utils'\nexport * from './types/types'\nexport * from './data-provider'\n"],"names":["plainToInstance","validate","stringify"],"mappings":"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"}
1
+ {"version":3,"file":"index.umd.js","sources":["../../src/utils/common-helpers.ts","../../src/utils/prisma-helpers.ts","../../src/utils/table-helpers.ts","../../src/utils/form-helpers.ts","../../src/data-provider/gadmin-data-provider.ts","../../src/index.ts"],"sourcesContent":["import { When } from '../types/config.types'\nimport { IStringToTsType, ScalarType, TsTypeString } from '../types/types'\nimport produce from 'immer'\n\nexport function uncapitalize(string: string) {\n return string[0].toLowerCase() + string.slice(1)\n}\n\nexport function capitalize(string: string) {\n return string[0].toUpperCase() + string.slice(1)\n}\n\nexport function isObject(item: any) {\n return item && typeof item === 'object' && !Array.isArray(item)\n}\n\nexport function omit(obj: Record<string, any>, fields: string[]) {\n // eslint-disable-next-line prefer-object-spread\n const shallowCopy: Record<string, any> = Object.assign({}, obj)\n for (let i = 0; i < fields.length; i += 1) {\n const key = fields[i]\n delete shallowCopy[key]\n }\n return shallowCopy\n}\nexport function pick(obj: Record<string, any>, fields: string[]) {\n // eslint-disable-next-line prefer-object-spread\n const shallowCopy: Record<string, any> = {}\n for (let i = 0; i < fields.length; i += 1) {\n const key = fields[i]\n if (obj.hasOwnProperty(key)) {\n shallowCopy[key] = obj[key]\n }\n }\n return shallowCopy\n}\n\nexport function mergeDeep(target: any, source: any) {\n let output = Object.assign({}, target)\n if (isObject(target) && isObject(source)) {\n Object.keys(source).forEach(key => {\n if (isObject(source[key])) {\n if (!(key in target)) Object.assign(output, { [key]: source[key] })\n else output[key] = mergeDeep(target[key], source[key])\n } else {\n Object.assign(output, { [key]: source[key] })\n }\n })\n }\n return output\n}\n\nexport function deepClone(obj: any) {\n const newObj: any = Array.isArray(obj) ? [] : {}\n if (obj && typeof obj === 'object') {\n Object.entries(obj).forEach(([key, value]) => {\n newObj[key] = typeof value === 'object' ? deepClone(value) : value\n })\n }\n return newObj\n}\n\nexport const stringToTsType: IStringToTsType = (\n value: ScalarType,\n dataTypeString: TsTypeString\n) => {\n if (typeof value !== 'string') {\n return value\n }\n switch (dataTypeString) {\n case 'string':\n break\n case 'boolean':\n if (value === 'true') {\n return true\n }\n return false\n case 'bigint':\n case 'number':\n return Number(value)\n default:\n break\n }\n return value\n}\n\nfunction hasIntersection(arr1, arr2) {\n return arr1.some(num => arr2.includes(num))\n}\n\nexport function whenIsTrue(\n expact: When,\n realValues: Record<string, any>\n): boolean {\n if (!expact) {\n return true\n }\n if (expact === '*') {\n return true\n }\n if (typeof expact === 'function') {\n return expact(realValues)\n }\n return Object.entries(expact).every(([k, v]) => {\n if (k === 'id') {\n if (realValues[k] === undefined) {\n // 新增模式\n return undefined === v\n }\n return '*' === v //编辑模式\n }\n if (Array.isArray(realValues[k])) {\n if (Array.isArray(v)) {\n return hasIntersection(v, realValues[k])\n }\n return realValues[k].includes(v)\n } else {\n return Array.isArray(v) ? v.includes(realValues[k]) : realValues[k] === v\n }\n })\n}\n\nexport function recipeRunner(recipe: Function | undefined, state: any) {\n if (!recipe) {\n return state\n }\n return produce(state, recipe)\n}\n","const PrismaScalarToTypeScript: Record<string, string> = {\n String: 'string',\n Boolean: 'boolean',\n Int: 'number',\n // [Working with BigInt](https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields#working-with-bigint)\n BigInt: 'bigint',\n Float: 'number',\n // [Working with Decimal](https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields#working-with-decimal)\n Decimal: 'number',\n DateTime: 'Date',\n // [working with JSON fields](https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields)\n Json: 'Prisma.JsonValue',\n // [Working with Bytes](https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields#working-with-bytes)\n Bytes: 'Buffer'\n}\n\nconst knownPrismaScalarTypes = Object.keys(PrismaScalarToTypeScript)\n\nexport const scalarToTS = (scalar: string, useInputTypes = false): string => {\n if (!knownPrismaScalarTypes.includes(scalar)) {\n return 'string'\n }\n\n // [Working with JSON fields](https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields)\n // supports different types for input / output. `Prisma.InputJsonValue` extends `Prisma.JsonValue` with `undefined`\n if (useInputTypes && scalar === 'Json') {\n return 'Prisma.InputJsonValue'\n }\n\n return PrismaScalarToTypeScript[scalar]\n}\n\nexport function prismaEnumToOptions(enumObject: { [s: string]: string }) {\n return Object.entries(enumObject).map(([k, v]) => ({\n value: k,\n text: v\n }))\n}\n\n/**\n * Check if a value is a Prisma Decimal object.\n * Prisma Decimal objects have the format {s: sign, e: exponent, d: digits[]}\n * when serialized through JSON (losing prototype methods).\n */\nexport function isPrismaDecimal(value: any): boolean {\n return (\n value &&\n typeof value === 'object' &&\n 'd' in value &&\n 'e' in value &&\n 's' in value\n )\n}\n\n/**\n * Convert Prisma Decimal object (from decimal.js) to a displayable value.\n * Prisma Decimal objects have the format {s: sign, e: exponent, d: digits[]}\n * when serialized through JSON (losing prototype methods).\n *\n * @param value - The value to convert (may or may not be a Decimal object)\n * @returns The converted value as a string/number, or the original value if not a Decimal\n */\nexport function convertPrismaDecimal(value: any): string | number | any {\n if (!isPrismaDecimal(value)) {\n return value\n }\n\n const { s, e, d } = value\n if (!Array.isArray(d) || d.length === 0) {\n return 0\n }\n\n // Each element in d array represents up to 7 digits\n let numStr = d\n .map((n: number, i: number) =>\n i === 0 ? String(n) : String(n).padStart(7, '0')\n )\n .join('')\n\n // Remove trailing zeros from the digit string for cleaner output\n numStr = numStr.replace(/0+$/, '') || '0'\n\n // Calculate decimal point position\n const decimalPos = e + 1\n if (decimalPos <= 0) {\n numStr = '0.' + '0'.repeat(-decimalPos) + numStr\n } else if (decimalPos < numStr.length) {\n numStr = numStr.slice(0, decimalPos) + '.' + numStr.slice(decimalPos)\n } else if (decimalPos > numStr.length) {\n numStr = numStr + '0'.repeat(decimalPos - numStr.length)\n }\n\n return s === -1 ? '-' + numStr : numStr\n}\n","import {\n FieldDataType,\n ModelsFieldsTypeMap,\n ModelType,\n RequestMethod\n} from '../types/types'\nimport { ModelConfig } from '../types/config.types'\nimport { stringToTsType } from './common-helpers'\n\nexport const ALL_VALUE = '__ALL__'\nexport const TEA_PRO_TABLE_PARAMS_FIELDS = ['pageSize', 'pageIndex', 'current']\nexport const DEFAULT_TABLE_PAGE_SIZE = 10\nexport const DEFAUTL_SORT = { by: 'id', order: 'desc' } as const\n\nexport async function requestModel<T, K>(\n url: string,\n method: RequestMethod,\n body: T\n): Promise<K> {\n const response = await fetch(url, {\n method: method,\n headers: {\n 'Content-Type': 'application/json;charset=utf-8'\n },\n body: JSON.stringify(body)\n })\n\n if (!response.ok) {\n throw new Error(`response error ${response.status},${response.statusText}`)\n }\n\n return await response.json()\n}\n\nexport function formatDate(date: Date) {\n let month = String(date.getMonth() + 1)\n let day = String(date.getDate())\n const year = date.getFullYear()\n if (month.length < 2) {\n month = `0${month}`\n }\n if (day.length < 2) {\n day = `0${day}`\n }\n return [year, month, day].join('-')\n}\n\nexport function tableSearchBar(\n searchConfig: ModelConfig['table']['toolbar']['searchBar'],\n model: any\n) {\n const fields = searchConfig.fields\n .filter(name => !name.includes('.'))\n .map(name => model[name])\n .filter(field =>\n ['string', 'boolean', 'number', 'Date', 'bigint'].includes(field.tsType)\n )\n\n return {\n placeholder:\n searchConfig.placeholder || fields.map(field => field.name).join(', '),\n getSearchFilters: (keyword: string) =>\n fields\n .map(field => ({\n field: field.name,\n dataType: field.tsType,\n searchType: (searchConfig.containsFields || []).includes(field.name)\n ? 'contains'\n : 'equals'\n }))\n .map(item => {\n if (item.searchType === 'contains') {\n return {\n field: item.field,\n operator: 'contains',\n value: keyword\n }\n } else {\n const data = stringToTsType(keyword, item.dataType)\n if (\n item.dataType === 'number' &&\n (keyword === '' || isNaN(data as any))\n ) {\n return {\n field: '',\n operator: 'null',\n value: ''\n }\n }\n return {\n field: item.field,\n operator: 'eq',\n value: data\n }\n }\n })\n .filter(item => item.field !== '')\n }\n}\n\nexport function getColumns(\n modelName: string,\n fields: string[],\n modelsMap: ModelsFieldsTypeMap\n) {\n const columns: FieldDataType[] = []\n fields.forEach(fieldName => {\n let field = modelsMap[modelName]?.['model']?.[fieldName]\n if (!field && fieldName.includes('.')) {\n let [newModelName, newFieldName] = fieldName.split('.')\n if (modelsMap[modelName]?.['model']?.[newModelName]) {\n newModelName = modelsMap[modelName]['model'][newModelName]['type']\n }\n field = modelsMap[newModelName]?.['model']?.[newFieldName]\n if (field) {\n field = { ...field, name: fieldName }\n }\n }\n if (field) {\n columns.push(field)\n }\n })\n return columns\n}\n","import 'reflect-metadata'\nimport { plainToInstance } from 'class-transformer'\nimport { omit } from './common-helpers'\nimport { validate } from 'class-validator'\nimport {\n ChangeValueModal,\n FieldDataType,\n ModelType,\n ScalarType,\n TsTypeString\n} from '../types/types'\nimport produce from 'immer'\n\nconst ValidatorOptions = {\n stopAtFirstError: false,\n skipMissingProperties: true\n}\nconst TransformOptions = {\n enableImplicitConversion: true,\n excludePrefixes: ['_'],\n exposeUnsetFields: false\n}\n\nexport function inputValidator(\n transformClass: FunctionConstructor,\n field: string,\n tsType: TsTypeString\n) {\n return ({ getFieldValue }: { getFieldValue: any }) => ({\n async validator(_: any, value: ScalarType) {\n if (\n tsType === 'string' &&\n (value === null ||\n value === '' ||\n (Array.isArray(value) && value.length > 0)) // checkbox select(mutiple)\n ) {\n return Promise.resolve() //依赖required规则先执行(''值无法通过required的验证)\n }\n let newValue = value\n if (tsType === 'boolean' || tsType === 'number' || tsType === 'bigint') {\n newValue = value?.toString().trim()\n if (newValue === '' && value !== '') {\n return Promise.reject(\n new Error(`'${field}' can not be blank characters`)\n )\n }\n }\n if (Array.isArray(value) && value.length === 0) {\n value = undefined\n }\n const obj = plainToInstance(\n transformClass,\n //{ [field]: stringToTsType(value, tsType) },\n { [field]: value },\n TransformOptions\n )\n const errors = await validate(obj, ValidatorOptions)\n\n // errors is an array of validation errors\n if (errors.length > 0) {\n return Promise.reject(\n new Error(Object.values(errors[0].constraints || []).join(' AND '))\n )\n } else {\n return Promise.resolve()\n }\n }\n })\n}\n\nexport function addValidator(field: any, transformClass: any) {\n return produce(field, (draft: any) => {\n draft.validator = inputValidator(\n transformClass,\n draft.name,\n draft.tsType\n ) as any\n })\n}\n\nexport function produceModel(\n model: ModelType,\n propsObj: any,\n transformClass: any = undefined,\n permanentProps: any = undefined\n) {\n return produce(model, (draft: FieldDataType) => {\n if (transformClass || permanentProps) {\n for (const [key, value] of Object.entries(model)) {\n if (transformClass && key !== 'id') {\n draft[key].validator = inputValidator(\n transformClass,\n value.name,\n value.tsType\n )\n }\n if (permanentProps) {\n Object.assign(draft[key], permanentProps)\n }\n }\n }\n for (const [key, value] of Object.entries(propsObj)) {\n Object.assign(draft[key], value)\n }\n })\n}\n\nexport function formStringValuesToTs(\n transformClass: FunctionConstructor,\n values: Record<string, any>\n) {\n /*\n const newValues = {};\n Object.entries(values).forEach(([k, v]) => {\n newValues[k] = stringToTsType(v, scalarToTS(dataTypes[k].type) as TsTypeString);\n })\n */\n const isInsert = values.id === undefined\n\n const transformedValues: Record<string, any> = plainToInstance(\n transformClass,\n values,\n TransformOptions\n )\n\n const newValues = Object.entries(values).reduce((acc, [key, value]) => {\n if (value === undefined) return acc\n\n if (typeof value === 'object' && value.hasOwnProperty('connect')) {\n const realValue = value['connect']\n if (Array.isArray(realValue)) {\n acc[key] = {\n set: [], // 顺序不能乱\n connect: realValue.map(id => ({ id }))\n }\n } else {\n acc[key] = {\n set: [],\n connect: { id: realValue }\n }\n }\n if (isInsert) {\n delete acc[key].set\n }\n } else {\n acc[key] = transformedValues[key]\n }\n return acc\n }, {})\n\n if (!isInsert && newValues.hasOwnProperty('id')) {\n delete (newValues as any).id\n }\n\n return newValues\n}\n\nexport function getModalFormFields(\n changeValueModal: ChangeValueModal,\n fieldsComponent: any\n) {\n return changeValueModal.fields\n .map(fieldName => fieldsComponent[fieldName])\n .filter(component => component)\n .map(component =>\n changeValueModal.keys.length &&\n !changeValueModal.initialValues.hasOwnProperty('id')\n ? omit(component, ['when', 'visible', 'reaction']) // rowSelection CHANGE_VALUE\n : component\n ) as any\n}\n\nexport function handleOnFinish(\n values: Record<string, any>,\n fields: FieldDataType[],\n action?: 'edit' | 'create' | 'clone' | undefined\n): Record<string, any> {\n return {\n ...values,\n\n ...fields.reduce((aac, field) => {\n const {\n formItem: { type: uiType, args }\n } = field.uiType\n\n if (field.kind === 'object') {\n if (field.name.endsWith('.connect')) {\n const fieldName = field.name.split('.')[0]\n if (field.isList) {\n if (action === 'edit') {\n aac[fieldName] = {\n set: [], // 顺序不能乱\n connect: values?.[fieldName]?.ids.map((id: number) => ({ id }))\n }\n } else {\n aac[fieldName] = {\n connect: values?.[fieldName]?.ids.map((id: number) => ({ id }))\n }\n }\n } else {\n aac[fieldName] = { connect: { id: values?.[fieldName]?.id } }\n }\n }\n } else if (uiType === 'File' || uiType === 'Image') {\n if (Array.isArray(values[field.name])) {\n aac[field.name] = JSON.stringify(\n values[field.name].map(val => ({\n ...omit(val, [\n 'xhr',\n 'originFileObj',\n 'lastModified',\n 'lastModifiedDate'\n ]),\n thumbUrl: val?.response?.url\n }))\n )\n }\n } else if (\n uiType === 'CheckBox' ||\n (uiType === 'Select' && (args as any).mode === 'multiple')\n ) {\n if (Array.isArray(values[field.name])) {\n aac[field.name] = JSON.stringify(values[field.name])\n }\n }\n return aac\n }, {})\n }\n}\n\nexport function handleInitialValues(\n initialValues: Record<string, any>,\n fields: FieldDataType[]\n): Record<string, any> {\n return {\n ...initialValues,\n\n ...fields.reduce((aac, field) => {\n const {\n formItem: { type: uiType, args }\n } = field.uiType\n\n if (\n field.kind === 'object' &&\n field.isList &&\n field.name.endsWith('.connect')\n ) {\n const fieldName = field.name.split('.')[0]\n aac[fieldName] = {\n ids: initialValues?.[fieldName]?.map(\n (item: { id: number }) => item.id\n )\n }\n } else if (\n initialValues[field.name] &&\n (['File', 'Image', 'CheckBox'].includes(uiType || '') ||\n (uiType === 'Select' && (args as any).mode === 'multiple'))\n ) {\n aac[field.name] = JSON.parse(initialValues[field.name])\n }\n\n if (['', null].includes(initialValues[field.name])) {\n aac[field.name] = undefined\n }\n\n return aac\n }, {})\n }\n}\n","import axios, { AxiosInstance } from 'axios'\nimport { QuerySortOperator, SCondition } from '@nestjsx/crud-request'\nimport {\n DataProvider,\n HttpError,\n CrudFilters as RefineCrudFilter,\n CrudOperators,\n CrudSorting,\n CrudFilter\n} from '@refinedev/core'\nimport { stringify } from 'query-string'\nimport { omit, pick } from '../utils'\n\ntype SortBy = Array<{ [key: string]: QuerySortOperator }>\n\nconst axiosInstance = axios.create()\n\naxiosInstance.interceptors.response.use(\n response => {\n return response\n },\n error => {\n let message = error.response?.data?.message\n if (message) {\n if (Array.isArray(message)) {\n message = message.join(' AND ')\n } else if (typeof message === 'string') {\n if (message.includes('Unique constraint')) {\n message = `Unique constraint ${message.split('Unique constraint')[1]}`\n } else {\n let strings = message.split(')')\n message = strings[strings.length - 1]\n }\n }\n }\n const customError: HttpError = {\n ...error,\n message: `${error?.response?.statusText || ''}: ${message}`,\n statusCode: error?.response?.status || 500\n }\n\n return Promise.reject(customError)\n }\n)\n\nconst mapOperator = (operator: CrudOperators) => {\n switch (operator) {\n case 'and':\n return 'AND'\n case 'or':\n return 'OR'\n case 'ne':\n return 'not'\n case 'lt':\n return 'lt'\n case 'gt':\n return 'gt'\n case 'lte':\n return 'lte'\n case 'gte':\n return 'gte'\n case 'in':\n case 'ina':\n return 'in'\n case 'nin':\n case 'nina':\n return 'notIn'\n case 'contains':\n return 'contains'\n case 'ncontains':\n return '$exclL'\n case 'containss':\n return 'contains'\n case 'ncontainss':\n return '$excl'\n case 'null':\n return 'none'\n case 'startswith':\n return 'startsWith'\n case 'startswiths':\n return 'startsWith'\n case 'endswith':\n return 'endsWith'\n case 'endswiths':\n return 'endsWith'\n }\n\n return 'equals'\n}\n\nconst generateSort = (sort?: CrudSorting): SortBy | undefined => {\n if (sort && sort.length > 0) {\n const multipleSort: SortBy = []\n sort.map(({ field, order }) => {\n if (field && order) {\n multipleSort.push({\n [field]: order.toLowerCase() as QuerySortOperator\n })\n }\n })\n return multipleSort\n }\n\n return\n}\n\nconst createSearchQuery = (filter: CrudFilter): SCondition => {\n if (\n filter.operator !== 'and' &&\n filter.operator !== 'or' &&\n 'field' in filter\n ) {\n // Skip filters with empty/null/undefined values\n if (\n filter.value === undefined ||\n filter.value === null ||\n filter.value === '' ||\n (Array.isArray(filter.value) && filter.value.length === 0)\n ) {\n return {}\n }\n\n // Handle \"between\" operator: convert [start, end] to { gte: start, lte: end }\n if (filter.operator === 'between') {\n if (Array.isArray(filter.value) && filter.value.length === 2) {\n return {\n [filter.field]: {\n gte: filter.value[0],\n lte: filter.value[1]\n }\n }\n }\n return {}\n }\n\n // query\n if (filter.field.endsWith('.id')) {\n return {\n [filter.field.split('.')[0]]: {\n id: {\n [mapOperator(filter.operator)]: Array.isArray(filter.value)\n ? filter.value.map(item => parseInt(item.toString()))\n : parseInt(filter.value.toString())\n }\n }\n }\n }\n return {\n [filter.field]: {\n [mapOperator(filter.operator)]: filter.value\n }\n }\n }\n\n const { operator } = filter\n\n return {\n [mapOperator(operator)]: filter.value.map(filter =>\n createSearchQuery(filter)\n )\n }\n}\n\nconst generateSearchFilter = (filters: RefineCrudFilter): SCondition => {\n return createSearchQuery({\n operator: 'and',\n value: filters\n })\n}\n\nconst returnParamFn = (a: any) => a\n\nexport const GadminCrud = (\n apiUrl: string,\n httpClient: AxiosInstance = axiosInstance\n): Required<DataProvider> => ({\n getList: async ({\n resource,\n pagination = { current: 1, pageSize: 10, mode: 'server' },\n filters = [],\n sorters = [],\n meta = {}\n }) => {\n const url = `${apiUrl}/${resource}/findMany`\n\n const { current = 1, pageSize = 10, mode = 'server' } = pagination ?? {}\n\n const query: any = { where: { AND: [] } }\n\n const q = filters.find((f: any) => f.field === 'q')\n if (filters) {\n Object.assign(query, {\n where: generateSearchFilter(\n (meta?.transformFn || returnParamFn)(filters).filter(\n (f: any) => f.field !== 'q'\n )\n )\n })\n }\n\n if (q) {\n if (meta.transformQFn) {\n query.where.AND.push({\n OR: (generateSearchFilter(meta.transformQFn(q.value)) as any).AND\n })\n } else {\n query.where.AND.push({\n q: q.value\n })\n }\n }\n\n if (mode === 'server') {\n Object.assign(query, {\n skip: (current - 1) * pageSize,\n take: pageSize\n })\n }\n\n Object.assign(\n query,\n {\n orderBy: generateSort(sorters) || [{ id: 'desc' }]\n },\n pick(meta, ['select', 'where'])\n )\n\n const { data } = await httpClient.post(url, query)\n\n return {\n data: data.data,\n total: data.meta.itemCount\n }\n },\n\n getMany: async ({ resource, ids, meta }) => {\n const url = `${apiUrl}/${resource}/findMany`\n\n const query = { where: { id: { in: ids } } }\n\n const { data } = await httpClient.post(url, query)\n\n return {\n data\n }\n },\n\n create: async ({ resource, variables, meta }) => {\n const url = `${apiUrl}/${resource}/createOne`\n\n const { data } = await httpClient.post(url, variables)\n\n return {\n data\n }\n },\n\n update: async ({ resource, id, variables, meta }) => {\n const url = `${apiUrl}/${resource}/updateUnique/${id}`\n\n const { data } = await httpClient.patch(url, variables)\n\n return {\n data\n }\n },\n\n updateMany: async ({ resource, ids, variables, meta }) => {\n const url = `${apiUrl}/${resource}/updateMany`\n\n const query = {\n where: { id: { in: ids } },\n data: variables\n }\n\n const { data } = await httpClient.patch(url, query)\n\n return {\n data\n }\n },\n\n createMany: async ({ resource, variables, meta }) => {\n const url = `${apiUrl}/${resource}/createMany`\n\n const { data } = await httpClient.post(url, variables)\n\n const res = {\n data: new Array(data.count).fill({ id: -1 })\n }\n return res\n },\n\n getOne: async ({ resource, id, meta }) => {\n const url = `${apiUrl}/${resource}/findUnique/${id}`\n const { data } = await httpClient.post(url, (meta || {}).select || {})\n\n return {\n data\n }\n },\n\n deleteOne: async ({ resource, id, meta }) => {\n const url = `${apiUrl}/${resource}/deleteUnique/${id}`\n\n const { data } = await httpClient.delete(url)\n\n return {\n data\n }\n },\n\n deleteMany: async ({ resource, ids, meta }) => {\n const url = `${apiUrl}/${resource}/deleteMany`\n\n const query = { where: { id: { in: ids } } }\n\n const { data } = await httpClient.delete(url, {\n data: query\n })\n\n return {\n data\n }\n },\n\n getApiUrl: () => {\n return apiUrl\n },\n\n custom: async ({\n url,\n method,\n filters,\n sorters,\n payload,\n query,\n headers,\n meta\n }) => {\n const body = { ...payload }\n\n if (filters) {\n Object.assign(body, {\n where: generateSearchFilter(filters)\n })\n }\n\n if (sorters) {\n Object.assign(body, {\n orderBy: generateSort(sorters)\n })\n }\n\n let requestUrl = url\n if (query) {\n requestUrl = `${requestUrl}?${stringify(query)}`\n }\n\n if (headers) {\n Object.assign(httpClient.defaults.headers.common, headers)\n }\n\n let axiosResponse\n switch (method) {\n case 'put':\n case 'post':\n case 'patch':\n axiosResponse = await httpClient[method](requestUrl, body)\n break\n case 'delete':\n axiosResponse = await httpClient.delete(requestUrl, {\n data: body\n })\n break\n default:\n axiosResponse = await httpClient.get(requestUrl)\n break\n }\n\n const { data } = axiosResponse\n\n return Promise.resolve({ data })\n }\n})\n","// Import here Polyfills if needed. Recommended core-js (npm i -D core-js)\n// import \"core-js/fn/array.find\"\n// ...\nexport * from './utils'\nexport * from './types/types'\nexport * from './data-provider'\n"],"names":["plainToInstance","validate","stringify"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gadmin2n/react-common",
3
- "version": "0.0.49",
3
+ "version": "0.0.50",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "main": "dist/lib/index.umd.js",