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 @@ -7,6 +7,7 @@ TRefinement, TEnums, TInterface, + TUnion, } from 'tcomb'; import { @@ -65,6 +66,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 +99,7 @@ tEmail, tOldValidUsername, tID, + tMediaMessagePhoto, + tMediaMessageVideo, + tMediaMessageMedia, };