from voxsup.api.client.linkedin import LinkedInClient as Client
ACCOUNT_ID = 502977261 # 4C Insights Test Account
ACCOUNT_URN = "urn:li:sponsoredAccount:" + str(ACCOUNT_ID)
MEMBER_ID = "-bZaJqJQEO" # Noopur
MEMBER_URN = "urn:li:person:" + MEMBER_ID
client = Client(context={'account_id': ACCOUNT_ID})
enable_requests_logging()

body = {
    "account": ACCOUNT_URN,
    "member": MEMBER_URN,
    "state": "REQUESTED",
}

urlString = 'adInMailMemberSenderPermissions/account=' + ACCOUNT_URN + '&member=' + MEMBER_URN
response = client.put(urlString, json=body)
# content = response.json()
# import json
# json.dumps(content)
from voxsup.api.client.linkedin import LinkedInClient as Client
ACCOUNT_ID = 502977261  # 4C Insights Test Account
ACCOUNT_URN = "urn:li:sponsoredAccount:" + str(ACCOUNT_ID)
MEMBER_ID = "-bZaJqJQEO"  # Noopur
MEMBER_URN = "urn:li:person:" + MEMBER_ID
client = Client(context={'account_id': ACCOUNT_ID})
enable_requests_logging()

body = {
    "account": ACCOUNT_URN,
    "member": MEMBER_URN,
    "state": "REQUESTED",
}

urlString = 'adInMailMemberSenderPermissions/account=' + ACCOUNT_URN + '&member=' + MEMBER_URN
response = client.put(urlString, json=body)
# content = response.json()
# import json
# json.dumps(content)
uploadRequestFromLI = content['value']['uploadMechanism']['com.linkedin.digitalmedia.uploading.MediaUploadHttpRequest']
headers = uploadRequestFromLI['headers']
uploadUrl = uploadRequestFromLI['uploadUrl']
asset = content['value']['asset']
assetId = trimMediaAssetURN(asset)

print('headers: ' + json.dumps(headers))
print('uploadUrl: ' + json.dumps(uploadUrl))
print('assetId: ' + assetId)

uploadHeaders = {
  'Content-Type': 'image/png'
}
files = {'file': ("image.png", open('/home/joeklonowski/voxsupFrontend2/image.png', 'rb'), 'image/png')}
uploadResponse = client.put(uploadUrl, files=files, headers=uploadHeaders)

getResponse = client.get('assets/' + assetId)
getResponse.json()

updateBody = {
  "patch": {
    "$set": {
      "subContent": {
        "com.linkedin.ads.AdInMailStandardSubContent": {
          "actionText": "HMC",
          "action": "https://www.hmc.edu/",
          "adUnitV2": asset
        }
      }
    }