UNPKG

@nestdevx/database

Version:

Database module designed to work with mongodb for multi-tenant NestJS applications.

61 lines (60 loc) 1.24 kB
import { Request } from 'express'; export type TokenSet = { accessToken: string; refreshToken: string; accessTokenExpiryAt: Date; refreshTokenExpiryAt: Date; type: 'bearer'; }; export type TokenPayload = { sub: string; email: string; tenantId?: string; roles: IRole[]; }; export interface ICurrentUser { sub: string; email: string; roles: Array<{ id: string; name: string; permissions: Array<string>; }>; tenantId?: string; } export interface ICurrentTenant { id?: string; hostName?: string; dbUri?: string; isActive: boolean; name: string; } export interface IRequest extends Request { tenant?: ICurrentTenant; user?: ICurrentUser; } export interface IMultiTenant { tenantId?: string; } export interface IVerifyRefreshToken { valid: boolean; payload?: { sub: string; }; } export interface IWelcomeEmailPayload { email: string; fullName: string; tenantId?: string; sub: string; verificationLink: string; } export interface IRole { id: string; name: string; description?: string; createdAt?: string; updatedAt?: string; tenantId?: string; permissions: string[]; }