storemw-core-api 1.0.172 → 1.0.174

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":"MemberService.js","sourceRoot":"","sources":["../../../src/services/user/MemberService.ts"],"names":[],"mappings":"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","sourcesContent":["import { logError, throwError } from \"@/utils\";\n\nimport {\n ModelUserFields,\n ModelMemberFields,\n ModelUserPropFields,\n ModelLocationFields,\n MemberModel\n} from \"@/models\";\n\nimport { dayjs } from \"@/utils\";\n\nimport { InjectionFieldService, userParentSqlSelect, UserService, NumberDateSequenceService, NumberDateSequenceInitProps } from \"@/services\";\n\nimport { QueryList, QueryGet } from \"@/schema/common\";\n\nimport { DefaultServiceProps } from \"@/utils\";\n\nimport { toFieldMap, buildSqlRawSelect, buildSqlRelation, buildSqlWhere, buildSqlSelect, buildSqlLimitOffset, buildSqlOrderBy, buildInjectionFieldsSqlSelect } from \"@/lib\";\n\nexport type UserType = \"member\"\n\nexport const memberDataTypes = {\n memberInjectionFields: \"member_injection_fields\",\n parentUser: \"parent_user\"\n}\n\nexport type MemberDataType = keyof typeof memberDataTypes;\n\nexport type MemberServiceProps = DefaultServiceProps & {};\n\nexport type MemberGetProps = {\n id: number,\n includePassword?: boolean,\n datatypes: MemberDataType[]\n};\n\nexport type MemberListProps = QueryList & {\n includePassword?: boolean,\n datatypes: MemberDataType[]\n};\n\nexport type MemberRemoveProps = {\n userIds: BigInt[]\n};\n\nexport type Member = {\n // ownerUserId: number;\n code?: string;\n companyName: string;\n identityNo: string;\n gender: \"male\" | \"female\" | \"other\";\n dob: string;\n address1: string;\n address2: string;\n countryId: number;\n stateId: number;\n areaId: number;\n postcode: string;\n remark: string;\n}\n\nexport type MemberCreateProps = {\n userId: number,\n data:\n // member\n {\n member: Member\n }\n}\n\nexport type MemberUpdateProps = {\n userId: number,\n data:\n // member\n {\n // member: Omit<Member, \"code\" | \"ownerUserId\">;\n member: Omit<Member, \"code\">;\n }\n}\n\nconst getGender = (value: Member[\"gender\"]) => {\n\n let gender = ``\n\n if (value === \"female\") { gender = `female` }\n if (value === \"male\") { gender = `male` }\n if (value === \"other\") { gender = `other` }\n\n return gender\n\n}\n\nconst getDob = (value?: string | null) => {\n if (!value || value.trim() === \"\") return null;\n return new Date(value);\n}\n\n// const getCreatePayload = (userId: number, ownerUserType: string, data: MemberCreateProps[\"data\"]) => {\nconst getCreatePayload = (userId: number, data: MemberCreateProps[\"data\"]) => {\n\n if (\"member\" in data) {\n\n return {\n [`${ModelMemberFields.user_id}`]: Number(userId),\n // [`${ModelMemberFields.owner_user_id}`]: data.member.ownerUserId,\n // [`${ModelMemberFields.owner_user_type}`]: ownerUserType ?? \"\",\n [`${ModelMemberFields.address_1}`]: data.member.address1,\n [`${ModelMemberFields.address_2}`]: data.member.address2,\n [`${ModelMemberFields.area_id}`]: data.member.areaId,\n [`${ModelMemberFields.state_id}`]: data.member.stateId,\n [`${ModelMemberFields.country_id}`]: data.member.countryId,\n [`${ModelMemberFields.code}`]: data.member.code,\n [`${ModelMemberFields.company_name}`]: data.member.companyName,\n [`${ModelMemberFields.dob}`]: getDob(data.member.dob),\n [`${ModelMemberFields.gender}`]: getGender(data.member.gender),\n [`${ModelMemberFields.identity_no}`]: data.member.identityNo,\n [`${ModelMemberFields.postcode}`]: data.member.postcode,\n [`${ModelMemberFields.country_id}`]: data.member.countryId,\n [`${ModelMemberFields.remark}`]: data.member.remark\n }\n }\n\n return false\n\n}\n\nconst getUpdatePayload = (data: MemberUpdateProps[\"data\"]) => {\n\n if (\"member\" in data) {\n\n return {\n // [`${ModelMemberFields.owner_user_id}`]: data.member.ownerUserId,\n [`${ModelMemberFields.address_1}`]: data.member.address1,\n [`${ModelMemberFields.address_2}`]: data.member.address2,\n [`${ModelMemberFields.area_id}`]: data.member.areaId,\n [`${ModelMemberFields.state_id}`]: data.member.stateId,\n [`${ModelMemberFields.country_id}`]: data.member.countryId,\n // [`${ModelMemberFields.code}`]: data.member.code,\n [`${ModelMemberFields.company_name}`]: data.member.companyName,\n [`${ModelMemberFields.dob}`]: getDob(data.member.dob),\n [`${ModelMemberFields.gender}`]: getGender(data.member.gender),\n [`${ModelMemberFields.identity_no}`]: data.member.identityNo,\n [`${ModelMemberFields.postcode}`]: data.member.postcode,\n [`${ModelMemberFields.country_id}`]: data.member.countryId,\n [`${ModelMemberFields.remark}`]: data.member.remark\n }\n }\n\n return false\n\n}\n\nlet mainSqlSelect = {\n [`mem.${ModelMemberFields.member_id}`]: \"member_id\",\n [`mem.${ModelMemberFields.user_id}`]: \"user_id\",\n [`mem.${ModelMemberFields.address_1}`]: \"address_1\",\n [`mem.${ModelMemberFields.address_2}`]: \"address_2\",\n [`mem.${ModelMemberFields.code}`]: \"code\",\n [`mem.${ModelMemberFields.company_name}`]: \"company_name\",\n [`mem.${ModelMemberFields.dob}`]: \"dob\",\n [`mem.${ModelMemberFields.gender}`]: \"gender\",\n [`mem.${ModelMemberFields.remark}`]: \"remark\",\n [`mem.${ModelMemberFields.identity_no}`]: \"identity_no\",\n // [`mem.${ModelMemberFields.owner_user_id}`]: \"owner_user_id\",\n // [`mem.${ModelMemberFields.owner_user_type}`]: \"owner_user_type\",\n [`mem.${ModelMemberFields.user_id}`]: \"user_id\",\n [`mem.${ModelMemberFields.postcode}`]: \"postcode\",\n [`mem.${ModelMemberFields.area_id}`]: \"area_id\",\n [`mem.${ModelMemberFields.country_id}`]: \"country_id\",\n [`mem.${ModelMemberFields.state_id}`]: \"state_id\",\n}\n\nlet userSqlSelect = {\n [`usr.${ModelUserFields.login_username}`]: \"username\",\n [`usr.${ModelUserFields.user_type}`]: \"user_type\",\n [`usr.${ModelUserFields.firstname}`]: \"firstname\",\n [`usr.${ModelUserFields.lastname}`]: \"lastname\",\n [`CONCAT(usr.${ModelUserFields.contact_country_code}, usr.${ModelUserFields.contact_phone_number})`]: \"contact\",\n [`usr.${ModelUserFields.contact_country_code}`]: \"contact_country_code\",\n [`usr.${ModelUserFields.contact_phone_number}`]: \"contact_phone_number\",\n [`usr.${ModelUserFields.email}`]: \"email\",\n [`usr.${ModelUserFields.address}`]: \"address\",\n [`usr.${ModelUserFields.status}`]: \"status\",\n}\n\nlet defaultSqlSelect = {\n [`mem.${ModelMemberFields.createdatetime}`]: \"createdatetime\",\n [`creator.${ModelUserFields.login_username}`]: \"createusername\",\n [`mem.${ModelMemberFields.updatedatetime}`]: \"updatedatetime\",\n [`updater.${ModelUserFields.login_username}`]: \"updateusername\",\n [`mem.${ModelMemberFields.isdelete}`]: \"isdelete\",\n [`mem.${ModelMemberFields.istrash}`]: \"istrash\",\n [`mem.${ModelMemberFields.accountid}`]: \"accountid\",\n}\n\n// let userPropLocationSqlSelect = {\n// [`COALESCE(\n// STRING_AGG(usrprop_location.${ModelUserPropFields.props_id}::text, ', '),\n// ''\n// )`]: \"location_id\",\n// [`COALESCE(\n// STRING_AGG(location.${ModelLocationFields.location_name}::text, ', '),\n// ''\n// )`]: \"location_name\",\n// }\n\n// const buildDocumentDate = (requestDocumentDate?: string) => {\n// return requestDocumentDate ? dayjs(requestDocumentDate).format(\"YYYY-MM-DD\") : dayjs().format(\"YYYY-MM-DD\")\n// }\n\nexport const MemberService = (props: MemberServiceProps) => {\n\n const {\n ...rest\n } = props\n\n const memberModel = MemberModel({ ...rest })\n\n const injectionFieldService = InjectionFieldService({ ...rest, injectionFieldType: \"user\" })\n\n const numberSequenceService = NumberDateSequenceService({\n ...rest,\n field_ref: \"user\",\n field_module: \"member\"\n })\n\n // const userInjectionFieldModel = UserInjectionFieldModel({ ...rest })\n\n const buildMemberCode = async (requestMemberCode?: string, requestSignupDate?: string) => {\n\n let memberCodePrefix = `M`\n\n let fieldModule: NumberDateSequenceInitProps[\"field_module\"] = \"member\"\n let fieldRef: NumberDateSequenceInitProps[\"field_ref\"] = \"user\"\n\n if (!requestMemberCode) { // mean using running no - required number sequences\n\n let sequenceDate = requestSignupDate || dayjs().format(\"YYYY-MM-DD\")\n\n const payload = {\n field_ref: fieldRef,\n field_module: fieldModule,\n resetMethod: \"monthly\",\n formatOutputLength: 6,\n sequenceDate\n } satisfies NumberDateSequenceInitProps\n\n // create number sequence\n let responseNumberDateSequence = await numberSequenceService.initNumberDateSequence(payload)\n\n let yearLabel = responseNumberDateSequence.response.year_label\n let monthLabel = responseNumberDateSequence.response.month_label\n\n return `${memberCodePrefix}-${yearLabel}${monthLabel}${responseNumberDateSequence.sequenceNumber.nextFormatted}`\n\n }\n\n // use back the request member code\n return requestMemberCode\n\n }\n\n // const validateMemberOwnerUserId = async (ownerUserId: Number) => {\n\n // let ownerUserType = ``\n\n // if (ownerUserId) {\n // const userMemberService = UserService({ ...rest, userType: \"member\" })\n\n // // validate owner user id\n // const ownerUser = await userMemberService.getUser({ id: Number(ownerUserId), datatypes: [], skipFilterUserType: true })\n\n // // console.log('ownerUser', ownerUser)\n\n // if (!ownerUser?.user_id) {\n // throwError(`Invalid owner user id: ${ownerUserId}`)\n // }\n\n // ownerUserType = ownerUser?.user_type\n // }\n\n // return {\n // ownerUserId,\n // ownerUserType\n // }\n\n // }\n\n const createMember = async ({ userId, data }: MemberCreateProps) => {\n\n // check owner user\n // const ownerUserId = data?.member?.ownerUserId ?? \"\"\n // const { ownerUserType = \"\" } = await validateMemberOwnerUserId(ownerUserId)\n\n let requestMemberCode = data.member.code ?? \"\"\n let registerDate = dayjs().format(\"YYYY-MM-DD\")\n\n // if specify the custom member code - check occurance\n if (requestMemberCode) {\n let findSameMemberCode = await memberModel.count({\n where: {\n [`${ModelMemberFields.code}`]: `${requestMemberCode}`\n }\n })\n if (findSameMemberCode > 0) {\n throw new Error(`Duplicate member code found: ${requestMemberCode}`);\n }\n }\n\n // for override member code\n if (!requestMemberCode) {\n requestMemberCode = await buildMemberCode(requestMemberCode, registerDate)\n }\n\n data.member.code = requestMemberCode\n\n // const _data = getCreatePayload(userId, ownerUserType, data)\n const _data = getCreatePayload(userId, data)\n\n if (!_data) {\n throw new Error(`Invalid create member payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await memberModel.create({ data: _data })\n\n return response\n }\n\n const updateMember = async ({ userId, data }: MemberUpdateProps) => {\n\n const _data = getUpdatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid update member payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await memberModel.update({ where: { [`${ModelMemberFields.user_id}`]: userId }, data: _data })\n\n return response\n }\n\n const getMember = async ({ id, datatypes = [], includePassword = false }: MemberGetProps) => {\n\n let { data } = await listMembers({\n includePassword,\n limit: 1,\n offset: 0,\n filters: [{ field: \"user_id\", operator: \"=\", value: id }],\n sortfield: \"user_id\",\n sortorder: \"ASC\",\n datatypes\n })\n\n return data[0] ?? null;\n\n };\n\n const listMembers = async ({\n includePassword = false,\n limit,\n offset,\n filters,\n sortfield,\n sortorder,\n datatypes = []\n }: MemberListProps) => {\n\n let data = []\n\n if (includePassword === true) {\n userSqlSelect = {\n ...userSqlSelect,\n [`usr.${ModelUserFields.login_password}`]: \"password\",\n }\n } else {\n delete userSqlSelect[`usr.${ModelUserFields.login_password}`];\n }\n\n let sqlSelect = [\n `COUNT(*) OVER() as filtered_count`,\n buildSqlSelect(``, mainSqlSelect),\n buildSqlSelect(``, userSqlSelect),\n buildSqlSelect(``, defaultSqlSelect),\n // buildSqlSelect(``, userPropLocationSqlSelect),\n ]\n\n let sqlRelation = [\n buildSqlRelation(\"left\", \"mem\", \"users\", \"usr\", [\"mem.user_id = usr.user_id\", \"usr.isdelete = false\", \"usr.istrash = false\"]),\n buildSqlRelation(\"left\", \"mem\", \"users\", \"creator\", [\"mem.createuserid = creator.user_id\", \"creator.isdelete = false\", \"creator.istrash = false\"]),\n buildSqlRelation(\"left\", \"mem\", \"users\", \"updater\", [\"mem.updateuserid = updater.user_id\", \"updater.isdelete = false\", \"updater.istrash = false\"]),\n buildSqlRelation(\"left\", \"mem\", \"user_props\", \"usrprop_location\", [\"mem.user_id = usrprop_location.user_id\", \"usrprop_location.type = 'LOCATION_ID'\", \"usrprop_location.isdelete = false\", \"usrprop_location.istrash = false\"]),\n buildSqlRelation(\"left\", \"mem\", \"locations\", \"location\", [\"usrprop_location.props_id = location.location_id\", \"location.isdelete = false\", \"location.istrash = false\"]),\n ]\n\n let sqlGroupBy: string[] = [\n ...Object.keys(mainSqlSelect),\n ...Object.keys(userSqlSelect),\n // ...Object.keys(userPropLocationSqlSelect),\n ...Object.keys(defaultSqlSelect)\n ]\n\n let filterColumns = {\n ...mainSqlSelect,\n ...userSqlSelect,\n // ...userPropLocationSqlSelect,\n ...defaultSqlSelect\n }\n\n if (datatypes.includes(memberDataTypes.memberInjectionFields)) {\n\n let activeInjectionFields = await injectionFieldService.listActiveInjectionFields(\"user\", \"member\")\n\n const memberInjectionFieldSqlSelect = buildInjectionFieldsSqlSelect(\"uif\", activeInjectionFields)\n\n filterColumns = { ...filterColumns, ...memberInjectionFieldSqlSelect }\n\n sqlSelect = [...sqlSelect, ...(activeInjectionFields.length > 0 ? [buildSqlSelect(``, memberInjectionFieldSqlSelect)] : [])]\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"mem\", \"user_injection_fields\", \"uif\", [\"mem.user_id = uif.user_id\", \"uif.field_ref = 'user'\", \"uif.field_module = 'member'\", \"uif.isdelete = false\", \"uif.istrash = false\"])]\n sqlGroupBy = [...sqlGroupBy, ...Object.keys(memberInjectionFieldSqlSelect)]\n\n }\n\n if (datatypes.includes(memberDataTypes.parentUser)) {\n\n filterColumns = { ...filterColumns, ...userParentSqlSelect }\n\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"wrk\", \"users\", \"parentuser\", [\"usr.parent_user_id = parentuser.user_id\", \"parentuser.isdelete = false\", \"parentuser.istrash = false\"])]\n sqlSelect = [...sqlSelect, buildSqlSelect(``, userParentSqlSelect)]\n sqlGroupBy = [...sqlGroupBy, ...Object.keys(userParentSqlSelect)]\n\n }\n\n // if (datatypes.includes(memberDataTypes.location)) {\n\n // let locationSqlSelect = {\n // [`COALESCE(\n // JSON_AGG(\n // DISTINCT JSONB_BUILD_OBJECT(\n // '${ModelLocationFields.location_id}', location.location_id,\n // '${ModelLocationFields.location_code}', location.location_code,\n // '${ModelLocationFields.location_name}', location.location_name,\n // '${ModelLocationFields.location_type}', location.location_type,\n // '${ModelLocationFields.address_1}', location.address_1,\n // '${ModelLocationFields.address_2}', location.address_2,\n // '${ModelLocationFields.area_id}', location.area_id,\n // '${ModelLocationFields.country_id}', location.country_id,\n // '${ModelLocationFields.state_id}', location.state_id,\n // '${ModelLocationFields.postcode}', location.postcode,\n // '${ModelLocationFields.is_default}', location.is_default,\n // '${ModelLocationFields.person_contact}', location.person_contact,\n // '${ModelLocationFields.person_name}', location.person_contact,\n // '${ModelLocationFields.person_email}', location.person_email,\n // '${ModelLocationFields.isdelete}', location.isdelete,\n // '${ModelLocationFields.istrash}', location.istrash\n // )\n // ) FILTER (WHERE location.location_id IS NOT NULL AND location.isdelete = false AND location.istrash = false), \n // '[]'\n // )`]: \"locations\"\n // }\n\n // filterColumns = { ...filterColumns, ...locationSqlSelect }\n\n // sqlSelect = [...sqlSelect, buildSqlSelect(``, locationSqlSelect)]\n // // sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"usrprop_location\", \"location\", \"brn\", [\"mem.user_id = brn.user_id\", \"brn.isdelete = false\", \"brn.istrash = false\"])]\n\n // }\n\n // if (datatypes.includes(memberDataTypes.locationCount)) {\n\n // let locationCountSqlSelect = {\n // [`COUNT(DISTINCT location.${ModelLocationFields.location_id})::INT`]: \"location_count\"\n // }\n\n // filterColumns = { ...filterColumns, ...locationCountSqlSelect }\n\n // sqlSelect = [...sqlSelect, buildSqlSelect(``, locationCountSqlSelect)]\n // // sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"cus\", \"branches\", \"brncount\", [\"mem.user_id = brncount.user_id\", \"brncount.isdelete = false\", \"brncount.istrash = false\"])]\n\n // }\n\n let sqlWhere = [\n `mem.isdelete = false`,\n `mem.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: \"members\",\n mainAlias: \"mem\",\n accountId: rest.accountId,\n sqlSelect,\n sqlRelation,\n sqlWhere,\n sqlGroupBy,\n sqlOrderby,\n sqlLimitOffset\n })\n\n data = await memberModel.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 removeMembers = async ({ userIds }: MemberRemoveProps) => {\n\n if (!userIds.length) throwError('userIds is required');\n\n const response = await memberModel.remove({ where: { [`${ModelMemberFields.user_id}`]: { in: userIds } } });\n\n return response\n };\n\n const getDataTypes = () => {\n return Object.values(memberDataTypes);\n }\n\n return {\n createMember,\n // validateMemberOwnerUserId,\n updateMember,\n getMember,\n listMembers,\n removeMembers,\n getDataTypes\n }\n\n}\n\n"]}
1
+ {"version":3,"file":"MemberService.js","sourceRoot":"","sources":["../../../src/services/user/MemberService.ts"],"names":[],"mappings":"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","sourcesContent":["import { logError, throwError } from \"@/utils\";\n\nimport {\n ModelUserFields,\n ModelMemberFields,\n // ModelUserPropFields,\n // ModelLocationFields,\n MemberModel\n} from \"@/models\";\n\nimport { dayjs } from \"@/utils\";\n\nimport { InjectionFieldService, userParentSqlSelect, UserService, NumberDateSequenceService, NumberDateSequenceInitProps } from \"@/services\";\n\nimport { QueryList, QueryGet } from \"@/schema/common\";\n\nimport { DefaultServiceProps } from \"@/utils\";\n\nimport { toFieldMap, buildSqlRawSelect, buildSqlRelation, buildSqlWhere, buildSqlSelect, buildSqlLimitOffset, buildSqlOrderBy, buildInjectionFieldsSqlSelect } from \"@/lib\";\n\nexport type UserType = \"member\"\n\nexport const memberDataTypes = {\n memberInjectionFields: \"member_injection_fields\",\n parentUser: \"parent_user\"\n}\n\nexport type MemberDataType = keyof typeof memberDataTypes;\n\nexport type MemberServiceProps = DefaultServiceProps & {};\n\nexport type MemberGetProps = {\n id: number,\n includePassword?: boolean,\n datatypes: MemberDataType[]\n};\n\nexport type MemberListProps = QueryList & {\n includePassword?: boolean,\n datatypes: MemberDataType[]\n};\n\nexport type MemberRemoveProps = {\n userIds: BigInt[]\n};\n\nexport type Member = {\n // ownerUserId: number;\n code?: string;\n companyName: string;\n identityNo: string;\n gender: \"male\" | \"female\" | \"other\";\n dob: string;\n address1: string;\n address2: string;\n countryId: number;\n stateId: number;\n areaId: number;\n postcode: string;\n remark: string;\n}\n\nexport type MemberCreateProps = {\n userId: number,\n data:\n // member\n {\n member: Member\n }\n}\n\nexport type MemberUpdateProps = {\n userId: number,\n data:\n // member\n {\n // member: Omit<Member, \"code\" | \"ownerUserId\">;\n member: Omit<Member, \"code\">;\n }\n}\n\nconst getGender = (value: Member[\"gender\"]) => {\n\n let gender = ``\n\n if (value === \"female\") { gender = `female` }\n if (value === \"male\") { gender = `male` }\n if (value === \"other\") { gender = `other` }\n\n return gender\n\n}\n\nconst getDob = (value?: string | null) => {\n if (!value || value.trim() === \"\") return null;\n return new Date(value);\n}\n\n// const getCreatePayload = (userId: number, ownerUserType: string, data: MemberCreateProps[\"data\"]) => {\nconst getCreatePayload = (userId: number, data: MemberCreateProps[\"data\"]) => {\n\n if (\"member\" in data) {\n\n return {\n [`${ModelMemberFields.user_id}`]: Number(userId),\n // [`${ModelMemberFields.owner_user_id}`]: data.member.ownerUserId,\n // [`${ModelMemberFields.owner_user_type}`]: ownerUserType ?? \"\",\n [`${ModelMemberFields.address_1}`]: data.member.address1,\n [`${ModelMemberFields.address_2}`]: data.member.address2,\n [`${ModelMemberFields.area_id}`]: data.member.areaId,\n [`${ModelMemberFields.state_id}`]: data.member.stateId,\n [`${ModelMemberFields.country_id}`]: data.member.countryId,\n [`${ModelMemberFields.code}`]: data.member.code,\n [`${ModelMemberFields.company_name}`]: data.member.companyName,\n [`${ModelMemberFields.dob}`]: getDob(data.member.dob),\n [`${ModelMemberFields.gender}`]: getGender(data.member.gender),\n [`${ModelMemberFields.identity_no}`]: data.member.identityNo,\n [`${ModelMemberFields.postcode}`]: data.member.postcode,\n [`${ModelMemberFields.country_id}`]: data.member.countryId,\n [`${ModelMemberFields.remark}`]: data.member.remark\n }\n }\n\n return false\n\n}\n\nconst getUpdatePayload = (data: MemberUpdateProps[\"data\"]) => {\n\n if (\"member\" in data) {\n\n return {\n // [`${ModelMemberFields.owner_user_id}`]: data.member.ownerUserId,\n [`${ModelMemberFields.address_1}`]: data.member.address1,\n [`${ModelMemberFields.address_2}`]: data.member.address2,\n [`${ModelMemberFields.area_id}`]: data.member.areaId,\n [`${ModelMemberFields.state_id}`]: data.member.stateId,\n [`${ModelMemberFields.country_id}`]: data.member.countryId,\n // [`${ModelMemberFields.code}`]: data.member.code,\n [`${ModelMemberFields.company_name}`]: data.member.companyName,\n [`${ModelMemberFields.dob}`]: getDob(data.member.dob),\n [`${ModelMemberFields.gender}`]: getGender(data.member.gender),\n [`${ModelMemberFields.identity_no}`]: data.member.identityNo,\n [`${ModelMemberFields.postcode}`]: data.member.postcode,\n [`${ModelMemberFields.country_id}`]: data.member.countryId,\n [`${ModelMemberFields.remark}`]: data.member.remark\n }\n }\n\n return false\n\n}\n\nlet mainSqlSelect = {\n [`mem.${ModelMemberFields.member_id}`]: \"member_id\",\n [`mem.${ModelMemberFields.user_id}`]: \"user_id\",\n [`mem.${ModelMemberFields.address_1}`]: \"address_1\",\n [`mem.${ModelMemberFields.address_2}`]: \"address_2\",\n [`mem.${ModelMemberFields.code}`]: \"code\",\n [`mem.${ModelMemberFields.company_name}`]: \"company_name\",\n [`mem.${ModelMemberFields.dob}`]: \"dob\",\n [`mem.${ModelMemberFields.gender}`]: \"gender\",\n [`mem.${ModelMemberFields.remark}`]: \"remark\",\n [`mem.${ModelMemberFields.identity_no}`]: \"identity_no\",\n // [`mem.${ModelMemberFields.owner_user_id}`]: \"owner_user_id\",\n // [`mem.${ModelMemberFields.owner_user_type}`]: \"owner_user_type\",\n [`mem.${ModelMemberFields.user_id}`]: \"user_id\",\n [`mem.${ModelMemberFields.postcode}`]: \"postcode\",\n [`mem.${ModelMemberFields.area_id}`]: \"area_id\",\n [`mem.${ModelMemberFields.country_id}`]: \"country_id\",\n [`mem.${ModelMemberFields.state_id}`]: \"state_id\",\n}\n\nlet userSqlSelect = {\n [`usr.${ModelUserFields.login_username}`]: \"username\",\n [`usr.${ModelUserFields.user_type}`]: \"user_type\",\n [`usr.${ModelUserFields.firstname}`]: \"firstname\",\n [`usr.${ModelUserFields.lastname}`]: \"lastname\",\n [`CONCAT(usr.${ModelUserFields.contact_country_code}, usr.${ModelUserFields.contact_phone_number})`]: \"contact\",\n [`usr.${ModelUserFields.contact_country_code}`]: \"contact_country_code\",\n [`usr.${ModelUserFields.contact_phone_number}`]: \"contact_phone_number\",\n [`usr.${ModelUserFields.email}`]: \"email\",\n [`usr.${ModelUserFields.address}`]: \"address\",\n [`usr.${ModelUserFields.status}`]: \"status\",\n}\n\nlet defaultSqlSelect = {\n [`mem.${ModelMemberFields.createdatetime}`]: \"createdatetime\",\n [`creator.${ModelUserFields.login_username}`]: \"createusername\",\n [`mem.${ModelMemberFields.updatedatetime}`]: \"updatedatetime\",\n [`updater.${ModelUserFields.login_username}`]: \"updateusername\",\n [`mem.${ModelMemberFields.isdelete}`]: \"isdelete\",\n [`mem.${ModelMemberFields.istrash}`]: \"istrash\",\n [`mem.${ModelMemberFields.accountid}`]: \"accountid\",\n}\n\n// let userPropLocationSqlSelect = {\n// [`COALESCE(\n// STRING_AGG(usrprop_location.${ModelUserPropFields.props_id}::text, ', '),\n// ''\n// )`]: \"location_id\",\n// [`COALESCE(\n// STRING_AGG(location.${ModelLocationFields.location_name}::text, ', '),\n// ''\n// )`]: \"location_name\",\n// }\n\n// const buildDocumentDate = (requestDocumentDate?: string) => {\n// return requestDocumentDate ? dayjs(requestDocumentDate).format(\"YYYY-MM-DD\") : dayjs().format(\"YYYY-MM-DD\")\n// }\n\nexport const MemberService = (props: MemberServiceProps) => {\n\n const {\n ...rest\n } = props\n\n const memberModel = MemberModel({ ...rest })\n\n const injectionFieldService = InjectionFieldService({ ...rest, injectionFieldType: \"user\" })\n\n const numberSequenceService = NumberDateSequenceService({\n ...rest,\n field_ref: \"user\",\n field_module: \"member\"\n })\n\n // const userInjectionFieldModel = UserInjectionFieldModel({ ...rest })\n\n const buildMemberCode = async (requestMemberCode?: string, requestSignupDate?: string) => {\n\n let memberCodePrefix = `M`\n\n let fieldModule: NumberDateSequenceInitProps[\"field_module\"] = \"member\"\n let fieldRef: NumberDateSequenceInitProps[\"field_ref\"] = \"user\"\n\n if (!requestMemberCode) { // mean using running no - required number sequences\n\n let sequenceDate = requestSignupDate || dayjs().format(\"YYYY-MM-DD\")\n\n const payload = {\n field_ref: fieldRef,\n field_module: fieldModule,\n resetMethod: \"monthly\",\n formatOutputLength: 6,\n sequenceDate\n } satisfies NumberDateSequenceInitProps\n\n // create number sequence\n let responseNumberDateSequence = await numberSequenceService.initNumberDateSequence(payload)\n\n let yearLabel = responseNumberDateSequence.response.year_label\n let monthLabel = responseNumberDateSequence.response.month_label\n\n return `${memberCodePrefix}-${yearLabel}${monthLabel}${responseNumberDateSequence.sequenceNumber.nextFormatted}`\n\n }\n\n // use back the request member code\n return requestMemberCode\n\n }\n\n // const validateMemberOwnerUserId = async (ownerUserId: Number) => {\n\n // let ownerUserType = ``\n\n // if (ownerUserId) {\n // const userMemberService = UserService({ ...rest, userType: \"member\" })\n\n // // validate owner user id\n // const ownerUser = await userMemberService.getUser({ id: Number(ownerUserId), datatypes: [], skipFilterUserType: true })\n\n // // console.log('ownerUser', ownerUser)\n\n // if (!ownerUser?.user_id) {\n // throwError(`Invalid owner user id: ${ownerUserId}`)\n // }\n\n // ownerUserType = ownerUser?.user_type\n // }\n\n // return {\n // ownerUserId,\n // ownerUserType\n // }\n\n // }\n\n const createMember = async ({ userId, data }: MemberCreateProps) => {\n\n // check owner user\n // const ownerUserId = data?.member?.ownerUserId ?? \"\"\n // const { ownerUserType = \"\" } = await validateMemberOwnerUserId(ownerUserId)\n\n let requestMemberCode = data.member.code ?? \"\"\n let registerDate = dayjs().format(\"YYYY-MM-DD\")\n\n // if specify the custom member code - check occurance\n if (requestMemberCode) {\n let findSameMemberCode = await memberModel.count({\n where: {\n [`${ModelMemberFields.code}`]: `${requestMemberCode}`\n }\n })\n if (findSameMemberCode > 0) {\n throw new Error(`Duplicate member code found: ${requestMemberCode}`);\n }\n }\n\n // for override member code\n if (!requestMemberCode) {\n requestMemberCode = await buildMemberCode(requestMemberCode, registerDate)\n }\n\n data.member.code = requestMemberCode\n\n // const _data = getCreatePayload(userId, ownerUserType, data)\n const _data = getCreatePayload(userId, data)\n\n if (!_data) {\n throw new Error(`Invalid create member payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await memberModel.create({ data: _data })\n\n return response\n }\n\n const updateMember = async ({ userId, data }: MemberUpdateProps) => {\n\n const _data = getUpdatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid update member payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await memberModel.update({ where: { [`${ModelMemberFields.user_id}`]: userId }, data: _data })\n\n return response\n }\n\n const getMember = async ({ id, datatypes = [], includePassword = false }: MemberGetProps) => {\n\n let { data } = await listMembers({\n includePassword,\n limit: 1,\n offset: 0,\n filters: [{ field: \"user_id\", operator: \"=\", value: id }],\n sortfield: \"user_id\",\n sortorder: \"ASC\",\n datatypes\n })\n\n return data[0] ?? null;\n\n };\n\n const listMembers = async ({\n includePassword = false,\n limit,\n offset,\n filters,\n sortfield,\n sortorder,\n datatypes = []\n }: MemberListProps) => {\n\n let data = []\n\n if (includePassword === true) {\n userSqlSelect = {\n ...userSqlSelect,\n [`usr.${ModelUserFields.login_password}`]: \"password\",\n }\n } else {\n delete userSqlSelect[`usr.${ModelUserFields.login_password}`];\n }\n\n let sqlSelect = [\n `COUNT(*) OVER() as filtered_count`,\n buildSqlSelect(``, mainSqlSelect),\n buildSqlSelect(``, userSqlSelect),\n buildSqlSelect(``, defaultSqlSelect),\n // buildSqlSelect(``, userPropLocationSqlSelect),\n ]\n\n let sqlRelation = [\n buildSqlRelation(\"left\", \"mem\", \"users\", \"usr\", [\"mem.user_id = usr.user_id\", \"usr.isdelete = false\", \"usr.istrash = false\"]),\n buildSqlRelation(\"left\", \"mem\", \"users\", \"creator\", [\"mem.createuserid = creator.user_id\", \"creator.isdelete = false\", \"creator.istrash = false\"]),\n buildSqlRelation(\"left\", \"mem\", \"users\", \"updater\", [\"mem.updateuserid = updater.user_id\", \"updater.isdelete = false\", \"updater.istrash = false\"]),\n // buildSqlRelation(\"left\", \"mem\", \"user_props\", \"usrprop_location\", [\"mem.user_id = usrprop_location.user_id\", \"usrprop_location.type = 'LOCATION_ID'\", \"usrprop_location.isdelete = false\", \"usrprop_location.istrash = false\"]),\n // buildSqlRelation(\"left\", \"mem\", \"locations\", \"location\", [\"usrprop_location.props_id = location.location_id\", \"location.isdelete = false\", \"location.istrash = false\"]),\n ]\n\n let sqlGroupBy: string[] = [\n ...Object.keys(mainSqlSelect),\n ...Object.keys(userSqlSelect),\n // ...Object.keys(userPropLocationSqlSelect),\n ...Object.keys(defaultSqlSelect)\n ]\n\n let filterColumns = {\n ...mainSqlSelect,\n ...userSqlSelect,\n // ...userPropLocationSqlSelect,\n ...defaultSqlSelect\n }\n\n if (datatypes.includes(memberDataTypes.memberInjectionFields)) {\n\n let activeInjectionFields = await injectionFieldService.listActiveInjectionFields(\"user\", \"member\")\n\n const memberInjectionFieldSqlSelect = buildInjectionFieldsSqlSelect(\"uif\", activeInjectionFields)\n\n filterColumns = { ...filterColumns, ...memberInjectionFieldSqlSelect }\n\n sqlSelect = [...sqlSelect, ...(activeInjectionFields.length > 0 ? [buildSqlSelect(``, memberInjectionFieldSqlSelect)] : [])]\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"mem\", \"user_injection_fields\", \"uif\", [\"mem.user_id = uif.user_id\", \"uif.field_ref = 'user'\", \"uif.field_module = 'member'\", \"uif.isdelete = false\", \"uif.istrash = false\"])]\n sqlGroupBy = [...sqlGroupBy, ...Object.keys(memberInjectionFieldSqlSelect)]\n\n }\n\n if (datatypes.includes(memberDataTypes.parentUser)) {\n\n filterColumns = { ...filterColumns, ...userParentSqlSelect }\n\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"wrk\", \"users\", \"parentuser\", [\"usr.parent_user_id = parentuser.user_id\", \"parentuser.isdelete = false\", \"parentuser.istrash = false\"])]\n sqlSelect = [...sqlSelect, buildSqlSelect(``, userParentSqlSelect)]\n sqlGroupBy = [...sqlGroupBy, ...Object.keys(userParentSqlSelect)]\n\n }\n\n // if (datatypes.includes(memberDataTypes.location)) {\n\n // let locationSqlSelect = {\n // [`COALESCE(\n // JSON_AGG(\n // DISTINCT JSONB_BUILD_OBJECT(\n // '${ModelLocationFields.location_id}', location.location_id,\n // '${ModelLocationFields.location_code}', location.location_code,\n // '${ModelLocationFields.location_name}', location.location_name,\n // '${ModelLocationFields.location_type}', location.location_type,\n // '${ModelLocationFields.address_1}', location.address_1,\n // '${ModelLocationFields.address_2}', location.address_2,\n // '${ModelLocationFields.area_id}', location.area_id,\n // '${ModelLocationFields.country_id}', location.country_id,\n // '${ModelLocationFields.state_id}', location.state_id,\n // '${ModelLocationFields.postcode}', location.postcode,\n // '${ModelLocationFields.is_default}', location.is_default,\n // '${ModelLocationFields.person_contact}', location.person_contact,\n // '${ModelLocationFields.person_name}', location.person_contact,\n // '${ModelLocationFields.person_email}', location.person_email,\n // '${ModelLocationFields.isdelete}', location.isdelete,\n // '${ModelLocationFields.istrash}', location.istrash\n // )\n // ) FILTER (WHERE location.location_id IS NOT NULL AND location.isdelete = false AND location.istrash = false), \n // '[]'\n // )`]: \"locations\"\n // }\n\n // filterColumns = { ...filterColumns, ...locationSqlSelect }\n\n // sqlSelect = [...sqlSelect, buildSqlSelect(``, locationSqlSelect)]\n // // sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"usrprop_location\", \"location\", \"brn\", [\"mem.user_id = brn.user_id\", \"brn.isdelete = false\", \"brn.istrash = false\"])]\n\n // }\n\n // if (datatypes.includes(memberDataTypes.locationCount)) {\n\n // let locationCountSqlSelect = {\n // [`COUNT(DISTINCT location.${ModelLocationFields.location_id})::INT`]: \"location_count\"\n // }\n\n // filterColumns = { ...filterColumns, ...locationCountSqlSelect }\n\n // sqlSelect = [...sqlSelect, buildSqlSelect(``, locationCountSqlSelect)]\n // // sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"cus\", \"branches\", \"brncount\", [\"mem.user_id = brncount.user_id\", \"brncount.isdelete = false\", \"brncount.istrash = false\"])]\n\n // }\n\n let sqlWhere = [\n `mem.isdelete = false`,\n `mem.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: \"members\",\n mainAlias: \"mem\",\n accountId: rest.accountId,\n sqlSelect,\n sqlRelation,\n sqlWhere,\n sqlGroupBy,\n sqlOrderby,\n sqlLimitOffset\n })\n\n data = await memberModel.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 removeMembers = async ({ userIds }: MemberRemoveProps) => {\n\n if (!userIds.length) throwError('userIds is required');\n\n const response = await memberModel.remove({ where: { [`${ModelMemberFields.user_id}`]: { in: userIds } } });\n\n return response\n };\n\n const getDataTypes = () => {\n return Object.values(memberDataTypes);\n }\n\n return {\n createMember,\n // validateMemberOwnerUserId,\n updateMember,\n getMember,\n listMembers,\n removeMembers,\n getDataTypes\n }\n\n}\n\n"]}
@@ -19,22 +19,6 @@ export type UserPropReplaceProps = {
19
19
  };
