Rename types for UserMappingOptions (#5230)

Following #5210

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
This commit is contained in:
Marie
2024-05-01 11:46:47 +02:00
committed by GitHub
parent 0bc3b6f179
commit e0ece3c917
17 changed files with 155 additions and 125 deletions

View File

@ -6,7 +6,7 @@ import {
ForeignDataWrapperOptions,
RemoteServerType,
} from 'src/engine/metadata-modules/remote-server/remote-server.entity';
import { UserMappingOptionsInput } from 'src/engine/metadata-modules/remote-server/utils/user-mapping-options.utils';
import { UserMappingOptions } from 'src/engine/metadata-modules/remote-server/utils/user-mapping-options.utils';
@Injectable()
export class ForeignDataWrapperQueryFactory {
@ -39,7 +39,7 @@ export class ForeignDataWrapperQueryFactory {
createUserMapping(
foreignDataWrapperId: string,
userMappingOptions: UserMappingOptionsInput,
userMappingOptions: UserMappingOptions,
) {
// CURRENT_USER works for now since we are using only one user. But if we switch to a user per workspace, we need to change this.
return `CREATE USER MAPPING IF NOT EXISTS FOR CURRENT_USER SERVER "${foreignDataWrapperId}" OPTIONS (user '${userMappingOptions.username}', password '${userMappingOptions.password}')`;
@ -47,7 +47,7 @@ export class ForeignDataWrapperQueryFactory {
updateUserMapping(
foreignDataWrapperId: string,
userMappingOptions: Partial<UserMappingOptionsInput>,
userMappingOptions: Partial<UserMappingOptions>,
) {
const options = this.buildUpdateUserMappingOptions(userMappingOptions);
@ -82,7 +82,7 @@ export class ForeignDataWrapperQueryFactory {
}
private buildUpdateUserMappingOptions(
userMappingOptions?: Partial<UserMappingOptionsInput>,
userMappingOptions?: Partial<UserMappingOptions>,
) {
const setStatements: string[] = [];

View File

@ -1,3 +1,4 @@
/* eslint-disable no-console */
import { ExceptionHandlerUser } from 'src/engine/integrations/exception-handler/interfaces/exception-handler-user.interface';
import { ExceptionHandlerOptions } from 'src/engine/integrations/exception-handler/interfaces/exception-handler-options.interface';

View File

@ -20,7 +20,6 @@ export const validateObjectMetadataInput = <
}
} catch (error) {
if (error instanceof InvalidStringException) {
console.error(error.message);
throw new BadRequestException(
`Characters used in name "${objectMetadataInput.nameSingular}" or "${objectMetadataInput.namePlural}" are not supported`,
);

View File

@ -58,7 +58,6 @@ export class RelationMetadataService extends TypeOrmQueryService<RelationMetadat
validateMetadataName(relationMetadataInput.toName);
} catch (error) {
if (error instanceof InvalidStringException) {
console.error(error.message);
throw new BadRequestException(
`Characters used in name "${relationMetadataInput.fromName}" or "${relationMetadataInput.toName}" are not supported`,
);

View File

@ -7,7 +7,7 @@ import {
ForeignDataWrapperOptions,
RemoteServerType,
} from 'src/engine/metadata-modules/remote-server/remote-server.entity';
import { UserMappingOptionsInput } from 'src/engine/metadata-modules/remote-server/utils/user-mapping-options.utils';
import { UserMappingOptions } from 'src/engine/metadata-modules/remote-server/utils/user-mapping-options.utils';
@InputType()
export class CreateRemoteServerInput<T extends RemoteServerType> {
@ -18,8 +18,8 @@ export class CreateRemoteServerInput<T extends RemoteServerType> {
foreignDataWrapperOptions: ForeignDataWrapperOptions<T>;
@IsOptional()
@Field(() => UserMappingOptionsInput, { nullable: true })
userMappingOptions?: UserMappingOptionsInput;
@Field(() => UserMappingOptions, { nullable: true })
userMappingOptions?: UserMappingOptions;
@IsOptional()
@Field(() => String, { nullable: true })

View File

@ -3,11 +3,11 @@ import { ObjectType, Field, HideField, ID } from '@nestjs/graphql';
import { IsOptional } from 'class-validator';
import GraphQLJSON from 'graphql-type-json';
import { UserMappingOptionsDTO } from 'src/engine/metadata-modules/remote-server/dtos/user-mapping-dto';
import {
ForeignDataWrapperOptions,
RemoteServerType,
} from 'src/engine/metadata-modules/remote-server/remote-server.entity';
import { GetUserMappingOptions } from 'src/engine/metadata-modules/remote-server/utils/user-mapping-options.utils';
@ObjectType('RemoteServer')
export class RemoteServerDTO<T extends RemoteServerType> {
@ -25,8 +25,8 @@ export class RemoteServerDTO<T extends RemoteServerType> {
foreignDataWrapperOptions?: ForeignDataWrapperOptions<T>;
@IsOptional()
@Field(() => GetUserMappingOptions, { nullable: true })
userMappingOptions?: GetUserMappingOptions;
@Field(() => UserMappingOptionsDTO, { nullable: true })
userMappingOptions?: UserMappingOptionsDTO;
@IsOptional()
@Field(() => String, { nullable: true })

View File

@ -7,7 +7,10 @@ import {
ForeignDataWrapperOptions,
RemoteServerType,
} from 'src/engine/metadata-modules/remote-server/remote-server.entity';
import { UserMappingOptionsInput } from 'src/engine/metadata-modules/remote-server/utils/user-mapping-options.utils';
import {
UserMappingOptions,
UserMappingOptionsUpdateInput,
} from 'src/engine/metadata-modules/remote-server/utils/user-mapping-options.utils';
@InputType()
export class UpdateRemoteServerInput<T extends RemoteServerType> {
@ -19,8 +22,8 @@ export class UpdateRemoteServerInput<T extends RemoteServerType> {
foreignDataWrapperOptions?: Partial<ForeignDataWrapperOptions<T>>;
@IsOptional()
@Field(() => UserMappingOptionsInput, { nullable: true })
userMappingOptions?: Partial<UserMappingOptionsInput>;
@Field(() => UserMappingOptionsUpdateInput, { nullable: true })
userMappingOptions?: Partial<UserMappingOptions>;
@IsOptional()
@Field(() => String, { nullable: true })

View File

@ -0,0 +1,10 @@
import { ObjectType, Field } from '@nestjs/graphql';
import { IsOptional } from 'class-validator';
@ObjectType('UserMappingOptionsUsername')
export class UserMappingOptionsDTO {
@IsOptional()
@Field(() => String, { nullable: true })
username: string;
}

View File

@ -10,7 +10,7 @@ import {
} from 'typeorm';
import { RemoteTableEntity } from 'src/engine/metadata-modules/remote-server/remote-table/remote-table.entity';
import { UserMappingOptionsInput as UserMappingOptions } from 'src/engine/metadata-modules/remote-server/utils/user-mapping-options.utils';
import { UserMappingOptions } from 'src/engine/metadata-modules/remote-server/utils/user-mapping-options.utils';
import { DistantTables } from 'src/engine/metadata-modules/remote-server/remote-table/distant-table/types/distant-table';
export enum RemoteServerType {

View File

@ -6,7 +6,7 @@ import {
RemoteServerEntity,
RemoteServerType,
} from 'src/engine/metadata-modules/remote-server/remote-server.entity';
import { UserMappingOptionsInput } from 'src/engine/metadata-modules/remote-server/utils/user-mapping-options.utils';
import { UserMappingOptions } from 'src/engine/metadata-modules/remote-server/utils/user-mapping-options.utils';
export type DeepPartial<T> = {
[P in keyof T]?: DeepPartial<T[P]>;
@ -15,7 +15,7 @@ export type DeepPartial<T> = {
const buildUserMappingOptionsQuery = (
parameters: any[],
parametersPositions: object,
userMappingOptions: DeepPartial<UserMappingOptionsInput>,
userMappingOptions: DeepPartial<UserMappingOptions>,
): string | null => {
const shouldUpdateUserMappingOptionsPassword = isDefined(
userMappingOptions?.password,

View File

@ -2,8 +2,9 @@ import { InputType, Field, ObjectType } from '@nestjs/graphql';
import { IsOptional } from 'class-validator';
@ObjectType()
@InputType()
export class UserMappingOptionsInput {
export class UserMappingOptions {
@IsOptional()
@Field(() => String, { nullable: true })
username: string;
@ -13,9 +14,13 @@ export class UserMappingOptionsInput {
password: string;
}
@ObjectType()
export class GetUserMappingOptions {
@InputType()
export class UserMappingOptionsUpdateInput {
@IsOptional()
@Field(() => String, { nullable: true })
username: string;
username?: string;
@IsOptional()
@Field(() => String, { nullable: true })
password?: string;
}