Removing Prisma and Grapql-nestjs-prisma resolvers (#2574)

* Some cleaning

* Fix seeds

* Fix all sign in, sign up flow and apiKey optimistic rendering

* Fix
This commit is contained in:
Charles Bochet
2023-11-19 18:25:47 +01:00
committed by GitHub
parent 18dac1a2b6
commit f5e1d7825a
616 changed files with 2220 additions and 23073 deletions

View File

@ -9,7 +9,7 @@ import {
IsString,
IsUUID,
} from 'class-validator';
import { GraphQLJSONObject } from 'graphql-type-json';
import graphqlTypeJson from 'graphql-type-json';
import { FieldMetadataTargetColumnMap } from 'src/metadata/field-metadata/interfaces/field-metadata-target-column-map.interface';
import { FieldMetadataDefaultValue } from 'src/metadata/field-metadata/interfaces/field-metadata-default-value.interface';
@ -57,7 +57,7 @@ export class CreateFieldInput {
@IsDefaultValue({ message: 'Invalid default value for the specified type' })
@IsOptional()
@Field(() => GraphQLJSONObject, { nullable: true })
@Field(() => graphqlTypeJson, { nullable: true })
defaultValue: FieldMetadataDefaultValue;
@HideField()

View File

@ -11,6 +11,7 @@ import { DataSourceModule } from 'src/metadata/data-source/data-source.module';
import { WorkspaceMigrationRunnerModule } from 'src/workspace/workspace-migration-runner/workspace-migration-runner.module';
import { WorkspaceMigrationModule } from 'src/metadata/workspace-migration/workspace-migration.module';
import { JwtAuthGuard } from 'src/guards/jwt.auth.guard';
import { TypeORMModule } from 'src/database/typeorm/typeorm.module';
import { ObjectMetadataService } from './object-metadata.service';
import { ObjectMetadataEntity } from './object-metadata.entity';
@ -23,6 +24,7 @@ import { ObjectMetadataDTO } from './dtos/object-metadata.dto';
imports: [
NestjsQueryGraphQLModule.forFeature({
imports: [
TypeORMModule,
NestjsQueryTypeOrmModule.forFeature([ObjectMetadataEntity], 'metadata'),
DataSourceModule,
WorkspaceMigrationModule,

View File

@ -16,6 +16,8 @@ import {
WorkspaceMigrationTableAction,
} from 'src/metadata/workspace-migration/workspace-migration.entity';
import { FieldMetadataType } from 'src/metadata/field-metadata/field-metadata.entity';
import { TypeORMService } from 'src/database/typeorm/typeorm.service';
import { DataSourceService } from 'src/metadata/data-source/data-source.service';
import { ObjectMetadataEntity } from './object-metadata.entity';
@ -27,6 +29,8 @@ export class ObjectMetadataService extends TypeOrmQueryService<ObjectMetadataEnt
@InjectRepository(ObjectMetadataEntity, 'metadata')
private readonly objectMetadataRepository: Repository<ObjectMetadataEntity>,
private readonly dataSourceService: DataSourceService,
private readonly typeORMService: TypeORMService,
private readonly workspaceMigrationService: WorkspaceMigrationService,
private readonly workspaceMigrationRunnerService: WorkspaceMigrationRunnerService,
) {
@ -74,7 +78,7 @@ export class ObjectMetadataService extends TypeOrmQueryService<ObjectMetadataEnt
targetColumnMap: {
value: 'id',
},
icon: undefined,
icon: 'Icon123',
description: 'Id',
isNullable: true,
isActive: true,
@ -158,6 +162,32 @@ export class ObjectMetadataService extends TypeOrmQueryService<ObjectMetadataEnt
createdObjectMetadata.workspaceId,
);
const dataSourceMetadata =
await this.dataSourceService.getLastDataSourceMetadataFromWorkspaceIdOrFail(
createdObjectMetadata.workspaceId,
);
const workspaceDataSource = await this.typeORMService.connectToDataSource(
dataSourceMetadata,
);
const view = await workspaceDataSource?.query(
`INSERT INTO ${dataSourceMetadata.schema}."view"
("objectMetadataId", "type", "name")
VALUES ('${createdObjectMetadata.id}', 'table', 'All ${createdObjectMetadata.namePlural}') RETURNING *`,
);
createdObjectMetadata.fields.map(async (field, index) => {
if (field.name === 'id') {
return;
}
await workspaceDataSource?.query(
`INSERT INTO ${dataSourceMetadata.schema}."viewField"
("fieldMetadataId", "position", "isVisible", "size", "viewId")
VALUES ('${field.id}', '${index}', true, 180, '${view[0].id}') RETURNING *`,
);
});
return createdObjectMetadata;
}