// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.9
// 	protoc        (unknown)
// source: powerx/iam/v1/team.proto

package iamv1

import (
	v1 "github.com/ArtisanCloud/PowerX/api/grpc/gen/go/common/v1"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
	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)
)

type TeamKind int32

const (
	TeamKind_TEAM_KIND_UNSPECIFIED TeamKind = 0
	TeamKind_TEAM_KIND_PROJECT     TeamKind = 1 // 项目型（Scrum/看板）
	TeamKind_TEAM_KIND_FUNCTIONAL  TeamKind = 2 // 职能型（市场/客服）
)

// Enum value maps for TeamKind.
var (
	TeamKind_name = map[int32]string{
		0: "TEAM_KIND_UNSPECIFIED",
		1: "TEAM_KIND_PROJECT",
		2: "TEAM_KIND_FUNCTIONAL",
	}
	TeamKind_value = map[string]int32{
		"TEAM_KIND_UNSPECIFIED": 0,
		"TEAM_KIND_PROJECT":     1,
		"TEAM_KIND_FUNCTIONAL":  2,
	}
)

func (x TeamKind) Enum() *TeamKind {
	p := new(TeamKind)
	*p = x
	return p
}

func (x TeamKind) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (TeamKind) Descriptor() protoreflect.EnumDescriptor {
	return file_powerx_iam_v1_team_proto_enumTypes[0].Descriptor()
}

func (TeamKind) Type() protoreflect.EnumType {
	return &file_powerx_iam_v1_team_proto_enumTypes[0]
}

func (x TeamKind) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use TeamKind.Descriptor instead.
func (TeamKind) EnumDescriptor() ([]byte, []int) {
	return file_powerx_iam_v1_team_proto_rawDescGZIP(), []int{0}
}

type Team struct {
	state       protoimpl.MessageState `protogen:"open.v1"`
	Ref         *v1.ResourceRef        `protobuf:"bytes,1,opt,name=ref,proto3" json:"ref,omitempty"` // domain="iam", entity="team"
	Name        string                 `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Kind        TeamKind               `protobuf:"varint,3,opt,name=kind,proto3,enum=powerx.iam.v1.TeamKind" json:"kind,omitempty"`
	Description string                 `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"`
	// 组织关系（可选）
	ParentId uint64 `protobuf:"varint,10,opt,name=parent_id,json=parentId,proto3" json:"parent_id,omitempty"`
	Path     string `protobuf:"bytes,11,opt,name=path,proto3" json:"path,omitempty"`
	Sort     int32  `protobuf:"varint,12,opt,name=sort,proto3" json:"sort,omitempty"`
	// 统计/归属
	OwnerMemberId uint64                 `protobuf:"varint,20,opt,name=owner_member_id,json=ownerMemberId,proto3" json:"owner_member_id,omitempty"`
	MemberCount   int32                  `protobuf:"varint,21,opt,name=member_count,json=memberCount,proto3" json:"member_count,omitempty"`
	Labels        map[string]string      `protobuf:"bytes,30,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	CreatedAt     *timestamppb.Timestamp `protobuf:"bytes,31,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	UpdatedAt     *timestamppb.Timestamp `protobuf:"bytes,32,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Team) Reset() {
	*x = Team{}
	mi := &file_powerx_iam_v1_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_powerx_iam_v1_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_powerx_iam_v1_team_proto_rawDescGZIP(), []int{0}
}

func (x *Team) GetRef() *v1.ResourceRef {
	if x != nil {
		return x.Ref
	}
	return nil
}

func (x *Team) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *Team) GetKind() TeamKind {
	if x != nil {
		return x.Kind
	}
	return TeamKind_TEAM_KIND_UNSPECIFIED
}

func (x *Team) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *Team) GetParentId() uint64 {
	if x != nil {
		return x.ParentId
	}
	return 0
}

func (x *Team) GetPath() string {
	if x != nil {
		return x.Path
	}
	return ""
}

func (x *Team) GetSort() int32 {
	if x != nil {
		return x.Sort
	}
	return 0
}

func (x *Team) GetOwnerMemberId() uint64 {
	if x != nil {
		return x.OwnerMemberId
	}
	return 0
}

func (x *Team) GetMemberCount() int32 {
	if x != nil {
		return x.MemberCount
	}
	return 0
}

func (x *Team) GetLabels() map[string]string {
	if x != nil {
		return x.Labels
	}
	return nil
}

func (x *Team) GetCreatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.CreatedAt
	}
	return nil
}

func (x *Team) GetUpdatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.UpdatedAt
	}
	return nil
}

type TeamMember struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Member        *Member                `protobuf:"bytes,1,opt,name=member,proto3" json:"member,omitempty"` // 内嵌成员（BASIC/PROFILE 由请求指定）
	Role          string                 `protobuf:"bytes,2,opt,name=role,proto3" json:"role,omitempty"`     // owner/admin/member/guest（字符串自由映射）
	JoinedAt      *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=joined_at,json=joinedAt,proto3" json:"joined_at,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *TeamMember) Reset() {
	*x = TeamMember{}
	mi := &file_powerx_iam_v1_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_powerx_iam_v1_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_powerx_iam_v1_team_proto_rawDescGZIP(), []int{1}
}

func (x *TeamMember) GetMember() *Member {
	if x != nil {
		return x.Member
	}
	return nil
}

func (x *TeamMember) GetRole() string {
	if x != nil {
		return x.Role
	}
	return ""
}

func (x *TeamMember) GetJoinedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.JoinedAt
	}
	return nil
}

type GetTeamRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	Ctx   *v1.RequestContext     `protobuf:"bytes,1,opt,name=ctx,proto3" json:"ctx,omitempty"`
	// Types that are valid to be assigned to Selector:
	//
	//	*GetTeamRequest_Id
	//	*GetTeamRequest_Prn
	Selector      isGetTeamRequest_Selector `protobuf_oneof:"selector"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetTeamRequest) Reset() {
	*x = GetTeamRequest{}
	mi := &file_powerx_iam_v1_team_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetTeamRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetTeamRequest) ProtoMessage() {}

func (x *GetTeamRequest) ProtoReflect() protoreflect.Message {
	mi := &file_powerx_iam_v1_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 GetTeamRequest.ProtoReflect.Descriptor instead.
func (*GetTeamRequest) Descriptor() ([]byte, []int) {
	return file_powerx_iam_v1_team_proto_rawDescGZIP(), []int{2}
}

func (x *GetTeamRequest) GetCtx() *v1.RequestContext {
	if x != nil {
		return x.Ctx
	}
	return nil
}

func (x *GetTeamRequest) GetSelector() isGetTeamRequest_Selector {
	if x != nil {
		return x.Selector
	}
	return nil
}

func (x *GetTeamRequest) GetId() uint64 {
	if x != nil {
		if x, ok := x.Selector.(*GetTeamRequest_Id); ok {
			return x.Id
		}
	}
	return 0
}

func (x *GetTeamRequest) GetPrn() string {
	if x != nil {
		if x, ok := x.Selector.(*GetTeamRequest_Prn); ok {
			return x.Prn
		}
	}
	return ""
}

type isGetTeamRequest_Selector interface {
	isGetTeamRequest_Selector()
}

type GetTeamRequest_Id struct {
	Id uint64 `protobuf:"varint,2,opt,name=id,proto3,oneof"`
}

type GetTeamRequest_Prn struct {
	Prn string `protobuf:"bytes,3,opt,name=prn,proto3,oneof"`
}

func (*GetTeamRequest_Id) isGetTeamRequest_Selector() {}

func (*GetTeamRequest_Prn) isGetTeamRequest_Selector() {}

type ListTeamsRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Ctx           *v1.RequestContext     `protobuf:"bytes,1,opt,name=ctx,proto3" json:"ctx,omitempty"`
	Keyword       string                 `protobuf:"bytes,2,opt,name=keyword,proto3" json:"keyword,omitempty"` // 命中 name/labels
	Kind          TeamKind               `protobuf:"varint,3,opt,name=kind,proto3,enum=powerx.iam.v1.TeamKind" json:"kind,omitempty"`
	ParentId      uint64                 `protobuf:"varint,4,opt,name=parent_id,json=parentId,proto3" json:"parent_id,omitempty"`
	Page          *v1.PageRequest        `protobuf:"bytes,10,opt,name=page,proto3" json:"page,omitempty"`
	OrderBy       string                 `protobuf:"bytes,11,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` // created_at / name
	Asc           bool                   `protobuf:"varint,12,opt,name=asc,proto3" json:"asc,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListTeamsRequest) Reset() {
	*x = ListTeamsRequest{}
	mi := &file_powerx_iam_v1_team_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListTeamsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListTeamsRequest) ProtoMessage() {}

func (x *ListTeamsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_powerx_iam_v1_team_proto_msgTypes[3]
	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 ListTeamsRequest.ProtoReflect.Descriptor instead.
func (*ListTeamsRequest) Descriptor() ([]byte, []int) {
	return file_powerx_iam_v1_team_proto_rawDescGZIP(), []int{3}
}

func (x *ListTeamsRequest) GetCtx() *v1.RequestContext {
	if x != nil {
		return x.Ctx
	}
	return nil
}

func (x *ListTeamsRequest) GetKeyword() string {
	if x != nil {
		return x.Keyword
	}
	return ""
}

func (x *ListTeamsRequest) GetKind() TeamKind {
	if x != nil {
		return x.Kind
	}
	return TeamKind_TEAM_KIND_UNSPECIFIED
}

func (x *ListTeamsRequest) GetParentId() uint64 {
	if x != nil {
		return x.ParentId
	}
	return 0
}

func (x *ListTeamsRequest) GetPage() *v1.PageRequest {
	if x != nil {
		return x.Page
	}
	return nil
}

func (x *ListTeamsRequest) GetOrderBy() string {
	if x != nil {
		return x.OrderBy
	}
	return ""
}

func (x *ListTeamsRequest) GetAsc() bool {
	if x != nil {
		return x.Asc
	}
	return false
}

type ListTeamMembersRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	Ctx   *v1.RequestContext     `protobuf:"bytes,1,opt,name=ctx,proto3" json:"ctx,omitempty"`
	// Types that are valid to be assigned to Team:
	//
	//	*ListTeamMembersRequest_TeamId
	//	*ListTeamMembersRequest_TeamPrn
	Team isListTeamMembersRequest_Team `protobuf_oneof:"team"`
	// 过滤
	Keyword string       `protobuf:"bytes,10,opt,name=keyword,proto3" json:"keyword,omitempty"`                                // 命中成员 username/display_name
	Role    string       `protobuf:"bytes,11,opt,name=role,proto3" json:"role,omitempty"`                                      // owner/admin/member/guest
	Status  MemberStatus `protobuf:"varint,12,opt,name=status,proto3,enum=powerx.iam.v1.MemberStatus" json:"status,omitempty"` // ACTIVE/...
	// 分页
	Page *v1.PageRequest `protobuf:"bytes,20,opt,name=page,proto3" json:"page,omitempty"`
	// 嵌入的成员视图
	MemberView    MemberView `protobuf:"varint,30,opt,name=member_view,json=memberView,proto3,enum=powerx.iam.v1.MemberView" json:"member_view,omitempty"` // BASIC（默认）/PROFILE
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListTeamMembersRequest) Reset() {
	*x = ListTeamMembersRequest{}
	mi := &file_powerx_iam_v1_team_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListTeamMembersRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListTeamMembersRequest) ProtoMessage() {}

func (x *ListTeamMembersRequest) ProtoReflect() protoreflect.Message {
	mi := &file_powerx_iam_v1_team_proto_msgTypes[4]
	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 ListTeamMembersRequest.ProtoReflect.Descriptor instead.
func (*ListTeamMembersRequest) Descriptor() ([]byte, []int) {
	return file_powerx_iam_v1_team_proto_rawDescGZIP(), []int{4}
}

func (x *ListTeamMembersRequest) GetCtx() *v1.RequestContext {
	if x != nil {
		return x.Ctx
	}
	return nil
}

func (x *ListTeamMembersRequest) GetTeam() isListTeamMembersRequest_Team {
	if x != nil {
		return x.Team
	}
	return nil
}

func (x *ListTeamMembersRequest) GetTeamId() uint64 {
	if x != nil {
		if x, ok := x.Team.(*ListTeamMembersRequest_TeamId); ok {
			return x.TeamId
		}
	}
	return 0
}

func (x *ListTeamMembersRequest) GetTeamPrn() string {
	if x != nil {
		if x, ok := x.Team.(*ListTeamMembersRequest_TeamPrn); ok {
			return x.TeamPrn
		}
	}
	return ""
}

func (x *ListTeamMembersRequest) GetKeyword() string {
	if x != nil {
		return x.Keyword
	}
	return ""
}

func (x *ListTeamMembersRequest) GetRole() string {
	if x != nil {
		return x.Role
	}
	return ""
}

func (x *ListTeamMembersRequest) GetStatus() MemberStatus {
	if x != nil {
		return x.Status
	}
	return MemberStatus_MEMBER_STATUS_UNSPECIFIED
}

func (x *ListTeamMembersRequest) GetPage() *v1.PageRequest {
	if x != nil {
		return x.Page
	}
	return nil
}

func (x *ListTeamMembersRequest) GetMemberView() MemberView {
	if x != nil {
		return x.MemberView
	}
	return MemberView_MEMBER_VIEW_UNSPECIFIED
}

type isListTeamMembersRequest_Team interface {
	isListTeamMembersRequest_Team()
}

type ListTeamMembersRequest_TeamId struct {
	TeamId uint64 `protobuf:"varint,2,opt,name=team_id,json=teamId,proto3,oneof"`
}

type ListTeamMembersRequest_TeamPrn struct {
	TeamPrn string `protobuf:"bytes,3,opt,name=team_prn,json=teamPrn,proto3,oneof"`
}

func (*ListTeamMembersRequest_TeamId) isListTeamMembersRequest_Team() {}

func (*ListTeamMembersRequest_TeamPrn) isListTeamMembersRequest_Team() {}

type GetTeamData struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Team          *Team                  `protobuf:"bytes,1,opt,name=team,proto3" json:"team,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetTeamData) Reset() {
	*x = GetTeamData{}
	mi := &file_powerx_iam_v1_team_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetTeamData) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetTeamData) ProtoMessage() {}

