首次提交:初始化项目代码

This commit is contained in:
sunct
2026-07-31 14:44:48 +08:00
commit a4fe393571
119 changed files with 29105 additions and 0 deletions
+79
View File
@@ -0,0 +1,79 @@
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
}