ottoman
Version:
Ottoman Couchbase ODM
32 lines (31 loc) • 849 B
TypeScript
import { Schema } from '../../schema';
import { ModelMetadata } from './model-metadata.interface';
import { Ottoman } from '../../ottoman/ottoman';
export interface ModelOptions {
collectionName?: string;
scopeName?: string;
idKey?: string;
modelKey?: string;
maxExpiry?: number;
keyGenerator?: (params: {
metadata: ModelMetadata;
}) => string;
keyGeneratorDelimiter?: string;
}
export interface CreateModelOptions {
collectionName: string;
scopeName: string;
idKey: string;
modelKey: string;
maxExpiry?: number;
keyGenerator?: (params: {
metadata: ModelMetadata;
}) => string;
keyGeneratorDelimiter?: string;
}
export interface CreateModel {
name: string;
schemaDraft: Schema | Record<string, unknown>;
options: CreateModelOptions;
ottoman: Ottoman;
}