Versions in this module Expand all Collapse all v0 v0.0.10 Apr 16, 2023 Changes in this version + const PathSeparator + func NewProtoDirectory(dir *Directory) *proto.Directory + func NewProtoPath(absolute string) *proto.Path + func NewProtoSearchMatch(match SearchMatch) *proto.SearchMatch + func NewProtoSearchResponse(matches []SearchMatch) *proto.SearchResponse + type Directory struct + func NewDirectory(userId int32) *Directory + func (dir *Directory) AddFile(file *file.File, fp string) string + func (dir *Directory) AggregateFiles(p string) map[string]*file.File + func (dir *Directory) FileByPath(p string) *file.File + func (dir *Directory) FilesByPath(p string) map[string]*file.File + func (dir *Directory) RemoveFile(file *file.File) + func (dir *Directory) Search(search string) []SearchMatch + type DirectoryApplication struct + func NewDirectoryApplication(dirRepo DirectoryRepository, fileRepo file.FileRepository, logger *zap.Logger) *DirectoryApplication + func (app *DirectoryApplication) Create(ctx context.Context, uid int32) (*Directory, error) + func (app *DirectoryApplication) Delete(ctx context.Context, uid int32, p string) (*Directory, error) + func (app *DirectoryApplication) Get(ctx context.Context, uid int32, p string) (*Directory, error) + func (app *DirectoryApplication) Move(ctx context.Context, uid int32, paths []string, dest string) (*Directory, error) + func (app *DirectoryApplication) RegisterFile(ctx context.Context, file *file.File, uid int32, fp string) (string, error) + func (app *DirectoryApplication) Search(ctx context.Context, uid int32, regex string) ([]SearchMatch, error) + func (app *DirectoryApplication) UnregisterFile(ctx context.Context, f *file.File, uid int32) error + type DirectoryGrpcService struct + func NewDirectoryGrpcServer(app *DirectoryApplication, logger *zap.Logger, authHeader string) *DirectoryGrpcService + func (server *DirectoryGrpcService) Delete(ctx context.Context, path *proto.Path) (*proto.Directory, error) + func (server *DirectoryGrpcService) Get(ctx context.Context, path *proto.Path) (*proto.Directory, error) + func (server *DirectoryGrpcService) Move(ctx context.Context, req *proto.MoveRequest) (*proto.Directory, error) + func (server *DirectoryGrpcService) Search(ctx context.Context, req *proto.SearchRequest) (*proto.SearchResponse, error) + type DirectoryRepository interface + Create func(ctx context.Context, directory *Directory) error + Delete func(ctx context.Context, directory *Directory) error + FindByUserId func(ctx context.Context, userId int32, options *RepoOptions) (*Directory, error) + Save func(ctx context.Context, directory *Directory) error + type MongoDirectoryRepository struct + func NewMongoDirectoryRepository(db *mongo.Database, fileRepo file.FileRepository, logger *zap.Logger) *MongoDirectoryRepository + func (repo *MongoDirectoryRepository) Create(ctx context.Context, dir *Directory) error + func (repo *MongoDirectoryRepository) Delete(ctx context.Context, dir *Directory) error + func (repo *MongoDirectoryRepository) FindByUserId(ctx context.Context, userId int32, options *RepoOptions) (*Directory, error) + func (repo *MongoDirectoryRepository) Save(ctx context.Context, dir *Directory) error + type RepoOptions struct + LazyLoading bool + type SearchMatch struct