mirror of
https://github.com/lingble/twenty.git
synced 2025-10-29 20:02:29 +00:00
@@ -31,44 +31,54 @@ export class CopyWebhookOperationIntoOperationsCommand extends ActiveWorkspacesC
|
||||
this.logger.log('Running command to copy operation to operations');
|
||||
|
||||
for (const workspaceId of activeWorkspaceIds) {
|
||||
this.logger.log(`Running command for workspace ${workspaceId}`);
|
||||
try {
|
||||
this.logger.log(`Running command for workspace ${workspaceId}`);
|
||||
|
||||
const webhookRepository =
|
||||
await this.twentyORMGlobalManager.getRepositoryForWorkspace(
|
||||
workspaceId,
|
||||
'webhook',
|
||||
);
|
||||
|
||||
const webhooks = await webhookRepository.find();
|
||||
|
||||
for (const webhook of webhooks) {
|
||||
if ('operation' in webhook) {
|
||||
let newOpe = webhook.operation;
|
||||
|
||||
newOpe = newOpe.replace(/\bcreate\b(?=\.|$)/g, 'created');
|
||||
newOpe = newOpe.replace(/\bupdate\b(?=\.|$)/g, 'updated');
|
||||
newOpe = newOpe.replace(/\bdelete\b(?=\.|$)/g, 'deleted');
|
||||
newOpe = newOpe.replace(/\bdestroy\b(?=\.|$)/g, 'destroyed');
|
||||
|
||||
const [firstWebhookPart, lastWebhookPart] = newOpe.split('.');
|
||||
|
||||
if (
|
||||
['created', 'updated', 'deleted', 'destroyed'].includes(
|
||||
firstWebhookPart,
|
||||
)
|
||||
) {
|
||||
newOpe = `${lastWebhookPart}.${firstWebhookPart}`;
|
||||
}
|
||||
|
||||
await webhookRepository.update(webhook.id, {
|
||||
operation: newOpe,
|
||||
operations: [newOpe],
|
||||
});
|
||||
|
||||
this.logger.log(
|
||||
chalk.yellow(`Handled webhook operation updates for ${webhook.id}`),
|
||||
const webhookRepository =
|
||||
await this.twentyORMGlobalManager.getRepositoryForWorkspace(
|
||||
workspaceId,
|
||||
'webhook',
|
||||
);
|
||||
|
||||
const webhooks = await webhookRepository.find();
|
||||
|
||||
for (const webhook of webhooks) {
|
||||
if ('operation' in webhook) {
|
||||
let newOpe = webhook.operation;
|
||||
|
||||
newOpe = newOpe.replace(/\bcreate\b(?=\.|$)/g, 'created');
|
||||
newOpe = newOpe.replace(/\bupdate\b(?=\.|$)/g, 'updated');
|
||||
newOpe = newOpe.replace(/\bdelete\b(?=\.|$)/g, 'deleted');
|
||||
newOpe = newOpe.replace(/\bdestroy\b(?=\.|$)/g, 'destroyed');
|
||||
|
||||
const [firstWebhookPart, lastWebhookPart] = newOpe.split('.');
|
||||
|
||||
if (
|
||||
['created', 'updated', 'deleted', 'destroyed'].includes(
|
||||
firstWebhookPart,
|
||||
)
|
||||
) {
|
||||
newOpe = `${lastWebhookPart}.${firstWebhookPart}`;
|
||||
}
|
||||
|
||||
await webhookRepository.update(webhook.id, {
|
||||
operation: newOpe,
|
||||
operations: [newOpe],
|
||||
});
|
||||
|
||||
this.logger.log(
|
||||
chalk.yellow(
|
||||
`Handled webhook operation updates for ${webhook.id}`,
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
this.logger.log(
|
||||
chalk.red(
|
||||
`Error when running command on workspace ${workspaceId}: ${e}`,
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user