Changeset View
Changeset View
Standalone View
Standalone View
lib/types/messages/update-relationship.js
// @flow | // @flow | ||||
import t, { type TInterface } from 'tcomb'; | |||||
import { tID, tNumber, tShape } from '../../utils/validation-utils.js'; | |||||
import { messageTypes } from '../message-types-enum.js'; | |||||
import type { RelativeUserInfo } from '../user-types.js'; | import type { RelativeUserInfo } from '../user-types.js'; | ||||
export type UpdateRelationshipMessageData = { | export type UpdateRelationshipMessageData = { | ||||
+type: 16, | +type: 16, | ||||
+threadID: string, | +threadID: string, | ||||
+creatorID: string, | +creatorID: string, | ||||
+targetID: string, | +targetID: string, | ||||
+time: number, | +time: number, | ||||
+operation: 'request_sent' | 'request_accepted', | +operation: 'request_sent' | 'request_accepted', | ||||
}; | }; | ||||
export type RawUpdateRelationshipMessageInfo = { | export type RawUpdateRelationshipMessageInfo = { | ||||
...UpdateRelationshipMessageData, | ...UpdateRelationshipMessageData, | ||||
id: string, | id: string, | ||||
}; | }; | ||||
export const rawUpdateRelationshipMessageInfoValidator: TInterface<RawUpdateRelationshipMessageInfo> = | |||||
tShape<RawUpdateRelationshipMessageInfo>({ | |||||
type: tNumber(messageTypes.UPDATE_RELATIONSHIP), | |||||
threadID: tID, | |||||
creatorID: t.String, | |||||
targetID: t.String, | |||||
time: t.Number, | |||||
operation: t.enums.of(['request_sent', 'request_accepted']), | |||||
id: tID, | |||||
}); | |||||
export type UpdateRelationshipMessageInfo = { | export type UpdateRelationshipMessageInfo = { | ||||
+type: 16, | +type: 16, | ||||
+id: string, | +id: string, | ||||
+threadID: string, | +threadID: string, | ||||
+creator: RelativeUserInfo, | +creator: RelativeUserInfo, | ||||
+target: RelativeUserInfo, | +target: RelativeUserInfo, | ||||
+time: number, | +time: number, | ||||
+operation: 'request_sent' | 'request_accepted', | +operation: 'request_sent' | 'request_accepted', | ||||
}; | }; |