1
0
Fork 0

feat(poker): add poker stats to profiles with migration

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
Jason Fraley 2026-09-11 03:25:43 -04:00
parent 1fb0165c12
commit b477103522
3 changed files with 26342 additions and 0 deletions

View file

@ -132,6 +132,7 @@ export const Profiles: CollectionConfig = {
radioTraffic?: { xpEarned?: number | null }; radioTraffic?: { xpEarned?: number | null };
aimTrainer?: { xpEarned?: number | null }; aimTrainer?: { xpEarned?: number | null };
opordRecall?: { xpEarned?: number | null }; opordRecall?: { xpEarned?: number | null };
poker?: { xpEarned?: number | null };
}; };
voiceover?: { xpEarned?: number | null }; voiceover?: { xpEarned?: number | null };
}; };
@ -148,6 +149,7 @@ export const Profiles: CollectionConfig = {
const radioTrafficXp = progressionData?.minigames?.radioTraffic?.xpEarned ?? 0; const radioTrafficXp = progressionData?.minigames?.radioTraffic?.xpEarned ?? 0;
const aimTrainerXp = progressionData?.minigames?.aimTrainer?.xpEarned ?? 0; const aimTrainerXp = progressionData?.minigames?.aimTrainer?.xpEarned ?? 0;
const opordRecallXp = progressionData?.minigames?.opordRecall?.xpEarned ?? 0; const opordRecallXp = progressionData?.minigames?.opordRecall?.xpEarned ?? 0;
const pokerXp = progressionData?.minigames?.poker?.xpEarned ?? 0;
const voiceoverXp = progressionData?.voiceover?.xpEarned ?? 0; const voiceoverXp = progressionData?.voiceover?.xpEarned ?? 0;
if (awardIds.length > 0) { if (awardIds.length > 0) {
@ -191,6 +193,8 @@ export const Profiles: CollectionConfig = {
xpAcc += radioTrafficXp; xpAcc += radioTrafficXp;
xpAcc += aimTrainerXp; xpAcc += aimTrainerXp;
xpAcc += opordRecallXp; xpAcc += opordRecallXp;
// Poker sit-and-go: XP from placement payouts
xpAcc += pokerXp;
// Voiceover submissions: XP awarded per accepted submission // Voiceover submissions: XP awarded per accepted submission
xpAcc += voiceoverXp; xpAcc += voiceoverXp;
@ -631,6 +635,61 @@ export const Profiles: CollectionConfig = {
}, },
], ],
}, },
{
name: "poker",
label: "Poker",
type: "group",
fields: [
{
name: "gamesPlayed",
label: "Games Played",
type: "number",
defaultValue: 0,
},
{
name: "wins",
label: "Wins",
type: "number",
defaultValue: 0,
},
{
name: "secondPlaces",
label: "Second Places",
type: "number",
defaultValue: 0,
},
{
name: "thirdPlaces",
label: "Third Places",
type: "number",
defaultValue: 0,
},
{
name: "fourthPlaces",
label: "Fourth Places",
type: "number",
defaultValue: 0,
},
{
name: "handsWon",
label: "Hands Won",
type: "number",
defaultValue: 0,
},
{
name: "bestScore",
label: "Best Score (chips)",
type: "number",
defaultValue: 0,
},
{
name: "xpEarned",
label: "XP Earned",
type: "number",
defaultValue: 0,
},
],
},
], ],
}, },
{ {

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,25 @@
import { MigrateUpArgs, MigrateDownArgs, sql } from '@payloadcms/db-postgres'
export async function up({ db, payload, req }: MigrateUpArgs): Promise<void> {
await db.execute(sql`
ALTER TABLE "profiles" ADD COLUMN "progression_minigames_poker_games_played" numeric DEFAULT 0;
ALTER TABLE "profiles" ADD COLUMN "progression_minigames_poker_wins" numeric DEFAULT 0;
ALTER TABLE "profiles" ADD COLUMN "progression_minigames_poker_second_places" numeric DEFAULT 0;
ALTER TABLE "profiles" ADD COLUMN "progression_minigames_poker_third_places" numeric DEFAULT 0;
ALTER TABLE "profiles" ADD COLUMN "progression_minigames_poker_fourth_places" numeric DEFAULT 0;
ALTER TABLE "profiles" ADD COLUMN "progression_minigames_poker_hands_won" numeric DEFAULT 0;
ALTER TABLE "profiles" ADD COLUMN "progression_minigames_poker_best_score" numeric DEFAULT 0;
ALTER TABLE "profiles" ADD COLUMN "progression_minigames_poker_xp_earned" numeric DEFAULT 0;`)
}
export async function down({ db, payload, req }: MigrateDownArgs): Promise<void> {
await db.execute(sql`
ALTER TABLE "profiles" DROP COLUMN "progression_minigames_poker_games_played";
ALTER TABLE "profiles" DROP COLUMN "progression_minigames_poker_wins";
ALTER TABLE "profiles" DROP COLUMN "progression_minigames_poker_second_places";
ALTER TABLE "profiles" DROP COLUMN "progression_minigames_poker_third_places";
ALTER TABLE "profiles" DROP COLUMN "progression_minigames_poker_fourth_places";
ALTER TABLE "profiles" DROP COLUMN "progression_minigames_poker_hands_won";
ALTER TABLE "profiles" DROP COLUMN "progression_minigames_poker_best_score";
ALTER TABLE "profiles" DROP COLUMN "progression_minigames_poker_xp_earned";`)
}