func (x *GetTeamData) ProtoReflect() protoreflect.Message {
	mi := &file_powerx_iam_v1_team_proto_msgTypes[5]
	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 GetTeamData.ProtoReflect.Descriptor instead.
func (*GetTeamData) Descriptor() ([]byte, []int) {
	return file_powerx_iam_v1_team_proto_rawDescGZIP(), []int{5}
}

func (x *GetTeamData) GetTeam() *Team {
	if x != nil {
		return x.Team
	}
	return nil
}

type GetTeamResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *v1.ResponseMeta       `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	Data          *GetTeamData           `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetTeamResponse) Reset() {
	*x = GetTeamResponse{}
	mi := &file_powerx_iam_v1_team_proto_msgTypes[6]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetTeamResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetTeamResponse) ProtoMessage() {}

func (x *GetTeamResponse) ProtoReflect() protoreflect.Message {
	mi := &file_powerx_iam_v1_team_proto_msgTypes[6]
	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 GetTeamResponse.ProtoReflect.Descriptor instead.
func (*GetTeamResponse) Descriptor() ([]byte, []int) {
	return file_powerx_iam_v1_team_proto_rawDescGZIP(), []int{6}
}

func (x *GetTeamResponse) GetMeta() *v1.ResponseMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *GetTeamResponse) GetData() *GetTeamData {
	if x != nil {
		return x.Data
	}
	return nil
}

type ListTeamsData struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Items         []*Team                `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	Page          *v1.PageResponse       `protobuf:"bytes,2,opt,name=page,proto3" json:"page,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListTeamsData) Reset() {
	*x = ListTeamsData{}
	mi := &file_powerx_iam_v1_team_proto_msgTypes[7]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListTeamsData) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListTeamsData) ProtoMessage() {}

