feat: add NFT usernames and bot verification (#22)
Implements collectible usernames, official verification workflows, and third-party bot verification after maintainer protocol and migration review. The composite activity/moderation rating remains an admin-only read model; Telegram Stars Rating wire fields stay unset pending a dedicated official-semantics implementation. Reviewed-Head: 2796345775ea0f908fb7734601e5e1dee4b653b9 Original-Head: fa082b892fd5180c9c9bc53c81c21cf5d250a75b Co-authored-by: Egor Egorov <business.egor.sg@gmail.com>
This commit is contained in:
parent
b0fd3976f1
commit
fff8de783a
169 changed files with 55769 additions and 282 deletions
28
deploy/migrations/0157_custom_emoji_reactions.up.sql
Normal file
28
deploy/migrations/0157_custom_emoji_reactions.up.sql
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
-- Custom-emoji reactions on channel messages.
|
||||
--
|
||||
-- The squashed 0001_init schema constrains channel_message_reactions.reaction_type,
|
||||
-- user_top_reactions.reaction_type and user_recent_reactions.reaction_type to
|
||||
-- 'emoji' only, while the saved-tag tables already allow 'custom_emoji' and the
|
||||
-- store writes reactionCustomEmoji through all of them. On a database built from
|
||||
-- these migrations a custom-emoji reaction in a channel therefore fails with
|
||||
-- "violates check constraint ..._type_check"; upstream's own
|
||||
-- TestChannelStoreCustomEmojiReactionPolicyRoundTrips fails for exactly this
|
||||
-- reason. Widen the three CHECKs to the pair the saved-tag tables already use.
|
||||
|
||||
ALTER TABLE public.channel_message_reactions
|
||||
DROP CONSTRAINT IF EXISTS channel_message_reactions_type_check;
|
||||
ALTER TABLE public.channel_message_reactions
|
||||
ADD CONSTRAINT channel_message_reactions_type_check
|
||||
CHECK ((reaction_type)::text = ANY (ARRAY['emoji'::text, 'custom_emoji'::text]));
|
||||
|
||||
ALTER TABLE public.user_top_reactions
|
||||
DROP CONSTRAINT IF EXISTS user_top_reactions_reaction_type_check;
|
||||
ALTER TABLE public.user_top_reactions
|
||||
ADD CONSTRAINT user_top_reactions_reaction_type_check
|
||||
CHECK ((reaction_type)::text = ANY (ARRAY['emoji'::text, 'custom_emoji'::text]));
|
||||
|
||||
ALTER TABLE public.user_recent_reactions
|
||||
DROP CONSTRAINT IF EXISTS user_recent_reactions_reaction_type_check;
|
||||
ALTER TABLE public.user_recent_reactions
|
||||
ADD CONSTRAINT user_recent_reactions_reaction_type_check
|
||||
CHECK ((reaction_type)::text = ANY (ARRAY['emoji'::text, 'custom_emoji'::text]));
|
||||
Loading…
Add table
Add a link
Reference in a new issue