storemw-core-api 1.0.77 → 1.0.78
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InjectionFieldService.js","sourceRoot":"","sources":["../../../src/services/injection_field/InjectionFieldService.ts"],"names":[],"mappings":"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","sourcesContent":["import { logError, throwError } from \"@/utils\";\n\nimport { InjectionFieldModel, ModelInjectionFieldFields, ModelUserFields, InjectionFieldTargetTableName, ItemInjectionFieldModel } from \"@/models\";\nimport { UserInjectionFieldService, UserInjectionFieldReplaceProps, UserInjectionFieldModuleRef, userModulePrefixMap, userRefPrefixMap } from \"./UserInjectionFieldService\";\nimport { ItemInjectionFieldService, ItemInjectionFieldReplaceProps, ItemInjectionFieldModuleRef, itemModulePrefixMap, itemRefPrefixMap } from \"./ItemInjectionFieldService\";\nimport { RepositoryInjectionFieldService, RepositoryInjectionFieldReplaceProps, RepositoryInjectionFieldModuleRef, repositoryModulePrefixMap, repositoryRefPrefixMap } from \"./RepositoryInjectionFieldService\";\nimport { LogisticInjectionFieldService, LogisticInjectionFieldReplaceProps, LogisticInjectionFieldModuleRef, logisticModulePrefixMap, logisticRefPrefixMap } from \"./LogisticInjectionFieldService\";\nimport { DocumentInjectionFieldService, DocumentInjectionFieldReplaceProps, DocumentInjectionFieldModuleRef, documentModulePrefixMap, documentRefPrefixMap } from \"./DocumentInjectionFieldService\";\n\nimport { QueryList, QueryGet } from \"@/schema/common\";\n\nimport { buildSqlRawSelect, buildSqlWhere, buildSqlRelation, buildSqlSelect, buildSqlLimitOffset, buildSqlOrderBy } from \"@/lib\";\nimport { DefaultServiceProps, buildFullFieldName } from \"@/utils\";\n\nexport const injectionFieldTypes = {\n user: \"user\",\n item: \"item\",\n document: \"document\",\n repository: \"repository\",\n logistic: \"logistic\",\n} as const\n\nexport type InjectionFieldType = typeof injectionFieldTypes[keyof typeof injectionFieldTypes]\n\nexport const injectionFieldDataTypes = {\n id: \"id\",\n value: \"value\",\n numeric: \"numeric\",\n integer: \"integer\",\n timestamp: \"timestamp\",\n date: \"date\",\n date_time: \"date_time\",\n text: \"text\"\n} as const\n\nexport type InjectionFieldDataType = typeof injectionFieldDataTypes[keyof typeof injectionFieldDataTypes]\n\nconst modulePrefixMap = {\n ...userModulePrefixMap,\n ...documentModulePrefixMap,\n ...repositoryModulePrefixMap,\n ...itemModulePrefixMap,\n ...logisticModulePrefixMap\n};\n\nconst refPrefixMap = {\n ...userRefPrefixMap,\n ...documentRefPrefixMap,\n ...repositoryRefPrefixMap,\n ...itemRefPrefixMap,\n ...logisticRefPrefixMap\n};\n\nexport type InjectionFieldServiceProps = DefaultServiceProps & {\n injectionFieldType: InjectionFieldType,\n};\n\nexport type InjectionFieldGetProps = QueryGet & {\n id: number,\n};\n\nexport type InjectionFieldListProps = QueryList & {\n // id: number,\n};\n\nexport type InjectionFieldRemoveProps = {\n injectionFieldIds: BigInt[]\n};\n\ntype RenameModuleRef<T extends { module: any; ref: any }> =\n T extends any\n ? { field_module: T[\"module\"]; field_ref: T[\"ref\"] }\n : never;\n\n// Apply to the whole union\nexport type InjectionFieldModuleRef = (\n RenameModuleRef<\n UserInjectionFieldModuleRef\n | ItemInjectionFieldModuleRef\n | DocumentInjectionFieldModuleRef\n | RepositoryInjectionFieldModuleRef\n | LogisticInjectionFieldModuleRef\n >\n)\n\nexport type InjectionFieldCreateProps = {\n data: InjectionFieldModuleRef &\n {\n field_key: string\n // fieldName: string\n field_type: InjectionFieldDataType\n is_multiple: false // hardcode\n multiple_count: false // hardcode\n merge_multiple_inline: false // hardcode\n }\n}\n\n// sample\n// let c: InjectionFieldCreateProps = {\n// data: {\n// field_ref: \"item\",\n// field_module: \"product\",\n// field_type: \"date\",\n// field_key: \"aaa\",\n// // field_name: \"sdfds\",\n// is_multiple: false,\n// merge_multiple_inline: false,\n// multiple_count: false\n// }\n// }\n\nexport type InjectionFieldReplaceProps = {\n injectionFieldType?: InjectionFieldType,\n data:\n // user\n | UserInjectionFieldReplaceProps[\"data\"]\n // item\n | ItemInjectionFieldReplaceProps[\"data\"]\n // document\n | DocumentInjectionFieldReplaceProps[\"data\"]\n // repository\n | RepositoryInjectionFieldReplaceProps[\"data\"]\n // logistic\n | LogisticInjectionFieldReplaceProps[\"data\"]\n}\n\nconst getCreatePayload = (data: InjectionFieldCreateProps[\"data\"], fieldName: string) => {\n\n return {\n [`${ModelInjectionFieldFields.field_key}`]: data.field_key,\n [`${ModelInjectionFieldFields.field_module}`]: data.field_module,\n [`${ModelInjectionFieldFields.field_name}`]: `${fieldName}`,\n [`${ModelInjectionFieldFields.field_ref}`]: data.field_ref,\n [`${ModelInjectionFieldFields.field_type}`]: data.field_type,\n [`${ModelInjectionFieldFields.is_multiple}`]: 0,\n [`${ModelInjectionFieldFields.multiple_count}`]: 0,\n [`${ModelInjectionFieldFields.merge_multiple_inline}`]: 0,\n }\n\n}\n\nlet mainSqlSelect = {\n [`injf.${ModelInjectionFieldFields.field_key}`]: \"field_key\",\n [`injf.${ModelInjectionFieldFields.field_module}`]: \"field_module\",\n [`injf.${ModelInjectionFieldFields.field_name}`]: \"field_name\",\n [`injf.${ModelInjectionFieldFields.field_ref}`]: \"field_ref\",\n [`injf.${ModelInjectionFieldFields.field_type}`]: \"field_type\",\n [`injf.${ModelInjectionFieldFields.injection_field_id}`]: \"injection_field_id\",\n [`injf.${ModelInjectionFieldFields.is_multiple}`]: \"is_multiple\",\n [`injf.${ModelInjectionFieldFields.merge_multiple_inline}`]: \"merge_multiple_inline\",\n [`injf.${ModelInjectionFieldFields.multiple_count}`]: \"multiple_count\",\n}\n\nlet defaultSqlSelect = {\n [`injf.${ModelInjectionFieldFields.createdatetime}`]: \"createdatetime\",\n [`creator.${ModelUserFields.login_username}`]: \"createusername\",\n [`injf.${ModelInjectionFieldFields.updatedatetime}`]: \"updatedatetime\",\n [`updater.${ModelUserFields.login_username}`]: \"updateusername\",\n [`injf.${ModelInjectionFieldFields.isdelete}`]: \"isdelete\",\n [`injf.${ModelInjectionFieldFields.istrash}`]: \"istrash\",\n [`injf.${ModelInjectionFieldFields.accountid}`]: \"accountid\",\n}\n\nconst getTargetTableName = (fieldRef: keyof typeof refPrefixMap) => {\n\n let targetTableName = ``\n\n if (fieldRef in userRefPrefixMap) {\n targetTableName = \"user_injection_fields\"\n }\n\n if (fieldRef in documentRefPrefixMap) {\n targetTableName = \"document_injection_fields\"\n }\n\n if (fieldRef in itemRefPrefixMap) {\n targetTableName = \"item_injection_fields\"\n }\n\n if (fieldRef in logisticRefPrefixMap) {\n targetTableName = \"logistic_injection_fields\"\n }\n\n if (fieldRef in repositoryRefPrefixMap) {\n targetTableName = \"repository_injection_fields\"\n }\n\n return targetTableName\n}\n\nexport const InjectionFieldService = (props: InjectionFieldServiceProps) => {\n\n const {\n injectionFieldType = \"user\",\n // prisma,\n // accountId = 0,\n // actionUserId = 0,\n ...rest\n } = props\n\n const injectionFieldModel = InjectionFieldModel({ ...rest })\n\n const userInjectionFieldService = UserInjectionFieldService({ ...rest })\n const documentInjectionFieldService = DocumentInjectionFieldService({ ...rest })\n const repositoryInjectionFieldService = RepositoryInjectionFieldService({ ...rest })\n const logisticInjectionFieldService = LogisticInjectionFieldService({ ...rest })\n const itemInjectionFieldService = ItemInjectionFieldService({ ...rest })\n\n const createInjectionField = async ({ data }: InjectionFieldCreateProps) => {\n\n const fieldName = buildFullFieldName(`${data.field_ref}`, `${data.field_module}`, `${data.field_key}`, refPrefixMap, modulePrefixMap)\n\n // have to check the record exists\n const existing = await listInjectionFields({\n offset: 0,\n limit: 1,\n sortfield: `${ModelInjectionFieldFields.injection_field_id}`,\n sortorder: \"ASC\",\n filters: [{\n field: `${ModelInjectionFieldFields.field_name}`,\n operator: '=',\n value: `${fieldName}`\n }],\n datatypes: []\n })\n\n if (existing.data.length > 0) {\n throw new Error(`Duplicated injection field name found : ${fieldName}`);\n }\n\n const _data = getCreatePayload(data, fieldName)\n\n if (!_data) {\n throw new Error(`Invalid create injection field payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await injectionFieldModel.create({ data: _data })\n\n let fieldRef = response?.field_ref ?? \"\"\n\n if (fieldRef) {\n let targetTableName = getTargetTableName(fieldRef as keyof typeof refPrefixMap) as InjectionFieldTargetTableName\n\n // after create record - create physical table fields\n injectionFieldModel.createInjectionFieldIntoTable(targetTableName, fieldName, data.field_type)\n }\n\n return response\n }\n\n const getInjectionField = async ({ id, datatypes = [] }: InjectionFieldGetProps) => {\n\n let { data } = await listInjectionFields({\n limit: 1,\n offset: 0,\n filters: [{ field: `${ModelInjectionFieldFields.injection_field_id}`, operator: \"=\", value: id }],\n sortfield: `${ModelInjectionFieldFields.injection_field_id}`,\n sortorder: \"ASC\",\n datatypes\n })\n\n return data[0] ?? null;\n\n };\n\n const listInjectionFields = async ({\n limit,\n offset,\n filters,\n sortfield,\n sortorder,\n datatypes = []\n }: InjectionFieldListProps) => {\n\n let data = []\n\n let sqlSelect = [\n `COUNT(injf.*) OVER() as filtered_count`,\n buildSqlSelect(``, mainSqlSelect),\n buildSqlSelect(``, defaultSqlSelect)\n ]\n\n let sqlRelation = [\n buildSqlRelation(\"left\", \"injf\", \"users\", \"creator\", [\"injf.createuserid = creator.user_id\", \"creator.isdelete = false\", \"creator.istrash = false\"]),\n buildSqlRelation(\"left\", \"injf\", \"users\", \"updater\", [\"injf.updateuserid = updater.user_id\", \"updater.isdelete = false\", \"updater.istrash = false\"])\n ]\n\n let sqlGroupBy: string[] = [...Object.keys(mainSqlSelect), ...Object.keys(defaultSqlSelect)]\n\n let filterColumns = { ...mainSqlSelect, ...defaultSqlSelect }\n\n let sqlWhere = [\n `injf.isdelete = false`,\n `injf.istrash = false`,\n ...(filters.length ? [buildSqlWhere(filters, filterColumns)?.where] : []),\n ]\n\n let sqlOrderby = buildSqlOrderBy(sortfield, sortorder)\n let sqlLimitOffset = buildSqlLimitOffset(limit, offset)\n\n const sqlRaw = buildSqlRawSelect({\n tableName: \"injection_fields\",\n mainAlias: \"injf\",\n accountId: rest.accountId,\n sqlSelect,\n sqlRelation,\n sqlWhere,\n sqlGroupBy,\n sqlOrderby,\n sqlLimitOffset\n })\n\n data = await injectionFieldModel.raw(sqlRaw)\n\n const response = {\n data: data.map(({ filtered_count, ...rest }) => rest),\n total: data.length ? Number(data[0].filtered_count) : 0\n }\n\n return response\n\n };\n\n const replaceInjectionField = async ({ data, injectionFieldType: overrideInjectionFieldType }: InjectionFieldReplaceProps) => {\n\n const _injectionFieldType = overrideInjectionFieldType || injectionFieldType\n\n const _data = data\n\n if (!_data) {\n throw new Error(`Invalid create payload: ${JSON.stringify(_data)}`);\n }\n\n let response: any = {}\n\n if (_injectionFieldType === \"user\") {\n response = await userInjectionFieldService.replaceUserInjectionField({ data: _data as UserInjectionFieldReplaceProps[\"data\"] })\n }\n\n if (_injectionFieldType === \"document\") {\n response = await documentInjectionFieldService.replaceDocumentInjectionField({ data: _data as DocumentInjectionFieldReplaceProps[\"data\"] })\n }\n\n if (_injectionFieldType === \"item\") {\n response = await itemInjectionFieldService.replaceItemInjectionField({ data: _data as ItemInjectionFieldReplaceProps[\"data\"] })\n }\n\n if (_injectionFieldType === \"repository\") {\n response = await repositoryInjectionFieldService.replaceRepositoryInjectionField({ data: _data as RepositoryInjectionFieldReplaceProps[\"data\"] })\n }\n\n if (_injectionFieldType === \"logistic\") {\n response = await logisticInjectionFieldService.replaceLogisticInjectionField({ data: _data as LogisticInjectionFieldReplaceProps[\"data\"] })\n }\n\n return response\n }\n\n const removeInjectionFields = async ({ injectionFieldIds }: InjectionFieldRemoveProps) => {\n\n if (!injectionFieldIds.length) throwError('injectionFieldIds is required');\n\n await Promise.all(\n injectionFieldIds.map(async (id) => {\n // suspend the field in table\n const current = await getInjectionField({ id: Number(id), datatypes: [] });\n const currentFieldName = current?.field_name ?? \"\";\n\n let fieldRef = current?.field_ref ?? \"\"\n let targetTableName = getTargetTableName(fieldRef as keyof typeof refPrefixMap) as InjectionFieldTargetTableName\n\n if (currentFieldName) {\n await injectionFieldModel.suspendInjectionFieldFromTable(targetTableName, currentFieldName);\n }\n })\n );\n\n const response = await injectionFieldModel.remove({ where: { [`${ModelInjectionFieldFields.injection_field_id}`]: { in: injectionFieldIds } } });\n\n return response\n };\n\n const listActiveInjectionFields = async (fieldRef: keyof typeof refPrefixMap, fieldModule: keyof typeof modulePrefixMap) => {\n\n // const _injectionFieldType = overrideInjectionFieldType || injectionFieldType\n // let current: any = []\n\n // if (_injectionFieldType === injectionFieldTypes.item) {\n // const injectionFieldModel = ItemInjectionFieldModel({ ...rest })\n // current = await injectionFieldModel.getFields('', [\"removed_\"])\n // }\n\n let { data } = await listInjectionFields({\n limit: 100,\n offset: 0,\n filters: [\n { field: `${ModelInjectionFieldFields.field_ref}`, operator: \"=\", value: fieldRef },\n { field: `${ModelInjectionFieldFields.field_module}`, operator: \"=\", value: fieldModule },\n ],\n sortfield: `${ModelInjectionFieldFields.injection_field_id}`,\n sortorder: \"ASC\",\n datatypes: []\n })\n\n // return data[0] ?? null;\n\n return data.map(i => ({\n fieldName: i.field_name,\n fieldType: i.field_type\n }))\n\n }\n\n return {\n createInjectionField,\n getInjectionField,\n replaceInjectionField,\n listInjectionFields,\n removeInjectionFields,\n listActiveInjectionFields,\n }\n\n}\n\n"]}
|
|
1
|
+
{"version":3,"file":"InjectionFieldService.js","sourceRoot":"","sources":["../../../src/services/injection_field/InjectionFieldService.ts"],"names":[],"mappings":"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","sourcesContent":["import { logError, throwError } from \"@/utils\";\n\nimport { InjectionFieldModel, ModelInjectionFieldFields, ModelUserFields, InjectionFieldTargetTableName, ItemInjectionFieldModel } from \"@/models\";\nimport { UserInjectionFieldService, UserInjectionFieldReplaceProps, UserInjectionFieldModuleRef, userModulePrefixMap, userRefPrefixMap } from \"./UserInjectionFieldService\";\nimport { ItemInjectionFieldService, ItemInjectionFieldReplaceProps, ItemInjectionFieldModuleRef, itemModulePrefixMap, itemRefPrefixMap } from \"./ItemInjectionFieldService\";\nimport { RepositoryInjectionFieldService, RepositoryInjectionFieldReplaceProps, RepositoryInjectionFieldModuleRef, repositoryModulePrefixMap, repositoryRefPrefixMap } from \"./RepositoryInjectionFieldService\";\nimport { LogisticInjectionFieldService, LogisticInjectionFieldReplaceProps, LogisticInjectionFieldModuleRef, logisticModulePrefixMap, logisticRefPrefixMap } from \"./LogisticInjectionFieldService\";\nimport { DocumentInjectionFieldService, DocumentInjectionFieldReplaceProps, DocumentInjectionFieldModuleRef, documentModulePrefixMap, documentRefPrefixMap } from \"./DocumentInjectionFieldService\";\n\nimport { QueryList, QueryGet } from \"@/schema/common\";\n\nimport { buildSqlRawSelect, buildSqlWhere, buildSqlRelation, buildSqlSelect, buildSqlLimitOffset, buildSqlOrderBy } from \"@/lib\";\nimport { DefaultServiceProps, buildFullFieldName } from \"@/utils\";\n\nexport const injectionFieldTypes = {\n user: \"user\",\n item: \"item\",\n document: \"document\",\n repository: \"repository\",\n logistic: \"logistic\",\n} as const\n\nexport type InjectionFieldType = typeof injectionFieldTypes[keyof typeof injectionFieldTypes]\n\nexport const injectionFieldDataTypes = {\n id: \"id\",\n value: \"value\",\n numeric: \"numeric\",\n integer: \"integer\",\n timestamp: \"timestamp\",\n date: \"date\",\n date_time: \"date_time\",\n text: \"text\"\n} as const\n\nexport type InjectionFieldDataType = typeof injectionFieldDataTypes[keyof typeof injectionFieldDataTypes]\n\nconst modulePrefixMap = {\n ...userModulePrefixMap,\n ...documentModulePrefixMap,\n ...repositoryModulePrefixMap,\n ...itemModulePrefixMap,\n ...logisticModulePrefixMap\n};\n\nconst refPrefixMap = {\n ...userRefPrefixMap,\n ...documentRefPrefixMap,\n ...repositoryRefPrefixMap,\n ...itemRefPrefixMap,\n ...logisticRefPrefixMap\n};\n\nexport type InjectionFieldServiceProps = DefaultServiceProps & {\n injectionFieldType: InjectionFieldType,\n};\n\nexport type InjectionFieldGetProps = QueryGet & {\n id: number,\n};\n\nexport type InjectionFieldListProps = QueryList & {\n // id: number,\n};\n\nexport type InjectionFieldRemoveProps = {\n injectionFieldIds: BigInt[]\n};\n\ntype RenameModuleRef<T extends { module: any; ref: any }> =\n T extends any\n ? { field_module: T[\"module\"]; field_ref: T[\"ref\"] }\n : never;\n\n// Apply to the whole union\nexport type InjectionFieldModuleRef = (\n RenameModuleRef<\n UserInjectionFieldModuleRef\n | ItemInjectionFieldModuleRef\n | DocumentInjectionFieldModuleRef\n | RepositoryInjectionFieldModuleRef\n | LogisticInjectionFieldModuleRef\n >\n)\n\nexport type InjectionFieldCreateProps = {\n data: InjectionFieldModuleRef &\n {\n field_key: string\n // fieldName: string\n field_type: InjectionFieldDataType\n is_multiple: false // hardcode\n multiple_count: false // hardcode\n merge_multiple_inline: false // hardcode\n }\n}\n\n// sample\n// let c: InjectionFieldCreateProps = {\n// data: {\n// field_ref: \"item\",\n// field_module: \"product\",\n// field_type: \"date\",\n// field_key: \"aaa\",\n// // field_name: \"sdfds\",\n// is_multiple: false,\n// merge_multiple_inline: false,\n// multiple_count: false\n// }\n// }\n\nexport type InjectionFieldReplaceProps = {\n injectionFieldType?: InjectionFieldType,\n data:\n // user\n | UserInjectionFieldReplaceProps[\"data\"]\n // item\n | ItemInjectionFieldReplaceProps[\"data\"]\n // document\n | DocumentInjectionFieldReplaceProps[\"data\"]\n // repository\n | RepositoryInjectionFieldReplaceProps[\"data\"]\n // logistic\n | LogisticInjectionFieldReplaceProps[\"data\"]\n}\n\nconst getCreatePayload = (data: InjectionFieldCreateProps[\"data\"], fieldName: string) => {\n\n return {\n [`${ModelInjectionFieldFields.field_key}`]: data.field_key,\n [`${ModelInjectionFieldFields.field_module}`]: data.field_module,\n [`${ModelInjectionFieldFields.field_name}`]: `${fieldName}`,\n [`${ModelInjectionFieldFields.field_ref}`]: data.field_ref,\n [`${ModelInjectionFieldFields.field_type}`]: data.field_type,\n [`${ModelInjectionFieldFields.is_multiple}`]: 0,\n [`${ModelInjectionFieldFields.multiple_count}`]: 0,\n [`${ModelInjectionFieldFields.merge_multiple_inline}`]: 0,\n }\n\n}\n\nlet mainSqlSelect = {\n [`injf.${ModelInjectionFieldFields.field_key}`]: \"field_key\",\n [`injf.${ModelInjectionFieldFields.field_module}`]: \"field_module\",\n [`injf.${ModelInjectionFieldFields.field_name}`]: \"field_name\",\n [`injf.${ModelInjectionFieldFields.field_ref}`]: \"field_ref\",\n [`injf.${ModelInjectionFieldFields.field_type}`]: \"field_type\",\n [`injf.${ModelInjectionFieldFields.injection_field_id}`]: \"injection_field_id\",\n [`injf.${ModelInjectionFieldFields.is_multiple}`]: \"is_multiple\",\n [`injf.${ModelInjectionFieldFields.merge_multiple_inline}`]: \"merge_multiple_inline\",\n [`injf.${ModelInjectionFieldFields.multiple_count}`]: \"multiple_count\",\n}\n\nlet defaultSqlSelect = {\n [`injf.${ModelInjectionFieldFields.createdatetime}`]: \"createdatetime\",\n [`creator.${ModelUserFields.login_username}`]: \"createusername\",\n [`injf.${ModelInjectionFieldFields.updatedatetime}`]: \"updatedatetime\",\n [`updater.${ModelUserFields.login_username}`]: \"updateusername\",\n [`injf.${ModelInjectionFieldFields.isdelete}`]: \"isdelete\",\n [`injf.${ModelInjectionFieldFields.istrash}`]: \"istrash\",\n [`injf.${ModelInjectionFieldFields.accountid}`]: \"accountid\",\n}\n\nconst getTargetTableName = (fieldRef: keyof typeof refPrefixMap) => {\n\n let targetTableName = ``\n\n if (fieldRef in userRefPrefixMap) {\n targetTableName = \"user_injection_fields\"\n }\n\n if (fieldRef in documentRefPrefixMap) {\n targetTableName = \"document_injection_fields\"\n }\n\n if (fieldRef in itemRefPrefixMap) {\n targetTableName = \"item_injection_fields\"\n }\n\n if (fieldRef in logisticRefPrefixMap) {\n targetTableName = \"logistic_injection_fields\"\n }\n\n if (fieldRef in repositoryRefPrefixMap) {\n targetTableName = \"repository_injection_fields\"\n }\n\n return targetTableName\n}\n\nexport const InjectionFieldService = (props: InjectionFieldServiceProps) => {\n\n const {\n injectionFieldType = \"user\",\n // prisma,\n // accountId = 0,\n // actionUserId = 0,\n ...rest\n } = props\n\n const injectionFieldModel = InjectionFieldModel({ ...rest })\n\n const userInjectionFieldService = UserInjectionFieldService({ ...rest })\n const documentInjectionFieldService = DocumentInjectionFieldService({ ...rest })\n const repositoryInjectionFieldService = RepositoryInjectionFieldService({ ...rest })\n const logisticInjectionFieldService = LogisticInjectionFieldService({ ...rest })\n const itemInjectionFieldService = ItemInjectionFieldService({ ...rest })\n\n const createInjectionField = async ({ data }: InjectionFieldCreateProps) => {\n\n const fieldName = buildFullFieldName(`${data.field_ref}`, `${data.field_module}`, `${data.field_key}`, refPrefixMap, modulePrefixMap)\n\n // have to check the record exists\n const existing = await listInjectionFields({\n offset: 0,\n limit: 1,\n sortfield: `${ModelInjectionFieldFields.injection_field_id}`,\n sortorder: \"ASC\",\n filters: [{\n field: `${ModelInjectionFieldFields.field_name}`,\n operator: '=',\n value: `${fieldName}`\n }],\n datatypes: []\n })\n\n if (existing.data.length > 0) {\n throw new Error(`Duplicated injection field name found : ${fieldName}`);\n }\n\n const _data = getCreatePayload(data, fieldName)\n\n if (!_data) {\n throw new Error(`Invalid create injection field payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await injectionFieldModel.create({ data: _data })\n\n let fieldRef = response?.field_ref ?? \"\"\n\n if (fieldRef) {\n let targetTableName = getTargetTableName(fieldRef as keyof typeof refPrefixMap) as InjectionFieldTargetTableName\n\n // after create record - create physical table fields\n injectionFieldModel.createInjectionFieldIntoTable(targetTableName, fieldName, data.field_type)\n }\n\n return response\n }\n\n const getInjectionField = async ({ id, datatypes = [] }: InjectionFieldGetProps) => {\n\n let { data } = await listInjectionFields({\n limit: 1,\n offset: 0,\n filters: [{ field: `${ModelInjectionFieldFields.injection_field_id}`, operator: \"=\", value: id }],\n sortfield: `${ModelInjectionFieldFields.injection_field_id}`,\n sortorder: \"ASC\",\n datatypes\n })\n\n return data[0] ?? null;\n\n };\n\n const listInjectionFields = async ({\n limit,\n offset,\n filters,\n sortfield,\n sortorder,\n datatypes = []\n }: InjectionFieldListProps) => {\n\n let data = []\n\n let sqlSelect = [\n `COUNT(injf.*) OVER() as filtered_count`,\n buildSqlSelect(``, mainSqlSelect),\n buildSqlSelect(``, defaultSqlSelect)\n ]\n\n let sqlRelation = [\n buildSqlRelation(\"left\", \"injf\", \"users\", \"creator\", [\"injf.createuserid = creator.user_id\", \"creator.isdelete = false\", \"creator.istrash = false\"]),\n buildSqlRelation(\"left\", \"injf\", \"users\", \"updater\", [\"injf.updateuserid = updater.user_id\", \"updater.isdelete = false\", \"updater.istrash = false\"])\n ]\n\n let sqlGroupBy: string[] = [...Object.keys(mainSqlSelect), ...Object.keys(defaultSqlSelect)]\n\n let filterColumns = { ...mainSqlSelect, ...defaultSqlSelect }\n\n let sqlWhere = [\n `injf.isdelete = false`,\n `injf.istrash = false`,\n ...(filters.length ? [buildSqlWhere(filters, filterColumns)?.where] : []),\n ]\n\n let sqlOrderby = buildSqlOrderBy(sortfield, sortorder)\n let sqlLimitOffset = buildSqlLimitOffset(limit, offset)\n\n const sqlRaw = buildSqlRawSelect({\n tableName: \"injection_fields\",\n mainAlias: \"injf\",\n accountId: rest.accountId,\n sqlSelect,\n sqlRelation,\n sqlWhere,\n sqlGroupBy,\n sqlOrderby,\n sqlLimitOffset,\n skipFilterAccountId: true\n })\n\n data = await injectionFieldModel.raw(sqlRaw)\n\n const response = {\n data: data.map(({ filtered_count, ...rest }) => rest),\n total: data.length ? Number(data[0].filtered_count) : 0\n }\n\n return response\n\n };\n\n const replaceInjectionField = async ({ data, injectionFieldType: overrideInjectionFieldType }: InjectionFieldReplaceProps) => {\n\n const _injectionFieldType = overrideInjectionFieldType || injectionFieldType\n\n const _data = data\n\n if (!_data) {\n throw new Error(`Invalid create payload: ${JSON.stringify(_data)}`);\n }\n\n let response: any = {}\n\n if (_injectionFieldType === \"user\") {\n response = await userInjectionFieldService.replaceUserInjectionField({ data: _data as UserInjectionFieldReplaceProps[\"data\"] })\n }\n\n if (_injectionFieldType === \"document\") {\n response = await documentInjectionFieldService.replaceDocumentInjectionField({ data: _data as DocumentInjectionFieldReplaceProps[\"data\"] })\n }\n\n if (_injectionFieldType === \"item\") {\n response = await itemInjectionFieldService.replaceItemInjectionField({ data: _data as ItemInjectionFieldReplaceProps[\"data\"] })\n }\n\n if (_injectionFieldType === \"repository\") {\n response = await repositoryInjectionFieldService.replaceRepositoryInjectionField({ data: _data as RepositoryInjectionFieldReplaceProps[\"data\"] })\n }\n\n if (_injectionFieldType === \"logistic\") {\n response = await logisticInjectionFieldService.replaceLogisticInjectionField({ data: _data as LogisticInjectionFieldReplaceProps[\"data\"] })\n }\n\n return response\n }\n\n const removeInjectionFields = async ({ injectionFieldIds }: InjectionFieldRemoveProps) => {\n\n if (!injectionFieldIds.length) throwError('injectionFieldIds is required');\n\n await Promise.all(\n injectionFieldIds.map(async (id) => {\n // suspend the field in table\n const current = await getInjectionField({ id: Number(id), datatypes: [] });\n const currentFieldName = current?.field_name ?? \"\";\n\n let fieldRef = current?.field_ref ?? \"\"\n let targetTableName = getTargetTableName(fieldRef as keyof typeof refPrefixMap) as InjectionFieldTargetTableName\n\n if (currentFieldName) {\n await injectionFieldModel.suspendInjectionFieldFromTable(targetTableName, currentFieldName);\n }\n })\n );\n\n const response = await injectionFieldModel.remove({ where: { [`${ModelInjectionFieldFields.injection_field_id}`]: { in: injectionFieldIds } } });\n\n return response\n };\n\n const listActiveInjectionFields = async (fieldRef: keyof typeof refPrefixMap, fieldModule: keyof typeof modulePrefixMap) => {\n\n // const _injectionFieldType = overrideInjectionFieldType || injectionFieldType\n // let current: any = []\n\n // if (_injectionFieldType === injectionFieldTypes.item) {\n // const injectionFieldModel = ItemInjectionFieldModel({ ...rest })\n // current = await injectionFieldModel.getFields('', [\"removed_\"])\n // }\n\n let { data } = await listInjectionFields({\n limit: 100,\n offset: 0,\n filters: [\n { field: `${ModelInjectionFieldFields.field_ref}`, operator: \"=\", value: fieldRef },\n { field: `${ModelInjectionFieldFields.field_module}`, operator: \"=\", value: fieldModule },\n ],\n sortfield: `${ModelInjectionFieldFields.injection_field_id}`,\n sortorder: \"ASC\",\n datatypes: []\n })\n\n // return data[0] ?? null;\n\n return data.map(i => ({\n fieldName: i.field_name,\n fieldType: i.field_type\n }))\n\n }\n\n return {\n createInjectionField,\n getInjectionField,\n replaceInjectionField,\n listInjectionFields,\n removeInjectionFields,\n listActiveInjectionFields,\n }\n\n}\n\n"]}
|