db

package
v0.0.0-...-061e2a5 Latest Latest
Warning

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

Go to latest
Published: Jun 26, 2022 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewForumRepository

func NewForumRepository(dbConn *pgxpool.Pool) *forumRepositoryImpl

func NewPostsRepository

func NewPostsRepository(dbConn *pgxpool.Pool) *postsRepositoryImpl

func NewServiceRepository

func NewServiceRepository(dbConn *pgxpool.Pool) *serviceRepositoryImpl

func NewThreadRepository

func NewThreadRepository(dbConn *pgxpool.Pool) *threadRepositoryImpl

func NewUserRepository

func NewUserRepository(dbConn *pgxpool.Pool) *userRepositoryImpl

func NewVotesRepository

func NewVotesRepository(dbConn *pgxpool.Pool) *votesRepositoryImpl

Types

type ForumRepository

type ForumRepository interface {
	CreateForum(ctx context.Context, forum *core.Forum) error
	GetForum(ctx context.Context, slug string) (*core.Forum, error)
	GetForumUsers(ctx context.Context, slug string, limit int64, since string, desc bool) ([]*core.User, error)
	GetForumThreads(ctx context.Context, slug string, limit int64, since string, desc bool) ([]*core.Thread, error)
}

type PostsRepository

type PostsRepository interface {
	CreatePosts(ctx context.Context, forum string, thread int64, posts []*dto.Post) ([]*core.Post, error)
	CheckParentPost(ctx context.Context, parent int) (int, error)
	GetPostsFlat(ctx context.Context, id int, since int64, desc bool, limit int64) ([]*core.Post, error)
	GetPostsTree(ctx context.Context, id int, since int64, desc bool, limit int64) ([]*core.Post, error)
	GetPostsParentTree(ctx context.Context, id int, since int64, desc bool, limit int64) ([]*core.Post, error)
	GetPostDetails(ctx context.Context, id int64, related string) (dto.PostDetails, error)
	GetPostByID(ctx context.Context, id int64) (*core.Post, error)
	EditPost(ctx context.Context, id int64, message string) (*core.Post, error)
}

type Repository

type Repository struct {
	UserRepository    UserRepository
	ForumRepository   ForumRepository
	ThreadRepository  ThreadRepository
	VotesRepository   VotesRepository
	PostsRepository   PostsRepository
	ServiceRepository ServiceRepository
}

func NewRepository

func NewRepository(dbConn *pgxpool.Pool) (*Repository, error)

type ServiceRepository

type ServiceRepository interface {
	Status(ctx context.Context) (*core.ServiceInfo, error)
	Delete(ctx context.Context) error
}

type ThreadRepository

type ThreadRepository interface {
	CreateThread(ctx context.Context, thread *core.Thread) (*core.Thread, error)
	GetThreadByID(ctx context.Context, id int64) (*core.Thread, error)
	GetThreadBySlug(ctx context.Context, slug string) (*core.Thread, error)
	UpdateThreadByID(ctx context.Context, id int64, title string, message string) (*core.Thread, error)
}

type UserRepository

type UserRepository interface {
	CreateUser(ctx context.Context, user *core.User) error
	GetUserByEmail(ctx context.Context, email string) (*core.User, error)
	GetUserByNickname(ctx context.Context, nickname string) (*core.User, error)
	GetUsersByEmailOrNickname(ctx context.Context, email, nickname string) ([]*core.User, error)
	EditUser(ctx context.Context, user *core.User) (*core.User, error)
}

type VotesRepository

type VotesRepository interface {
	CreateVote(ctx context.Context, vote *core.Vote) error
	VoteExists(ctx context.Context, nickname string, threadID int64) (bool, error)
	EditVote(ctx context.Context, threadID int64, nickname string, voice int64) (bool, error)
}

Jump to

Keyboard shortcuts

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