func (x *ListTeamsData) ProtoReflect() protoreflect.Message {
	mi := &file_powerx_iam_v1_team_proto_msgTypes[7]
	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 ListTeamsData.ProtoReflect.Descriptor instead.
func (*ListTeamsData) Descriptor() ([]byte, []int) {
	return file_powerx_iam_v1_team_proto_rawDescGZIP(), []int{7}
}

func (x *ListTeamsData) GetItems() []*Team {
	if x != nil {
		return x.Items
	}
	return nil
}

func (x *ListTeamsData) GetPage() *v1.PageResponse {
	if x != nil {
		return x.Page
	}
	return nil
}

type ListTeamsResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *v1.ResponseMeta       `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	Data          *ListTeamsData         `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListTeamsResponse) Reset() {
	*x = ListTeamsResponse{}
	mi := &file_powerx_iam_v1_team_proto_msgTypes[8]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListTeamsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListTeamsResponse) ProtoMessage() {}

func (x *ListTeamsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_powerx_iam_v1_team_proto_msgTypes[8]
	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 ListTeamsResponse.ProtoReflect.Descriptor instead.
func (*ListTeamsResponse) Descriptor() ([]byte, []int) {
	return file_powerx_iam_v1_team_proto_rawDescGZIP(), []int{8}
}

func (x *ListTeamsResponse) GetMeta() *v1.ResponseMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *ListTeamsResponse) GetData() *ListTeamsData {
	if x != nil {
		return x.Data
	}
	return nil
}

type ListTeamMembersData struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Items         []*TeamMember          `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	Page          *v1.PageResponse       `protobuf:"bytes,2,opt,name=page,proto3" json:"page,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListTeamMembersData) Reset() {
	*x = ListTeamMembersData{}
	mi := &file_powerx_iam_v1_team_proto_msgTypes[9]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListTeamMembersData) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListTeamMembersData) ProtoMessage() {}

func (x *ListTeamMembersData) ProtoReflect() protoreflect.Message {
	mi := &file_powerx_iam_v1_team_proto_msgTypes[9]
	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 ListTeamMembersData.ProtoReflect.Descriptor instead.
func (*ListTeamMembersData) Descriptor() ([]byte, []int) {
	return file_powerx_iam_v1_team_proto_rawDescGZIP(), []int{9}
}

func (x *ListTeamMembersData) GetItems() []*TeamMember {
	if x != nil {
		return x.Items
	}
	return nil
}

func (x *ListTeamMembersData) GetPage() *v1.PageResponse {
	if x != nil {
		return x.Page
	}
	return nil
}

type ListTeamMembersResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *v1.ResponseMeta       `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	Data          *ListTeamMembersData   `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListTeamMembersResponse) Reset() {
	*x = ListTeamMembersResponse{}
	mi := &file_powerx_iam_v1_team_proto_msgTypes[10]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListTeamMembersResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListTeamMembersResponse) ProtoMessage() {}

func (x *ListTeamMembersResponse) ProtoReflect() protoreflect.Message {
	mi := &file_powerx_iam_v1_team_proto_msgTypes[10]
	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 ListTeamMembersResponse.ProtoReflect.Descriptor instead.
func (*ListTeamMembersResponse) Descriptor() ([]byte, []int) {
	return file_powerx_iam_v1_team_proto_rawDescGZIP(), []int{10}
}

func (x *ListTeamMembersResponse) GetMeta() *v1.ResponseMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *ListTeamMembersResponse) GetData() *ListTeamMembersData {
	if x != nil {
		return x.Data
	}
	return nil
}

