Files
smart-search-back/internal/service/interfaces.go
vallyenfail 7e73144486
All checks were successful
Deploy Smart Search Backend Test / deploy (push) Successful in 1m44s
add service
2026-01-20 14:26:27 +03:00

41 lines
1.6 KiB
Go

package service
import (
"context"
"git.techease.ru/Smart-search/smart-search-back/internal/model"
"github.com/google/uuid"
)
type AuthService interface {
Register(ctx context.Context, email, password, name, phone string, inviteCode int64, ip, userAgent string) (accessToken, refreshToken string, err error)
Login(ctx context.Context, email, password, ip, userAgent string) (accessToken, refreshToken string, err error)
Refresh(ctx context.Context, refreshToken string) (string, error)
Validate(ctx context.Context, accessToken string) (int, error)
Logout(ctx context.Context, accessToken string) error
}
type UserService interface {
GetInfo(ctx context.Context, userID int) (*UserInfo, error)
GetBalance(ctx context.Context, userID int) (float64, error)
GetStatistics(ctx context.Context, userID int) (*Statistics, error)
GetBalanceStatistics(ctx context.Context, userID int) (*BalanceStatistics, error)
}
type InviteService interface {
Generate(ctx context.Context, userID, maxUses, ttlDays int) (*model.InviteCode, error)
GetInfo(ctx context.Context, userID int) (*model.InviteCode, error)
}
type RequestService interface {
CreateTZ(ctx context.Context, userID int, requestTxt string, fileData []byte, fileName string) (uuid.UUID, string, error)
ApproveTZ(ctx context.Context, requestID uuid.UUID, tzText string, userID int) ([]*model.Supplier, error)
GetMailingList(ctx context.Context, userID int) ([]*model.Request, error)
GetMailingListByID(ctx context.Context, requestID uuid.UUID, userID int) (*model.RequestDetail, error)
}
type SupplierService interface {
ExportExcel(ctx context.Context, requestID uuid.UUID, userID int) ([]byte, error)
}