zone creation
This commit is contained in:
50
src/socket-server/services/lines/zone-controller.ts
Normal file
50
src/socket-server/services/lines/zone-controller.ts
Normal file
@@ -0,0 +1,50 @@
|
||||
import zoneModel from "../../../shared/model/lines/zone-Model";
|
||||
|
||||
export const setZone = async (data:any)=>{
|
||||
try {
|
||||
const {organization,userId,zoneData}=data
|
||||
const zoneId =zoneData.zoneId
|
||||
const points =zoneData.points
|
||||
const zoneName =zoneData.zoneName
|
||||
const layer =zoneData.layer
|
||||
const findZoneId= await zoneModel(organization).findOne({zoneId:zoneId})
|
||||
if (findZoneId) {
|
||||
const updateZone= await zoneModel(organization).findOneAndUpdate(
|
||||
{zoneId:zoneId},{points:points},{new:true}
|
||||
).select("-_id -__v")
|
||||
return { success: true, message: 'zone updated', data: updateZone,organization:organization}
|
||||
} else {
|
||||
const zoneCreate = await zoneModel(organization).create({
|
||||
zoneId,createBy:userId,zoneName:zoneName,points,layer
|
||||
})
|
||||
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 }
|
||||
}
|
||||
}
|
||||
|
||||
export const deleteZone = async (data:any)=>{
|
||||
try {
|
||||
const {organization,userId,zoneId}=data
|
||||
|
||||
const findZoneId= await zoneModel(organization).findOne({zoneId:zoneId})
|
||||
if (findZoneId) {
|
||||
const deleteZone= await zoneModel(organization).findOneAndDelete(
|
||||
{zoneId:zoneId,createBy: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 }
|
||||
}
|
||||
}
|
||||
@@ -42,4 +42,9 @@ export const EVENTS = {
|
||||
deletePointResponse:"Line:response:delete:point",
|
||||
deleteLineLayer:"v1:Line:delete:layer",
|
||||
deleteLineLayerResponse:"Line:response:delete:layer",
|
||||
//zone
|
||||
setZone:"v2:zone:set",
|
||||
zoneUpdateRespones:"zone:response:updates",
|
||||
deleteZone:"v2:zone:delete",
|
||||
ZoneDeleteRespones:"zone:response:delete",
|
||||
}
|
||||
@@ -6,6 +6,7 @@ import { deleteFloorItems, setFloorItems } from '../services/assets/flooritem-Co
|
||||
import { deleteWallItems, setWallItems } from '../services/assets/wallitem-Controller';
|
||||
import { deleteLineItems, deleteLinPoiteItems, updateLineItems ,createLineItems, deleteLayer} from '../services/lines/line-Controller';
|
||||
import { activeUserOffline, activeUsers } from '../services/users/user-controller';
|
||||
import { deleteZone, setZone } from '../services/lines/zone-controller';
|
||||
|
||||
|
||||
|
||||
@@ -385,6 +386,44 @@ const userStatus =async (event: string, socket: Socket, data: any,io:any) => {
|
||||
}
|
||||
}
|
||||
}
|
||||
const zoneHandleEvent =async (event: string, socket: Socket, data: any,io:any)=>{
|
||||
switch (event) {
|
||||
case EVENTS.setZone:{
|
||||
const result=await setZone(data)
|
||||
if (result?.success) {
|
||||
io.emit(EVENTS.zoneUpdateRespones, {
|
||||
success: true || false,
|
||||
message: result.message,
|
||||
data: result.data,
|
||||
error: result.error,
|
||||
socketId: socket.id,
|
||||
organization:result.organization
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
break}
|
||||
case EVENTS.deleteZone:{
|
||||
const result=await deleteZone(data)
|
||||
if (result?.success) {
|
||||
io.emit(EVENTS.ZoneDeleteRespones, {
|
||||
success: true || false,
|
||||
message: result.message,
|
||||
data: result.data,
|
||||
error: result.error,
|
||||
socketId: socket.id,
|
||||
organization:result.organization
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
break}
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
export const initSocketServer = (httpServer: any) => {
|
||||
const io = new Server(httpServer, {
|
||||
cors: {
|
||||
@@ -406,6 +445,7 @@ userStatus(EVENTS.connection, socket, socket.handshake.auth,io);
|
||||
floorItemsHandleEvent(event, socket, data,io);
|
||||
wallItemsHandleEvent(event, socket, data,io);
|
||||
lineHandleEvent(event, socket, data,io);
|
||||
zoneHandleEvent(event, socket, data,io);
|
||||
|
||||
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user