Documentation ¶
Index ¶
- Variables
- type CreateFolder
- type CreateMedia
- type CreateMediasList
- type FileFields
- type FileStorage
- type Filter
- type FolderAndMedia
- type FolderAndMedias
- type FolderAndMediasList
- type FolderBreadcrumb
- type FolderDetail
- type FolderFields
- type FolderFilter
- type FolderRepository
- type FolderResponse
- type Folders
- func (f Folders) Create(ctx context.Context, action CreateFolder) (*uuid.UUID, error)
- func (f Folders) Delete(ctx context.Context, action GetFolder) error
- func (f Folders) Get(ctx context.Context, action GetFolder) (*FolderDetail, error)
- func (f Folders) GetAll(ctx context.Context, filter FolderFilter) (*FolderAndMediasList, error)
- func (f Folders) GetTree(ctx context.Context) ([]*FolderResponse, error)
- func (f Folders) Move(ctx context.Context, action MoveFolder) error
- func (f Folders) Rename(ctx context.Context, action RenameFolder) error
- type FoldersAndMediasList
- type GetFolder
- type GetMedia
- type ListMediasShorts
- type MediaFile
- type MediaFilter
- type MediaPreview
- type MediaProvider
- type MediaRepository
- type MediaShort
- type MediaShortList
- type Medias
- func (m Medias) CheckIds(ctx context.Context, ids ...uuid.UUID) error
- func (m Medias) Create(ctx context.Context, action CreateMedia) (*uuid.UUID, error)
- func (m Medias) Delete(ctx context.Context, dto GetMedia) error
- func (m Medias) Get(ctx context.Context, dto GetMedia) (*MediaPreview, error)
- func (m Medias) List(ctx context.Context, dto ListMediasShorts) (*MediaShortList, error)
- func (m Medias) Move(ctx context.Context, dto MoveMedia) error
- func (m Medias) Rename(ctx context.Context, dto RenameMedia) error
- func (m Medias) Upload(ctx context.Context, dto CreateMedia) (string, error)
- func (m Medias) UploadList(ctx context.Context, dto CreateMediasList) ([]uuid.UUID, error)
- type MoveFolder
- type MoveMedia
- type RenameFolder
- type RenameMedia
- type UpdateMediaDto
- type UploadFile
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrFolderAlreadyExists = errors.Conflict.New("folder already exists").T("folder.conflict") ErrFolderRecursiveAttachment = errors.Conflict.New("folders recursion attaching").T("folder.recursion") ErrFolderAlreadyInThisFolder = errors.BadRequest.New("folder already in this folder").T("folder.moving-same-folder") ErrFolderAlreadyHasSameName = errors.BadRequest.New("folder already has the same name").T("folder.renaming-same-name") ErrMediaAlreadyHasSameName = errors.BadRequest.New("media already has the same name").T("media.renaming-same-name") ErrMediaAlreadyHasSameFolder = errors.BadRequest.New("media already in this folder").T("media.moving-same-folder") ErrMediaAlreadyExistsInFolder = errors.Conflict.New("folder with the same name already exists in this folder").T("media.conflict") ErrFolderNotFound = errors.NotFound.New("folder not found").T("folder.not-found") ErrMediaNotFound = errors.NotFound.New("media not found").T("media.not-found") ErrOneOfMediasNotExists = errors.BadRequest.New("some medias do not exist").T("media.not-exists") ErrMaxFileSize = errors.BadRequest.New("media file size too large").T("media.file.size") )
Functions ¶
This section is empty.
Types ¶
type CreateFolder ¶
type CreateMedia ¶
type CreateMediasList ¶
type FileFields ¶
type FileStorage ¶
type FileStorage interface { Upload(ctx context.Context, media *UploadFile) error UploadList(ctx context.Context, media ...UploadFile) error Delete(ctx context.Context, keys ...string) error Move(ctx context.Context, oldKey string, newKey string) error GetSize(ctx context.Context, key string) (int64, error) }
type FolderAndMedia ¶
type FolderAndMedia struct { ResourceType string `json:"resourceType"` Id uuid.UUID `json:"id"` Name string `json:"name"` Size utils.Filesize `json:"size"` FolderId *uuid.UUID `json:"parentFolderId"` UpdatedAt utils.Time `json:"updatedAt"` Filepath string `json:"filepath,omitempty"` Ext string `json:"ext,omitempty"` }
type FolderAndMedias ¶
type FolderAndMedias struct { ResourceType string `json:"resourceType"` FolderFields *FolderFields `json:"folderFields,omitempty"` FileFields *FileFields `json:"fileFields,omitempty"` }
type FolderAndMediasList ¶
type FolderAndMediasList struct { Total int64 `json:"total"` Items []FolderAndMedias `json:"items"` Breadcrumbs []FolderBreadcrumb `json:"breadcrumbs"` }
type FolderBreadcrumb ¶
type FolderDetail ¶
type FolderFields ¶
type FolderFilter ¶
type FolderRepository ¶
type FolderRepository interface { Has(ctx context.Context, id uuid.UUID) bool HasByFilter(ctx context.Context, filter Filter) bool Get(ctx context.Context, u uuid.UUID) (*entity2.Folder, error) GetWithSize(ctx context.Context, u uuid.UUID) (*FolderDetail, error) Create(ctx context.Context, folders ...*entity2.Folder) error Update(ctx context.Context, folder *entity2.Folder) error Delete(ctx context.Context, id uuid.UUID) error List(ctx context.Context, filter Filter) ([]*entity2.Folder, error) HasSubFolder(ctx context.Context, id uuid.UUID, subFolderId *uuid.UUID) (bool, error) GetFolderPath(ctx context.Context, id uuid.UUID) (folderPath string, err error) GetFolderMediaFilePaths(ctx context.Context, id *uuid.UUID) (mediaFilepath []string, err error) GetAllFolderMedias(ctx context.Context, id uuid.UUID) ([]*UpdateMediaDto, error) GetFoldersTree(ctx context.Context) ([]*FolderResponse, error) GetFoldersAndMedias(ctx context.Context, filter FolderFilter) (*FoldersAndMediasList, error) GetFolderParents(ctx context.Context, filter Filter) ([]FolderResponse, error) }
type FolderResponse ¶
type Folders ¶
Folders сервис работы с папками
func NewFolders ¶
func NewFolders( folderRepository FolderRepository, mediaRepository MediaRepository, mediaStorage FileStorage, mediaProvider MediaProvider, callbacks callbacks.Callbacks, ) *Folders
NewFolders конструктор
func (Folders) GetAll ¶
func (f Folders) GetAll(ctx context.Context, filter FolderFilter) (*FolderAndMediasList, error)
GetAll получение папок и медиа, лежащих в одной папке
func (Folders) GetTree ¶
func (f Folders) GetTree(ctx context.Context) ([]*FolderResponse, error)
GetTree получение дерева папок
type FoldersAndMediasList ¶
type FoldersAndMediasList struct { Total int64 Items []FolderAndMedia }
type ListMediasShorts ¶
type MediaFile ¶
type MediaFile struct { Filename string `validate:"required,min=3"` Size int64 `validate:""` File io.ReadSeeker `validate:"required"` }
type MediaFilter ¶
type MediaPreview ¶
type MediaPreview struct { Id uuid.UUID `json:"id"` Name string `json:"name"` Ext string `json:"ext"` Size utils.Filesize `json:"size"` Alt string `json:"alt"` Title string `json:"title"` ContentType string `json:"contentType"` Url string `json:"url"` UpdatedAt utils.Time `json:"updatedAt"` FolderId *uuid.UUID `json:"folderId"` }
type MediaProvider ¶
type MediaRepository ¶
type MediaRepository interface { Has(ctx context.Context, id uuid.UUID) bool HasByFilter(ctx context.Context, filter MediaFilter) bool Create(ctx context.Context, medias ...entity2.Media) error Get(ctx context.Context, id uuid.UUID) (*entity2.Media, error) Update(ctx context.Context, medias ...*UpdateMediaDto) error Delete(ctx context.Context, ids ...uuid.UUID) error GetShortList(ctx context.Context, ids []uuid.UUID) ([]entity2.Media, error) Count(ctx context.Context, filter MediaFilter) (int, error) }
type MediaShort ¶
type MediaShortList ¶
type MediaShortList struct {
Items []MediaShort `json:"items"`
}
type Medias ¶
Medias сервис работы с медиа
func NewMedias ¶
func NewMedias( mediaRepository MediaRepository, folderRepository FolderRepository, storage FileStorage, mediaProvider MediaProvider, callbacks callbacks.Callbacks, ) *Medias
NewMedias конструктор
func (Medias) List ¶
func (m Medias) List(ctx context.Context, dto ListMediasShorts) (*MediaShortList, error)
List получение списка медиа превью
func (Medias) Rename ¶
func (m Medias) Rename(ctx context.Context, dto RenameMedia) error
Rename переименование медиа
func (Medias) UploadList ¶
UploadList загрузка нескольких медиа
type MoveFolder ¶
type RenameFolder ¶
type RenameMedia ¶
type UpdateMediaDto ¶
type UploadFile ¶
type UploadFile struct { Key string ContentType string File io.ReadSeeker }
Click to show internal directories.
Click to hide internal directories.