chore: auto-generate protobuf files [skip ci]

This commit is contained in:
github-actions[bot]
2026-04-03 21:11:56 +00:00
parent 042d475d6c
commit e778fda3a7
3 changed files with 462 additions and 22 deletions

View File

@@ -69,6 +69,37 @@ export interface GetAccountRoleLevelResponse {
roleLevel: number;
}
export interface GetSessionRequest {
userId: string;
sessionId: string;
}
export interface SessionItem {
/** Здесь будет лежать захэшированный ID */
id: string;
ipAddress: string;
userAgent: string;
/** Unix timestamp в миллисекундах */
lastActivity: number;
/** Флаг текущей сессии */
isCurrent: boolean;
}
export interface GetSessionsResponse {
sessions: SessionItem[];
}
export interface TerminateSessionRequest {
userId: string;
/** Хэш сессии, которую нужно убить */
targetHash: string;
}
export interface TerminateSessionResponse {
success: boolean;
message: string;
}
export const AUTH_V1_PACKAGE_NAME = "auth.v1";
export interface AuthServiceClient {
@@ -86,6 +117,10 @@ export interface AuthServiceClient {
logout(request: LogoutRequest, metadata?: Metadata): Observable<LogoutResponse>;
logoutOther(request: LogoutRequest, metadata?: Metadata): Observable<LogoutResponse>;
getSessions(request: GetSessionRequest, metadata?: Metadata): Observable<GetSessionsResponse>;
terminateSession(request: TerminateSessionRequest, metadata?: Metadata): Observable<TerminateSessionResponse>;
}
export interface AuthServiceController {
@@ -115,11 +150,30 @@ export interface AuthServiceController {
request: LogoutRequest,
metadata?: Metadata,
): Promise<LogoutResponse> | Observable<LogoutResponse> | LogoutResponse;
getSessions(
request: GetSessionRequest,
metadata?: Metadata,
): Promise<GetSessionsResponse> | Observable<GetSessionsResponse> | GetSessionsResponse;
terminateSession(
request: TerminateSessionRequest,
metadata?: Metadata,
): Promise<TerminateSessionResponse> | Observable<TerminateSessionResponse> | TerminateSessionResponse;
}
export function AuthServiceControllerMethods() {
return function (constructor: Function) {
const grpcMethods: string[] = ["login", "refresh", "verifyToken", "getAccountRoleLevel", "logout", "logoutOther"];
const grpcMethods: string[] = [
"login",
"refresh",
"verifyToken",
"getAccountRoleLevel",
"logout",
"logoutOther",
"getSessions",
"terminateSession",
];
for (const method of grpcMethods) {
const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
GrpcMethod("AuthService", method)(constructor.prototype[method], method, descriptor);