MCPcopy Create free account
hub / github.com/daodst/chat / QueryDeviceMessages

Method QueryDeviceMessages

keyserver/internal/internal.go:194–218  ·  view source on GitHub ↗
(ctx context.Context, req *api.QueryDeviceMessagesRequest, res *api.QueryDeviceMessagesResponse)

Source from the content-addressed store, hash-verified

192}
193
194func (a *KeyInternalAPI) QueryDeviceMessages(ctx context.Context, req *api.QueryDeviceMessagesRequest, res *api.QueryDeviceMessagesResponse) {
195 msgs, err := a.DB.DeviceKeysForUser(ctx, req.UserID, nil, false)
196 if err != nil {
197 res.Error = &api.KeyError{
198 Err: fmt.Sprintf("failed to query DB for device keys: %s", err),
199 }
200 return
201 }
202 maxStreamID := int64(0)
203 for _, m := range msgs {
204 if m.StreamID > maxStreamID {
205 maxStreamID = m.StreamID
206 }
207 }
208 // remove deleted devices
209 var result []api.DeviceMessage
210 for _, m := range msgs {
211 if m.KeyJSON == nil {
212 continue
213 }
214 result = append(result, m)
215 }
216 res.Devices = result
217 res.StreamID = maxStreamID
218}
219
220// nolint:gocyclo
221func (a *KeyInternalAPI) QueryKeys(ctx context.Context, req *api.QueryKeysRequest, res *api.QueryKeysResponse) {

Callers

nothing calls this directly

Calls 1

DeviceKeysForUserMethod · 0.65

Tested by

no test coverage detected