 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type File ¶
type File interface {
	Create(ctx context.Context, file *model.File) error
	FindByID(ctx context.Context, id string) (*model.File, error)
	FindUserFiles(ctx context.Context, userID string) ([]*model.File, error)
	AddPermission(ctx context.Context, fileID, username string) error
	HasPermission(ctx context.Context, fileID, username string) (bool, error)
	DeletePermission(ctx context.Context, fileID, username string) error
	Delete(ctx context.Context, id string) error
	FindPermissionsToFile(ctx context.Context, id, creatorID string) ([]*string, error)
	TogglePublic(ctx context.Context, id, creatorID string) error
}
    type Folder ¶
type Folder interface {
	Create(ctx context.Context, f model.Folder) error
	FindByID(ctx context.Context, id string) (*model.Folder, error)
	HasPermission(ctx context.Context, id, username string) (bool, error)
	Update(ctx context.Context, id string, fields map[string]interface{}) error
	GetFolderContents(ctx context.Context, id string) ([]*model.File, []*model.Folder, error)
	GetUserFolders(ctx context.Context, userID string) ([]*model.Folder, error)
	AddPermission(ctx context.Context, folderID, username string) error
	DeletePermission(ctx context.Context, folderID, username string) error
	GetPermissions(ctx context.Context, folderID, creatorID string) ([]*string, error)
	HasFile(ctx context.Context, folderID, filename string) (bool, error)
	HasFolder(ctx context.Context, userID, folderName string) (bool, error)
	HasFolderInFolder(ctx context.Context, folderName, folderID string) (bool, error)
}
    type PostgresRepository ¶
func NewPostgresRepo ¶
func NewPostgresRepo(db *pgxpool.Pool) *PostgresRepository
type UserSpace ¶
type UserSpace interface {
	Create(ctx context.Context, d model.UserSpace) error
	GetByUserID(ctx context.Context, userID string) (*model.UserSpace, error)
	GetFull(ctx context.Context, userID string) (*model.FullUserSpace, error)
	GetByUsername(ctx context.Context, username string) (*model.UserSpace, error)
	GetSize(ctx context.Context, userID string) (int64, error)
	UpdateLevel(ctx context.Context, userID string, newLevel uint8) error
}
     Click to show internal directories. 
   Click to hide internal directories.