nestjs-appwrite
Version:
Easier Appwrite integration for your NestJS application.
44 lines (43 loc) • 1.33 kB
TypeScript
import { SchemaOptions } from '../decorator/schema.decorator';
import { Type } from '@nestjs/common';
type PropertyOptions<T = any> = {
required: boolean;
type: Type;
default?: T;
isArray?: boolean;
size?: number;
encrypt?: boolean;
isEmail?: boolean;
enum?: Record<string, any>;
isInt?: boolean;
min?: number;
max?: number;
};
type Property = {
target: Function;
propertyKey: string;
options: PropertyOptions;
};
type IndexOptions = {
type: 'key' | 'fulltext' | 'unique';
orders: ('ASC' | 'DESC')[];
attributes: string[];
};
type Index = {
target: Function;
propertyKey: string;
options: IndexOptions;
};
declare class TypeMetadataStorage {
private readonly schemas;
private readonly properties;
private readonly indexes;
addSchemaMetadata: (target: Function, options: SchemaOptions) => void;
getSchemaMetadata: (target: Function) => SchemaOptions;
addPropertyMetadata: (target: Function, propertyKey: string, options: PropertyOptions) => void;
getClassProperties: (target: Function) => Property[];
addIndexMetadata: (target: Function, propertyKey: string, options: IndexOptions) => void;
getClassIndexes: (target: Function) => Index[];
}
declare const _default: TypeMetadataStorage;
export default _default;