bmc_hub/migrations/194_also_cloud_email_workflow.sql

72 lines
1.8 KiB
MySQL
Raw Normal View History

2026-07-03 20:20:22 +02:00
-- ALSO Cloud Marketplace email workflow action and default workflow
INSERT INTO email_workflow_actions (
action_code,
name,
description,
category,
parameter_schema,
example_config
)
VALUES (
'process_also_cloud_billing',
'Process ALSO Cloud Billing ZIP',
'Downloader ALSO Cloud Marketplace billing ZIP fra email, importerer linjer og opretter ordrekladder',
'billing',
'{
"type": "object",
"properties": {
"sender_pattern": {"type": "string"},
"require_sender_match": {"type": "boolean"},
"source_label": {"type": "string"},
"imported_by_user_id": {"type": "integer"}
}
}'::jsonb,
'{
"sender_pattern": "no-reply@marketplace\\\\.also\\\\.dk",
"require_sender_match": true,
"source_label": "ALSO Cloud Marketplace email"
}'::jsonb
)
ON CONFLICT (action_code) DO NOTHING;
INSERT INTO email_workflows (
name,
description,
classification_trigger,
sender_pattern,
subject_pattern,
confidence_threshold,
workflow_steps,
priority,
enabled,
stop_on_match,
created_by_user_id
)
SELECT
'ALSO Cloud Billing Import',
'Matcher ALSO Cloud Marketplace billing-mails, downloader ZIP og opretter ordrekladder automatisk',
'any',
'marketplace\\.also\\.',
'YOUR BILLING ZIP FILE IS READY TO BE DOWNLOADED|BILLING ZIP FILE',
0.00,
'[
{
"action": "process_also_cloud_billing",
"params": {
"sender_pattern": "marketplace\\.also\\.",
"require_sender_match": true,
"source_label": "ALSO Cloud Marketplace email"
}
}
]'::jsonb,
15,
true,
true,
1
WHERE NOT EXISTS (
SELECT 1
FROM email_workflows
WHERE LOWER(name) = LOWER('ALSO Cloud Billing Import')
);