mirror of
https://github.com/strapi/strapi.git
synced 2025-09-17 20:40:17 +00:00
Update transfer engine exports & providers API
This commit is contained in:
parent
f1ecdabd3c
commit
02c2523429
@ -7,7 +7,7 @@ import {
|
||||
ITransferEngineOptions,
|
||||
} from '../../types';
|
||||
|
||||
export class TransferEngine implements ITransferEngine {
|
||||
class TransferEngine implements ITransferEngine {
|
||||
sourceProvider: ISourceProvider;
|
||||
destinationProvider: IDestinationProvider;
|
||||
options: ITransferEngineOptions;
|
||||
@ -141,28 +141,26 @@ export class TransferEngine implements ITransferEngine {
|
||||
// }
|
||||
// return new Promise((resolve, reject) => {
|
||||
// pipeline(
|
||||
// // We might want to use a json-chain's Chain here since they allow transforms
|
||||
// // streams as regular functions (that allows object as parameter & return type)
|
||||
// inStream,
|
||||
// // chain([
|
||||
// // (data) => {
|
||||
// // console.log('hello', data);
|
||||
// // return data;
|
||||
// // },
|
||||
// // ]),
|
||||
// chain([
|
||||
// (data) => {
|
||||
// console.log('hello', data);
|
||||
// return data;
|
||||
// },
|
||||
// ]),
|
||||
// outStream,
|
||||
// (e: NodeJS.ErrnoException | null, value: unknown) => {
|
||||
// (e: NodeJS.ErrnoException | null) => {
|
||||
// if (e) {
|
||||
// console.log('Something wrong happened', e);
|
||||
// reject(e);
|
||||
// return;
|
||||
// return reject(e);
|
||||
// }
|
||||
// console.log('value', value);
|
||||
// console.log('All the entities have been transferred');
|
||||
// resolve();
|
||||
// }
|
||||
// );
|
||||
// });
|
||||
console.log('transferEntities not yet implemented');
|
||||
return new Promise((resolve) => resolve());
|
||||
}
|
||||
|
||||
async transferLinks(): Promise<void> {
|
||||
@ -210,3 +208,11 @@ export class TransferEngine implements ITransferEngine {
|
||||
return new Promise((resolve) => resolve());
|
||||
}
|
||||
}
|
||||
|
||||
export const createTransferEngine = <T extends ISourceProvider, U extends IDestinationProvider>(
|
||||
sourceProvider: T,
|
||||
destinationProvider: U,
|
||||
options: ITransferEngineOptions
|
||||
): TransferEngine => {
|
||||
return new TransferEngine(sourceProvider, destinationProvider, options);
|
||||
};
|
||||
|
17
packages/core/data-transfer/types/providers.d.ts
vendored
17
packages/core/data-transfer/types/providers.d.ts
vendored
@ -1,5 +1,6 @@
|
||||
import { Stream } from './utils';
|
||||
import { IMetadata } from './common-entities';
|
||||
import { PipelineSource, PipelineDestination } from 'stream';
|
||||
|
||||
type ProviderType = 'source' | 'destination';
|
||||
|
||||
@ -14,10 +15,10 @@ interface IProvider {
|
||||
|
||||
export interface ISourceProvider extends IProvider {
|
||||
// Getters for the source's transfer streams
|
||||
streamEntities?(): Stream | Promise<Stream>;
|
||||
streamLinks?(): Stream | Promise<Stream>;
|
||||
streamMedia?(): Stream | Promise<Stream>;
|
||||
streamConfiguration?(): Stream | Promise<Stream>;
|
||||
streamEntities?(): PipelineSource | Promise<PipelineSource>;
|
||||
streamLinks?(): PipelineSource | Promise<PipelineSource>;
|
||||
streamMedia?(): PipelineSource | Promise<PipelineSource>;
|
||||
streamConfiguration?(): PipelineSource | Promise<PipelineSource>;
|
||||
}
|
||||
|
||||
export interface IDestinationProvider extends IProvider {
|
||||
@ -27,8 +28,8 @@ export interface IDestinationProvider extends IProvider {
|
||||
rollback?<T extends Error = Error>(e: T): void | Promise<void>;
|
||||
|
||||
// Getters for the destination's transfer streams
|
||||
getEntitiesStream?(): Stream | Promise<Stream>;
|
||||
getLinksStream?(): Stream | Promise<Stream>;
|
||||
getMediaStream?(): Stream | Promise<Stream>;
|
||||
getConfigurationStream?(): Stream | Promise<Stream>;
|
||||
getEntitiesStream?(): PipelineDestination | Promise<PipelineDestination>;
|
||||
getLinksStream?(): PipelineDestination | Promise<PipelineDestination>;
|
||||
getMediaStream?(): PipelineDestination | Promise<PipelineDestination>;
|
||||
getConfigurationStream?(): PipelineDestination | Promise<PipelineDestination>;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user