mattermost/server/public/pluginapi/grpc/generated/go/pluginapiv1/team.pb.go
Nick Misasi ca57bca5a2 feat(01-02): add core protobuf types (User, Channel, Post, Team, FileInfo)
- Add common.proto with Empty, StringMap, and AppError messages
- Add user.proto with User message (34 fields mirroring model.User)
- Add channel.proto with Channel, ChannelType enum, ChannelBannerInfo
- Add post.proto with Post, PostMetadata, PostEmbed, PostPriority, Reaction
- Add team.proto with Team, TeamMember, TeamUnread, TeamType enum
- Add file.proto with FileInfo, FileUploadResponse, FileData
- Update Makefile to support all proto files with proper import mappings
- Remove bootstrap.proto (replaced by common.proto)
- Use google.protobuf.Struct for dynamic JSON fields (Post.props, Channel.props)
- All timestamps are int64 (milliseconds since epoch)
- All IDs are strings (26-char base32)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 11:06:42 -05:00

600 lines
17 KiB
Go

// 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: team.proto
package pluginapiv1
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
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)
)
// TeamType represents the type of a team.
type TeamType int32
const (
// Unspecified team type (should not be used)
TeamType_TEAM_TYPE_UNSPECIFIED TeamType = 0
// Open team (anyone can join)
TeamType_TEAM_TYPE_OPEN TeamType = 1
// Invite-only team
TeamType_TEAM_TYPE_INVITE TeamType = 2
)
// Enum value maps for TeamType.
var (
TeamType_name = map[int32]string{
0: "TEAM_TYPE_UNSPECIFIED",
1: "TEAM_TYPE_OPEN",
2: "TEAM_TYPE_INVITE",
}
TeamType_value = map[string]int32{
"TEAM_TYPE_UNSPECIFIED": 0,
"TEAM_TYPE_OPEN": 1,
"TEAM_TYPE_INVITE": 2,
}
)
func (x TeamType) Enum() *TeamType {
p := new(TeamType)
*p = x
return p
}
func (x TeamType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (TeamType) Descriptor() protoreflect.EnumDescriptor {
return file_team_proto_enumTypes[0].Descriptor()
}
func (TeamType) Type() protoreflect.EnumType {
return &file_team_proto_enumTypes[0]
}
func (x TeamType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use TeamType.Descriptor instead.
func (TeamType) EnumDescriptor() ([]byte, []int) {
return file_team_proto_rawDescGZIP(), []int{0}
}
// Team represents a Mattermost team.
// Maps to model.Team in Go.
type Team struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Unique identifier for the team (26-char ID)
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
// Timestamp when the team was created (milliseconds since epoch)
CreateAt int64 `protobuf:"varint,2,opt,name=create_at,json=createAt,proto3" json:"create_at,omitempty"`
// Timestamp when the team 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 team 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"`
// The team's display name
DisplayName string `protobuf:"bytes,5,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
// The team's URL-friendly name (unique)
Name string `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
// Team description
Description string `protobuf:"bytes,7,opt,name=description,proto3" json:"description,omitempty"`
// Team contact email address
Email string `protobuf:"bytes,8,opt,name=email,proto3" json:"email,omitempty"`
// The type of team (open or invite)
Type TeamType `protobuf:"varint,9,opt,name=type,proto3,enum=mattermost.pluginapi.v1.TeamType" json:"type,omitempty"`
// Company name associated with the team
CompanyName string `protobuf:"bytes,10,opt,name=company_name,json=companyName,proto3" json:"company_name,omitempty"`
// Comma-separated list of allowed email domains for signup
AllowedDomains string `protobuf:"bytes,11,opt,name=allowed_domains,json=allowedDomains,proto3" json:"allowed_domains,omitempty"`
// Unique invite ID for joining the team
InviteId string `protobuf:"bytes,12,opt,name=invite_id,json=inviteId,proto3" json:"invite_id,omitempty"`
// Whether the team allows open invites
AllowOpenInvite bool `protobuf:"varint,13,opt,name=allow_open_invite,json=allowOpenInvite,proto3" json:"allow_open_invite,omitempty"`
// Timestamp when the team icon was last updated (milliseconds since epoch)
LastTeamIconUpdate int64 `protobuf:"varint,14,opt,name=last_team_icon_update,json=lastTeamIconUpdate,proto3" json:"last_team_icon_update,omitempty"`
// ID of the permission scheme applied to this team
SchemeId *string `protobuf:"bytes,15,opt,name=scheme_id,json=schemeId,proto3,oneof" json:"scheme_id,omitempty"`
// Whether membership is constrained by group sync
GroupConstrained *bool `protobuf:"varint,16,opt,name=group_constrained,json=groupConstrained,proto3,oneof" json:"group_constrained,omitempty"`
// ID of the data retention policy applied to this team
PolicyId *string `protobuf:"bytes,17,opt,name=policy_id,json=policyId,proto3,oneof" json:"policy_id,omitempty"`
// Whether the team is archived due to cloud limits
CloudLimitsArchived bool `protobuf:"varint,18,opt,name=cloud_limits_archived,json=cloudLimitsArchived,proto3" json:"cloud_limits_archived,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Team) Reset() {
*x = Team{}
mi := &file_team_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Team) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Team) ProtoMessage() {}
func (x *Team) ProtoReflect() protoreflect.Message {
mi := &file_team_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 Team.ProtoReflect.Descriptor instead.
func (*Team) Descriptor() ([]byte, []int) {
return file_team_proto_rawDescGZIP(), []int{0}
}
func (x *Team) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *Team) GetCreateAt() int64 {
if x != nil {
return x.CreateAt
}
return 0
}
func (x *Team) GetUpdateAt() int64 {
if x != nil {
return x.UpdateAt
}
return 0
}
func (x *Team) GetDeleteAt() int64 {
if x != nil {
return x.DeleteAt
}
return 0
}
func (x *Team) GetDisplayName() string {
if x != nil {
return x.DisplayName
}
return ""
}
func (x *Team) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *Team) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
func (x *Team) GetEmail() string {
if x != nil {
return x.Email
}
return ""
}
func (x *Team) GetType() TeamType {
if x != nil {
return x.Type
}
return TeamType_TEAM_TYPE_UNSPECIFIED
}
func (x *Team) GetCompanyName() string {
if x != nil {
return x.CompanyName
}
return ""
}
func (x *Team) GetAllowedDomains() string {
if x != nil {
return x.AllowedDomains
}
return ""
}
func (x *Team) GetInviteId() string {
if x != nil {
return x.InviteId
}
return ""
}
func (x *Team) GetAllowOpenInvite() bool {
if x != nil {
return x.AllowOpenInvite
}
return false
}
func (x *Team) GetLastTeamIconUpdate() int64 {
if x != nil {
return x.LastTeamIconUpdate
}
return 0
}
func (x *Team) GetSchemeId() string {
if x != nil && x.SchemeId != nil {
return *x.SchemeId
}
return ""
}
func (x *Team) GetGroupConstrained() bool {
if x != nil && x.GroupConstrained != nil {
return *x.GroupConstrained
}
return false
}
func (x *Team) GetPolicyId() string {
if x != nil && x.PolicyId != nil {
return *x.PolicyId
}
return ""
}
func (x *Team) GetCloudLimitsArchived() bool {
if x != nil {
return x.CloudLimitsArchived
}
return false
}
// TeamMember represents a user's membership in a team.
// Maps to model.TeamMember in Go.
type TeamMember struct {
state protoimpl.MessageState `protogen:"open.v1"`
// The team ID
TeamId string `protobuf:"bytes,1,opt,name=team_id,json=teamId,proto3" json:"team_id,omitempty"`
// The user ID
UserId string `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
// Space-separated list of role names
Roles string `protobuf:"bytes,3,opt,name=roles,proto3" json:"roles,omitempty"`
// Timestamp when the member was deleted from the team
DeleteAt int64 `protobuf:"varint,4,opt,name=delete_at,json=deleteAt,proto3" json:"delete_at,omitempty"`
// Whether the user has scheme guest role
SchemeGuest bool `protobuf:"varint,5,opt,name=scheme_guest,json=schemeGuest,proto3" json:"scheme_guest,omitempty"`
// Whether the user has scheme user role
SchemeUser bool `protobuf:"varint,6,opt,name=scheme_user,json=schemeUser,proto3" json:"scheme_user,omitempty"`
// Whether the user has scheme admin role
SchemeAdmin bool `protobuf:"varint,7,opt,name=scheme_admin,json=schemeAdmin,proto3" json:"scheme_admin,omitempty"`
// Timestamp when the member was added (milliseconds since epoch)
CreateAt int64 `protobuf:"varint,8,opt,name=create_at,json=createAt,proto3" json:"create_at,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *TeamMember) Reset() {
*x = TeamMember{}
mi := &file_team_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *TeamMember) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TeamMember) ProtoMessage() {}
func (x *TeamMember) ProtoReflect() protoreflect.Message {
mi := &file_team_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 TeamMember.ProtoReflect.Descriptor instead.
func (*TeamMember) Descriptor() ([]byte, []int) {
return file_team_proto_rawDescGZIP(), []int{1}
}
func (x *TeamMember) GetTeamId() string {
if x != nil {
return x.TeamId
}
return ""
}
func (x *TeamMember) GetUserId() string {
if x != nil {
return x.UserId
}
return ""
}
func (x *TeamMember) GetRoles() string {
if x != nil {
return x.Roles
}
return ""
}
func (x *TeamMember) GetDeleteAt() int64 {
if x != nil {
return x.DeleteAt
}
return 0
}
func (x *TeamMember) GetSchemeGuest() bool {
if x != nil {
return x.SchemeGuest
}
return false
}
func (x *TeamMember) GetSchemeUser() bool {
if x != nil {
return x.SchemeUser
}
return false
}
func (x *TeamMember) GetSchemeAdmin() bool {
if x != nil {
return x.SchemeAdmin
}
return false
}
func (x *TeamMember) GetCreateAt() int64 {
if x != nil {
return x.CreateAt
}
return 0
}
// TeamUnread represents unread message counts for a team.
// Maps to model.TeamUnread in Go.
type TeamUnread struct {
state protoimpl.MessageState `protogen:"open.v1"`
// The team ID
TeamId string `protobuf:"bytes,1,opt,name=team_id,json=teamId,proto3" json:"team_id,omitempty"`
// Total unread message count
MsgCount int64 `protobuf:"varint,2,opt,name=msg_count,json=msgCount,proto3" json:"msg_count,omitempty"`
// Unread mention count
MentionCount int64 `protobuf:"varint,3,opt,name=mention_count,json=mentionCount,proto3" json:"mention_count,omitempty"`
// Unread mention count in root posts only
MentionCountRoot int64 `protobuf:"varint,4,opt,name=mention_count_root,json=mentionCountRoot,proto3" json:"mention_count_root,omitempty"`
// Total unread root message count
MsgCountRoot int64 `protobuf:"varint,5,opt,name=msg_count_root,json=msgCountRoot,proto3" json:"msg_count_root,omitempty"`
// Count of threads with urgent priority
ThreadCount int64 `protobuf:"varint,6,opt,name=thread_count,json=threadCount,proto3" json:"thread_count,omitempty"`
// Count of threads with urgent mentions
ThreadMentionCount int64 `protobuf:"varint,7,opt,name=thread_mention_count,json=threadMentionCount,proto3" json:"thread_mention_count,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *TeamUnread) Reset() {
*x = TeamUnread{}
mi := &file_team_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *TeamUnread) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TeamUnread) ProtoMessage() {}
func (x *TeamUnread) ProtoReflect() protoreflect.Message {
mi := &file_team_proto_msgTypes[2]
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 TeamUnread.ProtoReflect.Descriptor instead.
func (*TeamUnread) Descriptor() ([]byte, []int) {
return file_team_proto_rawDescGZIP(), []int{2}
}
func (x *TeamUnread) GetTeamId() string {
if x != nil {
return x.TeamId
}
return ""
}
func (x *TeamUnread) GetMsgCount() int64 {
if x != nil {
return x.MsgCount
}
return 0
}
func (x *TeamUnread) GetMentionCount() int64 {
if x != nil {
return x.MentionCount
}
return 0
}
func (x *TeamUnread) GetMentionCountRoot() int64 {
if x != nil {
return x.MentionCountRoot
}
return 0
}
func (x *TeamUnread) GetMsgCountRoot() int64 {
if x != nil {
return x.MsgCountRoot
}
return 0
}
func (x *TeamUnread) GetThreadCount() int64 {
if x != nil {
return x.ThreadCount
}
return 0
}
func (x *TeamUnread) GetThreadMentionCount() int64 {
if x != nil {
return x.ThreadMentionCount
}
return 0
}
var File_team_proto protoreflect.FileDescriptor
const file_team_proto_rawDesc = "" +
"\n" +
"\n" +
"team.proto\x12\x17mattermost.pluginapi.v1\"\xb7\x05\n" +
"\x04Team\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!\n" +
"\fdisplay_name\x18\x05 \x01(\tR\vdisplayName\x12\x12\n" +
"\x04name\x18\x06 \x01(\tR\x04name\x12 \n" +
"\vdescription\x18\a \x01(\tR\vdescription\x12\x14\n" +
"\x05email\x18\b \x01(\tR\x05email\x125\n" +
"\x04type\x18\t \x01(\x0e2!.mattermost.pluginapi.v1.TeamTypeR\x04type\x12!\n" +
"\fcompany_name\x18\n" +
" \x01(\tR\vcompanyName\x12'\n" +
"\x0fallowed_domains\x18\v \x01(\tR\x0eallowedDomains\x12\x1b\n" +
"\tinvite_id\x18\f \x01(\tR\binviteId\x12*\n" +
"\x11allow_open_invite\x18\r \x01(\bR\x0fallowOpenInvite\x121\n" +
"\x15last_team_icon_update\x18\x0e \x01(\x03R\x12lastTeamIconUpdate\x12 \n" +
"\tscheme_id\x18\x0f \x01(\tH\x00R\bschemeId\x88\x01\x01\x120\n" +
"\x11group_constrained\x18\x10 \x01(\bH\x01R\x10groupConstrained\x88\x01\x01\x12 \n" +
"\tpolicy_id\x18\x11 \x01(\tH\x02R\bpolicyId\x88\x01\x01\x122\n" +
"\x15cloud_limits_archived\x18\x12 \x01(\bR\x13cloudLimitsArchivedB\f\n" +
"\n" +
"_scheme_idB\x14\n" +
"\x12_group_constrainedB\f\n" +
"\n" +
"_policy_id\"\xf5\x01\n" +
"\n" +
"TeamMember\x12\x17\n" +
"\ateam_id\x18\x01 \x01(\tR\x06teamId\x12\x17\n" +
"\auser_id\x18\x02 \x01(\tR\x06userId\x12\x14\n" +
"\x05roles\x18\x03 \x01(\tR\x05roles\x12\x1b\n" +
"\tdelete_at\x18\x04 \x01(\x03R\bdeleteAt\x12!\n" +
"\fscheme_guest\x18\x05 \x01(\bR\vschemeGuest\x12\x1f\n" +
"\vscheme_user\x18\x06 \x01(\bR\n" +
"schemeUser\x12!\n" +
"\fscheme_admin\x18\a \x01(\bR\vschemeAdmin\x12\x1b\n" +
"\tcreate_at\x18\b \x01(\x03R\bcreateAt\"\x90\x02\n" +
"\n" +
"TeamUnread\x12\x17\n" +
"\ateam_id\x18\x01 \x01(\tR\x06teamId\x12\x1b\n" +
"\tmsg_count\x18\x02 \x01(\x03R\bmsgCount\x12#\n" +
"\rmention_count\x18\x03 \x01(\x03R\fmentionCount\x12,\n" +
"\x12mention_count_root\x18\x04 \x01(\x03R\x10mentionCountRoot\x12$\n" +
"\x0emsg_count_root\x18\x05 \x01(\x03R\fmsgCountRoot\x12!\n" +
"\fthread_count\x18\x06 \x01(\x03R\vthreadCount\x120\n" +
"\x14thread_mention_count\x18\a \x01(\x03R\x12threadMentionCount*O\n" +
"\bTeamType\x12\x19\n" +
"\x15TEAM_TYPE_UNSPECIFIED\x10\x00\x12\x12\n" +
"\x0eTEAM_TYPE_OPEN\x10\x01\x12\x14\n" +
"\x10TEAM_TYPE_INVITE\x10\x02BXZVgithub.com/mattermost/mattermost/server/public/pluginapi/grpc/generated/go/pluginapiv1b\x06proto3"
var (
file_team_proto_rawDescOnce sync.Once
file_team_proto_rawDescData []byte
)
func file_team_proto_rawDescGZIP() []byte {
file_team_proto_rawDescOnce.Do(func() {
file_team_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_team_proto_rawDesc), len(file_team_proto_rawDesc)))
})
return file_team_proto_rawDescData
}
var file_team_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_team_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
var file_team_proto_goTypes = []any{
(TeamType)(0), // 0: mattermost.pluginapi.v1.TeamType
(*Team)(nil), // 1: mattermost.pluginapi.v1.Team
(*TeamMember)(nil), // 2: mattermost.pluginapi.v1.TeamMember
(*TeamUnread)(nil), // 3: mattermost.pluginapi.v1.TeamUnread
}
var file_team_proto_depIdxs = []int32{
0, // 0: mattermost.pluginapi.v1.Team.type:type_name -> mattermost.pluginapi.v1.TeamType
1, // [1:1] is the sub-list for method output_type
1, // [1:1] is the sub-list for method input_type
1, // [1:1] is the sub-list for extension type_name
1, // [1:1] is the sub-list for extension extendee
0, // [0:1] is the sub-list for field type_name
}
func init() { file_team_proto_init() }
func file_team_proto_init() {
if File_team_proto != nil {
return
}
file_team_proto_msgTypes[0].OneofWrappers = []any{}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_team_proto_rawDesc), len(file_team_proto_rawDesc)),
NumEnums: 1,
NumMessages: 3,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_team_proto_goTypes,
DependencyIndexes: file_team_proto_depIdxs,
EnumInfos: file_team_proto_enumTypes,
MessageInfos: file_team_proto_msgTypes,
}.Build()
File_team_proto = out.File
file_team_proto_goTypes = nil
file_team_proto_depIdxs = nil
}