where('organization_id', $organizationId) ->orderBy('is_default', 'DESC') ->orderBy('created_at', 'DESC') ->findAll(); } /** * Получить доску по ID */ public function getBoard(int $boardId, int $organizationId): ?array { return $this->where('id', $boardId) ->where('organization_id', $organizationId) ->first(); } /** * Получить дефолтную доску организации */ public function getDefaultBoard(int $organizationId): ?array { return $this->where('organization_id', $organizationId) ->where('is_default', 1) ->first(); } /** * Создать дефолтную доску для новой организации */ public function createDefaultBoard(int $organizationId): int { $data = [ 'organization_id' => $organizationId, 'name' => 'Мои задачи', 'description' => 'Основная доска задач', 'is_default' => 1, ]; $boardId = $this->insert($data); if ($boardId) { // Создаём дефолтные колонки $columnModel = new TaskColumnModel(); $columnModel->createDefaultColumns($boardId); } return $boardId; } }