mongodb-dynamic-api
Version:
Auto generated CRUD API for MongoDB using NestJS
53 lines (52 loc) • 2.07 kB
TypeScript
/// <reference types="mongoose/types/aggregate" />
/// <reference types="mongoose/types/callback" />
/// <reference types="mongoose/types/collection" />
/// <reference types="mongoose/types/connection" />
/// <reference types="mongoose/types/cursor" />
/// <reference types="mongoose/types/document" />
/// <reference types="mongoose/types/error" />
/// <reference types="mongoose/types/expressions" />
/// <reference types="mongoose/types/helpers" />
/// <reference types="mongoose/types/middlewares" />
/// <reference types="mongoose/types/indexes" />
/// <reference types="mongoose/types/models" />
/// <reference types="mongoose/types/mongooseoptions" />
/// <reference types="mongoose/types/pipelinestage" />
/// <reference types="mongoose/types/populate" />
/// <reference types="mongoose/types/query" />
/// <reference types="mongoose/types/schemaoptions" />
/// <reference types="mongoose/types/schematypes" />
/// <reference types="mongoose/types/session" />
/// <reference types="mongoose/types/types" />
/// <reference types="mongoose/types/utility" />
/// <reference types="mongoose/types/validation" />
/// <reference types="mongoose/types/virtuals" />
/// <reference types="mongoose/types/inferschematype" />
import { GatewayMetadata } from '@nestjs/websockets';
import { Schema } from 'mongoose';
import { RouteType } from './dynamic-api-route-type.type';
type Credentials = {
loginField: string;
passwordField: string;
};
type EntitySchemas<T = any> = {
[name: string]: Schema<T>;
};
type RoutesConfig = {
excluded: RouteType[];
defaults: RouteType[];
};
interface DynamicApiGlobalState {
initialized: boolean;
uri: string;
connectionName: string;
isGlobalCacheEnabled: boolean;
cacheExcludedPaths: string[];
isAuthEnabled: boolean;
credentials: Credentials;
jwtSecret: string | undefined;
jwtExpirationTime: string | number | undefined;
routesConfig: RoutesConfig;
gatewayOptions: GatewayMetadata | undefined;
}
export { DynamicApiGlobalState, Credentials, EntitySchemas, RoutesConfig };