import requests
from requests.auth import HTTPBasicAuth
import json
import os

# Information
# url = "https://northpass.atlassian.net/wiki/rest/api/content/2210463745/child/page"
url = "https://northpass.atlassian.net/wiki/rest/api/content/"
auth = HTTPBasicAuth("nrasmussen@northpass.com","ATATT3xFfGF0QZUomC1s3hvD4Hiqh_usOVFAVLsT1n8lt6gzD7wfL8D8x5ner3SE24JD4E590xoT9PKPIi1Eppanx12q5ALzMHKce-KrcIZRT23BvO8MDXwyvbzAO2R4hALc8ZUTI_8-OM-x9o_tjbCHLxEMFOr6QFDYprwdHGZjAxpviSwXrCQ=218AC438")

rootdir = "/Users/normrasmussen/Documents/Work/CustomerNotes/"


def getCompany():
    rootdir = (
        "/Users/normrasmussen/Documents/Work/CustomerNotes/"
    )
    companyName = os.listdir(rootdir)
    for fileName in companyName:
        company = fileName[:-3]
        getPages(company)


def readNewNotes(company):
    rootdir = (
        "/Users/normrasmussen/Documents/Work/CustomerNotes/"
    )
    with open(rootdir + company + ".md", "r") as companyfile:
        notes = companyfile.read()
        conversion = markdown.markdown(notes)
        createNewPage(company, conversion)


def getPages(company):
    headers = {
        "Accept": "application/json",
    }
    response = requests.request("GET", url, headers=headers, auth=auth)
    jsonResponse = response.json()
    for response in jsonResponse["results"]:
        if response["title"] == company:
            print(f"{company} Found. Updating page....")
        else:
            print(f"{company} not found. Create new page...")
            # readNewNotes(company)


def createNewPage(company, notes):
    url = "https://northpass.atlassian.net/wiki/rest/api/content/"
    auth = HTTPBasicAuth("nrasmussen@northpass.com", "qf9Il7X4wkthgQKBOIly5737")
    headers = {
        "X-Atlassian-Token": "no-check",
        "Accept": "application/json",
        "Content-Type": "application/json",
    }
    payload = json.dumps(
        {
            "type": "page",
            "title": company,
            "ancestors": [{"id": 2210463745}],
            "space": {"key": "~350535240"},
            "body": {"storage": {"value": notes, "representation": "storage"}},
        }
    )

    response = requests.request("POST", url, data=payload, headers=headers, auth=auth)
    print("createNewPage function has run")
    response = json.dumps(
        json.loads(response.text), sort_keys=True, indent=4, separators=(",", ": ")
    )
    print(response)
    # jsonResponse = response.json()
    # print(jsonResponse)


if __name__ == "__main__":
    getCompany()
    # createNewPage()
    # readNewNotes(company="Flink")
