Spaces:
Runtime error
Runtime error
File size: 818 Bytes
471367a e9edbe4 471367a e9edbe4 471367a e9edbe4 471367a 6b2320f 4fc33aa 3c35ae2 4fc33aa 3c35ae2 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | def flatten_update_data(data: dict, parent_key="") -> dict:
"""Convert nested dict to MongoDB dot notation, skipping None values."""
items = {}
for k, v in data.items():
if v is None:
continue
new_key = f"{parent_key}.{k}" if parent_key else k
if isinstance(v, dict):
nested = flatten_update_data(v, new_key)
if nested: # only add if nested dict had non-None values
items.update(nested)
else:
items[new_key] = v
return items
def generate_default_password() -> str:
"""
Generate a 6-digit numeric PIN for new employees/merchants.
Numeric-only so it works with Fast2SMS OTP route (variables_values).
"""
import secrets
return ''.join([str(secrets.randbelow(10)) for _ in range(6)]) |