Documentation
¶
Index ¶
- type Comment
- type CommentRepository
- func (r *CommentRepository) DeleteByID(ctx context.Context, id int64) *errors.Type
- func (r *CommentRepository) Insert(ctx context.Context, comment Comment) *errors.Type
- func (r *CommentRepository) LoadByID(ctx context.Context, id int64) (*Comment, *errors.Type)
- func (r *CommentRepository) Update(ctx context.Context, comment *Comment) *errors.Type
- type Model
- type Ticket
- type TicketImportanceLevel
- type TicketRepository
- func (r *TicketRepository) DeleteByID(ctx context.Context, id int64) *errors.Type
- func (r *TicketRepository) Filter(ctx context.Context, issuer, owner string, ...) ([]*Ticket, bool, *errors.Type)
- func (r *TicketRepository) Insert(ctx context.Context, ticket Ticket) *errors.Type
- func (r *TicketRepository) LoadByID(ctx context.Context, id int64) (*Ticket, *errors.Type)
- func (r *TicketRepository) Update(ctx context.Context, ticket *Ticket) *errors.Type
- type TicketStatus
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CommentRepository ¶
type CommentRepository struct {
// contains filtered or unexported fields
}
CommentRepository is the repository implementation of Comment model.
func NewCommentRepository ¶
func NewCommentRepository(logger *zap.SugaredLogger, db *pgxpool.Pool) *CommentRepository
NewCommentRepository returns back a newly created and ready to use CommentRepository.
func (*CommentRepository) DeleteByID ¶
DeleteByID tries to delete a comment from comments table.
type Model ¶
Model is a basic database model abstraction that only includes required columns for all models.
type Ticket ¶
type Ticket struct { Model Issuer string Owner string Subject string Content string Metadata string ImportanceLevel TicketImportanceLevel Status TicketStatus Comments []*Comment }
Ticket is the entity model of tickets table.
type TicketImportanceLevel ¶
type TicketImportanceLevel string
TicketImportanceLevel model.
const ( TicketImportanceLevelLow TicketImportanceLevel = "LOW" TicketImportanceLevelMedium TicketImportanceLevel = "MEDIUM" TicketImportanceLevelHigh TicketImportanceLevel = "HIGH" TicketImportanceLevelCritical TicketImportanceLevel = "CRITICAL" )
Different importance level instances.
type TicketRepository ¶
type TicketRepository struct {
// contains filtered or unexported fields
}
TicketRepository is the repository implementation of Ticket model.
func NewTicketRepository ¶
func NewTicketRepository(logger *zap.SugaredLogger, db *pgxpool.Pool) *TicketRepository
NewTicketRepository returns back a newly created and ready to use TicketRepository.
func (*TicketRepository) DeleteByID ¶
DeleteByID tries to delete a ticket and all of its comments.
func (*TicketRepository) Filter ¶
func (r *TicketRepository) Filter(ctx context.Context, issuer, owner string, importanceLevel TicketImportanceLevel, status TicketStatus, fromDate, toDate string, pageNumber, pageSize int) ([]*Ticket, bool, *errors.Type)
Filter tries to filter tickets. If there is another page of result when loading tickets, the second returned value will be true, otherwise false.
type TicketStatus ¶
type TicketStatus string
TicketStatus model.
const ( TicketStatusNew TicketStatus = "NEW" TicketStatusReplied TicketStatus = "REPLIED" TicketStatusResolved TicketStatus = "RESOLVED" TicketStatusClosed TicketStatus = "CLOSED" TicketStatusBlocked TicketStatus = "BLOCKED" )
Different ticket status instances.