51 lines
2.4 KiB
TypeScript
51 lines
2.4 KiB
TypeScript
import zoneModel from "../../../shared/model/builder/lines/zone-Model.ts";
|
|
export const setZone = async (data: any) => {
|
|
const { organization, userId, zoneData } = data
|
|
try {
|
|
const zoneId = zoneData.zoneId
|
|
const points = zoneData.points
|
|
const zoneName = zoneData.zoneName
|
|
const layer = zoneData.layer
|
|
const viewPortCenter = zoneData.viewPortCenter
|
|
const viewPortposition = zoneData.viewPortposition
|
|
const findZoneId = await zoneModel(organization).findOne({ zoneId: zoneId })
|
|
if (findZoneId) {
|
|
const updateZone = await zoneModel(organization).findOneAndUpdate(
|
|
{ zoneId: zoneId }, { points: points, viewPortposition: viewPortposition, viewPortCenter: viewPortCenter }, { new: true }
|
|
).select("-_id -__v")
|
|
return { success: true, message: 'zone updated', data: updateZone, organization: organization }
|
|
} else {
|
|
const zoneCreate = await zoneModel(organization).create({
|
|
zoneId, createdBy: userId, zoneName: zoneName, points, layer, viewPortCenter, viewPortposition
|
|
})
|
|
const createdZone = await zoneModel(organization)
|
|
.findById(zoneCreate._id)
|
|
.select('-_id -__v')
|
|
.lean();
|
|
return { success: true, message: 'zone created', data: createdZone, organization: organization }
|
|
}
|
|
} catch (error) {
|
|
console.log('error: ', error);
|
|
return { success: false, message: 'Zone not found', error , organization: organization}
|
|
}
|
|
}
|
|
|
|
export const deleteZone = async (data: any) => {
|
|
const { organization, userId, zoneId } = data
|
|
try {
|
|
|
|
const findZoneId = await zoneModel(organization).findOne({ zoneId: zoneId })
|
|
if (findZoneId) {
|
|
const deleteZone = await zoneModel(organization).findOneAndDelete(
|
|
{ zoneId: zoneId, createdBy: userId }
|
|
).select("-_id -__v")
|
|
return { success: true, message: 'zone deleted', data: deleteZone, organization: organization }
|
|
} else {
|
|
|
|
return { success: true, message: 'Invalid zone ID', organization: organization }
|
|
}
|
|
} catch (error) {
|
|
console.log('error: ', error);
|
|
return { success: false, message: 'Zone not found', error, organization: organization }
|
|
}
|
|
} |