chore: joiner config entity property (#9084)

This commit is contained in:
Carlos R. L. Rodrigues
2024-09-11 06:25:25 -03:00
committed by GitHub
parent 28dc8d4d17
commit fdd0543011
80 changed files with 464 additions and 294 deletions

View File

@@ -206,6 +206,7 @@ export class RemoteJoiner {
for (const name of alias.name) {
service_.alias.push({
name,
entity: alias.entity,
args: alias.args,
})
}
@@ -234,16 +235,13 @@ export class RemoteJoiner {
service_.relationships?.set(alias.name as string, {
alias: alias.name as string,
entity: alias.entity,
foreignKey: alias.name + "_id",
primaryKey: "id",
serviceName: service_.serviceName!,
args,
})
this.cacheServiceConfig(
serviceConfigs,
undefined,
alias.name as string
)
this.cacheServiceConfig(serviceConfigs, undefined, alias)
}
this.cacheServiceConfig(serviceConfigs, service_.serviceName)
@@ -313,21 +311,23 @@ export class RemoteJoiner {
private cacheServiceConfig(
serviceConfigs,
serviceName?: string,
serviceAlias?: string
serviceAlias?: JoinerServiceConfigAlias
): void {
if (serviceAlias) {
const name = `alias_${serviceAlias}`
const name = `alias_${serviceAlias.name}`
if (!this.serviceConfigCache.has(name)) {
let aliasConfig: JoinerServiceConfigAlias | undefined
const config = serviceConfigs.find((conf) => {
const aliases = conf.alias as JoinerServiceConfigAlias[]
const hasArgs = aliases?.find((alias) => alias.name === serviceAlias)
const hasArgs = aliases?.find(
(alias) => alias.name === serviceAlias.name
)
aliasConfig = hasArgs
return hasArgs
})
if (config) {
const serviceConfig = { ...config }
const serviceConfig = { ...config, entity: serviceAlias.entity }
if (aliasConfig) {
serviceConfig.args = { ...config?.args, ...aliasConfig?.args }
}
@@ -450,7 +450,7 @@ export class RemoteJoiner {
if (notFound.size > 0) {
const entityName =
expand.serviceConfig.args?.entity ??
expand.serviceConfig.entity ??
expand.serviceConfig.args?.methodSuffix ??
expand.serviceConfig.serviceName