repository

package
v0.7.0 Latest Latest
Warning

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

Go to latest
Published: Aug 21, 2025 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrCampNotFound        = errors.New("camp not found")
	ErrParticipantNotFound = errors.New("participant not found")
)
View Source
var (
	ErrRoomNotFound            = errors.New("room not found")
	ErrUserOrRoomGroupNotFound = errors.New("user or room group not found")
)
View Source
var ErrRoomGroupNotFound = errors.New("room group not found")
View Source
var ErrUserNotFound = errors.New("user not found")

Functions

This section is empty.

Types

type AnswerRepository

type AnswerRepository interface {
	CreateAnswer(ctx context.Context, answer *model.Answer) error
	CreateAnswers(ctx context.Context, answers *[]model.Answer) error
	GetAnswerByID(ctx context.Context, id uint) (*model.Answer, error)
	GetAnswers(ctx context.Context, query GetAnswersQuery) ([]model.Answer, error)
	UpdateAnswer(ctx context.Context, answerID uint, answer *model.Answer) error
}

type CampRepository

type CampRepository interface {
	CreateCamp(camp *model.Camp) error
	GetCamps() ([]model.Camp, error)
	GetCampByID(ctx context.Context, id uint) (*model.Camp, error)
	UpdateCamp(ctx context.Context, campID uint, camp *model.Camp) error
	DeleteCamp(ctx context.Context, campID uint) error
	AddCampParticipant(ctx context.Context, campID uint, user *model.User) error
	RemoveCampParticipant(ctx context.Context, campID uint, user *model.User) error
	GetCampParticipants(ctx context.Context, campID uint) ([]model.User, error)
	IsCampParticipant(ctx context.Context, campID uint, userID string) (bool, error)
}

type EventRepository

type EventRepository interface {
	GetEvents(ctx context.Context, campID uint) ([]model.Event, error)
	GetEventByID(id uint) (*model.Event, error)
	CreateEvent(event *model.Event) error
	UpdateEvent(ctx context.Context, ID uint, event *model.Event) error
	DeleteEvent(ID uint) error
}

type GetAnswersQuery added in v0.5.0

type GetAnswersQuery struct {
	UserID                 *string
	QuestionGroupID        *uint
	QuestionID             *uint
	IncludePrivateAnswers  bool
	IncludeNonParticipants bool
}

type GetOptionsQuery

type GetOptionsQuery struct {
	QuestionID *uint
}

type OptionRepository

type OptionRepository interface {
	CreateOption(option *model.Option) error
	GetOptions(query *GetOptionsQuery) ([]model.Option, error)
}

type PaymentRepository

type PaymentRepository interface {
	CreatePayment(ctx context.Context, payment *model.Payment) error
	GetPayments(ctx context.Context, campID uint) ([]model.Payment, error)
	UpdatePayment(ctx context.Context, paymentID uint, payment *model.Payment) error
}

type QuestionGroupRepository

type QuestionGroupRepository interface {
	CreateQuestionGroup(questionGroup *model.QuestionGroup) error
	GetQuestionGroups(ctx context.Context, campID uint) ([]model.QuestionGroup, error)
	GetQuestionGroup(ctx context.Context, ID uint) (*model.QuestionGroup, error)
	UpdateQuestionGroup(
		ctx context.Context,
		questionGroupID uint,
		questionGroup model.QuestionGroup,
	) error
	DeleteQuestionGroup(ID uint) error
}

type QuestionRepository

type QuestionRepository interface {
	CreateQuestion(question *model.Question) error
	GetQuestions() ([]model.Question, error)
	GetQuestionByID(id uint) (*model.Question, error)
	DeleteQuestionByID(id uint) error
	UpdateQuestion(ctx context.Context, questionID uint, question *model.Question) error
}

type RoomGroupRepository added in v0.7.0

type RoomGroupRepository interface {
	CreateRoomGroup(ctx context.Context, roomGroup *model.RoomGroup) error
	UpdateRoomGroup(ctx context.Context, roomGroupID uint, roomGroup *model.RoomGroup) error
	GetRoomGroupByID(ctx context.Context, roomGroupID uint) (*model.RoomGroup, error)
	GetRoomGroups(ctx context.Context, campID uint) ([]model.RoomGroup, error)
	DeleteRoomGroup(ctx context.Context, roomGroupID uint) error
}

type RoomRepository

type RoomRepository interface {
	GetRooms() ([]model.Room, error)
	GetRoomByID(id uint) (*model.Room, error)
	CreateRoom(ctx context.Context, room *model.Room) error
	UpdateRoom(ctx context.Context, roomID uint, room *model.Room) error
}

type UserRepository

type UserRepository interface {
	GetOrCreateUser(ctx context.Context, traqID string) (*model.User, error)
	GetUserTraqID(ID uint) (string, error)
	GetStaffs() ([]model.User, error)
	UpdateUser(ctx context.Context, user *model.User) error
}

Directories

Path Synopsis
Package mockrepository is a generated GoMock package.
Package mockrepository is a generated GoMock package.

Jump to

Keyboard shortcuts

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