member

package
v0.0.0-...-d125d34 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 8, 2024 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CovertPostMember

func CovertPostMember(member *PostMember) memberservice.PostMember

Types

type Controller

type Controller interface {
	// CreateMember creates a member of the resource
	CreateMember(ctx context.Context, postMember *PostMember) (*Member, error)
	// UpdateMember update a member of the group
	UpdateMember(ctx context.Context, id uint, role string) (*Member, error)
	// RemoveMember leave group or remove a member of the group
	RemoveMember(ctx context.Context, id uint) error
	// ListMember list all the member of the group (and all the member from parent group)
	ListMember(ctx context.Context, resourceType string, resourceID uint) ([]Member, error)
	// GetMemberOfResource get the member of the group by user info in ctx
	GetMemberOfResource(ctx context.Context, resourceType string, resourceID uint) (*Member, error)
}

func NewController

func NewController(param *param.Param) Controller

NewController initializes a new group controller

type ConvertMemberHelp

type ConvertMemberHelp interface {
	ConvertMember(ctx context.Context, member *models.Member) (*Member, error)
	ConvertMembers(ctx context.Context, member []models.Member) ([]Member, error)
}

func New

func New(param *param.Param) ConvertMemberHelp

type Member

type Member struct {
	// ID the uniq id of the member entry
	ID uint `json:"id"`

	// ResourceName   application/group
	ResourceType models.ResourceType `json:"resourceType"`
	ResourceName string              `json:"resourceName"`
	ResourcePath string              `json:"resourcePath,omitempty"`
	ResourceID   uint                `json:"resourceID"`

	// MemberType user or group
	MemberType models.MemberType `json:"memberType"`

	// MemberName username or groupName
	MemberName string `json:"memberName"`
	// MemberNameID userID or groupID
	MemberNameID uint `json:"memberNameID"`

	// Role the role name that bind
	Role string `json:"role"`
	// GrantedBy id of user who grant the role
	GrantedBy uint `json:"grantedBy"`
	// GrantorName name of user who grant the role
	GrantorName string `json:"grantorName"`
	// GrantTime
	GrantTime time.Time `json:"grantTime"`
}

type PostMember

type PostMember struct {
	// ResourceType group/application/cluster
	ResourceType string `json:"resourceType"`

	// ResourceID group id;application id ...
	ResourceID uint `json:"resourceID"`

	// MemberType user or group
	MemberType models.MemberType `json:"memberType"`

	// MemberNameID group id / userid
	MemberNameID uint `json:"memberNameID"`

	// Role owner/maintainer/develop/...
	Role string `json:"role"`
}

type UpdateMember

type UpdateMember struct {
	ID   uint   `json:"id"`
	Role string `json:"role"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL