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 } } }