permission

package
v0.0.0-...-9b5cd94 Latest Latest
Warning

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

Go to latest
Published: Apr 5, 2024 License: AGPL-3.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type API

type API interface {
	List(c *gin.Context)
}

func NewApi

func NewApi(
	store Store,
) API

type AggregationResult

type AggregationResult struct {
	Data       []Permission `bson:"data" json:"data"`
	TotalCount int64        `bson:"total_count" json:"total_count"`
}

func (*AggregationResult) GetData

func (r *AggregationResult) GetData() interface{}

func (*AggregationResult) GetTotal

func (r *AggregationResult) GetTotal() int64

type ListRequest

type ListRequest struct {
	pagination.FilteredQuery
	SortBy string `form:"sort_by" binding:"oneoforempty=name description"`
}

type Permission

type Permission struct {
	ID          string `bson:"_id" json:"_id"`
	Name        string `bson:"name" json:"name"`
	Description string `bson:"description" json:"description"`
	Type        string `bson:"type" json:"type"`
	// View is used only for view permissions.
	View *View `bson:"view" json:"view,omitempty"`
	// ViewGroup is used only for view permissions.
	ViewGroup *ViewGroup `bson:"view_group" json:"view_group,omitempty"`
	// Playlist is used only for playlist permissions.
	Playlist *Playlist `bson:"playlist" json:"playlist,omitempty"`
}

type Playlist

type Playlist struct {
	ID   string `bson:"_id" json:"_id"`
	Name string `bson:"name" json:"name"`
}

type Store

type Store interface {
	Find(ctx context.Context, request ListRequest) (*AggregationResult, error)
}

func NewStore

func NewStore(dbClient mongo.DbClient) Store

type View

type View struct {
	ID       string `bson:"_id" json:"_id"`
	Title    string `bson:"title" json:"title"`
	Position int64  `bson:"position" json:"position"`
}

type ViewGroup

type ViewGroup struct {
	ID       string `bson:"_id" json:"_id"`
	Title    string `bson:"title" json:"title"`
	Position int64  `bson:"position" json:"position"`
}

Jump to

Keyboard shortcuts

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