UNPKG

28.6 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../../src/query-builder/RelationIdLoader.ts"],"names":[],"mappings":"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","file":"RelationIdLoader.js","sourcesContent":["import {Connection, ObjectLiteral} from \"../\";\nimport {RelationMetadata} from \"../metadata/RelationMetadata\";\nimport {ColumnMetadata} from \"../metadata/ColumnMetadata\";\n\n/**\n * Loads relation ids for the given entities.\n */\nexport class RelationIdLoader {\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(private connection: Connection) {\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Loads relation ids of the given entity or entities.\n */\n async load(target: Function|string, relation: string, entities: ObjectLiteral|ObjectLiteral[], relatedEntities?: ObjectLiteral|ObjectLiteral[]): Promise<any[]>;\n\n /**\n * Loads relation ids of the given entity or entities.\n */\n async load(relation: RelationMetadata, entities: ObjectLiteral|ObjectLiteral[], relatedEntities?: ObjectLiteral|ObjectLiteral[]): Promise<any[]>;\n\n /**\n * Loads relation ids of the given entity or entities.\n */\n async load(relationOrTarget: RelationMetadata|Function|string, relationNameOrEntities: string|ObjectLiteral|ObjectLiteral[], entitiesOrRelatedEntities?: ObjectLiteral|ObjectLiteral[], maybeRelatedEntities?: ObjectLiteral|ObjectLiteral[]): Promise<any[]> {\n\n // normalize arguments\n let relation: RelationMetadata|undefined, entities: ObjectLiteral[], relatedEntities: ObjectLiteral[]|undefined;\n if (relationOrTarget instanceof RelationMetadata) {\n relation = relationOrTarget;\n entities = relationNameOrEntities instanceof Array ? relationNameOrEntities as ObjectLiteral[] : [relationNameOrEntities as ObjectLiteral];\n relatedEntities = entitiesOrRelatedEntities instanceof Array ? entitiesOrRelatedEntities as ObjectLiteral[] : (entitiesOrRelatedEntities ? [entitiesOrRelatedEntities as ObjectLiteral] : undefined);\n\n } else {\n const entityMetadata = this.connection.getMetadata(relationOrTarget);\n relation = entityMetadata.findRelationWithPropertyPath(relationNameOrEntities as string);\n if (!relation)\n throw new Error(`Relation \"${relation}\" was not found in \"${entityMetadata.name}\".`);\n\n entities = entitiesOrRelatedEntities instanceof Array ? entitiesOrRelatedEntities as ObjectLiteral[] : [entitiesOrRelatedEntities as ObjectLiteral];\n relatedEntities = maybeRelatedEntities instanceof Array ? maybeRelatedEntities as ObjectLiteral[] : (maybeRelatedEntities ? [maybeRelatedEntities as ObjectLiteral] : undefined);\n }\n\n // load relation ids depend of relation type\n if (relation.isManyToMany) {\n return this.loadForManyToMany(relation, entities, relatedEntities);\n\n } else if (relation.isManyToOne || relation.isOneToOneOwner) {\n return this.loadForManyToOneAndOneToOneOwner(relation, entities, relatedEntities);\n\n } else { // if (relation.isOneToMany || relation.isOneToOneNotOwner) {\n return this.loadForOneToManyAndOneToOneNotOwner(relation, entities, relatedEntities);\n }\n }\n\n /**\n * Loads relation ids of the given entities and groups them into the object with parent and children.\n *\n * todo: extract this method?\n */\n async loadManyToManyRelationIdsAndGroup<E1, E2>(\n relation: RelationMetadata,\n entitiesOrEntities: E1|E1[],\n relatedEntityOrEntities?: E2|E2[]\n ): Promise<{ entity: E1, related?: E2|E2[] }[]> {\n\n // console.log(\"relation:\", relation.propertyName);\n // console.log(\"entitiesOrEntities\", entitiesOrEntities);\n const isMany = relation.isManyToMany || relation.isOneToMany;\n const entities: E1[] = entitiesOrEntities instanceof Array ? entitiesOrEntities : [entitiesOrEntities];\n\n if (!relatedEntityOrEntities) {\n relatedEntityOrEntities = await this.connection.relationLoader.load(relation, entitiesOrEntities);\n if (!relatedEntityOrEntities.length)\n return entities.map(entity => ({ entity: entity, related: isMany ? [] : undefined }));\n }\n // const relationIds = await this.load(relation, relatedEntityOrEntities!, entitiesOrEntities);\n const relationIds = await this.load(relation, entitiesOrEntities, relatedEntityOrEntities);\n // console.log(\"relationIds\", relationIds);\n\n const relatedEntities: E2[] = relatedEntityOrEntities instanceof Array ? relatedEntityOrEntities : [relatedEntityOrEntities!];\n\n let columns: ColumnMetadata[], inverseColumns: ColumnMetadata[];\n if (relation.isManyToManyOwner) {\n columns = relation.junctionEntityMetadata!.inverseColumns.map(column => column.referencedColumn!);\n inverseColumns = relation.junctionEntityMetadata!.ownerColumns.map(column => column.referencedColumn!);\n\n } else if (relation.isManyToManyNotOwner) {\n columns = relation.junctionEntityMetadata!.ownerColumns.map(column => column.referencedColumn!);\n inverseColumns = relation.junctionEntityMetadata!.inverseColumns.map(column => column.referencedColumn!);\n\n } else if (relation.isManyToOne || relation.isOneToOneOwner) {\n columns = relation.joinColumns.map(column => column.referencedColumn!);\n inverseColumns = relation.entityMetadata.primaryColumns;\n\n } else if (relation.isOneToMany || relation.isOneToOneNotOwner) {\n columns = relation.inverseRelation!.entityMetadata.primaryColumns;\n inverseColumns = relation.inverseRelation!.joinColumns.map(column => column.referencedColumn!);\n\n } else {\n\n }\n\n return entities.map(entity => {\n const group: { entity: E1, related?: E2|E2[] } = { entity: entity, related: isMany ? [] : undefined };\n relationIds.forEach(relationId => {\n const entityMatched = inverseColumns.every(column => {\n return column.getEntityValue(entity) === relationId[column.entityMetadata.name + \"_\" + column.propertyPath.replace(\".\", \"_\")];\n });\n if (entityMatched) {\n relatedEntities.forEach(relatedEntity => {\n const relatedEntityMatched = columns.every(column => {\n return column.getEntityValue(relatedEntity) === relationId[column.entityMetadata.name + \"_\" + relation.propertyPath.replace(\".\", \"_\") + \"_\" + column.propertyPath.replace(\".\", \"_\")];\n });\n if (relatedEntityMatched) {\n if (isMany) {\n (group.related as E2[]).push(relatedEntity);\n } else {\n group.related = relatedEntity;\n }\n }\n });\n }\n });\n return group;\n });\n }\n\n /**\n * Loads relation ids of the given entities and maps them into the given entity property.\n\n async loadManyToManyRelationIdsAndMap(\n relation: RelationMetadata,\n entityOrEntities: ObjectLiteral|ObjectLiteral[],\n mapToEntityOrEntities: ObjectLiteral|ObjectLiteral[],\n propertyName: string\n ): Promise<void> {\n\n const relationIds = await this.loadManyToManyRelationIds(relation, entityOrEntities, mapToEntityOrEntities);\n const mapToEntities = mapToEntityOrEntities instanceof Array ? mapToEntityOrEntities : [mapToEntityOrEntities];\n const junctionMetadata = relation.junctionEntityMetadata!;\n const mainAlias = junctionMetadata.name;\n const columns = relation.isOwning ? junctionMetadata.inverseColumns : junctionMetadata.ownerColumns;\n const inverseColumns = relation.isOwning ? junctionMetadata.ownerColumns : junctionMetadata.inverseColumns;\n\n mapToEntities.forEach(mapToEntity => {\n mapToEntity[propertyName] = [];\n relationIds.forEach(relationId => {\n const match = inverseColumns.every(column => {\n return column.referencedColumn!.getEntityValue(mapToEntity) === relationId[mainAlias + \"_\" + column.propertyName];\n });\n if (match) {\n if (columns.length === 1) {\n mapToEntity[propertyName].push(relationId[mainAlias + \"_\" + columns[0].propertyName]);\n\n } else {\n const value = {};\n columns.forEach(column => {\n column.referencedColumn!.setEntityValue(value, relationId[mainAlias + \"_\" + column.propertyName]);\n });\n mapToEntity[propertyName].push(value);\n }\n }\n });\n });\n }*/\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Loads relation ids for the many-to-many relation.\n */\n protected loadForManyToMany(relation: RelationMetadata, entities: ObjectLiteral[], relatedEntities?: ObjectLiteral[]) {\n\n const junctionMetadata = relation.junctionEntityMetadata!;\n const mainAlias = junctionMetadata.name;\n const columns = relation.isOwning ? junctionMetadata.ownerColumns : junctionMetadata.inverseColumns;\n const inverseColumns = relation.isOwning ? junctionMetadata.inverseColumns : junctionMetadata.ownerColumns;\n const qb = this.connection.createQueryBuilder();\n\n // select all columns from junction table\n junctionMetadata.ownerColumns.forEach(column => {\n const columnName = column.referencedColumn!.entityMetadata.name + \"_\" + column.referencedColumn!.propertyPath.replace(\".\", \"_\");\n qb.addSelect(mainAlias + \".\" + column.propertyPath, columnName);\n });\n junctionMetadata.inverseColumns.forEach(column => {\n const columnName = column.referencedColumn!.entityMetadata.name + \"_\" + relation.propertyPath.replace(\".\", \"_\") + \"_\" + column.referencedColumn!.propertyPath.replace(\".\", \"_\");\n qb.addSelect(mainAlias + \".\" + column.propertyPath, columnName);\n });\n\n // add conditions for the given entities\n let condition1 = \"\";\n if (columns.length === 1) {\n qb.setParameter(\"values1\", entities.map(entity => columns[0].referencedColumn!.getEntityValue(entity)));\n condition1 = mainAlias + \".\" + columns[0].propertyPath + \" IN (:...values1)\"; // todo: use ANY for postgres\n\n } else {\n condition1 = \"(\" + entities.map((entity, entityIndex) => {\n return columns.map(column => {\n const paramName = \"entity1_\" + entityIndex + \"_\" + column.propertyName;\n qb.setParameter(paramName, column.referencedColumn!.getEntityValue(entity));\n return mainAlias + \".\" + column.propertyPath + \" = :\" + paramName;\n }).join(\" AND \");\n }).map(condition => \"(\" + condition + \")\").join(\" OR \") + \")\";\n }\n\n // add conditions for the given inverse entities\n let condition2 = \"\";\n if (relatedEntities) {\n if (inverseColumns.length === 1) {\n qb.setParameter(\"values2\", relatedEntities.map(entity => inverseColumns[0].referencedColumn!.getEntityValue(entity)));\n condition2 = mainAlias + \".\" + inverseColumns[0].propertyPath + \" IN (:...values2)\"; // todo: use ANY for postgres\n\n } else {\n condition2 = \"(\" + relatedEntities.map((entity, entityIndex) => {\n return inverseColumns.map(column => {\n const paramName = \"entity2_\" + entityIndex + \"_\" + column.propertyName;\n qb.setParameter(paramName, column.referencedColumn!.getEntityValue(entity));\n return mainAlias + \".\" + column.propertyPath + \" = :\" + paramName;\n }).join(\" AND \");\n }).map(condition => \"(\" + condition + \")\").join(\" OR \") + \")\";\n }\n }\n\n // execute query\n return qb\n .from(junctionMetadata.target, mainAlias)\n .where(condition1 + (condition2 ? \" AND \" + condition2 : \"\"))\n .getRawMany();\n }\n\n /**\n * Loads relation ids for the many-to-one and one-to-one owner relations.\n */\n protected loadForManyToOneAndOneToOneOwner(relation: RelationMetadata, entities: ObjectLiteral[], relatedEntities?: ObjectLiteral[]) {\n const mainAlias = relation.entityMetadata.targetName;\n\n // select all columns we need\n const qb = this.connection.createQueryBuilder();\n relation.entityMetadata.primaryColumns.forEach(primaryColumn => {\n const columnName = primaryColumn.entityMetadata.name + \"_\" + primaryColumn.propertyPath.replace(\".\", \"_\");\n qb.addSelect(mainAlias + \".\" + primaryColumn.propertyPath, columnName);\n });\n relation.joinColumns.forEach(column => {\n const columnName = column.referencedColumn!.entityMetadata.name + \"_\" + relation.propertyPath.replace(\".\", \"_\") + \"_\" + column.referencedColumn!.propertyPath.replace(\".\", \"_\");\n qb.addSelect(mainAlias + \".\" + column.propertyPath, columnName);\n });\n\n // add condition for entities\n let condition: string = \"\";\n if (relation.entityMetadata.primaryColumns.length === 1) {\n qb.setParameter(\"values\", entities.map(entity => relation.entityMetadata.primaryColumns[0].getEntityValue(entity)));\n condition = mainAlias + \".\" + relation.entityMetadata.primaryColumns[0].propertyPath + \" IN (:...values)\";\n\n } else {\n condition = entities.map((entity, entityIndex) => {\n return relation.entityMetadata.primaryColumns.map((column, columnIndex) => {\n const paramName = \"entity\" + entityIndex + \"_\" + columnIndex;\n qb.setParameter(paramName, column.getEntityValue(entity));\n return mainAlias + \".\" + column.propertyPath + \" = :\" + paramName;\n }).join(\" AND \");\n }).map(condition => \"(\" + condition + \")\").join(\" OR \");\n }\n\n // execute query\n return qb.from(relation.entityMetadata.target, mainAlias)\n .where(condition)\n .getRawMany();\n }\n\n /**\n * Loads relation ids for the one-to-many and one-to-one not owner relations.\n */\n protected loadForOneToManyAndOneToOneNotOwner(relation: RelationMetadata, entities: ObjectLiteral[], relatedEntities?: ObjectLiteral[]) {\n relation = relation.inverseRelation!;\n const mainAlias = relation.entityMetadata.targetName;\n\n // select all columns we need\n const qb = this.connection.createQueryBuilder();\n relation.entityMetadata.primaryColumns.forEach(primaryColumn => {\n const columnName = primaryColumn.entityMetadata.name + \"_\" + relation.inverseRelation!.propertyPath.replace(\".\", \"_\") + \"_\" + primaryColumn.propertyPath.replace(\".\", \"_\");\n qb.addSelect(mainAlias + \".\" + primaryColumn.propertyPath, columnName);\n });\n relation.joinColumns.forEach(column => {\n const columnName = column.referencedColumn!.entityMetadata.name + \"_\" + column.referencedColumn!.propertyPath.replace(\".\", \"_\");\n qb.addSelect(mainAlias + \".\" + column.propertyPath, columnName);\n });\n\n // add condition for entities\n let condition: string = \"\";\n if (relation.joinColumns.length === 1) {\n qb.setParameter(\"values\", entities.map(entity => relation.joinColumns[0].referencedColumn!.getEntityValue(entity)));\n condition = mainAlias + \".\" + relation.joinColumns[0].propertyPath + \" IN (:...values)\";\n\n } else {\n condition = entities.map((entity, entityIndex) => {\n return relation.joinColumns.map((joinColumn, joinColumnIndex) => {\n const paramName = \"entity\" + entityIndex + \"_\" + joinColumnIndex;\n qb.setParameter(paramName, joinColumn.referencedColumn!.getEntityValue(entity));\n return mainAlias + \".\" + joinColumn.propertyPath + \" = :\" + paramName;\n }).join(\" AND \");\n }).map(condition => \"(\" + condition + \")\").join(\" OR \");\n }\n\n // execute query\n return qb.from(relation.entityMetadata.target, mainAlias)\n .where(condition)\n .getRawMany();\n }\n\n}"],"sourceRoot":".."}
\No newline at end of file