Convert metadata tables to camelCase (#2400)

* Convert metadata tables to camelCase

* datasourcemetadataid to datasourceid

* refactor metadata folders

* fix command

* move commands out of metadata

* fix seed

* rename objectId and fieldId in objectMetadataId and fieldMetadataId in FE

* fix field-metadata

* Fix

* Fix

* remove logs

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
This commit is contained in:
Weiko
2023-11-09 20:06:10 +01:00
committed by GitHub
parent 5622f42e7a
commit 1cf08c797f
238 changed files with 1851 additions and 2252 deletions

View File

@ -7,8 +7,8 @@ import {
import { SchemaBuilderContext } from 'src/tenant/schema-builder/interfaces/schema-builder-context.interface';
import { ResolverBuilderFactoryInterface } from 'src/tenant/resolver-builder/interfaces/resolver-builder-factory.interface';
import { DataSourceService } from 'src/metadata/data-source/data-source.service';
import { PGGraphQLQueryRunner } from 'src/tenant/resolver-builder/pg-graphql/pg-graphql-query-runner';
import { TenantDataSourceService } from 'src/tenant-datasource/tenant-datasource.service';
@Injectable()
export class CreateManyResolverFactory
@ -16,13 +16,15 @@ export class CreateManyResolverFactory
{
public static methodName = 'createMany' as const;
constructor(private readonly dataSourceService: DataSourceService) {}
constructor(
private readonly tenantDataSourceService: TenantDataSourceService,
) {}
create(context: SchemaBuilderContext): Resolver<CreateManyResolverArgs> {
const internalContext = context;
return (_source, args, context, info) => {
const runner = new PGGraphQLQueryRunner(this.dataSourceService, {
const runner = new PGGraphQLQueryRunner(this.tenantDataSourceService, {
targetTableName: internalContext.targetTableName,
workspaceId: internalContext.workspaceId,
info,

View File

@ -7,9 +7,9 @@ import {
import { SchemaBuilderContext } from 'src/tenant/schema-builder/interfaces/schema-builder-context.interface';
import { ResolverBuilderFactoryInterface } from 'src/tenant/resolver-builder/interfaces/resolver-builder-factory.interface';
import { DataSourceService } from 'src/metadata/data-source/data-source.service';
import { PGGraphQLQueryRunner } from 'src/tenant/resolver-builder/pg-graphql/pg-graphql-query-runner';
import { FieldMetadata } from 'src/metadata/field-metadata/field-metadata.entity';
import { FieldMetadataEntity } from 'src/database/typeorm/metadata/entities/field-metadata.entity';
import { TenantDataSourceService } from 'src/tenant-datasource/tenant-datasource.service';
@Injectable()
export class CreateOneResolverFactory
@ -17,18 +17,20 @@ export class CreateOneResolverFactory
{
public static methodName = 'createOne' as const;
constructor(private readonly dataSourceService: DataSourceService) {}
constructor(
private readonly tenantDataSourceService: TenantDataSourceService,
) {}
create(context: SchemaBuilderContext): Resolver<CreateOneResolverArgs> {
const internalContext = context;
return (_source, args, context, info) => {
const runner = new PGGraphQLQueryRunner(this.dataSourceService, {
const runner = new PGGraphQLQueryRunner(this.tenantDataSourceService, {
targetTableName: internalContext.targetTableName,
workspaceId: internalContext.workspaceId,
info,
fieldMetadataCollection:
internalContext.fieldMetadataCollection as FieldMetadata[],
internalContext.fieldMetadataCollection as FieldMetadataEntity[],
});
return runner.createOne(args);

View File

@ -7,9 +7,9 @@ import {
import { SchemaBuilderContext } from 'src/tenant/schema-builder/interfaces/schema-builder-context.interface';
import { ResolverBuilderFactoryInterface } from 'src/tenant/resolver-builder/interfaces/resolver-builder-factory.interface';
import { DataSourceService } from 'src/metadata/data-source/data-source.service';
import { PGGraphQLQueryRunner } from 'src/tenant/resolver-builder/pg-graphql/pg-graphql-query-runner';
import { FieldMetadata } from 'src/metadata/field-metadata/field-metadata.entity';
import { FieldMetadataEntity } from 'src/database/typeorm/metadata/entities/field-metadata.entity';
import { TenantDataSourceService } from 'src/tenant-datasource/tenant-datasource.service';
@Injectable()
export class DeleteOneResolverFactory
@ -17,18 +17,20 @@ export class DeleteOneResolverFactory
{
public static methodName = 'deleteOne' as const;
constructor(private readonly dataSourceService: DataSourceService) {}
constructor(
private readonly tenantDataSourceService: TenantDataSourceService,
) {}
create(context: SchemaBuilderContext): Resolver<DeleteOneResolverArgs> {
const internalContext = context;
return (_source, args, context, info) => {
const runner = new PGGraphQLQueryRunner(this.dataSourceService, {
const runner = new PGGraphQLQueryRunner(this.tenantDataSourceService, {
targetTableName: internalContext.targetTableName,
workspaceId: internalContext.workspaceId,
info,
fieldMetadataCollection:
internalContext.fieldMetadataCollection as FieldMetadata[],
internalContext.fieldMetadataCollection as FieldMetadataEntity[],
});
return runner.deleteOne(args);

View File

@ -7,8 +7,8 @@ import {
import { SchemaBuilderContext } from 'src/tenant/schema-builder/interfaces/schema-builder-context.interface';
import { ResolverBuilderFactoryInterface } from 'src/tenant/resolver-builder/interfaces/resolver-builder-factory.interface';
import { DataSourceService } from 'src/metadata/data-source/data-source.service';
import { PGGraphQLQueryRunner } from 'src/tenant/resolver-builder/pg-graphql/pg-graphql-query-runner';
import { TenantDataSourceService } from 'src/tenant-datasource/tenant-datasource.service';
@Injectable()
export class FindManyResolverFactory
@ -16,13 +16,15 @@ export class FindManyResolverFactory
{
public static methodName = 'findMany' as const;
constructor(private readonly dataSourceService: DataSourceService) {}
constructor(
private readonly tenantDataSourceService: TenantDataSourceService,
) {}
create(context: SchemaBuilderContext): Resolver<FindManyResolverArgs> {
const internalContext = context;
return (_source, args, context, info) => {
const runner = new PGGraphQLQueryRunner(this.dataSourceService, {
const runner = new PGGraphQLQueryRunner(this.tenantDataSourceService, {
targetTableName: internalContext.targetTableName,
workspaceId: internalContext.workspaceId,
info,

View File

@ -7,26 +7,28 @@ import {
import { SchemaBuilderContext } from 'src/tenant/schema-builder/interfaces/schema-builder-context.interface';
import { ResolverBuilderFactoryInterface } from 'src/tenant/resolver-builder/interfaces/resolver-builder-factory.interface';
import { DataSourceService } from 'src/metadata/data-source/data-source.service';
import { PGGraphQLQueryRunner } from 'src/tenant/resolver-builder/pg-graphql/pg-graphql-query-runner';
import { FieldMetadata } from 'src/metadata/field-metadata/field-metadata.entity';
import { FieldMetadataEntity } from 'src/database/typeorm/metadata/entities/field-metadata.entity';
import { TenantDataSourceService } from 'src/tenant-datasource/tenant-datasource.service';
@Injectable()
export class FindOneResolverFactory implements ResolverBuilderFactoryInterface {
public static methodName = 'findOne' as const;
constructor(private readonly dataSourceService: DataSourceService) {}
constructor(
private readonly tenantDataSourceService: TenantDataSourceService,
) {}
create(context: SchemaBuilderContext): Resolver<FindOneResolverArgs> {
const internalContext = context;
return (_source, args, context, info) => {
const runner = new PGGraphQLQueryRunner(this.dataSourceService, {
const runner = new PGGraphQLQueryRunner(this.tenantDataSourceService, {
targetTableName: internalContext.targetTableName,
workspaceId: internalContext.workspaceId,
info,
fieldMetadataCollection:
internalContext.fieldMetadataCollection as FieldMetadata[],
internalContext.fieldMetadataCollection as FieldMetadataEntity[],
});
return runner.findOne(args);

View File

@ -7,9 +7,9 @@ import {
import { SchemaBuilderContext } from 'src/tenant/schema-builder/interfaces/schema-builder-context.interface';
import { ResolverBuilderFactoryInterface } from 'src/tenant/resolver-builder/interfaces/resolver-builder-factory.interface';
import { DataSourceService } from 'src/metadata/data-source/data-source.service';
import { PGGraphQLQueryRunner } from 'src/tenant/resolver-builder/pg-graphql/pg-graphql-query-runner';
import { FieldMetadata } from 'src/metadata/field-metadata/field-metadata.entity';
import { FieldMetadataEntity } from 'src/database/typeorm/metadata/entities/field-metadata.entity';
import { TenantDataSourceService } from 'src/tenant-datasource/tenant-datasource.service';
@Injectable()
export class UpdateOneResolverFactory
@ -17,18 +17,20 @@ export class UpdateOneResolverFactory
{
public static methodName = 'updateOne' as const;
constructor(private readonly dataSourceService: DataSourceService) {}
constructor(
private readonly tenantDataSourceService: TenantDataSourceService,
) {}
create(context: SchemaBuilderContext): Resolver<UpdateOneResolverArgs> {
const internalContext = context;
return (_source, args, context, info) => {
const runner = new PGGraphQLQueryRunner(this.dataSourceService, {
const runner = new PGGraphQLQueryRunner(this.tenantDataSourceService, {
targetTableName: internalContext.targetTableName,
workspaceId: internalContext.workspaceId,
info,
fieldMetadataCollection:
internalContext.fieldMetadataCollection as FieldMetadata[],
internalContext.fieldMetadataCollection as FieldMetadataEntity[],
});
return runner.updateOne(args);

View File

@ -1,12 +1,12 @@
import { GraphQLResolveInfo } from 'graphql';
import { FieldMetadataTargetColumnMap } from 'src/metadata/field-metadata/interfaces/field-metadata-target-column-map.interface';
import { FieldMetadataTargetColumnMap } from 'src/tenant/schema-builder/interfaces/field-metadata-target-column-map.interface';
import { FieldMetadata } from 'src/metadata/field-metadata/field-metadata.entity';
import {
PGGraphQLQueryBuilder,
PGGraphQLQueryBuilderOptions,
} from 'src/tenant/resolver-builder/pg-graphql/pg-graphql-query-builder';
import { FieldMetadataEntity } from 'src/database/typeorm/metadata/entities/field-metadata.entity';
const testUUID = '123e4567-e89b-12d3-a456-426614174001';
@ -53,7 +53,7 @@ describe('PGGraphQLQueryBuilder', () => {
subField2: 'column_subField2',
} as FieldMetadataTargetColumnMap,
},
] as FieldMetadata[];
] as FieldMetadataEntity[];
mockOptions = {
targetTableName: 'TestTable',

View File

@ -22,8 +22,8 @@ import {
PGGraphQLResult,
} from 'src/tenant/resolver-builder/interfaces/pg-graphql.interface';
import { DataSourceService } from 'src/metadata/data-source/data-source.service';
import { parseResult } from 'src/tenant/resolver-builder/utils/parse-result.util';
import { TenantDataSourceService } from 'src/tenant-datasource/tenant-datasource.service';
import { PGGraphQLQueryBuilder } from './pg-graphql-query-builder';
@ -43,7 +43,7 @@ export class PGGraphQLQueryRunner<
private options: QueryRunnerOptions;
constructor(
private dataSourceService: DataSourceService,
private tenantDataSourceService: TenantDataSourceService,
options: QueryRunnerOptions,
) {
this.queryBuilder = new PGGraphQLQueryBuilder({
@ -59,10 +59,14 @@ export class PGGraphQLQueryRunner<
workspaceId: string,
): Promise<PGGraphQLResult | undefined> {
const workspaceDataSource =
await this.dataSourceService.connectToWorkspaceDataSource(workspaceId);
await this.tenantDataSourceService.connectToWorkspaceDataSource(
workspaceId,
);
await workspaceDataSource?.query(`
SET search_path TO ${this.dataSourceService.getSchemaName(workspaceId)};
SET search_path TO ${this.tenantDataSourceService.getSchemaName(
workspaceId,
)};
`);
return workspaceDataSource?.query<PGGraphQLResult>(`

View File

@ -1,13 +1,13 @@
import { Module } from '@nestjs/common';
import { DataSourceModule } from 'src/metadata/data-source/data-source.module';
import { TenantDataSourceModule } from 'src/tenant-datasource/tenant-datasource.module';
import { ResolverFactory } from './resolver.factory';
import { resolverBuilderFactories } from './factories/factories';
@Module({
imports: [DataSourceModule],
imports: [TenantDataSourceModule],
providers: [...resolverBuilderFactories, ResolverFactory],
exports: [ResolverFactory],
})

View File

@ -1,9 +1,9 @@
import { FieldMetadataTargetColumnMap } from 'src/metadata/field-metadata/interfaces/field-metadata-target-column-map.interface';
import { FieldMetadataTargetColumnMap } from 'src/tenant/schema-builder/interfaces/field-metadata-target-column-map.interface';
import {
FieldMetadata,
FieldMetadataEntity,
FieldMetadataType,
} from 'src/metadata/field-metadata/field-metadata.entity';
} from 'src/database/typeorm/metadata/entities/field-metadata.entity';
import { convertArguments } from 'src/tenant/resolver-builder/utils/convert-arguments.util';
describe('convertArguments', () => {
@ -33,7 +33,7 @@ describe('convertArguments', () => {
} as FieldMetadataTargetColumnMap,
type: FieldMetadataType.URL,
},
] as FieldMetadata[];
] as FieldMetadataEntity[];
});
test('should handle non-array arguments', () => {

View File

@ -1,7 +1,7 @@
import { FieldMetadataTargetColumnMap } from 'src/metadata/field-metadata/interfaces/field-metadata-target-column-map.interface';
import { FieldMetadataTargetColumnMap } from 'src/tenant/schema-builder/interfaces/field-metadata-target-column-map.interface';
import { FieldMetadata } from 'src/metadata/field-metadata/field-metadata.entity';
import { convertFieldsToGraphQL } from 'src/tenant/resolver-builder/utils/convert-fields-to-graphql.util';
import { FieldMetadataEntity } from 'src/database/typeorm/metadata/entities/field-metadata.entity';
const normalizeWhitespace = (str) => str.replace(/\s+/g, ' ').trim();
@ -23,7 +23,7 @@ describe('convertFieldsToGraphQL', () => {
text: 'column_RANDOMSTRING3',
} as FieldMetadataTargetColumnMap,
},
] as FieldMetadata[];
] as FieldMetadataEntity[];
});
test('should handle simple fields correctly', () => {
@ -75,7 +75,7 @@ describe('convertFieldsToGraphQL', () => {
const emptyField = {
name: 'emptyField',
targetColumnMap: {},
} as FieldMetadata;
} as FieldMetadataEntity;
fields.push(emptyField);

View File

@ -6,8 +6,8 @@ import { BuildSchemaOptions } from 'src/tenant/schema-builder/interfaces/build-s
import { ObjectMetadataInterface } from 'src/tenant/schema-builder/interfaces/object-metadata.interface';
import { pascalCase } from 'src/utils/pascal-case';
import { FieldMetadata } from 'src/metadata/field-metadata/field-metadata.entity';
import { TypeMapperService } from 'src/tenant/schema-builder/services/type-mapper.service';
import { FieldMetadataEntity } from 'src/database/typeorm/metadata/entities/field-metadata.entity';
import { FilterTypeFactory } from './filter-type.factory';
import {
@ -67,7 +67,7 @@ export class FilterTypeDefinitionFactory {
): GraphQLInputFieldConfigMap {
const fields: GraphQLInputFieldConfigMap = {};
objectMetadata.fields.forEach((fieldMetadata: FieldMetadata) => {
objectMetadata.fields.forEach((fieldMetadata: FieldMetadataEntity) => {
const type = this.filterTypeFactory.create(fieldMetadata, options, {
nullable: fieldMetadata.isNullable,
});

View File

@ -6,7 +6,7 @@ import { BuildSchemaOptions } from 'src/tenant/schema-builder/interfaces/build-s
import { ObjectMetadataInterface } from 'src/tenant/schema-builder/interfaces/object-metadata.interface';
import { pascalCase } from 'src/utils/pascal-case';
import { FieldMetadata } from 'src/metadata/field-metadata/field-metadata.entity';
import { FieldMetadataEntity } from 'src/database/typeorm/metadata/entities/field-metadata.entity';
import { InputTypeFactory } from './input-type.factory';
@ -52,7 +52,7 @@ export class InputTypeDefinitionFactory {
): GraphQLInputFieldConfigMap {
const fields: GraphQLInputFieldConfigMap = {};
objectMetadata.fields.forEach((fieldMetadata: FieldMetadata) => {
objectMetadata.fields.forEach((fieldMetadata: FieldMetadataEntity) => {
const type = this.inputTypeFactory.create(fieldMetadata, kind, options, {
nullable: fieldMetadata.isNullable,
});

View File

@ -5,8 +5,8 @@ import { GraphQLFieldConfigMap, GraphQLObjectType } from 'graphql';
import { BuildSchemaOptions } from 'src/tenant/schema-builder/interfaces/build-schema-optionts.interface';
import { ObjectMetadataInterface } from 'src/tenant/schema-builder/interfaces/object-metadata.interface';
import { FieldMetadata } from 'src/metadata/field-metadata/field-metadata.entity';
import { pascalCase } from 'src/utils/pascal-case';
import { FieldMetadataEntity } from 'src/database/typeorm/metadata/entities/field-metadata.entity';
import { OutputTypeFactory } from './output-type.factory';
@ -49,7 +49,7 @@ export class ObjectTypeDefinitionFactory {
): GraphQLFieldConfigMap<any, any> {
const fields: GraphQLFieldConfigMap<any, any> = {};
objectMetadata.fields.forEach((fieldMetadata: FieldMetadata) => {
objectMetadata.fields.forEach((fieldMetadata: FieldMetadataEntity) => {
const type = this.outputTypeFactory.create(fieldMetadata, kind, options, {
nullable: fieldMetadata.isNullable,
});

View File

@ -6,7 +6,7 @@ import { BuildSchemaOptions } from 'src/tenant/schema-builder/interfaces/build-s
import { ObjectMetadataInterface } from 'src/tenant/schema-builder/interfaces/object-metadata.interface';
import { pascalCase } from 'src/utils/pascal-case';
import { FieldMetadata } from 'src/metadata/field-metadata/field-metadata.entity';
import { FieldMetadataEntity } from 'src/database/typeorm/metadata/entities/field-metadata.entity';
import {
InputTypeDefinition,
@ -43,7 +43,7 @@ export class OrderByTypeDefinitionFactory {
): GraphQLInputFieldConfigMap {
const fields: GraphQLInputFieldConfigMap = {};
objectMetadata.fields.forEach((fieldMetadata: FieldMetadata) => {
objectMetadata.fields.forEach((fieldMetadata: FieldMetadataEntity) => {
const type = this.orderByTypeFactory.create(fieldMetadata, options, {
nullable: fieldMetadata.isNullable,
});

View File

@ -4,7 +4,7 @@ import { GraphQLSchema } from 'graphql';
import { ResolverBuilderMethods } from 'src/tenant/resolver-builder/interfaces/resolvers-builder.interface';
import { ObjectMetadataService } from 'src/metadata/object-metadata/services/object-metadata.service';
import { ObjectMetadataService } from 'src/metadata/object-metadata/object-metadata.service';
import { TypeDefinitionsGenerator } from './type-definitions.generator';

View File

@ -0,0 +1,35 @@
import { FieldMetadataType } from 'src/database/typeorm/metadata/entities/field-metadata.entity';
export interface FieldMetadataTargetColumnMapValue {
value: string;
}
export interface FieldMetadataTargetColumnMapUrl {
text: string;
link: string;
}
export interface FieldMetadataTargetColumnMapMoney {
amount: number;
currency: string;
}
type AllFieldMetadataTypes = {
[key: string]: any;
};
type FieldMetadataTypeMapping = {
[FieldMetadataType.URL]: FieldMetadataTargetColumnMapUrl;
[FieldMetadataType.MONEY]: FieldMetadataTargetColumnMapMoney;
};
type TypeByFieldMetadata<T extends FieldMetadataType | 'default'> =
T extends keyof FieldMetadataTypeMapping
? FieldMetadataTypeMapping[T]
: T extends 'default'
? AllFieldMetadataTypes
: FieldMetadataTargetColumnMapValue;
export type FieldMetadataTargetColumnMap<
T extends FieldMetadataType | 'default' = 'default',
> = TypeByFieldMetadata<T>;

View File

@ -1,6 +1,6 @@
import { FieldMetadataTargetColumnMap } from 'src/metadata/field-metadata/interfaces/field-metadata-target-column-map.interface';
import { FieldMetadataType } from 'src/database/typeorm/metadata/entities/field-metadata.entity';
import { FieldMetadataType } from 'src/metadata/field-metadata/field-metadata.entity';
import { FieldMetadataTargetColumnMap } from './field-metadata-target-column-map.interface';
export interface FieldMetadataInterface<
T extends FieldMetadataType | 'default' = 'default',

View File

@ -1,5 +1,5 @@
import { InputTypeDefinitionKind } from 'src/tenant/schema-builder/factories/input-type-definition.factory';
import { FieldMetadataType } from 'src/metadata/field-metadata/field-metadata.entity';
import { FieldMetadataType } from 'src/database/typeorm/metadata/entities/field-metadata.entity';
import { ObjectMetadataInterface } from './object-metadata.interface';

View File

@ -1,6 +1,6 @@
import { ObjectMetadataInterface } from 'src/tenant/schema-builder/interfaces/object-metadata.interface';
import { FieldMetadataType } from 'src/metadata/field-metadata/field-metadata.entity';
import { FieldMetadataType } from 'src/database/typeorm/metadata/entities/field-metadata.entity';
export const moneyObjectDefinition = {
id: FieldMetadataType.MONEY.toString(),

View File

@ -1,6 +1,6 @@
import { ObjectMetadataInterface } from 'src/tenant/schema-builder/interfaces/object-metadata.interface';
import { FieldMetadataType } from 'src/metadata/field-metadata/field-metadata.entity';
import { FieldMetadataType } from 'src/database/typeorm/metadata/entities/field-metadata.entity';
export const urlObjectDefinition = {
id: FieldMetadataType.URL.toString(),

View File

@ -21,7 +21,6 @@ import {
NumberScalarMode,
} from 'src/tenant/schema-builder/interfaces/build-schema-optionts.interface';
import { FieldMetadataType } from 'src/metadata/field-metadata/field-metadata.entity';
import {
UUIDFilterType,
StringFilterType,
@ -31,6 +30,7 @@ import {
IntFilterType,
} from 'src/tenant/schema-builder/graphql-types/input';
import { OrderByDirectionType } from 'src/tenant/schema-builder/graphql-types/enum';
import { FieldMetadataType } from 'src/database/typeorm/metadata/entities/field-metadata.entity';
export interface TypeOptions<T = any> {
nullable?: boolean;

View File

@ -2,7 +2,7 @@ import { Injectable } from '@nestjs/common';
import { GraphQLInputObjectType, GraphQLObjectType } from 'graphql';
import { FieldMetadataType } from 'src/metadata/field-metadata/field-metadata.entity';
import { FieldMetadataType } from 'src/database/typeorm/metadata/entities/field-metadata.entity';
import {
InputTypeDefinition,
InputTypeDefinitionKind,

View File

@ -1,7 +1,7 @@
import { Injectable, Logger } from '@nestjs/common';
import { FieldMetadata } from 'src/metadata/field-metadata/field-metadata.entity';
import { customTableDefaultColumns } from 'src/metadata/migration-runner/custom-table-default-column.util';
import { customTableDefaultColumns } from 'src/tenant-migration-runner/utils/custom-table-default-column.util';
import { FieldMetadataEntity } from 'src/database/typeorm/metadata/entities/field-metadata.entity';
import { TypeDefinitionsStorage } from './storages/type-definitions.storage';
import {
@ -29,7 +29,7 @@ const defaultFields = customTableDefaultColumns.map((column) => {
type: getFieldMetadataType(column.type),
name: column.name,
isNullable: true,
} as FieldMetadata;
} as FieldMetadataEntity;
});
@Injectable()

View File

@ -1,4 +1,4 @@
import { FieldMetadataType } from 'src/metadata/field-metadata/field-metadata.entity';
import { FieldMetadataType } from 'src/database/typeorm/metadata/entities/field-metadata.entity';
import { getFieldMetadataType } from 'src/tenant/schema-builder/utils/get-field-metadata-type.util';
describe('getFieldMetadataType', () => {

View File

@ -1,6 +1,6 @@
import { ResolverBuilderMethodNames } from 'src/tenant/resolver-builder/interfaces/resolvers-builder.interface';
import { FieldMetadataType } from 'src/metadata/field-metadata/field-metadata.entity';
import { FieldMetadataType } from 'src/database/typeorm/metadata/entities/field-metadata.entity';
import { InputTypeDefinitionKind } from 'src/tenant/schema-builder/factories/input-type-definition.factory';
import { getResolverArgs } from 'src/tenant/schema-builder/utils/get-resolver-args.util';

View File

@ -1,4 +1,4 @@
import { FieldMetadataType } from 'src/metadata/field-metadata/field-metadata.entity';
import { FieldMetadataType } from 'src/database/typeorm/metadata/entities/field-metadata.entity';
const typeOrmTypeMapping = new Map<string, FieldMetadataType>([
['uuid', FieldMetadataType.UUID],

View File

@ -1,8 +1,8 @@
import { ResolverBuilderMethodNames } from 'src/tenant/resolver-builder/interfaces/resolvers-builder.interface';
import { ArgMetadata } from 'src/tenant/schema-builder/interfaces/param-metadata.interface';
import { FieldMetadataType } from 'src/metadata/field-metadata/field-metadata.entity';
import { InputTypeDefinitionKind } from 'src/tenant/schema-builder/factories/input-type-definition.factory';
import { FieldMetadataType } from 'src/database/typeorm/metadata/entities/field-metadata.entity';
export const getResolverArgs = (
type: ResolverBuilderMethodNames,

View File

@ -1,7 +1,7 @@
import { Test, TestingModule } from '@nestjs/testing';
import { DataSourceMetadataService } from 'src/metadata/data-source-metadata/data-source-metadata.service';
import { ObjectMetadataService } from 'src/metadata/object-metadata/services/object-metadata.service';
import { ObjectMetadataService } from 'src/metadata/object-metadata/object-metadata.service';
import { TenantService } from './tenant.service';

View File

@ -6,7 +6,7 @@ import { makeExecutableSchema } from '@graphql-tools/schema';
import { gql } from 'graphql-tag';
import { DataSourceMetadataService } from 'src/metadata/data-source-metadata/data-source-metadata.service';
import { ObjectMetadataService } from 'src/metadata/object-metadata/services/object-metadata.service';
import { ObjectMetadataService } from 'src/metadata/object-metadata/object-metadata.service';
import { GraphQLSchemaFactory } from './schema-builder/graphql-schema.factory';
import { resolverBuilderMethodNames } from './resolver-builder/factories/factories';
@ -31,7 +31,7 @@ export class TenantService {
workspaceId,
);
// Can'f find any data sources for this workspace
// Can't find any data sources for this workspace
if (!dataSourcesMetadata || dataSourcesMetadata.length === 0) {
return new GraphQLSchema({});
}