usecase

package
v0.0.0-...-d67b91f Latest Latest
Warning

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

Go to latest
Published: Nov 23, 2022 License: MIT Imports: 12 Imported by: 0

Documentation

Overview

Package usecase implements application business logic. Each logic group in own file.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type GophKeeper

type GophKeeper interface {
	HealthCheck() error
	SignUpUser(ctx context.Context, email, password string) (entity.User, error)
	SignInUser(ctx context.Context, email, password string) (entity.JWT, error)
	RefreshAccessToken(ctx context.Context, refreshToken string) (entity.JWT, error)
	GetDomainName() string
	CheckAccessToken(ctx context.Context, accessToken string) (entity.User, error)

	GetLogins(ctx context.Context, user entity.User) ([]entity.Login, error)
	AddLogin(ctx context.Context, login *entity.Login, userID uuid.UUID) error
	DelLogin(ctx context.Context, loginID, userID uuid.UUID) error
	UpdateLogin(ctx context.Context, login *entity.Login, userID uuid.UUID) error

	GetCards(ctx context.Context, user entity.User) ([]entity.Card, error)
	AddCard(ctx context.Context, card *entity.Card, userID uuid.UUID) error
	DelCard(ctx context.Context, cardUUID, userID uuid.UUID) error
	UpdateCard(ctx context.Context, card *entity.Card, userID uuid.UUID) error

	GetNotes(ctx context.Context, user entity.User) ([]entity.SecretNote, error)
	AddNote(ctx context.Context, note *entity.SecretNote, userID uuid.UUID) error
	DelNote(ctx context.Context, noteID, userID uuid.UUID) error
	UpdateNote(ctx context.Context, note *entity.SecretNote, userID uuid.UUID) error

	GetBinaries(ctx context.Context, user entity.User) ([]entity.Binary, error)
	AddBinary(ctx context.Context, binary *entity.Binary, file *multipart.FileHeader, userID uuid.UUID) error
	GetUserBinary(ctx context.Context, currentUser *entity.User, binaryUUID uuid.UUID) (string, error)
	DelUserBinary(ctx context.Context, currentUser *entity.User, binaryUUID uuid.UUID) error
	AddBinaryMeta(
		ctx context.Context,
		currentUser *entity.User,
		binaryUUID uuid.UUID,
		meta []entity.Meta) (*entity.Binary, error)
}

GophKeeper - use cases.

type GophKeeperRepo

type GophKeeperRepo interface {
	DBHealthCheck() error
	AddUser(ctx context.Context, email, hashedPassword string) (entity.User, error)
	GetUserByEmail(ctx context.Context, email, hashedPassword string) (entity.User, error)
	GetUserByID(ctx context.Context, id string) (entity.User, error)

	GetLogins(ctx context.Context, user entity.User) ([]entity.Login, error)
	AddLogin(ctx context.Context, login *entity.Login, userID uuid.UUID) error
	DelLogin(ctx context.Context, loginID, userID uuid.UUID) error
	UpdateLogin(ctx context.Context, login *entity.Login, userID uuid.UUID) error
	IsLoginOwner(ctx context.Context, loginID, userID uuid.UUID) bool

	GetCards(ctx context.Context, user entity.User) ([]entity.Card, error)
	AddCard(ctx context.Context, card *entity.Card, userID uuid.UUID) error
	DelCard(ctx context.Context, cardUUID, userID uuid.UUID) error
	UpdateCard(ctx context.Context, card *entity.Card, userID uuid.UUID) error
	IsCardOwner(ctx context.Context, cardUUID, userID uuid.UUID) bool

	GetNotes(ctx context.Context, user entity.User) ([]entity.SecretNote, error)
	AddNote(ctx context.Context, note *entity.SecretNote, userID uuid.UUID) error
	DelNote(ctx context.Context, noteID, userID uuid.UUID) error
	UpdateNote(ctx context.Context, note *entity.SecretNote, userID uuid.UUID) error
	IsNoteOwner(ctx context.Context, noteID, userID uuid.UUID) bool

	GetBinaries(ctx context.Context, user entity.User) ([]entity.Binary, error)
	AddBinary(ctx context.Context, binary *entity.Binary, userID uuid.UUID) error
	GetBinary(ctx context.Context, binaryID, userID uuid.UUID) (*entity.Binary, error)
	DelUserBinary(ctx context.Context, currentUser *entity.User, binaryUUID uuid.UUID) error
	AddBinaryMeta(
		ctx context.Context,
		currentUser *entity.User,
		binaryUUID uuid.UUID,
		meta []entity.Meta) (*entity.Binary, error)
}

