// Extracted from: Spotify 1.1.73.517 (macOS) // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.28.1 // protoc v3.21.12 // source: playlist_permission.proto package proto import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type PermissionLevel int32 const ( PermissionLevel_UNKNOWN PermissionLevel = 0 PermissionLevel_BLOCKED PermissionLevel = 1 PermissionLevel_VIEWER PermissionLevel = 2 PermissionLevel_CONTRIBUTOR PermissionLevel = 3 ) // Enum value maps for PermissionLevel. var ( PermissionLevel_name = map[int32]string{ 0: "UNKNOWN", 1: "BLOCKED", 2: "VIEWER", 3: "CONTRIBUTOR", } PermissionLevel_value = map[string]int32{ "UNKNOWN": 0, "BLOCKED": 1, "VIEWER": 2, "CONTRIBUTOR": 3, } ) func (x PermissionLevel) Enum() *PermissionLevel { p := new(PermissionLevel) *p = x return p } func (x PermissionLevel) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (PermissionLevel) Descriptor() protoreflect.EnumDescriptor { return file_playlist_permission_proto_enumTypes[0].Descriptor() } func (PermissionLevel) Type() protoreflect.EnumType { return &file_playlist_permission_proto_enumTypes[0] } func (x PermissionLevel) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Do not use. func (x *PermissionLevel) UnmarshalJSON(b []byte) error { num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) if err != nil { return err } *x = PermissionLevel(num) return nil } // Deprecated: Use PermissionLevel.Descriptor instead. func (PermissionLevel) EnumDescriptor() ([]byte, []int) { return file_playlist_permission_proto_rawDescGZIP(), []int{0} } type Permission struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Revision []byte `protobuf:"bytes,1,opt,name=revision" json:"revision,omitempty"` PermissionLevel *PermissionLevel `protobuf:"varint,2,opt,name=permission_level,json=permissionLevel,enum=spotify.playlist_permission.proto.PermissionLevel" json:"permission_level,omitempty"` } func (x *Permission) Reset() { *x = Permission{} if protoimpl.UnsafeEnabled { mi := &file_playlist_permission_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Permission) String() string { return protoimpl.X.MessageStringOf(x) } func (*Permission) ProtoMessage() {} func (x *Permission) ProtoReflect() protoreflect.Message { mi := &file_playlist_permission_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Permission.ProtoReflect.Descriptor instead. func (*Permission) Descriptor() ([]byte, []int) { return file_playlist_permission_proto_rawDescGZIP(), []int{0} } func (x *Permission) GetRevision() []byte { if x != nil { return x.Revision } return nil } func (x *Permission) GetPermissionLevel() PermissionLevel { if x != nil && x.PermissionLevel != nil { return *x.PermissionLevel } return PermissionLevel_UNKNOWN } type Capabilities struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields CanView *bool `protobuf:"varint,1,opt,name=can_view,json=canView" json:"can_view,omitempty"` CanAdministratePermissions *bool `protobuf:"varint,2,opt,name=can_administrate_permissions,json=canAdministratePermissions" json:"can_administrate_permissions,omitempty"` GrantableLevel []PermissionLevel `protobuf:"varint,3,rep,name=grantable_level,json=grantableLevel,enum=spotify.playlist_permission.proto.PermissionLevel" json:"grantable_level,omitempty"` CanEditMetadata *bool `protobuf:"varint,4,opt,name=can_edit_metadata,json=canEditMetadata" json:"can_edit_metadata,omitempty"` CanEditItems *bool `protobuf:"varint,5,opt,name=can_edit_items,json=canEditItems" json:"can_edit_items,omitempty"` CanCancelMembership *bool `protobuf:"varint,6,opt,name=can_cancel_membership,json=canCancelMembership" json:"can_cancel_membership,omitempty"` } func (x *Capabilities) Reset() { *x = Capabilities{} if protoimpl.UnsafeEnabled { mi := &file_playlist_permission_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Capabilities) String() string { return protoimpl.X.MessageStringOf(x) } func (*Capabilities) ProtoMessage() {} func (x *Capabilities) ProtoReflect() protoreflect.Message { mi := &file_playlist_permission_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Capabilities.ProtoReflect.Descriptor instead. func (*Capabilities) Descriptor() ([]byte, []int) { return file_playlist_permission_proto_rawDescGZIP(), []int{1} } func (x *Capabilities) GetCanView() bool { if x != nil && x.CanView != nil { return *x.CanView } return false } func (x *Capabilities) GetCanAdministratePermissions() bool { if x != nil && x.CanAdministratePermissions != nil { return *x.CanAdministratePermissions } return false } func (x *Capabilities) GetGrantableLevel() []PermissionLevel { if x != nil { return x.GrantableLevel } return nil } func (x *Capabilities) GetCanEditMetadata() bool { if x != nil && x.CanEditMetadata != nil { return *x.CanEditMetadata } return false } func (x *Capabilities) GetCanEditItems() bool { if x != nil && x.CanEditItems != nil { return *x.CanEditItems } return false } func (x *Capabilities) GetCanCancelMembership() bool { if x != nil && x.CanCancelMembership != nil { return *x.CanCancelMembership } return false } type CapabilitiesMultiRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Request []*CapabilitiesRequest `protobuf:"bytes,1,rep,name=request" json:"request,omitempty"` FallbackUsername *string `protobuf:"bytes,2,opt,name=fallback_username,json=fallbackUsername" json:"fallback_username,omitempty"` FallbackUserId *string `protobuf:"bytes,3,opt,name=fallback_user_id,json=fallbackUserId" json:"fallback_user_id,omitempty"` FallbackUri *string `protobuf:"bytes,4,opt,name=fallback_uri,json=fallbackUri" json:"fallback_uri,omitempty"` } func (x *CapabilitiesMultiRequest) Reset() { *x = CapabilitiesMultiRequest{} if protoimpl.UnsafeEnabled { mi := &file_playlist_permission_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CapabilitiesMultiRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CapabilitiesMultiRequest) ProtoMessage() {} func (x *CapabilitiesMultiRequest) ProtoReflect() protoreflect.Message { mi := &file_playlist_permission_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CapabilitiesMultiRequest.ProtoReflect.Descriptor instead. func (*CapabilitiesMultiRequest) Descriptor() ([]byte, []int) { return file_playlist_permission_proto_rawDescGZIP(), []int{2} } func (x *CapabilitiesMultiRequest) GetRequest() []*CapabilitiesRequest { if x != nil { return x.Request } return nil } func (x *CapabilitiesMultiRequest) GetFallbackUsername() string { if x != nil && x.FallbackUsername != nil { return *x.FallbackUsername } return "" } func (x *CapabilitiesMultiRequest) GetFallbackUserId() string { if x != nil && x.FallbackUserId != nil { return *x.FallbackUserId } return "" } func (x *CapabilitiesMultiRequest) GetFallbackUri() string { if x != nil && x.FallbackUri != nil { return *x.FallbackUri } return "" } type CapabilitiesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Username *string `protobuf:"bytes,1,opt,name=username" json:"username,omitempty"` UserId *string `protobuf:"bytes,2,opt,name=user_id,json=userId" json:"user_id,omitempty"` Uri *string `protobuf:"bytes,3,opt,name=uri" json:"uri,omitempty"` UserIsOwner *bool `protobuf:"varint,4,opt,name=user_is_owner,json=userIsOwner" json:"user_is_owner,omitempty"` } func (x *CapabilitiesRequest) Reset() { *x = CapabilitiesRequest{} if protoimpl.UnsafeEnabled { mi := &file_playlist_permission_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CapabilitiesRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CapabilitiesRequest) ProtoMessage() {} func (x *CapabilitiesRequest) ProtoReflect() protoreflect.Message { mi := &file_playlist_permission_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CapabilitiesRequest.ProtoReflect.Descriptor instead. func (*CapabilitiesRequest) Descriptor() ([]byte, []int) { return file_playlist_permission_proto_rawDescGZIP(), []int{3} } func (x *CapabilitiesRequest) GetUsername() string { if x != nil && x.Username != nil { return *x.Username } return "" } func (x *CapabilitiesRequest) GetUserId() string { if x != nil && x.UserId != nil { return *x.UserId } return "" } func (x *CapabilitiesRequest) GetUri() string { if x != nil && x.Uri != nil { return *x.Uri } return "" } func (x *CapabilitiesRequest) GetUserIsOwner() bool { if x != nil && x.UserIsOwner != nil { return *x.UserIsOwner } return false } type CapabilitiesMultiResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Response []*CapabilitiesResponse `protobuf:"bytes,1,rep,name=response" json:"response,omitempty"` } func (x *CapabilitiesMultiResponse) Reset() { *x = CapabilitiesMultiResponse{} if protoimpl.UnsafeEnabled { mi := &file_playlist_permission_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CapabilitiesMultiResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*CapabilitiesMultiResponse) ProtoMessage() {} func (x *CapabilitiesMultiResponse) ProtoReflect() protoreflect.Message { mi := &file_playlist_permission_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CapabilitiesMultiResponse.ProtoReflect.Descriptor instead. func (*CapabilitiesMultiResponse) Descriptor() ([]byte, []int) { return file_playlist_permission_proto_rawDescGZIP(), []int{4} } func (x *CapabilitiesMultiResponse) GetResponse() []*CapabilitiesResponse { if x != nil { return x.Response } return nil } type CapabilitiesResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Status *ResponseStatus `protobuf:"bytes,1,opt,name=status" json:"status,omitempty"` Capabilities *Capabilities `protobuf:"bytes,2,opt,name=capabilities" json:"capabilities,omitempty"` } func (x *CapabilitiesResponse) Reset() { *x = CapabilitiesResponse{} if protoimpl.UnsafeEnabled { mi := &file_playlist_permission_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CapabilitiesResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*CapabilitiesResponse) ProtoMessage() {} func (x *CapabilitiesResponse) ProtoReflect() protoreflect.Message { mi := &file_playlist_permission_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CapabilitiesResponse.ProtoReflect.Descriptor instead. func (*CapabilitiesResponse) Descriptor() ([]byte, []int) { return file_playlist_permission_proto_rawDescGZIP(), []int{5} } func (x *CapabilitiesResponse) GetStatus() *ResponseStatus { if x != nil { return x.Status } return nil } func (x *CapabilitiesResponse) GetCapabilities() *Capabilities { if x != nil { return x.Capabilities } return nil } type SetPermissionLevelRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PermissionLevel *PermissionLevel `protobuf:"varint,1,opt,name=permission_level,json=permissionLevel,enum=spotify.playlist_permission.proto.PermissionLevel" json:"permission_level,omitempty"` } func (x *SetPermissionLevelRequest) Reset() { *x = SetPermissionLevelRequest{} if protoimpl.UnsafeEnabled { mi := &file_playlist_permission_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SetPermissionLevelRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*SetPermissionLevelRequest) ProtoMessage() {} func (x *SetPermissionLevelRequest) ProtoReflect() protoreflect.Message { mi := &file_playlist_permission_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SetPermissionLevelRequest.ProtoReflect.Descriptor instead. func (*SetPermissionLevelRequest) Descriptor() ([]byte, []int) { return file_playlist_permission_proto_rawDescGZIP(), []int{6} } func (x *SetPermissionLevelRequest) GetPermissionLevel() PermissionLevel { if x != nil && x.PermissionLevel != nil { return *x.PermissionLevel } return PermissionLevel_UNKNOWN } type SetPermissionResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ResultingPermission *Permission `protobuf:"bytes,1,opt,name=resulting_permission,json=resultingPermission" json:"resulting_permission,omitempty"` } func (x *SetPermissionResponse) Reset() { *x = SetPermissionResponse{} if protoimpl.UnsafeEnabled { mi := &file_playlist_permission_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SetPermissionResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*SetPermissionResponse) ProtoMessage() {} func (x *SetPermissionResponse) ProtoReflect() protoreflect.Message { mi := &file_playlist_permission_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SetPermissionResponse.ProtoReflect.Descriptor instead. func (*SetPermissionResponse) Descriptor() ([]byte, []int) { return file_playlist_permission_proto_rawDescGZIP(), []int{7} } func (x *SetPermissionResponse) GetResultingPermission() *Permission { if x != nil { return x.ResultingPermission } return nil } type GetMemberPermissionsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields MemberPermissions map[string]*Permission `protobuf:"bytes,1,rep,name=member_permissions,json=memberPermissions" json:"member_permissions,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` } func (x *GetMemberPermissionsResponse) Reset() { *x = GetMemberPermissionsResponse{} if protoimpl.UnsafeEnabled { mi := &file_playlist_permission_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetMemberPermissionsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetMemberPermissionsResponse) ProtoMessage() {} func (x *GetMemberPermissionsResponse) ProtoReflect() protoreflect.Message { mi := &file_playlist_permission_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GetMemberPermissionsResponse.ProtoReflect.Descriptor instead. func (*GetMemberPermissionsResponse) Descriptor() ([]byte, []int) { return file_playlist_permission_proto_rawDescGZIP(), []int{8} } func (x *GetMemberPermissionsResponse) GetMemberPermissions() map[string]*Permission { if x != nil { return x.MemberPermissions } return nil } type Permissions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields BasePermission *Permission `protobuf:"bytes,1,opt,name=base_permission,json=basePermission" json:"base_permission,omitempty"` } func (x *Permissions) Reset() { *x = Permissions{} if protoimpl.UnsafeEnabled { mi := &file_playlist_permission_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Permissions) String() string { return protoimpl.X.MessageStringOf(x) } func (*Permissions) ProtoMessage() {} func (x *Permissions) ProtoReflect() protoreflect.Message { mi := &file_playlist_permission_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Permissions.ProtoReflect.Descriptor instead. func (*Permissions) Descriptor() ([]byte, []int) { return file_playlist_permission_proto_rawDescGZIP(), []int{9} } func (x *Permissions) GetBasePermission() *Permission { if x != nil { return x.BasePermission } return nil } type PermissionState struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Permissions *Permissions `protobuf:"bytes,1,opt,name=permissions" json:"permissions,omitempty"` Capabilities *Capabilities `protobuf:"bytes,2,opt,name=capabilities" json:"capabilities,omitempty"` IsPrivate *bool `protobuf:"varint,3,opt,name=is_private,json=isPrivate" json:"is_private,omitempty"` IsCollaborative *bool `protobuf:"varint,4,opt,name=is_collaborative,json=isCollaborative" json:"is_collaborative,omitempty"` } func (x *PermissionState) Reset() { *x = PermissionState{} if protoimpl.UnsafeEnabled { mi := &file_playlist_permission_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PermissionState) String() string { return protoimpl.X.MessageStringOf(x) } func (*PermissionState) ProtoMessage() {} func (x *PermissionState) ProtoReflect() protoreflect.Message { mi := &file_playlist_permission_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PermissionState.ProtoReflect.Descriptor instead. func (*PermissionState) Descriptor() ([]byte, []int) { return file_playlist_permission_proto_rawDescGZIP(), []int{10} } func (x *PermissionState) GetPermissions() *Permissions { if x != nil { return x.Permissions } return nil } func (x *PermissionState) GetCapabilities() *Capabilities { if x != nil { return x.Capabilities } return nil } func (x *PermissionState) GetIsPrivate() bool { if x != nil && x.IsPrivate != nil { return *x.IsPrivate } return false } func (x *PermissionState) GetIsCollaborative() bool { if x != nil && x.IsCollaborative != nil { return *x.IsCollaborative } return false } type PermissionStatePub struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PermissionState *PermissionState `protobuf:"bytes,1,opt,name=permission_state,json=permissionState" json:"permission_state,omitempty"` } func (x *PermissionStatePub) Reset() { *x = PermissionStatePub{} if protoimpl.UnsafeEnabled { mi := &file_playlist_permission_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PermissionStatePub) String() string { return protoimpl.X.MessageStringOf(x) } func (*PermissionStatePub) ProtoMessage() {} func (x *PermissionStatePub) ProtoReflect() protoreflect.Message { mi := &file_playlist_permission_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PermissionStatePub.ProtoReflect.Descriptor instead. func (*PermissionStatePub) Descriptor() ([]byte, []int) { return file_playlist_permission_proto_rawDescGZIP(), []int{11} } func (x *PermissionStatePub) GetPermissionState() *PermissionState { if x != nil { return x.PermissionState } return nil } type PermissionGrantOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Permission *Permission `protobuf:"bytes,1,opt,name=permission" json:"permission,omitempty"` TtlMs *int64 `protobuf:"varint,2,opt,name=ttl_ms,json=ttlMs" json:"ttl_ms,omitempty"` } func (x *PermissionGrantOptions) Reset() { *x = PermissionGrantOptions{} if protoimpl.UnsafeEnabled { mi := &file_playlist_permission_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PermissionGrantOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*PermissionGrantOptions) ProtoMessage() {} func (x *PermissionGrantOptions) ProtoReflect() protoreflect.Message { mi := &file_playlist_permission_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PermissionGrantOptions.ProtoReflect.Descriptor instead. func (*PermissionGrantOptions) Descriptor() ([]byte, []int) { return file_playlist_permission_proto_rawDescGZIP(), []int{12} } func (x *PermissionGrantOptions) GetPermission() *Permission { if x != nil { return x.Permission } return nil } func (x *PermissionGrantOptions) GetTtlMs() int64 { if x != nil && x.TtlMs != nil { return *x.TtlMs } return 0 } type PermissionGrant struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Token *string `protobuf:"bytes,1,opt,name=token" json:"token,omitempty"` PermissionGrantOptions *PermissionGrantOptions `protobuf:"bytes,2,opt,name=permission_grant_options,json=permissionGrantOptions" json:"permission_grant_options,omitempty"` } func (x *PermissionGrant) Reset() { *x = PermissionGrant{} if protoimpl.UnsafeEnabled { mi := &file_playlist_permission_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PermissionGrant) String() string { return protoimpl.X.MessageStringOf(x) } func (*PermissionGrant) ProtoMessage() {} func (x *PermissionGrant) ProtoReflect() protoreflect.Message { mi := &file_playlist_permission_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PermissionGrant.ProtoReflect.Descriptor instead. func (*PermissionGrant) Descriptor() ([]byte, []int) { return file_playlist_permission_proto_rawDescGZIP(), []int{13} } func (x *PermissionGrant) GetToken() string { if x != nil && x.Token != nil { return *x.Token } return "" } func (x *PermissionGrant) GetPermissionGrantOptions() *PermissionGrantOptions { if x != nil { return x.PermissionGrantOptions } return nil } type ClaimPermissionGrantResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserPermission *Permission `protobuf:"bytes,1,opt,name=user_permission,json=userPermission" json:"user_permission,omitempty"` Capabilities *Capabilities `protobuf:"bytes,2,opt,name=capabilities" json:"capabilities,omitempty"` } func (x *ClaimPermissionGrantResponse) Reset() { *x = ClaimPermissionGrantResponse{} if protoimpl.UnsafeEnabled { mi := &file_playlist_permission_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClaimPermissionGrantResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClaimPermissionGrantResponse) ProtoMessage() {} func (x *ClaimPermissionGrantResponse) ProtoReflect() protoreflect.Message { mi := &file_playlist_permission_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ClaimPermissionGrantResponse.ProtoReflect.Descriptor instead. func (*ClaimPermissionGrantResponse) Descriptor() ([]byte, []int) { return file_playlist_permission_proto_rawDescGZIP(), []int{14} } func (x *ClaimPermissionGrantResponse) GetUserPermission() *Permission { if x != nil { return x.UserPermission } return nil } func (x *ClaimPermissionGrantResponse) GetCapabilities() *Capabilities { if x != nil { return x.Capabilities } return nil } type ResponseStatus struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields StatusCode *int32 `protobuf:"varint,1,opt,name=status_code,json=statusCode" json:"status_code,omitempty"` StatusMessage *string `protobuf:"bytes,2,opt,name=status_message,json=statusMessage" json:"status_message,omitempty"` } func (x *ResponseStatus) Reset() { *x = ResponseStatus{} if protoimpl.UnsafeEnabled { mi := &file_playlist_permission_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ResponseStatus) String() string { return protoimpl.X.MessageStringOf(x) } func (*ResponseStatus) ProtoMessage() {} func (x *ResponseStatus) ProtoReflect() protoreflect.Message { mi := &file_playlist_permission_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ResponseStatus.ProtoReflect.Descriptor instead. func (*ResponseStatus) Descriptor() ([]byte, []int) { return file_playlist_permission_proto_rawDescGZIP(), []int{15} } func (x *ResponseStatus) GetStatusCode() int32 { if x != nil && x.StatusCode != nil { return *x.StatusCode } return 0 } func (x *ResponseStatus) GetStatusMessage() string { if x != nil && x.StatusMessage != nil { return *x.StatusMessage } return "" } var File_playlist_permission_proto protoreflect.FileDescriptor var file_playlist_permission_proto_rawDesc = []byte{ 0x0a, 0x19, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x21, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x87, 0x01, 0x0a, 0x0a, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x5d, 0x0a, 0x10, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x0f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0xce, 0x02, 0x0a, 0x0c, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x61, 0x6e, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x61, 0x6e, 0x56, 0x69, 0x65, 0x77, 0x12, 0x40, 0x0a, 0x1c, 0x63, 0x61, 0x6e, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x63, 0x61, 0x6e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5b, 0x0a, 0x0f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x0e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x61, 0x6e, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x61, 0x6e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x61, 0x6e, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x63, 0x61, 0x6e, 0x45, 0x64, 0x69, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x61, 0x6e, 0x5f, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x63, 0x61, 0x6e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x22, 0xe6, 0x01, 0x0a, 0x18, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x55, 0x72, 0x69, 0x22, 0x80, 0x01, 0x0a, 0x13, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x22, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x73, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x49, 0x73, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x22, 0x70, 0x0a, 0x19, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb6, 0x01, 0x0a, 0x14, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x53, 0x0a, 0x0c, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x0c, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x22, 0x7a, 0x0a, 0x19, 0x53, 0x65, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x5d, 0x0a, 0x10, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x0f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0x79, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x14, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x9b, 0x02, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x85, 0x01, 0x0a, 0x12, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x56, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x73, 0x0a, 0x16, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x43, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x65, 0x0a, 0x0b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x56, 0x0a, 0x0f, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x62, 0x61, 0x73, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x82, 0x02, 0x0a, 0x0f, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x50, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x53, 0x0a, 0x0c, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x0c, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x22, 0x73, 0x0a, 0x12, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x50, 0x75, 0x62, 0x12, 0x5d, 0x0a, 0x10, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0x7e, 0x0a, 0x16, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4d, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x74, 0x74, 0x6c, 0x5f, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x74, 0x74, 0x6c, 0x4d, 0x73, 0x22, 0x9c, 0x01, 0x0a, 0x0f, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x73, 0x0a, 0x18, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x16, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xcb, 0x01, 0x0a, 0x1c, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x0f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x75, 0x73, 0x65, 0x72, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x53, 0x0a, 0x0c, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x0c, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x22, 0x58, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2a, 0x48, 0x0a, 0x0f, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x56, 0x49, 0x45, 0x57, 0x45, 0x52, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x4f, 0x52, 0x10, 0x03, 0x42, 0x43, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x48, 0x02, 0x50, 0x01, 0x5a, 0x21, 0x74, 0x75, 0x78, 0x70, 0x61, 0x2e, 0x69, 0x6e, 0x2f, 0x61, 0x2f, 0x67, 0x6f, 0x70, 0x6c, 0x61, 0x79, 0x64, 0x2f, 0x6c, 0x69, 0x62, 0x2f, 0x73, 0x70, 0x6f, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, } var ( file_playlist_permission_proto_rawDescOnce sync.Once file_playlist_permission_proto_rawDescData = file_playlist_permission_proto_rawDesc ) func file_playlist_permission_proto_rawDescGZIP() []byte { file_playlist_permission_proto_rawDescOnce.Do(func() { file_playlist_permission_proto_rawDescData = protoimpl.X.CompressGZIP(file_playlist_permission_proto_rawDescData) }) return file_playlist_permission_proto_rawDescData } var file_playlist_permission_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_playlist_permission_proto_msgTypes = make([]protoimpl.MessageInfo, 17) var file_playlist_permission_proto_goTypes = []interface{}{ (PermissionLevel)(0), // 0: spotify.playlist_permission.proto.PermissionLevel (*Permission)(nil), // 1: spotify.playlist_permission.proto.Permission (*Capabilities)(nil), // 2: spotify.playlist_permission.proto.Capabilities (*CapabilitiesMultiRequest)(nil), // 3: spotify.playlist_permission.proto.CapabilitiesMultiRequest (*CapabilitiesRequest)(nil), // 4: spotify.playlist_permission.proto.CapabilitiesRequest (*CapabilitiesMultiResponse)(nil), // 5: spotify.playlist_permission.proto.CapabilitiesMultiResponse (*CapabilitiesResponse)(nil), // 6: spotify.playlist_permission.proto.CapabilitiesResponse (*SetPermissionLevelRequest)(nil), // 7: spotify.playlist_permission.proto.SetPermissionLevelRequest (*SetPermissionResponse)(nil), // 8: spotify.playlist_permission.proto.SetPermissionResponse (*GetMemberPermissionsResponse)(nil), // 9: spotify.playlist_permission.proto.GetMemberPermissionsResponse (*Permissions)(nil), // 10: spotify.playlist_permission.proto.Permissions (*PermissionState)(nil), // 11: spotify.playlist_permission.proto.PermissionState (*PermissionStatePub)(nil), // 12: spotify.playlist_permission.proto.PermissionStatePub (*PermissionGrantOptions)(nil), // 13: spotify.playlist_permission.proto.PermissionGrantOptions (*PermissionGrant)(nil), // 14: spotify.playlist_permission.proto.PermissionGrant (*ClaimPermissionGrantResponse)(nil), // 15: spotify.playlist_permission.proto.ClaimPermissionGrantResponse (*ResponseStatus)(nil), // 16: spotify.playlist_permission.proto.ResponseStatus nil, // 17: spotify.playlist_permission.proto.GetMemberPermissionsResponse.MemberPermissionsEntry } var file_playlist_permission_proto_depIdxs = []int32{ 0, // 0: spotify.playlist_permission.proto.Permission.permission_level:type_name -> spotify.playlist_permission.proto.PermissionLevel 0, // 1: spotify.playlist_permission.proto.Capabilities.grantable_level:type_name -> spotify.playlist_permission.proto.PermissionLevel 4, // 2: spotify.playlist_permission.proto.CapabilitiesMultiRequest.request:type_name -> spotify.playlist_permission.proto.CapabilitiesRequest 6, // 3: spotify.playlist_permission.proto.CapabilitiesMultiResponse.response:type_name -> spotify.playlist_permission.proto.CapabilitiesResponse 16, // 4: spotify.playlist_permission.proto.CapabilitiesResponse.status:type_name -> spotify.playlist_permission.proto.ResponseStatus 2, // 5: spotify.playlist_permission.proto.CapabilitiesResponse.capabilities:type_name -> spotify.playlist_permission.proto.Capabilities 0, // 6: spotify.playlist_permission.proto.SetPermissionLevelRequest.permission_level:type_name -> spotify.playlist_permission.proto.PermissionLevel 1, // 7: spotify.playlist_permission.proto.SetPermissionResponse.resulting_permission:type_name -> spotify.playlist_permission.proto.Permission 17, // 8: spotify.playlist_permission.proto.GetMemberPermissionsResponse.member_permissions:type_name -> spotify.playlist_permission.proto.GetMemberPermissionsResponse.MemberPermissionsEntry 1, // 9: spotify.playlist_permission.proto.Permissions.base_permission:type_name -> spotify.playlist_permission.proto.Permission 10, // 10: spotify.playlist_permission.proto.PermissionState.permissions:type_name -> spotify.playlist_permission.proto.Permissions 2, // 11: spotify.playlist_permission.proto.PermissionState.capabilities:type_name -> spotify.playlist_permission.proto.Capabilities 11, // 12: spotify.playlist_permission.proto.PermissionStatePub.permission_state:type_name -> spotify.playlist_permission.proto.PermissionState 1, // 13: spotify.playlist_permission.proto.PermissionGrantOptions.permission:type_name -> spotify.playlist_permission.proto.Permission 13, // 14: spotify.playlist_permission.proto.PermissionGrant.permission_grant_options:type_name -> spotify.playlist_permission.proto.PermissionGrantOptions 1, // 15: spotify.playlist_permission.proto.ClaimPermissionGrantResponse.user_permission:type_name -> spotify.playlist_permission.proto.Permission 2, // 16: spotify.playlist_permission.proto.ClaimPermissionGrantResponse.capabilities:type_name -> spotify.playlist_permission.proto.Capabilities 1, // 17: spotify.playlist_permission.proto.GetMemberPermissionsResponse.MemberPermissionsEntry.value:type_name -> spotify.playlist_permission.proto.Permission 18, // [18:18] is the sub-list for method output_type 18, // [18:18] is the sub-list for method input_type 18, // [18:18] is the sub-list for extension type_name 18, // [18:18] is the sub-list for extension extendee 0, // [0:18] is the sub-list for field type_name } func init() { file_playlist_permission_proto_init() } func file_playlist_permission_proto_init() { if File_playlist_permission_proto != nil { return } if !protoimpl.UnsafeEnabled { file_playlist_permission_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Permission); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_playlist_permission_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Capabilities); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_playlist_permission_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CapabilitiesMultiRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_playlist_permission_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CapabilitiesRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_playlist_permission_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CapabilitiesMultiResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_playlist_permission_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CapabilitiesResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_playlist_permission_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetPermissionLevelRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_playlist_permission_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetPermissionResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_playlist_permission_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetMemberPermissionsResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_playlist_permission_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Permissions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_playlist_permission_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PermissionState); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_playlist_permission_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PermissionStatePub); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_playlist_permission_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PermissionGrantOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_playlist_permission_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PermissionGrant); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_playlist_permission_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClaimPermissionGrantResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_playlist_permission_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResponseStatus); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_playlist_permission_proto_rawDesc, NumEnums: 1, NumMessages: 17, NumExtensions: 0, NumServices: 0, }, GoTypes: file_playlist_permission_proto_goTypes, DependencyIndexes: file_playlist_permission_proto_depIdxs, EnumInfos: file_playlist_permission_proto_enumTypes, MessageInfos: file_playlist_permission_proto_msgTypes, }.Build() File_playlist_permission_proto = out.File file_playlist_permission_proto_rawDesc = nil file_playlist_permission_proto_goTypes = nil file_playlist_permission_proto_depIdxs = nil }