chore: auto-generate protobuf files [skip ci]
This commit is contained in:
56
gen/auth.ts
56
gen/auth.ts
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user