syntax = "proto3"; package spotifatius; service Spotifatius { rpc Monitor(MonitorRequest) returns (stream MonitorResponse); rpc ToggleLiked(ToggleLikedRequest) returns (ToggleLikedResponse); } enum TrackStatus { PLAYING = 0; PAUSED = 1; STOPPED = 2; // When a track was just added to liked songs. ADDED = 3; // When a track was just removed from liked songs. REMOVED = 4; } message Track { optional string id = 1; optional string artist = 2; optional string title = 3; optional string album = 4; } message MonitorRequest {} message MonitorResponse { Track track = 1; TrackStatus status = 2; optional bool is_liked = 3; } message ToggleLikedRequest {} message ToggleLikedResponse { bool is_liked = 1; }