Documentation

EventTeamRepository
in package

EventTeamRepository - Event Team Data Access

Manages team data in the EVENT_TEAMS table for group registrations. Handles team creation, status updates, and team retrieval.

Features:

  • Create new teams for group events
  • Update team status (pending, confirmed, cancelled)
  • Get teams by event or by creator
  • Count confirmed teams for an event
Tags
version
1.0.0
author

BdeLive - Group 8

Table of Contents

Properties

$pdo  : PDO
PDO database connection instance

Methods

__construct()  : void
Constructor - Initialize database connection
countConfirmedTeams()  : int
Count confirmed teams for an event
createTeam()  : int|null
Create a new team for a group event
deleteTeam()  : bool
Delete a team (also cascades to invitations due to FK)
deleteTeamsByEvent()  : int
Delete all teams for an event
findById()  : array<string, mixed>|null
Find a team by its ID
findByIdWithCreator()  : array<string, mixed>|null
Find a team by ID with creator info and event name
getTeamsByEvent()  : array<int, array<string, mixed>>
Get all teams for an event
getUserTeamsForEvent()  : array<int, array<string, mixed>>
Get teams created by a specific user for an event
isUserInAnyTeam()  : bool
Check if a user is already part of any team for an event
updateStatus()  : bool
Update team status
getNextTeamNumber()  : int
Get the next team number for an event

Properties

Methods

__construct()

Constructor - Initialize database connection

public __construct() : void

Retrieves the database connection from the Database singleton.

countConfirmedTeams()

Count confirmed teams for an event

public countConfirmedTeams(int $eventId) : int
Parameters
$eventId : int

The event identifier

Return values
int

Number of confirmed teams

createTeam()

Create a new team for a group event

public createTeam(int $eventId, int $creatorUserId) : int|null
Parameters
$eventId : int

The event identifier

$creatorUserId : int

The user who creates the team

Return values
int|null

The created team ID or null on failure

deleteTeam()

Delete a team (also cascades to invitations due to FK)

public deleteTeam(int $teamId) : bool
Parameters
$teamId : int

The team identifier

Return values
bool

True if deletion successful

deleteTeamsByEvent()

Delete all teams for an event

public deleteTeamsByEvent(int $eventId) : int

Used when event type or team size changes to clear all existing teams. Cascades to delete team invitations via foreign key.

Parameters
$eventId : int

The event identifier

Return values
int

Number of teams deleted

findById()

Find a team by its ID

public findById(int $teamId) : array<string, mixed>|null
Parameters
$teamId : int

The team identifier

Return values
array<string, mixed>|null

Team data or null if not found

findByIdWithCreator()

Find a team by ID with creator info and event name

public findByIdWithCreator(int $teamId) : array<string, mixed>|null

Returns team data along with creator's name, email, and event name for sending notification emails.

Parameters
$teamId : int

The team identifier

Return values
array<string, mixed>|null

Team data with creator info or null if not found

getTeamsByEvent()

Get all teams for an event

public getTeamsByEvent(int $eventId[, string|null $status = null ]) : array<int, array<string, mixed>>
Parameters
$eventId : int

The event identifier

$status : string|null = null

Filter by status (null for all)

Return values
array<int, array<string, mixed>>

List of teams

getUserTeamsForEvent()

Get teams created by a specific user for an event

public getUserTeamsForEvent(int $eventId, int $userId) : array<int, array<string, mixed>>
Parameters
$eventId : int

The event identifier

$userId : int

The user identifier

Return values
array<int, array<string, mixed>>

List of teams

isUserInAnyTeam()

Check if a user is already part of any team for an event

public isUserInAnyTeam(int $eventId, int $userId) : bool
Parameters
$eventId : int

The event identifier

$userId : int

The user identifier

Return values
bool

True if user is already in a team

updateStatus()

Update team status

public updateStatus(int $teamId, string $status) : bool
Parameters
$teamId : int

The team identifier

$status : string

New status (pending, confirmed, cancelled)

Return values
bool

True if update successful

getNextTeamNumber()

Get the next team number for an event

private getNextTeamNumber(int $eventId) : int
Parameters
$eventId : int

The event identifier

Return values
int

The next team number


        
On this page

Search results