import json from appPublic.uniqueID import getID from datetime import datetime async def main(request, params_kw): """Create a new sub_distributors record.""" user_id = await get_user() user_orgid = await get_userorgid() dbname = get_module_dbname('supplychain') data = params_kw.get("data", "{}") if isinstance(data, str): data = json.loads(data) data["id"] = getID() data["resellerid"] = user_orgid data["created_by"] = user_id data["created_at"] = datetime.now().strftime("%Y-%m-%d %H:%M:%S") # Auto-generate sub distributor code if not data.get("sub_dist_code"): data["sub_dist_code"] = f"SUB-{datetime.now().strftime('%Y%m%d')}-{getID()[:4].upper()}" config = getConfig(".") DBPools(config.databases) async with db.sqlorContext(dbname) as sor: await sor.C("sub_distributors", data) return json.dumps({"status": "ok", "data": data})