20
20
  };
21
21
  export declare const UserPropService: (props: UserPropServiceProps) => {
22
- replaceUserProp: ({ data, userPropType: overrideUserPropType }: UserPropReplaceProps) => Promise<{
23
- createdatetime: Date | null;
24
- createuserid: bigint;
25
- updatedatetime: Date | null;
26
- updateuserid: bigint;
27
- isdelete: boolean | null;
28
- istrash: boolean | null;
29
- accountid: bigint;
30
- type: string | null;
31
- user_id: bigint | null;
32
- user_prop_id: bigint;
33
- props_value: string | null;
34
- props_id: bigint;
35
- props_numeric: import("@prisma/client/runtime/library").Decimal;
36
- props_timestamp: Date | null;
37
- props_integer: bigint | null;
38
- }[]>;
39
- removeUserProps: ({ userIds }: UserPropRemoveProps) => Promise<any[]>;
22
+ replaceUserProp: ({ data, userPropType: overrideUserPropType }: UserPropReplaceProps) => Promise<void>;
23
+ removeUserProps: ({ userIds }: UserPropRemoveProps) => Promise<void>;
40
24
  };
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.UserPropService = exports.userPropTypes = void 0;
4
- const models_1 = require("../../models");
5
- const utils_1 = require("../../utils");
6
4
  exports.userPropTypes = {
7
5
  locationId: "LOCATION_ID"
8
6
  };
