Changeset View
Changeset View
Standalone View
Standalone View
lib/shared/state-sync/users-state-sync-spec.js
// @flow | // @flow | ||||
import _isEqual from 'lodash/fp/isEqual.js'; | import _isEqual from 'lodash/fp/isEqual.js'; | ||||
import { createSelector } from 'reselect'; | import { createSelector } from 'reselect'; | ||||
import type { StateSyncSpec } from './state-sync-spec.js'; | import type { StateSyncSpec } from './state-sync-spec.js'; | ||||
import type { AppState } from '../../types/redux-types'; | import type { AppState } from '../../types/redux-types'; | ||||
import { | import { | ||||
type ClientUserInconsistencyReportCreationRequest, | |||||
reportTypes, | reportTypes, | ||||
type UserInconsistencyReportCreationRequest, | |||||
} from '../../types/report-types.js'; | } from '../../types/report-types.js'; | ||||
import type { ProcessServerRequestAction } from '../../types/request-types.js'; | import type { ProcessServerRequestAction } from '../../types/request-types.js'; | ||||
import { type UserInfo, type UserInfos } from '../../types/user-types.js'; | import { type UserInfo, type UserInfos } from '../../types/user-types.js'; | ||||
import { actionLogger } from '../../utils/action-logger.js'; | import { actionLogger } from '../../utils/action-logger.js'; | ||||
import { getConfig } from '../../utils/config.js'; | import { getConfig } from '../../utils/config.js'; | ||||
import { combineUnorderedHashes, hash } from '../../utils/objects.js'; | import { combineUnorderedHashes, hash } from '../../utils/objects.js'; | ||||
import { generateReportID } from '../../utils/report-utils.js'; | import { generateReportID } from '../../utils/report-utils.js'; | ||||
import { sanitizeActionSecrets } from '../../utils/sanitization.js'; | import { sanitizeActionSecrets } from '../../utils/sanitization.js'; | ||||
export const usersStateSyncSpec: StateSyncSpec< | export const usersStateSyncSpec: StateSyncSpec< | ||||
UserInfos, | UserInfos, | ||||
UserInfo, | UserInfo, | ||||
$ReadOnlyArray<UserInconsistencyReportCreationRequest>, | $ReadOnlyArray<ClientUserInconsistencyReportCreationRequest>, | ||||
> = Object.freeze({ | > = Object.freeze({ | ||||
hashKey: 'userInfos', | hashKey: 'userInfos', | ||||
innerHashSpec: { | innerHashSpec: { | ||||
hashKey: 'userInfo', | hashKey: 'userInfo', | ||||
deleteKey: 'deleteUserInfoIDs', | deleteKey: 'deleteUserInfoIDs', | ||||
rawInfosKey: 'userInfos', | rawInfosKey: 'userInfos', | ||||
additionalDeleteCondition(user: UserInfo) { | additionalDeleteCondition(user: UserInfo) { | ||||
return !user.username; | return !user.username; | ||||
Show All 36 Lines |