nest-autocrud/libs/skeleton/src/executors/update.executor.ts

43 lines
1.0 KiB
TypeScript

import { UpdateProcess } from '../processes';
import { DefaultExecutor } from './default.executor';
import { DraftDriver } from '../interfaces/draft-driver.interface';
export class UpdateExecutor extends DefaultExecutor {
constructor(
process: UpdateProcess,
identityData,
data,
identityKey: string = 'id',
isDraft: boolean = false,
draftDriver: DraftDriver,
) {
super(process);
// Set the id and data to process
process.identityData = identityData;
process.payload = data;
process.identityKey = identityKey;
process.isDraft = isDraft;
process.draftDriver = draftDriver;
}
static async bootstrap(
process: UpdateProcess,
identityData,
data,
identityKey: string = 'id',
isDraft: boolean = false,
draftDriver: DraftDriver,
) {
const executor = new UpdateExecutor(
process,
identityData,
data,
identityKey,
isDraft,
draftDriver,
);
await executor.execute();
return executor.getOutput();
}
}