.
This commit is contained in:
@@ -78,6 +78,7 @@ class MikoPBXService:
|
||||
# Check if number already exists in MikoPBX
|
||||
existing = await self.get_employee_by_number(number)
|
||||
if existing:
|
||||
logger.warning(f">>> Number {number} already exists in MikoPBX, aborting create")
|
||||
return {
|
||||
"success": False,
|
||||
"error": [f"Internal number {number} is already occupied"]
|
||||
@@ -135,7 +136,9 @@ class MikoPBXService:
|
||||
if not response.get("result"):
|
||||
return None
|
||||
|
||||
employees = response.get("data", [])
|
||||
# GET /v3/employees returns { data: { data: [...], recordsTotal: N, recordsFiltered: N } }
|
||||
data = response.get("data", {})
|
||||
employees = data.get("data", []) if isinstance(data, dict) else data
|
||||
for emp in employees:
|
||||
if isinstance(emp, dict) and emp.get("number") == number:
|
||||
return emp
|
||||
@@ -220,10 +223,12 @@ class MikoPBXService:
|
||||
"""Delete employee by extension number (finds real ID first)"""
|
||||
employee = await self.get_employee_by_number(number)
|
||||
if not employee:
|
||||
logger.warning(f">>> Cannot delete {number}: employee not found in MikoPBX")
|
||||
return {"success": False, "error": "Employee not found"}
|
||||
|
||||
real_id = self._extract_employee_id(employee)
|
||||
if not real_id:
|
||||
logger.error(f">>> Cannot delete {number}: employee ID is missing")
|
||||
return {"success": False, "error": "Employee ID is missing"}
|
||||
|
||||
logger.info(f">>> Deleting employee with real ID: {real_id}")
|
||||
|
||||
Reference in New Issue
Block a user