fix(accounts): preserve Real-Debrid usernames
This commit is contained in:
@@ -103,7 +103,8 @@ export async function checkRealDebridAccount(
|
||||
valid: true,
|
||||
isPremium: Boolean(result.isPremium),
|
||||
premiumUntilMs,
|
||||
email: String(result.email || result.username || "").trim() || undefined,
|
||||
username: String(result.username || "").trim() || undefined,
|
||||
email: String(result.email || "").trim() || undefined,
|
||||
message: result.message || (result.isPremium ? formatRemaining(premiumUntilMs, now) : "Kein Premium (Free)")
|
||||
};
|
||||
} catch (error) {
|
||||
@@ -142,7 +143,8 @@ export async function checkRealDebridAccount(
|
||||
valid: true,
|
||||
isPremium,
|
||||
premiumUntilMs,
|
||||
email: String(payload.email || payload.username || "").trim() || undefined,
|
||||
username: String(payload.username || "").trim() || undefined,
|
||||
email: String(payload.email || "").trim() || undefined,
|
||||
message: isPremium ? formatRemaining(premiumUntilMs, now) : "Kein Premium (Free)"
|
||||
};
|
||||
} catch (error) {
|
||||
|
||||
@@ -122,13 +122,14 @@ describe("checkDebridLinkKey", () => {
|
||||
});
|
||||
|
||||
describe("checkRealDebridAccount", () => {
|
||||
it("uses the browser-session probe and returns a stable service status", async () => {
|
||||
it("keeps browser-session username and email in separate status fields", async () => {
|
||||
const premiumUntilMs = NOW + 30 * 24 * 60 * 60 * 1000;
|
||||
const probe = vi.fn(async () => ({
|
||||
valid: true,
|
||||
isPremium: true,
|
||||
premiumUntilMs,
|
||||
username: "web-user"
|
||||
username: "web-user",
|
||||
email: "web-user@example.test"
|
||||
}));
|
||||
|
||||
const status = await checkRealDebridAccount({
|
||||
@@ -143,7 +144,30 @@ describe("checkRealDebridAccount", () => {
|
||||
valid: true,
|
||||
isPremium: true,
|
||||
premiumUntilMs,
|
||||
email: "web-user"
|
||||
username: "web-user",
|
||||
email: "web-user@example.test"
|
||||
});
|
||||
});
|
||||
|
||||
it("keeps API username and email in separate status fields", async () => {
|
||||
mockFetchOnce(200, {
|
||||
username: "api-user",
|
||||
email: "api-user@example.test",
|
||||
type: "premium",
|
||||
expiration: new Date(NOW + 30 * 24 * 60 * 60 * 1000).toISOString()
|
||||
});
|
||||
|
||||
const status = await checkRealDebridAccount({
|
||||
token: "rd-api-token",
|
||||
realDebridUseWebLogin: false
|
||||
} as AppSettings, undefined, NOW);
|
||||
|
||||
expect(status).toMatchObject({
|
||||
accountId: REAL_DEBRID_STATUS_ID,
|
||||
provider: "realdebrid",
|
||||
valid: true,
|
||||
username: "api-user",
|
||||
email: "api-user@example.test"
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user