breeze-sequelize
Version:
Breeze Sequelize server implementation
25 lines (24 loc) • 1.08 kB
TypeScript
import { MetadataStore } from "breeze-client";
import { ModelCtor, Sequelize } from "sequelize";
/** Map name to Sequelize Model type */
export interface NameModelMap {
[modelName: string]: ModelCtor<any>;
}
/** Maps Breeze metadata to Sequelize Models */
export declare class MetadataMapper {
readonly sequelize: Sequelize;
readonly metadataStore: MetadataStore;
/** Maps entity type name to Sequelize Model */
entityTypeSqModelMap: NameModelMap;
/** Maps resource name to Sequelize Model */
resourceNameSqModelMap: NameModelMap;
constructor(breezeMetadata: MetadataStore | string | Object, sequelize: Sequelize);
/** creates entityTypeSqModelMap and resourceNameSqModelMap */
private _createMaps;
/** Adds relationships to the Models based on Breeze NavigationProperties */
private createNavProps;
/** Creates a set of Sequelize attributes based on DataProperties */
private mapToSqModelConfig;
/** Creates Sequelize column attributes based on a DataProperty */
private mapToSqPropConfig;
}