GophKeeperRepo - db logic.

type GophKeeperUseCase

type GophKeeperUseCase struct {
	// contains filtered or unexported fields
}

GophKeeperUseCase -.

func New

func (*GophKeeperUseCase) AddBinary

func (uc *GophKeeperUseCase) AddBinary(
	ctx context.Context,
	binary *entity.Binary,
	file *multipart.FileHeader,
	userID uuid.UUID,
) error

func (*GophKeeperUseCase) AddBinaryMeta

func (uc *GophKeeperUseCase) AddBinaryMeta(
	ctx context.Context,
	currentUser *entity.User,
	binaryUUID uuid.UUID,
	meta []entity.Meta,
) (*entity.Binary, error)

func (*GophKeeperUseCase) AddCard

func (uc *GophKeeperUseCase) AddCard(ctx context.Context, card *entity.Card, userID uuid.UUID) error

func (*GophKeeperUseCase) AddLogin

func (uc *GophKeeperUseCase) AddLogin(ctx context.Context, login *entity.Login, userID uuid.UUID) error

func (*GophKeeperUseCase) AddNote

func (uc *GophKeeperUseCase) AddNote(ctx context.Context, note *entity.SecretNote, userID uuid.UUID) error

func (*GophKeeperUseCase) CheckAccessToken

func (uc *GophKeeperUseCase) CheckAccessToken(ctx context.Context, accessToken string) (entity.User, error)

func (*GophKeeperUseCase) DelCard

func (uc *GophKeeperUseCase) DelCard(ctx context.Context, cardUUID, userID uuid.UUID) error

func (*GophKeeperUseCase) DelLogin

func (uc *GophKeeperUseCase) DelLogin(ctx context.Context, loginID, userID uuid.UUID) error

func (*GophKeeperUseCase) DelNote

func (uc *GophKeeperUseCase) DelNote(ctx context.Context, noteID, userID uuid.UUID) error

func (*GophKeeperUseCase) DelUserBinary

func (uc *GophKeeperUseCase) DelUserBinary(
	ctx context.Context,
	currentUser *entity.User,
	binaryUUID uuid.UUID,
) error

func (*GophKeeperUseCase) GetBinaries

func (uc *GophKeeperUseCase) GetBinaries(ctx context.Context, user entity.User) ([]entity.Binary, error)

func (*GophKeeperUseCase) GetCards

func (uc *GophKeeperUseCase) GetCards(ctx context.Context, user entity.User) ([]entity.Card, error)

func (*GophKeeperUseCase) GetDomainName

func (uc *GophKeeperUseCase) GetDomainName() string

func (*GophKeeperUseCase) GetLogins

func (uc *GophKeeperUseCase) GetLogins(ctx context.Context, user entity.User) ([]entity.Login, error)

func (*GophKeeperUseCase) GetNotes

func (uc *GophKeeperUseCase) GetNotes(ctx context.Context, user entity.User) ([]entity.SecretNote, error)

func (*GophKeeperUseCase) GetUserBinary

func (uc *GophKeeperUseCase) GetUserBinary(
	ctx context.Context,
	currentUser *entity.User,
	binaryUUID uuid.UUID,
) (string, error)

func (*GophKeeperUseCase) HealthCheck

func (uc *GophKeeperUseCase) HealthCheck() error

func (*GophKeeperUseCase) RefreshAccessToken

func (uc *GophKeeperUseCase) RefreshAccessToken(ctx context.Context, refreshToken string) (token entity.JWT, err error)

func (*GophKeeperUseCase) SignInUser

func (uc *GophKeeperUseCase) SignInUser(ctx context.Context, email, password string) (token entity.JWT, err error)

func (*GophKeeperUseCase) SignUpUser

func (uc *GophKeeperUseCase) SignUpUser(ctx context.Context, email, password string) (user entity.User, err error)

func (*GophKeeperUseCase) UpdateCard

func (uc *GophKeeperUseCase) UpdateCard(ctx context.Context, card *entity.Card, userID uuid.UUID) error

func (*GophKeeperUseCase) UpdateLogin

func (uc *GophKeeperUseCase) UpdateLogin(ctx context.Context, login *entity.Login, userID uuid.UUID) error

func (*GophKeeperUseCase) UpdateNote

func (uc *GophKeeperUseCase) UpdateNote(ctx context.Context, note *entity.SecretNote, userID uuid.UUID) error

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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