diff --git a/lib/utils/validation-utils.js b/lib/utils/validation-utils.js --- a/lib/utils/validation-utils.js +++ b/lib/utils/validation-utils.js @@ -1,6 +1,6 @@ // @flow -import t from 'tcomb'; +import t, { TUnion } from 'tcomb'; import type { TStructProps, TIrreducible, @@ -65,6 +65,22 @@ const tOldValidUsername: TRegex = tRegex(oldValidUsernameRegex); const tID: TRefinement = t.refinement(t.String, (id: string) => !!id); +const tMediaMessagePhoto: TInterface = tShape({ + type: tString('photo'), + uploadID: t.String, +}); + +const tMediaMessageVideo: TInterface = tShape({ + type: tString('video'), + uploadID: t.String, + thumbnailUploadID: t.String, +}); + +const tMediaMessageMedia: TUnion = t.union([ + tMediaMessagePhoto, + tMediaMessageVideo, +]); + export { tBool, tString, @@ -82,4 +98,7 @@ tEmail, tOldValidUsername, tID, + tMediaMessagePhoto, + tMediaMessageVideo, + tMediaMessageMedia, };