feat: sync Bot API gateway support
This commit is contained in:
parent
9a501f900a
commit
4c0cc2b7a7
44 changed files with 4609 additions and 49 deletions
29
deploy/migrations/0060_bot_api_updates.up.sql
Normal file
29
deploy/migrations/0060_bot_api_updates.up.sql
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
CREATE TABLE public.bot_api_updates (
|
||||
id bigint GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
|
||||
bot_user_id bigint NOT NULL,
|
||||
update_kind varchar(32) NOT NULL,
|
||||
peer_type varchar(16) NOT NULL,
|
||||
peer_id bigint NOT NULL,
|
||||
message_id integer NOT NULL,
|
||||
source_pts integer NOT NULL DEFAULT 0,
|
||||
date integer NOT NULL DEFAULT 0,
|
||||
created_at timestamptz NOT NULL DEFAULT now(),
|
||||
CONSTRAINT bot_api_updates_kind_check CHECK ((update_kind)::text = ANY (ARRAY['message'::text, 'edited_message'::text])),
|
||||
CONSTRAINT bot_api_updates_peer_type_check CHECK ((peer_type)::text = ANY (ARRAY['user'::text, 'channel'::text])),
|
||||
CONSTRAINT bot_api_updates_peer_id_check CHECK (peer_id > 0),
|
||||
CONSTRAINT bot_api_updates_message_id_check CHECK (message_id > 0),
|
||||
CONSTRAINT bot_api_updates_source_pts_check CHECK (source_pts >= 0),
|
||||
CONSTRAINT bot_api_updates_source_unique UNIQUE (bot_user_id, update_kind, peer_type, peer_id, message_id, source_pts),
|
||||
CONSTRAINT bot_api_updates_bot_user_id_fkey FOREIGN KEY (bot_user_id) REFERENCES public.bots(bot_user_id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE INDEX bot_api_updates_bot_scan_idx ON public.bot_api_updates (bot_user_id, id);
|
||||
CREATE INDEX bot_api_updates_retention_idx ON public.bot_api_updates (date, id);
|
||||
|
||||
CREATE TABLE public.bot_api_update_states (
|
||||
bot_user_id bigint PRIMARY KEY,
|
||||
confirmed_update_id bigint NOT NULL DEFAULT 0,
|
||||
updated_at timestamptz NOT NULL DEFAULT now(),
|
||||
CONSTRAINT bot_api_update_states_confirmed_check CHECK (confirmed_update_id >= 0),
|
||||
CONSTRAINT bot_api_update_states_bot_user_id_fkey FOREIGN KEY (bot_user_id) REFERENCES public.bots(bot_user_id) ON DELETE CASCADE
|
||||
);
|
||||
Loading…
Add table
Add a link
Reference in a new issue