Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DTO ¶
type DTO struct {
ID uuid.UUID
Name string
Slug string
Description string
AuthorID uuid.UUID
Topics int
Posts int
ParentID *uuid.UUID
CreatedAt time.Time
UpdatedAt time.Time
}
DTO is a representation of a forum
type Forum ¶
type Forum struct {
ID uuid.UUID `bun:"type:uuid,default:uuid_generate_v4()"`
Name string
Slug string
Description string
AuthorID uuid.UUID `bun:"type:uuid"`
Topics int
Posts int
ParentID uuid.UUID `bun:"type:uuid,default:uuid_nil()"`
Children []Forum `bun:"rel:has-many,join:id=parent_id"`
CreatedAt time.Time
UpdatedAt time.Time
}
type Repository ¶
type Service ¶
type Service interface {
GetForum(ctx context.Context, id uuid.UUID) (*Forum, error)
GetBySlug(ctx context.Context, slug string) (*Forum, error)
GetForums(ctx context.Context) ([]Forum, error)
CreateForum(ctx context.Context, dto DTO) (*Forum, error)
}
func ProvideService ¶
func ProvideService(repository Repository) Service
Click to show internal directories.
Click to hide internal directories.