Changeset View
Changeset View
Standalone View
Standalone View
lib/utils/avatar-utils.js
// @flow | // @flow | ||||
import t from 'tcomb'; | import t from 'tcomb'; | ||||
import type { TUnion, TInterface } from 'tcomb'; | import type { TUnion, TInterface } from 'tcomb'; | ||||
import { tRegex, tShape, tString } from './validation-utils.js'; | import { tRegex, tShape, tString, tID } from './validation-utils.js'; | ||||
import { validHexColorRegex } from '../shared/account-utils.js'; | import { validHexColorRegex } from '../shared/account-utils.js'; | ||||
import { onlyOneEmojiRegex } from '../shared/emojis.js'; | import { onlyOneEmojiRegex } from '../shared/emojis.js'; | ||||
import type { | import type { | ||||
ENSAvatarDBContent, | ENSAvatarDBContent, | ||||
EmojiAvatarDBContent, | EmojiAvatarDBContent, | ||||
ImageAvatarDBContent, | ImageAvatarDBContent, | ||||
UpdateUserAvatarRemoveRequest, | UpdateUserAvatarRemoveRequest, | ||||
UpdateUserAvatarRequest, | UpdateUserAvatarRequest, | ||||
} from '../types/avatar-types'; | } from '../types/avatar-types'; | ||||
const emojiAvatarDBContentValidator: TInterface<EmojiAvatarDBContent> = tShape({ | const emojiAvatarDBContentValidator: TInterface<EmojiAvatarDBContent> = tShape({ | ||||
type: tString('emoji'), | type: tString('emoji'), | ||||
emoji: tRegex(onlyOneEmojiRegex), | emoji: tRegex(onlyOneEmojiRegex), | ||||
color: tRegex(validHexColorRegex), | color: tRegex(validHexColorRegex), | ||||
}); | }); | ||||
const imageAvatarDBContentValidator: TInterface<ImageAvatarDBContent> = tShape({ | const imageAvatarDBContentValidator: TInterface<ImageAvatarDBContent> = tShape({ | ||||
type: tString('image'), | type: tString('image'), | ||||
uploadID: t.String, | uploadID: tID, | ||||
}); | }); | ||||
const ensAvatarDBContentValidator: TInterface<ENSAvatarDBContent> = tShape({ | const ensAvatarDBContentValidator: TInterface<ENSAvatarDBContent> = tShape({ | ||||
type: tString('ens'), | type: tString('ens'), | ||||
}); | }); | ||||
const updateUserAvatarRemoveRequestValidator: TInterface<UpdateUserAvatarRemoveRequest> = | const updateUserAvatarRemoveRequestValidator: TInterface<UpdateUserAvatarRemoveRequest> = | ||||
tShape({ | tShape({ | ||||
Show All 18 Lines |