service

package
v0.0.0-...-fe04de4 Latest Latest
Warning

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

Go to latest
Published: Apr 28, 2026 License: AGPL-3.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const StateLength int = 64

Variables

This section is empty.

Functions

This section is empty.

Types

type Auth

type Auth struct {
	// contains filtered or unexported fields
}

func NewAuth

func NewAuth(
	repositoryUser repository.IUser,
	client *http.Client,
	secretKey []byte,
	clientID, clientSecret, redirectURI, appName, appVersion, devContact string,
) *Auth

func (*Auth) Begin

func (a *Auth) Begin() (string, *url.URL, error)

func (*Auth) Complete

func (a *Auth) Complete(
	ctx context.Context,
	stateJWTToken string,
	complete model.Complete,
) (authJWTToken string, err error)

type IAuth

type IAuth interface {
	Begin() (string, *url.URL, error)
	Complete(
		ctx context.Context,
		stateJWTToken string,
		complete model.Complete,
	) (authJWTToken string, err error)
}

type ILLM

type ILLM interface {
	FindVacancies(ctx context.Context, userID uuid.UUID) ([]model.Vacancy, error)
	Analysis(ctx context.Context, userID uuid.UUID) ([]model.Attribute, error)
	GetCoverLetter(ctx context.Context, userID uuid.UUID, vacancy model.Vacancy) (model.CoverLetter, error)
}

type IUser

type IUser interface {
	GetUserInfo(ctx context.Context, userID uuid.UUID) (model.Profile, error)
	IsProfileExistsByUserID(ctx context.Context, userID uuid.UUID) (bool, error)
	UpdateUserInfo(ctx context.Context, userID uuid.UUID, profile model.Profile) error
}

type LLM

type LLM struct {
	// contains filtered or unexported fields
}

func NewLLM

func NewLLM(repository repository.IProfile, client *http.Client, llmPath string) *LLM

func (*LLM) Analysis

func (llm *LLM) Analysis(ctx context.Context, userID uuid.UUID) ([]model.Attribute, error)

func (*LLM) FindVacancies

func (llm *LLM) FindVacancies(ctx context.Context, userID uuid.UUID) ([]model.Vacancy, error)

func (*LLM) GetCoverLetter

func (llm *LLM) GetCoverLetter(ctx context.Context, userID uuid.UUID, vacancy model.Vacancy) (model.CoverLetter, error)

type User

type User struct {
	// contains filtered or unexported fields
}

func NewUser

func NewUser(repository repository.IProfile, client *http.Client) *User

func (*User) GetUserInfo

func (u *User) GetUserInfo(ctx context.Context, userID uuid.UUID) (model.Profile, error)

func (*User) IsProfileExistsByUserID

func (u *User) IsProfileExistsByUserID(ctx context.Context, userID uuid.UUID) (bool, error)

func (*User) UpdateUserInfo

func (u *User) UpdateUserInfo(ctx context.Context, userID uuid.UUID, profile model.Profile) error

Jump to

Keyboard shortcuts

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