@aopslab/aops-server 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +202 -0
- package/NOTICE +6 -0
- package/README.md +21 -0
- package/aops-server-runtime.json +11 -0
- package/build/client/_app/immutable/chunks/2_TffmqH.js +1 -0
- package/build/client/_app/immutable/chunks/3DOfIKW0.js +1 -0
- package/build/client/_app/immutable/chunks/B2EkC-sy.js +1 -0
- package/build/client/_app/immutable/chunks/CMkIcmi1.js +2 -0
- package/build/client/_app/immutable/chunks/rqnVXeyB.js +1 -0
- package/build/client/_app/immutable/chunks/sZYZbj9W.js +1 -0
- package/build/client/_app/immutable/chunks/wbPk3Yxo.js +81 -0
- package/build/client/_app/immutable/entry/app.C7STLTX8.js +2 -0
- package/build/client/_app/immutable/entry/start.BC94hOaC.js +1 -0
- package/build/client/_app/immutable/nodes/0.BYBfjxZ5.js +1 -0
- package/build/client/_app/immutable/nodes/1.BNXFXajG.js +1 -0
- package/build/client/_app/version.json +1 -0
- package/build/env.js +70 -0
- package/build/env.js.map +1 -0
- package/build/handler.js +16 -0
- package/build/handler.js.map +1 -0
- package/build/index.js +139 -0
- package/build/index.js.map +1 -0
- package/build/server/chunks/0-RfB6m2nq.js +7 -0
- package/build/server/chunks/0-RfB6m2nq.js.map +1 -0
- package/build/server/chunks/1-_gg8Q0UT.js +9 -0
- package/build/server/chunks/1-_gg8Q0UT.js.map +1 -0
- package/build/server/chunks/_server.ts-6276EQIF.js +44 -0
- package/build/server/chunks/_server.ts-6276EQIF.js.map +1 -0
- package/build/server/chunks/_server.ts-B59WFQzX.js +174 -0
- package/build/server/chunks/_server.ts-B59WFQzX.js.map +1 -0
- package/build/server/chunks/_server.ts-BauJsLZI.js +40 -0
- package/build/server/chunks/_server.ts-BauJsLZI.js.map +1 -0
- package/build/server/chunks/_server.ts-BnGzJw2-.js +81 -0
- package/build/server/chunks/_server.ts-BnGzJw2-.js.map +1 -0
- package/build/server/chunks/_server.ts-CP7qM24V.js +34 -0
- package/build/server/chunks/_server.ts-CP7qM24V.js.map +1 -0
- package/build/server/chunks/_server.ts-Cbq_u99d.js +9 -0
- package/build/server/chunks/_server.ts-Cbq_u99d.js.map +1 -0
- package/build/server/chunks/_server.ts-Ch8fPT-o.js +92 -0
- package/build/server/chunks/_server.ts-Ch8fPT-o.js.map +1 -0
- package/build/server/chunks/_server.ts-Cv-yaXZI.js +7 -0
- package/build/server/chunks/_server.ts-Cv-yaXZI.js.map +1 -0
- package/build/server/chunks/_server.ts-D6lBwOON.js +34 -0
- package/build/server/chunks/_server.ts-D6lBwOON.js.map +1 -0
- package/build/server/chunks/_server.ts-D84K3pp9.js +11 -0
- package/build/server/chunks/_server.ts-D84K3pp9.js.map +1 -0
- package/build/server/chunks/_server.ts-DNzU1ToA.js +277 -0
- package/build/server/chunks/_server.ts-DNzU1ToA.js.map +1 -0
- package/build/server/chunks/_server.ts-DQQnw77t.js +17 -0
- package/build/server/chunks/_server.ts-DQQnw77t.js.map +1 -0
- package/build/server/chunks/_server.ts-DSxr5l15.js +18 -0
- package/build/server/chunks/_server.ts-DSxr5l15.js.map +1 -0
- package/build/server/chunks/_server.ts-DZYokvuR.js +80 -0
- package/build/server/chunks/_server.ts-DZYokvuR.js.map +1 -0
- package/build/server/chunks/_server.ts-Dcqwpz2t.js +144 -0
- package/build/server/chunks/_server.ts-Dcqwpz2t.js.map +1 -0
- package/build/server/chunks/_server.ts-Di9VJnF4.js +81 -0
- package/build/server/chunks/_server.ts-Di9VJnF4.js.map +1 -0
- package/build/server/chunks/_server.ts-FBEHFT8b.js +33 -0
- package/build/server/chunks/_server.ts-FBEHFT8b.js.map +1 -0
- package/build/server/chunks/_server.ts-gZytCuiJ.js +10 -0
- package/build/server/chunks/_server.ts-gZytCuiJ.js.map +1 -0
- package/build/server/chunks/_server.ts-tNULLyEO.js +261 -0
- package/build/server/chunks/_server.ts-tNULLyEO.js.map +1 -0
- package/build/server/chunks/agent-gateway-runtime-DTZ4SxaC.js +2598 -0
- package/build/server/chunks/agent-gateway-runtime-DTZ4SxaC.js.map +1 -0
- package/build/server/chunks/aops-runtime-config-wpVmg7T-.js +179 -0
- package/build/server/chunks/aops-runtime-config-wpVmg7T-.js.map +1 -0
- package/build/server/chunks/discovery-D9JnSgfu.js +894 -0
- package/build/server/chunks/discovery-D9JnSgfu.js.map +1 -0
- package/build/server/chunks/error.svelte-DgUOqi-L.js +45 -0
- package/build/server/chunks/error.svelte-DgUOqi-L.js.map +1 -0
- package/build/server/chunks/handler-BN3-p5rP.js +1733 -0
- package/build/server/chunks/handler-BN3-p5rP.js.map +1 -0
- package/build/server/chunks/hooks.server-C4wxiH5m.js +52 -0
- package/build/server/chunks/hooks.server-C4wxiH5m.js.map +1 -0
- package/build/server/chunks/index.js-nbqdVuWC.js +10698 -0
- package/build/server/chunks/index.js-nbqdVuWC.js.map +1 -0
- package/build/server/chunks/manifest.js-_Re-Wj-y.js +167 -0
- package/build/server/chunks/manifest.js-_Re-Wj-y.js.map +1 -0
- package/build/server/chunks/plugin-error-normalize-Bq14Qbz3.js +297 -0
- package/build/server/chunks/plugin-error-normalize-Bq14Qbz3.js.map +1 -0
- package/build/server/chunks/project-alias-DqE2v58Q.js +29 -0
- package/build/server/chunks/project-alias-DqE2v58Q.js.map +1 -0
- package/build/server/chunks/registry-5amIZito.js +289 -0
- package/build/server/chunks/registry-5amIZito.js.map +1 -0
- package/build/server/chunks/request-base-url-BDdrsaga.js +24 -0
- package/build/server/chunks/request-base-url-BDdrsaga.js.map +1 -0
- package/build/server/chunks/request-context-tNeFQjgb.js +422 -0
- package/build/server/chunks/request-context-tNeFQjgb.js.map +1 -0
- package/build/server/chunks/xf-result-BRDjvftr.js +17 -0
- package/build/server/chunks/xf-result-BRDjvftr.js.map +1 -0
- package/build/shims.js +33 -0
- package/build/shims.js.map +1 -0
- package/cockpit/.vite/manifest.json +198 -0
- package/cockpit/assets/dm-sans-latin-400-normal-BwCSEQnW.woff +0 -0
- package/cockpit/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2 +0 -0
- package/cockpit/assets/dm-sans-latin-500-normal-B9HHJjqV.woff2 +0 -0
- package/cockpit/assets/dm-sans-latin-500-normal-Dr3UlScf.woff +0 -0
- package/cockpit/assets/dm-sans-latin-700-normal-CUSSCpQX.woff +0 -0
- package/cockpit/assets/dm-sans-latin-700-normal-DvUfVpUG.woff2 +0 -0
- package/cockpit/assets/dm-sans-latin-ext-400-normal-BjWJ59Pq.woff +0 -0
- package/cockpit/assets/dm-sans-latin-ext-400-normal-BtiwyxMk.woff2 +0 -0
- package/cockpit/assets/dm-sans-latin-ext-500-normal-BJfUCQsA.woff2 +0 -0
- package/cockpit/assets/dm-sans-latin-ext-500-normal-DR84L5F-.woff +0 -0
- package/cockpit/assets/dm-sans-latin-ext-700-normal-BLI3TTWz.woff +0 -0
- package/cockpit/assets/dm-sans-latin-ext-700-normal-CJIcxD6K.woff2 +0 -0
- package/cockpit/assets/index-DDswO4B1.css +1 -0
- package/cockpit/assets/index-bovtnZ98.js +18 -0
- package/cockpit/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2 +0 -0
- package/cockpit/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff +0 -0
- package/cockpit/assets/jetbrains-mono-greek-400-normal-B9oWc5Lo.woff +0 -0
- package/cockpit/assets/jetbrains-mono-greek-400-normal-C190GLew.woff2 +0 -0
- package/cockpit/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff +0 -0
- package/cockpit/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2 +0 -0
- package/cockpit/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2 +0 -0
- package/cockpit/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.woff +0 -0
- package/cockpit/assets/jetbrains-mono-vietnamese-400-normal-CqNFfHCs.woff +0 -0
- package/cockpit/assets/outfit-latin-400-normal-BGsTXAXT.woff2 +0 -0
- package/cockpit/assets/outfit-latin-400-normal-DMwTpYkH.woff +0 -0
- package/cockpit/assets/outfit-latin-600-normal-B7SfZ07L.woff2 +0 -0
- package/cockpit/assets/outfit-latin-600-normal-BEfTtDA7.woff +0 -0
- package/cockpit/assets/outfit-latin-ext-400-normal-5tcqmc2S.woff2 +0 -0
- package/cockpit/assets/outfit-latin-ext-400-normal-DHm7mdGe.woff +0 -0
- package/cockpit/assets/outfit-latin-ext-600-normal-B85nYjL1.woff2 +0 -0
- package/cockpit/assets/outfit-latin-ext-600-normal-CWJcPgd7.woff +0 -0
- package/cockpit/assets/unbounded-cyrillic-600-normal-B-s5c2Kn.woff +0 -0
- package/cockpit/assets/unbounded-cyrillic-600-normal-DW6uzIMB.woff2 +0 -0
- package/cockpit/assets/unbounded-latin-600-normal-BPdB_PEv.woff +0 -0
- package/cockpit/assets/unbounded-latin-600-normal-oRSANpZr.woff2 +0 -0
- package/cockpit/assets/unbounded-latin-ext-600-normal-0iZLtTDV.woff2 +0 -0
- package/cockpit/assets/unbounded-latin-ext-600-normal-ClMPf-bu.woff +0 -0
- package/cockpit/assets/unbounded-vietnamese-600-normal-BzfrgZ_C.woff +0 -0
- package/cockpit/assets/unbounded-vietnamese-600-normal-Cx2bTSHN.woff2 +0 -0
- package/cockpit/community.module-inventory.json +2389 -0
- package/cockpit/index.html +14 -0
- package/community-postgres.json +13 -0
- package/migrations/agentspace/0000_thin_carlie_cooper.sql +764 -0
- package/migrations/agentspace/meta/0000_snapshot.json +6885 -0
- package/migrations/agentspace/meta/_journal.json +13 -0
- package/migrations/chatv3/0000_dry_ego.sql +218 -0
- package/migrations/chatv3/0001_nosy_obadiah_stane.sql +35 -0
- package/migrations/chatv3/0002_narrow_darkhawk.sql +4 -0
- package/migrations/chatv3/0003_damp_zarek.sql +2 -0
- package/migrations/chatv3/0004_nervous_martin_li.sql +60 -0
- package/migrations/chatv3/0005_chatv3_server_encrypted_mode.sql +1 -0
- package/migrations/chatv3/meta/0000_snapshot.json +1887 -0
- package/migrations/chatv3/meta/0001_snapshot.json +2175 -0
- package/migrations/chatv3/meta/0002_snapshot.json +2229 -0
- package/migrations/chatv3/meta/0003_snapshot.json +2241 -0
- package/migrations/chatv3/meta/0004_snapshot.json +2746 -0
- package/migrations/chatv3/meta/_journal.json +48 -0
- package/migrations/docman/0000_curvy_valeria_richards.sql +257 -0
- package/migrations/docman/0001_massive_risque.sql +2 -0
- package/migrations/docman/0002_simple_logan.sql +50 -0
- package/migrations/docman/0003_quick_index.sql +45 -0
- package/migrations/docman/0004_known_summary.sql +9 -0
- package/migrations/docman/0005_vector_signal.sql +9 -0
- package/migrations/docman/0006_document_version_current_invariant.sql +15 -0
- package/migrations/docman/meta/_journal.json +55 -0
- package/migrations/projectman/0000_smooth_klaw.sql +257 -0
- package/migrations/projectman/0001_worthless_zodiak.sql +9 -0
- package/migrations/projectman/0002_board_rename.sql +108 -0
- package/migrations/projectman/0003_review_request.sql +62 -0
- package/migrations/projectman/0004_review_request_idempotency.sql +3 -0
- package/migrations/projectman/0005_allow_multi_sprint_per_task.sql +1 -0
- package/migrations/projectman/meta/_journal.json +48 -0
- package/migrations/sys/0000_loose_praxagora.sql +31 -0
- package/migrations/sys/0001_awesome_ronan.sql +2 -0
- package/migrations/sys/0002_steady_maximus.sql +2 -0
- package/migrations/sys/0003_escalating_rate_limiter.sql +2 -0
- package/migrations/sys/0004_rate_limiter_timestamptz.sql +22 -0
- package/migrations/sys/0005_sys_counters.sql +21 -0
- package/migrations/sys/meta/_journal.json +48 -0
- package/npm-shrinkwrap.json +4375 -0
- package/package.json +62 -0
- package/runtime/agentspace-host-adapter.mjs +64 -0
- package/runtime/agentspace-tooling.mjs +389 -0
- package/runtime/docman-host-adapter.mjs +177 -0
- package/runtime/docman-policy.mjs +450 -0
- package/runtime/docman-tooling.mjs +20 -0
- package/runtime/projectman-host-adapter.mjs +597 -0
- package/runtime/scope-context.mjs +99 -0
- package/scripts/community-host.mjs +626 -0
- package/scripts/community-migration-policy-v1.json +296 -0
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
CREATE TABLE "projectman_kanban_boards" (
|
|
2
|
+
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
3
|
+
"tenantId" text NOT NULL,
|
|
4
|
+
"scopeId" uuid NOT NULL,
|
|
5
|
+
"name" text NOT NULL,
|
|
6
|
+
"slug" text,
|
|
7
|
+
"description" text,
|
|
8
|
+
"position" integer NOT NULL,
|
|
9
|
+
"createdBy" text,
|
|
10
|
+
"updatedBy" text,
|
|
11
|
+
"createdAt" timestamp with time zone DEFAULT now(),
|
|
12
|
+
"updatedAt" timestamp with time zone DEFAULT now()
|
|
13
|
+
);
|
|
14
|
+
--> statement-breakpoint
|
|
15
|
+
CREATE TABLE "projectman_kanban_columns" (
|
|
16
|
+
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
17
|
+
"tenantId" text NOT NULL,
|
|
18
|
+
"scopeId" uuid NOT NULL,
|
|
19
|
+
"name" text NOT NULL,
|
|
20
|
+
"statusKey" text,
|
|
21
|
+
"description" text,
|
|
22
|
+
"wipLimit" integer,
|
|
23
|
+
"createdBy" text,
|
|
24
|
+
"updatedBy" text,
|
|
25
|
+
"createdAt" timestamp with time zone DEFAULT now(),
|
|
26
|
+
"updatedAt" timestamp with time zone DEFAULT now()
|
|
27
|
+
);
|
|
28
|
+
--> statement-breakpoint
|
|
29
|
+
CREATE TABLE "projectman_kanban_column_groups" (
|
|
30
|
+
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
31
|
+
"tenantId" text NOT NULL,
|
|
32
|
+
"scopeId" uuid NOT NULL,
|
|
33
|
+
"columnId" uuid NOT NULL,
|
|
34
|
+
"name" text NOT NULL,
|
|
35
|
+
"position" integer NOT NULL,
|
|
36
|
+
"wipLimit" integer,
|
|
37
|
+
"createdBy" text,
|
|
38
|
+
"updatedBy" text,
|
|
39
|
+
"createdAt" timestamp with time zone DEFAULT now(),
|
|
40
|
+
"updatedAt" timestamp with time zone DEFAULT now()
|
|
41
|
+
);
|
|
42
|
+
--> statement-breakpoint
|
|
43
|
+
CREATE TABLE "projectman_kanban_board_columns" (
|
|
44
|
+
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
45
|
+
"tenantId" text NOT NULL,
|
|
46
|
+
"scopeId" uuid NOT NULL,
|
|
47
|
+
"boardId" uuid NOT NULL,
|
|
48
|
+
"columnId" uuid NOT NULL,
|
|
49
|
+
"position" integer NOT NULL,
|
|
50
|
+
"createdBy" text,
|
|
51
|
+
"updatedBy" text,
|
|
52
|
+
"createdAt" timestamp with time zone DEFAULT now(),
|
|
53
|
+
"updatedAt" timestamp with time zone DEFAULT now()
|
|
54
|
+
);
|
|
55
|
+
--> statement-breakpoint
|
|
56
|
+
CREATE TABLE "projectman_kanban_tasks" (
|
|
57
|
+
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
58
|
+
"tenantId" text NOT NULL,
|
|
59
|
+
"scopeId" uuid NOT NULL,
|
|
60
|
+
"boardId" uuid NOT NULL,
|
|
61
|
+
"boardColumnId" uuid NOT NULL,
|
|
62
|
+
"columnGroupId" uuid,
|
|
63
|
+
"sprintId" uuid,
|
|
64
|
+
"title" text NOT NULL,
|
|
65
|
+
"taskCode" text,
|
|
66
|
+
"slug" text,
|
|
67
|
+
"description" text,
|
|
68
|
+
"progress" integer DEFAULT 0 NOT NULL,
|
|
69
|
+
"position" integer NOT NULL,
|
|
70
|
+
"createdBy" text,
|
|
71
|
+
"updatedBy" text,
|
|
72
|
+
"createdAt" timestamp with time zone DEFAULT now(),
|
|
73
|
+
"updatedAt" timestamp with time zone DEFAULT now()
|
|
74
|
+
);
|
|
75
|
+
--> statement-breakpoint
|
|
76
|
+
CREATE TABLE "projectman_kanban_templates" (
|
|
77
|
+
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
78
|
+
"tenantId" text NOT NULL,
|
|
79
|
+
"scopeId" uuid NOT NULL,
|
|
80
|
+
"name" text NOT NULL,
|
|
81
|
+
"description" text,
|
|
82
|
+
"definition" jsonb NOT NULL,
|
|
83
|
+
"createdBy" text,
|
|
84
|
+
"updatedBy" text,
|
|
85
|
+
"createdAt" timestamp with time zone DEFAULT now(),
|
|
86
|
+
"updatedAt" timestamp with time zone DEFAULT now()
|
|
87
|
+
);
|
|
88
|
+
--> statement-breakpoint
|
|
89
|
+
CREATE TABLE "projectman_events" (
|
|
90
|
+
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
91
|
+
"tenantId" text NOT NULL,
|
|
92
|
+
"scopeId" uuid NOT NULL,
|
|
93
|
+
"entityType" text NOT NULL,
|
|
94
|
+
"entityId" text NOT NULL,
|
|
95
|
+
"action" text NOT NULL,
|
|
96
|
+
"payload" jsonb,
|
|
97
|
+
"actorId" text,
|
|
98
|
+
"createdAt" timestamp with time zone DEFAULT now(),
|
|
99
|
+
"updatedAt" timestamp with time zone DEFAULT now()
|
|
100
|
+
);
|
|
101
|
+
--> statement-breakpoint
|
|
102
|
+
CREATE TABLE "projectman_sprints" (
|
|
103
|
+
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
104
|
+
"tenantId" text NOT NULL,
|
|
105
|
+
"scopeId" uuid NOT NULL,
|
|
106
|
+
"kanbanTaskId" uuid NOT NULL,
|
|
107
|
+
"name" text NOT NULL,
|
|
108
|
+
"goal" text NOT NULL,
|
|
109
|
+
"references" jsonb,
|
|
110
|
+
"scope" jsonb,
|
|
111
|
+
"validationPlan" jsonb,
|
|
112
|
+
"notes" text,
|
|
113
|
+
"createdBy" text,
|
|
114
|
+
"updatedBy" text,
|
|
115
|
+
"createdAt" timestamp with time zone DEFAULT now(),
|
|
116
|
+
"updatedAt" timestamp with time zone DEFAULT now()
|
|
117
|
+
);
|
|
118
|
+
--> statement-breakpoint
|
|
119
|
+
CREATE TABLE "projectman_sprint_phases" (
|
|
120
|
+
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
121
|
+
"tenantId" text NOT NULL,
|
|
122
|
+
"sprintId" uuid NOT NULL,
|
|
123
|
+
"name" text NOT NULL,
|
|
124
|
+
"description" text,
|
|
125
|
+
"position" integer NOT NULL,
|
|
126
|
+
"createdBy" text,
|
|
127
|
+
"updatedBy" text,
|
|
128
|
+
"createdAt" timestamp with time zone DEFAULT now(),
|
|
129
|
+
"updatedAt" timestamp with time zone DEFAULT now()
|
|
130
|
+
);
|
|
131
|
+
--> statement-breakpoint
|
|
132
|
+
CREATE TABLE "projectman_sprint_microtasks" (
|
|
133
|
+
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
134
|
+
"tenantId" text NOT NULL,
|
|
135
|
+
"phaseId" uuid NOT NULL,
|
|
136
|
+
"title" text NOT NULL,
|
|
137
|
+
"status" text NOT NULL,
|
|
138
|
+
"position" integer NOT NULL,
|
|
139
|
+
"notes" text,
|
|
140
|
+
"createdBy" text,
|
|
141
|
+
"updatedBy" text,
|
|
142
|
+
"createdAt" timestamp with time zone DEFAULT now(),
|
|
143
|
+
"updatedAt" timestamp with time zone DEFAULT now()
|
|
144
|
+
);
|
|
145
|
+
--> statement-breakpoint
|
|
146
|
+
CREATE TABLE "projectman_issue_items" (
|
|
147
|
+
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
148
|
+
"tenantId" text NOT NULL,
|
|
149
|
+
"scopeId" uuid NOT NULL,
|
|
150
|
+
"sprintId" uuid,
|
|
151
|
+
"kanbanTaskId" uuid,
|
|
152
|
+
"microTaskItemId" uuid,
|
|
153
|
+
"title" text NOT NULL,
|
|
154
|
+
"description" text,
|
|
155
|
+
"status" text NOT NULL,
|
|
156
|
+
"severity" text NOT NULL,
|
|
157
|
+
"source" text NOT NULL,
|
|
158
|
+
"tags" jsonb,
|
|
159
|
+
"notes" text,
|
|
160
|
+
"meta" jsonb,
|
|
161
|
+
"openedAt" timestamp with time zone,
|
|
162
|
+
"resolvedAt" timestamp with time zone,
|
|
163
|
+
"createdBy" text,
|
|
164
|
+
"updatedBy" text,
|
|
165
|
+
"createdAt" timestamp with time zone DEFAULT now(),
|
|
166
|
+
"updatedAt" timestamp with time zone DEFAULT now()
|
|
167
|
+
);
|
|
168
|
+
--> statement-breakpoint
|
|
169
|
+
CREATE TABLE "projectman_feedback_items" (
|
|
170
|
+
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
171
|
+
"tenantId" text NOT NULL,
|
|
172
|
+
"scopeId" uuid NOT NULL,
|
|
173
|
+
"sprintId" uuid,
|
|
174
|
+
"kanbanTaskId" uuid,
|
|
175
|
+
"microTaskItemId" uuid,
|
|
176
|
+
"title" text NOT NULL,
|
|
177
|
+
"description" text,
|
|
178
|
+
"status" text NOT NULL,
|
|
179
|
+
"type" text NOT NULL,
|
|
180
|
+
"severity" text NOT NULL,
|
|
181
|
+
"source" text NOT NULL,
|
|
182
|
+
"tags" jsonb,
|
|
183
|
+
"suggestion" text,
|
|
184
|
+
"notes" text,
|
|
185
|
+
"meta" jsonb,
|
|
186
|
+
"recordedAt" timestamp with time zone,
|
|
187
|
+
"handledAt" timestamp with time zone,
|
|
188
|
+
"createdBy" text,
|
|
189
|
+
"updatedBy" text,
|
|
190
|
+
"createdAt" timestamp with time zone DEFAULT now(),
|
|
191
|
+
"updatedAt" timestamp with time zone DEFAULT now()
|
|
192
|
+
);
|
|
193
|
+
--> statement-breakpoint
|
|
194
|
+
CREATE UNIQUE INDEX "kanban_board_scope_name_unique" ON "projectman_kanban_boards" USING btree ("tenantId","scopeId","name");--> statement-breakpoint
|
|
195
|
+
CREATE UNIQUE INDEX "kanban_board_scope_slug_unique" ON "projectman_kanban_boards" USING btree ("tenantId","scopeId","slug");--> statement-breakpoint
|
|
196
|
+
CREATE UNIQUE INDEX "kanban_board_position_unique" ON "projectman_kanban_boards" USING btree ("tenantId","scopeId","position");--> statement-breakpoint
|
|
197
|
+
CREATE INDEX "kanban_board_idx_tenant" ON "projectman_kanban_boards" USING btree ("tenantId");--> statement-breakpoint
|
|
198
|
+
CREATE INDEX "kanban_board_idx_scope" ON "projectman_kanban_boards" USING btree ("tenantId","scopeId");--> statement-breakpoint
|
|
199
|
+
CREATE INDEX "kanban_column_idx_tenant" ON "projectman_kanban_columns" USING btree ("tenantId");--> statement-breakpoint
|
|
200
|
+
CREATE INDEX "kanban_column_idx_scope" ON "projectman_kanban_columns" USING btree ("tenantId","scopeId");--> statement-breakpoint
|
|
201
|
+
CREATE INDEX "kanban_column_idx_status" ON "projectman_kanban_columns" USING btree ("tenantId","statusKey");--> statement-breakpoint
|
|
202
|
+
CREATE UNIQUE INDEX "kanban_column_group_position_unique" ON "projectman_kanban_column_groups" USING btree ("tenantId","columnId","position");--> statement-breakpoint
|
|
203
|
+
CREATE INDEX "kanban_column_group_idx_tenant" ON "projectman_kanban_column_groups" USING btree ("tenantId");--> statement-breakpoint
|
|
204
|
+
CREATE INDEX "kanban_column_group_idx_scope" ON "projectman_kanban_column_groups" USING btree ("tenantId","scopeId");--> statement-breakpoint
|
|
205
|
+
CREATE INDEX "kanban_column_group_idx_column" ON "projectman_kanban_column_groups" USING btree ("tenantId","columnId");--> statement-breakpoint
|
|
206
|
+
CREATE UNIQUE INDEX "kanban_board_column_unique" ON "projectman_kanban_board_columns" USING btree ("tenantId","boardId","columnId");--> statement-breakpoint
|
|
207
|
+
CREATE UNIQUE INDEX "kanban_board_column_position_unique" ON "projectman_kanban_board_columns" USING btree ("tenantId","boardId","position");--> statement-breakpoint
|
|
208
|
+
CREATE INDEX "kanban_board_column_idx_tenant" ON "projectman_kanban_board_columns" USING btree ("tenantId");--> statement-breakpoint
|
|
209
|
+
CREATE INDEX "kanban_board_column_idx_scope" ON "projectman_kanban_board_columns" USING btree ("tenantId","scopeId");--> statement-breakpoint
|
|
210
|
+
CREATE INDEX "kanban_board_column_idx_board" ON "projectman_kanban_board_columns" USING btree ("tenantId","boardId");--> statement-breakpoint
|
|
211
|
+
CREATE INDEX "kanban_board_column_idx_column" ON "projectman_kanban_board_columns" USING btree ("tenantId","columnId");--> statement-breakpoint
|
|
212
|
+
CREATE UNIQUE INDEX "kanban_task_position_unique" ON "projectman_kanban_tasks" USING btree ("tenantId","boardColumnId","columnGroupId","position");--> statement-breakpoint
|
|
213
|
+
CREATE INDEX "kanban_task_idx_tenant" ON "projectman_kanban_tasks" USING btree ("tenantId");--> statement-breakpoint
|
|
214
|
+
CREATE INDEX "kanban_task_idx_scope" ON "projectman_kanban_tasks" USING btree ("tenantId","scopeId");--> statement-breakpoint
|
|
215
|
+
CREATE INDEX "kanban_task_idx_board" ON "projectman_kanban_tasks" USING btree ("tenantId","boardId");--> statement-breakpoint
|
|
216
|
+
CREATE INDEX "kanban_task_idx_board_column" ON "projectman_kanban_tasks" USING btree ("tenantId","boardColumnId");--> statement-breakpoint
|
|
217
|
+
CREATE INDEX "kanban_task_idx_column_group" ON "projectman_kanban_tasks" USING btree ("tenantId","columnGroupId");--> statement-breakpoint
|
|
218
|
+
CREATE INDEX "kanban_task_idx_sprint" ON "projectman_kanban_tasks" USING btree ("tenantId","sprintId");--> statement-breakpoint
|
|
219
|
+
CREATE UNIQUE INDEX "kanban_task_scope_code_unique" ON "projectman_kanban_tasks" USING btree ("tenantId","scopeId","taskCode");--> statement-breakpoint
|
|
220
|
+
CREATE UNIQUE INDEX "kanban_task_scope_slug_unique" ON "projectman_kanban_tasks" USING btree ("tenantId","scopeId","slug");--> statement-breakpoint
|
|
221
|
+
CREATE UNIQUE INDEX "projectman_kanban_template_name_unique" ON "projectman_kanban_templates" USING btree ("tenantId","scopeId","name");--> statement-breakpoint
|
|
222
|
+
CREATE INDEX "projectman_kanban_template_idx_tenant" ON "projectman_kanban_templates" USING btree ("tenantId");--> statement-breakpoint
|
|
223
|
+
CREATE INDEX "projectman_kanban_template_idx_scope" ON "projectman_kanban_templates" USING btree ("tenantId","scopeId");--> statement-breakpoint
|
|
224
|
+
CREATE INDEX "projectman_event_idx_tenant" ON "projectman_events" USING btree ("tenantId");--> statement-breakpoint
|
|
225
|
+
CREATE INDEX "projectman_event_idx_scope" ON "projectman_events" USING btree ("tenantId","scopeId");--> statement-breakpoint
|
|
226
|
+
CREATE INDEX "projectman_event_idx_entity" ON "projectman_events" USING btree ("tenantId","entityType","entityId");--> statement-breakpoint
|
|
227
|
+
CREATE INDEX "projectman_event_idx_action" ON "projectman_events" USING btree ("tenantId","action");--> statement-breakpoint
|
|
228
|
+
CREATE INDEX "projectman_event_idx_created_at" ON "projectman_events" USING btree ("tenantId","createdAt");--> statement-breakpoint
|
|
229
|
+
CREATE INDEX "projectman_sprint_idx_tenant" ON "projectman_sprints" USING btree ("tenantId");--> statement-breakpoint
|
|
230
|
+
CREATE INDEX "projectman_sprint_idx_scope" ON "projectman_sprints" USING btree ("tenantId","scopeId");--> statement-breakpoint
|
|
231
|
+
CREATE INDEX "projectman_sprint_idx_kanban_task" ON "projectman_sprints" USING btree ("tenantId","kanbanTaskId");--> statement-breakpoint
|
|
232
|
+
CREATE UNIQUE INDEX "projectman_sprint_task_unique" ON "projectman_sprints" USING btree ("tenantId","kanbanTaskId");--> statement-breakpoint
|
|
233
|
+
CREATE UNIQUE INDEX "projectman_sprint_phase_position_unique" ON "projectman_sprint_phases" USING btree ("tenantId","sprintId","position");--> statement-breakpoint
|
|
234
|
+
CREATE INDEX "projectman_sprint_phase_idx_tenant" ON "projectman_sprint_phases" USING btree ("tenantId");--> statement-breakpoint
|
|
235
|
+
CREATE INDEX "projectman_sprint_phase_idx_sprint" ON "projectman_sprint_phases" USING btree ("tenantId","sprintId");--> statement-breakpoint
|
|
236
|
+
CREATE UNIQUE INDEX "projectman_sprint_microtask_position_unique" ON "projectman_sprint_microtasks" USING btree ("tenantId","phaseId","position");--> statement-breakpoint
|
|
237
|
+
CREATE INDEX "projectman_sprint_microtask_idx_tenant" ON "projectman_sprint_microtasks" USING btree ("tenantId");--> statement-breakpoint
|
|
238
|
+
CREATE INDEX "projectman_sprint_microtask_idx_phase" ON "projectman_sprint_microtasks" USING btree ("tenantId","phaseId");--> statement-breakpoint
|
|
239
|
+
CREATE INDEX "issue_item_idx_tenant" ON "projectman_issue_items" USING btree ("tenantId");--> statement-breakpoint
|
|
240
|
+
CREATE INDEX "issue_item_idx_scope" ON "projectman_issue_items" USING btree ("tenantId","scopeId");--> statement-breakpoint
|
|
241
|
+
CREATE INDEX "issue_item_idx_status" ON "projectman_issue_items" USING btree ("tenantId","scopeId","status");--> statement-breakpoint
|
|
242
|
+
CREATE INDEX "issue_item_idx_severity" ON "projectman_issue_items" USING btree ("tenantId","scopeId","severity");--> statement-breakpoint
|
|
243
|
+
CREATE INDEX "issue_item_idx_source" ON "projectman_issue_items" USING btree ("tenantId","scopeId","source");--> statement-breakpoint
|
|
244
|
+
CREATE INDEX "issue_item_idx_sprint" ON "projectman_issue_items" USING btree ("tenantId","sprintId");--> statement-breakpoint
|
|
245
|
+
CREATE INDEX "issue_item_idx_kanban_task" ON "projectman_issue_items" USING btree ("tenantId","kanbanTaskId");--> statement-breakpoint
|
|
246
|
+
CREATE INDEX "issue_item_idx_micro_task" ON "projectman_issue_items" USING btree ("tenantId","microTaskItemId");--> statement-breakpoint
|
|
247
|
+
CREATE INDEX "issue_item_idx_created_at" ON "projectman_issue_items" USING btree ("tenantId","createdAt");--> statement-breakpoint
|
|
248
|
+
CREATE INDEX "feedback_item_idx_tenant" ON "projectman_feedback_items" USING btree ("tenantId");--> statement-breakpoint
|
|
249
|
+
CREATE INDEX "feedback_item_idx_scope" ON "projectman_feedback_items" USING btree ("tenantId","scopeId");--> statement-breakpoint
|
|
250
|
+
CREATE INDEX "feedback_item_idx_status" ON "projectman_feedback_items" USING btree ("tenantId","scopeId","status");--> statement-breakpoint
|
|
251
|
+
CREATE INDEX "feedback_item_idx_type" ON "projectman_feedback_items" USING btree ("tenantId","scopeId","type");--> statement-breakpoint
|
|
252
|
+
CREATE INDEX "feedback_item_idx_severity" ON "projectman_feedback_items" USING btree ("tenantId","scopeId","severity");--> statement-breakpoint
|
|
253
|
+
CREATE INDEX "feedback_item_idx_source" ON "projectman_feedback_items" USING btree ("tenantId","scopeId","source");--> statement-breakpoint
|
|
254
|
+
CREATE INDEX "feedback_item_idx_sprint" ON "projectman_feedback_items" USING btree ("tenantId","sprintId");--> statement-breakpoint
|
|
255
|
+
CREATE INDEX "feedback_item_idx_kanban_task" ON "projectman_feedback_items" USING btree ("tenantId","kanbanTaskId");--> statement-breakpoint
|
|
256
|
+
CREATE INDEX "feedback_item_idx_micro_task" ON "projectman_feedback_items" USING btree ("tenantId","microTaskItemId");--> statement-breakpoint
|
|
257
|
+
CREATE INDEX "feedback_item_idx_created_at" ON "projectman_feedback_items" USING btree ("tenantId","createdAt");
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
ALTER TABLE "projectman_kanban_column_groups" DISABLE ROW LEVEL SECURITY;--> statement-breakpoint
|
|
2
|
+
DROP TABLE "projectman_kanban_column_groups" CASCADE;--> statement-breakpoint
|
|
3
|
+
ALTER TABLE "projectman_kanban_columns" RENAME COLUMN "statusKey" TO "slug";--> statement-breakpoint
|
|
4
|
+
DROP INDEX "kanban_column_idx_status";--> statement-breakpoint
|
|
5
|
+
DROP INDEX "kanban_task_idx_column_group";--> statement-breakpoint
|
|
6
|
+
DROP INDEX "kanban_task_position_unique";--> statement-breakpoint
|
|
7
|
+
CREATE UNIQUE INDEX "kanban_column_scope_slug_unique" ON "projectman_kanban_columns" USING btree ("tenantId","scopeId","slug");--> statement-breakpoint
|
|
8
|
+
CREATE UNIQUE INDEX "kanban_task_position_unique" ON "projectman_kanban_tasks" USING btree ("tenantId","boardColumnId","position");--> statement-breakpoint
|
|
9
|
+
ALTER TABLE "projectman_kanban_tasks" DROP COLUMN "columnGroupId";
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
DO $$
|
|
2
|
+
BEGIN
|
|
3
|
+
IF EXISTS (
|
|
4
|
+
SELECT 1
|
|
5
|
+
FROM information_schema.tables
|
|
6
|
+
WHERE table_schema = 'public'
|
|
7
|
+
AND table_name = 'projectman_kanban_board_groups'
|
|
8
|
+
) AND NOT EXISTS (
|
|
9
|
+
SELECT 1
|
|
10
|
+
FROM information_schema.tables
|
|
11
|
+
WHERE table_schema = 'public'
|
|
12
|
+
AND table_name = 'projectman_kanban_boards'
|
|
13
|
+
) THEN
|
|
14
|
+
ALTER TABLE "projectman_kanban_board_groups" RENAME TO "projectman_kanban_boards";
|
|
15
|
+
END IF;
|
|
16
|
+
END $$;
|
|
17
|
+
--> statement-breakpoint
|
|
18
|
+
DO $$
|
|
19
|
+
BEGIN
|
|
20
|
+
IF EXISTS (
|
|
21
|
+
SELECT 1
|
|
22
|
+
FROM information_schema.columns
|
|
23
|
+
WHERE table_schema = 'public'
|
|
24
|
+
AND table_name = 'projectman_kanban_board_columns'
|
|
25
|
+
AND column_name = 'boardGroupId'
|
|
26
|
+
) THEN
|
|
27
|
+
ALTER TABLE "projectman_kanban_board_columns" RENAME COLUMN "boardGroupId" TO "boardId";
|
|
28
|
+
END IF;
|
|
29
|
+
END $$;
|
|
30
|
+
--> statement-breakpoint
|
|
31
|
+
DO $$
|
|
32
|
+
BEGIN
|
|
33
|
+
IF EXISTS (
|
|
34
|
+
SELECT 1
|
|
35
|
+
FROM information_schema.columns
|
|
36
|
+
WHERE table_schema = 'public'
|
|
37
|
+
AND table_name = 'projectman_kanban_tasks'
|
|
38
|
+
AND column_name = 'boardGroupId'
|
|
39
|
+
) THEN
|
|
40
|
+
ALTER TABLE "projectman_kanban_tasks" RENAME COLUMN "boardGroupId" TO "boardId";
|
|
41
|
+
END IF;
|
|
42
|
+
END $$;
|
|
43
|
+
--> statement-breakpoint
|
|
44
|
+
DO $$
|
|
45
|
+
BEGIN
|
|
46
|
+
IF EXISTS (SELECT 1 FROM pg_indexes WHERE schemaname = 'public' AND indexname = 'kanban_board_group_scope_name_unique')
|
|
47
|
+
AND NOT EXISTS (SELECT 1 FROM pg_indexes WHERE schemaname = 'public' AND indexname = 'kanban_board_scope_name_unique') THEN
|
|
48
|
+
ALTER INDEX "kanban_board_group_scope_name_unique" RENAME TO "kanban_board_scope_name_unique";
|
|
49
|
+
ELSIF EXISTS (SELECT 1 FROM pg_indexes WHERE schemaname = 'public' AND indexname = 'kanban_board_group_scope_name_unique')
|
|
50
|
+
AND EXISTS (SELECT 1 FROM pg_indexes WHERE schemaname = 'public' AND indexname = 'kanban_board_scope_name_unique') THEN
|
|
51
|
+
DROP INDEX "kanban_board_group_scope_name_unique";
|
|
52
|
+
END IF;
|
|
53
|
+
END $$;
|
|
54
|
+
--> statement-breakpoint
|
|
55
|
+
DO $$
|
|
56
|
+
BEGIN
|
|
57
|
+
IF EXISTS (SELECT 1 FROM pg_indexes WHERE schemaname = 'public' AND indexname = 'kanban_board_group_scope_slug_unique')
|
|
58
|
+
AND NOT EXISTS (SELECT 1 FROM pg_indexes WHERE schemaname = 'public' AND indexname = 'kanban_board_scope_slug_unique') THEN
|
|
59
|
+
ALTER INDEX "kanban_board_group_scope_slug_unique" RENAME TO "kanban_board_scope_slug_unique";
|
|
60
|
+
ELSIF EXISTS (SELECT 1 FROM pg_indexes WHERE schemaname = 'public' AND indexname = 'kanban_board_group_scope_slug_unique')
|
|
61
|
+
AND EXISTS (SELECT 1 FROM pg_indexes WHERE schemaname = 'public' AND indexname = 'kanban_board_scope_slug_unique') THEN
|
|
62
|
+
DROP INDEX "kanban_board_group_scope_slug_unique";
|
|
63
|
+
END IF;
|
|
64
|
+
END $$;
|
|
65
|
+
--> statement-breakpoint
|
|
66
|
+
DO $$
|
|
67
|
+
BEGIN
|
|
68
|
+
IF EXISTS (SELECT 1 FROM pg_indexes WHERE schemaname = 'public' AND indexname = 'kanban_board_group_position_unique')
|
|
69
|
+
AND NOT EXISTS (SELECT 1 FROM pg_indexes WHERE schemaname = 'public' AND indexname = 'kanban_board_position_unique') THEN
|
|
70
|
+
ALTER INDEX "kanban_board_group_position_unique" RENAME TO "kanban_board_position_unique";
|
|
71
|
+
ELSIF EXISTS (SELECT 1 FROM pg_indexes WHERE schemaname = 'public' AND indexname = 'kanban_board_group_position_unique')
|
|
72
|
+
AND EXISTS (SELECT 1 FROM pg_indexes WHERE schemaname = 'public' AND indexname = 'kanban_board_position_unique') THEN
|
|
73
|
+
DROP INDEX "kanban_board_group_position_unique";
|
|
74
|
+
END IF;
|
|
75
|
+
END $$;
|
|
76
|
+
--> statement-breakpoint
|
|
77
|
+
DO $$
|
|
78
|
+
BEGIN
|
|
79
|
+
IF EXISTS (SELECT 1 FROM pg_indexes WHERE schemaname = 'public' AND indexname = 'kanban_board_group_idx_tenant')
|
|
80
|
+
AND NOT EXISTS (SELECT 1 FROM pg_indexes WHERE schemaname = 'public' AND indexname = 'kanban_board_idx_tenant') THEN
|
|
81
|
+
ALTER INDEX "kanban_board_group_idx_tenant" RENAME TO "kanban_board_idx_tenant";
|
|
82
|
+
ELSIF EXISTS (SELECT 1 FROM pg_indexes WHERE schemaname = 'public' AND indexname = 'kanban_board_group_idx_tenant')
|
|
83
|
+
AND EXISTS (SELECT 1 FROM pg_indexes WHERE schemaname = 'public' AND indexname = 'kanban_board_idx_tenant') THEN
|
|
84
|
+
DROP INDEX "kanban_board_group_idx_tenant";
|
|
85
|
+
END IF;
|
|
86
|
+
END $$;
|
|
87
|
+
--> statement-breakpoint
|
|
88
|
+
DO $$
|
|
89
|
+
BEGIN
|
|
90
|
+
IF EXISTS (SELECT 1 FROM pg_indexes WHERE schemaname = 'public' AND indexname = 'kanban_board_group_idx_scope')
|
|
91
|
+
AND NOT EXISTS (SELECT 1 FROM pg_indexes WHERE schemaname = 'public' AND indexname = 'kanban_board_idx_scope') THEN
|
|
92
|
+
ALTER INDEX "kanban_board_group_idx_scope" RENAME TO "kanban_board_idx_scope";
|
|
93
|
+
ELSIF EXISTS (SELECT 1 FROM pg_indexes WHERE schemaname = 'public' AND indexname = 'kanban_board_group_idx_scope')
|
|
94
|
+
AND EXISTS (SELECT 1 FROM pg_indexes WHERE schemaname = 'public' AND indexname = 'kanban_board_idx_scope') THEN
|
|
95
|
+
DROP INDEX "kanban_board_group_idx_scope";
|
|
96
|
+
END IF;
|
|
97
|
+
END $$;
|
|
98
|
+
--> statement-breakpoint
|
|
99
|
+
DO $$
|
|
100
|
+
BEGIN
|
|
101
|
+
IF EXISTS (SELECT 1 FROM pg_indexes WHERE schemaname = 'public' AND indexname = 'kanban_task_idx_board_group')
|
|
102
|
+
AND NOT EXISTS (SELECT 1 FROM pg_indexes WHERE schemaname = 'public' AND indexname = 'kanban_task_idx_board') THEN
|
|
103
|
+
ALTER INDEX "kanban_task_idx_board_group" RENAME TO "kanban_task_idx_board";
|
|
104
|
+
ELSIF EXISTS (SELECT 1 FROM pg_indexes WHERE schemaname = 'public' AND indexname = 'kanban_task_idx_board_group')
|
|
105
|
+
AND EXISTS (SELECT 1 FROM pg_indexes WHERE schemaname = 'public' AND indexname = 'kanban_task_idx_board') THEN
|
|
106
|
+
DROP INDEX "kanban_task_idx_board_group";
|
|
107
|
+
END IF;
|
|
108
|
+
END $$;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
ALTER TABLE "projectman_issue_items" ADD COLUMN IF NOT EXISTS "reviewRequestId" uuid;
|
|
2
|
+
--> statement-breakpoint
|
|
3
|
+
CREATE INDEX IF NOT EXISTS "issue_item_idx_review_request" ON "projectman_issue_items" USING btree ("tenantId","reviewRequestId");
|
|
4
|
+
--> statement-breakpoint
|
|
5
|
+
CREATE TABLE IF NOT EXISTS "projectman_review_requests" (
|
|
6
|
+
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
7
|
+
"tenantId" text NOT NULL,
|
|
8
|
+
"scopeId" uuid NOT NULL,
|
|
9
|
+
"sprintId" uuid,
|
|
10
|
+
"kanbanTaskId" uuid,
|
|
11
|
+
"microTaskItemId" uuid,
|
|
12
|
+
"collabSessionId" text,
|
|
13
|
+
"collabRequestEventId" text,
|
|
14
|
+
"collabResultEventIds" jsonb,
|
|
15
|
+
"parentReviewRequestId" uuid,
|
|
16
|
+
"rootReviewRequestId" uuid,
|
|
17
|
+
"title" text NOT NULL,
|
|
18
|
+
"description" text,
|
|
19
|
+
"reviewScope" text,
|
|
20
|
+
"instructions" text,
|
|
21
|
+
"references" jsonb,
|
|
22
|
+
"status" text NOT NULL,
|
|
23
|
+
"priority" text NOT NULL,
|
|
24
|
+
"source" text NOT NULL,
|
|
25
|
+
"tags" jsonb,
|
|
26
|
+
"requestedBy" text,
|
|
27
|
+
"targetAgent" text,
|
|
28
|
+
"targetSlot" text,
|
|
29
|
+
"results" jsonb,
|
|
30
|
+
"notes" text,
|
|
31
|
+
"meta" jsonb,
|
|
32
|
+
"requestedAt" timestamp with time zone,
|
|
33
|
+
"closedAt" timestamp with time zone,
|
|
34
|
+
"createdBy" text,
|
|
35
|
+
"updatedBy" text,
|
|
36
|
+
"createdAt" timestamp with time zone DEFAULT now(),
|
|
37
|
+
"updatedAt" timestamp with time zone DEFAULT now()
|
|
38
|
+
);
|
|
39
|
+
--> statement-breakpoint
|
|
40
|
+
CREATE INDEX IF NOT EXISTS "review_request_idx_tenant" ON "projectman_review_requests" USING btree ("tenantId");
|
|
41
|
+
--> statement-breakpoint
|
|
42
|
+
CREATE INDEX IF NOT EXISTS "review_request_idx_scope" ON "projectman_review_requests" USING btree ("tenantId","scopeId");
|
|
43
|
+
--> statement-breakpoint
|
|
44
|
+
CREATE INDEX IF NOT EXISTS "review_request_idx_status" ON "projectman_review_requests" USING btree ("tenantId","scopeId","status");
|
|
45
|
+
--> statement-breakpoint
|
|
46
|
+
CREATE INDEX IF NOT EXISTS "review_request_idx_priority" ON "projectman_review_requests" USING btree ("tenantId","scopeId","priority");
|
|
47
|
+
--> statement-breakpoint
|
|
48
|
+
CREATE INDEX IF NOT EXISTS "review_request_idx_source" ON "projectman_review_requests" USING btree ("tenantId","scopeId","source");
|
|
49
|
+
--> statement-breakpoint
|
|
50
|
+
CREATE INDEX IF NOT EXISTS "review_request_idx_sprint" ON "projectman_review_requests" USING btree ("tenantId","sprintId");
|
|
51
|
+
--> statement-breakpoint
|
|
52
|
+
CREATE INDEX IF NOT EXISTS "review_request_idx_kanban_task" ON "projectman_review_requests" USING btree ("tenantId","kanbanTaskId");
|
|
53
|
+
--> statement-breakpoint
|
|
54
|
+
CREATE INDEX IF NOT EXISTS "review_request_idx_micro_task" ON "projectman_review_requests" USING btree ("tenantId","microTaskItemId");
|
|
55
|
+
--> statement-breakpoint
|
|
56
|
+
CREATE INDEX IF NOT EXISTS "review_request_idx_target_agent" ON "projectman_review_requests" USING btree ("tenantId","targetAgent");
|
|
57
|
+
--> statement-breakpoint
|
|
58
|
+
CREATE INDEX IF NOT EXISTS "review_request_idx_parent" ON "projectman_review_requests" USING btree ("tenantId","parentReviewRequestId");
|
|
59
|
+
--> statement-breakpoint
|
|
60
|
+
CREATE INDEX IF NOT EXISTS "review_request_idx_root" ON "projectman_review_requests" USING btree ("tenantId","rootReviewRequestId");
|
|
61
|
+
--> statement-breakpoint
|
|
62
|
+
CREATE INDEX IF NOT EXISTS "review_request_idx_created_at" ON "projectman_review_requests" USING btree ("tenantId","createdAt");
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
DROP INDEX IF EXISTS "projectman_sprint_task_unique";
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "7",
|
|
3
|
+
"dialect": "postgresql",
|
|
4
|
+
"entries": [
|
|
5
|
+
{
|
|
6
|
+
"idx": 0,
|
|
7
|
+
"version": "7",
|
|
8
|
+
"when": 1775239515682,
|
|
9
|
+
"tag": "0000_smooth_klaw",
|
|
10
|
+
"breakpoints": true
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"idx": 1,
|
|
14
|
+
"version": "7",
|
|
15
|
+
"when": 1775911985466,
|
|
16
|
+
"tag": "0001_worthless_zodiak",
|
|
17
|
+
"breakpoints": true
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"idx": 2,
|
|
21
|
+
"version": "7",
|
|
22
|
+
"when": 1775917200000,
|
|
23
|
+
"tag": "0002_board_rename",
|
|
24
|
+
"breakpoints": true
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"idx": 3,
|
|
28
|
+
"version": "7",
|
|
29
|
+
"when": 1775920800000,
|
|
30
|
+
"tag": "0003_review_request",
|
|
31
|
+
"breakpoints": true
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"idx": 4,
|
|
35
|
+
"version": "7",
|
|
36
|
+
"when": 1775924400000,
|
|
37
|
+
"tag": "0004_review_request_idempotency",
|
|
38
|
+
"breakpoints": true
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"idx": 5,
|
|
42
|
+
"version": "7",
|
|
43
|
+
"when": 1781421600000,
|
|
44
|
+
"tag": "0005_allow_multi_sprint_per_task",
|
|
45
|
+
"breakpoints": false
|
|
46
|
+
}
|
|
47
|
+
]
|
|
48
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
CREATE TABLE "sys_rate_limiters" (
|
|
2
|
+
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
3
|
+
"createdAt" timestamp with time zone DEFAULT now(),
|
|
4
|
+
"updatedAt" timestamp with time zone DEFAULT now(),
|
|
5
|
+
"tenantId" uuid NOT NULL,
|
|
6
|
+
"key" text NOT NULL,
|
|
7
|
+
"scope" text NOT NULL,
|
|
8
|
+
"attempts" integer DEFAULT 0 NOT NULL,
|
|
9
|
+
"windowStart" timestamp with time zone,
|
|
10
|
+
"resetAt" timestamp with time zone,
|
|
11
|
+
"blockedAt" timestamp with time zone
|
|
12
|
+
);
|
|
13
|
+
--> statement-breakpoint
|
|
14
|
+
CREATE TABLE "sys_event_stores" (
|
|
15
|
+
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
16
|
+
"createdAt" timestamp with time zone DEFAULT now(),
|
|
17
|
+
"updatedAt" timestamp with time zone DEFAULT now(),
|
|
18
|
+
"tenantId" uuid NOT NULL,
|
|
19
|
+
"eventType" text NOT NULL,
|
|
20
|
+
"aggregateId" text NOT NULL,
|
|
21
|
+
"eventData" text NOT NULL,
|
|
22
|
+
"version" integer DEFAULT 1 NOT NULL,
|
|
23
|
+
"occurredAt" timestamp with time zone DEFAULT now() NOT NULL
|
|
24
|
+
);
|
|
25
|
+
--> statement-breakpoint
|
|
26
|
+
CREATE UNIQUE INDEX " rate_limiter_tenant_key_type_idx" ON "sys_rate_limiters" USING btree ("tenantId","key","scope");--> statement-breakpoint
|
|
27
|
+
CREATE INDEX "idxTenantEventType" ON "sys_event_stores" USING btree ("tenantId","eventType");--> statement-breakpoint
|
|
28
|
+
CREATE INDEX "idxTenantAggregate" ON "sys_event_stores" USING btree ("tenantId","aggregateId");--> statement-breakpoint
|
|
29
|
+
CREATE INDEX "idxTenantOccurredAt" ON "sys_event_stores" USING btree ("tenantId","occurredAt");--> statement-breakpoint
|
|
30
|
+
CREATE INDEX "idxEventTypeOccurredAt" ON "sys_event_stores" USING btree ("eventType","occurredAt");--> statement-breakpoint
|
|
31
|
+
CREATE INDEX "idxAggregateVersion" ON "sys_event_stores" USING btree ("aggregateId","version");
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
DO $$
|
|
2
|
+
DECLARE
|
|
3
|
+
target_column_name text;
|
|
4
|
+
BEGIN
|
|
5
|
+
FOREACH target_column_name IN ARRAY ARRAY['createdAt', 'updatedAt', 'windowStart', 'resetAt', 'blockedAt', 'lastViolationAt']
|
|
6
|
+
LOOP
|
|
7
|
+
IF EXISTS (
|
|
8
|
+
SELECT 1
|
|
9
|
+
FROM information_schema.columns AS c
|
|
10
|
+
WHERE table_schema = 'public'
|
|
11
|
+
AND table_name = 'sys_rate_limiters'
|
|
12
|
+
AND c.column_name = target_column_name
|
|
13
|
+
AND data_type = 'timestamp without time zone'
|
|
14
|
+
) THEN
|
|
15
|
+
EXECUTE format(
|
|
16
|
+
'ALTER TABLE "sys_rate_limiters" ALTER COLUMN %I TYPE timestamp with time zone USING %I AT TIME ZONE ''UTC''',
|
|
17
|
+
target_column_name,
|
|
18
|
+
target_column_name
|
|
19
|
+
);
|
|
20
|
+
END IF;
|
|
21
|
+
END LOOP;
|
|
22
|
+
END $$;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
CREATE TABLE IF NOT EXISTS "sys_counters" (
|
|
2
|
+
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
3
|
+
"createdAt" timestamp with time zone DEFAULT now(),
|
|
4
|
+
"updatedAt" timestamp with time zone DEFAULT now(),
|
|
5
|
+
"tenantId" uuid NOT NULL,
|
|
6
|
+
"scopeId" text DEFAULT 'default' NOT NULL,
|
|
7
|
+
"counterKey" text NOT NULL,
|
|
8
|
+
"prefix" text,
|
|
9
|
+
"width" integer DEFAULT 5 NOT NULL,
|
|
10
|
+
"nextValue" integer DEFAULT 1 NOT NULL,
|
|
11
|
+
"step" integer DEFAULT 1 NOT NULL,
|
|
12
|
+
"lastValue" integer,
|
|
13
|
+
"lastFormattedValue" text,
|
|
14
|
+
"metadataJson" jsonb
|
|
15
|
+
);
|
|
16
|
+
--> statement-breakpoint
|
|
17
|
+
ALTER TABLE "sys_counters" ADD COLUMN IF NOT EXISTS "metadataJson" jsonb;
|
|
18
|
+
--> statement-breakpoint
|
|
19
|
+
CREATE UNIQUE INDEX IF NOT EXISTS "sys_counter_tenant_scope_key_uidx" ON "sys_counters" USING btree ("tenantId","scopeId","counterKey");
|
|
20
|
+
--> statement-breakpoint
|
|
21
|
+
CREATE INDEX IF NOT EXISTS "sys_counter_tenant_scope_idx" ON "sys_counters" USING btree ("tenantId","scopeId");
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "7",
|
|
3
|
+
"dialect": "postgresql",
|
|
4
|
+
"entries": [
|
|
5
|
+
{
|
|
6
|
+
"idx": 0,
|
|
7
|
+
"version": "7",
|
|
8
|
+
"when": 1771695753690,
|
|
9
|
+
"tag": "0000_loose_praxagora",
|
|
10
|
+
"breakpoints": true
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"idx": 1,
|
|
14
|
+
"version": "7",
|
|
15
|
+
"when": 1771699083985,
|
|
16
|
+
"tag": "0001_awesome_ronan",
|
|
17
|
+
"breakpoints": true
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"idx": 2,
|
|
21
|
+
"version": "7",
|
|
22
|
+
"when": 1771706294810,
|
|
23
|
+
"tag": "0002_steady_maximus",
|
|
24
|
+
"breakpoints": true
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"idx": 3,
|
|
28
|
+
"version": "7",
|
|
29
|
+
"when": 1780925199170,
|
|
30
|
+
"tag": "0003_escalating_rate_limiter",
|
|
31
|
+
"breakpoints": true
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"idx": 4,
|
|
35
|
+
"version": "7",
|
|
36
|
+
"when": 1780926140000,
|
|
37
|
+
"tag": "0004_rate_limiter_timestamptz",
|
|
38
|
+
"breakpoints": true
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"idx": 5,
|
|
42
|
+
"version": "7",
|
|
43
|
+
"when": 1781433600000,
|
|
44
|
+
"tag": "0005_sys_counters",
|
|
45
|
+
"breakpoints": true
|
|
46
|
+
}
|
|
47
|
+
]
|
|
48
|
+
}
|