import json
import os
import requests

api_key = os.getenv("LINEAR_API_KEY")

class LinearAPI:
    def __init__(self):
        self.api = "https://api.linear.app/graphql"
        self.headers = {
            "Content-Type": "application/json",
            "Authorization": f"{api_key}"
        }

    def get_all_issues(self):
        query = {"query": "{ issues { nodes { id title } } }"}
        response = requests.post(self.api, headers=self.headers, json=query)
        print(response.text)
        pass

    def get_issue(self, issue_id):
        query = {"query": f"{{ issue(id: \"{issue_id}\") {{ id title description }} }}"}
        response = requests.post(self.api, headers=self.headers, json=query)
        print(response.text)
        pass

    def get_issues(self, issue_ids):
        issues = []
        for issue_id in issue_ids:
            print(f"getting issue: {issue_id}")
            issues.append(self.get_issue(issue_id))
        return issues


# if __name__ == "__main__":
#     LinearAPI().get_issues(["pro-2019", "pro-2020"])
