feat: implement AI styling foundation and billing scope rework
Some checks failed
linter / quality (push) Has been cancelled
tests / ci (push) Has been cancelled
tests / ui (push) Has been cancelled

This commit is contained in:
Codex Agent
2026-02-06 20:01:58 +01:00
parent df00deb0df
commit 36bed12ff9
80 changed files with 8944 additions and 49 deletions

View File

@@ -83,6 +83,16 @@ class EventStoreRequest extends FormRequest
'settings.control_room.force_review_uploaders' => ['nullable', 'array'],
'settings.control_room.force_review_uploaders.*.device_id' => ['required', 'string', 'max:120'],
'settings.control_room.force_review_uploaders.*.label' => ['nullable', 'string', 'max:80'],
'settings.ai_editing' => ['nullable', 'array'],
'settings.ai_editing.enabled' => ['nullable', 'boolean'],
'settings.ai_editing.allow_custom_prompt' => ['nullable', 'boolean'],
'settings.ai_editing.allowed_style_keys' => ['nullable', 'array'],
'settings.ai_editing.allowed_style_keys.*' => [
'string',
'max:120',
Rule::exists('ai_styles', 'key')->where('is_active', true),
],
'settings.ai_editing.policy_message' => ['nullable', 'string', 'max:280'],
'settings.watermark' => ['nullable', 'array'],
'settings.watermark.mode' => ['nullable', Rule::in(['base', 'custom', 'off'])],
'settings.watermark.asset' => ['nullable', 'string', 'max:500'],