// 反查：成员所在团队
type ListMemberTeamsRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	Ctx   *v1.RequestContext     `protobuf:"bytes,1,opt,name=ctx,proto3" json:"ctx,omitempty"`
	// Types that are valid to be assigned to Member:
	//
	//	*ListMemberTeamsRequest_MemberId
	//	*ListMemberTeamsRequest_MemberPrn
	//	*ListMemberTeamsRequest_Username
	Member        isListMemberTeamsRequest_Member `protobuf_oneof:"member"`
	Page          *v1.PageRequest                 `protobuf:"bytes,10,opt,name=page,proto3" json:"page,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListMemberTeamsRequest) Reset() {
	*x = ListMemberTeamsRequest{}
	mi := &file_powerx_iam_v1_team_proto_msgTypes[11]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListMemberTeamsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListMemberTeamsRequest) ProtoMessage() {}

func (x *ListMemberTeamsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_powerx_iam_v1_team_proto_msgTypes[11]
	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 ListMemberTeamsRequest.ProtoReflect.Descriptor instead.
func (*ListMemberTeamsRequest) Descriptor() ([]byte, []int) {
	return file_powerx_iam_v1_team_proto_rawDescGZIP(), []int{11}
}

func (x *ListMemberTeamsRequest) GetCtx() *v1.RequestContext {
	if x != nil {
		return x.Ctx
	}
	return nil
}

func (x *ListMemberTeamsRequest) GetMember() isListMemberTeamsRequest_Member {
	if x != nil {
		return x.Member
	}
	return nil
}

func (x *ListMemberTeamsRequest) GetMemberId() uint64 {
	if x != nil {
		if x, ok := x.Member.(*ListMemberTeamsRequest_MemberId); ok {
			return x.MemberId
		}
	}
	return 0
}

func (x *ListMemberTeamsRequest) GetMemberPrn() string {
	if x != nil {
		if x, ok := x.Member.(*ListMemberTeamsRequest_MemberPrn); ok {
			return x.MemberPrn
		}
	}
	return ""
}

func (x *ListMemberTeamsRequest) GetUsername() string {
	if x != nil {
		if x, ok := x.Member.(*ListMemberTeamsRequest_Username); ok {
			return x.Username
		}
	}
	return ""
}

func (x *ListMemberTeamsRequest) GetPage() *v1.PageRequest {
	if x != nil {
		return x.Page
	}
	return nil
}

type isListMemberTeamsRequest_Member interface {
	isListMemberTeamsRequest_Member()
}

type ListMemberTeamsRequest_MemberId struct {
	MemberId uint64 `protobuf:"varint,2,opt,name=member_id,json=memberId,proto3,oneof"`
}

type ListMemberTeamsRequest_MemberPrn struct {
	MemberPrn string `protobuf:"bytes,3,opt,name=member_prn,json=memberPrn,proto3,oneof"`
}

type ListMemberTeamsRequest_Username struct {
	Username string `protobuf:"bytes,4,opt,name=username,proto3,oneof"`
}

func (*ListMemberTeamsRequest_MemberId) isListMemberTeamsRequest_Member() {}

func (*ListMemberTeamsRequest_MemberPrn) isListMemberTeamsRequest_Member() {}

func (*ListMemberTeamsRequest_Username) isListMemberTeamsRequest_Member() {}

type ListMemberTeamsData struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Items         []*Team                `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	Page          *v1.PageResponse       `protobuf:"bytes,2,opt,name=page,proto3" json:"page,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListMemberTeamsData) Reset() {
	*x = ListMemberTeamsData{}
	mi := &file_powerx_iam_v1_team_proto_msgTypes[12]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListMemberTeamsData) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListMemberTeamsData) ProtoMessage() {}

func (x *ListMemberTeamsData) ProtoReflect() protoreflect.Message {
	mi := &file_powerx_iam_v1_team_proto_msgTypes[12]
	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 ListMemberTeamsData.ProtoReflect.Descriptor instead.
func (*ListMemberTeamsData) Descriptor() ([]byte, []int) {
	return file_powerx_iam_v1_team_proto_rawDescGZIP(), []int{12}
}

func (x *ListMemberTeamsData) GetItems() []*Team {
	if x != nil {
		return x.Items
	}
	return nil
}

func (x *ListMemberTeamsData) GetPage() *v1.PageResponse {
	if x != nil {
		return x.Page
	}
	return nil
}

type ListMemberTeamsResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *v1.ResponseMeta       `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	Data          *ListMemberTeamsData   `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListMemberTeamsResponse) Reset() {
	*x = ListMemberTeamsResponse{}
	mi := &file_powerx_iam_v1_team_proto_msgTypes[13]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListMemberTeamsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListMemberTeamsResponse) ProtoMessage() {}

func (x *ListMemberTeamsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_powerx_iam_v1_team_proto_msgTypes[13]
	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 ListMemberTeamsResponse.ProtoReflect.Descriptor instead.
func (*ListMemberTeamsResponse) Descriptor() ([]byte, []int) {
	return file_powerx_iam_v1_team_proto_rawDescGZIP(), []int{13}
}

func (x *ListMemberTeamsResponse) GetMeta() *v1.ResponseMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *ListMemberTeamsResponse) GetData() *ListMemberTeamsData {
	if x != nil {
		return x.Data
	}
	return nil
}

var File_powerx_iam_v1_team_proto protoreflect.FileDescriptor

const file_powerx_iam_v1_team_proto_rawDesc = "" +
	"\n" +
	"\x18powerx/iam/v1/team.proto\x12\rpowerx.iam.v1\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17common/v1/context.proto\x1a\x18common/v1/resource.proto\x1a\x1acommon/v1/pagination.proto\x1a\x1apowerx/iam/v1/member.proto\x1a\x18common/v1/response.proto\"\x8d\x04\n" +
	"\x04Team\x12(\n" +
	"\x03ref\x18\x01 \x01(\v2\x16.common.v1.ResourceRefR\x03ref\x12\x12\n" +
	"\x04name\x18\x02 \x01(\tR\x04name\x12+\n" +
	"\x04kind\x18\x03 \x01(\x0e2\x17.powerx.iam.v1.TeamKindR\x04kind\x12 \n" +
	"\vdescription\x18\x04 \x01(\tR\vdescription\x12\x1b\n" +
	"\tparent_id\x18\n" +
	" \x01(\x04R\bparentId\x12\x12\n" +
	"\x04path\x18\v \x01(\tR\x04path\x12\x12\n" +
	"\x04sort\x18\f \x01(\x05R\x04sort\x12&\n" +
	"\x0fowner_member_id\x18\x14 \x01(\x04R\rownerMemberId\x12!\n" +
	"\fmember_count\x18\x15 \x01(\x05R\vmemberCount\x127\n" +
	"\x06labels\x18\x1e \x03(\v2\x1f.powerx.iam.v1.Team.LabelsEntryR\x06labels\x129\n" +
	"\n" +
	"created_at\x18\x1f \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" +
	"\n" +
	"updated_at\x18  \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x1a9\n" +
	"\vLabelsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\x88\x01\n" +
	"\n" +
	"TeamMember\x12-\n" +
	"\x06member\x18\x01 \x01(\v2\x15.powerx.iam.v1.MemberR\x06member\x12\x12\n" +
	"\x04role\x18\x02 \x01(\tR\x04role\x127\n" +
	"\tjoined_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\bjoinedAt\"o\n" +
	"\x0eGetTeamRequest\x12+\n" +
	"\x03ctx\x18\x01 \x01(\v2\x19.common.v1.RequestContextR\x03ctx\x12\x10\n" +
	"\x02id\x18\x02 \x01(\x04H\x00R\x02id\x12\x12\n" +
	"\x03prn\x18\x03 \x01(\tH\x00R\x03prnB\n" +
	"\n" +
	"\bselector\"\xfc\x01\n" +
	"\x10ListTeamsRequest\x12+\n" +
	"\x03ctx\x18\x01 \x01(\v2\x19.common.v1.RequestContextR\x03ctx\x12\x18\n" +
	"\akeyword\x18\x02 \x01(\tR\akeyword\x12+\n" +
	"\x04kind\x18\x03 \x01(\x0e2\x17.powerx.iam.v1.TeamKindR\x04kind\x12\x1b\n" +
	"\tparent_id\x18\x04 \x01(\x04R\bparentId\x12*\n" +
	"\x04page\x18\n" +
	" \x01(\v2\x16.common.v1.PageRequestR\x04page\x12\x19\n" +
	"\border_by\x18\v \x01(\tR\aorderBy\x12\x10\n" +
	"\x03asc\x18\f \x01(\bR\x03asc\"\xd0\x02\n" +
	"\x16ListTeamMembersRequest\x12+\n" +
	"\x03ctx\x18\x01 \x01(\v2\x19.common.v1.RequestContextR\x03ctx\x12\x19\n" +
	"\ateam_id\x18\x02 \x01(\x04H\x00R\x06teamId\x12\x1b\n" +
	"\bteam_prn\x18\x03 \x01(\tH\x00R\ateamPrn\x12\x18\n" +
	"\akeyword\x18\n" +
	" \x01(\tR\akeyword\x12\x12\n" +
	"\x04role\x18\v \x01(\tR\x04role\x123\n" +
	"\x06status\x18\f \x01(\x0e2\x1b.powerx.iam.v1.MemberStatusR\x06status\x12*\n" +
	"\x04page\x18\x14 \x01(\v2\x16.common.v1.PageRequestR\x04page\x12:\n" +
	"\vmember_view\x18\x1e \x01(\x0e2\x19.powerx.iam.v1.MemberViewR\n" +
	"memberViewB\x06\n" +
	"\x04team\"6\n" +
	"\vGetTeamData\x12'\n" +
	"\x04team\x18\x01 \x01(\v2\x13.powerx.iam.v1.TeamR\x04team\"n\n" +
	"\x0fGetTeamResponse\x12+\n" +
	"\x04meta\x18\x01 \x01(\v2\x17.common.v1.ResponseMetaR\x04meta\x12.\n" +
	"\x04data\x18\x02 \x01(\v2\x1a.powerx.iam.v1.GetTeamDataR\x04data\"g\n" +
	"\rListTeamsData\x12)\n" +
	"\x05items\x18\x01 \x03(\v2\x13.powerx.iam.v1.TeamR\x05items\x12+\n" +
	"\x04page\x18\x02 \x01(\v2\x17.common.v1.PageResponseR\x04page\"r\n" +
	"\x11ListTeamsResponse\x12+\n" +
	"\x04meta\x18\x01 \x01(\v2\x17.common.v1.ResponseMetaR\x04meta\x120\n" +
	"\x04data\x18\x02 \x01(\v2\x1c.powerx.iam.v1.ListTeamsDataR\x04data\"s\n" +
	"\x13ListTeamMembersData\x12/\n" +
	"\x05items\x18\x01 \x03(\v2\x19.powerx.iam.v1.TeamMemberR\x05items\x12+\n" +
	"\x04page\x18\x02 \x01(\v2\x17.common.v1.PageResponseR\x04page\"~\n" +
	"\x17ListTeamMembersResponse\x12+\n" +
	"\x04meta\x18\x01 \x01(\v2\x17.common.v1.ResponseMetaR\x04meta\x126\n" +
	"\x04data\x18\x02 \x01(\v2\".powerx.iam.v1.ListTeamMembersDataR\x04data\"\xd9\x01\n" +
	"\x16ListMemberTeamsRequest\x12+\n" +
	"\x03ctx\x18\x01 \x01(\v2\x19.common.v1.RequestContextR\x03ctx\x12\x1d\n" +
	"\tmember_id\x18\x02 \x01(\x04H\x00R\bmemberId\x12\x1f\n" +
	"\n" +
	"member_prn\x18\x03 \x01(\tH\x00R\tmemberPrn\x12\x1c\n" +
	"\busername\x18\x04 \x01(\tH\x00R\busername\x12*\n" +
	"\x04page\x18\n" +
	" \x01(\v2\x16.common.v1.PageRequestR\x04pageB\b\n" +
	"\x06member\"m\n" +
	"\x13ListMemberTeamsData\x12)\n" +
	"\x05items\x18\x01 \x03(\v2\x13.powerx.iam.v1.TeamR\x05items\x12+\n" +
	"\x04page\x18\x02 \x01(\v2\x17.common.v1.PageResponseR\x04page\"~\n" +
	"\x17ListMemberTeamsResponse\x12+\n" +
	"\x04meta\x18\x01 \x01(\v2\x17.common.v1.ResponseMetaR\x04meta\x126\n" +
	"\x04data\x18\x02 \x01(\v2\".powerx.iam.v1.ListMemberTeamsDataR\x04data*V\n" +
	"\bTeamKind\x12\x19\n" +
	"\x15TEAM_KIND_UNSPECIFIED\x10\x00\x12\x15\n" +
	"\x11TEAM_KIND_PROJECT\x10\x01\x12\x18\n" +
	"\x14TEAM_KIND_FUNCTIONAL\x10\x022\xeb\x02\n" +
	"\vTeamService\x12H\n" +
	"\aGetTeam\x12\x1d.powerx.iam.v1.GetTeamRequest\x1a\x1e.powerx.iam.v1.GetTeamResponse\x12N\n" +
	"\tListTeams\x12\x1f.powerx.iam.v1.ListTeamsRequest\x1a .powerx.iam.v1.ListTeamsResponse\x12`\n" +
	"\x0fListTeamMembers\x12%.powerx.iam.v1.ListTeamMembersRequest\x1a&.powerx.iam.v1.ListTeamMembersResponse\x12`\n" +
	"\x0fListMemberTeams\x12%.powerx.iam.v1.ListMemberTeamsRequest\x1a&.powerx.iam.v1.ListMemberTeamsResponseBDZBgithub.com/ArtisanCloud/PowerX/api/grpc/gen/go/powerx/iam/v1;iamv1b\x06proto3"

