redai-automation-web-sdk
Version:
TypeScript SDK for RedAI Automation Web API - Zalo Personal automation, messaging, advanced sticker search, and bulk operations. 100% compatible with automation-web backend. v1.8.1: Updated GroupInfo interface to match backend controller with complete gro
92 lines • 2.81 kB
JavaScript
;
/**
* Authentication service for managing Zalo sessions
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.AuthService = void 0;
/**
* Authentication service class
*/
class AuthService {
constructor(httpClient) {
this.httpClient = httpClient;
}
/**
* Generate QR Code for Zalo login
*/
async generateQRCode(request) {
const response = await this.httpClient.post('/auth/zalo/qr-code', {
userUuid: request.userUuid,
sessionId: request.sessionId,
options: request.options,
});
return response;
}
/**
* Get login status for a session
*/
async getLoginStatus(sessionId, timeout) {
const queryParams = timeout ? { timeout } : {};
const response = await this.httpClient.get(`/auth/zalo/status/${sessionId}`, queryParams);
return response;
}
/**
* Login with credentials
*/
async loginWithCredentials(request) {
const response = await this.httpClient.post('/auth/zalo/login-with-credentials', {
userUuid: request.userUuid,
credentials: {
cookie: request.credentials.cookie,
imei: request.credentials.imei,
userAgent: request.credentials.userAgent,
language: request.credentials.language || 'vi',
},
options: request.options,
});
return response;
}
/**
* Get list of sessions for a user
*/
async getSessionsByUser(userUuid) {
const response = await this.httpClient.get(`/auth/zalo/sessions/${userUuid}`);
return response;
}
/**
* Delete a specific session
*/
async deleteSession(sessionId) {
const response = await this.httpClient.delete(`/auth/zalo/session/${sessionId}`);
return response;
}
/**
* Delete multiple sessions
*/
async bulkDeleteSessions(request) {
const response = await this.httpClient.request({
method: 'DELETE',
url: '/auth/zalo/sessions/bulk',
data: {
sessionIds: request.sessionIds || [],
},
});
return response;
}
/**
* Get debug information for a session
*/
async debugSession(sessionId) {
const response = await this.httpClient.get(`/auth/zalo/debug/session/${sessionId}`);
return response;
}
/**
* Relogin with existing session - Chuẩn theo automation-web controller
*/
async reloginWithSession(sessionId) {
const response = await this.httpClient.post(`/auth/zalo/relogin/${sessionId}`, {});
return response;
}
}
exports.AuthService = AuthService;
//# sourceMappingURL=auth.service.js.map