// LoadPage populates action.Page func (action *AccountIndexAction) loadPage() { for _, record := range action.Records { var res resource.HistoryAccount res.Populate(action.Ctx, record) action.Page.Add(res) } action.Page.BaseURL = action.BaseURL() action.Page.BasePath = "/accounts" action.Page.Limit = action.PagingParams.Limit action.Page.Cursor = action.PagingParams.Cursor action.Page.Order = action.PagingParams.Order action.Page.PopulateLinks() }
// SSE is a method for actions.SSE func (action *AccountIndexAction) SSE(stream sse.Stream) { action.Setup(action.loadParams) action.Do( action.loadRecords, func() { stream.SetLimit(int(action.PagingParams.Limit)) var res resource.HistoryAccount for _, record := range action.Records[stream.SentCount():] { res.Populate(action.Ctx, record) stream.Send(sse.Event{ID: record.PagingToken(), Data: res}) } }, ) }