syntax = "proto2";

message SearchRequest {
    optional string query = 0x1;
    optional Type type = 0x2;
    enum Type {
        TRACK = 0x0;
        ALBUM = 0x1;
        ARTIST = 0x2;
        PLAYLIST = 0x3;
        USER = 0x4;
    }
    optional int32 limit = 0x3;
    optional int32 offset = 0x4;
    optional bool did_you_mean = 0x5;
    optional string spotify_uri = 0x2;
    repeated bytes file_id = 0x3;
    optional string url = 0x4;
    optional string slask_id = 0x5;
}

message Playlist {
    optional string uri = 0x1;
    optional string name = 0x2;
    repeated Image image = 0x3;
}

message User {
    optional string username = 0x1;
    optional string full_name = 0x2;
    repeated Image image = 0x3;
    optional sint32 followers = 0x4;
}

message SearchReply {
    optional sint32 hits = 0x1;
    repeated Track track = 0x2;
    repeated Album album = 0x3;
    repeated Artist artist = 0x4;
    repeated Playlist playlist = 0x5;
    optional string did_you_mean = 0x6;
    repeated User user = 0x7;
}

