$data */ public function create(User $user, Organization $organization, array $data): Template { if ($data['is_default'] ?? false) { Template::owned($user->ownerRef()) ->where('organization_id', $organization->id) ->update(['is_default' => false]); } return Template::create([ 'owner_ref' => $user->ownerRef(), 'organization_id' => $organization->id, 'name' => $data['name'], 'description' => $data['description'] ?? null, 'duration_minutes' => $data['duration_minutes'] ?? 60, 'settings' => array_merge(config('meet.default_settings'), $data['settings'] ?? []), 'is_default' => (bool) ($data['is_default'] ?? false), ]); } public function applyToRoomData(Template $template, array $data): array { return array_merge($data, [ 'duration_minutes' => $data['duration_minutes'] ?? $template->duration_minutes, 'settings' => array_merge($template->mergedSettings(), $data['settings'] ?? []), 'template_id' => $template->id, ]); } }