{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from tb_rest_client.rest_client_pe import *\n", "from tb_rest_client.rest import ApiException\n", "from tb_rest_client.api_client import *\n", "import re, ast, json\n", "from uuid import uuid4" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "url = \"https://hp.henrypump.cloud\"\n", "username = \"nmelone@henry-pump.com\"\n", "password = \"gzU6$26v42mU%3jDzTJf\"\n", "userIdToCopy = \"7c07cf20-f33b-11ed-97ca-e57c88951dd5\"\n", "entity_group_id=\"f7c13900-03b6-11ed-9235-5943addfc91e\"\n", "default_dashboard = \"0f836040-03b7-11ed-b891-29857b87a6b2\"" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "data = [\n", " \"Manuel Benavides - Manuel.Benavides@conocophillips.com\",\n", " \"Bradley Armstrong - Bradley.R.Armstrong@conocophillips.com\",\n", " \"Wesley Kennedy - Wesley.Kennedy@conocophillips.com\",\n", " \"William Tarin - William.Tarin@conocophillips.com\",\n", " \"Kevin Hinshaw - Kevin.C.Hinshaw@conocophillips.com\",\n", " \"Sarah Pace - Sarah.Pace@conocophillips.com\",\n", " \"Megan Dixon - Megan.Dixon@conocophillips.com\",\n", " \"Billy Vaughn - Billy.M.Vaughn@conocophillips.com\",\n", " \"Daniel Sanchez - Daniel.I.Sanchez@conocophillips.com\",\n", " \"Conrado Vasquez - Conrado.Vasquez@conocophillips.com\",\n", " \"Martin Hernandez - Martin.Hernandez@conocophillips.com\",\n", " \"Jose Dominguez - Jose.Dominguez@conocophillips.com\",\n", " \"Ector Castillo - Ector.Castillo@conocophillips.com\",\n", " \"Miguel DeHoyos - Miguel.DeHoyos@conocophillips.com\"\n", " ]" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "def checkUserExists(userEmail, rest_client):\n", " resp = rest_client.get_user_users(page_size=100, page=0,text_search=userEmail)\n", " resp = resp.to_dict()\n", " if resp[\"total_elements\"] > 0:\n", " return True\n", " return False" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "def copyUser(userIdToCopy, rest_client):\n", " resp = rest_client.get_user_by_id(userIdToCopy)\n", " resp = resp.to_dict()\n", " del resp[\"id\"]\n", " del resp[\"tenant_id\"]\n", " del resp[\"created_time\"]\n", " return resp\n" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "def process_data(data,entity_group_id,default_dashboard):\n", " result = []\n", " for item in data:\n", " parts = item.split(' - ')\n", " first_last_name = parts[0].split()\n", " first_name = first_last_name[0]\n", " last_name = ' '.join(first_last_name[1:])\n", " email = parts[1]\n", " phone = ''\n", " if len(parts) > 2:\n", " phone = '+1' + re.sub(r'\\D', '', parts[2])\n", " \n", " owner_id = {\n", " \"id\": entity_group_id,\n", " \"entity_type\": \"CUSTOMER\"\n", " }\n", " if default_dashboard:\n", " additionalInfo = {\n", " \"description\": \"\",\n", " \"defaultDashboardId\": default_dashboard,\n", " \"defaultDashboardFullscreen\": False,\n", " \"homeDashboardId\": default_dashboard,\n", " \"homeDashboardHideToolbar\": False,\n", " \"userCredentialsEnabled\": True\n", " }\n", " else:\n", " additionalInfo = {}\n", " \n", " result.append({\n", " \"email\": email,\n", " \"authority\": \"CUSTOMER_USER\",\n", " \"firstName\": first_name,\n", " \"lastName\": last_name,\n", " \"phone\": phone,\n", " \"additionalInfo\": additionalInfo,\n", " \"ownerId\": owner_id\n", " })\n", " \n", " return result" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "filtered_users = process_data(data, entity_group_id=entity_group_id,default_dashboard=default_dashboard)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{\n", " \"email\": \"Manuel.Benavides@conocophillips.com\",\n", " \"authority\": \"CUSTOMER_USER\",\n", " \"firstName\": \"Manuel\",\n", " \"lastName\": \"Benavides\",\n", " \"phone\": \"\",\n", " \"additionalInfo\": {\n", " \"description\": \"\",\n", " \"defaultDashboardId\": \"0f836040-03b7-11ed-b891-29857b87a6b2\",\n", " \"defaultDashboardFullscreen\": false,\n", " \"homeDashboardId\": \"0f836040-03b7-11ed-b891-29857b87a6b2\",\n", " \"homeDashboardHideToolbar\": false,\n", " \"userCredentialsEnabled\": true\n", " },\n", " \"ownerId\": {\n", " \"id\": \"f7c13900-03b6-11ed-9235-5943addfc91e\",\n", " \"entity_type\": \"CUSTOMER\"\n", " }\n", "}\n", "{\n", " \"email\": \"Bradley.R.Armstrong@conocophillips.com\",\n", " \"authority\": \"CUSTOMER_USER\",\n", " \"firstName\": \"Bradley\",\n", " \"lastName\": \"Armstrong\",\n", " \"phone\": \"\",\n", " \"additionalInfo\": {\n", " \"description\": \"\",\n", " \"defaultDashboardId\": \"0f836040-03b7-11ed-b891-29857b87a6b2\",\n", " \"defaultDashboardFullscreen\": false,\n", " \"homeDashboardId\": \"0f836040-03b7-11ed-b891-29857b87a6b2\",\n", " \"homeDashboardHideToolbar\": false,\n", " \"userCredentialsEnabled\": true\n", " },\n", " \"ownerId\": {\n", " \"id\": \"f7c13900-03b6-11ed-9235-5943addfc91e\",\n", " \"entity_type\": \"CUSTOMER\"\n", " }\n", "}\n", "{\n", " \"email\": \"Wesley.Kennedy@conocophillips.com\",\n", " \"authority\": \"CUSTOMER_USER\",\n", " \"firstName\": \"Wesley\",\n", " \"lastName\": \"Kennedy\",\n", " \"phone\": \"\",\n", " \"additionalInfo\": {\n", " \"description\": \"\",\n", " \"defaultDashboardId\": \"0f836040-03b7-11ed-b891-29857b87a6b2\",\n", " \"defaultDashboardFullscreen\": false,\n", " \"homeDashboardId\": \"0f836040-03b7-11ed-b891-29857b87a6b2\",\n", " \"homeDashboardHideToolbar\": false,\n", " \"userCredentialsEnabled\": true\n", " },\n", " \"ownerId\": {\n", " \"id\": \"f7c13900-03b6-11ed-9235-5943addfc91e\",\n", " \"entity_type\": \"CUSTOMER\"\n", " }\n", "}\n", "{\n", " \"email\": \"William.Tarin@conocophillips.com\",\n", " \"authority\": \"CUSTOMER_USER\",\n", " \"firstName\": \"William\",\n", " \"lastName\": \"Tarin\",\n", " \"phone\": \"\",\n", " \"additionalInfo\": {\n", " \"description\": \"\",\n", " \"defaultDashboardId\": \"0f836040-03b7-11ed-b891-29857b87a6b2\",\n", " \"defaultDashboardFullscreen\": false,\n", " \"homeDashboardId\": \"0f836040-03b7-11ed-b891-29857b87a6b2\",\n", " \"homeDashboardHideToolbar\": false,\n", " \"userCredentialsEnabled\": true\n", " },\n", " \"ownerId\": {\n", " \"id\": \"f7c13900-03b6-11ed-9235-5943addfc91e\",\n", " \"entity_type\": \"CUSTOMER\"\n", " }\n", "}\n", "{\n", " \"email\": \"Kevin.C.Hinshaw@conocophillips.com\",\n", " \"authority\": \"CUSTOMER_USER\",\n", " \"firstName\": \"Kevin\",\n", " \"lastName\": \"Hinshaw\",\n", " \"phone\": \"\",\n", " \"additionalInfo\": {\n", " \"description\": \"\",\n", " \"defaultDashboardId\": \"0f836040-03b7-11ed-b891-29857b87a6b2\",\n", " \"defaultDashboardFullscreen\": false,\n", " \"homeDashboardId\": \"0f836040-03b7-11ed-b891-29857b87a6b2\",\n", " \"homeDashboardHideToolbar\": false,\n", " \"userCredentialsEnabled\": true\n", " },\n", " \"ownerId\": {\n", " \"id\": \"f7c13900-03b6-11ed-9235-5943addfc91e\",\n", " \"entity_type\": \"CUSTOMER\"\n", " }\n", "}\n", "{\n", " \"email\": \"Sarah.Pace@conocophillips.com\",\n", " \"authority\": \"CUSTOMER_USER\",\n", " \"firstName\": \"Sarah\",\n", " \"lastName\": \"Pace\",\n", " \"phone\": \"\",\n", " \"additionalInfo\": {\n", " \"description\": \"\",\n", " \"defaultDashboardId\": \"0f836040-03b7-11ed-b891-29857b87a6b2\",\n", " \"defaultDashboardFullscreen\": false,\n", " \"homeDashboardId\": \"0f836040-03b7-11ed-b891-29857b87a6b2\",\n", " \"homeDashboardHideToolbar\": false,\n", " \"userCredentialsEnabled\": true\n", " },\n", " \"ownerId\": {\n", " \"id\": \"f7c13900-03b6-11ed-9235-5943addfc91e\",\n", " \"entity_type\": \"CUSTOMER\"\n", " }\n", "}\n", "{\n", " \"email\": \"Megan.Dixon@conocophillips.com\",\n", " \"authority\": \"CUSTOMER_USER\",\n", " \"firstName\": \"Megan\",\n", " \"lastName\": \"Dixon\",\n", " \"phone\": \"\",\n", " \"additionalInfo\": {\n", " \"description\": \"\",\n", " \"defaultDashboardId\": \"0f836040-03b7-11ed-b891-29857b87a6b2\",\n", " \"defaultDashboardFullscreen\": false,\n", " \"homeDashboardId\": \"0f836040-03b7-11ed-b891-29857b87a6b2\",\n", " \"homeDashboardHideToolbar\": false,\n", " \"userCredentialsEnabled\": true\n", " },\n", " \"ownerId\": {\n", " \"id\": \"f7c13900-03b6-11ed-9235-5943addfc91e\",\n", " \"entity_type\": \"CUSTOMER\"\n", " }\n", "}\n", "{\n", " \"email\": \"Billy.M.Vaughn@conocophillips.com\",\n", " \"authority\": \"CUSTOMER_USER\",\n", " \"firstName\": \"Billy\",\n", " \"lastName\": \"Vaughn\",\n", " \"phone\": \"\",\n", " \"additionalInfo\": {\n", " \"description\": \"\",\n", " \"defaultDashboardId\": \"0f836040-03b7-11ed-b891-29857b87a6b2\",\n", " \"defaultDashboardFullscreen\": false,\n", " \"homeDashboardId\": \"0f836040-03b7-11ed-b891-29857b87a6b2\",\n", " \"homeDashboardHideToolbar\": false,\n", " \"userCredentialsEnabled\": true\n", " },\n", " \"ownerId\": {\n", " \"id\": \"f7c13900-03b6-11ed-9235-5943addfc91e\",\n", " \"entity_type\": \"CUSTOMER\"\n", " }\n", "}\n", "{\n", " \"email\": \"Daniel.I.Sanchez@conocophillips.com\",\n", " \"authority\": \"CUSTOMER_USER\",\n", " \"firstName\": \"Daniel\",\n", " \"lastName\": \"Sanchez\",\n", " \"phone\": \"\",\n", " \"additionalInfo\": {\n", " \"description\": \"\",\n", " \"defaultDashboardId\": \"0f836040-03b7-11ed-b891-29857b87a6b2\",\n", " \"defaultDashboardFullscreen\": false,\n", " \"homeDashboardId\": \"0f836040-03b7-11ed-b891-29857b87a6b2\",\n", " \"homeDashboardHideToolbar\": false,\n", " \"userCredentialsEnabled\": true\n", " },\n", " \"ownerId\": {\n", " \"id\": \"f7c13900-03b6-11ed-9235-5943addfc91e\",\n", " \"entity_type\": \"CUSTOMER\"\n", " }\n", "}\n", "{\n", " \"email\": \"Conrado.Vasquez@conocophillips.com\",\n", " \"authority\": \"CUSTOMER_USER\",\n", " \"firstName\": \"Conrado\",\n", " \"lastName\": \"Vasquez\",\n", " \"phone\": \"\",\n", " \"additionalInfo\": {\n", " \"description\": \"\",\n", " \"defaultDashboardId\": \"0f836040-03b7-11ed-b891-29857b87a6b2\",\n", " \"defaultDashboardFullscreen\": false,\n", " \"homeDashboardId\": \"0f836040-03b7-11ed-b891-29857b87a6b2\",\n", " \"homeDashboardHideToolbar\": false,\n", " \"userCredentialsEnabled\": true\n", " },\n", " \"ownerId\": {\n", " \"id\": \"f7c13900-03b6-11ed-9235-5943addfc91e\",\n", " \"entity_type\": \"CUSTOMER\"\n", " }\n", "}\n", "{\n", " \"email\": \"Martin.Hernandez@conocophillips.com\",\n", " \"authority\": \"CUSTOMER_USER\",\n", " \"firstName\": \"Martin\",\n", " \"lastName\": \"Hernandez\",\n", " \"phone\": \"\",\n", " \"additionalInfo\": {\n", " \"description\": \"\",\n", " \"defaultDashboardId\": \"0f836040-03b7-11ed-b891-29857b87a6b2\",\n", " \"defaultDashboardFullscreen\": false,\n", " \"homeDashboardId\": \"0f836040-03b7-11ed-b891-29857b87a6b2\",\n", " \"homeDashboardHideToolbar\": false,\n", " \"userCredentialsEnabled\": true\n", " },\n", " \"ownerId\": {\n", " \"id\": \"f7c13900-03b6-11ed-9235-5943addfc91e\",\n", " \"entity_type\": \"CUSTOMER\"\n", " }\n", "}\n", "{\n", " \"email\": \"Jose.Dominguez@conocophillips.com\",\n", " \"authority\": \"CUSTOMER_USER\",\n", " \"firstName\": \"Jose\",\n", " \"lastName\": \"Dominguez\",\n", " \"phone\": \"\",\n", " \"additionalInfo\": {\n", " \"description\": \"\",\n", " \"defaultDashboardId\": \"0f836040-03b7-11ed-b891-29857b87a6b2\",\n", " \"defaultDashboardFullscreen\": false,\n", " \"homeDashboardId\": \"0f836040-03b7-11ed-b891-29857b87a6b2\",\n", " \"homeDashboardHideToolbar\": false,\n", " \"userCredentialsEnabled\": true\n", " },\n", " \"ownerId\": {\n", " \"id\": \"f7c13900-03b6-11ed-9235-5943addfc91e\",\n", " \"entity_type\": \"CUSTOMER\"\n", " }\n", "}\n", "{\n", " \"email\": \"Ector.Castillo@conocophillips.com\",\n", " \"authority\": \"CUSTOMER_USER\",\n", " \"firstName\": \"Ector\",\n", " \"lastName\": \"Castillo\",\n", " \"phone\": \"\",\n", " \"additionalInfo\": {\n", " \"description\": \"\",\n", " \"defaultDashboardId\": \"0f836040-03b7-11ed-b891-29857b87a6b2\",\n", " \"defaultDashboardFullscreen\": false,\n", " \"homeDashboardId\": \"0f836040-03b7-11ed-b891-29857b87a6b2\",\n", " \"homeDashboardHideToolbar\": false,\n", " \"userCredentialsEnabled\": true\n", " },\n", " \"ownerId\": {\n", " \"id\": \"f7c13900-03b6-11ed-9235-5943addfc91e\",\n", " \"entity_type\": \"CUSTOMER\"\n", " }\n", "}\n", "{\n", " \"email\": \"Miguel.DeHoyos@conocophillips.com\",\n", " \"authority\": \"CUSTOMER_USER\",\n", " \"firstName\": \"Miguel\",\n", " \"lastName\": \"DeHoyos\",\n", " \"phone\": \"\",\n", " \"additionalInfo\": {\n", " \"description\": \"\",\n", " \"defaultDashboardId\": \"0f836040-03b7-11ed-b891-29857b87a6b2\",\n", " \"defaultDashboardFullscreen\": false,\n", " \"homeDashboardId\": \"0f836040-03b7-11ed-b891-29857b87a6b2\",\n", " \"homeDashboardHideToolbar\": false,\n", " \"userCredentialsEnabled\": true\n", " },\n", " \"ownerId\": {\n", " \"id\": \"f7c13900-03b6-11ed-9235-5943addfc91e\",\n", " \"entity_type\": \"CUSTOMER\"\n", " }\n", "}\n" ] } ], "source": [ "with RestClientPE(base_url=url) as rest_client:\n", " try:\n", " rest_client.login(username=username, password=password)\n", " if userIdToCopy:\n", " templateUser = copyUser(userIdToCopy=userIdToCopy, rest_client=rest_client)\n", " #templateUser[\"additionalInfo\"] = ast.literal_eval(templateUser['additional_info'].replace(\"'\", '\"'))\n", " del templateUser[\"additional_info\"]\n", " else:\n", " templateUser = {\n", " \"email\": \"user@example.com\",\n", " \"authority\": \"CUSTOMER_USER\",\n", " \"firstName\": \"John\",\n", " \"lastName\": \"Doe\",\n", " \"phone\": \"38012345123\",\n", " \"additionalInfo\": {},\n", " \"ownerId\": {\n", " \"id\": \"efe3a0d0-bb6b-11ec-9326-ad8278896f52\",\n", " \"entityType\": \"CUSTOMER\"\n", " }\n", " }\n", " for user in filtered_users:\n", " if not checkUserExists(user[\"email\"], rest_client=rest_client):\n", " \n", " \"\"\"\n", " templateUser[\"email\"] = user[\"email\"]\n", " templateUser[\"name\"] = user[\"email\"]\n", " templateUser[\"firstName\"] = user[\"information\"][\"first\"]\n", " templateUser[\"lastName\"] = user[\"information\"][\"last\"]\n", " if user[\"phone\"]:\n", " templateUser[\"phone\"] = \"+1\" + \"\".join(user[\"phone\"].split(\"-\"))\n", " else:\n", " templateUser[\"phone\"] = \"\"\n", " \"\"\"\n", " print(json.dumps(user, indent=4))\n", " rest_client.save_user(send_activation_mail=False, body=user, entity_group_id=entity_group_id)\n", " except ApiException as e:\n", " print(e)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "False" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "templateUser[\"additional_info\"][\"userActivated\"]" ] } ], "metadata": { "kernelspec": { "display_name": "tbreport", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.13.1" } }, "nbformat": 4, "nbformat_minor": 2 }