from dataclasses import dataclass


@dataclass
class Annotation:
    # type: str = "influx"
    # uid: str
    datasource: str
    iconColor: str
    name: str
    query: str

    def to_json_data(self):
        return {
            "datasource": self.datasource,
            "enable": True,
            "iconColor": self.iconColor,
            "name": self.name,
            "query": self.query,
            "target": {
                "fromAnnotations": True,
                "limit": 100,
                "matchAny": False,
                "tags": [],
                "query": self.query,
                "textEditor": True,
                "type": "dashboard"
            }
        }