var (
	file_powerx_iam_v1_team_proto_rawDescOnce sync.Once
	file_powerx_iam_v1_team_proto_rawDescData []byte
)

func file_powerx_iam_v1_team_proto_rawDescGZIP() []byte {
	file_powerx_iam_v1_team_proto_rawDescOnce.Do(func() {
		file_powerx_iam_v1_team_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_powerx_iam_v1_team_proto_rawDesc), len(file_powerx_iam_v1_team_proto_rawDesc)))
	})
	return file_powerx_iam_v1_team_proto_rawDescData
}

var file_powerx_iam_v1_team_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_powerx_iam_v1_team_proto_msgTypes = make([]protoimpl.MessageInfo, 15)
var file_powerx_iam_v1_team_proto_goTypes = []any{
	(TeamKind)(0),                   // 0: powerx.iam.v1.TeamKind
	(*Team)(nil),                    // 1: powerx.iam.v1.Team
	(*TeamMember)(nil),              // 2: powerx.iam.v1.TeamMember
	(*GetTeamRequest)(nil),          // 3: powerx.iam.v1.GetTeamRequest
	(*ListTeamsRequest)(nil),        // 4: powerx.iam.v1.ListTeamsRequest
	(*ListTeamMembersRequest)(nil),  // 5: powerx.iam.v1.ListTeamMembersRequest
	(*GetTeamData)(nil),             // 6: powerx.iam.v1.GetTeamData
	(*GetTeamResponse)(nil),         // 7: powerx.iam.v1.GetTeamResponse
	(*ListTeamsData)(nil),           // 8: powerx.iam.v1.ListTeamsData
	(*ListTeamsResponse)(nil),       // 9: powerx.iam.v1.ListTeamsResponse
	(*ListTeamMembersData)(nil),     // 10: powerx.iam.v1.ListTeamMembersData
	(*ListTeamMembersResponse)(nil), // 11: powerx.iam.v1.ListTeamMembersResponse
	(*ListMemberTeamsRequest)(nil),  // 12: powerx.iam.v1.ListMemberTeamsRequest
	(*ListMemberTeamsData)(nil),     // 13: powerx.iam.v1.ListMemberTeamsData
	(*ListMemberTeamsResponse)(nil), // 14: powerx.iam.v1.ListMemberTeamsResponse
	nil,                             // 15: powerx.iam.v1.Team.LabelsEntry
	(*v1.ResourceRef)(nil),          // 16: common.v1.ResourceRef
	(*timestamppb.Timestamp)(nil),   // 17: google.protobuf.Timestamp
	(*Member)(nil),                  // 18: powerx.iam.v1.Member
	(*v1.RequestContext)(nil),       // 19: common.v1.RequestContext
	(*v1.PageRequest)(nil),          // 20: common.v1.PageRequest
	(MemberStatus)(0),               // 21: powerx.iam.v1.MemberStatus
	(MemberView)(0),                 // 22: powerx.iam.v1.MemberView
	(*v1.ResponseMeta)(nil),         // 23: common.v1.ResponseMeta
	(*v1.PageResponse)(nil),         // 24: common.v1.PageResponse
}
var file_powerx_iam_v1_team_proto_depIdxs = []int32{
	16, // 0: powerx.iam.v1.Team.ref:type_name -> common.v1.ResourceRef
	0,  // 1: powerx.iam.v1.Team.kind:type_name -> powerx.iam.v1.TeamKind
	15, // 2: powerx.iam.v1.Team.labels:type_name -> powerx.iam.v1.Team.LabelsEntry
	17, // 3: powerx.iam.v1.Team.created_at:type_name -> google.protobuf.Timestamp
	17, // 4: powerx.iam.v1.Team.updated_at:type_name -> google.protobuf.Timestamp
	18, // 5: powerx.iam.v1.TeamMember.member:type_name -> powerx.iam.v1.Member
	17, // 6: powerx.iam.v1.TeamMember.joined_at:type_name -> google.protobuf.Timestamp
	19, // 7: powerx.iam.v1.GetTeamRequest.ctx:type_name -> common.v1.RequestContext
	19, // 8: powerx.iam.v1.ListTeamsRequest.ctx:type_name -> common.v1.RequestContext
	0,  // 9: powerx.iam.v1.ListTeamsRequest.kind:type_name -> powerx.iam.v1.TeamKind
	20, // 10: powerx.iam.v1.ListTeamsRequest.page:type_name -> common.v1.PageRequest
	19, // 11: powerx.iam.v1.ListTeamMembersRequest.ctx:type_name -> common.v1.RequestContext
	21, // 12: powerx.iam.v1.ListTeamMembersRequest.status:type_name -> powerx.iam.v1.MemberStatus
	20, // 13: powerx.iam.v1.ListTeamMembersRequest.page:type_name -> common.v1.PageRequest
	22, // 14: powerx.iam.v1.ListTeamMembersRequest.member_view:type_name -> powerx.iam.v1.MemberView
	1,  // 15: powerx.iam.v1.GetTeamData.team:type_name -> powerx.iam.v1.Team
	23, // 16: powerx.iam.v1.GetTeamResponse.meta:type_name -> common.v1.ResponseMeta
	6,  // 17: powerx.iam.v1.GetTeamResponse.data:type_name -> powerx.iam.v1.GetTeamData
	1,  // 18: powerx.iam.v1.ListTeamsData.items:type_name -> powerx.iam.v1.Team
	24, // 19: powerx.iam.v1.ListTeamsData.page:type_name -> common.v1.PageResponse
	23, // 20: powerx.iam.v1.ListTeamsResponse.meta:type_name -> common.v1.ResponseMeta
	8,  // 21: powerx.iam.v1.ListTeamsResponse.data:type_name -> powerx.iam.v1.ListTeamsData
	2,  // 22: powerx.iam.v1.ListTeamMembersData.items:type_name -> powerx.iam.v1.TeamMember
	24, // 23: powerx.iam.v1.ListTeamMembersData.page:type_name -> common.v1.PageResponse
	23, // 24: powerx.iam.v1.ListTeamMembersResponse.meta:type_name -> common.v1.ResponseMeta
	10, // 25: powerx.iam.v1.ListTeamMembersResponse.data:type_name -> powerx.iam.v1.ListTeamMembersData
	19, // 26: powerx.iam.v1.ListMemberTeamsRequest.ctx:type_name -> common.v1.RequestContext
	20, // 27: powerx.iam.v1.ListMemberTeamsRequest.page:type_name -> common.v1.PageRequest
	1,  // 28: powerx.iam.v1.ListMemberTeamsData.items:type_name -> powerx.iam.v1.Team
	24, // 29: powerx.iam.v1.ListMemberTeamsData.page:type_name -> common.v1.PageResponse
	23, // 30: powerx.iam.v1.ListMemberTeamsResponse.meta:type_name -> common.v1.ResponseMeta
	13, // 31: powerx.iam.v1.ListMemberTeamsResponse.data:type_name -> powerx.iam.v1.ListMemberTeamsData
	3,  // 32: powerx.iam.v1.TeamService.GetTeam:input_type -> powerx.iam.v1.GetTeamRequest
	4,  // 33: powerx.iam.v1.TeamService.ListTeams:input_type -> powerx.iam.v1.ListTeamsRequest
	5,  // 34: powerx.iam.v1.TeamService.ListTeamMembers:input_type -> powerx.iam.v1.ListTeamMembersRequest
	12, // 35: powerx.iam.v1.TeamService.ListMemberTeams:input_type -> powerx.iam.v1.ListMemberTeamsRequest
	7,  // 36: powerx.iam.v1.TeamService.GetTeam:output_type -> powerx.iam.v1.GetTeamResponse
	9,  // 37: powerx.iam.v1.TeamService.ListTeams:output_type -> powerx.iam.v1.ListTeamsResponse
	11, // 38: powerx.iam.v1.TeamService.ListTeamMembers:output_type -> powerx.iam.v1.ListTeamMembersResponse
	14, // 39: powerx.iam.v1.TeamService.ListMemberTeams:output_type -> powerx.iam.v1.ListMemberTeamsResponse
	36, // [36:40] is the sub-list for method output_type
	32, // [32:36] is the sub-list for method input_type
	32, // [32:32] is the sub-list for extension type_name
	32, // [32:32] is the sub-list for extension extendee
	0,  // [0:32] is the sub-list for field type_name
}

