catalogviews

package
v1.5.58 Latest Latest
Warning

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

Go to latest
Published: Jun 3, 2024 License: AGPL-3.0 Imports: 5 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AlbumView

type AlbumView struct {
	Providers []ListAlbumsProvider
}

func NewAlbumView added in v1.5.49

func NewAlbumView(
	FindAlbumByOwnerPort FindAlbumByOwnerPort,
	GetAlbumSharingGridPort GetAlbumSharingGridPort,
	FindAlbumsByIdsPort FindAlbumsByIdsPort,
	SharedWithUserPort SharedWithUserPort,
	MediaCounterPort MediaCounterPort,
) *AlbumView

func (*AlbumView) ListAlbums

func (v *AlbumView) ListAlbums(ctx context.Context, user usermodel.CurrentUser, filter ListAlbumsFilter) ([]*VisibleAlbum, error)

ListAlbums returns albums visible by the user (owned by current user, and shared to him)

type FindAlbumByOwnerFunc added in v1.5.49

type FindAlbumByOwnerFunc func(ctx context.Context, owner ownermodel.Owner) ([]*catalog.Album, error)

func (FindAlbumByOwnerFunc) FindAlbumsByOwner added in v1.5.49

func (f FindAlbumByOwnerFunc) FindAlbumsByOwner(ctx context.Context, owner ownermodel.Owner) ([]*catalog.Album, error)

type FindAlbumByOwnerPort

type FindAlbumByOwnerPort interface {
	FindAlbumsByOwner(ctx context.Context, owner ownermodel.Owner) ([]*catalog.Album, error)
}

type FindAlbumsByIdsFunc added in v1.5.49

type FindAlbumsByIdsFunc func(ctx context.Context, ids []catalog.AlbumId) ([]*catalog.Album, error)

func (FindAlbumsByIdsFunc) FindAlbumsById added in v1.5.49

func (f FindAlbumsByIdsFunc) FindAlbumsById(ctx context.Context, ids []catalog.AlbumId) ([]*catalog.Album, error)

type FindAlbumsByIdsPort

type FindAlbumsByIdsPort interface {
	FindAlbumsById(ctx context.Context, ids []catalog.AlbumId) ([]*catalog.Album, error)
}

type GetAlbumSharingGridFunc added in v1.5.49

type GetAlbumSharingGridFunc func(ctx context.Context, owner ownermodel.Owner) (map[catalog.AlbumId][]usermodel.UserId, error)

func (GetAlbumSharingGridFunc) GetAlbumSharingGrid added in v1.5.49

func (f GetAlbumSharingGridFunc) GetAlbumSharingGrid(ctx context.Context, owner ownermodel.Owner) (map[catalog.AlbumId][]usermodel.UserId, error)

type GetAlbumSharingGridPort added in v1.5.49

type GetAlbumSharingGridPort interface {
	GetAlbumSharingGrid(ctx context.Context, owner ownermodel.Owner) (map[catalog.AlbumId][]usermodel.UserId, error)
}

type ListAlbumsFilter

type ListAlbumsFilter struct {
	OnlyDirectlyOwned bool // OnlyDirectlyOwned provides a sub-view where only resources directly owned by user are displayed and accessible
}

type ListAlbumsProvider added in v1.5.49

type ListAlbumsProvider interface {
	ListAlbums(ctx context.Context, user usermodel.CurrentUser, filter ListAlbumsFilter) ([]*VisibleAlbum, error)
}

type ListAlbumsProviderFunc added in v1.5.49

type ListAlbumsProviderFunc func(ctx context.Context, user usermodel.CurrentUser, filter ListAlbumsFilter) ([]*VisibleAlbum, error)

func (ListAlbumsProviderFunc) ListAlbums added in v1.5.49

type MediaCounterFunc added in v1.5.50

type MediaCounterFunc func(ctx context.Context, album ...catalog.AlbumId) (map[catalog.AlbumId]int, error)

func (MediaCounterFunc) CountMedia added in v1.5.50

func (f MediaCounterFunc) CountMedia(ctx context.Context, album ...catalog.AlbumId) (map[catalog.AlbumId]int, error)

type MediaCounterPort added in v1.5.50

type MediaCounterPort interface {
	CountMedia(ctx context.Context, album ...catalog.AlbumId) (map[catalog.AlbumId]int, error)
}

type OwnedAlbumListProvider added in v1.5.49

type OwnedAlbumListProvider struct {
	FindAlbumByOwnerPort    FindAlbumByOwnerPort
	GetAlbumSharingGridPort GetAlbumSharingGridPort
	MediaCounterPort        MediaCounterPort
}

func (*OwnedAlbumListProvider) ListAlbums added in v1.5.49

type SharedAlbumListProvider added in v1.5.49

type SharedAlbumListProvider struct {
	FindAlbumsByIdsPort FindAlbumsByIdsPort
	SharedWithUserPort  SharedWithUserPort
	MediaCounterPort    MediaCounterPort
}

func (*SharedAlbumListProvider) ListAlbums added in v1.5.49

type SharedWithUserFunc added in v1.5.49

type SharedWithUserFunc func(ctx context.Context, userId usermodel.UserId) ([]catalog.AlbumId, error)

func (SharedWithUserFunc) ListAlbumIdsSharedWithUser added in v1.5.49

func (f SharedWithUserFunc) ListAlbumIdsSharedWithUser(ctx context.Context, userId usermodel.UserId) ([]catalog.AlbumId, error)

type SharedWithUserPort

type SharedWithUserPort interface {
	ListAlbumIdsSharedWithUser(ctx context.Context, userId usermodel.UserId) ([]catalog.AlbumId, error)
}

type VisibleAlbum

type VisibleAlbum struct {
	catalog.Album
	MediaCount         int                // Count is the number of medias on the album
	Visitors           []usermodel.UserId // Visitors are the users that can see the album ; only visible to the owner of the album
	OwnedByCurrentUser bool               // OwnedByCurrentUser is set to true when the user is an owner of the album
}

Jump to

Keyboard shortcuts

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