From b86aba806d576a1bf74230ccea1a1c156329f6f1 Mon Sep 17 00:00:00 2001 From: Kristina Fefelova Date: Mon, 2 Dec 2024 16:51:51 +0400 Subject: [PATCH 1/4] Define tables Signed-off-by: Kristina Fefelova --- bun.lockb | Bin 50280 -> 56496 bytes packages/postgres/migrations/01_message.sql | 19 ++++++++++++++++++ .../postgres/migrations/02_attachment.sql | 11 ++++++++++ packages/postgres/migrations/03_reaction.sql | 11 ++++++++++ .../postgres/migrations/04_notification.sql | 10 +++++++++ .../migrations/05_notificationContext.sql | 11 ++++++++++ packages/postgres/package.json | 18 +++++++++++++++++ packages/postgres/src/index.ts | 0 packages/postgres/tsconfig.json | 8 ++++++++ 9 files changed, 88 insertions(+) create mode 100644 packages/postgres/migrations/01_message.sql create mode 100644 packages/postgres/migrations/02_attachment.sql create mode 100644 packages/postgres/migrations/03_reaction.sql create mode 100644 packages/postgres/migrations/04_notification.sql create mode 100644 packages/postgres/migrations/05_notificationContext.sql create mode 100644 packages/postgres/package.json create mode 100644 packages/postgres/src/index.ts create mode 100644 packages/postgres/tsconfig.json diff --git a/bun.lockb b/bun.lockb index 13f7117668b129d6004a6e1424385c701ee94437..2e06ff644fac096388ecd101b011db49d9bf7140 100755 GIT binary patch delta 10301 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 delta 6899 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 diff --git a/packages/postgres/migrations/01_message.sql b/packages/postgres/migrations/01_message.sql new file mode 100644 index 0000000000..c6b56b210f --- /dev/null +++ b/packages/postgres/migrations/01_message.sql @@ -0,0 +1,19 @@ +CREATE TABLE IF NOT EXISTS message +( + id INT8 NOT NULL DEFAULT unique_rowid(), + content TEXT, + version INTEGER NOT NULL, + creator VARCHAR(255) NOT NULL, + created TIMESTAMP NOT NULL, + + PRIMARY KEY (id, version) +); + +CREATE TABLE IF NOT EXISTS message_place +( + workspace_id UUID NOT NULL, + card_id UUID NOT NULL, + message_id INT8 NOT NULL, + + PRIMARY KEY (workspace_id, card_id, message_id) +); \ No newline at end of file diff --git a/packages/postgres/migrations/02_attachment.sql b/packages/postgres/migrations/02_attachment.sql new file mode 100644 index 0000000000..d7753e0a37 --- /dev/null +++ b/packages/postgres/migrations/02_attachment.sql @@ -0,0 +1,11 @@ +CREATE TABLE IF NOT EXISTS attachment +( + message_id INT8 NOT NULL, + card_id UUID NOT NULL, + creator VARCHAR(255) NOT NULL, + created TIMESTAMP DEFAULT now(), + + PRIMARY KEY (message_id, card_id) +); + +CREATE INDEX IF NOT EXISTS attachment_message_idx ON attachment (message_id); \ No newline at end of file diff --git a/packages/postgres/migrations/03_reaction.sql b/packages/postgres/migrations/03_reaction.sql new file mode 100644 index 0000000000..3daa69d7c8 --- /dev/null +++ b/packages/postgres/migrations/03_reaction.sql @@ -0,0 +1,11 @@ +CREATE TABLE IF NOT EXISTS reaction +( + message_id INT8 NOT NULL, + reaction INTEGER NOT NULL, + creator VARCHAR(255) NOT NULL, + created TIMESTAMP NOT NULL, + + PRIMARY KEY (message_id, creator, reaction) +); + +CREATE INDEX IF NOT EXISTS reaction_message_idx ON reaction (message_id); diff --git a/packages/postgres/migrations/04_notification.sql b/packages/postgres/migrations/04_notification.sql new file mode 100644 index 0000000000..8daba79921 --- /dev/null +++ b/packages/postgres/migrations/04_notification.sql @@ -0,0 +1,10 @@ +CREATE TABLE IF NOT EXISTS notification +( + social_id VARCHAR(255) NOT NULL, + message_id INT8 NOT NULL, + + read BOOLEAN NOT NULL DEFAULT false, + archived BOOLEAN NOT NULL DEFAULT false, + + PRIMARY KEY (social_id, message_id) +); \ No newline at end of file diff --git a/packages/postgres/migrations/05_notificationContext.sql b/packages/postgres/migrations/05_notificationContext.sql new file mode 100644 index 0000000000..3f4b05678b --- /dev/null +++ b/packages/postgres/migrations/05_notificationContext.sql @@ -0,0 +1,11 @@ +CREATE TABLE IF NOT EXISTS notification_context +( + workspace_id UUID NOT NULL, + card_id UUID NOT NULL, + huly_id VARCHAR(255) NOT NULL, /* Or maybe account id or something else */ + + last_view_timestamp TIMESTAMP, + last_update_timestamp TIMESTAMP, + + PRIMARY KEY (workspace_id, card_id, huly_id) +); \ No newline at end of file diff --git a/packages/postgres/package.json b/packages/postgres/package.json new file mode 100644 index 0000000000..bd008cd7ea --- /dev/null +++ b/packages/postgres/package.json @@ -0,0 +1,18 @@ +{ + "name": "@communication/postgres", + "version": "0.1.0", + "module": "src/index.ts", + "type": "module", + "devDependencies": { + "@types/bun": "^1.1.13" + }, + "dependencies": { + "@communication/types": "0.1.0", + "pg": "8.12.0", + "postgres": "^3.4.4", + "uuid": "^11.0.3" + }, + "peerDependencies": { + "typescript": "^5.6.3" + } +} diff --git a/packages/postgres/src/index.ts b/packages/postgres/src/index.ts new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/postgres/tsconfig.json b/packages/postgres/tsconfig.json new file mode 100644 index 0000000000..49e05cea1e --- /dev/null +++ b/packages/postgres/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "./dist", + "rootDir": "./src" + }, + "include": ["src"] +} From 9ecdc931e461e2dadf203ca36ab80b29668dec23 Mon Sep 17 00:00:00 2001 From: Kristina Fefelova Date: Mon, 2 Dec 2024 16:55:09 +0400 Subject: [PATCH 2/4] Fix deps Signed-off-by: Kristina Fefelova --- bun.lockb | Bin 56496 -> 56152 bytes packages/postgres/migrations/01_message.sql | 2 +- .../postgres/migrations/02_attachment.sql | 2 +- .../postgres/migrations/04_notification.sql | 2 +- .../migrations/05_notificationContext.sql | 2 +- packages/postgres/package.json | 5 ++--- 6 files changed, 6 insertions(+), 7 deletions(-) diff --git a/bun.lockb b/bun.lockb index 2e06ff644fac096388ecd101b011db49d9bf7140..cb32c781b3eb1499f9d4a358807220d00e2e0ac6 100755 GIT binary patch delta 1228 zcmc&!Z%9*76u)=f$gwW32p5OY=w+{T?@BYp?_n!0aefNz_ zN|(l^J$mii&X%}^*h`a2TlHqXu)5}{8XLNjnS5Z>k@wlB`N7SENyNZwO_sd&j=D55 zi=)O_XRoz69rkE!Lrn-zNb@rCLF6Fv9%P4IS6A<_IgJ`Z5>UJ9Y}KVWMT?r{tB~W7 zd0|VIFB1y5<`h~5Tv`r&0)=TgT+DGo&S0E^CEi5yVHSON(U%?Z&8L~TkEk+HNx-5o zarwC3xoAErFRBbwGO+L_$&?1mM!m&7>6ZPMi=kP%aJ06L|->pKyj=`jIaZ1N3aa9=$jBL6L5nS zzQBDt4UN9T(C-_JVTUvad3_4F*q2L#Fwj>bH}s(s?Rr0SfLhSpiIWz!qHaO3HCZh; zg4Jn5+(NMT=tgE8vd+5@9f(c@o6A}l>Bk4!5kK42K8VdXwl!petQnhMhgf^w?4SEA!VF>t@)CjYFyS&^VX@m^=;Zz_OnghA=CDD}?65a&7YWTI3D!g1= zmC9YAXl{E5hQp~zguEIrdQ`mg;_1qT%AU0%pED>X7{ag?e#l)Fe?JZw3Lk~BWrch~ O^vr~@nhMsJr~Uv82{lCk delta 1504 zcmc&!Z%kWN6u-AETVL_9PKH|*=2$i;U`yM%7BnfanUL9T7&SJV+suUigKQ-hwCLPQ zbQ=f-+Qa@ZL-?`}L@6*InFD8n3!7|%t;qgSHp4zFnHm*|i80aQxx7~s6F>OPoBVqE z`G=dW|W<@DFO#Ta8QAv__$EVQf8K8`jOZLM2Z*HG*9 z2egE&L>{Pf9$*P-khAzbXw%SE2)`)G70Rc6vTuuRTzgF@;)2=S!5l)2=u8EgW}#6S z&M%=4;rIL!t{l^EK@Wv8^fW_5K?yg5nsrHQEU<8^F>w(x8I+}4xMpN8it)&%k(rPw zpp3W3Qu1Kr8LP59kB}Eogs(ydnCFySizLXPafOAufy}&=f$|nEC0}H6V0%4}>{&5; zwuSnHV*M+M!^^PCOXAD1{;)6bo`{Zk9esm4>V`r2kRwU3K0nX`w^G+W2J8kqB3?uWnc*t_ua0*e7-vM}U%9dH*}$ZMk@%y@fLH~*fO{?cmp2ZGfJN%&5tQi6C^L4c{SH7l_wE+)1~r}CH>LE69= zN#EWssdBV^lBYw`6ljl0T3FK9Tr?qAd_>X)rA_~UaKu5!;9;aEgU#G!#Mg*%#1+I< z=z>o(*mSUon?zhk+(5)&XXjQr1>K#MD(wjra0R+Rb$q>GIIfhxd=&W+#D@sBE34)s zL^Fa_!>VMRvdURUtk)2t1<{IN&$A+XyYL5>VE~Sv$`J-nJxbRk-*57xUr+ZMje3KA z6P)a;Feh)2_RT*(vEW~5m7!N}*5iGUykja)_dP20Rn4KtgdY3?jk%B+T_dyRf;np1 zT!EiCyIaPZZeHK@YfK}fhfJ8>KuGe|*%r&>cE5M~5PI0g=&6D3sD=jM^Qc=D91v?B z9l#@91#R)=u(f~VGEoFif2nF-ih#KAS${Z3UFG%H6*~R<3*Yn}D8%+)- Date: Mon, 2 Dec 2024 18:57:44 +0400 Subject: [PATCH 3/4] Use timestamptz Signed-off-by: Kristina Fefelova --- packages/postgres/migrations/01_message.sql | 2 +- packages/postgres/migrations/02_attachment.sql | 2 +- packages/postgres/migrations/03_reaction.sql | 2 +- .../postgres/migrations/05_notificationContext.sql | 10 +++++----- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/postgres/migrations/01_message.sql b/packages/postgres/migrations/01_message.sql index 6fc4306cd0..8aa19866f9 100644 --- a/packages/postgres/migrations/01_message.sql +++ b/packages/postgres/migrations/01_message.sql @@ -4,7 +4,7 @@ CREATE TABLE IF NOT EXISTS message content TEXT, version INTEGER NOT NULL, creator VARCHAR(255) NOT NULL, - created TIMESTAMP NOT NULL, + created TIMESTAMPTZ NOT NULL DEFAULT now(), PRIMARY KEY (id, version) ); diff --git a/packages/postgres/migrations/02_attachment.sql b/packages/postgres/migrations/02_attachment.sql index 3ce4847323..b74d0ec0ed 100644 --- a/packages/postgres/migrations/02_attachment.sql +++ b/packages/postgres/migrations/02_attachment.sql @@ -3,7 +3,7 @@ CREATE TABLE IF NOT EXISTS attachment message_id INT8 NOT NULL, card_id UUID NOT NULL, creator VARCHAR(255) NOT NULL, - created TIMESTAMP DEFAULT now(), + created TIMESTAMPTZ NOT NULL DEFAULT now(), PRIMARY KEY (message_id, card_id) ); diff --git a/packages/postgres/migrations/03_reaction.sql b/packages/postgres/migrations/03_reaction.sql index 3daa69d7c8..5dc21091f7 100644 --- a/packages/postgres/migrations/03_reaction.sql +++ b/packages/postgres/migrations/03_reaction.sql @@ -3,7 +3,7 @@ CREATE TABLE IF NOT EXISTS reaction message_id INT8 NOT NULL, reaction INTEGER NOT NULL, creator VARCHAR(255) NOT NULL, - created TIMESTAMP NOT NULL, + created TIMESTAMPTZ NOT NULL DEFAULT now(), PRIMARY KEY (message_id, creator, reaction) ); diff --git a/packages/postgres/migrations/05_notificationContext.sql b/packages/postgres/migrations/05_notificationContext.sql index a432c17fdd..ca8137a4c3 100644 --- a/packages/postgres/migrations/05_notificationContext.sql +++ b/packages/postgres/migrations/05_notificationContext.sql @@ -1,11 +1,11 @@ CREATE TABLE IF NOT EXISTS notification_context ( - workspace_id UUID NOT NULL, - card_id UUID NOT NULL, - huly_id VARCHAR(255) NOT NULL, /* Or maybe account id or something else */ + workspace_id UUID NOT NULL, + card_id UUID NOT NULL, + huly_id VARCHAR(255) NOT NULL, /* Or maybe account id or something else */ - last_view_timestamp TIMESTAMP, - last_update_timestamp TIMESTAMP, + last_view TIMESTAMPTZ, + last_update TIMESTAMPTZ, PRIMARY KEY (workspace_id, card_id, huly_id) ); From 281aba5cf728fb35f1e1287d4dc56148cc20d6cb Mon Sep 17 00:00:00 2001 From: Kristina Fefelova Date: Mon, 2 Dec 2024 20:26:19 +0400 Subject: [PATCH 4/4] Replace personal read with timestamp Signed-off-by: Kristina Fefelova --- packages/postgres/migrations/04_notification.sql | 3 --- .../postgres/migrations/05_notificationContext.sql | 11 ++++++----- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/packages/postgres/migrations/04_notification.sql b/packages/postgres/migrations/04_notification.sql index 990e1e51ff..96b53f1a6d 100644 --- a/packages/postgres/migrations/04_notification.sql +++ b/packages/postgres/migrations/04_notification.sql @@ -3,8 +3,5 @@ CREATE TABLE IF NOT EXISTS notification social_id VARCHAR(255) NOT NULL, message_id INT8 NOT NULL, - read BOOLEAN NOT NULL DEFAULT false, - archived BOOLEAN NOT NULL DEFAULT false, - PRIMARY KEY (social_id, message_id) ); diff --git a/packages/postgres/migrations/05_notificationContext.sql b/packages/postgres/migrations/05_notificationContext.sql index ca8137a4c3..f8936f24cc 100644 --- a/packages/postgres/migrations/05_notificationContext.sql +++ b/packages/postgres/migrations/05_notificationContext.sql @@ -1,11 +1,12 @@ CREATE TABLE IF NOT EXISTS notification_context ( - workspace_id UUID NOT NULL, - card_id UUID NOT NULL, - huly_id VARCHAR(255) NOT NULL, /* Or maybe account id or something else */ + workspace_id UUID NOT NULL, + card_id UUID NOT NULL, + huly_id VARCHAR(255) NOT NULL, /* Or maybe account id or something else */ - last_view TIMESTAMPTZ, - last_update TIMESTAMPTZ, + archived_from TIMESTAMPTZ, + last_view TIMESTAMPTZ, + last_update TIMESTAMPTZ, PRIMARY KEY (workspace_id, card_id, huly_id) );