leadership

package
v0.0.0-...-f828163 Latest Latest
Warning

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

Go to latest
Published: Jun 20, 2024 License: AGPL-3.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ClubLeader

func ClubLeader(leaderParams types.RouteParams)

func CreateClubLeader

func CreateClubLeader(db *gorm.DB, leader models.Leader, fileIntegrationUpload func() (*models.FileInfo, error), fileIntegrationDelete func(string) error) (*models.Leader, error)

func DeleteClubLeader

func DeleteClubLeader(db *gorm.DB, clubID uuid.UUID, leaderID uuid.UUID, fileIntegrationDelete func(string) error) error

func GetClubLeader

func GetClubLeader(db *gorm.DB, clubID uuid.UUID, leaderID uuid.UUID) (*models.Leader, error)

func GetClubLeaderByClubIDAndEmail

func GetClubLeaderByClubIDAndEmail(db *gorm.DB, clubID uuid.UUID, email string) (*models.Leader, error)

func GetClubLeadership

func GetClubLeadership(db *gorm.DB, clubID uuid.UUID) ([]models.Leader, error)

func UpdateClubLeader

func UpdateClubLeader(db *gorm.DB, clubID uuid.UUID, leaderID uuid.UUID, updatedLeader models.Leader) (*models.Leader, error)

Types

type ClubLeaderController

type ClubLeaderController struct {
	// contains filtered or unexported fields
}

func NewClubLeaderController

func NewClubLeaderController(clubLeaderService ClubLeaderServiceInterface) *ClubLeaderController

func (*ClubLeaderController) CreateClubLeader

func (l *ClubLeaderController) CreateClubLeader(c *fiber.Ctx) error

CreateClubLeader godoc

@Summary Create a leader for a club @Description Creates a leader associated with a club @ID create-leader-by-club @Tags club-leader @Accept multipart/form-data @Produce json @Param clubID path string true "Club ID" @Success 201 {object} models.Leader @Failure 400 {object} error @Failure 401 {object} error @Failure 404 {object} error @Failure 500 {object} error @Router /clubs/{clubID}/leadership/ [post]

func (*ClubLeaderController) DeleteClubLeader

func (l *ClubLeaderController) DeleteClubLeader(c *fiber.Ctx) error

DeleteClubLeader godoc

@Summary Delete a leader for a club @Description Delete a leader associated with a club @ID delete-leader-by-club @Tags club-leader @Produce json @Param clubID path string true "Club ID" @Param leaderID path string true "leader ID" @Success 204 {object} nil @Failure 400 {object} error @Failure 404 {object} error @Failure 500 {object} error @Router /clubs/{clubID}/leadership/{leaderID} [delete]

func (*ClubLeaderController) GetClubLeader

func (l *ClubLeaderController) GetClubLeader(c *fiber.Ctx) error

GetClubLeader godoc

@Summary Retrieve a leader for a club @Description Retrieves a leader associated with a club @ID get-leader-by-club @Tags club-leader @Produce json @Param clubID path string true "Club ID" @Param leaderID path string true "leader ID" @Success 200 {object} models.Leader @Failure 400 {object} error @Failure 404 {object} error @Failure 500 {object} error @Router /clubs/{clubID}/leadership/{leaderID} [get]

func (*ClubLeaderController) GetClubLeadership

func (l *ClubLeaderController) GetClubLeadership(c *fiber.Ctx) error

GetClubLeadership godoc

@Summary Retrieve all leadership for a club @Description Retrieves all leadership associated with a club @ID get-leadership-by-club @Tags club-leader @Produce json @Param clubID path string true "Club ID" @Success 200 {object} []models.Leader @Failure 400 {object} error @Failure 404 {object} error @Failure 500 {object} error @Router /clubs/{clubID}/leadership/ [get]

func (*ClubLeaderController) UpdateClubLeader

func (l *ClubLeaderController) UpdateClubLeader(c *fiber.Ctx) error

UpdateClubLeader godoc

@Summary Update a leader for a club @Description Updates a leader associated with a club @ID update-leader-by-club @Tags club-leader @Accept json @Produce json @Param clubID path string true "Club ID" @Param leaderID path string true "leader ID" @Success 200 {object} models.Leader @Failure 400 {object} error @Failure 401 {object} error @Failure 404 {object} error @Failure 500 {object} error @Router /clubs/{clubID}/leadership/{leaderID} [put]

func (*ClubLeaderController) UpdateClubLeaderPhoto

func (l *ClubLeaderController) UpdateClubLeaderPhoto(c *fiber.Ctx) error

UpdateClubLeaderPhoto godoc

@Summary Update a leader photo for a club @Description Updates a leader photo associated with a club @ID update-leader-photo-by-club @Tags club-leader @Accept multipart/form-data @Produce json @Param clubID path string true "Club ID" @Param leaderID path string true "leader ID" @Success 200 {object} models.Leader @Failure 400 {object} error @Failure 401 {object} error @Failure 404 {object} error @Failure 500 {object} error @Router /clubs/{clubID}/leadership/{leaderID} [patch]

type ClubLeaderService

type ClubLeaderService struct {
	types.ServiceParams
}

func (*ClubLeaderService) CreateClubLeader

func (cl *ClubLeaderService) CreateClubLeader(clubID string, leaderBody CreateLeaderBody, fileHeader *multipart.FileHeader) (*models.Leader, error)

MOVE THIS TO TRANSACTIOPNS

func (*ClubLeaderService) DeleteClubLeader

func (cl *ClubLeaderService) DeleteClubLeader(clubID, leaderID string) error

func (*ClubLeaderService) GetClubLeader

func (cl *ClubLeaderService) GetClubLeader(clubID, leaderID string) (*models.Leader, error)

func (*ClubLeaderService) GetClubLeadership

func (cl *ClubLeaderService) GetClubLeadership(clubID string) ([]models.Leader, error)

func (*ClubLeaderService) UpdateClubLeader

func (cl *ClubLeaderService) UpdateClubLeader(clubID, leaderID string, leaderBody UpdateLeaderBody) (*models.Leader, error)

func (*ClubLeaderService) UpdateClubLeaderPhoto

func (cl *ClubLeaderService) UpdateClubLeaderPhoto(clubID, leaderID string, fileHeader *multipart.FileHeader) (*models.Leader, error)

type ClubLeaderServiceInterface

type ClubLeaderServiceInterface interface {
	GetClubLeadership(clubID string) ([]models.Leader, error)
	GetClubLeader(clubID, leaderID string) (*models.Leader, error)
	CreateClubLeader(clubID string, leaderBody CreateLeaderBody, fileHeader *multipart.FileHeader) (*models.Leader, error)
	UpdateClubLeaderPhoto(clubID, leaderID string, fileHeader *multipart.FileHeader) (*models.Leader, error)
	UpdateClubLeader(clubID, leaderID string, leaderBody UpdateLeaderBody) (*models.Leader, error)
	DeleteClubLeader(clubID, leaderID string) error
}

func NewClubLeaderService

func NewClubLeaderService(serviceParams types.ServiceParams) ClubLeaderServiceInterface

type CreateLeaderBody

type CreateLeaderBody struct {
	Name     string `json:"name" validate:"required,max=255"`
	Email    string `json:"email" validate:"required,email,max=255"`
	Position string `json:"position" validate:"required,max=255"`
}

type UpdateLeaderBody

type UpdateLeaderBody struct {
	Name     string `json:"name" validate:"omitempty,max=255"`
	Email    string `json:"email" validate:"omitempty,email,max=255"`
	Position string `json:"position" validate:"omitempty,max=255"`
}

Jump to

Keyboard shortcuts

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