// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. // See LICENSE.txt for license information. // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.6 // protoc v6.33.4 // source: channel.proto package pluginapiv1 import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" structpb "google.golang.org/protobuf/types/known/structpb" reflect "reflect" sync "sync" unsafe "unsafe" ) 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) ) // ChannelType represents the type of a channel. // Maps to model.ChannelType in Go. type ChannelType int32 const ( // Unspecified channel type (should not be used) ChannelType_CHANNEL_TYPE_UNSPECIFIED ChannelType = 0 // Open/public channel (anyone can join) ChannelType_CHANNEL_TYPE_OPEN ChannelType = 1 // Private channel (invitation only) ChannelType_CHANNEL_TYPE_PRIVATE ChannelType = 2 // Direct message between two users ChannelType_CHANNEL_TYPE_DIRECT ChannelType = 3 // Group message between 3-8 users ChannelType_CHANNEL_TYPE_GROUP ChannelType = 4 ) // Enum value maps for ChannelType. var ( ChannelType_name = map[int32]string{ 0: "CHANNEL_TYPE_UNSPECIFIED", 1: "CHANNEL_TYPE_OPEN", 2: "CHANNEL_TYPE_PRIVATE", 3: "CHANNEL_TYPE_DIRECT", 4: "CHANNEL_TYPE_GROUP", } ChannelType_value = map[string]int32{ "CHANNEL_TYPE_UNSPECIFIED": 0, "CHANNEL_TYPE_OPEN": 1, "CHANNEL_TYPE_PRIVATE": 2, "CHANNEL_TYPE_DIRECT": 3, "CHANNEL_TYPE_GROUP": 4, } ) func (x ChannelType) Enum() *ChannelType { p := new(ChannelType) *p = x return p } func (x ChannelType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (ChannelType) Descriptor() protoreflect.EnumDescriptor { return file_channel_proto_enumTypes[0].Descriptor() } func (ChannelType) Type() protoreflect.EnumType { return &file_channel_proto_enumTypes[0] } func (x ChannelType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use ChannelType.Descriptor instead. func (ChannelType) EnumDescriptor() ([]byte, []int) { return file_channel_proto_rawDescGZIP(), []int{0} } // ChannelBannerInfo contains information about a channel's banner. // Maps to model.ChannelBannerInfo in Go. type ChannelBannerInfo struct { state protoimpl.MessageState `protogen:"open.v1"` // Whether the banner is enabled Enabled *bool `protobuf:"varint,1,opt,name=enabled,proto3,oneof" json:"enabled,omitempty"` // The banner text content Text *string `protobuf:"bytes,2,opt,name=text,proto3,oneof" json:"text,omitempty"` // The banner background color (hex format, e.g., "#FF0000") BackgroundColor *string `protobuf:"bytes,3,opt,name=background_color,json=backgroundColor,proto3,oneof" json:"background_color,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *ChannelBannerInfo) Reset() { *x = ChannelBannerInfo{} mi := &file_channel_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *ChannelBannerInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChannelBannerInfo) ProtoMessage() {} func (x *ChannelBannerInfo) ProtoReflect() protoreflect.Message { mi := &file_channel_proto_msgTypes[0] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ChannelBannerInfo.ProtoReflect.Descriptor instead. func (*ChannelBannerInfo) Descriptor() ([]byte, []int) { return file_channel_proto_rawDescGZIP(), []int{0} } func (x *ChannelBannerInfo) GetEnabled() bool { if x != nil && x.Enabled != nil { return *x.Enabled } return false } func (x *ChannelBannerInfo) GetText() string { if x != nil && x.Text != nil { return *x.Text } return "" } func (x *ChannelBannerInfo) GetBackgroundColor() string { if x != nil && x.BackgroundColor != nil { return *x.BackgroundColor } return "" } // Channel represents a Mattermost channel. // Maps to model.Channel in Go. type Channel struct { state protoimpl.MessageState `protogen:"open.v1"` // Unique identifier for the channel (26-char ID) Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // Timestamp when the channel was created (milliseconds since epoch) CreateAt int64 `protobuf:"varint,2,opt,name=create_at,json=createAt,proto3" json:"create_at,omitempty"` // Timestamp when the channel was last updated (milliseconds since epoch) UpdateAt int64 `protobuf:"varint,3,opt,name=update_at,json=updateAt,proto3" json:"update_at,omitempty"` // Timestamp when the channel was deleted (0 if not deleted, milliseconds since epoch) DeleteAt int64 `protobuf:"varint,4,opt,name=delete_at,json=deleteAt,proto3" json:"delete_at,omitempty"` // ID of the team this channel belongs to (empty for DMs/GMs) TeamId string `protobuf:"bytes,5,opt,name=team_id,json=teamId,proto3" json:"team_id,omitempty"` // The type of channel Type ChannelType `protobuf:"varint,6,opt,name=type,proto3,enum=mattermost.pluginapi.v1.ChannelType" json:"type,omitempty"` // The channel's display name DisplayName string `protobuf:"bytes,7,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` // The channel's URL-friendly name (unique within team) Name string `protobuf:"bytes,8,opt,name=name,proto3" json:"name,omitempty"` // The channel header text (appears at top of channel) Header string `protobuf:"bytes,9,opt,name=header,proto3" json:"header,omitempty"` // The channel's purpose description Purpose string `protobuf:"bytes,10,opt,name=purpose,proto3" json:"purpose,omitempty"` // Timestamp of the last post in this channel (milliseconds since epoch) LastPostAt int64 `protobuf:"varint,11,opt,name=last_post_at,json=lastPostAt,proto3" json:"last_post_at,omitempty"` // Total number of messages in the channel TotalMsgCount int64 `protobuf:"varint,12,opt,name=total_msg_count,json=totalMsgCount,proto3" json:"total_msg_count,omitempty"` // Timestamp for extra data updates (milliseconds since epoch) ExtraUpdateAt int64 `protobuf:"varint,13,opt,name=extra_update_at,json=extraUpdateAt,proto3" json:"extra_update_at,omitempty"` // ID of the user who created the channel CreatorId string `protobuf:"bytes,14,opt,name=creator_id,json=creatorId,proto3" json:"creator_id,omitempty"` // ID of the permission scheme applied to this channel SchemeId *string `protobuf:"bytes,15,opt,name=scheme_id,json=schemeId,proto3,oneof" json:"scheme_id,omitempty"` // Channel-specific properties (arbitrary JSON data) // Maps to map[string]any in Go Props *structpb.Struct `protobuf:"bytes,16,opt,name=props,proto3" json:"props,omitempty"` // Whether the channel membership is constrained by group sync GroupConstrained *bool `protobuf:"varint,17,opt,name=group_constrained,json=groupConstrained,proto3,oneof" json:"group_constrained,omitempty"` // Whether auto-translation is enabled for this channel AutoTranslation bool `protobuf:"varint,18,opt,name=auto_translation,json=autoTranslation,proto3" json:"auto_translation,omitempty"` // Whether this channel is shared with other servers Shared *bool `protobuf:"varint,19,opt,name=shared,proto3,oneof" json:"shared,omitempty"` // Total number of root messages (excluding replies) TotalMsgCountRoot int64 `protobuf:"varint,20,opt,name=total_msg_count_root,json=totalMsgCountRoot,proto3" json:"total_msg_count_root,omitempty"` // ID of the data retention policy applied to this channel PolicyId *string `protobuf:"bytes,21,opt,name=policy_id,json=policyId,proto3,oneof" json:"policy_id,omitempty"` // Timestamp of the last root post (milliseconds since epoch) LastRootPostAt int64 `protobuf:"varint,22,opt,name=last_root_post_at,json=lastRootPostAt,proto3" json:"last_root_post_at,omitempty"` // Banner information for the channel BannerInfo *ChannelBannerInfo `protobuf:"bytes,23,opt,name=banner_info,json=bannerInfo,proto3,oneof" json:"banner_info,omitempty"` // Whether a data retention policy is enforced on this channel PolicyEnforced bool `protobuf:"varint,24,opt,name=policy_enforced,json=policyEnforced,proto3" json:"policy_enforced,omitempty"` // Whether the data retention policy is currently active PolicyIsActive bool `protobuf:"varint,25,opt,name=policy_is_active,json=policyIsActive,proto3" json:"policy_is_active,omitempty"` // Default sidebar category name for this channel DefaultCategoryName string `protobuf:"bytes,26,opt,name=default_category_name,json=defaultCategoryName,proto3" json:"default_category_name,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *Channel) Reset() { *x = Channel{} mi := &file_channel_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *Channel) String() string { return protoimpl.X.MessageStringOf(x) } func (*Channel) ProtoMessage() {} func (x *Channel) ProtoReflect() protoreflect.Message { mi := &file_channel_proto_msgTypes[1] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Channel.ProtoReflect.Descriptor instead. func (*Channel) Descriptor() ([]byte, []int) { return file_channel_proto_rawDescGZIP(), []int{1} } func (x *Channel) GetId() string { if x != nil { return x.Id } return "" } func (x *Channel) GetCreateAt() int64 { if x != nil { return x.CreateAt } return 0 } func (x *Channel) GetUpdateAt() int64 { if x != nil { return x.UpdateAt } return 0 } func (x *Channel) GetDeleteAt() int64 { if x != nil { return x.DeleteAt } return 0 } func (x *Channel) GetTeamId() string { if x != nil { return x.TeamId } return "" } func (x *Channel) GetType() ChannelType { if x != nil { return x.Type } return ChannelType_CHANNEL_TYPE_UNSPECIFIED } func (x *Channel) GetDisplayName() string { if x != nil { return x.DisplayName } return "" } func (x *Channel) GetName() string { if x != nil { return x.Name } return "" } func (x *Channel) GetHeader() string { if x != nil { return x.Header } return "" } func (x *Channel) GetPurpose() string { if x != nil { return x.Purpose } return "" } func (x *Channel) GetLastPostAt() int64 { if x != nil { return x.LastPostAt } return 0 } func (x *Channel) GetTotalMsgCount() int64 { if x != nil { return x.TotalMsgCount } return 0 } func (x *Channel) GetExtraUpdateAt() int64 { if x != nil { return x.ExtraUpdateAt } return 0 } func (x *Channel) GetCreatorId() string { if x != nil { return x.CreatorId } return "" } func (x *Channel) GetSchemeId() string { if x != nil && x.SchemeId != nil { return *x.SchemeId } return "" } func (x *Channel) GetProps() *structpb.Struct { if x != nil { return x.Props } return nil } func (x *Channel) GetGroupConstrained() bool { if x != nil && x.GroupConstrained != nil { return *x.GroupConstrained } return false } func (x *Channel) GetAutoTranslation() bool { if x != nil { return x.AutoTranslation } return false } func (x *Channel) GetShared() bool { if x != nil && x.Shared != nil { return *x.Shared } return false } func (x *Channel) GetTotalMsgCountRoot() int64 { if x != nil { return x.TotalMsgCountRoot } return 0 } func (x *Channel) GetPolicyId() string { if x != nil && x.PolicyId != nil { return *x.PolicyId } return "" } func (x *Channel) GetLastRootPostAt() int64 { if x != nil { return x.LastRootPostAt } return 0 } func (x *Channel) GetBannerInfo() *ChannelBannerInfo { if x != nil { return x.BannerInfo } return nil } func (x *Channel) GetPolicyEnforced() bool { if x != nil { return x.PolicyEnforced } return false } func (x *Channel) GetPolicyIsActive() bool { if x != nil { return x.PolicyIsActive } return false } func (x *Channel) GetDefaultCategoryName() string { if x != nil { return x.DefaultCategoryName } return "" } var File_channel_proto protoreflect.FileDescriptor const file_channel_proto_rawDesc = "" + "\n" + "\rchannel.proto\x12\x17mattermost.pluginapi.v1\x1a\x1cgoogle/protobuf/struct.proto\"\xa5\x01\n" + "\x11ChannelBannerInfo\x12\x1d\n" + "\aenabled\x18\x01 \x01(\bH\x00R\aenabled\x88\x01\x01\x12\x17\n" + "\x04text\x18\x02 \x01(\tH\x01R\x04text\x88\x01\x01\x12.\n" + "\x10background_color\x18\x03 \x01(\tH\x02R\x0fbackgroundColor\x88\x01\x01B\n" + "\n" + "\b_enabledB\a\n" + "\x05_textB\x13\n" + "\x11_background_color\"\xac\b\n" + "\aChannel\x12\x0e\n" + "\x02id\x18\x01 \x01(\tR\x02id\x12\x1b\n" + "\tcreate_at\x18\x02 \x01(\x03R\bcreateAt\x12\x1b\n" + "\tupdate_at\x18\x03 \x01(\x03R\bupdateAt\x12\x1b\n" + "\tdelete_at\x18\x04 \x01(\x03R\bdeleteAt\x12\x17\n" + "\ateam_id\x18\x05 \x01(\tR\x06teamId\x128\n" + "\x04type\x18\x06 \x01(\x0e2$.mattermost.pluginapi.v1.ChannelTypeR\x04type\x12!\n" + "\fdisplay_name\x18\a \x01(\tR\vdisplayName\x12\x12\n" + "\x04name\x18\b \x01(\tR\x04name\x12\x16\n" + "\x06header\x18\t \x01(\tR\x06header\x12\x18\n" + "\apurpose\x18\n" + " \x01(\tR\apurpose\x12 \n" + "\flast_post_at\x18\v \x01(\x03R\n" + "lastPostAt\x12&\n" + "\x0ftotal_msg_count\x18\f \x01(\x03R\rtotalMsgCount\x12&\n" + "\x0fextra_update_at\x18\r \x01(\x03R\rextraUpdateAt\x12\x1d\n" + "\n" + "creator_id\x18\x0e \x01(\tR\tcreatorId\x12 \n" + "\tscheme_id\x18\x0f \x01(\tH\x00R\bschemeId\x88\x01\x01\x12-\n" + "\x05props\x18\x10 \x01(\v2\x17.google.protobuf.StructR\x05props\x120\n" + "\x11group_constrained\x18\x11 \x01(\bH\x01R\x10groupConstrained\x88\x01\x01\x12)\n" + "\x10auto_translation\x18\x12 \x01(\bR\x0fautoTranslation\x12\x1b\n" + "\x06shared\x18\x13 \x01(\bH\x02R\x06shared\x88\x01\x01\x12/\n" + "\x14total_msg_count_root\x18\x14 \x01(\x03R\x11totalMsgCountRoot\x12 \n" + "\tpolicy_id\x18\x15 \x01(\tH\x03R\bpolicyId\x88\x01\x01\x12)\n" + "\x11last_root_post_at\x18\x16 \x01(\x03R\x0elastRootPostAt\x12P\n" + "\vbanner_info\x18\x17 \x01(\v2*.mattermost.pluginapi.v1.ChannelBannerInfoH\x04R\n" + "bannerInfo\x88\x01\x01\x12'\n" + "\x0fpolicy_enforced\x18\x18 \x01(\bR\x0epolicyEnforced\x12(\n" + "\x10policy_is_active\x18\x19 \x01(\bR\x0epolicyIsActive\x122\n" + "\x15default_category_name\x18\x1a \x01(\tR\x13defaultCategoryNameB\f\n" + "\n" + "_scheme_idB\x14\n" + "\x12_group_constrainedB\t\n" + "\a_sharedB\f\n" + "\n" + "_policy_idB\x0e\n" + "\f_banner_info*\x8d\x01\n" + "\vChannelType\x12\x1c\n" + "\x18CHANNEL_TYPE_UNSPECIFIED\x10\x00\x12\x15\n" + "\x11CHANNEL_TYPE_OPEN\x10\x01\x12\x18\n" + "\x14CHANNEL_TYPE_PRIVATE\x10\x02\x12\x17\n" + "\x13CHANNEL_TYPE_DIRECT\x10\x03\x12\x16\n" + "\x12CHANNEL_TYPE_GROUP\x10\x04BXZVgithub.com/mattermost/mattermost/server/public/pluginapi/grpc/generated/go/pluginapiv1b\x06proto3" var ( file_channel_proto_rawDescOnce sync.Once file_channel_proto_rawDescData []byte ) func file_channel_proto_rawDescGZIP() []byte { file_channel_proto_rawDescOnce.Do(func() { file_channel_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_channel_proto_rawDesc), len(file_channel_proto_rawDesc))) }) return file_channel_proto_rawDescData } var file_channel_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_channel_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_channel_proto_goTypes = []any{ (ChannelType)(0), // 0: mattermost.pluginapi.v1.ChannelType (*ChannelBannerInfo)(nil), // 1: mattermost.pluginapi.v1.ChannelBannerInfo (*Channel)(nil), // 2: mattermost.pluginapi.v1.Channel (*structpb.Struct)(nil), // 3: google.protobuf.Struct } var file_channel_proto_depIdxs = []int32{ 0, // 0: mattermost.pluginapi.v1.Channel.type:type_name -> mattermost.pluginapi.v1.ChannelType 3, // 1: mattermost.pluginapi.v1.Channel.props:type_name -> google.protobuf.Struct 1, // 2: mattermost.pluginapi.v1.Channel.banner_info:type_name -> mattermost.pluginapi.v1.ChannelBannerInfo 3, // [3:3] is the sub-list for method output_type 3, // [3:3] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name 3, // [3:3] is the sub-list for extension extendee 0, // [0:3] is the sub-list for field type_name } func init() { file_channel_proto_init() } func file_channel_proto_init() { if File_channel_proto != nil { return } file_channel_proto_msgTypes[0].OneofWrappers = []any{} file_channel_proto_msgTypes[1].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_channel_proto_rawDesc), len(file_channel_proto_rawDesc)), NumEnums: 1, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_channel_proto_goTypes, DependencyIndexes: file_channel_proto_depIdxs, EnumInfos: file_channel_proto_enumTypes, MessageInfos: file_channel_proto_msgTypes, }.Build() File_channel_proto = out.File file_channel_proto_goTypes = nil file_channel_proto_depIdxs = nil }