managers

package
v0.0.0-...-ccab79b Latest Latest
Warning

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

Go to latest
Published: Jul 13, 2023 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func InitializeDatabaseConnection

func InitializeDatabaseConnection(ctx context.Context) (*pgxpool.Pool, error)

func InitializeMailgunClient

func InitializeMailgunClient() *mailgun.MailgunImpl

Types

type DatabaseManager

type DatabaseManager struct {
	Connection *pgxpool.Pool
}

func (*DatabaseManager) BeginTx

func (dm *DatabaseManager) BeginTx(ctx context.Context) (pgx.Tx, error)

BeginTx starts a transaction and returns a transaction object, this is helpful because we can pass the transaction object to the repositories and they can use it to execute multiple statements in a single transaction TODO: Use this in the repositories

func (*DatabaseManager) CheckIfExists

func (dm *DatabaseManager) CheckIfExists(ctx context.Context, query string, args ...any) (bool, error)

func (*DatabaseManager) ExecuteQuery

func (dm *DatabaseManager) ExecuteQuery(ctx context.Context, query string, args ...any) (pgx.Rows, error)

func (*DatabaseManager) ExecuteQueryRow

func (dm *DatabaseManager) ExecuteQueryRow(ctx context.Context, query string, args ...any) pgx.Row

func (*DatabaseManager) ExecuteStatement

func (dm *DatabaseManager) ExecuteStatement(ctx context.Context, query string, args ...any) (pgconn.CommandTag, error)

type DatabaseMgr

type DatabaseMgr interface {
	ExecuteStatement(ctx context.Context, query string, args ...any) (pgconn.CommandTag, error)
	ExecuteQuery(ctx context.Context, query string, args ...any) (pgx.Rows, error)
	ExecuteQueryRow(ctx context.Context, query string, args ...any) pgx.Row
	BeginTx(ctx context.Context) (pgx.Tx, error)
	CheckIfExists(ctx context.Context, query string, args ...any) (bool, error)
}

type ImageManager

type ImageManager struct {
	Client *http.Client
}

func (*ImageManager) UploadDefaultProfilePicture

func (im *ImageManager) UploadDefaultProfilePicture(userId *uuid.UUID) (string, *models.ExpenseServiceError)

func (*ImageManager) UploadImage

func (im *ImageManager) UploadImage(header *multipart.FileHeader, userId *uuid.UUID) (string, *models.ExpenseServiceError)

type ImageMgr

type ImageMgr interface {
	UploadImage(file *multipart.FileHeader, userId *uuid.UUID) (string, *models.ExpenseServiceError)
	UploadDefaultProfilePicture(userId *uuid.UUID) (string, *models.ExpenseServiceError)
}

type MailManager

type MailManager struct {
	MailgunInstance *mailgun.MailgunImpl
}

func (*MailManager) SendActivationMail

func (mm *MailManager) SendActivationMail(ctx context.Context, mailData models.ActivationMail) *models.ExpenseServiceError

func (*MailManager) SendConfirmationMail

func (mm *MailManager) SendConfirmationMail(ctx context.Context, mailData models.ConfirmationMail) *models.ExpenseServiceError

func (*MailManager) SendContactMail

func (*MailManager) SendPasswordResetMail

func (mm *MailManager) SendPasswordResetMail(ctx context.Context, mailData *models.PasswordResetMail) *models.ExpenseServiceError

func (*MailManager) SendResetPasswordConfirmationMail

func (mm *MailManager) SendResetPasswordConfirmationMail(ctx context.Context, mailData *models.ResetPasswordConfirmationMail) *models.ExpenseServiceError

type MailMgr

type MailMgr interface {
	SendActivationMail(ctx context.Context, mailData models.ActivationMail) *models.ExpenseServiceError
	SendConfirmationMail(ctx context.Context, mailData models.ConfirmationMail) *models.ExpenseServiceError
	SendPasswordResetMail(ctx context.Context, mailData *models.PasswordResetMail) *models.ExpenseServiceError
	SendResetPasswordConfirmationMail(ctx context.Context, mailData *models.ResetPasswordConfirmationMail) *models.ExpenseServiceError
	SendContactMail(ctx context.Context, data *models.SendContactMailRequest) *models.ExpenseServiceError
}

Jump to

Keyboard shortcuts

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