Changeset View
Changeset View
Standalone View
Standalone View
lib/types/activity-types.js
// @flow | // @flow | ||||
import t, { type TInterface } from 'tcomb'; | |||||
import { tID, tShape } from '../utils/validation-utils.js'; | |||||
export type ActivityUpdate = { | export type ActivityUpdate = { | ||||
+focus: boolean, | +focus: boolean, | ||||
+threadID: string, | +threadID: string, | ||||
+latestMessage: ?string, | +latestMessage: ?string, | ||||
}; | }; | ||||
export type UpdateActivityRequest = { | export type UpdateActivityRequest = { | ||||
+updates: $ReadOnlyArray<ActivityUpdate>, | +updates: $ReadOnlyArray<ActivityUpdate>, | ||||
}; | }; | ||||
export type UpdateActivityResult = { | export type UpdateActivityResult = { | ||||
+unfocusedToUnread: $ReadOnlyArray<string>, | +unfocusedToUnread: $ReadOnlyArray<string>, | ||||
}; | }; | ||||
export const updateActivityResultValidator: TInterface<UpdateActivityResult> = | |||||
tShape<UpdateActivityResult>({ | |||||
unfocusedToUnread: t.list(tID), | |||||
}); | |||||
export type ActivityUpdateSuccessPayload = { | export type ActivityUpdateSuccessPayload = { | ||||
+activityUpdates: $ReadOnlyArray<ActivityUpdate>, | +activityUpdates: $ReadOnlyArray<ActivityUpdate>, | ||||
+result: UpdateActivityResult, | +result: UpdateActivityResult, | ||||
}; | }; | ||||
export const queueActivityUpdatesActionType = 'QUEUE_ACTIVITY_UPDATES'; | export const queueActivityUpdatesActionType = 'QUEUE_ACTIVITY_UPDATES'; | ||||
export type QueueActivityUpdatesPayload = { | export type QueueActivityUpdatesPayload = { | ||||
+activityUpdates: $ReadOnlyArray<ActivityUpdate>, | +activityUpdates: $ReadOnlyArray<ActivityUpdate>, | ||||
}; | }; | ||||
export type SetThreadUnreadStatusRequest = { | export type SetThreadUnreadStatusRequest = { | ||||
+unread: boolean, | +unread: boolean, | ||||
+threadID: string, | +threadID: string, | ||||
+latestMessage: ?string, | +latestMessage: ?string, | ||||
}; | }; | ||||
export type SetThreadUnreadStatusResult = { | export type SetThreadUnreadStatusResult = { | ||||
+resetToUnread: boolean, | +resetToUnread: boolean, | ||||
}; | }; | ||||
export const setThreadUnreadStatusResult: TInterface<SetThreadUnreadStatusResult> = | |||||
tShape<SetThreadUnreadStatusResult>({ resetToUnread: t.Boolean }); | |||||
export type SetThreadUnreadStatusPayload = { | export type SetThreadUnreadStatusPayload = { | ||||
...SetThreadUnreadStatusResult, | ...SetThreadUnreadStatusResult, | ||||
+threadID: string, | +threadID: string, | ||||
}; | }; |