parse-server-schema-manager
Version:
Parse server schema manager
47 lines (46 loc) • 1.59 kB
TypeScript
import { ParseClassSchema, ParseFields } from '@Types/fields';
type Indexes = {
[key: string]: {
[key: string]: any;
};
};
type DiffFieldsOutput = {
change?: Record<string, Array<string>>;
add?: ParseFields;
remove?: ParseFields;
};
export declare const diffingFields: (obj1: ParseFields, obj2: ParseFields, schemaOptions: SchemaOutputOptions) => DiffFieldsOutput;
type ChangedIndexesMap = {
[key: string]: Record<string, Indexes>;
};
type AddOrRemoveIndexes = Record<string, Indexes>;
type DiffIndexesOutput = {
change?: ChangedIndexesMap;
add?: AddOrRemoveIndexes;
remove?: AddOrRemoveIndexes;
};
export declare const diffingIndexes: (obj1: Indexes, obj2: Indexes) => DiffIndexesOutput;
type CLP = {
[key: string]: {
[key: string]: any;
};
};
type DiffClPOutput = Record<string, CLP>;
export declare const diffingCLP: (obj1: CLP, obj2: CLP) => DiffClPOutput;
type SchemaParts = {
fields?: boolean;
indexes?: boolean;
classLevelPermissions?: boolean;
};
type SchemaOutputOptions = {
ignoreClasses?: Array<string>;
ignoreAttributes?: Array<string>;
};
export declare const getAllSchemas: (parts?: SchemaParts, outputOptions?: SchemaOutputOptions) => Promise<Array<ParseClassSchema>>;
type SchemaManagerActions = {
commit?: boolean;
remove?: boolean;
purge?: boolean;
};
export declare const manageSchema: (schema: Array<ParseClassSchema>, { commit, remove, purge }: SchemaManagerActions, actionParts?: SchemaParts, schemaOptions?: SchemaOutputOptions) => Promise<Record<string, any>>;
export {};