Documentation

EventTeamInvitationRepository
in package

EventTeamInvitationRepository - Team Invitation Data Access

Manages invitation data in the EVENT_TEAM_INVITATIONS table. Handles invitation creation, validation, and status management.

Features:

  • Create invitations with unique validation tokens
  • Validate invitations via token
  • Check invitation status
  • Get all invitations for a team
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
areAllInvitationsConfirmed()  : bool
Check if all invitations for a team are confirmed
countPendingInvitations()  : int
Count pending invitations for a team
createInvitation()  : string|null
Create a new invitation for a team member
deleteInvitation()  : bool
Delete an invitation
findById()  : array<string, mixed>|null
Find an invitation by ID
findByToken()  : array<string, mixed>|null
Find an invitation by its validation token
getConfirmedMembers()  : array<int, array<string, mixed>>
Get all confirmed members of a team with their details
getInvitationsByTeam()  : array<int, array<string, mixed>>
Get all invitations for a team
getUserIdByEmail()  : int|null
Get user ID by email from USERS table
isEmailInvited()  : bool
Check if an email is already invited to a team
updateValidationStatus()  : bool
Update invitation validation status

Properties

Methods

__construct()

Constructor - Initialize database connection

public __construct() : void

Retrieves the database connection from the Database singleton.

areAllInvitationsConfirmed()

Check if all invitations for a team are confirmed

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

The team identifier

Return values
bool

True if all members confirmed

countPendingInvitations()

Count pending invitations for a team

public countPendingInvitations(int $teamId) : int
Parameters
$teamId : int

The team identifier

Return values
int

Number of pending invitations

createInvitation()

Create a new invitation for a team member

public createInvitation(int $teamId, string $email[, int|null $userId = null ]) : string|null
Parameters
$teamId : int

The team identifier

$email : string

The invitee's email address

$userId : int|null = null

The user ID if already registered on the platform

Return values
string|null

The validation token or null on failure

deleteInvitation()

Delete an invitation

public deleteInvitation(int $invitationId) : bool
Parameters
$invitationId : int

The invitation identifier

Return values
bool

True if deletion successful

findById()

Find an invitation by ID

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

The invitation identifier

Return values
array<string, mixed>|null

Invitation data or null if not found

findByToken()

Find an invitation by its validation token

public findByToken(string $token) : array<string, mixed>|null
Parameters
$token : string

The validation token

Return values
array<string, mixed>|null

Invitation data or null if not found

getConfirmedMembers()

Get all confirmed members of a team with their details

public getConfirmedMembers(int $teamId) : array<int, array<string, mixed>>
Parameters
$teamId : int

The team identifier

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

List of confirmed members

getInvitationsByTeam()

Get all invitations for a team

public getInvitationsByTeam(int $teamId) : array<int, array<string, mixed>>
Parameters
$teamId : int

The team identifier

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

List of invitations

getUserIdByEmail()

Get user ID by email from USERS table

public getUserIdByEmail(string $email) : int|null
Parameters
$email : string

The email to search

Return values
int|null

User ID or null if not found

isEmailInvited()

Check if an email is already invited to a team

public isEmailInvited(int $teamId, string $email) : bool
Parameters
$teamId : int

The team identifier

$email : string

The email to check

Return values
bool

True if already invited

updateValidationStatus()

Update invitation validation status

public updateValidationStatus(int $invitationId, string $status[, int|null $userId = null ]) : bool
Parameters
$invitationId : int

The invitation identifier

$status : string

New status (pending, confirmed, declined)

$userId : int|null = null

Optional user ID to link if user just registered

Return values
bool

True if update successful


        
On this page

Search results