UNPKG

12.1 kBSource Map (JSON)View Raw
1{"version":3,"sources":["sequelizeimp/schema.ts"],"names":[],"mappings":"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","file":"sequelizeimp/schema.js","sourcesContent":["/// <reference path=\"../core/dynamic/dynamic-repository.ts\" />\nimport {DynamicSchema} from './dynamic-schema';\nimport {repositoryMap} from '../core/exports';\nimport * as Utils from '../core/utils';\nimport {MetaUtils} from '../core/metadata/utils';\nimport {Decorators as CoreDecorators} from '../core/constants';\nimport {Decorators} from './constants';\nimport {IEntityParams} from './decorators/interfaces/entity-params';\nimport {IRepositoryParams} from '../core/decorators/interfaces/repository-params';\nimport {pathRepoMap, updateModelEntity, getModel, repoFromModel} from '../core/dynamic/model-entity';\nimport Mongoose = require('mongoose');\nimport * as Enumerable from 'linq';\nimport {sequelizeService} from './sequelizeService';\nimport {GetRepositoryForName} from '../core/dynamic/dynamic-repository';\n\nexport function generateSchema() {\n if (Utils.config().SqlConfig.isSqlEnabled == false)\n return;\n\n // register entity service\n Utils.entityService(Decorators.ENTITY, sequelizeService);\n var entities = MetaUtils.getMetaDataForDecorators([CoreDecorators.ENTITY]);\n var allDynamicSchemas: Array<DynamicSchema> = new Array<DynamicSchema>();\n entities.forEach(x => {\n let entityMeta = x.metadata[0];\n let schemaName = (<IEntityParams>entityMeta.params).tableName;\n let schema = new DynamicSchema(entityMeta.target, schemaName, <IEntityParams>entityMeta.params);\n allDynamicSchemas.push(schema);\n let entitySchema = schema.getSchema();\n //let model = Mongoose.model(schemaName, <any>mongooseSchema);\n updateModelEntity(schemaName, entityMeta.target, entitySchema, schema);\n });\n\n allDynamicSchemas.forEach(schema => {\n schema.getRelations()[CoreDecorators.ONETOMANY].forEach(oneToManyRelation => {\n if(!oneToManyRelation.itemType){\n oneToManyRelation.itemType = getModel(oneToManyRelation.rel);\n }\n let sourceDynamicSchema = schema;\n let targetDynamicSchema = Enumerable.from(allDynamicSchemas)\n .where(dynamicSchema => dynamicSchema.schemaName == oneToManyRelation.rel).first();\n if(oneToManyRelation.properties){\n if(oneToManyRelation.properties.indexOf(targetDynamicSchema.getSchema().primaryKeyAttribute)<0){\n oneToManyRelation.properties.push(targetDynamicSchema.getSchema().primaryKeyAttribute);\n }\n }\n sequelizeService.addRelationInSchema(sourceDynamicSchema.getSchema(), targetDynamicSchema.getSchema(), CoreDecorators.ONETOMANY, oneToManyRelation);\n });\n })\n\n allDynamicSchemas.forEach(schema => {\n schema.getRelations()[CoreDecorators.MANYTOONE].forEach(manyToOne => {\n let sourceDynamicSchema = schema;\n if(!manyToOne.itemType){\n manyToOne.itemType = getModel(manyToOne.rel);\n }\n let targetDynamicSchema:any = Enumerable.from(allDynamicSchemas)\n .where(dynamicSchema => dynamicSchema.schemaName == manyToOne.rel).first();\n if(manyToOne.properties){\n if(manyToOne.properties.indexOf(targetDynamicSchema.getSchema().primaryKeyAttribute)<0){\n manyToOne.properties.push(targetDynamicSchema.getSchema().primaryKeyAttribute);\n }\n }\n sequelizeService.addRelationInSchema(sourceDynamicSchema.getSchema(), targetDynamicSchema.getSchema(), CoreDecorators.MANYTOONE, manyToOne);\n\n });\n })\n\n allDynamicSchemas.forEach(schema => {\n schema.getRelations()[CoreDecorators.ONETOONE].forEach(onetoone => {\n let sourceDynamicSchema = schema;\n if(!onetoone.itemType){\n onetoone.itemType = getModel(onetoone.rel);\n }\n let targetDynamicSchema:any = Enumerable.from(allDynamicSchemas)\n .where(dynamicSchema => dynamicSchema.schemaName == onetoone.rel).first();\n if(onetoone.properties){\n if(onetoone.properties.indexOf(targetDynamicSchema.getSchema().primaryKeyAttribute)<0){\n onetoone.properties.push(targetDynamicSchema.getSchema().primaryKeyAttribute);\n }\n }\n sequelizeService.addRelationInSchema(sourceDynamicSchema.getSchema(), targetDynamicSchema.getSchema(), CoreDecorators.ONETOONE, onetoone);\n\n });\n })\n\n\n var repositoryMetadata = MetaUtils.getMetaDataForDecorators([CoreDecorators.REPOSITORY]);\n repositoryMetadata.forEach(x => {\n if (!x.metadata || !x.metadata.length) {\n return;\n }\n let repositoryParams = <IRepositoryParams>x.metadata[0].params;\n let entity = (<IRepositoryParams>x.metadata[0].params).model;\n let meta = MetaUtils.getMetaData(entity, Decorators.ENTITY);\n if (meta && meta.length > 0) {\n let entityMeta = meta[0];\n if (entityMeta) {\n let schemaName = (<IEntityParams>entityMeta.params).tableName;\n pathRepoMap[repositoryParams.path] = { schemaName: schemaName, modelType: Decorators.ENTITY };\n //repoFromModel[entityMeta.params.name] = repositoryMap[repositoryParams.path];\n }\n }\n });\n sequelizeService.init();\n \n}\n // need to pass this via reference\n// var visitedNodes = new Map();\n\n// export function validateModels() {\n// var modelsMeta = metaUtils.getMetaDataForDecoratorInAllTargets(Decorators.DOCUMENT);\n// Enumerable.from(modelsMeta).forEach(x => {\n// var m: MetaData = x;\n// var res = this.hasLoop(m.target, new Array<MetaData>());\n// if (res) {\n// throw 'Cannot start server. Please correct the model ' + m.target.constructor.name;\n// }\n// });\n//}\n\n// private function hasLoop(target: Object, vis: Array<MetaData>): boolean {\n// var rel = metaUtils.getAllRelationsForTargetInternal(target);\n// Enumerable.from(rel).forEach(y => {\n// var r: MetaData = <MetaData>y;\n// var param: IAssociationParams = <IAssociationParams>r.params;\n// if (param.embedded || param.eagerLoading) {\n// var res = false;\n// if (this.visitedNodes.has(r)) {\n// // no need to go ahead, path from this node is already checked\n// res = false;\n// }\n// else if (vis.indexOf(r) > -1) {\n// // loop found\n// res = true;\n// }\n// else {\n// vis.push(r);\n// this.visitedNodes.set(r, true);\n// res = this.hasLoop(param.itemType, vis);\n// }\n\n// // if any loop \n// if (res)\n// return true;\n// }\n// });\n\n// return false;\n// }"],"sourceRoot":"/source/"}
\No newline at end of file