79 lines
4.0 KiB
Go
79 lines
4.0 KiB
Go
package repository
|
|
|
|
import "resume-platform/internal/model"
|
|
|
|
// ResumeRepository 简历数据访问层接口,定义简历相关的数据操作方法
|
|
type ResumeRepository interface {
|
|
GetResume(id string) (*model.Resume, error)
|
|
GetResumeByRoute(route string) (*model.Resume, error)
|
|
RouteExists(route string) bool
|
|
GetAllResumes() ([]*model.Resume, error)
|
|
GetResumesByUserID(userID string) ([]*model.Resume, error)
|
|
GetResumesWithPagination(page, pageSize int) ([]*model.Resume, int, error)
|
|
GetResumesWithFilter(page, pageSize int, userID, keyword, template string, showInHome *bool) ([]*model.Resume, int, error)
|
|
CreateResume(resume *model.Resume) error
|
|
UpdateResume(id string, update *model.ResumeUpdate) error
|
|
DeleteResume(id string) error
|
|
UpdateResumeUserID(resumeID, userID string) error
|
|
Exists(id string) bool
|
|
CreateUser(user *model.User) error
|
|
GetUserByUsername(username string) (*model.User, error)
|
|
GetUserByID(id string) (*model.User, error)
|
|
GetAllUsers() ([]*model.User, error)
|
|
GetUsersWithPagination(page, pageSize int) ([]*model.User, int, error)
|
|
UpdateUser(id string, user *model.User) error
|
|
DeleteUser(id string) error
|
|
GetPortfolioItems() ([]*model.PortfolioItem, error)
|
|
GetPortfolioItemsWithPagination(page, pageSize int) ([]*model.PortfolioItem, int, error)
|
|
GetPortfolioItemsByUserID(userID string) ([]*model.PortfolioItem, error)
|
|
GetPortfolioItem(id uint) (*model.PortfolioItem, error)
|
|
CreatePortfolioItem(item *model.PortfolioItem) error
|
|
UpdatePortfolioItem(id uint, item *model.PortfolioItem) error
|
|
DeletePortfolioItem(id uint) error
|
|
CreateQuizRecord(record *model.QuizRecord) error
|
|
GetQuizRecordsByResume(resumeRoute string) ([]*model.QuizRecord, error)
|
|
GetQuizRecordsByUserID(userID string) ([]*model.QuizRecord, error)
|
|
GetQuizRecordsByUserIDWithPagination(userID string, page, pageSize int) ([]*model.QuizRecord, int, error)
|
|
GetQuizRecord(id string) (*model.QuizRecord, error)
|
|
DeleteQuizRecord(id string) error
|
|
CreateFavoriteQuestion(fav *model.FavoriteQuestion) error
|
|
GetFavoriteQuestions(resumeRoute string, isFavorite, isCorrect *bool) ([]*model.FavoriteQuestion, error)
|
|
GetFavoriteQuestionsByUserID(userID string) ([]*model.FavoriteQuestion, error)
|
|
DeleteFavoriteQuestion(id string) error
|
|
ToggleFavorite(id string) error
|
|
CreateDocument(doc *model.Document) error
|
|
GetDocument(id, userID string) (*model.Document, error)
|
|
GetDocumentByID(id string) (*model.Document, error)
|
|
GetDocumentsByUserID(userID string) ([]*model.Document, error)
|
|
UpdateDocument(doc *model.Document) error
|
|
DeleteDocument(id, userID string) error
|
|
CreateDocumentChunk(chunk *model.DocumentChunk) error
|
|
GetDocumentChunksByUserID(userID string) ([]*model.DocumentChunk, error)
|
|
GetAllDocumentChunks() ([]*model.DocumentChunk, error)
|
|
GetDocumentChunksByDocumentID(documentID string) ([]*model.DocumentChunk, error)
|
|
CreateEmbedding(embedding *model.Embedding) error
|
|
GetEmbeddingByContentHash(contentHash string) (*model.Embedding, error)
|
|
GetEmbeddingsByUserID(userID string) ([]*model.Embedding, error)
|
|
GetAllEmbeddings() ([]*model.Embedding, error)
|
|
DeleteEmbedding(id string) error
|
|
DeleteEmbeddingsBySource(sourceType, sourceID string) error
|
|
CreateChatHistory(history *model.ChatHistory) error
|
|
GetChatHistoryByUserID(userID string) ([]*model.ChatHistory, error)
|
|
GetAllMenus() ([]*model.Menu, error)
|
|
CreateMenu(menu *model.Menu) error
|
|
UpdateMenu(id string, menu *model.Menu) error
|
|
DeleteMenu(id string) error
|
|
GetSystemConfig() (*model.SystemConfig, error)
|
|
CreateSystemConfig(config *model.SystemConfig) error
|
|
UpdateSystemConfig(id string, config *model.SystemConfig) error
|
|
CleanSystemConfig() error
|
|
CreateLoginHistory(history *model.LoginHistory) error
|
|
GetLoginHistory(page, pageSize int) ([]*model.LoginHistory, int, error)
|
|
CreateNotification(n *model.Notification) error
|
|
GetNotifications() ([]*model.Notification, error)
|
|
GetUnreadNotificationCount() (int, error)
|
|
MarkNotificationAsRead(id string) error
|
|
MarkAllNotificationsAsRead() error
|
|
DeleteAllNotifications() error
|
|
DeleteNotification(id string) error
|
|
} |