service

package
v0.0.0-...-45bb23c Latest Latest
Warning

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

Go to latest
Published: Feb 18, 2022 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// JPG is for validation jpg image.
	JPG = "jpg"
	// PNG is for validation png image.
	PNG = "png"
	// JPEG is for validation jpeg image.
	JPEG = "jpeg"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Authorization

type Authorization interface {
	CreateUser(ctx context.Context, user models.User) (int, error)
	GenerateToken(ctx context.Context, email, password string) (string, error)
	ParseToken(accessToken string) (int, error)
}

Authorization contains methods for authorization of a user.

type ConversionPayLoad

type ConversionPayLoad struct {
	SourceFormat string
	TargetFormat string
	Filename     string
	Ratio        int
	File         multipart.File
	UsersID      int
}

ConversionPayLoad is payload for Conversion.

type Images

type Images interface {
	InsertImage(ctx context.Context, filename, format string) (string, error)
	RequestsHistory(ctx context.Context, sourceFormat, targetFormat, imageID, filename string, userID, ratio int) (string, error)
	GetRequestFromID(ctx context.Context, userID int) ([]models.Request, error)
	UpdateRequest(ctx context.Context, status, imageID, targetID string) error
	GetImageByID(ctx context.Context, id string) (models.Images, error)
	Conversion(ctx context.Context, payload ConversionPayLoad) (string, error)
	DownloadImageFromID(fileID string) (string, error)
}

Images contains methods for images.

type Interface

type Interface interface {
	Authorization
	Images
}

Interface holds Authorization and Images interfaces.

type Service

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

Service contains repository and storages interfaces.

func New

New is constructor for Service.

func (*Service) Conversion

func (s *Service) Conversion(ctx context.Context, payload ConversionPayLoad) (string, error)

Conversion func is for all conversion logic.

func (*Service) ConvertToType

func (s *Service) ConvertToType(sourceImage io.ReadSeeker, targetFormat string, ratio int) (io.ReadSeeker, error)

ConvertToType converts JPG to PNG image and vice versa and compress images with the compression ratio specified by the user.

func (*Service) CreateUser

func (s *Service) CreateUser(ctx context.Context, user models.User) (id int, err error)

CreateUser method creates user.

func (*Service) DownloadImageFromID

func (s *Service) DownloadImageFromID(fileID string) (string, error)

DownloadImageFromID downloads image from id of it.

func (*Service) GenerateToken

func (s *Service) GenerateToken(ctx context.Context, email, password string) (string, error)

GenerateToken generates jwt token for user.

func (*Service) GetImageByID

func (s *Service) GetImageByID(ctx context.Context, id string) (models.Images, error)

GetImageByID get information of image by id.

func (*Service) GetRequestFromID

func (s *Service) GetRequestFromID(ctx context.Context, userID int) ([]models.Request, error)

GetRequestFromID gets request from user id.

func (*Service) InsertImage

func (s *Service) InsertImage(ctx context.Context, filename, format string) (string, error)

InsertImage inserts image information to database.

func (*Service) ParseToken

func (s *Service) ParseToken(accessToken string) (int, error)

ParseToken parses token.

func (*Service) RequestsHistory

func (s *Service) RequestsHistory(ctx context.Context, sourceFormat, targetFormat, imageID, filename string, userID, ratio int) (string, error)

RequestsHistory inserts history of the users request to the database.

func (*Service) UpdateRequest

func (s *Service) UpdateRequest(ctx context.Context, status, imageID, targetID string) error

UpdateRequest updates status of request.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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