package service import ( "context" "git.techease.ru/Smart-search/smart-search-back/internal/model" "github.com/google/uuid" ) type AuthService interface { 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) } 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) (*model.RequestDetail, error) } type SupplierService interface { ExportExcel(ctx context.Context, requestID uuid.UUID) ([]byte, error) }