async def requirement_add(ns={}): product_category = ns.get('product_category') company_type = ns.get('company_type') ns_dic = { 'id': uuid(), 'orgid': ns.get('orgid'), 'requirement_name': ns.get('requirement_name'), 'product_category': json.dumps(product_category) if isinstance(product_category, list) else product_category, 'company_name': ns.get('company_name'), 'company_type': json.dumps(company_type) if isinstance(company_type, list) else company_type, 'contact_person': ns.get('contact_person'), 'job_title': ns.get('job_title'), 'phone_number': ns.get('phone_number'), 'email': ns.get('email'), 'requirement_summary': ns.get('requirement_summary'), 'related_parameters': ns.get('related_parameters'), 'application_scenario': ns.get('application_scenario'), 'audit_status': ns.get('audit_status', 'pending') } db = DBPools() async with db.sqlorContext('kboss') as sor: try: await sor.C('user_publish_requirement', ns_dic) return { 'status': True, 'msg': 'Requirement created successfully' } except Exception as e: return { 'status': False, 'msg': 'Failed to create requirement, %s' % str(e) } ret = await requirement_add(params_kw) return ret