// Extracted from: Spotify 1.1.73.517 (macOS)

syntax = "proto2";

package spotify.socialgraph.proto;

option java_multiple_files = true;
option optimize_for = CODE_SIZE;
option java_package = "com.socialgraph.proto";

message SocialGraphEntity {
    optional string user_uri = 1;
    optional string artist_uri = 2;
    optional int32 followers_count = 3;
    optional int32 following_count = 4;
    optional int32 status = 5;
    optional bool is_following = 6;
    optional bool is_followed = 7;
    optional bool is_dismissed = 8;
    optional bool is_blocked = 9;
    optional int64 following_at = 10;
    optional int64 followed_at = 11;
    optional int64 dismissed_at = 12;
    optional int64 blocked_at = 13;
}

message SocialGraphRequest {
    repeated string target_uris = 1;
    optional string source_uri = 2;
}

message SocialGraphReply {
    repeated SocialGraphEntity entities = 1;
    optional int32 num_total_entities = 2;
}

message ChangeNotification {
    optional EventType event_type = 1;
    repeated SocialGraphEntity entities = 2;
}

enum EventType {
    FOLLOW = 1;
    UNFOLLOW = 2;
}