/* Copyright (C) 2025 snoutie Authors: snoutie (copyright@achtarmig.org) This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package model type ResultsModel struct { SearchTerm string CurrentPage int MaxPage int Views []ResultView } type ResultView struct { CDSViewModel Score float64 } type ResultsModelBuffer struct { Views []ResultView } func NewResultsModel() *ResultsModel { return &ResultsModel{} } func (r *ResultsModel) AppendResultsModelViews(cdsView *CDSViewModel, score float64) { resultView := ResultView{ CDSViewModel: *cdsView, Score: score, } r.Views = append(r.Views, resultView) }