@@ -49,29 +47,33 @@ exports.userPropTypes = {
49
47
  // }
50
48
  const UserPropService = (props) => {
51
49
  const { userPropType = "LOCATION_ID", ...rest } = props;
52
- const userPropModel = (0, models_1.UserPropModel)({ ...rest });
50
+ // const userPropModel = UserPropModel({ ...rest })
53
51
  const replaceUserProp = async ({ data, userPropType: overrideUserPropType }) => {
54
- const _userPropType = overrideUserPropType || userPropType;
55
- // const _data = getCreatePayload(_userPropType, data)
56
- // if (!_data) {
57
- // throw new Error(`Invalid create payload: ${JSON.stringify(_data)}`);
58
- // }
59
- // Step 1: remove all existing records for this user + type
60
- await userPropModel.remove({
61
- where: {
62
- [models_1.ModelUserPropFields.user_id]: data.userProp.userId,
63
- [models_1.ModelUserPropFields.type]: _userPropType,
64
- },
65
- });
66
- // Step 2: insert the new set of records
67
- const created = await Promise.all(data.userProp.locationIds.map((locationId) => userPropModel.create({
68
- data: {
69
- props_id: locationId,
70
- type: _userPropType,
71
- user_id: data.userProp.userId,
72
- },
73
- })));
74
- return created;
52
+ // const _userPropType = overrideUserPropType || userPropType
53
+ // // const _data = getCreatePayload(_userPropType, data)
54
+ // // if (!_data) {
55
+ // // throw new Error(`Invalid create payload: ${JSON.stringify(_data)}`);
56
+ // // }
57
+ // // Step 1: remove all existing records for this user + type
58
+ // await userPropModel.remove({
59
+ // where: {
60
+ // [ModelUserPropFields.user_id]: data.userProp.userId,
61
+ // [ModelUserPropFields.type]: _userPropType,
62
+ // },
63
+ // });
64
+ // // Step 2: insert the new set of records
65
+ // const created = await Promise.all(
66
+ // data.userProp.locationIds.map((locationId) =>
67
+ // userPropModel.create({
68
+ // data: {
69
+ // props_id: locationId,
70
+ // type: _userPropType,
71
+ // user_id: data.userProp.userId,
72
+ // },
73
+ // })
74
+ // )
75
+ // );
76
+ // return created;
75
77
  };
76
78
  // const updateUserProp = async ({ id, data, userPropType: overrideUserPropType }: UserPropUpdateProps) => {
77
79
  // const _userPropType = overrideUserPropType || userPropType
@@ -117,19 +119,18 @@ const UserPropService = (props) => {
117
119
  // }
118
120
  // };
119
121
  const removeUserProps = async ({ userIds }) => {
120
- if (!userIds.length)
121
- (0, utils_1.throwError)('userIds is required');
122
- let response = [];
123
- // remove user prop
124
- let responseUserProp = await userPropModel.remove({
125
- where: {
126
- [`${models_1.ModelUserPropFields.user_id}`]: { in: userIds.map(i => Number(i)) }
127
- }
128
- });
129
- response.forEach((i, index) => {
130
- i.user = responseUserProp[index];
131
- });
132
- return response;
122
+ // if (!userIds.length) throwError('userIds is required');
123
+ // let response: any[] = []
124
+ // // remove user prop
125
+ // let responseUserProp = await userPropModel.remove({
126
+ // where: {
127
+ // [`${ModelUserPropFields.user_id}`]: { in: userIds.map(i => Number(i)) }
128
+ // }
129
+ // })
130
+ // response.forEach((i, index) => {
131
+ // i.user = responseUserProp[index]
132
+ // })
133
+ // return response
133
134
  };
134
135
  return {
135
136
  replaceUserProp,
@@ -1 +1 @@
1
- {"version":3,"file":"UserPropService.js","sourceRoot":"","sources":["../../../src/services/user/UserPropService.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n UserModel,\n ModelUserFields,\n UserPropModel,\n ModelUserPropFields\n} from \"@/models\";\n\nimport { DefaultServiceProps, throwError } from \"@/utils\";\n\nexport const userPropTypes = {\n locationId: \"LOCATION_ID\"\n} as const\n\nexport type UserPropType = typeof userPropTypes[keyof typeof userPropTypes]\n\nexport type UserPropServiceProps = DefaultServiceProps & {\n userPropType: UserPropType\n};\n\n// export type UserGetProps = QueryGet & {\n// id: number,\n// };\n\n// export type UserListProps = QueryList & {\n// // id: number,\n// };\n\nexport type UserPropRemoveProps = {\n userIds: BigInt[]\n};\n\nexport type UserPropReplaceProps = {\n userPropType?: UserPropType,\n data: {\n userProp: {\n userId: number,\n locationIds: number[]\n }\n }\n}\n\n// export type UserPropUpdateProps = {\n// id: number,\n// userPropType?: UserPropType,\n// data: {\n// userProp: {\n// locationIds: number[]\n// }\n// }\n// }\n\n// const getCreatePayload = (userPropType: UserPropType, data: UserPropReplaceProps[\"data\"]) => {\n\n// if (\"userProp\" in data) {\n\n// return {\n// [`${ModelUserFields.login_username}`]: data.user.loginUsername,\n// [`${ModelUserFields.login_password}`]: data.user.loginPassword,\n// [`${ModelUserFields.address}`]: data.user.address,\n// [`${ModelUserFields.contact}`]: data.user.contact,\n// [`${ModelUserFields.email}`]: data.user.email,\n// [`${ModelUserFields.firstname}`]: data.user.firstname,\n// [`${ModelUserFields.lastname}`]: data.user.lastname,\n// [`${ModelUserFields.status}`]: data.user.status ? 1 : 0,\n// [`${ModelUserFields.user_type}`]: `${userType}`\n// }\n// }\n\n// return false\n\n// }\n\n// const getUpdatePayload = (userPropType: UserPropType, data: UserPropUpdateProps[\"data\"]) => {\n\n// if (\"user\" in data) {\n\n// return {\n// [`${ModelUserFields.login_username}`]: data.user.loginUsername,\n// ...(data?.user?.loginPassword ? { [`${ModelUserFields.login_password}`]: data.user.loginPassword } : {}),\n// [`${ModelUserFields.address}`]: data.user.address,\n// [`${ModelUserFields.contact}`]: data.user.contact,\n// [`${ModelUserFields.email}`]: data.user.email,\n// [`${ModelUserFields.firstname}`]: data.user.firstname,\n// [`${ModelUserFields.lastname}`]: data.user.lastname,\n// [`${ModelUserFields.status}`]: data.user.status ? 1 : 0,\n// [`${ModelUserFields.user_type}`]: `${userType}`\n// }\n// }\n\n// return false\n\n// }\n\nexport const UserPropService = (props: UserPropServiceProps) => {\n\n const {\n userPropType = \"LOCATION_ID\",\n ...rest\n } = props\n\n const userPropModel = UserPropModel({ ...rest })\n\n const replaceUserProp = async ({ data, userPropType: overrideUserPropType }: UserPropReplaceProps) => {\n\n const _userPropType = overrideUserPropType || userPropType\n\n // const _data = getCreatePayload(_userPropType, data)\n\n // if (!_data) {\n // throw new Error(`Invalid create payload: ${JSON.stringify(_data)}`);\n // }\n\n // Step 1: remove all existing records for this user + type\n await userPropModel.remove({\n where: {\n [ModelUserPropFields.user_id]: data.userProp.userId,\n [ModelUserPropFields.type]: _userPropType,\n },\n });\n\n // Step 2: insert the new set of records\n const created = await Promise.all(\n data.userProp.locationIds.map((locationId) =>\n userPropModel.create({\n data: {\n props_id: locationId,\n type: _userPropType,\n user_id: data.userProp.userId,\n },\n })\n )\n );\n\n return created;\n }\n\n // const updateUserProp = async ({ id, data, userPropType: overrideUserPropType }: UserPropUpdateProps) => {\n\n // const _userPropType = overrideUserPropType || userPropType\n\n // const _data = getUpdatePayload(_userPropType, data)\n\n // if (!_data) {\n // throw new Error(`Invalid update payload: ${JSON.stringify(_data)}`);\n // }\n\n // // update user prop\n // let responseUser = await userPropModel.update({ id, data: _data })\n\n // let updateUserId = responseUser.user_id\n\n // let response: any = {}\n\n // return response\n // }\n\n // const getUserProp = async ({ id, datatypes = [] }: UserGetProps) => {\n\n // let data: any = {}\n\n // if (userType === \"customer\") {\n // data = await customerService.getCustomer({ id, datatypes: datatypes as CustomerGetProps[\"datatypes\"] })\n // }\n\n // if (userType === \"administrator\") {\n // data = await administratorService.getAdministrator({ id, datatypes: datatypes as AdministratorGetProps[\"datatypes\"] })\n // }\n\n // if (!data) {\n // throw new Error(`Invalid id: ${id}`);\n // }\n\n // return data\n // };\n\n // const listUsers = async ({ limit, offset, filters, sortfield, sortorder, datatypes }: UserListProps) => {\n\n // let data: any[] = [];\n // let total = 0;\n\n // if (userType === \"customer\") {\n // ({ data, total } = await customerService.listCustomers(\n // { limit, offset, filters, sortfield, sortorder, datatypes: datatypes as CustomerListProps[\"datatypes\"] }\n // ))\n // }\n\n // if (userType === \"administrator\") {\n // ({ data, total } = await administratorService.listAdministrators(\n // { limit, offset, filters, sortfield, sortorder, datatypes: datatypes as AdministratorListProps[\"datatypes\"] }\n // ))\n // }\n\n // return {\n // data,\n // total\n // }\n // };\n\n const removeUserProps = async ({ userIds }: UserPropRemoveProps) => {\n\n if (!userIds.length) throwError('userIds is required');\n\n let response: any[] = []\n\n // remove user prop\n let responseUserProp = await userPropModel.remove({\n where: {\n [`${ModelUserPropFields.user_id}`]: { in: userIds.map(i => Number(i)) }\n }\n })\n\n response.forEach((i, index) => {\n i.user = responseUserProp[index]\n })\n\n return response\n };\n\n return {\n replaceUserProp,\n removeUserProps,\n }\n\n}\n\n"]}
1
+ {"version":3,"file":"UserPropService.js","sourceRoot":"","sources":["../../../src/services/user/UserPropService.ts"],"names":[],"mappings":";;;AASa,QAAA,aAAa,GAAG;IACzB,UAAU,EAAE,aAAa;CACnB,CAAA;AA8BV,sCAAsC;AACtC,kBAAkB;AAClB,mCAAmC;AACnC,cAAc;AACd,sBAAsB;AACtB,oCAAoC;AACpC,YAAY;AACZ,QAAQ;AACR,IAAI;AAEJ,iGAAiG;AAEjG,gCAAgC;AAEhC,mBAAmB;AACnB,8EAA8E;AAC9E,8EAA8E;AAC9E,iEAAiE;AACjE,iEAAiE;AACjE,6DAA6D;AAC7D,qEAAqE;AACrE,mEAAmE;AACnE,uEAAuE;AACvE,8DAA8D;AAC9D,YAAY;AACZ,QAAQ;AAER,mBAAmB;AAEnB,IAAI;AAEJ,gGAAgG;AAEhG,4BAA4B;AAE5B,mBAAmB;AACnB,8EAA8E;AAC9E,wHAAwH;AACxH,iEAAiE;AACjE,iEAAiE;AACjE,6DAA6D;AAC7D,qEAAqE;AACrE,mEAAmE;AACnE,uEAAuE;AACvE,8DAA8D;AAC9D,YAAY;AACZ,QAAQ;AAER,mBAAmB;AAEnB,IAAI;AAEG,MAAM,eAAe,GAAG,CAAC,KAA2B,EAAE,EAAE;IAE3D,MAAM,EACF,YAAY,GAAG,aAAa,EAC5B,GAAG,IAAI,EACV,GAAG,KAAK,CAAA;IAET,mDAAmD;IAEnD,MAAM,eAAe,GAAG,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,oBAAoB,EAAwB,EAAE,EAAE;QAEjG,6DAA6D;QAE7D,yDAAyD;QAEzD,mBAAmB;QACnB,8EAA8E;QAC9E,OAAO;QAEP,8DAA8D;QAC9D,+BAA+B;QAC/B,eAAe;QACf,+DAA+D;QAC/D,qDAAqD;QACrD,SAAS;QACT,MAAM;QAEN,2CAA2C;QAC3C,qCAAqC;QACrC,oDAAoD;QACpD,iCAAiC;QACjC,sBAAsB;QACtB,wCAAwC;QACxC,uCAAuC;QACvC,iDAAiD;QACjD,iBAAiB;QACjB,aAAa;QACb,QAAQ;QACR,KAAK;QAEL,kBAAkB;IACtB,CAAC,CAAA;IAED,4GAA4G;IAE5G,iEAAiE;IAEjE,0DAA0D;IAE1D,oBAAoB;IACpB,+EAA+E;IAC/E,QAAQ;IAER,0BAA0B;IAC1B,yEAAyE;IAEzE,8CAA8C;IAE9C,6BAA6B;IAE7B,sBAAsB;IACtB,IAAI;IAEJ,wEAAwE;IAExE,yBAAyB;IAEzB,qCAAqC;IACrC,kHAAkH;IAClH,QAAQ;IAER,0CAA0C;IAC1C,iIAAiI;IACjI,QAAQ;IAER,mBAAmB;IACnB,gDAAgD;IAChD,QAAQ;IAER,kBAAkB;IAClB,KAAK;IAEL,4GAA4G;IAE5G,4BAA4B;IAC5B,qBAAqB;IAErB,qCAAqC;IACrC,kEAAkE;IAClE,uHAAuH;IACvH,aAAa;IACb,QAAQ;IAER,0CAA0C;IAC1C,4EAA4E;IAC5E,4HAA4H;IAC5H,aAAa;IACb,QAAQ;IAER,eAAe;IACf,gBAAgB;IAChB,gBAAgB;IAChB,QAAQ;IACR,KAAK;IAEL,MAAM,eAAe,GAAG,KAAK,EAAE,EAAE,OAAO,EAAuB,EAAE,EAAE;QAE/D,0DAA0D;QAE1D,2BAA2B;QAE3B,sBAAsB;QACtB,sDAAsD;QACtD,eAAe;QACf,kFAAkF;QAClF,QAAQ;QACR,KAAK;QAEL,mCAAmC;QACnC,uCAAuC;QACvC,KAAK;QAEL,kBAAkB;IACtB,CAAC,CAAC;IAEF,OAAO;QACH,eAAe;QACf,eAAe;KAClB,CAAA;AAEL,CAAC,CAAA;AAlIY,QAAA,eAAe,mBAkI3B","sourcesContent":["import {\n UserModel,\n ModelUserFields,\n // UserPropModel,\n // ModelUserPropFields\n} from \"@/models\";\n\nimport { DefaultServiceProps, throwError } from \"@/utils\";\n\nexport const userPropTypes = {\n locationId: \"LOCATION_ID\"\n} as const\n\nexport type UserPropType = typeof userPropTypes[keyof typeof userPropTypes]\n\nexport type UserPropServiceProps = DefaultServiceProps & {\n userPropType: UserPropType\n};\n\n// export type UserGetProps = QueryGet & {\n// id: number,\n// };\n\n// export type UserListProps = QueryList & {\n// // id: number,\n// };\n\nexport type UserPropRemoveProps = {\n userIds: BigInt[]\n};\n\nexport type UserPropReplaceProps = {\n userPropType?: UserPropType,\n data: {\n userProp: {\n userId: number,\n locationIds: number[]\n }\n }\n}\n\n// export type UserPropUpdateProps = {\n// id: number,\n// userPropType?: UserPropType,\n// data: {\n// userProp: {\n// locationIds: number[]\n// }\n// }\n// }\n\n// const getCreatePayload = (userPropType: UserPropType, data: UserPropReplaceProps[\"data\"]) => {\n\n// if (\"userProp\" in data) {\n\n// return {\n// [`${ModelUserFields.login_username}`]: data.user.loginUsername,\n// [`${ModelUserFields.login_password}`]: data.user.loginPassword,\n// [`${ModelUserFields.address}`]: data.user.address,\n// [`${ModelUserFields.contact}`]: data.user.contact,\n// [`${ModelUserFields.email}`]: data.user.email,\n// [`${ModelUserFields.firstname}`]: data.user.firstname,\n// [`${ModelUserFields.lastname}`]: data.user.lastname,\n// [`${ModelUserFields.status}`]: data.user.status ? 1 : 0,\n// [`${ModelUserFields.user_type}`]: `${userType}`\n// }\n// }\n\n// return false\n\n// }\n\n// const getUpdatePayload = (userPropType: UserPropType, data: UserPropUpdateProps[\"data\"]) => {\n\n// if (\"user\" in data) {\n\n// return {\n// [`${ModelUserFields.login_username}`]: data.user.loginUsername,\n// ...(data?.user?.loginPassword ? { [`${ModelUserFields.login_password}`]: data.user.loginPassword } : {}),\n// [`${ModelUserFields.address}`]: data.user.address,\n// [`${ModelUserFields.contact}`]: data.user.contact,\n// [`${ModelUserFields.email}`]: data.user.email,\n// [`${ModelUserFields.firstname}`]: data.user.firstname,\n// [`${ModelUserFields.lastname}`]: data.user.lastname,\n// [`${ModelUserFields.status}`]: data.user.status ? 1 : 0,\n// [`${ModelUserFields.user_type}`]: `${userType}`\n// }\n// }\n\n// return false\n\n// }\n\nexport const UserPropService = (props: UserPropServiceProps) => {\n\n const {\n userPropType = \"LOCATION_ID\",\n ...rest\n } = props\n\n // const userPropModel = UserPropModel({ ...rest })\n\n const replaceUserProp = async ({ data, userPropType: overrideUserPropType }: UserPropReplaceProps) => {\n\n // const _userPropType = overrideUserPropType || userPropType\n\n // // const _data = getCreatePayload(_userPropType, data)\n\n // // if (!_data) {\n // // throw new Error(`Invalid create payload: ${JSON.stringify(_data)}`);\n // // }\n\n // // Step 1: remove all existing records for this user + type\n // await userPropModel.remove({\n // where: {\n // [ModelUserPropFields.user_id]: data.userProp.userId,\n // [ModelUserPropFields.type]: _userPropType,\n // },\n // });\n\n // // Step 2: insert the new set of records\n // const created = await Promise.all(\n // data.userProp.locationIds.map((locationId) =>\n // userPropModel.create({\n // data: {\n // props_id: locationId,\n // type: _userPropType,\n // user_id: data.userProp.userId,\n // },\n // })\n // )\n // );\n\n // return created;\n }\n\n // const updateUserProp = async ({ id, data, userPropType: overrideUserPropType }: UserPropUpdateProps) => {\n\n // const _userPropType = overrideUserPropType || userPropType\n\n // const _data = getUpdatePayload(_userPropType, data)\n\n // if (!_data) {\n // throw new Error(`Invalid update payload: ${JSON.stringify(_data)}`);\n // }\n\n // // update user prop\n // let responseUser = await userPropModel.update({ id, data: _data })\n\n // let updateUserId = responseUser.user_id\n\n // let response: any = {}\n\n // return response\n // }\n\n // const getUserProp = async ({ id, datatypes = [] }: UserGetProps) => {\n\n // let data: any = {}\n\n // if (userType === \"customer\") {\n // data = await customerService.getCustomer({ id, datatypes: datatypes as CustomerGetProps[\"datatypes\"] })\n // }\n\n // if (userType === \"administrator\") {\n // data = await administratorService.getAdministrator({ id, datatypes: datatypes as AdministratorGetProps[\"datatypes\"] })\n // }\n\n // if (!data) {\n // throw new Error(`Invalid id: ${id}`);\n // }\n\n // return data\n // };\n\n // const listUsers = async ({ limit, offset, filters, sortfield, sortorder, datatypes }: UserListProps) => {\n\n // let data: any[] = [];\n // let total = 0;\n\n // if (userType === \"customer\") {\n // ({ data, total } = await customerService.listCustomers(\n // { limit, offset, filters, sortfield, sortorder, datatypes: datatypes as CustomerListProps[\"datatypes\"] }\n // ))\n // }\n\n // if (userType === \"administrator\") {\n // ({ data, total } = await administratorService.listAdministrators(\n // { limit, offset, filters, sortfield, sortorder, datatypes: datatypes as AdministratorListProps[\"datatypes\"] }\n // ))\n // }\n\n // return {\n // data,\n // total\n // }\n // };\n\n const removeUserProps = async ({ userIds }: UserPropRemoveProps) => {\n\n // if (!userIds.length) throwError('userIds is required');\n\n // let response: any[] = []\n\n // // remove user prop\n // let responseUserProp = await userPropModel.remove({\n // where: {\n // [`${ModelUserPropFields.user_id}`]: { in: userIds.map(i => Number(i)) }\n // }\n // })\n\n // response.forEach((i, index) => {\n // i.user = responseUserProp[index]\n // })\n\n // return response\n };\n\n return {\n replaceUserProp,\n removeUserProps,\n }\n\n}\n\n"]}
@@ -59,16 +59,16 @@ let defaultSqlSelect = {
59
59
  [`wrk.${models_1.ModelWorkerFields.istrash}`]: "istrash",
60
60
  [`wrk.${models_1.ModelWorkerFields.accountid}`]: "accountid",
61
61
  };
62
- let userPropLocationSqlSelect = {
63
- [`COALESCE(
64
- STRING_AGG(usrprop_location.${models_1.ModelUserPropFields.props_id}:: text, ', '),
65
- ''
66
- )`]: "location_id",
67
- [`COALESCE(
68
- STRING_AGG(location.${models_1.ModelLocationFields.location_name}:: text, ', '),
69
- ''
70
- )`]: "location_name",
71
- };
62
+ // let userPropLocationSqlSelect = {
63
+ // [`COALESCE(
64
+ // STRING_AGG(usrprop_location.${ModelUserPropFields.props_id}:: text, ', '),
65
+ // ''
66
+ // )`]: "location_id",
67
+ // [`COALESCE(
68
+ // STRING_AGG(location.${ModelLocationFields.location_name}:: text, ', '),
69
+ // ''
70
+ // )`]: "location_name",
71
+ // }
72
72
  const WorkerService = (props) => {
73
73
  const { ...rest } = props;
74
74
  const workerModel = (0, models_1.WorkerModel)({ ...rest });
@@ -118,14 +118,14 @@ const WorkerService = (props) => {
118
118
  (0, lib_1.buildSqlSelect)(``, mainSqlSelect),
119
119
  (0, lib_1.buildSqlSelect)(``, userSqlSelect),
120
120
  (0, lib_1.buildSqlSelect)(``, defaultSqlSelect),
121
- (0, lib_1.buildSqlSelect)(``, userPropLocationSqlSelect),
121
+ // buildSqlSelect(``, userPropLocationSqlSelect),
122
122
  ];
123
123
  let sqlRelation = [
124
124
  (0, lib_1.buildSqlRelation)("left", "wrk", "users", "usr", ["wrk.user_id = usr.user_id", "usr.isdelete = false", "usr.istrash = false"]),
125
125
  (0, lib_1.buildSqlRelation)("left", "wrk", "users", "creator", ["wrk.createuserid = creator.user_id", "creator.isdelete = false", "creator.istrash = false"]),
126
126
  (0, lib_1.buildSqlRelation)("left", "wrk", "users", "updater", ["wrk.updateuserid = updater.user_id", "updater.isdelete = false", "updater.istrash = false"]),
127
- (0, lib_1.buildSqlRelation)("left", "wrk", "user_props", "usrprop_location", ["wrk.user_id = usrprop_location.user_id", "usrprop_location.type = 'LOCATION_ID'", "usrprop_location.isdelete = false", "usrprop_location.istrash = false"]),
128
- (0, lib_1.buildSqlRelation)("left", "wrk", "locations", "location", ["usrprop_location.props_id = location.location_id", "location.isdelete = false", "location.istrash = false"]),
127
+ // buildSqlRelation("left", "wrk", "user_props", "usrprop_location", ["wrk.user_id = usrprop_location.user_id", "usrprop_location.type = 'LOCATION_ID'", "usrprop_location.isdelete = false", "usrprop_location.istrash = false"]),
128
+ // buildSqlRelation("left", "wrk", "locations", "location", ["usrprop_location.props_id = location.location_id", "location.isdelete = false", "location.istrash = false"]),
129
129
  ];
130
130
  let sqlGroupBy = [
131
131
  ...Object.keys(mainSqlSelect),
@@ -136,7 +136,7 @@ const WorkerService = (props) => {
136
136
  let filterColumns = {
137
137
  ...mainSqlSelect,
138
138
  ...userSqlSelect,
139
- ...userPropLocationSqlSelect,
139
+ // ...userPropLocationSqlSelect,
140
140
  ...defaultSqlSelect
141
141
  };
142
142
  if (datatypes.includes(exports.workerDataTypes.workerInjectionFields)) {
@@ -1 +1 @@
1
- {"version":3,"file":"WorkerService.js","sourceRoot":"","sources":["../../../src/services/user/WorkerService.ts"],"names":[],"mappings":"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","sourcesContent":["import { logError, throwError } from \"@/utils\";\n\nimport {\n ModelUserFields,\n WorkerModel,\n ModelWorkerFields,\n ModelUserPropFields,\n ModelLocationFields,\n UserInjectionFieldModel\n} from \"@/models\";\n\nimport { InjectionFieldService, userParentSqlSelect } from \"@/services\";\n\nimport { QueryList, QueryGet } from \"@/schema/common\";\n\nimport { DefaultServiceProps } from \"@/utils\";\n\nimport { toFieldMap, buildSqlRawSelect, buildSqlRelation, buildSqlWhere, buildSqlSelect, buildSqlLimitOffset, buildSqlOrderBy, buildInjectionFieldsSqlSelect } from \"@/lib\";\n\nexport type UserType = \"worker\"\n\nexport const workerDataTypes = {\n location: \"location\",\n locationCount: \"location_count\",\n zone: \"zone\",\n zoneCount: \"zone_count\",\n workerInjectionFields: \"worker_injection_fields\",\n file: \"file\",\n parentUser: \"parent_user\"\n}\n\nexport type WorkerDataType = keyof typeof workerDataTypes;\n\nexport type WorkerServiceProps = DefaultServiceProps & {};\n\nexport type WorkerGetProps = {\n id: number,\n includePassword?: boolean,\n datatypes: WorkerDataType[]\n};\n\nexport type WorkerListProps = QueryList & {\n includePassword?: boolean,\n datatypes: WorkerDataType[]\n};\n\nexport type WorkerRemoveProps = {\n userIds: BigInt[]\n};\n\nexport type WorkerCreateProps = {\n data:\n // worker\n {\n worker: {\n userId: number,\n remark: string\n }\n }\n}\n\nexport type WorkerUpdateProps = {\n userId: number,\n data:\n // worker\n {\n worker: {\n // userId: number,\n remark: string\n }\n }\n}\n\nconst getCreatePayload = (data: WorkerCreateProps[\"data\"]) => {\n\n if (\"worker\" in data) {\n\n return {\n [`${ModelWorkerFields.user_id}`]: data.worker.userId,\n [`${ModelWorkerFields.remark}`]: data.worker.remark\n }\n }\n\n return false\n\n}\n\nconst getUpdatePayload = (data: WorkerUpdateProps[\"data\"]) => {\n\n if (\"worker\" in data) {\n\n return {\n // [`${ModelWorkerFields.user_id}`]: data.worker.userId,\n [`${ModelWorkerFields.remark}`]: data.worker.remark\n }\n }\n\n return false\n\n}\n\nlet mainSqlSelect = {\n [`wrk.${ModelWorkerFields.worker_id}`]: \"worker_id\",\n [`wrk.${ModelWorkerFields.user_id}`]: \"user_id\",\n [`wrk.${ModelWorkerFields.remark}`]: \"remark\",\n}\n\nlet userSqlSelect = {\n [`usr.${ModelUserFields.login_username}`]: \"username\",\n [`usr.${ModelUserFields.user_type}`]: \"user_type\",\n [`usr.${ModelUserFields.firstname}`]: \"firstname\",\n [`usr.${ModelUserFields.lastname}`]: \"lastname\",\n [`CONCAT(usr.${ModelUserFields.contact_country_code}, usr.${ModelUserFields.contact_phone_number})`]: \"contact\",\n [`usr.${ModelUserFields.contact_country_code}`]: \"contact_country_code\",\n [`usr.${ModelUserFields.contact_phone_number}`]: \"contact_phone_number\",\n [`usr.${ModelUserFields.email}`]: \"email\",\n [`usr.${ModelUserFields.address}`]: \"address\",\n [`usr.${ModelUserFields.parent_user_id}`]: \"parent_user_id\",\n [`usr.${ModelUserFields.status}`]: \"status\"\n}\n\nlet defaultSqlSelect = {\n [`wrk.${ModelWorkerFields.createdatetime}`]: \"createdatetime\",\n [`creator.${ModelUserFields.login_username}`]: \"createusername\",\n [`wrk.${ModelWorkerFields.updatedatetime}`]: \"updatedatetime\",\n [`updater.${ModelUserFields.login_username}`]: \"updateusername\",\n [`wrk.${ModelWorkerFields.isdelete}`]: \"isdelete\",\n [`wrk.${ModelWorkerFields.istrash}`]: \"istrash\",\n [`wrk.${ModelWorkerFields.accountid}`]: \"accountid\",\n}\n\nlet userPropLocationSqlSelect = {\n [`COALESCE(\n STRING_AGG(usrprop_location.${ModelUserPropFields.props_id}:: text, ', '),\n ''\n)`]: \"location_id\",\n [`COALESCE(\n STRING_AGG(location.${ModelLocationFields.location_name}:: text, ', '),\n ''\n)`]: \"location_name\",\n}\n\nexport const WorkerService = (props: WorkerServiceProps) => {\n\n const {\n ...rest\n } = props\n\n const workerModel = WorkerModel({ ...rest })\n\n const injectionFieldService = InjectionFieldService({ ...rest, injectionFieldType: \"user\" })\n\n // const userInjectionFieldModel = UserInjectionFieldModel({ ...rest })\n\n const createWorker = async ({ data }: WorkerCreateProps) => {\n\n const _data = getCreatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid create worker payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await workerModel.create({ data: _data })\n\n return response\n }\n\n const updateWorker = async ({ userId, data }: WorkerUpdateProps) => {\n\n const _data = getUpdatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid update worker payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await workerModel.update({ where: { [`${ModelWorkerFields.user_id}`]: userId }, data: _data })\n\n return response\n }\n\n const getWorker = async ({ id, datatypes = [], includePassword = false }: WorkerGetProps) => {\n\n let { data } = await listWorkers({\n includePassword,\n limit: 1,\n offset: 0,\n filters: [{ field: \"user_id\", operator: \"=\", value: id }],\n sortfield: \"user_id\",\n sortorder: \"ASC\",\n datatypes\n })\n\n return data[0] ?? null;\n\n };\n\n const listWorkers = async ({\n includePassword = false,\n limit,\n offset,\n filters,\n sortfield,\n sortorder,\n datatypes = []\n }: WorkerListProps) => {\n\n let data = []\n\n if (includePassword === true) {\n userSqlSelect = {\n ...userSqlSelect,\n [`usr.${ModelUserFields.login_password}`]: \"password\",\n }\n } else {\n delete userSqlSelect[`usr.${ModelUserFields.login_password}`];\n }\n\n let sqlSelect = [\n `COUNT(*) OVER() as filtered_count`,\n buildSqlSelect(``, mainSqlSelect),\n buildSqlSelect(``, userSqlSelect),\n buildSqlSelect(``, defaultSqlSelect),\n buildSqlSelect(``, userPropLocationSqlSelect),\n ]\n\n let sqlRelation = [\n buildSqlRelation(\"left\", \"wrk\", \"users\", \"usr\", [\"wrk.user_id = usr.user_id\", \"usr.isdelete = false\", \"usr.istrash = false\"]),\n buildSqlRelation(\"left\", \"wrk\", \"users\", \"creator\", [\"wrk.createuserid = creator.user_id\", \"creator.isdelete = false\", \"creator.istrash = false\"]),\n buildSqlRelation(\"left\", \"wrk\", \"users\", \"updater\", [\"wrk.updateuserid = updater.user_id\", \"updater.isdelete = false\", \"updater.istrash = false\"]),\n buildSqlRelation(\"left\", \"wrk\", \"user_props\", \"usrprop_location\", [\"wrk.user_id = usrprop_location.user_id\", \"usrprop_location.type = 'LOCATION_ID'\", \"usrprop_location.isdelete = false\", \"usrprop_location.istrash = false\"]),\n buildSqlRelation(\"left\", \"wrk\", \"locations\", \"location\", [\"usrprop_location.props_id = location.location_id\", \"location.isdelete = false\", \"location.istrash = false\"]),\n ]\n\n let sqlGroupBy: string[] = [\n ...Object.keys(mainSqlSelect),\n ...Object.keys(userSqlSelect),\n // ...Object.keys(userPropLocationSqlSelect),\n ...Object.keys(defaultSqlSelect)\n ]\n\n let filterColumns = {\n ...mainSqlSelect,\n ...userSqlSelect,\n ...userPropLocationSqlSelect,\n ...defaultSqlSelect\n }\n\n if (datatypes.includes(workerDataTypes.workerInjectionFields)) {\n\n let activeInjectionFields = await injectionFieldService.listActiveInjectionFields(\"user\", \"worker\")\n\n const workerInjectionFieldSqlSelect = buildInjectionFieldsSqlSelect(\"uif\", activeInjectionFields)\n\n filterColumns = { ...filterColumns, ...workerInjectionFieldSqlSelect }\n\n sqlSelect = [...sqlSelect, ...(activeInjectionFields.length > 0 ? [buildSqlSelect(``, workerInjectionFieldSqlSelect)] : [])]\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"wrk\", \"user_injection_fields\", \"uif\", [\"wrk.user_id = uif.user_id\", \"uif.field_ref = 'user'\", \"uif.field_module = 'worker'\", \"uif.isdelete = false\", \"uif.istrash = false\"])]\n sqlGroupBy = [...sqlGroupBy, ...Object.keys(workerInjectionFieldSqlSelect)]\n\n }\n\n if (datatypes.includes(workerDataTypes.parentUser)) {\n\n filterColumns = { ...filterColumns, ...userParentSqlSelect }\n\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"wrk\", \"users\", \"parentuser\", [\"usr.parent_user_id = parentuser.user_id\", \"parentuser.isdelete = false\", \"parentuser.istrash = false\"])]\n sqlSelect = [...sqlSelect, buildSqlSelect(``, userParentSqlSelect)]\n sqlGroupBy = [...sqlGroupBy, ...Object.keys(userParentSqlSelect)]\n\n }\n\n if (datatypes.includes(workerDataTypes.location)) {\n\n let locationSqlSelect = {\n [`COALESCE(\n JSON_AGG(\n DISTINCT JSONB_BUILD_OBJECT(\n '${ModelLocationFields.location_id}', location.location_id,\n '${ModelLocationFields.location_code}', location.location_code,\n '${ModelLocationFields.location_name}', location.location_name,\n '${ModelLocationFields.location_type}', location.location_type,\n '${ModelLocationFields.address_1}', location.address_1,\n '${ModelLocationFields.address_2}', location.address_2,\n '${ModelLocationFields.area_id}', location.area_id,\n '${ModelLocationFields.country_id}', location.country_id,\n '${ModelLocationFields.state_id}', location.state_id,\n '${ModelLocationFields.postcode}', location.postcode,\n '${ModelLocationFields.is_default}', location.is_default,\n '${ModelLocationFields.person_contact}', location.person_contact,\n '${ModelLocationFields.person_name}', location.person_contact,\n '${ModelLocationFields.person_email}', location.person_email,\n '${ModelLocationFields.isdelete}', location.isdelete,\n '${ModelLocationFields.istrash}', location.istrash\n )\n ) FILTER(WHERE location.location_id IS NOT NULL AND location.isdelete = false AND location.istrash = false),\n '[]'\n )`]: \"locations\"\n }\n\n filterColumns = { ...filterColumns, ...locationSqlSelect }\n\n sqlSelect = [...sqlSelect, buildSqlSelect(``, locationSqlSelect)]\n // sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"usrprop_location\", \"location\", \"brn\", [\"wrk.user_id = brn.user_id\", \"brn.isdelete = false\", \"brn.istrash = false\"])]\n\n }\n\n if (datatypes.includes(workerDataTypes.locationCount)) {\n\n let locationCountSqlSelect = {\n [`COUNT(DISTINCT location.${ModelLocationFields.location_id}):: INT`]: \"location_count\"\n }\n\n filterColumns = { ...filterColumns, ...locationCountSqlSelect }\n\n sqlSelect = [...sqlSelect, buildSqlSelect(``, locationCountSqlSelect)]\n // sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"cus\", \"branches\", \"brncount\", [\"wrk.user_id = brncount.user_id\", \"brncount.isdelete = false\", \"brncount.istrash = false\"])]\n\n }\n\n // if (datatypes.includes(customerDataTypes.branchUserCount)) {\n\n // let branchUserCountSqlSelect = {\n // [`COUNT(DISTINCT brnusrcount.${ ModelBranchUserFields.branch_user_id }):: INT`]: \"branch_user_count\"\n // }\n\n // filterColumns = { ...filterColumns, ...branchUserCountSqlSelect }\n\n // sqlSelect = [...sqlSelect, buildSqlSelect(``, branchUserCountSqlSelect)]\n // sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"cus\", \"branch_users\", \"brnusrcount\", [\"wrk.user_id = brnusrcount.user_id\", \"brnusrcount.isdelete = false\", \"brnusrcount.istrash = false\"])]\n\n // }\n\n let sqlWhere = [\n `wrk.isdelete = false`,\n `wrk.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: \"workers\",\n mainAlias: \"wrk\",\n accountId: rest.accountId,\n sqlSelect,\n sqlRelation,\n sqlWhere,\n sqlGroupBy,\n sqlOrderby,\n sqlLimitOffset\n })\n\n data = await workerModel.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 removeWorkers = async ({ userIds }: WorkerRemoveProps) => {\n\n if (!userIds.length) throwError('userIds is required');\n\n const response = await workerModel.remove({ where: { [`${ModelWorkerFields.user_id}`]: { in: userIds } } });\n\n return response\n };\n\n const getDataTypes = () => {\n return Object.values(workerDataTypes);\n }\n\n return {\n createWorker,\n updateWorker,\n getWorker,\n listWorkers,\n removeWorkers,\n getDataTypes\n }\n\n}\n\n"]}
1
+ {"version":3,"file":"WorkerService.js","sourceRoot":"","sources":["../../../src/services/user/WorkerService.ts"],"names":[],"mappings":"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","sourcesContent":["import { logError, throwError } from \"@/utils\";\n\nimport {\n ModelUserFields,\n WorkerModel,\n ModelWorkerFields,\n // ModelUserPropFields,\n ModelLocationFields,\n // UserInjectionFieldModel\n} from \"@/models\";\n\nimport { InjectionFieldService, userParentSqlSelect } from \"@/services\";\n\nimport { QueryList, QueryGet } from \"@/schema/common\";\n\nimport { DefaultServiceProps } from \"@/utils\";\n\nimport { toFieldMap, buildSqlRawSelect, buildSqlRelation, buildSqlWhere, buildSqlSelect, buildSqlLimitOffset, buildSqlOrderBy, buildInjectionFieldsSqlSelect } from \"@/lib\";\n\nexport type UserType = \"worker\"\n\nexport const workerDataTypes = {\n location: \"location\",\n locationCount: \"location_count\",\n zone: \"zone\",\n zoneCount: \"zone_count\",\n workerInjectionFields: \"worker_injection_fields\",\n file: \"file\",\n parentUser: \"parent_user\"\n}\n\nexport type WorkerDataType = keyof typeof workerDataTypes;\n\nexport type WorkerServiceProps = DefaultServiceProps & {};\n\nexport type WorkerGetProps = {\n id: number,\n includePassword?: boolean,\n datatypes: WorkerDataType[]\n};\n\nexport type WorkerListProps = QueryList & {\n includePassword?: boolean,\n datatypes: WorkerDataType[]\n};\n\nexport type WorkerRemoveProps = {\n userIds: BigInt[]\n};\n\nexport type WorkerCreateProps = {\n data:\n // worker\n {\n worker: {\n userId: number,\n remark: string\n }\n }\n}\n\nexport type WorkerUpdateProps = {\n userId: number,\n data:\n // worker\n {\n worker: {\n // userId: number,\n remark: string\n }\n }\n}\n\nconst getCreatePayload = (data: WorkerCreateProps[\"data\"]) => {\n\n if (\"worker\" in data) {\n\n return {\n [`${ModelWorkerFields.user_id}`]: data.worker.userId,\n [`${ModelWorkerFields.remark}`]: data.worker.remark\n }\n }\n\n return false\n\n}\n\nconst getUpdatePayload = (data: WorkerUpdateProps[\"data\"]) => {\n\n if (\"worker\" in data) {\n\n return {\n // [`${ModelWorkerFields.user_id}`]: data.worker.userId,\n [`${ModelWorkerFields.remark}`]: data.worker.remark\n }\n }\n\n return false\n\n}\n\nlet mainSqlSelect = {\n [`wrk.${ModelWorkerFields.worker_id}`]: \"worker_id\",\n [`wrk.${ModelWorkerFields.user_id}`]: \"user_id\",\n [`wrk.${ModelWorkerFields.remark}`]: \"remark\",\n}\n\nlet userSqlSelect = {\n [`usr.${ModelUserFields.login_username}`]: \"username\",\n [`usr.${ModelUserFields.user_type}`]: \"user_type\",\n [`usr.${ModelUserFields.firstname}`]: \"firstname\",\n [`usr.${ModelUserFields.lastname}`]: \"lastname\",\n [`CONCAT(usr.${ModelUserFields.contact_country_code}, usr.${ModelUserFields.contact_phone_number})`]: \"contact\",\n [`usr.${ModelUserFields.contact_country_code}`]: \"contact_country_code\",\n [`usr.${ModelUserFields.contact_phone_number}`]: \"contact_phone_number\",\n [`usr.${ModelUserFields.email}`]: \"email\",\n [`usr.${ModelUserFields.address}`]: \"address\",\n [`usr.${ModelUserFields.parent_user_id}`]: \"parent_user_id\",\n [`usr.${ModelUserFields.status}`]: \"status\"\n}\n\nlet defaultSqlSelect = {\n [`wrk.${ModelWorkerFields.createdatetime}`]: \"createdatetime\",\n [`creator.${ModelUserFields.login_username}`]: \"createusername\",\n [`wrk.${ModelWorkerFields.updatedatetime}`]: \"updatedatetime\",\n [`updater.${ModelUserFields.login_username}`]: \"updateusername\",\n [`wrk.${ModelWorkerFields.isdelete}`]: \"isdelete\",\n [`wrk.${ModelWorkerFields.istrash}`]: \"istrash\",\n [`wrk.${ModelWorkerFields.accountid}`]: \"accountid\",\n}\n\n// let userPropLocationSqlSelect = {\n// [`COALESCE(\n// STRING_AGG(usrprop_location.${ModelUserPropFields.props_id}:: text, ', '),\n// ''\n// )`]: \"location_id\",\n// [`COALESCE(\n// STRING_AGG(location.${ModelLocationFields.location_name}:: text, ', '),\n// ''\n// )`]: \"location_name\",\n// }\n\nexport const WorkerService = (props: WorkerServiceProps) => {\n\n const {\n ...rest\n } = props\n\n const workerModel = WorkerModel({ ...rest })\n\n const injectionFieldService = InjectionFieldService({ ...rest, injectionFieldType: \"user\" })\n\n // const userInjectionFieldModel = UserInjectionFieldModel({ ...rest })\n\n const createWorker = async ({ data }: WorkerCreateProps) => {\n\n const _data = getCreatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid create worker payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await workerModel.create({ data: _data })\n\n return response\n }\n\n const updateWorker = async ({ userId, data }: WorkerUpdateProps) => {\n\n const _data = getUpdatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid update worker payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await workerModel.update({ where: { [`${ModelWorkerFields.user_id}`]: userId }, data: _data })\n\n return response\n }\n\n const getWorker = async ({ id, datatypes = [], includePassword = false }: WorkerGetProps) => {\n\n let { data } = await listWorkers({\n includePassword,\n limit: 1,\n offset: 0,\n filters: [{ field: \"user_id\", operator: \"=\", value: id }],\n sortfield: \"user_id\",\n sortorder: \"ASC\",\n datatypes\n })\n\n return data[0] ?? null;\n\n };\n\n const listWorkers = async ({\n includePassword = false,\n limit,\n offset,\n filters,\n sortfield,\n sortorder,\n datatypes = []\n }: WorkerListProps) => {\n\n let data = []\n\n if (includePassword === true) {\n userSqlSelect = {\n ...userSqlSelect,\n [`usr.${ModelUserFields.login_password}`]: \"password\",\n }\n } else {\n delete userSqlSelect[`usr.${ModelUserFields.login_password}`];\n }\n\n let sqlSelect = [\n `COUNT(*) OVER() as filtered_count`,\n buildSqlSelect(``, mainSqlSelect),\n buildSqlSelect(``, userSqlSelect),\n buildSqlSelect(``, defaultSqlSelect),\n // buildSqlSelect(``, userPropLocationSqlSelect),\n ]\n\n let sqlRelation = [\n buildSqlRelation(\"left\", \"wrk\", \"users\", \"usr\", [\"wrk.user_id = usr.user_id\", \"usr.isdelete = false\", \"usr.istrash = false\"]),\n buildSqlRelation(\"left\", \"wrk\", \"users\", \"creator\", [\"wrk.createuserid = creator.user_id\", \"creator.isdelete = false\", \"creator.istrash = false\"]),\n buildSqlRelation(\"left\", \"wrk\", \"users\", \"updater\", [\"wrk.updateuserid = updater.user_id\", \"updater.isdelete = false\", \"updater.istrash = false\"]),\n // buildSqlRelation(\"left\", \"wrk\", \"user_props\", \"usrprop_location\", [\"wrk.user_id = usrprop_location.user_id\", \"usrprop_location.type = 'LOCATION_ID'\", \"usrprop_location.isdelete = false\", \"usrprop_location.istrash = false\"]),\n // buildSqlRelation(\"left\", \"wrk\", \"locations\", \"location\", [\"usrprop_location.props_id = location.location_id\", \"location.isdelete = false\", \"location.istrash = false\"]),\n ]\n\n let sqlGroupBy: string[] = [\n ...Object.keys(mainSqlSelect),\n ...Object.keys(userSqlSelect),\n // ...Object.keys(userPropLocationSqlSelect),\n ...Object.keys(defaultSqlSelect)\n ]\n\n let filterColumns = {\n ...mainSqlSelect,\n ...userSqlSelect,\n // ...userPropLocationSqlSelect,\n ...defaultSqlSelect\n }\n\n if (datatypes.includes(workerDataTypes.workerInjectionFields)) {\n\n let activeInjectionFields = await injectionFieldService.listActiveInjectionFields(\"user\", \"worker\")\n\n const workerInjectionFieldSqlSelect = buildInjectionFieldsSqlSelect(\"uif\", activeInjectionFields)\n\n filterColumns = { ...filterColumns, ...workerInjectionFieldSqlSelect }\n\n sqlSelect = [...sqlSelect, ...(activeInjectionFields.length > 0 ? [buildSqlSelect(``, workerInjectionFieldSqlSelect)] : [])]\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"wrk\", \"user_injection_fields\", \"uif\", [\"wrk.user_id = uif.user_id\", \"uif.field_ref = 'user'\", \"uif.field_module = 'worker'\", \"uif.isdelete = false\", \"uif.istrash = false\"])]\n sqlGroupBy = [...sqlGroupBy, ...Object.keys(workerInjectionFieldSqlSelect)]\n\n }\n\n if (datatypes.includes(workerDataTypes.parentUser)) {\n\n filterColumns = { ...filterColumns, ...userParentSqlSelect }\n\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"wrk\", \"users\", \"parentuser\", [\"usr.parent_user_id = parentuser.user_id\", \"parentuser.isdelete = false\", \"parentuser.istrash = false\"])]\n sqlSelect = [...sqlSelect, buildSqlSelect(``, userParentSqlSelect)]\n sqlGroupBy = [...sqlGroupBy, ...Object.keys(userParentSqlSelect)]\n\n }\n\n if (datatypes.includes(workerDataTypes.location)) {\n\n let locationSqlSelect = {\n [`COALESCE(\n JSON_AGG(\n DISTINCT JSONB_BUILD_OBJECT(\n '${ModelLocationFields.location_id}', location.location_id,\n '${ModelLocationFields.location_code}', location.location_code,\n '${ModelLocationFields.location_name}', location.location_name,\n '${ModelLocationFields.location_type}', location.location_type,\n '${ModelLocationFields.address_1}', location.address_1,\n '${ModelLocationFields.address_2}', location.address_2,\n '${ModelLocationFields.area_id}', location.area_id,\n '${ModelLocationFields.country_id}', location.country_id,\n '${ModelLocationFields.state_id}', location.state_id,\n '${ModelLocationFields.postcode}', location.postcode,\n '${ModelLocationFields.is_default}', location.is_default,\n '${ModelLocationFields.person_contact}', location.person_contact,\n '${ModelLocationFields.person_name}', location.person_contact,\n '${ModelLocationFields.person_email}', location.person_email,\n '${ModelLocationFields.isdelete}', location.isdelete,\n '${ModelLocationFields.istrash}', location.istrash\n )\n ) FILTER(WHERE location.location_id IS NOT NULL AND location.isdelete = false AND location.istrash = false),\n '[]'\n )`]: \"locations\"\n }\n\n filterColumns = { ...filterColumns, ...locationSqlSelect }\n\n sqlSelect = [...sqlSelect, buildSqlSelect(``, locationSqlSelect)]\n // sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"usrprop_location\", \"location\", \"brn\", [\"wrk.user_id = brn.user_id\", \"brn.isdelete = false\", \"brn.istrash = false\"])]\n\n }\n\n if (datatypes.includes(workerDataTypes.locationCount)) {\n\n let locationCountSqlSelect = {\n [`COUNT(DISTINCT location.${ModelLocationFields.location_id}):: INT`]: \"location_count\"\n }\n\n filterColumns = { ...filterColumns, ...locationCountSqlSelect }\n\n sqlSelect = [...sqlSelect, buildSqlSelect(``, locationCountSqlSelect)]\n // sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"cus\", \"branches\", \"brncount\", [\"wrk.user_id = brncount.user_id\", \"brncount.isdelete = false\", \"brncount.istrash = false\"])]\n\n }\n\n // if (datatypes.includes(customerDataTypes.branchUserCount)) {\n\n // let branchUserCountSqlSelect = {\n // [`COUNT(DISTINCT brnusrcount.${ ModelBranchUserFields.branch_user_id }):: INT`]: \"branch_user_count\"\n // }\n\n // filterColumns = { ...filterColumns, ...branchUserCountSqlSelect }\n\n // sqlSelect = [...sqlSelect, buildSqlSelect(``, branchUserCountSqlSelect)]\n // sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"cus\", \"branch_users\", \"brnusrcount\", [\"wrk.user_id = brnusrcount.user_id\", \"brnusrcount.isdelete = false\", \"brnusrcount.istrash = false\"])]\n\n // }\n\n let sqlWhere = [\n `wrk.isdelete = false`,\n `wrk.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: \"workers\",\n mainAlias: \"wrk\",\n accountId: rest.accountId,\n sqlSelect,\n sqlRelation,\n sqlWhere,\n sqlGroupBy,\n sqlOrderby,\n sqlLimitOffset\n })\n\n data = await workerModel.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 removeWorkers = async ({ userIds }: WorkerRemoveProps) => {\n\n if (!userIds.length) throwError('userIds is required');\n\n const response = await workerModel.remove({ where: { [`${ModelWorkerFields.user_id}`]: { in: userIds } } });\n\n return response\n };\n\n const getDataTypes = () => {\n return Object.values(workerDataTypes);\n }\n\n return {\n createWorker,\n updateWorker,\n getWorker,\n listWorkers,\n removeWorkers,\n getDataTypes\n }\n\n}\n\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "storemw-core-api",
3
- "version": "1.0.172",
3
+ "version": "1.0.174",
4
4
  "description": "STOREMW Core API",
5
5
  "main": "dist/app.js",
6
6
  "types": "dist/app.d.ts",