mirror of
https://github.com/aditama-labs/nest-autocrud.git
synced 2025-05-04 20:39:53 +00:00
43 lines
1.0 KiB
TypeScript
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();
|
|
}
|
|
}
|