Files
d3m0k1d.ru/backend/internal/repositories/interface.go
2026-02-18 13:30:16 +03:00

33 lines
1.2 KiB
Go

package repositories
import (
"context"
"gitea.d3m0k1d.ru/d3m0k1d/d3m0k1d.ru/backend/internal/storage"
)
type PostRepository interface {
GetAll(ctx context.Context) ([]storage.PostReq, error)
GetAllAdmin(ctx context.Context) ([]storage.PostReq, error)
GetByID(ctx context.Context, id int) (storage.PostReq, error)
GetLastID(ctx context.Context) (int, error)
IsExist(ctx context.Context, id int) bool
Create(ctx context.Context, post storage.Post) error
Update(ctx context.Context, id int, post storage.Post) error
Delete(ctx context.Context, id int) error
}
type AuthRepository interface {
Register(ctx context.Context, user storage.UserReg) (int, error)
IsRegistered(ctx context.Context, github_id int) (bool, error)
GetUserByGithubID(ctx context.Context, githubID int) (*storage.User, error)
}
type CommentRepository interface {
CreateComment(ctx context.Context, comment *storage.Comment) error
GetAllComments(ctx context.Context) ([]storage.Comment, error)
GetCommentsOfPost(ctx context.Context, id int) ([]storage.Comment, error)
DeleteComment(ctx context.Context, id int) error
UpdateComment(ctx context.Context, id int, comment *storage.Comment) error
}