import json
import requests
import Apikeys


'''
This file is mostly used for random testing of unknown endpoints, like our V1 endpoints.
'''

# url ="https://api.northpass.com/v2/groups/e6ef3e5f-b5a2-4b10-868b-8c165d76d263/learning_paths"
# url = "https://api.northpass.com/v1/media?limit=1"
# url = "https://api.northpass.com/v1/learning_paths"
# url = "https://api2.northpass.com/v2/courses"

# function = sys.argv[1]
apiKey = Apikeys.normsandbox
# normuuid = "3b2ac85d-2bdb-4183-a1c7-e0f49c58c4eb"
group_uuid = "8be78542-ec43-4b5e-a662-77b403b4f049"

# Get Group Memberships:
# url = "https://api.northpass.com/v2/groups/504c4771-223a-447f-9ec6-08e51bc9ca23/memberships"

# Associate a person with a course:
# url = "https://api.northpass.com/v2/people/person_uuid/relationships/courses"

# Associate a person with a Learning Path (Test):
# url = f"https://api.northpass.com/v1/people/{normuuid}/relationships/learning_paths"

# Add Learning Paths to a Group (Test):
url = f"https://api.northpass.com/v1/groups/{group_uuid}/relationships/learning_paths"


def putTest(apiKey, url):
    payload = {
        "data": {
            "type": "media",
            "file_name": "/Users/normrasmussen/Downloads/Shopping&Delivery 9 XP.mp4",
        }
    }
    headers = {
        "accept": "application/json",
        "content-type": "application/json",
        "X-Api-Key": apiKey,
    }
    response = requests.put(url, json=payload, headers=headers)
    print(response.text)


def getTest(apiKey, url):
    print(url)
    print(apiKey)
    headers = {"accept": "application/json", "X-Api-Key": apiKey}
    response = requests.get(url, headers=headers)
    # print(response.text)
    jsonResponse = response.json()
    jsonResponse = json.dumps(jsonResponse, indent=2)
    print(jsonResponse)
    # print(jsonResponse["included"][1]["attributes"]["email"])
    # print(jsonResponse["data"][1]["attributes"])


def postTest(apiKey, url):
    print(url)
    # Learning Path ID is for ID and change type to "enrolled-learning-paths"
    # payload = {"data": [
    #    {
    #        "type": "enrolled-learning-paths",
    #        "id": "6ef5c9db-81d7-427c-846b-babb9a9a2ad1"
    #    }
    # ]}
    # Add Learning Path to a Group Test
    payload = {"data": [{"type": "learning-paths", "id": "6ef5c9db-81d7-427c-846b-babb9a9a2ad1"}]}


    headers = {
        "accept": "application/json",
        "content-type": "application/json",
        "X-Api-Key": apiKey,
    }
    response = requests.post(url, json=payload, headers=headers)
    print(response.text)
    print(response)


if __name__ == "__main__":
    # getTest(apiKey, url)
    # putTest(apiKey, url)
    postTest(apiKey, url)
