Template base para proyectos SaaS multi-tenant. Estructura inicial: - apps/backend (NestJS API) - apps/frontend (React/Vite) - apps/database (PostgreSQL DDL) - docs/ (Documentación) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
37 lines
1.3 KiB
TypeScript
37 lines
1.3 KiB
TypeScript
import { ModuleMetadata, Provider, Type } from '@nestjs/common';
|
|
import * as jwt from 'jsonwebtoken';
|
|
export declare enum JwtSecretRequestType {
|
|
SIGN = 0,
|
|
VERIFY = 1
|
|
}
|
|
export interface JwtModuleOptions {
|
|
global?: boolean;
|
|
signOptions?: jwt.SignOptions;
|
|
secret?: jwt.Secret;
|
|
publicKey?: jwt.Secret;
|
|
privateKey?: jwt.Secret;
|
|
secretOrPrivateKey?: jwt.Secret;
|
|
secretOrKeyProvider?: (requestType: JwtSecretRequestType, tokenOrPayload: string | object | Buffer, options?: jwt.VerifyOptions | jwt.SignOptions) => jwt.Secret | Promise<jwt.Secret>;
|
|
verifyOptions?: jwt.VerifyOptions;
|
|
}
|
|
export interface JwtOptionsFactory {
|
|
createJwtOptions(): Promise<JwtModuleOptions> | JwtModuleOptions;
|
|
}
|
|
export interface JwtModuleAsyncOptions extends Pick<ModuleMetadata, 'imports'> {
|
|
global?: boolean;
|
|
useExisting?: Type<JwtOptionsFactory>;
|
|
useClass?: Type<JwtOptionsFactory>;
|
|
useFactory?: (...args: any[]) => Promise<JwtModuleOptions> | JwtModuleOptions;
|
|
inject?: any[];
|
|
extraProviders?: Provider[];
|
|
}
|
|
export interface JwtSignOptions extends jwt.SignOptions {
|
|
secret?: string | Buffer;
|
|
privateKey?: jwt.Secret;
|
|
}
|
|
export interface JwtVerifyOptions extends jwt.VerifyOptions {
|
|
secret?: string | Buffer;
|
|
publicKey?: string | Buffer;
|
|
}
|
|
export type GetSecretKeyResult = string | Buffer | jwt.Secret;
|