// Code generated by protoc-gen-ts_proto. DO NOT EDIT. // versions: // protoc-gen-ts_proto v2.11.6 // protoc v4.25.9 // source: sso/oauth.proto /* eslint-disable */ import type { Metadata } from "@grpc/grpc-js"; import { GrpcMethod, GrpcStreamMethod } from "@nestjs/microservices"; import { Observable } from "rxjs"; export const protobufPackage = "oauth.v1"; export interface GenerateOauthCodeRequest { userId: string; clientId: string; redirectUri: string; } export interface GenerateOauthCodeResponse { code: string; } export interface ExchangeOauthCodeRequest { code: string; clientId: string; clientSecret: string; } export interface ExchangeOauthCodeResponse { accessToken: string; expiresIn: number; } export interface SystemCreateOauthClientRequest { /** Название приложения (например, "Grafana Analytics") */ name: string; /** Список разрешенных коллбеков */ redirectUris: string[]; /** Описание (для админки) */ description?: string | undefined; } export interface SystemCreateOauthClientResponse { /** Внутренний ID в базе */ id: string; name: string; /** Публичный ID клиента (app_...) */ clientId: string; /** ВАЖНО: Чистый секрет. Отдается ТОЛЬКО здесь один раз! */ plainSecret: string; redirectUris: string[]; } export interface OauthClientItem { id: string; name: string; clientId: string; redirectUris: string[]; description?: | string | undefined; /** Обратите внимание: поля secret здесь нет! Секрет нельзя получить списком. */ createdAt: number; } export interface SystemGetOauthClientsRequest { limit: number; offset: number; } export interface SystemGetOauthClientsResponse { clients: OauthClientItem[]; total: number; } export interface SystemUpdateOauthClientRequest { clientId: string; name?: | string | undefined; /** Если передано, полностью перезаписывает старые */ redirectUris: string[]; description?: string | undefined; } export interface SystemUpdateOauthClientResponse { success: boolean; } export interface SystemResetOauthSecretRequest { clientId: string; } export interface SystemResetOauthSecretResponse { /** Возвращаем новый сгенерированный секрет */ newPlainSecret: string; } export interface SystemDeleteOauthClientRequest { clientId: string; } export interface SystemDeleteOauthClientResponse { success: boolean; } export const OAUTH_V1_PACKAGE_NAME = "oauth.v1"; export interface OauthServiceClient { /** === Базовый SSO (вызывается из Gateway / Графаны) === */ generateOauthCode(request: GenerateOauthCodeRequest, metadata?: Metadata): Observable; exchangeOauthCode(request: ExchangeOauthCodeRequest, metadata?: Metadata): Observable; /** === Системные методы для Админки (Управление клиентами) === */ systemCreateOauthClient( request: SystemCreateOauthClientRequest, metadata?: Metadata, ): Observable; systemGetOauthClients( request: SystemGetOauthClientsRequest, metadata?: Metadata, ): Observable; systemUpdateOauthClient( request: SystemUpdateOauthClientRequest, metadata?: Metadata, ): Observable; systemResetOauthSecret( request: SystemResetOauthSecretRequest, metadata?: Metadata, ): Observable; systemDeleteOauthClient( request: SystemDeleteOauthClientRequest, metadata?: Metadata, ): Observable; } export interface OauthServiceController { /** === Базовый SSO (вызывается из Gateway / Графаны) === */ generateOauthCode( request: GenerateOauthCodeRequest, metadata?: Metadata, ): Promise | Observable | GenerateOauthCodeResponse; exchangeOauthCode( request: ExchangeOauthCodeRequest, metadata?: Metadata, ): Promise | Observable | ExchangeOauthCodeResponse; /** === Системные методы для Админки (Управление клиентами) === */ systemCreateOauthClient( request: SystemCreateOauthClientRequest, metadata?: Metadata, ): | Promise | Observable | SystemCreateOauthClientResponse; systemGetOauthClients( request: SystemGetOauthClientsRequest, metadata?: Metadata, ): Promise | Observable | SystemGetOauthClientsResponse; systemUpdateOauthClient( request: SystemUpdateOauthClientRequest, metadata?: Metadata, ): | Promise | Observable | SystemUpdateOauthClientResponse; systemResetOauthSecret( request: SystemResetOauthSecretRequest, metadata?: Metadata, ): | Promise | Observable | SystemResetOauthSecretResponse; systemDeleteOauthClient( request: SystemDeleteOauthClientRequest, metadata?: Metadata, ): | Promise | Observable | SystemDeleteOauthClientResponse; } export function OauthServiceControllerMethods() { return function (constructor: Function) { const grpcMethods: string[] = [ "generateOauthCode", "exchangeOauthCode", "systemCreateOauthClient", "systemGetOauthClients", "systemUpdateOauthClient", "systemResetOauthSecret", "systemDeleteOauthClient", ]; for (const method of grpcMethods) { const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method); GrpcMethod("OauthService", method)(constructor.prototype[method], method, descriptor); } const grpcStreamMethods: string[] = []; for (const method of grpcStreamMethods) { const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method); GrpcStreamMethod("OauthService", method)(constructor.prototype[method], method, descriptor); } }; } export const OAUTH_SERVICE_NAME = "OauthService";