fix: use valid RPC method for session validation
This commit is contained in:
@@ -544,7 +544,10 @@ export class TrytonClient {
|
|||||||
|
|
||||||
// Establecer la sesión sin hacer login
|
// Establecer la sesión sin hacer login
|
||||||
this.session = sessionToken;
|
this.session = sessionToken;
|
||||||
console.log("🔐 Session establecida en client:", this.session?.substring(0, 30) + "...");
|
console.log(
|
||||||
|
"🔐 Session establecida en client:",
|
||||||
|
this.session?.substring(0, 30) + "..."
|
||||||
|
);
|
||||||
|
|
||||||
// Actualizar la sesión en el connection pool ANTES de obtener proxy
|
// Actualizar la sesión en el connection pool ANTES de obtener proxy
|
||||||
if (this.connection) {
|
if (this.connection) {
|
||||||
@@ -562,7 +565,10 @@ export class TrytonClient {
|
|||||||
try {
|
try {
|
||||||
console.log("🔐 Validando sesión con Tryton server...");
|
console.log("🔐 Validando sesión con Tryton server...");
|
||||||
// Usar un método que requiere autenticación para validar la sesión
|
// Usar un método que requiere autenticación para validar la sesión
|
||||||
await proxy.request("model.res.user.get_preferences", [true, {}]);
|
await proxy.request("model.res.user.get_preferences", [
|
||||||
|
true,
|
||||||
|
{},
|
||||||
|
]);
|
||||||
console.log("✅ Sesión restaurada exitosamente");
|
console.log("✅ Sesión restaurada exitosamente");
|
||||||
this.connection.putConnection(proxy); // Devolver conexión al pool
|
this.connection.putConnection(proxy); // Devolver conexión al pool
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -480,7 +480,11 @@ export class ServerProxy {
|
|||||||
: null;
|
: null;
|
||||||
this.useHttps = options.useHttps || false;
|
this.useHttps = options.useHttps || false;
|
||||||
|
|
||||||
console.log(`🔨 ServerProxy constructor: session=${options.session?.substring(0, 30) || 'undefined'}...`);
|
console.log(
|
||||||
|
`🔨 ServerProxy constructor: session=${
|
||||||
|
options.session?.substring(0, 30) || "undefined"
|
||||||
|
}...`
|
||||||
|
);
|
||||||
this.transport = new Transport({
|
this.transport = new Transport({
|
||||||
fingerprints: options.fingerprints,
|
fingerprints: options.fingerprints,
|
||||||
caCerts: options.caCerts,
|
caCerts: options.caCerts,
|
||||||
@@ -656,19 +660,25 @@ export class ServerPool {
|
|||||||
console.log(`🔧 Sesión nueva: ${session.substring(0, 30)}...`);
|
console.log(`🔧 Sesión nueva: ${session.substring(0, 30)}...`);
|
||||||
this.session = session;
|
this.session = session;
|
||||||
this.options.session = session;
|
this.options.session = session;
|
||||||
console.log(`🔧 Pool connections: ${this.pool.length}, Used connections: ${this.used.size}`);
|
console.log(
|
||||||
|
`🔧 Pool connections: ${this.pool.length}, Used connections: ${this.used.size}`
|
||||||
|
);
|
||||||
|
|
||||||
// Update session for all existing connections and their transports
|
// Update session for all existing connections and their transports
|
||||||
for (const conn of this.pool) {
|
for (const conn of this.pool) {
|
||||||
if ((conn as any).transport) {
|
if ((conn as any).transport) {
|
||||||
(conn as any).transport.session = session;
|
(conn as any).transport.session = session;
|
||||||
console.log("🔧 Sesión actualizada en pool connection transport");
|
console.log(
|
||||||
|
"🔧 Sesión actualizada en pool connection transport"
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (const conn of this.used) {
|
for (const conn of this.used) {
|
||||||
if ((conn as any).transport) {
|
if ((conn as any).transport) {
|
||||||
(conn as any).transport.session = session;
|
(conn as any).transport.session = session;
|
||||||
console.log("🔧 Sesión actualizada en used connection transport");
|
console.log(
|
||||||
|
"🔧 Sesión actualizada en used connection transport"
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user