librespot/protocol/proto/playlist_permission.proto

81 lines
1.8 KiB
Protocol Buffer
Raw Normal View History

// Extracted from: Spotify 1.1.61.583 (Windows)
syntax = "proto2";
package spotify.playlist_permission.proto;
option java_multiple_files = true;
option optimize_for = CODE_SIZE;
option java_package = "com.spotify.playlist.proto";
message Permission {
optional bytes revision = 1;
optional PermissionLevel permission_level = 2;
}
message Capabilities {
optional bool can_view = 1;
optional bool can_administrate_permissions = 2;
repeated PermissionLevel grantable_level = 3;
optional bool can_edit_metadata = 4;
optional bool can_edit_items = 5;
}
message CapabilitiesMultiRequest {
repeated CapabilitiesRequest request = 1;
optional string fallback_username = 2;
optional string fallback_user_id = 3;
optional string fallback_uri = 4;
}
message CapabilitiesRequest {
optional string username = 1;
optional string user_id = 2;
optional string uri = 3;
optional bool user_is_owner = 4;
}
message CapabilitiesMultiResponse {
repeated CapabilitiesResponse response = 1;
}
message CapabilitiesResponse {
optional ResponseStatus status = 1;
optional Capabilities capabilities = 2;
}
message SetPermissionLevelRequest {
optional PermissionLevel permission_level = 1;
}
message SetPermissionResponse {
optional Permission resulting_permission = 1;
}
message Permissions {
optional Permission base_permission = 1;
}
message PermissionState {
optional Permissions permissions = 1;
optional Capabilities capabilities = 2;
optional bool is_private = 3;
optional bool is_collaborative = 4;
}
message PermissionStatePub {
optional PermissionState permission_state = 1;
}
message ResponseStatus {
optional int32 status_code = 1;
optional string status_message = 2;
}
enum PermissionLevel {
UNKNOWN = 0;
BLOCKED = 1;
VIEWER = 2;
CONTRIBUTOR = 3;
}