import { typeToConverterSet } from './serializer/utils.js'; import { dbDriversConverters } from './serializer/db-drivers-converters/converters.js'; import { schemaSerializer } from './serializer/serializer.js'; import { SerializerParams } from './types.js'; import { ConverterType } from './serializer/domain.js'; import { transformFqdn, RootPath } from './transformation-handler.js'; import { veloConverters } from './serializer/velo-converters/converters.js'; import { toPlatformizedQuery } from './query-transformation.js'; import { fromCorvidEntity, toCorvidEntity, } from '@wix/motion-edm-autogen-transformations'; const converters = typeToConverterSet([ ...dbDriversConverters, ...veloConverters, ]); export { RootPath, toPlatformizedQuery }; export function toAmbassadorRequest( { rootSchema, depSchemas, fqdnTransformation }: SerializerParams, entity: any, ) { const asRequestStructure = fromCorvidEntity( transformFqdn(entity, fqdnTransformation!), ); const request = schemaSerializer( rootSchema, depSchemas, converters, )(asRequestStructure, ConverterType.TO_JSON); return request; } export function toDbDriverEntity( { rootSchema, depSchemas, fqdnTransformation }: SerializerParams, entity: any, ) { const asDbDriverStructure = schemaSerializer( rootSchema, depSchemas, converters, )(entity, ConverterType.FROM_JSON); const dbDriverEntity = toCorvidEntity( transformFqdn(asDbDriverStructure, fqdnTransformation!), ); return dbDriverEntity; } /** * @deprecated */ export function toVeloEntity(opts: SerializerParams, entity: any) { return toDbDriverEntity(opts, entity); }