fix: enforce operated paid mode contracts

This commit is contained in:
jwinterm
2026-07-23 20:31:20 -04:00
parent 05197925d9
commit ca8e189b20
14 changed files with 168 additions and 27 deletions
+21
View File
@@ -1258,6 +1258,27 @@ class GameModeManager {
};
}
getPublicPreferredPaymentMode(user) {
if (!this.paymentsEnabled) {
return 'free';
}
const preferred = String(user?.preferred_payment_mode || '').trim().toLowerCase();
if (preferred === 'direct' && this.directModeEnabled) {
return 'direct';
}
if (preferred === 'credits' && this.creditsModeEnabled) {
return 'credits';
}
if (this.creditsModeEnabled) {
return 'credits';
}
if (this.directModeEnabled) {
return 'direct';
}
return 'free';
}
/**
* Get available payment options for a user
* @param {string} socketId - Socket ID