Source code for chariot.tracker.tracker

import chariot._apis
from chariot.tracker import _utils, models

__all__ = ["create_tracker", "get_tracker", "update_tracker", "delete_tracker"]


[docs] def create_tracker( request_body: models.NewCreateTrackerRequest, ) -> models.Tracker | None: """Create a new tracker. :param request_body: The create tracker specification. :type request_body: NewCreateTrackerRequest :return: The tracker. :rtype: Optional[models.Tracker] """ response = chariot._apis.models.tracker_api.tracker_post(body=request_body.model_dump()) if not response: return None return _utils.convert_to_dataclass(response.model_dump(), models.Tracker)
[docs] def get_tracker(tracker_id: str) -> models.Tracker | None: """Get an existing tracker. :param tracker_id: The tracker id. :type tracker_id: str :return: The tracker. :rtype: Optional[models.Tracker] """ response = chariot._apis.models.tracker_api.tracker_id_get(id=tracker_id) if not response: return None return _utils.convert_to_dataclass(response.model_dump(), models.Tracker)
[docs] def update_tracker(request_body: models.NewUpdateTrackerRequest): """Update an existing tracker. :param request_body: The update tracker specification. :type request_body: NewUpdateTrackerRequest """ return chariot._apis.trackproducer.tracker_api.tracker_update_post( body=request_body.model_dump() )
[docs] def delete_tracker(tracker_id: str): """Delete an existing tracker. :param tracker_id: The tracker id. :type tracker_id: str """ return chariot._apis.models.tracker_api.tracker_id_delete(id=tracker_id)