// Code generated by protoc-gen-ts_proto. DO NOT EDIT. // versions: // protoc-gen-ts_proto v2.11.6 // protoc v4.25.9 // source: sso/auth.proto /* eslint-disable */ import type { Metadata } from "@grpc/grpc-js"; import { GrpcMethod, GrpcStreamMethod } from "@nestjs/microservices"; import { Observable } from "rxjs"; export const protobufPackage = "auth.v1"; export interface LoginRequest { username: string; password: string; /** Уникальный идентификатор устройства клиента */ deviceId: string; /** Публичный ключ устройства для шифрования сообщений */ publicKey: string; } export interface LoginResponse { accessToken: string; refreshToken: string; status: string; need2fa: boolean; tempToken?: string | undefined; message?: string | undefined; errorCode?: string | undefined; } export interface RefreshRequest { refreshToken: string; } export interface RefreshResponse { accessToken: string; refreshToken: string; } export interface LogoutRequest { userId: string; sessionId: string; } export interface LogoutResponse { success: boolean; message: string; } export interface VerifyTokenRequest { token: string; } export interface VerifyTokenResponse { isValid: boolean; errorMessage?: string | undefined; id?: string | undefined; username?: string | undefined; roleLevel?: number | undefined; permissions: string[]; sessionId?: string | undefined; requiresPin?: boolean | undefined; deviceId?: string | undefined; } export interface GetAccountRoleLevelRequest { accountId: string; } export interface GetAccountRoleLevelResponse { found: boolean; roleLevel: number; } export interface GetSessionRequest { userId: string; currentSessionId: string; } export interface SessionItem { /** Здесь будет лежать захэшированный ID */ id: string; ipAddress: string; userAgent: string; /** Unix timestamp в миллисекундах */ lastActivity: number; /** Флаг текущей сессии */ isCurrent: boolean; deviceId: string; } export interface GetSessionsResponse { sessions: SessionItem[]; } export interface TerminateSessionRequest { userId: string; /** Хэш сессии, которую нужно убить */ targetHash: string; } export interface TerminateSessionResponse { success: boolean; message: string; } export interface SystemCreateAccountRequest { username: string; /** Хеш пароля генерирует Admin Service и передает сюда */ passwordHash: string; isLdap: boolean; } export interface SystemCreateAccountResponse { accountId: string; } export interface SystemChangeStatusRequest { accountId: string; /** 'ACTIVE', 'BLOCKED', 'DELETED' */ status: string; } export interface SystemChangeStatusResponse { success: boolean; } export interface SystemUpdatePasswordRequest { accountId: string; newPasswordHash: string; } export interface SystemUpdatePasswordResponse { success: boolean; } export interface SystemUpdatePinRequest { accountId: string; /** null если удаляем */ pinHash?: string | undefined; } export interface SystemUpdatePinResponse { success: boolean; } export interface SystemBlockIpRequest { ipAddress: string; adminId: string; reason?: string | undefined; } export interface SystemBlockIpResponse { success: boolean; } export interface SystemUnblockIpRequest { ipAddress: string; } export interface SystemUnblockIpResponse { success: boolean; } export const AUTH_V1_PACKAGE_NAME = "auth.v1"; export interface AuthServiceClient { login(request: LoginRequest, metadata?: Metadata): Observable; refresh(request: RefreshRequest, metadata?: Metadata): Observable; verifyToken(request: VerifyTokenRequest, metadata?: Metadata): Observable; getAccountRoleLevel( request: GetAccountRoleLevelRequest, metadata?: Metadata, ): Observable; logout(request: LogoutRequest, metadata?: Metadata): Observable; logoutOther(request: LogoutRequest, metadata?: Metadata): Observable; getSessions(request: GetSessionRequest, metadata?: Metadata): Observable; terminateSession(request: TerminateSessionRequest, metadata?: Metadata): Observable; /** Системные методы для админа */ systemCreateAccount( request: SystemCreateAccountRequest, metadata?: Metadata, ): Observable; systemChangeStatus(request: SystemChangeStatusRequest, metadata?: Metadata): Observable; systemUpdatePassword( request: SystemUpdatePasswordRequest, metadata?: Metadata, ): Observable; systemUpdatePin(request: SystemUpdatePinRequest, metadata?: Metadata): Observable; systemBlockIp(request: SystemBlockIpRequest, metadata?: Metadata): Observable; systemUnblockIp(request: SystemUnblockIpRequest, metadata?: Metadata): Observable; } export interface AuthServiceController { login(request: LoginRequest, metadata?: Metadata): Promise | Observable | LoginResponse; refresh( request: RefreshRequest, metadata?: Metadata, ): Promise | Observable | RefreshResponse; verifyToken( request: VerifyTokenRequest, metadata?: Metadata, ): Promise | Observable | VerifyTokenResponse; getAccountRoleLevel( request: GetAccountRoleLevelRequest, metadata?: Metadata, ): Promise | Observable | GetAccountRoleLevelResponse; logout( request: LogoutRequest, metadata?: Metadata, ): Promise | Observable | LogoutResponse; logoutOther( request: LogoutRequest, metadata?: Metadata, ): Promise | Observable | LogoutResponse; getSessions( request: GetSessionRequest, metadata?: Metadata, ): Promise | Observable | GetSessionsResponse; terminateSession( request: TerminateSessionRequest, metadata?: Metadata, ): Promise | Observable | TerminateSessionResponse; /** Системные методы для админа */ systemCreateAccount( request: SystemCreateAccountRequest, metadata?: Metadata, ): Promise | Observable | SystemCreateAccountResponse; systemChangeStatus( request: SystemChangeStatusRequest, metadata?: Metadata, ): Promise | Observable | SystemChangeStatusResponse; systemUpdatePassword( request: SystemUpdatePasswordRequest, metadata?: Metadata, ): Promise | Observable | SystemUpdatePasswordResponse; systemUpdatePin( request: SystemUpdatePinRequest, metadata?: Metadata, ): Promise | Observable | SystemUpdatePinResponse; systemBlockIp( request: SystemBlockIpRequest, metadata?: Metadata, ): Promise | Observable | SystemBlockIpResponse; systemUnblockIp( request: SystemUnblockIpRequest, metadata?: Metadata, ): Promise | Observable | SystemUnblockIpResponse; } export function AuthServiceControllerMethods() { return function (constructor: Function) { const grpcMethods: string[] = [ "login", "refresh", "verifyToken", "getAccountRoleLevel", "logout", "logoutOther", "getSessions", "terminateSession", "systemCreateAccount", "systemChangeStatus", "systemUpdatePassword", "systemUpdatePin", "systemBlockIp", "systemUnblockIp", ]; for (const method of grpcMethods) { const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method); GrpcMethod("AuthService", method)(constructor.prototype[method], method, descriptor); } const grpcStreamMethods: string[] = []; for (const method of grpcStreamMethods) { const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method); GrpcStreamMethod("AuthService", method)(constructor.prototype[method], method, descriptor); } }; } export const AUTH_SERVICE_NAME = "AuthService";