func init() { file_powerx_iam_v1_team_proto_init() }
func file_powerx_iam_v1_team_proto_init() {
	if File_powerx_iam_v1_team_proto != nil {
		return
	}
	file_powerx_iam_v1_member_proto_init()
	file_powerx_iam_v1_team_proto_msgTypes[2].OneofWrappers = []any{
		(*GetTeamRequest_Id)(nil),
		(*GetTeamRequest_Prn)(nil),
	}
	file_powerx_iam_v1_team_proto_msgTypes[4].OneofWrappers = []any{
		(*ListTeamMembersRequest_TeamId)(nil),
		(*ListTeamMembersRequest_TeamPrn)(nil),
	}
	file_powerx_iam_v1_team_proto_msgTypes[11].OneofWrappers = []any{
		(*ListMemberTeamsRequest_MemberId)(nil),
		(*ListMemberTeamsRequest_MemberPrn)(nil),
		(*ListMemberTeamsRequest_Username)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_powerx_iam_v1_team_proto_rawDesc), len(file_powerx_iam_v1_team_proto_rawDesc)),
			NumEnums:      1,
			NumMessages:   15,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_powerx_iam_v1_team_proto_goTypes,
		DependencyIndexes: file_powerx_iam_v1_team_proto_depIdxs,
		EnumInfos:         file_powerx_iam_v1_team_proto_enumTypes,
		MessageInfos:      file_powerx_iam_v1_team_proto_msgTypes,
	}.Build()
	File_powerx_iam_v1_team_proto = out.File
	file_powerx_iam_v1_team_proto_goTypes = nil
	file_powerx_iam_v1_team_proto_depIdxs = nil
}
