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) } 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) }