-
-
Save mikecann/c7ad434ffcf94eb4e5c0d0b30f7967e1 to your computer and use it in GitHub Desktop.
battletabsevents.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
export interface AppEventMappings { | |
// Entities | |
entityUpdated: Omit<EntityUpdatedAppEvent, "kind">; | |
entityInserted: Omit<EntityInsertedAppEvent, "kind">; | |
entityDeleted: Omit<EntityDeletedAppEvent, "kind">; | |
// Matches | |
matchTurnTaken: { | |
match: PrismaBattle; | |
turnTaker: PrismaUser; | |
events: BattleEvent[]; | |
event: PlayerTookTurnBattleEvent; | |
eventIndex: number; | |
}; | |
turnResponded: { | |
match: PrismaBattle; | |
turn: PlayerTookTurnBattleEvent; | |
events: BattleEvent[]; | |
turnTaker: PrismaUser; | |
turnResponder: PrismaUser; | |
event: ExtractBattleEvent<"player-responded-to-turn">; | |
eventIndex: number; | |
}; | |
matchFinished: { match: PrismaBattle; events: BattleEvent[] }; | |
turnTimedOut: { match: PrismaBattle; byUser: PrismaUser; event: TurnTimedOutBattleEvent }; | |
shipPlacementTimedOut: { | |
match: PrismaBattle; | |
byUser: PrismaUser; | |
events: ShipsPlacementTimedOutBattleEvent[]; | |
}; | |
matchEmoted: { | |
matchId: UUID; | |
fromUserId: UUID; | |
emote: Emote; | |
matchKind: string; | |
}; | |
matchMade: { proposalAId: UUID; proposalBId: UUID; matchCreatedId: UUID }; | |
fleetChosen: { battleId: UUID; fleet: ChosenFleet; userId: UserId }; | |
shipChosen: { battleId: UUID; userId: UserId; shipDefinitionId: string }; | |
matchStarted_v2: { match: PrismaBattle }; | |
aiPracticeBattleCreated: { battleId: UUID; byUserId: UUID }; | |
// Battle Emotes | |
battleEmoteCreated: { | |
id: string; | |
battle: PrismaBattle; | |
emote: Emote; | |
by: PrismaUser; | |
createdAt: number; | |
}; | |
// Proposals | |
temporaryProposalCreated: { proposalId: UUID }; | |
proposalMatchmade: { proposalId: UUID; opponentKind: "human" | "ai" }; | |
proposalCancelled: { proposalId: UUID; cancelledByUserId: string }; | |
proposalJoined: { proposalId: UUID; joinedByUserId: string }; | |
// Users | |
userNameUpdated: { userId: string }; | |
useSettingsUpdated: { userId: string }; | |
userAvatarUpdated: { userId: string }; | |
userSeeablesUpdated: { userId: string }; | |
userReviewStatusUpdated: { userId: string; status: ReviewPromptStatus }; | |
userSubscriptionUpdated: { userId: string }; | |
userFlagsUpdated: { userId: string }; | |
userReported: { reportee: string; reporter: string; message: string }; | |
medalEquipped: { userId: string; medalId: string }; | |
medalUnequipped: { userId: string; medalId: string }; | |
userAwardedPoints: { userId: string; points: number }; | |
userEnhancedStatsUpdated: { userId: string }; | |
userAccountDeleted: { user: PrismaUser }; | |
userShadowBanned: { userId: string }; | |
// Auth | |
userUninstalled: { userId: string }; | |
userLinkedGoogle: { userId: string; email: string }; | |
userSignedUpWithCredentials: { userId: string }; | |
userExchangedCredentialsForToken: { userId: string }; | |
passwordResetRequested: { email: string }; | |
passwordReset: { email: string }; | |
linkWithOAuthBegan: { provider: OAuthProvider }; | |
loginWithOAuthBegan: { provider: OAuthProvider }; | |
signupWithOAuthBegan: { provider: OAuthProvider }; | |
linkedWithOAuth: { provider: OAuthProvider; userId: string | null }; | |
loggedInWithOAuth: { provider: OAuthProvider; userId: string | null }; | |
signedUpWithOAuth: { provider: OAuthProvider; userId: string | null }; | |
userLoggedInWithApple: { userId: string }; | |
userLinkedWithApple: { userId: string }; | |
userSignedUpWithApple: { userId: string }; | |
// Friends | |
friendUnfriended: { friendId: string; byUserId: string }; | |
// HighScores | |
dailyHighScoreRankIncreased: { highScoreId: string; rank: number }; | |
dailyHighScoreRankDecreased: { highScoreId: string; rank: number }; | |
// Friend Invites | |
friendInviteAccepted: { invite: PrismaFriendInvite; byUser: PrismaUser }; | |
friendInviteDeclined: { invite: PrismaFriendInvite; byUser: PrismaUser }; | |
friendInviteCancelled: { invite: PrismaFriendInvite; byUserId: string }; | |
// Match Invites | |
matchInviteAccepted: { invite: PrismaBattleInvite; byUserId: string }; | |
matchInviteDeclined: { invite: PrismaBattleInvite; byUserId: string }; | |
matchInviteCancelled: { invite: PrismaBattleInvite; byUserId: string }; | |
// Waiting Proposals | |
waitingProposalAccepted: { proposalId: string; byUserId: string }; | |
// Server | |
// eslint-disable-next-line @typescript-eslint/ban-types | |
serverStarted: {}; | |
// Analytics | |
analyticsDesignEventTracked: { name: string; value: number | undefined; userId: string | null }; | |
analyticsProgressionEventTracked: { | |
status: "Start" | "Fail" | "Completed"; | |
progression01: string; | |
progression02: string | undefined; | |
progression03: string | undefined; | |
score: number | undefined; | |
userId: string | null; | |
}; | |
// Sockets | |
socketConnected: { | |
userId: string | undefined; | |
analyticsId: string; | |
platform: string; | |
iframeParent: string | undefined | null; | |
}; | |
socketDisconnected: { userId: string | undefined }; | |
// Discord | |
discordStreamersUpdated: { streamers: DiscordStreamerInfo[] }; | |
discordMemberStartedStreaming: { info: DiscordStreamerInfo }; | |
userDiscordOAuthInfoUpdated: { userId: string }; | |
cloudMessageSentToDiscordUserViaDM: { userId: string; message: CloudMessage }; | |
cloudMessageToDiscordUserErrored: { | |
userId: string; | |
message: CloudMessage; | |
error: { | |
code: number | string; | |
message: string; | |
method: string; | |
url: string; | |
}; | |
}; | |
discordInteractionPlayButtonClicked: { | |
userId?: string; | |
buttonId: string; | |
interaction: APIMessageComponentButtonInteraction; | |
}; | |
// Misc | |
errorOccurred: { error: string }; | |
// Battletabs | |
battletabsUpdated: { battletabsId: string }; | |
currentMapChanged: { mapId: string }; | |
// Redis | |
redisWarning: { message: string }; | |
redisError: { message: string }; | |
// Stripe | |
stripeWebhookCalled: { eventType: string }; | |
stripeBCCheckoutSessionCreated: {}; | |
stripeCustomerPortalSessionCreated: {}; | |
// Ship Blueprints | |
shipBlueprintDiscovered: { shipDefinitionId: string; userId: string }; | |
shipBlueprintRented: { definitionId: string; userId: string }; | |
shipBlueprintPurchased: { definitionId: string; userId: string }; | |
shipBlueprintExpired: { id: string; definitionId: string; userId: string }; | |
// Presence | |
userPresenceChanged: { presence: UserPresence }; | |
// Shop | |
shopFreeGoldCollected: { byUserId: UUID; userId: string }; | |
dailyShipSkinBought: { userId: string; definitionId: string }; | |
dailyEmoteBought: { userId: string; definitionId: string }; | |
// Skins | |
shipSkinPurchased: { userId: string; definitionId: string }; | |
// Fractal | |
userLinkedWithFractal: { userId: UUID }; | |
userSignedUpWithFractal: { userId: UUID }; | |
userLoggedInWithFractal: { userId: UUID }; | |
// Board Ping | |
boardPingCreated: { | |
id: string; | |
battle: PrismaBattle; | |
by: PrismaUser; | |
boardOwnerId: string; | |
isoPosition: Point2D; | |
matchKind: string; | |
}; | |
// FTUE | |
ftueEnded: { userId: string }; | |
ftueSkipped: { userId: string }; | |
// League | |
userTrophiesChanged: { | |
userId: UUID; | |
leagueId: string; | |
before: number; | |
after: number; | |
}; | |
userHighestTrophiesChanged: { | |
userId: UUID; | |
leagueId: string; | |
before: number; | |
after: number; | |
}; | |
useEnteredDiamondDash: { | |
userId: UUID; | |
leagueId: string; | |
diamondDashId: string; | |
}; | |
trophiesRequiredToWinDiamondDashChanged: { | |
leagueId: string; | |
diamondDashId: string; | |
trophiesRequired: number; | |
}; | |
userLeagueLevelChanged: { | |
userId: UUID; | |
leagueId: string; | |
before: number; | |
after: number; | |
leagueDefinitionId: string; | |
}; | |
userLeagueLevelRewardsGranted: { userId: UUID; leagueDefinitionId: string; toLevelValue: number }; | |
diamondDashEnded: { id: UUID; newId: UUID }; | |
diamondDashWinnerAwarded: { | |
leagueId: UUID; | |
userId: UUID; | |
updatedProgress: PrismaUserLeagueProgress; | |
}; | |
leagueEnded: { leagueId: UUID; newLeagueId: UUID }; | |
profanityChecked: { | |
phrase: string; | |
message: string | undefined; | |
isProfane: string; | |
deltaMs: number; | |
}; | |
// Research | |
researchBegan: { userId: string; nodeId: string; researcherId: string }; | |
researchCollected: { userId: string; nodeId: string; researcherId: string }; | |
researchComplete: { userId: string; node: PrismaResearchNode }; | |
researchBoostPurchased: { userId: string; nodeId: string }; | |
researchCancelled: { userId: string; nodeId: string }; | |
researcherUnlocked: { userId: string; researcherId: string }; | |
researcherLocked: { userId: string; researcherId: string }; | |
// Feature Keys | |
featureKeyCreated: { userId: string; definitionId: FeatureKeyDefinitionIds }; | |
// Challenges | |
challengeSlotUnlocked: { userId: string; definitionId: string }; | |
challengeOptionSlotUnlocked: { userId: string; definitionId: string }; | |
challengeOptionsRefreshed: { userId: string }; | |
challengeOptionRefreshPurchased: { | |
userId: string; | |
previousPurchasedRefreshesSinceLastAutoRefresh: number; | |
}; | |
challengeAbandoned: { | |
userId: string; | |
challenge: { | |
before: PrismaChallenge; | |
after: PrismaChallenge; | |
}; | |
}; | |
challengeRetried: { | |
userId: string; | |
challenge: { | |
before: PrismaChallenge; | |
after: PrismaChallenge; | |
}; | |
}; | |
challengeSlotCooldownSkipped: { userId: string; slot: PrismaChallengeSlot }; | |
challengeCompleted: { challenge: PrismaChallenge }; | |
challengeFailed: { challenge: PrismaChallenge }; | |
challengeProgressed: { challenge: PrismaChallenge }; | |
challengeSlotCooldownEnded: { slot: PrismaChallengeSlot }; | |
challengeRewardsCollected: { | |
challenge: PrismaChallenge; | |
slot: PrismaChallengeSlot; | |
rewards: ChallengeRewards[]; | |
}; | |
passiveChallengePoolCompleted: { | |
userId: string; | |
poolId: string; | |
}; | |
// Payments | |
paymentTransactionValidatedAndEntitlementsGranted: { | |
userId: string; | |
productDefinitionId: string; | |
gateway: string; | |
}; | |
userSubscriptionCreated: { | |
subscription: PrismaUserSubscription; | |
}; | |
userSubscriptionReactivated: { | |
subscription: PrismaUserSubscription; | |
}; | |
// User Linked Accounts | |
userLinkedAccountCreated: { | |
link: PrismaUserLinkedAccount; | |
}; | |
// Native Auth | |
nativeAccountRestored: { | |
vendorUserId: string; | |
vendor: NativeAccountVendor; | |
userId: UserId; | |
}; | |
nativeAccountRemoved: { | |
vendorUserId: string; | |
vendor: NativeAccountVendor; | |
userId: UserId; | |
}; | |
nativeAccountLinked: { | |
vendorUserId: string; | |
vendor: NativeAccountVendor; | |
userId: UserId; | |
}; | |
// Starting Fleets | |
startingFleetUnlocked: { | |
userId: UserId; | |
definitionId: string; | |
}; | |
// Auth | |
discordActivityAuthenticated: { | |
result: DiscordActivityAuthResult["__typename"]; | |
userId: Maybe<string>; | |
guild: APIPartialGuild | null; | |
instanceId: string; | |
channelId: Maybe<string>; | |
}; | |
// BC | |
// userGainedBattleClub: { | |
// userId: string; | |
// }; | |
// userLostBattleClub: { | |
// userId: string; | |
// }; | |
// Debug | |
dumpMemOnWorkerRequested: {}; | |
// Clans | |
clanCreated: { clan: PrismaClan }; | |
clanUpdated: { clan: PrismaClan }; | |
clanJoined: { userId: string; clanId: string }; | |
clanMembershipPaused: { userId: string; clanId: string }; | |
clanMembershipResumed: { userId: string; clanId: string }; | |
// Daily Login | |
dailyLoginDayCollected: { userId: string; dayIndex: number }; | |
dailyLoginDayAwarded: { userId: string; dayIndex: number }; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment