storemw-core-api 1.0.65 → 1.0.67
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.
- package/dist/schema/payload/location/schemaLocationLocation.js +1 -1
- package/dist/schema/payload/location/schemaLocationLocation.js.map +1 -1
- package/dist/services/location/LocationLocationService.js +1 -0
- package/dist/services/location/LocationLocationService.js.map +1 -1
- package/package.json +1 -1
|
@@ -15,7 +15,7 @@ const schemaLocation = zod_1.z.object({
|
|
|
15
15
|
postcode: zod_1.z.string().min(1),
|
|
16
16
|
stateId: zod_1.z.string().min(1),
|
|
17
17
|
countryId: zod_1.z.string().min(1),
|
|
18
|
-
areaId: zod_1.z.
|
|
18
|
+
areaId: zod_1.z.string().min(1),
|
|
19
19
|
})
|
|
20
20
|
.merge((0, utils_1.buildCommonStatusSchema)('isDefault', { defaultValue: true }))
|
|
21
21
|
.merge((0, utils_1.buildCommonStatusSchema)('status', { defaultValue: true }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemaLocationLocation.js","sourceRoot":"","sources":["../../../../src/schema/payload/location/schemaLocationLocation.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,mCAA4D;AAE5D,MAAM,cAAc,GAAG,OAAC,CAAC,MAAM,CAAC;IAC5B,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/B,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/B,YAAY,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;IACnD,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAChC,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE;IAC/B,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"schemaLocationLocation.js","sourceRoot":"","sources":["../../../../src/schema/payload/location/schemaLocationLocation.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,mCAA4D;AAE5D,MAAM,cAAc,GAAG,OAAC,CAAC,MAAM,CAAC;IAC5B,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/B,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/B,YAAY,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;IACnD,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAChC,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE;IAC/B,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC5B,CAAC;KACG,KAAK,CAAC,IAAA,+BAAuB,EAAC,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;KACnE,KAAK,CAAC,IAAA,+BAAuB,EAAC,QAAQ,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;AAErE,aAAa;AACA,QAAA,mCAAmC,GAAG,OAAC,CAAC,MAAM,CAAC;IACxD,KAAK,EAAE,OAAC,CAAC,MAAM,CAAC;QACZ,MAAM,EAAE,OAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,6BAA6B;KAC/D,CAAC;IACF,OAAO,EAAE,OAAC,CAAC,MAAM,CAAC;QACd,QAAQ,EAAE,cAAc;KAC3B,CAAC;CACL,CAAC,CAAC;AAIH,aAAa;AACA,QAAA,mCAAmC,GAAG,OAAC,CAAC,MAAM,CAAC;IACxD,KAAK,EAAE,OAAC,CAAC,MAAM,CAAC;QACZ,MAAM,EAAE,OAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,6BAA6B;KAC/D,CAAC;IACF,OAAO,EAAE,OAAC,CAAC,MAAM,CAAC;QACd,QAAQ,EAAE,cAAc;KAC3B,CAAC;CACL,CAAC,CAAC;AAIH,aAAa;AACA,QAAA,mCAAmC,GAAG,OAAC,CAAC,MAAM,CAAC;IACxD,KAAK,EAAE,OAAC,CAAC,MAAM,CAAC;IACZ,oDAAoD;KACvD,CAAC;IACF,OAAO,EAAE,OAAC,CAAC,MAAM,CAAC;QACd,GAAG,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,KAAK,CAAC,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,sCAAsC,CAAC;KACjG,CAAC;CACL,CAAC,CAAC","sourcesContent":["import { z } from \"zod\";\n\nimport { _, dayjs, buildCommonStatusSchema } from \"@/utils\";\n\nconst schemaLocation = z.object({\n locationName: z.string().min(1),\n locationCode: z.string().min(1),\n locationType: z.enum([\"administrator\", \"retailer\"]),\n personName: z.string().min(1),\n personContact: z.string().min(1),\n personEmail: z.string().email(),\n address1: z.string().min(1),\n address2: z.string().min(1),\n postcode: z.string().min(1),\n stateId: z.string().min(1),\n countryId: z.string().min(1),\n areaId: z.string().min(1),\n})\n .merge(buildCommonStatusSchema('isDefault', { defaultValue: true }))\n .merge(buildCommonStatusSchema('status', { defaultValue: true }))\n\n/** Create */\nexport const schemaLocationLocationCreatePayload = z.object({\n scope: z.object({\n target: z.literal(\"location\"), // only \"location\" is allowed\n }),\n payload: z.object({\n location: schemaLocation,\n }),\n});\n\nexport type SchemaLocationLocationCreatePayload = z.infer<typeof schemaLocationLocationCreatePayload>;\n\n/** Update */\nexport const schemaLocationLocationUpdatePayload = z.object({\n scope: z.object({\n target: z.literal(\"location\"), // only \"location\" is allowed\n }),\n payload: z.object({\n location: schemaLocation,\n }),\n});\n\nexport type SchemaLocationLocationUpdatePayload = z.infer<typeof schemaLocationLocationUpdatePayload>;\n\n/** Delete */\nexport const schemaLocationLocationDeletePayload = z.object({\n scope: z.object({\n // target: z.literal(\"role\"), // only \"role\" allowed\n }),\n payload: z.object({\n ids: z.array(z.union([z.string(), z.number()])).min(1, \"ids must contain at least one number\"),\n }),\n});\n\nexport type SchemaLocationLocationDeletePayload = z.infer<typeof schemaLocationLocationDeletePayload>;"]}
|
|
@@ -61,6 +61,7 @@ let mainSqlSelect = {
|
|
|
61
61
|
[`locc.${models_1.ModelLocationFields.location_type}`]: "location_type",
|
|
62
62
|
[`locc.${models_1.ModelLocationFields.address_1}`]: "address_1",
|
|
63
63
|
[`locc.${models_1.ModelLocationFields.address_2}`]: "address_2",
|
|
64
|
+
[`locc.${models_1.ModelLocationFields.postcode}`]: "postcode",
|
|
64
65
|
[`locc.${models_1.ModelLocationFields.area_id}`]: "area_id",
|
|
65
66
|
[`locc.${models_1.ModelLocationFields.state_id}`]: "state_id",
|
|
66
67
|
[`locc.${models_1.ModelLocationFields.country_id}`]: "country_id",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocationLocationService.js","sourceRoot":"","sources":["../../../src/services/location/LocationLocationService.ts"],"names":[],"mappings":"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","sourcesContent":["import { logError, throwError } from \"@/utils\";\n\nimport {\n ModelUserFields,\n LocationModel,\n ModelLocationFields,\n ModelCountryFields,\n ModelStateFields,\n ModelAreaFields,\n ModelLocationRackFields,\n ModelLocationSlotFields\n} from \"@/models\";\n\nimport { QueryList, QueryGet } from \"@/schema/common\";\n\nimport { DefaultServiceProps } from \"@/utils\";\n\nimport { buildSqlRelation, buildSqlRawSelect, buildSqlWhere, buildSqlSelect, buildSqlLimitOffset, buildSqlOrderBy } from \"@/lib\";\n\nexport type LocationType = \"location\"\n\nexport const locationLocationDataTypes = {\n rackSlot: \"rack_slot\",\n // branch: \"branch\",\n // locationArea: \"location_area\",\n zoneCount: \"zone_count\",\n rackCount: \"rack_count\"\n}\n\nexport type LocationLocationDataType = keyof typeof locationLocationDataTypes;\n\nexport type LocationLocationServiceProps = DefaultServiceProps & {};\n\nexport type LocationLocationGetProps = QueryGet & {\n id: number,\n datatypes: LocationLocationDataType[]\n};\n\nexport type LocationLocationListProps = QueryList & {\n datatypes: LocationLocationDataType[]\n};\n\nexport type LocationLocationRemoveProps = {\n locationIds: BigInt[]\n};\n\nexport type LocationLocationCreateProps = {\n data:\n // location\n {\n location: {\n // locationId: number\n isDefault: boolean\n address1: string\n address2: string\n areaId: number\n countryId: number\n stateId: number\n postcode: string\n locationCode: string\n locationName: string\n locationType: \"administrator\" | \"retailer\",\n personName: string\n personContact: string\n personEmail: string\n status: boolean\n }\n }\n}\n\nexport type LocationLocationUpdateProps = {\n locationId: number,\n data:\n // location\n {\n location: {\n // locationId: number\n isDefault: boolean\n address1: string\n address2: string\n // area: string\n areaId: number\n countryId: number\n stateId: number\n postcode: string\n locationCode: string\n locationName: string\n locationType: \"administrator\" | \"retailer\",\n personName: string\n personContact: string\n personEmail: string\n status: boolean\n }\n }\n}\n\nconst getCreatePayload = (data: LocationLocationCreateProps[\"data\"]) => {\n\n if (\"location\" in data) {\n\n return {\n [`${ModelLocationFields.is_default}`]: Boolean(data.location.isDefault),\n [`${ModelLocationFields.address_1}`]: data.location.address1,\n [`${ModelLocationFields.address_2}`]: data.location.address2,\n [`${ModelLocationFields.area_id}`]: data.location.areaId,\n [`${ModelLocationFields.country_id}`]: data.location.countryId,\n [`${ModelLocationFields.state_id}`]: data.location.stateId,\n [`${ModelLocationFields.postcode}`]: data.location.postcode,\n [`${ModelLocationFields.location_code}`]: data.location.locationCode,\n [`${ModelLocationFields.location_name}`]: data.location.locationName,\n [`${ModelLocationFields.location_type}`]: data.location.locationType,\n [`${ModelLocationFields.person_contact}`]: data.location.personContact,\n [`${ModelLocationFields.person_email}`]: data.location.personEmail,\n [`${ModelLocationFields.person_name}`]: data.location.personName,\n [`${ModelLocationFields.status}`]: Boolean(data.location.status),\n }\n }\n\n return false\n\n}\n\nconst getUpdatePayload = (data: LocationLocationUpdateProps[\"data\"]) => {\n\n if (\"location\" in data) {\n\n return {\n [`${ModelLocationFields.is_default}`]: Boolean(data.location.isDefault),\n [`${ModelLocationFields.address_1}`]: data.location.address1,\n [`${ModelLocationFields.address_1}`]: data.location.address1,\n [`${ModelLocationFields.address_2}`]: data.location.address2,\n [`${ModelLocationFields.area_id}`]: data.location.areaId,\n [`${ModelLocationFields.country_id}`]: data.location.countryId,\n [`${ModelLocationFields.state_id}`]: data.location.stateId,\n [`${ModelLocationFields.postcode}`]: data.location.postcode,\n [`${ModelLocationFields.location_code}`]: data.location.locationCode,\n [`${ModelLocationFields.location_name}`]: data.location.locationName,\n [`${ModelLocationFields.location_type}`]: data.location.locationType,\n [`${ModelLocationFields.person_contact}`]: data.location.personContact,\n [`${ModelLocationFields.person_email}`]: data.location.personEmail,\n [`${ModelLocationFields.person_name}`]: data.location.personName,\n [`${ModelLocationFields.status}`]: Boolean(data.location.status),\n }\n }\n\n return false\n\n}\n\nlet mainSqlSelect = {\n [`locc.${ModelLocationFields.location_id}`]: \"location_id\",\n [`locc.${ModelLocationFields.location_code}`]: \"location_code\",\n [`locc.${ModelLocationFields.location_name}`]: \"location_name\",\n [`locc.${ModelLocationFields.location_type}`]: \"location_type\",\n [`locc.${ModelLocationFields.address_1}`]: \"address_1\",\n [`locc.${ModelLocationFields.address_2}`]: \"address_2\",\n [`locc.${ModelLocationFields.area_id}`]: \"area_id\",\n [`locc.${ModelLocationFields.state_id}`]: \"state_id\",\n [`locc.${ModelLocationFields.country_id}`]: \"country_id\",\n [`locc.${ModelLocationFields.status}`]: \"status\",\n [`locc.${ModelLocationFields.is_default}`]: \"is_default\",\n [`locc.${ModelLocationFields.person_contact}`]: \"person_contact\",\n [`locc.${ModelLocationFields.person_email}`]: \"person_email\",\n [`locc.${ModelLocationFields.person_name}`]: \"person_name\",\n}\n\nlet regionSqlSelect = {\n [`ctry.${ModelCountryFields.country_name}`]: \"country_name\",\n [`state.${ModelStateFields.state_name}`]: \"state_name\",\n [`area.${ModelAreaFields.area_name}`]: \"area_name\",\n}\n\nlet defaultSqlSelect = {\n [`locc.${ModelLocationFields.createdatetime}`]: \"createdatetime\",\n [`creator.${ModelUserFields.login_username}`]: \"createusername\",\n [`locc.${ModelLocationFields.updatedatetime}`]: \"updatedatetime\",\n [`updater.${ModelUserFields.login_username}`]: \"updateusername\",\n [`locc.${ModelLocationFields.isdelete}`]: \"isdelete\",\n [`locc.${ModelLocationFields.istrash}`]: \"istrash\",\n [`locc.${ModelLocationFields.accountid}`]: \"accountid\",\n}\n\nexport const LocationLocationService = (props: LocationLocationServiceProps) => {\n\n const {\n // prisma,\n // accountId = 0,\n // actionUserId = 0\n ...rest\n } = props\n\n const locationModel = LocationModel({ ...rest })\n\n const createLocation = async ({ data }: LocationLocationCreateProps) => {\n\n const _data = getCreatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid create customer payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await locationModel.create({ data: _data })\n\n return response\n }\n\n const updateLocation = async ({ locationId, data }: LocationLocationUpdateProps) => {\n\n const _data = getUpdatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid update location payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await locationModel.update({ where: { [`${ModelLocationFields.location_id}`]: locationId }, data: _data })\n\n return response\n }\n\n const getLocation = async ({ id, datatypes = [] }: LocationLocationGetProps) => {\n\n let { data } = await listLocations({\n limit: 1,\n offset: 0,\n filters: [{ field: \"location_id\", operator: \"=\", value: id }],\n sortfield: \"location_id\",\n sortorder: \"ASC\",\n datatypes\n })\n\n return data[0] ?? null;\n\n };\n\n const listLocations = async ({\n limit,\n offset,\n filters,\n sortfield,\n sortorder,\n datatypes = []\n }: LocationLocationListProps) => {\n\n let data = []\n\n let sqlSelect = [\n `COUNT(locc.*) OVER() as filtered_count`,\n buildSqlSelect(``, mainSqlSelect),\n buildSqlSelect(``, regionSqlSelect),\n buildSqlSelect(``, defaultSqlSelect)\n ]\n\n let sqlRelation = [\n buildSqlRelation(\"left\", \"locc\", \"countries\", \"ctry\", [\"locc.country_id = ctry.country_id\", \"ctry.isdelete = false\", \"ctry.istrash = false\"]),\n buildSqlRelation(\"left\", \"locc\", \"states\", \"state\", [\"locc.state_id = state.state_id\", \"state.isdelete = false\", \"state.istrash = false\"]),\n buildSqlRelation(\"left\", \"locc\", \"areas\", \"area\", [\"locc.area_id = area.area_id\", \"area.isdelete = false\", \"area.istrash = false\"]),\n buildSqlRelation(\"left\", \"locc\", \"users\", \"creator\", [\"locc.createuserid = creator.user_id\", \"creator.isdelete = false\", \"creator.istrash = false\"]),\n buildSqlRelation(\"left\", \"locc\", \"users\", \"updater\", [\"locc.updateuserid = updater.user_id\", \"updater.isdelete = false\", \"updater.istrash = false\"])\n ]\n\n let sqlGroupBy: string[] = [...Object.keys(mainSqlSelect), ...Object.keys(regionSqlSelect), ...Object.keys(defaultSqlSelect)]\n\n let filterColumns = { ...mainSqlSelect, ...regionSqlSelect, ...defaultSqlSelect }\n\n // if (datatypes.includes(locationLocationDataTypes.customerInjectionFields)) {\n\n // let injectionFieldSqlSelect = {\n // [`uip.usr_cust_cust_qty`]: \"inf_usr_cust_cust_qty\",\n // // [`uip.${ModelUserFields.login_username}`]: \"login_username\",\n // // [`uip.${ModelUserFields.user_type}`]: \"user_type\",\n // // [`uip.${ModelUserFields.firstname}`]: \"firstname\",\n // // [`uip.${ModelUserFields.lastname}`]: \"lastname\",\n // // [`uip.${ModelUserFields.contact}`]: \"contact\",\n // // [`uip.${ModelUserFields.email}`]: \"email\",\n // }\n\n // filterColumns = { ...filterColumns, ...injectionFieldSqlSelect }\n\n // sqlSelect = [...sqlSelect, buildSqlSelect(``, injectionFieldSqlSelect)]\n // sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"locc\", \"user_injection_fields\", \"uip\", [\"locc.user_id = uip.user_id\", \"uip.field_ref = 'user'\", \"uip.isdelete = false\", \"uip.istrash = false\"])]\n // sqlGroupBy = [...sqlGroupBy, ...Object.keys(injectionFieldSqlSelect)]\n // }\n\n // if (datatypes.includes(locationLocationDataTypes.branch)) {\n\n // let branchSqlSelect = {\n // [`COALESCE(\n // JSON_AGG(\n // DISTINCT JSONB_BUILD_OBJECT(\n // '${ModelUserBranchFields.type}', brn.type,\n // '${ModelUserBranchFields.branch_id}', brn.branch_id,\n // '${ModelUserBranchFields.branch_code}', brn.branch_code,\n // '${ModelUserBranchFields.branch_name}', brn.branch_name,\n // '${ModelUserBranchFields.address_1}', brn.address_1,\n // '${ModelUserBranchFields.address_2}', brn.address_2,\n // '${ModelUserBranchFields.area}', brn.area,\n // '${ModelUserBranchFields.area_id}', brn.area_id,\n // '${ModelUserBranchFields.branch_contact}', brn.branch_contact,\n // '${ModelUserBranchFields.branch_email}', brn.branch_email,\n // '${ModelUserBranchFields.country_id}', brn.country_id,\n // '${ModelUserBranchFields.is_hq}', brn.is_hq,\n // '${ModelUserBranchFields.remark}', brn.remark,\n // '${ModelUserBranchFields.pic_contact}', brn.pic_contact,\n // '${ModelUserBranchFields.pic_email}', brn.pic_email,\n // '${ModelUserBranchFields.pic_contact}', brn.pic_contact,\n // '${ModelUserBranchFields.postcode}', brn.postcode,\n // '${ModelUserBranchFields.state_id}', brn.state_id,\n // '${ModelUserBranchFields.status}', brn.status,\n // '${ModelUserBranchFields.user_id}', brn.user_id\n // )\n // ) FILTER (WHERE brn.branch_id IS NOT NULL AND brn.isdelete = false AND brn.istrash = false), \n // '[]'\n // )`]: \"branches\"\n // }\n\n // filterColumns = { ...filterColumns, ...branchSqlSelect }\n\n // sqlSelect = [...sqlSelect, buildSqlSelect(``, branchSqlSelect)]\n // sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"locc\", \"branches\", \"brn\", [\"locc.user_id = brn.user_id\", \"brn.isdelete = false\", \"brn.istrash = false\"])]\n\n // }\n\n if (datatypes.includes(locationLocationDataTypes.rackSlot)) {\n\n let rackSlotSqlSelect = {\n [`COALESCE(\n JSON_AGG(\n DISTINCT JSONB_BUILD_OBJECT(\n '${ModelLocationRackFields.is_default}', loccrack1.is_default,\n '${ModelLocationRackFields.status}', loccrack1.status,\n '${ModelLocationRackFields.location_rack_id}', loccrack1.location_rack_id,\n '${ModelLocationRackFields.rack_name}', loccrack1.rack_name,\n '${ModelLocationRackFields.rack_sequence}', loccrack1.rack_sequence,\n '${ModelLocationRackFields.rack_type}', loccrack1.rack_type,\n 'slots', COALESCE(\n (\n SELECT JSON_AGG(\n JSONB_BUILD_OBJECT(\n '${ModelLocationSlotFields.location_slot_id}', loccslot1.location_slot_id,\n '${ModelLocationSlotFields.rack_id}', loccslot1.rack_id,\n '${ModelLocationSlotFields.slot_name}', loccslot1.slot_name,\n '${ModelLocationSlotFields.slot_sequence}', loccslot1.slot_sequence,\n '${ModelLocationSlotFields.status}', loccslot1.status,\n '${ModelLocationSlotFields.is_default}', loccslot1.is_default\n )\n )\n FROM location_slots loccslot1\n WHERE loccslot1.rack_id = loccrack1.location_rack_id\n AND loccslot1.isdelete = false\n AND loccslot1.istrash = false\n ), '[]'::json\n )\n )\n ) FILTER (WHERE loccrack1.location_rack_id IS NOT NULL AND loccrack1.isdelete = false AND loccrack1.istrash = false), \n '[]'\n )`]: \"racks\"\n }\n\n filterColumns = { ...filterColumns, ...rackSlotSqlSelect }\n\n sqlSelect = [...sqlSelect, buildSqlSelect(``, rackSlotSqlSelect)]\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"locc\", \"location_racks\", \"loccrack1\", [\"locc.location_id = loccrack1.location_id\", \"loccrack1.isdelete = false\", \"loccrack1.istrash = false\"])]\n\n }\n\n if (datatypes.includes(locationLocationDataTypes.rackCount)) {\n\n let zoneCountSqlSelect = {\n [`COUNT(DISTINCT loccrack.${ModelLocationRackFields.location_rack_id})::INT`]: \"rack_count\"\n }\n\n filterColumns = { ...filterColumns, ...zoneCountSqlSelect }\n\n sqlSelect = [...sqlSelect, buildSqlSelect(``, zoneCountSqlSelect)]\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"locc\", \"location_racks\", \"loccrack\", [\"locc.location_id = loccrack.location_id\", \"loccrack.isdelete = false\", \"loccrack.istrash = false\"])]\n\n }\n\n let sqlWhere = [\n `locc.isdelete = false`,\n `locc.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: \"locations\",\n mainAlias: \"locc\",\n accountId: rest.accountId,\n sqlSelect,\n sqlRelation,\n sqlWhere,\n sqlGroupBy,\n sqlOrderby,\n sqlLimitOffset\n })\n\n data = await locationModel.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 removeLocations = async ({ locationIds }: LocationLocationRemoveProps) => {\n\n if (!locationIds.length) throwError('locationIds is required');\n\n const response = await locationModel.remove({ where: { [`${ModelLocationFields.location_id}`]: { in: locationIds } } });\n\n return response\n };\n\n const getDataTypes = () => {\n return Object.values(locationLocationDataTypes);\n }\n\n return {\n createLocation,\n updateLocation,\n getLocation,\n listLocations,\n removeLocations,\n getDataTypes\n }\n\n}\n\n"]}
|
|
1
|
+
{"version":3,"file":"LocationLocationService.js","sourceRoot":"","sources":["../../../src/services/location/LocationLocationService.ts"],"names":[],"mappings":"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","sourcesContent":["import { logError, throwError } from \"@/utils\";\n\nimport {\n ModelUserFields,\n LocationModel,\n ModelLocationFields,\n ModelCountryFields,\n ModelStateFields,\n ModelAreaFields,\n ModelLocationRackFields,\n ModelLocationSlotFields\n} from \"@/models\";\n\nimport { QueryList, QueryGet } from \"@/schema/common\";\n\nimport { DefaultServiceProps } from \"@/utils\";\n\nimport { buildSqlRelation, buildSqlRawSelect, buildSqlWhere, buildSqlSelect, buildSqlLimitOffset, buildSqlOrderBy } from \"@/lib\";\n\nexport type LocationType = \"location\"\n\nexport const locationLocationDataTypes = {\n rackSlot: \"rack_slot\",\n // branch: \"branch\",\n // locationArea: \"location_area\",\n zoneCount: \"zone_count\",\n rackCount: \"rack_count\"\n}\n\nexport type LocationLocationDataType = keyof typeof locationLocationDataTypes;\n\nexport type LocationLocationServiceProps = DefaultServiceProps & {};\n\nexport type LocationLocationGetProps = QueryGet & {\n id: number,\n datatypes: LocationLocationDataType[]\n};\n\nexport type LocationLocationListProps = QueryList & {\n datatypes: LocationLocationDataType[]\n};\n\nexport type LocationLocationRemoveProps = {\n locationIds: BigInt[]\n};\n\nexport type LocationLocationCreateProps = {\n data:\n // location\n {\n location: {\n // locationId: number\n isDefault: boolean\n address1: string\n address2: string\n areaId: number\n countryId: number\n stateId: number\n postcode: string\n locationCode: string\n locationName: string\n locationType: \"administrator\" | \"retailer\",\n personName: string\n personContact: string\n personEmail: string\n status: boolean\n }\n }\n}\n\nexport type LocationLocationUpdateProps = {\n locationId: number,\n data:\n // location\n {\n location: {\n // locationId: number\n isDefault: boolean\n address1: string\n address2: string\n // area: string\n areaId: number\n countryId: number\n stateId: number\n postcode: string\n locationCode: string\n locationName: string\n locationType: \"administrator\" | \"retailer\",\n personName: string\n personContact: string\n personEmail: string\n status: boolean\n }\n }\n}\n\nconst getCreatePayload = (data: LocationLocationCreateProps[\"data\"]) => {\n\n if (\"location\" in data) {\n\n return {\n [`${ModelLocationFields.is_default}`]: Boolean(data.location.isDefault),\n [`${ModelLocationFields.address_1}`]: data.location.address1,\n [`${ModelLocationFields.address_2}`]: data.location.address2,\n [`${ModelLocationFields.area_id}`]: data.location.areaId,\n [`${ModelLocationFields.country_id}`]: data.location.countryId,\n [`${ModelLocationFields.state_id}`]: data.location.stateId,\n [`${ModelLocationFields.postcode}`]: data.location.postcode,\n [`${ModelLocationFields.location_code}`]: data.location.locationCode,\n [`${ModelLocationFields.location_name}`]: data.location.locationName,\n [`${ModelLocationFields.location_type}`]: data.location.locationType,\n [`${ModelLocationFields.person_contact}`]: data.location.personContact,\n [`${ModelLocationFields.person_email}`]: data.location.personEmail,\n [`${ModelLocationFields.person_name}`]: data.location.personName,\n [`${ModelLocationFields.status}`]: Boolean(data.location.status),\n }\n }\n\n return false\n\n}\n\nconst getUpdatePayload = (data: LocationLocationUpdateProps[\"data\"]) => {\n\n if (\"location\" in data) {\n\n return {\n [`${ModelLocationFields.is_default}`]: Boolean(data.location.isDefault),\n [`${ModelLocationFields.address_1}`]: data.location.address1,\n [`${ModelLocationFields.address_1}`]: data.location.address1,\n [`${ModelLocationFields.address_2}`]: data.location.address2,\n [`${ModelLocationFields.area_id}`]: data.location.areaId,\n [`${ModelLocationFields.country_id}`]: data.location.countryId,\n [`${ModelLocationFields.state_id}`]: data.location.stateId,\n [`${ModelLocationFields.postcode}`]: data.location.postcode,\n [`${ModelLocationFields.location_code}`]: data.location.locationCode,\n [`${ModelLocationFields.location_name}`]: data.location.locationName,\n [`${ModelLocationFields.location_type}`]: data.location.locationType,\n [`${ModelLocationFields.person_contact}`]: data.location.personContact,\n [`${ModelLocationFields.person_email}`]: data.location.personEmail,\n [`${ModelLocationFields.person_name}`]: data.location.personName,\n [`${ModelLocationFields.status}`]: Boolean(data.location.status),\n }\n }\n\n return false\n\n}\n\nlet mainSqlSelect = {\n [`locc.${ModelLocationFields.location_id}`]: \"location_id\",\n [`locc.${ModelLocationFields.location_code}`]: \"location_code\",\n [`locc.${ModelLocationFields.location_name}`]: \"location_name\",\n [`locc.${ModelLocationFields.location_type}`]: \"location_type\",\n [`locc.${ModelLocationFields.address_1}`]: \"address_1\",\n [`locc.${ModelLocationFields.address_2}`]: \"address_2\",\n [`locc.${ModelLocationFields.postcode}`]: \"postcode\",\n [`locc.${ModelLocationFields.area_id}`]: \"area_id\",\n [`locc.${ModelLocationFields.state_id}`]: \"state_id\",\n [`locc.${ModelLocationFields.country_id}`]: \"country_id\",\n [`locc.${ModelLocationFields.status}`]: \"status\",\n [`locc.${ModelLocationFields.is_default}`]: \"is_default\",\n [`locc.${ModelLocationFields.person_contact}`]: \"person_contact\",\n [`locc.${ModelLocationFields.person_email}`]: \"person_email\",\n [`locc.${ModelLocationFields.person_name}`]: \"person_name\",\n}\n\nlet regionSqlSelect = {\n [`ctry.${ModelCountryFields.country_name}`]: \"country_name\",\n [`state.${ModelStateFields.state_name}`]: \"state_name\",\n [`area.${ModelAreaFields.area_name}`]: \"area_name\",\n}\n\nlet defaultSqlSelect = {\n [`locc.${ModelLocationFields.createdatetime}`]: \"createdatetime\",\n [`creator.${ModelUserFields.login_username}`]: \"createusername\",\n [`locc.${ModelLocationFields.updatedatetime}`]: \"updatedatetime\",\n [`updater.${ModelUserFields.login_username}`]: \"updateusername\",\n [`locc.${ModelLocationFields.isdelete}`]: \"isdelete\",\n [`locc.${ModelLocationFields.istrash}`]: \"istrash\",\n [`locc.${ModelLocationFields.accountid}`]: \"accountid\",\n}\n\nexport const LocationLocationService = (props: LocationLocationServiceProps) => {\n\n const {\n // prisma,\n // accountId = 0,\n // actionUserId = 0\n ...rest\n } = props\n\n const locationModel = LocationModel({ ...rest })\n\n const createLocation = async ({ data }: LocationLocationCreateProps) => {\n\n const _data = getCreatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid create customer payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await locationModel.create({ data: _data })\n\n return response\n }\n\n const updateLocation = async ({ locationId, data }: LocationLocationUpdateProps) => {\n\n const _data = getUpdatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid update location payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await locationModel.update({ where: { [`${ModelLocationFields.location_id}`]: locationId }, data: _data })\n\n return response\n }\n\n const getLocation = async ({ id, datatypes = [] }: LocationLocationGetProps) => {\n\n let { data } = await listLocations({\n limit: 1,\n offset: 0,\n filters: [{ field: \"location_id\", operator: \"=\", value: id }],\n sortfield: \"location_id\",\n sortorder: \"ASC\",\n datatypes\n })\n\n return data[0] ?? null;\n\n };\n\n const listLocations = async ({\n limit,\n offset,\n filters,\n sortfield,\n sortorder,\n datatypes = []\n }: LocationLocationListProps) => {\n\n let data = []\n\n let sqlSelect = [\n `COUNT(locc.*) OVER() as filtered_count`,\n buildSqlSelect(``, mainSqlSelect),\n buildSqlSelect(``, regionSqlSelect),\n buildSqlSelect(``, defaultSqlSelect)\n ]\n\n let sqlRelation = [\n buildSqlRelation(\"left\", \"locc\", \"countries\", \"ctry\", [\"locc.country_id = ctry.country_id\", \"ctry.isdelete = false\", \"ctry.istrash = false\"]),\n buildSqlRelation(\"left\", \"locc\", \"states\", \"state\", [\"locc.state_id = state.state_id\", \"state.isdelete = false\", \"state.istrash = false\"]),\n buildSqlRelation(\"left\", \"locc\", \"areas\", \"area\", [\"locc.area_id = area.area_id\", \"area.isdelete = false\", \"area.istrash = false\"]),\n buildSqlRelation(\"left\", \"locc\", \"users\", \"creator\", [\"locc.createuserid = creator.user_id\", \"creator.isdelete = false\", \"creator.istrash = false\"]),\n buildSqlRelation(\"left\", \"locc\", \"users\", \"updater\", [\"locc.updateuserid = updater.user_id\", \"updater.isdelete = false\", \"updater.istrash = false\"])\n ]\n\n let sqlGroupBy: string[] = [...Object.keys(mainSqlSelect), ...Object.keys(regionSqlSelect), ...Object.keys(defaultSqlSelect)]\n\n let filterColumns = { ...mainSqlSelect, ...regionSqlSelect, ...defaultSqlSelect }\n\n // if (datatypes.includes(locationLocationDataTypes.customerInjectionFields)) {\n\n // let injectionFieldSqlSelect = {\n // [`uip.usr_cust_cust_qty`]: \"inf_usr_cust_cust_qty\",\n // // [`uip.${ModelUserFields.login_username}`]: \"login_username\",\n // // [`uip.${ModelUserFields.user_type}`]: \"user_type\",\n // // [`uip.${ModelUserFields.firstname}`]: \"firstname\",\n // // [`uip.${ModelUserFields.lastname}`]: \"lastname\",\n // // [`uip.${ModelUserFields.contact}`]: \"contact\",\n // // [`uip.${ModelUserFields.email}`]: \"email\",\n // }\n\n // filterColumns = { ...filterColumns, ...injectionFieldSqlSelect }\n\n // sqlSelect = [...sqlSelect, buildSqlSelect(``, injectionFieldSqlSelect)]\n // sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"locc\", \"user_injection_fields\", \"uip\", [\"locc.user_id = uip.user_id\", \"uip.field_ref = 'user'\", \"uip.isdelete = false\", \"uip.istrash = false\"])]\n // sqlGroupBy = [...sqlGroupBy, ...Object.keys(injectionFieldSqlSelect)]\n // }\n\n // if (datatypes.includes(locationLocationDataTypes.branch)) {\n\n // let branchSqlSelect = {\n // [`COALESCE(\n // JSON_AGG(\n // DISTINCT JSONB_BUILD_OBJECT(\n // '${ModelUserBranchFields.type}', brn.type,\n // '${ModelUserBranchFields.branch_id}', brn.branch_id,\n // '${ModelUserBranchFields.branch_code}', brn.branch_code,\n // '${ModelUserBranchFields.branch_name}', brn.branch_name,\n // '${ModelUserBranchFields.address_1}', brn.address_1,\n // '${ModelUserBranchFields.address_2}', brn.address_2,\n // '${ModelUserBranchFields.area}', brn.area,\n // '${ModelUserBranchFields.area_id}', brn.area_id,\n // '${ModelUserBranchFields.branch_contact}', brn.branch_contact,\n // '${ModelUserBranchFields.branch_email}', brn.branch_email,\n // '${ModelUserBranchFields.country_id}', brn.country_id,\n // '${ModelUserBranchFields.is_hq}', brn.is_hq,\n // '${ModelUserBranchFields.remark}', brn.remark,\n // '${ModelUserBranchFields.pic_contact}', brn.pic_contact,\n // '${ModelUserBranchFields.pic_email}', brn.pic_email,\n // '${ModelUserBranchFields.pic_contact}', brn.pic_contact,\n // '${ModelUserBranchFields.postcode}', brn.postcode,\n // '${ModelUserBranchFields.state_id}', brn.state_id,\n // '${ModelUserBranchFields.status}', brn.status,\n // '${ModelUserBranchFields.user_id}', brn.user_id\n // )\n // ) FILTER (WHERE brn.branch_id IS NOT NULL AND brn.isdelete = false AND brn.istrash = false), \n // '[]'\n // )`]: \"branches\"\n // }\n\n // filterColumns = { ...filterColumns, ...branchSqlSelect }\n\n // sqlSelect = [...sqlSelect, buildSqlSelect(``, branchSqlSelect)]\n // sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"locc\", \"branches\", \"brn\", [\"locc.user_id = brn.user_id\", \"brn.isdelete = false\", \"brn.istrash = false\"])]\n\n // }\n\n if (datatypes.includes(locationLocationDataTypes.rackSlot)) {\n\n let rackSlotSqlSelect = {\n [`COALESCE(\n JSON_AGG(\n DISTINCT JSONB_BUILD_OBJECT(\n '${ModelLocationRackFields.is_default}', loccrack1.is_default,\n '${ModelLocationRackFields.status}', loccrack1.status,\n '${ModelLocationRackFields.location_rack_id}', loccrack1.location_rack_id,\n '${ModelLocationRackFields.rack_name}', loccrack1.rack_name,\n '${ModelLocationRackFields.rack_sequence}', loccrack1.rack_sequence,\n '${ModelLocationRackFields.rack_type}', loccrack1.rack_type,\n 'slots', COALESCE(\n (\n SELECT JSON_AGG(\n JSONB_BUILD_OBJECT(\n '${ModelLocationSlotFields.location_slot_id}', loccslot1.location_slot_id,\n '${ModelLocationSlotFields.rack_id}', loccslot1.rack_id,\n '${ModelLocationSlotFields.slot_name}', loccslot1.slot_name,\n '${ModelLocationSlotFields.slot_sequence}', loccslot1.slot_sequence,\n '${ModelLocationSlotFields.status}', loccslot1.status,\n '${ModelLocationSlotFields.is_default}', loccslot1.is_default\n )\n )\n FROM location_slots loccslot1\n WHERE loccslot1.rack_id = loccrack1.location_rack_id\n AND loccslot1.isdelete = false\n AND loccslot1.istrash = false\n ), '[]'::json\n )\n )\n ) FILTER (WHERE loccrack1.location_rack_id IS NOT NULL AND loccrack1.isdelete = false AND loccrack1.istrash = false), \n '[]'\n )`]: \"racks\"\n }\n\n filterColumns = { ...filterColumns, ...rackSlotSqlSelect }\n\n sqlSelect = [...sqlSelect, buildSqlSelect(``, rackSlotSqlSelect)]\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"locc\", \"location_racks\", \"loccrack1\", [\"locc.location_id = loccrack1.location_id\", \"loccrack1.isdelete = false\", \"loccrack1.istrash = false\"])]\n\n }\n\n if (datatypes.includes(locationLocationDataTypes.rackCount)) {\n\n let zoneCountSqlSelect = {\n [`COUNT(DISTINCT loccrack.${ModelLocationRackFields.location_rack_id})::INT`]: \"rack_count\"\n }\n\n filterColumns = { ...filterColumns, ...zoneCountSqlSelect }\n\n sqlSelect = [...sqlSelect, buildSqlSelect(``, zoneCountSqlSelect)]\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"locc\", \"location_racks\", \"loccrack\", [\"locc.location_id = loccrack.location_id\", \"loccrack.isdelete = false\", \"loccrack.istrash = false\"])]\n\n }\n\n let sqlWhere = [\n `locc.isdelete = false`,\n `locc.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: \"locations\",\n mainAlias: \"locc\",\n accountId: rest.accountId,\n sqlSelect,\n sqlRelation,\n sqlWhere,\n sqlGroupBy,\n sqlOrderby,\n sqlLimitOffset\n })\n\n data = await locationModel.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 removeLocations = async ({ locationIds }: LocationLocationRemoveProps) => {\n\n if (!locationIds.length) throwError('locationIds is required');\n\n const response = await locationModel.remove({ where: { [`${ModelLocationFields.location_id}`]: { in: locationIds } } });\n\n return response\n };\n\n const getDataTypes = () => {\n return Object.values(locationLocationDataTypes);\n }\n\n return {\n createLocation,\n updateLocation,\n getLocation,\n listLocations,\n removeLocations,\n getDataTypes\n }\n\n}\n\n"]}
|