fix: preserve employee roles on login sync
This commit is contained in:
parent
92adf268b6
commit
ec2c62a529
@ -68,6 +68,13 @@ class Database:
|
||||
def upsert_employees(self, employees: list[dict[str, Any]]) -> None:
|
||||
with self._lock, self.connection:
|
||||
for employee in employees:
|
||||
role = employee.get("role")
|
||||
if role is None:
|
||||
existing = self.connection.execute(
|
||||
"SELECT role FROM employees WHERE feishu_user_id = ?",
|
||||
(employee["feishu_user_id"],),
|
||||
).fetchone()
|
||||
role = existing["role"] if existing else "staff"
|
||||
self.connection.execute(
|
||||
"""
|
||||
INSERT INTO employees (feishu_user_id, name, department, manager, role, active, updated_at)
|
||||
@ -85,7 +92,7 @@ class Database:
|
||||
employee["name"],
|
||||
employee.get("department", ""),
|
||||
employee.get("manager", ""),
|
||||
employee.get("role", "staff"),
|
||||
role,
|
||||
0 if employee.get("active") is False else 1,
|
||||
),
|
||||
)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user