Ensure paid subscriptions respect expiration dates

This commit is contained in:
Egor
2025-10-19 02:18:32 +03:00
parent 4c11af4644
commit 8cf7445b99

View File

@@ -13246,6 +13246,26 @@
return false;
}
const expirationCandidates = [
userData.subscription_expires_at,
userData.subscriptionExpiresAt,
userData.user.subscription_expires_at,
userData.user.subscriptionExpiresAt,
userData.user.expires_at,
userData.user.expiresAt,
userData.expires_at,
userData.expiresAt,
];
const isExpiredByDate = expirationCandidates.some(candidate => {
const expiresAt = parseDate(candidate);
return expiresAt instanceof Date
&& !Number.isNaN(expiresAt.getTime())
&& expiresAt.getTime() <= Date.now();
});
if (isExpiredByDate) {
return false;
}
const statusRaw = String(
userData.user.subscription_actual_status
|| userData.user.subscription_status
@@ -13277,26 +13297,6 @@
}
}
const expirationCandidates = [
userData.subscription_expires_at,
userData.subscriptionExpiresAt,
userData.user.subscription_expires_at,
userData.user.subscriptionExpiresAt,
userData.user.expires_at,
userData.user.expiresAt,
userData.expires_at,
userData.expiresAt,
];
const isExpiredByDate = expirationCandidates.some(candidate => {
const expiresAt = parseDate(candidate);
return expiresAt instanceof Date
&& !Number.isNaN(expiresAt.getTime())
&& expiresAt.getTime() <= Date.now();
});
if (isExpiredByDate) {
return false;
}
const hasActiveFlag = userData.user.has_active_subscription;
if (hasActiveFlag === false) {
return false;