feat: add session method get and terminate
All checks were successful
Publish / Publish Job (push) Successful in 2m36s

This commit is contained in:
Дмитрий
2026-04-04 00:09:15 +03:00
parent 81f82bd0d1
commit 042d475d6c
2 changed files with 29 additions and 1 deletions

View File

@@ -1,6 +1,6 @@
{ {
"name": "@lendry-erp/contracts", "name": "@lendry-erp/contracts",
"version": "1.0.45", "version": "1.0.46",
"description": "Protobuf definitions and generated TypeScript types", "description": "Protobuf definitions and generated TypeScript types",
"type": "commonjs", "type": "commonjs",
"main": "./dist/index.js", "main": "./dist/index.js",

View File

@@ -11,6 +11,8 @@ service AuthService {
rpc GetAccountRoleLevel (GetAccountRoleLevelRequest) returns (GetAccountRoleLevelResponse); rpc GetAccountRoleLevel (GetAccountRoleLevelRequest) returns (GetAccountRoleLevelResponse);
rpc Logout (LogoutRequest) returns (LogoutResponse); rpc Logout (LogoutRequest) returns (LogoutResponse);
rpc LogoutOther (LogoutRequest) returns (LogoutResponse); rpc LogoutOther (LogoutRequest) returns (LogoutResponse);
rpc GetSessions(GetSessionRequest) returns (GetSessionsResponse);
rpc TerminateSession(TerminateSessionRequest) returns (TerminateSessionResponse);
} }
@@ -72,5 +74,31 @@ message GetAccountRoleLevelResponse {
int32 role_level = 2; int32 role_level = 2;
} }
message GetSessionRequest {
string user_id = 1;
string session_id = 2;
}
message SessionItem {
string id = 1; // Здесь будет лежать захэшированный ID
string ip_address = 2;
string user_agent = 3;
int64 last_activity = 4; // Unix timestamp в миллисекундах
bool is_current = 5; // Флаг текущей сессии
}
message GetSessionsResponse {
repeated SessionItem sessions = 1;
}
message TerminateSessionRequest {
string user_id = 1;
string target_hash = 2; // Хэш сессии, которую нужно убить
}
message TerminateSessionResponse {
bool success = 1;
string message = 2;
}