controller

package
v0.0.0-...-75c6f16 Latest Latest
Warning

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

Go to latest
Published: Feb 28, 2024 License: AGPL-3.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type PublicShareableLinkResponseIDO

type PublicShareableLinkResponseIDO struct {
	ExpiryDate             time.Time                  `bson:"expiry_date" json:"expiry_date"`
	ExpiresIn              uint64                     `bson:"expires_in,omitempty" json:"expires_in,omitempty"`
	SmartFolderID          primitive.ObjectID         `bson:"smart_folder_id" json:"smart_folder_id"`
	SmartFolderName        string                     `bson:"smart_folder_name" json:"smart_folder_name"`
	SmartFolderCategory    uint64                     `bson:"smart_folder_category,omitempty" json:"smart_folder_category,omitempty"`
	SmartFolderSubCategory uint64                     `bson:"smart_folder_sub_category,omitempty" json:"smart_folder_sub_category,omitempty"`
	SmartFolderDescription string                     `bson:"smart_folder_description" json:"smart_folder_description"`
	ID                     primitive.ObjectID         `bson:"_id" json:"id"`
	CreatedAt              time.Time                  `bson:"created_at" json:"created_at"`
	CreatedByUserID        primitive.ObjectID         `bson:"created_by_user_id" json:"created_by_user_id,omitempty"`
	CreatedByUserName      string                     `bson:"created_by_user_name" json:"created_by_user_name"`
	CreatedFromIPAddress   string                     `bson:"created_from_ip_address" json:"created_from_ip_address"`
	ModifiedAt             time.Time                  `bson:"modified_at" json:"modified_at"`
	ModifiedByUserID       primitive.ObjectID         `bson:"modified_by_user_id" json:"modified_by_user_id,omitempty"`
	ModifiedByUserName     string                     `bson:"modified_by_user_name" json:"modified_by_user_name"`
	ModifiedFromIPAddress  string                     `bson:"modified_from_ip_address" json:"modified_from_ip_address"`
	TenantID               primitive.ObjectID         `bson:"tenant_id" json:"tenant_id"`
	TenantName             string                     `bson:"tenant_name" json:"tenant_name"`
	ObjectFiles            []*objectfile_s.ObjectFile `bson:"object_files" json:"object_files"`
}

type ShareableLinkController

type ShareableLinkController interface {
	Create(ctx context.Context, requestData *ShareableLinkCreateRequestIDO) (*shareablelink_s.ShareableLink, error)
	GetByID(ctx context.Context, id primitive.ObjectID) (*shareablelink_s.ShareableLink, error)
	PublicGetByID(ctx context.Context, id primitive.ObjectID) (*PublicShareableLinkResponseIDO, error)
}

ShareableLinkController Interface for shareablelink business logic controller.

type ShareableLinkControllerImpl

type ShareableLinkControllerImpl struct {
	Config              *config.Conf
	Logger              *slog.Logger
	UUID                uuid.Provider
	ObjectStorage       object_storage.ObjectStorager
	Password            password.Provider
	Kmutex              kmutex.Provider
	DbClient            *mongo.Client
	UserStorer          user_s.UserStorer
	ShareableLinkStorer shareablelink_s.ShareableLinkStorer
	SmartFolderStorer   smartfolder_s.SmartFolderStorer
	ObjectFileStorer    objectfile_s.ObjectFileStorer
	TemplatedEmailer    templatedemailer.TemplatedEmailer
}

func (*ShareableLinkControllerImpl) Create

func (*ShareableLinkControllerImpl) DeleteByID

func (impl *ShareableLinkControllerImpl) DeleteByID(ctx context.Context, sfid primitive.ObjectID) error

func (*ShareableLinkControllerImpl) GetByID

func (*ShareableLinkControllerImpl) PublicGetByID

type ShareableLinkCreateRequestIDO

type ShareableLinkCreateRequestIDO struct {
	SmartFolderID primitive.ObjectID `bson:"smart_folder_id" json:"smart_folder_id"`
	ExpiresIn     uint64             `bson:"expires_in,omitempty" json:"expires_in,omitempty"`
}

Jump to

Keyboard shortcuts

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