AppRequest.gameInvitation constructor
AppRequest.gameInvitation({
- required String from,
- required String to,
- required GameRequestType gameType,
- String? message,
- int expirationMinutes = defaultGameExpirationMinutes,
Create a game invitation request
Implementation
factory AppRequest.gameInvitation({
required String from,
required String to,
required GameRequestType gameType,
String? message,
int expirationMinutes = defaultGameExpirationMinutes,
}) {
final now = DateTime.now().millisecondsSinceEpoch;
// Include timestamp in roomId to ensure each game session is unique
final roomId = '${from}_${gameType.name}_${to}_$now';
return AppRequest(
id: '${from}_${to}_$now',
from: from,
to: to,
eventId: roomId, // roomId format: {hostId}_{gameType}_{guestId}_{timestamp}
createdTime: now,
expiresAt: now + (expirationMinutes * 60 * 1000),
message: message ?? '',
gameRequestType: gameType,
requestDecision: RequestDecision.pending,
);
}