Changeset View
Changeset View
Standalone View
Standalone View
keyserver/src/shared/state-sync/users-state-sync-spec.js
// @flow | // @flow | ||||
import { usersStateSyncSpec as libSpec } from 'lib/shared/state-sync/users-state-sync-spec.js'; | import { usersStateSyncSpec as libSpec } from 'lib/shared/state-sync/users-state-sync-spec.js'; | ||||
import type { UserInconsistencyReportCreationRequest } from 'lib/types/report-types.js'; | import type { ClientUserInconsistencyReportCreationRequest } from 'lib/types/report-types.js'; | ||||
import type { UserInfos, UserInfo } from 'lib/types/user-types.js'; | import type { UserInfos, UserInfo } from 'lib/types/user-types.js'; | ||||
import { userInfoValidator } from 'lib/types/user-types.js'; | import { userInfoValidator } from 'lib/types/user-types.js'; | ||||
import { values, hash, combineUnorderedHashes } from 'lib/utils/objects.js'; | import { values, hash, combineUnorderedHashes } from 'lib/utils/objects.js'; | ||||
import type { ServerStateSyncSpec } from './state-sync-spec.js'; | import type { ServerStateSyncSpec } from './state-sync-spec.js'; | ||||
import { fetchKnownUserInfos } from '../../fetchers/user-fetchers.js'; | import { fetchKnownUserInfos } from '../../fetchers/user-fetchers.js'; | ||||
import type { Viewer } from '../../session/viewer.js'; | import type { Viewer } from '../../session/viewer.js'; | ||||
import { validateOutput } from '../../utils/validation-utils.js'; | import { validateOutput } from '../../utils/validation-utils.js'; | ||||
export const usersStateSyncSpec: ServerStateSyncSpec< | export const usersStateSyncSpec: ServerStateSyncSpec< | ||||
UserInfos, | UserInfos, | ||||
$ReadOnlyArray<UserInfo>, | $ReadOnlyArray<UserInfo>, | ||||
UserInfo, | UserInfo, | ||||
$ReadOnlyArray<UserInconsistencyReportCreationRequest>, | $ReadOnlyArray<ClientUserInconsistencyReportCreationRequest>, | ||||
> = Object.freeze({ | > = Object.freeze({ | ||||
fetch, | fetch, | ||||
async fetchFullSocketSyncPayload(viewer: Viewer) { | async fetchFullSocketSyncPayload(viewer: Viewer) { | ||||
const result = await fetchKnownUserInfos(viewer); | const result = await fetchKnownUserInfos(viewer); | ||||
return values(result); | return values(result); | ||||
}, | }, | ||||
async fetchServerInfosHash(viewer: Viewer, ids?: $ReadOnlySet<string>) { | async fetchServerInfosHash(viewer: Viewer, ids?: $ReadOnlySet<string>) { | ||||
const infos = await fetch(viewer, ids); | const infos = await fetch(viewer, ids); | ||||
Show All 22 Lines |