feat(projects): source+name dedup on update

This commit is contained in:
Дмитрий
2026-05-21 07:35:11 +03:00
parent 5427cdc740
commit e2fb20ef05
3 changed files with 42 additions and 0 deletions
@@ -41,6 +41,18 @@ class ProjectService
|| array_key_exists('daily_limit_target', $data)
|| array_key_exists('delivery_days_mask', $data);
if (array_key_exists('signal_identifier', $data) || array_key_exists('sms_senders', $data) || array_key_exists('sms_keyword', $data)) {
$this->assertSourceUnique($project->tenant_id, array_merge([
'signal_type' => $project->signal_type,
'signal_identifier' => $project->signal_identifier,
'sms_senders' => $project->sms_senders,
'sms_keyword' => $project->sms_keyword,
], $data), exceptId: $project->id);
}
if (array_key_exists('name', $data)) {
$this->assertNameUnique($project->tenant_id, (string) $data['name'], exceptId: $project->id);
}
$project->update($data);
if ($needsResync) {