Files
smart-search-back/internal/service/interfaces.go
vallyenfail ff08bb2254
All checks were successful
Deploy Smart Search Backend Test / deploy (push) Successful in 2m25s
add service
2026-01-19 19:14:51 +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, code int64) (*model.InviteCode, error)
}
type RequestService interface {
CreateTZ(ctx context.Context, userID int, requestTxt 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)
}