@ooneex/typeorm 0.0.1 → 0.4.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/dist/shared/chunk-19qhst35.js +5 -0
- package/dist/shared/chunk-19qhst35.js.map +12 -0
- package/dist/shared/chunk-31y260d6.js +101 -0
- package/dist/shared/chunk-31y260d6.js.map +11 -0
- package/dist/shared/chunk-59vwmfpm.js +5 -0
- package/dist/shared/chunk-59vwmfpm.js.map +9 -0
- package/dist/shared/chunk-5tnqjb3n.js +5 -0
- package/dist/shared/{chunk-eh420jqn.js.map → chunk-5tnqjb3n.js.map} +2 -2
- package/dist/shared/chunk-5ybg5hda.js +5 -0
- package/dist/shared/{chunk-pwhygf44.js.map → chunk-5ybg5hda.js.map} +2 -2
- package/dist/shared/chunk-6jnj2pfx.js +5 -0
- package/dist/shared/chunk-6jnj2pfx.js.map +10 -0
- package/dist/shared/chunk-6kdkyjbn.js +5 -0
- package/dist/shared/chunk-6kdkyjbn.js.map +10 -0
- package/dist/shared/chunk-aj0aak90.js +42 -0
- package/dist/shared/chunk-aj0aak90.js.map +10 -0
- package/dist/shared/chunk-e51ktjsq.js +5 -0
- package/dist/shared/chunk-e51ktjsq.js.map +18 -0
- package/dist/shared/chunk-jr0xys18.js +36 -0
- package/dist/shared/chunk-jr0xys18.js.map +10 -0
- package/dist/shared/chunk-kw4t1san.js +5 -0
- package/dist/shared/{chunk-wawk30n1.js.map → chunk-kw4t1san.js.map} +9 -4
- package/dist/shared/chunk-nfv9ce7v.js +5 -0
- package/dist/shared/{chunk-wmftwzcs.js.map → chunk-nfv9ce7v.js.map} +2 -2
- package/dist/shared/chunk-p22keb3y.js +5 -0
- package/dist/shared/{chunk-2e7zbxcq.js.map → chunk-p22keb3y.js.map} +2 -2
- package/dist/shared/chunk-pbns711f.js +5 -0
- package/dist/shared/chunk-pbns711f.js.map +10 -0
- package/dist/shared/chunk-qrs0g3m9.js +51 -0
- package/dist/shared/chunk-qrs0g3m9.js.map +10 -0
- package/dist/shared/chunk-qyf32qsz.js +82 -0
- package/dist/shared/chunk-qyf32qsz.js.map +10 -0
- package/dist/shared/chunk-t1jad451.js +5 -0
- package/dist/shared/chunk-t1jad451.js.map +21 -0
- package/dist/shared/chunk-t5cy307m.js +5 -0
- package/dist/shared/chunk-t5cy307m.js.map +10 -0
- package/dist/shared/chunk-x2d798hg.js +5 -0
- package/dist/shared/chunk-x2d798hg.js.map +11 -0
- package/dist/shared/chunk-x3pmm3na.js +5 -0
- package/dist/shared/chunk-x3pmm3na.js.map +21 -0
- package/dist/shared/chunk-xrqhqgen.js +5 -0
- package/dist/shared/{chunk-j7nprmyh.js.map → chunk-xrqhqgen.js.map} +2 -2
- package/dist/shared/chunk-xwe8m6av.js +5 -0
- package/dist/shared/{chunk-zmzz7hqq.js.map → chunk-xwe8m6av.js.map} +2 -2
- package/dist/shared/chunk-yrwsqc6r.js +5 -0
- package/dist/shared/chunk-yrwsqc6r.js.map +21 -0
- package/dist/src/entities/book/index.d.ts +80 -3
- package/dist/src/entities/book/index.js +2 -2
- package/dist/src/entities/book/index.js.map +1 -1
- package/dist/src/entities/common/index.d.ts +21 -28
- package/dist/src/entities/common/index.js +2 -2
- package/dist/src/entities/common/index.js.map +1 -1
- package/dist/src/entities/country/index.d.ts +21 -0
- package/dist/src/entities/country/index.js +4 -0
- package/dist/src/entities/country/index.js.map +9 -0
- package/dist/src/entities/currency/index.d.ts +23 -0
- package/dist/src/entities/currency/index.js +4 -0
- package/dist/src/entities/currency/index.js.map +9 -0
- package/dist/src/entities/folder/index.d.ts +104 -0
- package/dist/src/entities/folder/index.js +4 -0
- package/dist/src/entities/folder/index.js.map +19 -0
- package/dist/src/entities/gamification/flashcard/index.js +2 -2
- package/dist/src/entities/gamification/flashcard/index.js.map +1 -1
- package/dist/src/entities/gamification/index.js +2 -2
- package/dist/src/entities/gamification/index.js.map +1 -1
- package/dist/src/entities/gamification/mcq/index.d.ts +76 -7
- package/dist/src/entities/gamification/mcq/index.js +2 -2
- package/dist/src/entities/gamification/mcq/index.js.map +1 -1
- package/dist/src/entities/image/index.d.ts +83 -6
- package/dist/src/entities/image/index.js +2 -2
- package/dist/src/entities/image/index.js.map +1 -1
- package/dist/src/entities/medecine/index.d.ts +36 -0
- package/dist/src/entities/medecine/index.js +4 -0
- package/dist/src/entities/medecine/index.js.map +9 -0
- package/dist/src/entities/payment/index.js +2 -2
- package/dist/src/entities/payment/index.js.map +1 -1
- package/dist/src/entities/user/index.d.ts +48 -7
- package/dist/src/entities/user/index.js +2 -2
- package/dist/src/entities/user/index.js.map +1 -1
- package/dist/src/entities/video/index.d.ts +88 -10
- package/dist/src/entities/video/index.js +2 -2
- package/dist/src/entities/video/index.js.map +1 -1
- package/dist/src/migrations/book/index.d.ts +97 -0
- package/dist/src/migrations/book/index.js +516 -0
- package/dist/src/migrations/book/index.js.map +21 -0
- package/dist/src/migrations/common/index.d.ts +41 -0
- package/dist/src/migrations/common/index.js +57 -0
- package/dist/src/migrations/common/index.js.map +10 -0
- package/dist/src/migrations/country/index.d.ts +9 -0
- package/dist/src/migrations/country/index.js +40 -0
- package/dist/src/migrations/country/index.js.map +10 -0
- package/dist/src/migrations/currency/index.d.ts +9 -0
- package/dist/src/migrations/currency/index.js +44 -0
- package/dist/src/migrations/currency/index.js.map +10 -0
- package/dist/src/migrations/folder/index.d.ts +81 -0
- package/dist/src/migrations/folder/index.js +387 -0
- package/dist/src/migrations/folder/index.js.map +19 -0
- package/dist/src/migrations/gamification/flashcard/index.d.ts +57 -0
- package/dist/src/migrations/gamification/flashcard/index.js +420 -0
- package/dist/src/migrations/gamification/flashcard/index.js.map +16 -0
- package/dist/src/migrations/gamification/index.d.ts +9 -0
- package/dist/src/migrations/gamification/index.js +4 -0
- package/dist/src/migrations/gamification/index.js.map +9 -0
- package/dist/src/migrations/gamification/mcq/index.d.ts +97 -0
- package/dist/src/migrations/gamification/mcq/index.js +526 -0
- package/dist/src/migrations/gamification/mcq/index.js.map +21 -0
- package/dist/src/migrations/image/index.d.ts +81 -0
- package/dist/src/migrations/image/index.js +328 -0
- package/dist/src/migrations/image/index.js.map +18 -0
- package/dist/src/migrations/medecine/index.d.ts +25 -0
- package/dist/src/migrations/medecine/index.js +119 -0
- package/dist/src/migrations/medecine/index.js.map +12 -0
- package/dist/src/migrations/payment/index.d.ts +49 -0
- package/dist/src/migrations/payment/index.js +352 -0
- package/dist/src/migrations/payment/index.js.map +15 -0
- package/dist/src/migrations/user/index.d.ts +81 -0
- package/dist/src/migrations/user/index.js +309 -0
- package/dist/src/migrations/user/index.js.map +19 -0
- package/dist/src/migrations/video/index.d.ts +97 -0
- package/dist/src/migrations/video/index.js +289 -0
- package/dist/src/migrations/video/index.js.map +21 -0
- package/dist/src/repositories/book/index.d.ts +310 -35
- package/dist/src/repositories/book/index.js +2 -2
- package/dist/src/repositories/book/index.js.map +15 -6
- package/dist/src/repositories/common/index.d.ts +65 -94
- package/dist/src/repositories/common/index.js +2 -2
- package/dist/src/repositories/common/index.js.map +8 -9
- package/dist/src/repositories/country/index.d.ts +42 -0
- package/dist/src/repositories/country/index.js +4 -0
- package/dist/src/repositories/country/index.js.map +10 -0
- package/dist/src/repositories/currency/index.d.ts +44 -0
- package/dist/src/repositories/currency/index.js +4 -0
- package/dist/src/repositories/currency/index.js.map +10 -0
- package/dist/src/repositories/gamification/flashcard/index.d.ts +14 -14
- package/dist/src/repositories/gamification/flashcard/index.js +2 -2
- package/dist/src/repositories/gamification/flashcard/index.js.map +9 -9
- package/dist/src/repositories/gamification/index.d.ts +328 -83
- package/dist/src/repositories/gamification/index.js +2 -2
- package/dist/src/repositories/gamification/index.js.map +3 -3
- package/dist/src/repositories/gamification/mcq/index.d.ts +299 -54
- package/dist/src/repositories/gamification/mcq/index.js +2 -2
- package/dist/src/repositories/gamification/mcq/index.js.map +15 -7
- package/dist/src/repositories/image/index.d.ts +295 -20
- package/dist/src/repositories/image/index.js +2 -2
- package/dist/src/repositories/image/index.js.map +13 -4
- package/dist/src/repositories/medecine/index.d.ts +99 -0
- package/dist/src/repositories/medecine/index.js +4 -0
- package/dist/src/repositories/medecine/index.js.map +12 -0
- package/dist/src/repositories/payment/index.d.ts +12 -12
- package/dist/src/repositories/payment/index.js +2 -2
- package/dist/src/repositories/payment/index.js.map +8 -8
- package/dist/src/repositories/user/index.d.ts +210 -59
- package/dist/src/repositories/user/index.js +2 -2
- package/dist/src/repositories/user/index.js.map +13 -8
- package/dist/src/repositories/video/index.d.ts +330 -54
- package/dist/src/repositories/video/index.js +2 -2
- package/dist/src/repositories/video/index.js.map +15 -6
- package/package.json +188 -58
- package/dist/ooneex-typeorm-0.0.1.tgz +0 -0
- package/dist/shared/chunk-2e7zbxcq.js +0 -5
- package/dist/shared/chunk-764bzjhz.js +0 -5
- package/dist/shared/chunk-764bzjhz.js.map +0 -12
- package/dist/shared/chunk-eh420jqn.js +0 -5
- package/dist/shared/chunk-gjsgnzaq.js +0 -5
- package/dist/shared/chunk-gjsgnzaq.js.map +0 -10
- package/dist/shared/chunk-hw4vdg6q.js +0 -5
- package/dist/shared/chunk-hw4vdg6q.js.map +0 -10
- package/dist/shared/chunk-j7nprmyh.js +0 -5
- package/dist/shared/chunk-kgxsdeye.js +0 -5
- package/dist/shared/chunk-kgxsdeye.js.map +0 -13
- package/dist/shared/chunk-ntrrrvwt.js +0 -5
- package/dist/shared/chunk-ntrrrvwt.js.map +0 -12
- package/dist/shared/chunk-pwhygf44.js +0 -5
- package/dist/shared/chunk-sd6mmec6.js +0 -5
- package/dist/shared/chunk-sd6mmec6.js.map +0 -12
- package/dist/shared/chunk-wawk30n1.js +0 -5
- package/dist/shared/chunk-wmftwzcs.js +0 -5
- package/dist/shared/chunk-zmzz7hqq.js +0 -5
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { IMigration, MigrationClassType } from "@ooneex/migrations";
|
|
2
|
+
import { TransactionSQL } from "bun";
|
|
3
|
+
declare class Migration20251225181613479 implements IMigration {
|
|
4
|
+
up(tx: TransactionSQL): Promise<void>;
|
|
5
|
+
down(tx: TransactionSQL): Promise<void>;
|
|
6
|
+
getVersion(): string;
|
|
7
|
+
getDependencies(): MigrationClassType[];
|
|
8
|
+
}
|
|
9
|
+
import { IMigration as IMigration2, MigrationClassType as MigrationClassType2 } from "@ooneex/migrations";
|
|
10
|
+
import { TransactionSQL as TransactionSQL2 } from "bun";
|
|
11
|
+
declare class Migration20251225181613481 implements IMigration2 {
|
|
12
|
+
up(tx: TransactionSQL2): Promise<void>;
|
|
13
|
+
down(tx: TransactionSQL2): Promise<void>;
|
|
14
|
+
getVersion(): string;
|
|
15
|
+
getDependencies(): MigrationClassType2[];
|
|
16
|
+
}
|
|
17
|
+
import { IMigration as IMigration3, MigrationClassType as MigrationClassType3 } from "@ooneex/migrations";
|
|
18
|
+
import { TransactionSQL as TransactionSQL3 } from "bun";
|
|
19
|
+
declare class Migration20251225181613484 implements IMigration3 {
|
|
20
|
+
up(tx: TransactionSQL3): Promise<void>;
|
|
21
|
+
down(tx: TransactionSQL3): Promise<void>;
|
|
22
|
+
getVersion(): string;
|
|
23
|
+
getDependencies(): MigrationClassType3[];
|
|
24
|
+
}
|
|
25
|
+
import { IMigration as IMigration4, MigrationClassType as MigrationClassType4 } from "@ooneex/migrations";
|
|
26
|
+
import { TransactionSQL as TransactionSQL4 } from "bun";
|
|
27
|
+
declare class Migration20251225181613486 implements IMigration4 {
|
|
28
|
+
up(tx: TransactionSQL4): Promise<void>;
|
|
29
|
+
down(tx: TransactionSQL4): Promise<void>;
|
|
30
|
+
getVersion(): string;
|
|
31
|
+
getDependencies(): MigrationClassType4[];
|
|
32
|
+
}
|
|
33
|
+
import { IMigration as IMigration5, MigrationClassType as MigrationClassType5 } from "@ooneex/migrations";
|
|
34
|
+
import { TransactionSQL as TransactionSQL5 } from "bun";
|
|
35
|
+
declare class Migration20251225181613488 implements IMigration5 {
|
|
36
|
+
up(tx: TransactionSQL5): Promise<void>;
|
|
37
|
+
down(tx: TransactionSQL5): Promise<void>;
|
|
38
|
+
getVersion(): string;
|
|
39
|
+
getDependencies(): MigrationClassType5[];
|
|
40
|
+
}
|
|
41
|
+
import { IMigration as IMigration6, MigrationClassType as MigrationClassType6 } from "@ooneex/migrations";
|
|
42
|
+
import { TransactionSQL as TransactionSQL6 } from "bun";
|
|
43
|
+
declare class Migration20251225181613490 implements IMigration6 {
|
|
44
|
+
up(tx: TransactionSQL6): Promise<void>;
|
|
45
|
+
down(tx: TransactionSQL6): Promise<void>;
|
|
46
|
+
getVersion(): string;
|
|
47
|
+
getDependencies(): MigrationClassType6[];
|
|
48
|
+
}
|
|
49
|
+
import { IMigration as IMigration7, MigrationClassType as MigrationClassType7 } from "@ooneex/migrations";
|
|
50
|
+
import { TransactionSQL as TransactionSQL7 } from "bun";
|
|
51
|
+
declare class Migration20251225181613493 implements IMigration7 {
|
|
52
|
+
up(tx: TransactionSQL7): Promise<void>;
|
|
53
|
+
down(tx: TransactionSQL7): Promise<void>;
|
|
54
|
+
getVersion(): string;
|
|
55
|
+
getDependencies(): MigrationClassType7[];
|
|
56
|
+
}
|
|
57
|
+
import { IMigration as IMigration8, MigrationClassType as MigrationClassType8 } from "@ooneex/migrations";
|
|
58
|
+
import { TransactionSQL as TransactionSQL8 } from "bun";
|
|
59
|
+
declare class Migration20251225181613495 implements IMigration8 {
|
|
60
|
+
up(tx: TransactionSQL8): Promise<void>;
|
|
61
|
+
down(tx: TransactionSQL8): Promise<void>;
|
|
62
|
+
getVersion(): string;
|
|
63
|
+
getDependencies(): MigrationClassType8[];
|
|
64
|
+
}
|
|
65
|
+
import { IMigration as IMigration9, MigrationClassType as MigrationClassType9 } from "@ooneex/migrations";
|
|
66
|
+
import { TransactionSQL as TransactionSQL9 } from "bun";
|
|
67
|
+
declare class Migration20251225181613497 implements IMigration9 {
|
|
68
|
+
up(tx: TransactionSQL9): Promise<void>;
|
|
69
|
+
down(tx: TransactionSQL9): Promise<void>;
|
|
70
|
+
getVersion(): string;
|
|
71
|
+
getDependencies(): MigrationClassType9[];
|
|
72
|
+
}
|
|
73
|
+
import { IMigration as IMigration10, MigrationClassType as MigrationClassType10 } from "@ooneex/migrations";
|
|
74
|
+
import { TransactionSQL as TransactionSQL10 } from "bun";
|
|
75
|
+
declare class Migration20251225181613499 implements IMigration10 {
|
|
76
|
+
up(tx: TransactionSQL10): Promise<void>;
|
|
77
|
+
down(tx: TransactionSQL10): Promise<void>;
|
|
78
|
+
getVersion(): string;
|
|
79
|
+
getDependencies(): MigrationClassType10[];
|
|
80
|
+
}
|
|
81
|
+
export { Migration20251225181613499, Migration20251225181613497, Migration20251225181613495, Migration20251225181613493, Migration20251225181613490, Migration20251225181613488, Migration20251225181613486, Migration20251225181613484, Migration20251225181613481, Migration20251225181613479 };
|
|
@@ -0,0 +1,328 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{a as i}from"../../../shared/chunk-qyf32qsz.js";import"../../../shared/chunk-aj0aak90.js";import{e as o}from"../../../shared/chunk-31y260d6.js";import{Ha as a}from"../../../shared/chunk-59vwmfpm.js";import{decorator as l}from"@ooneex/migrations";class d{async up(e){await e`
|
|
3
|
+
CREATE TABLE IF NOT EXISTS images_stats (
|
|
4
|
+
id VARCHAR(25) PRIMARY KEY,
|
|
5
|
+
image_id VARCHAR(25),
|
|
6
|
+
likes_count INT DEFAULT 0,
|
|
7
|
+
dislikes_count INT DEFAULT 0,
|
|
8
|
+
comments_count INT DEFAULT 0,
|
|
9
|
+
shares_count INT DEFAULT 0,
|
|
10
|
+
saves_count INT DEFAULT 0,
|
|
11
|
+
downloads_count INT DEFAULT 0,
|
|
12
|
+
views_count INT DEFAULT 0,
|
|
13
|
+
reports_count INT DEFAULT 0,
|
|
14
|
+
is_locked BOOLEAN DEFAULT false,
|
|
15
|
+
locked_at TIMESTAMPTZ,
|
|
16
|
+
is_blocked BOOLEAN DEFAULT false,
|
|
17
|
+
blocked_at TIMESTAMPTZ,
|
|
18
|
+
block_reason TEXT,
|
|
19
|
+
is_public BOOLEAN DEFAULT true,
|
|
20
|
+
language VARCHAR(10),
|
|
21
|
+
created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,
|
|
22
|
+
updated_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,
|
|
23
|
+
deleted_at TIMESTAMPTZ,
|
|
24
|
+
CONSTRAINT fk_images_stats_image FOREIGN KEY (image_id) REFERENCES images(id) ON DELETE CASCADE
|
|
25
|
+
)
|
|
26
|
+
`,await e`
|
|
27
|
+
CREATE INDEX IF NOT EXISTS idx_images_stats_image_id ON images_stats(image_id)
|
|
28
|
+
`,await e`
|
|
29
|
+
CREATE INDEX IF NOT EXISTS idx_images_stats_likes_count ON images_stats(likes_count DESC)
|
|
30
|
+
`,await e`
|
|
31
|
+
CREATE INDEX IF NOT EXISTS idx_images_stats_views_count ON images_stats(views_count DESC)
|
|
32
|
+
`,await e`
|
|
33
|
+
CREATE INDEX IF NOT EXISTS idx_images_stats_downloads_count ON images_stats(downloads_count DESC)
|
|
34
|
+
`,await e`
|
|
35
|
+
CREATE INDEX IF NOT EXISTS idx_images_stats_language ON images_stats(language)
|
|
36
|
+
`,await e`
|
|
37
|
+
CREATE INDEX IF NOT EXISTS idx_images_stats_deleted_at ON images_stats(deleted_at)
|
|
38
|
+
`,await e`
|
|
39
|
+
CREATE INDEX IF NOT EXISTS idx_images_stats_is_public ON images_stats(is_public) WHERE deleted_at IS NULL
|
|
40
|
+
`,await e`
|
|
41
|
+
CREATE INDEX IF NOT EXISTS idx_images_stats_popular ON images_stats(is_public, likes_count DESC, views_count DESC) WHERE deleted_at IS NULL
|
|
42
|
+
`,await e`
|
|
43
|
+
CREATE INDEX IF NOT EXISTS idx_images_stats_created_at ON images_stats(created_at DESC)
|
|
44
|
+
`,await e`
|
|
45
|
+
CREATE INDEX IF NOT EXISTS idx_images_stats_active ON images_stats(is_blocked, is_locked) WHERE deleted_at IS NULL AND is_blocked = false
|
|
46
|
+
`}async down(e){await e`DROP TABLE IF EXISTS images_stats CASCADE`}getVersion(){return"20251225181613481"}getDependencies(){return[i]}}d=a([l.migration()],d);import{decorator as N}from"@ooneex/migrations";class E{async up(e){await e`
|
|
47
|
+
CREATE TABLE IF NOT EXISTS images_comments (
|
|
48
|
+
id VARCHAR(25) PRIMARY KEY,
|
|
49
|
+
image_id VARCHAR(25),
|
|
50
|
+
comment TEXT NOT NULL,
|
|
51
|
+
commented_by VARCHAR(255),
|
|
52
|
+
commented_by_id VARCHAR(25),
|
|
53
|
+
parent_comment_id VARCHAR(25),
|
|
54
|
+
is_locked BOOLEAN DEFAULT false,
|
|
55
|
+
locked_at TIMESTAMPTZ,
|
|
56
|
+
is_blocked BOOLEAN DEFAULT false,
|
|
57
|
+
blocked_at TIMESTAMPTZ,
|
|
58
|
+
block_reason TEXT,
|
|
59
|
+
is_public BOOLEAN DEFAULT true,
|
|
60
|
+
language VARCHAR(10),
|
|
61
|
+
created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,
|
|
62
|
+
updated_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,
|
|
63
|
+
deleted_at TIMESTAMPTZ,
|
|
64
|
+
CONSTRAINT fk_images_comments_image FOREIGN KEY (image_id) REFERENCES images(id) ON DELETE CASCADE
|
|
65
|
+
)
|
|
66
|
+
`,await e`
|
|
67
|
+
CREATE INDEX IF NOT EXISTS idx_images_comments_image_id ON images_comments(image_id)
|
|
68
|
+
`,await e`
|
|
69
|
+
CREATE INDEX IF NOT EXISTS idx_images_comments_commented_by_id ON images_comments(commented_by_id)
|
|
70
|
+
`,await e`
|
|
71
|
+
CREATE INDEX IF NOT EXISTS idx_images_comments_parent_comment_id ON images_comments(parent_comment_id)
|
|
72
|
+
`,await e`
|
|
73
|
+
CREATE INDEX IF NOT EXISTS idx_images_comments_language ON images_comments(language)
|
|
74
|
+
`,await e`
|
|
75
|
+
CREATE INDEX IF NOT EXISTS idx_images_comments_deleted_at ON images_comments(deleted_at)
|
|
76
|
+
`,await e`
|
|
77
|
+
CREATE INDEX IF NOT EXISTS idx_images_comments_is_public ON images_comments(is_public) WHERE deleted_at IS NULL
|
|
78
|
+
`,await e`
|
|
79
|
+
CREATE INDEX IF NOT EXISTS idx_images_comments_created_at ON images_comments(created_at DESC)
|
|
80
|
+
`,await e`
|
|
81
|
+
CREATE INDEX IF NOT EXISTS idx_images_comments_active ON images_comments(is_blocked, is_locked) WHERE deleted_at IS NULL AND is_blocked = false
|
|
82
|
+
`}async down(e){await e`DROP TABLE IF EXISTS images_comments CASCADE`}getVersion(){return"20251225181613484"}getDependencies(){return[i]}}E=a([N.migration()],E);import{decorator as S}from"@ooneex/migrations";class T{async up(e){await e`
|
|
83
|
+
CREATE TABLE IF NOT EXISTS images_liked (
|
|
84
|
+
id VARCHAR(25) PRIMARY KEY,
|
|
85
|
+
image_id VARCHAR(25),
|
|
86
|
+
liked_by VARCHAR(255),
|
|
87
|
+
liked_by_id VARCHAR(25),
|
|
88
|
+
is_locked BOOLEAN DEFAULT false,
|
|
89
|
+
locked_at TIMESTAMPTZ,
|
|
90
|
+
is_blocked BOOLEAN DEFAULT false,
|
|
91
|
+
blocked_at TIMESTAMPTZ,
|
|
92
|
+
block_reason TEXT,
|
|
93
|
+
is_public BOOLEAN DEFAULT true,
|
|
94
|
+
language VARCHAR(10),
|
|
95
|
+
created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,
|
|
96
|
+
updated_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,
|
|
97
|
+
deleted_at TIMESTAMPTZ,
|
|
98
|
+
CONSTRAINT fk_images_liked_image FOREIGN KEY (image_id) REFERENCES images(id) ON DELETE CASCADE
|
|
99
|
+
)
|
|
100
|
+
`,await e`
|
|
101
|
+
CREATE INDEX IF NOT EXISTS idx_images_liked_image_id ON images_liked(image_id)
|
|
102
|
+
`,await e`
|
|
103
|
+
CREATE INDEX IF NOT EXISTS idx_images_liked_liked_by_id ON images_liked(liked_by_id)
|
|
104
|
+
`,await e`
|
|
105
|
+
CREATE INDEX IF NOT EXISTS idx_images_liked_language ON images_liked(language)
|
|
106
|
+
`,await e`
|
|
107
|
+
CREATE INDEX IF NOT EXISTS idx_images_liked_deleted_at ON images_liked(deleted_at)
|
|
108
|
+
`,await e`
|
|
109
|
+
CREATE INDEX IF NOT EXISTS idx_images_liked_is_public ON images_liked(is_public) WHERE deleted_at IS NULL
|
|
110
|
+
`,await e`
|
|
111
|
+
CREATE INDEX IF NOT EXISTS idx_images_liked_created_at ON images_liked(created_at DESC)
|
|
112
|
+
`,await e`
|
|
113
|
+
CREATE INDEX IF NOT EXISTS idx_images_liked_active ON images_liked(is_blocked, is_locked) WHERE deleted_at IS NULL AND is_blocked = false
|
|
114
|
+
`,await e`
|
|
115
|
+
CREATE UNIQUE INDEX IF NOT EXISTS idx_images_liked_unique ON images_liked(image_id, liked_by_id) WHERE deleted_at IS NULL
|
|
116
|
+
`}async down(e){await e`DROP TABLE IF EXISTS images_liked CASCADE`}getVersion(){return"20251225181613486"}getDependencies(){return[i]}}T=a([S.migration()],T);import{decorator as g}from"@ooneex/migrations";class _{async up(e){await e`
|
|
117
|
+
CREATE TABLE IF NOT EXISTS images_disliked (
|
|
118
|
+
id VARCHAR(25) PRIMARY KEY,
|
|
119
|
+
image_id VARCHAR(25),
|
|
120
|
+
disliked_by VARCHAR(255),
|
|
121
|
+
disliked_by_id VARCHAR(25),
|
|
122
|
+
is_locked BOOLEAN DEFAULT false,
|
|
123
|
+
locked_at TIMESTAMPTZ,
|
|
124
|
+
is_blocked BOOLEAN DEFAULT false,
|
|
125
|
+
blocked_at TIMESTAMPTZ,
|
|
126
|
+
block_reason TEXT,
|
|
127
|
+
is_public BOOLEAN DEFAULT true,
|
|
128
|
+
language VARCHAR(10),
|
|
129
|
+
created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,
|
|
130
|
+
updated_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,
|
|
131
|
+
deleted_at TIMESTAMPTZ,
|
|
132
|
+
CONSTRAINT fk_images_disliked_image FOREIGN KEY (image_id) REFERENCES images(id) ON DELETE CASCADE
|
|
133
|
+
)
|
|
134
|
+
`,await e`
|
|
135
|
+
CREATE INDEX IF NOT EXISTS idx_images_disliked_image_id ON images_disliked(image_id)
|
|
136
|
+
`,await e`
|
|
137
|
+
CREATE INDEX IF NOT EXISTS idx_images_disliked_disliked_by_id ON images_disliked(disliked_by_id)
|
|
138
|
+
`,await e`
|
|
139
|
+
CREATE INDEX IF NOT EXISTS idx_images_disliked_language ON images_disliked(language)
|
|
140
|
+
`,await e`
|
|
141
|
+
CREATE INDEX IF NOT EXISTS idx_images_disliked_deleted_at ON images_disliked(deleted_at)
|
|
142
|
+
`,await e`
|
|
143
|
+
CREATE INDEX IF NOT EXISTS idx_images_disliked_is_public ON images_disliked(is_public) WHERE deleted_at IS NULL
|
|
144
|
+
`,await e`
|
|
145
|
+
CREATE INDEX IF NOT EXISTS idx_images_disliked_created_at ON images_disliked(created_at DESC)
|
|
146
|
+
`,await e`
|
|
147
|
+
CREATE INDEX IF NOT EXISTS idx_images_disliked_active ON images_disliked(is_blocked, is_locked) WHERE deleted_at IS NULL AND is_blocked = false
|
|
148
|
+
`,await e`
|
|
149
|
+
CREATE UNIQUE INDEX IF NOT EXISTS idx_images_disliked_unique ON images_disliked(image_id, disliked_by_id) WHERE deleted_at IS NULL
|
|
150
|
+
`}async down(e){await e`DROP TABLE IF EXISTS images_disliked CASCADE`}getVersion(){return"20251225181613488"}getDependencies(){return[i]}}_=a([g.migration()],_);import{decorator as R}from"@ooneex/migrations";class s{async up(e){await e`
|
|
151
|
+
CREATE TABLE IF NOT EXISTS images_viewed (
|
|
152
|
+
id VARCHAR(25) PRIMARY KEY,
|
|
153
|
+
image_id VARCHAR(25),
|
|
154
|
+
viewed_by VARCHAR(255),
|
|
155
|
+
viewed_by_id VARCHAR(25),
|
|
156
|
+
is_locked BOOLEAN DEFAULT false,
|
|
157
|
+
locked_at TIMESTAMPTZ,
|
|
158
|
+
is_blocked BOOLEAN DEFAULT false,
|
|
159
|
+
blocked_at TIMESTAMPTZ,
|
|
160
|
+
block_reason TEXT,
|
|
161
|
+
is_public BOOLEAN DEFAULT true,
|
|
162
|
+
language VARCHAR(10),
|
|
163
|
+
created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,
|
|
164
|
+
updated_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,
|
|
165
|
+
deleted_at TIMESTAMPTZ,
|
|
166
|
+
CONSTRAINT fk_images_viewed_image FOREIGN KEY (image_id) REFERENCES images(id) ON DELETE CASCADE
|
|
167
|
+
)
|
|
168
|
+
`,await e`
|
|
169
|
+
CREATE INDEX IF NOT EXISTS idx_images_viewed_image_id ON images_viewed(image_id)
|
|
170
|
+
`,await e`
|
|
171
|
+
CREATE INDEX IF NOT EXISTS idx_images_viewed_viewed_by_id ON images_viewed(viewed_by_id)
|
|
172
|
+
`,await e`
|
|
173
|
+
CREATE INDEX IF NOT EXISTS idx_images_viewed_language ON images_viewed(language)
|
|
174
|
+
`,await e`
|
|
175
|
+
CREATE INDEX IF NOT EXISTS idx_images_viewed_deleted_at ON images_viewed(deleted_at)
|
|
176
|
+
`,await e`
|
|
177
|
+
CREATE INDEX IF NOT EXISTS idx_images_viewed_is_public ON images_viewed(is_public) WHERE deleted_at IS NULL
|
|
178
|
+
`,await e`
|
|
179
|
+
CREATE INDEX IF NOT EXISTS idx_images_viewed_created_at ON images_viewed(created_at DESC)
|
|
180
|
+
`,await e`
|
|
181
|
+
CREATE INDEX IF NOT EXISTS idx_images_viewed_active ON images_viewed(is_blocked, is_locked) WHERE deleted_at IS NULL AND is_blocked = false
|
|
182
|
+
`}async down(e){await e`DROP TABLE IF EXISTS images_viewed CASCADE`}getVersion(){return"20251225181613490"}getDependencies(){return[i]}}s=a([R.migration()],s);import{decorator as r}from"@ooneex/migrations";class m{async up(e){await e`
|
|
183
|
+
CREATE TABLE IF NOT EXISTS images_downloaded (
|
|
184
|
+
id VARCHAR(25) PRIMARY KEY,
|
|
185
|
+
image_id VARCHAR(25),
|
|
186
|
+
downloaded_by VARCHAR(255),
|
|
187
|
+
downloaded_by_id VARCHAR(25),
|
|
188
|
+
is_locked BOOLEAN DEFAULT false,
|
|
189
|
+
locked_at TIMESTAMPTZ,
|
|
190
|
+
is_blocked BOOLEAN DEFAULT false,
|
|
191
|
+
blocked_at TIMESTAMPTZ,
|
|
192
|
+
block_reason TEXT,
|
|
193
|
+
is_public BOOLEAN DEFAULT true,
|
|
194
|
+
language VARCHAR(10),
|
|
195
|
+
created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,
|
|
196
|
+
updated_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,
|
|
197
|
+
deleted_at TIMESTAMPTZ,
|
|
198
|
+
CONSTRAINT fk_images_downloaded_image FOREIGN KEY (image_id) REFERENCES images(id) ON DELETE CASCADE
|
|
199
|
+
)
|
|
200
|
+
`,await e`
|
|
201
|
+
CREATE INDEX IF NOT EXISTS idx_images_downloaded_image_id ON images_downloaded(image_id)
|
|
202
|
+
`,await e`
|
|
203
|
+
CREATE INDEX IF NOT EXISTS idx_images_downloaded_downloaded_by_id ON images_downloaded(downloaded_by_id)
|
|
204
|
+
`,await e`
|
|
205
|
+
CREATE INDEX IF NOT EXISTS idx_images_downloaded_language ON images_downloaded(language)
|
|
206
|
+
`,await e`
|
|
207
|
+
CREATE INDEX IF NOT EXISTS idx_images_downloaded_deleted_at ON images_downloaded(deleted_at)
|
|
208
|
+
`,await e`
|
|
209
|
+
CREATE INDEX IF NOT EXISTS idx_images_downloaded_is_public ON images_downloaded(is_public) WHERE deleted_at IS NULL
|
|
210
|
+
`,await e`
|
|
211
|
+
CREATE INDEX IF NOT EXISTS idx_images_downloaded_created_at ON images_downloaded(created_at DESC)
|
|
212
|
+
`,await e`
|
|
213
|
+
CREATE INDEX IF NOT EXISTS idx_images_downloaded_active ON images_downloaded(is_blocked, is_locked) WHERE deleted_at IS NULL AND is_blocked = false
|
|
214
|
+
`}async down(e){await e`DROP TABLE IF EXISTS images_downloaded CASCADE`}getVersion(){return"20251225181613493"}getDependencies(){return[i]}}m=a([r.migration()],m);import{decorator as c}from"@ooneex/migrations";class t{async up(e){await e`
|
|
215
|
+
CREATE TABLE IF NOT EXISTS images_saved (
|
|
216
|
+
id VARCHAR(25) PRIMARY KEY,
|
|
217
|
+
image_id VARCHAR(25),
|
|
218
|
+
saved_by VARCHAR(255),
|
|
219
|
+
saved_by_id VARCHAR(25),
|
|
220
|
+
is_locked BOOLEAN DEFAULT false,
|
|
221
|
+
locked_at TIMESTAMPTZ,
|
|
222
|
+
is_blocked BOOLEAN DEFAULT false,
|
|
223
|
+
blocked_at TIMESTAMPTZ,
|
|
224
|
+
block_reason TEXT,
|
|
225
|
+
is_public BOOLEAN DEFAULT true,
|
|
226
|
+
language VARCHAR(10),
|
|
227
|
+
created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,
|
|
228
|
+
updated_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,
|
|
229
|
+
deleted_at TIMESTAMPTZ,
|
|
230
|
+
CONSTRAINT fk_images_saved_image FOREIGN KEY (image_id) REFERENCES images(id) ON DELETE CASCADE
|
|
231
|
+
)
|
|
232
|
+
`,await e`
|
|
233
|
+
CREATE INDEX IF NOT EXISTS idx_images_saved_image_id ON images_saved(image_id)
|
|
234
|
+
`,await e`
|
|
235
|
+
CREATE INDEX IF NOT EXISTS idx_images_saved_saved_by_id ON images_saved(saved_by_id)
|
|
236
|
+
`,await e`
|
|
237
|
+
CREATE INDEX IF NOT EXISTS idx_images_saved_language ON images_saved(language)
|
|
238
|
+
`,await e`
|
|
239
|
+
CREATE INDEX IF NOT EXISTS idx_images_saved_deleted_at ON images_saved(deleted_at)
|
|
240
|
+
`,await e`
|
|
241
|
+
CREATE INDEX IF NOT EXISTS idx_images_saved_is_public ON images_saved(is_public) WHERE deleted_at IS NULL
|
|
242
|
+
`,await e`
|
|
243
|
+
CREATE INDEX IF NOT EXISTS idx_images_saved_created_at ON images_saved(created_at DESC)
|
|
244
|
+
`,await e`
|
|
245
|
+
CREATE INDEX IF NOT EXISTS idx_images_saved_active ON images_saved(is_blocked, is_locked) WHERE deleted_at IS NULL AND is_blocked = false
|
|
246
|
+
`,await e`
|
|
247
|
+
CREATE UNIQUE INDEX IF NOT EXISTS idx_images_saved_unique ON images_saved(image_id, saved_by_id) WHERE deleted_at IS NULL
|
|
248
|
+
`}async down(e){await e`DROP TABLE IF EXISTS images_saved CASCADE`}getVersion(){return"20251225181613495"}getDependencies(){return[i]}}t=a([c.migration()],t);import{decorator as n}from"@ooneex/migrations";class A{async up(e){await e`
|
|
249
|
+
CREATE TABLE IF NOT EXISTS images_shared (
|
|
250
|
+
id VARCHAR(25) PRIMARY KEY,
|
|
251
|
+
image_id VARCHAR(25),
|
|
252
|
+
shared_with VARCHAR(255),
|
|
253
|
+
shared_by_id VARCHAR(25),
|
|
254
|
+
permission VARCHAR(50),
|
|
255
|
+
expires_at TIMESTAMPTZ,
|
|
256
|
+
is_locked BOOLEAN DEFAULT false,
|
|
257
|
+
locked_at TIMESTAMPTZ,
|
|
258
|
+
is_blocked BOOLEAN DEFAULT false,
|
|
259
|
+
blocked_at TIMESTAMPTZ,
|
|
260
|
+
block_reason TEXT,
|
|
261
|
+
is_public BOOLEAN DEFAULT true,
|
|
262
|
+
language VARCHAR(10),
|
|
263
|
+
created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,
|
|
264
|
+
updated_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,
|
|
265
|
+
deleted_at TIMESTAMPTZ,
|
|
266
|
+
CONSTRAINT fk_images_shared_image FOREIGN KEY (image_id) REFERENCES images(id) ON DELETE CASCADE
|
|
267
|
+
)
|
|
268
|
+
`,await e`
|
|
269
|
+
CREATE INDEX IF NOT EXISTS idx_images_shared_image_id ON images_shared(image_id)
|
|
270
|
+
`,await e`
|
|
271
|
+
CREATE INDEX IF NOT EXISTS idx_images_shared_shared_by_id ON images_shared(shared_by_id)
|
|
272
|
+
`,await e`
|
|
273
|
+
CREATE INDEX IF NOT EXISTS idx_images_shared_expires_at ON images_shared(expires_at)
|
|
274
|
+
`,await e`
|
|
275
|
+
CREATE INDEX IF NOT EXISTS idx_images_shared_language ON images_shared(language)
|
|
276
|
+
`,await e`
|
|
277
|
+
CREATE INDEX IF NOT EXISTS idx_images_shared_deleted_at ON images_shared(deleted_at)
|
|
278
|
+
`,await e`
|
|
279
|
+
CREATE INDEX IF NOT EXISTS idx_images_shared_is_public ON images_shared(is_public) WHERE deleted_at IS NULL
|
|
280
|
+
`,await e`
|
|
281
|
+
CREATE INDEX IF NOT EXISTS idx_images_shared_created_at ON images_shared(created_at DESC)
|
|
282
|
+
`,await e`
|
|
283
|
+
CREATE INDEX IF NOT EXISTS idx_images_shared_active ON images_shared(is_blocked, is_locked) WHERE deleted_at IS NULL AND is_blocked = false
|
|
284
|
+
`,await e`
|
|
285
|
+
CREATE INDEX IF NOT EXISTS idx_images_shared_active_shares ON images_shared(expires_at) WHERE deleted_at IS NULL AND (expires_at IS NULL OR expires_at > CURRENT_TIMESTAMP)
|
|
286
|
+
`}async down(e){await e`DROP TABLE IF EXISTS images_shared CASCADE`}getVersion(){return"20251225181613497"}getDependencies(){return[i]}}A=a([n.migration()],A);import{decorator as O}from"@ooneex/migrations";class I{async up(e){await e`
|
|
287
|
+
CREATE TABLE IF NOT EXISTS images_reports (
|
|
288
|
+
id VARCHAR(25) PRIMARY KEY,
|
|
289
|
+
image_id VARCHAR(25),
|
|
290
|
+
reason VARCHAR(255) NOT NULL,
|
|
291
|
+
description TEXT,
|
|
292
|
+
reported_by VARCHAR(255),
|
|
293
|
+
reported_by_id VARCHAR(25),
|
|
294
|
+
status_id VARCHAR(25),
|
|
295
|
+
is_locked BOOLEAN DEFAULT false,
|
|
296
|
+
locked_at TIMESTAMPTZ,
|
|
297
|
+
is_blocked BOOLEAN DEFAULT false,
|
|
298
|
+
blocked_at TIMESTAMPTZ,
|
|
299
|
+
block_reason TEXT,
|
|
300
|
+
is_public BOOLEAN DEFAULT true,
|
|
301
|
+
language VARCHAR(10),
|
|
302
|
+
created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,
|
|
303
|
+
updated_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,
|
|
304
|
+
deleted_at TIMESTAMPTZ,
|
|
305
|
+
CONSTRAINT fk_images_reports_image FOREIGN KEY (image_id) REFERENCES images(id) ON DELETE CASCADE,
|
|
306
|
+
CONSTRAINT fk_images_reports_status FOREIGN KEY (status_id) REFERENCES statuses(id) ON DELETE SET NULL
|
|
307
|
+
)
|
|
308
|
+
`,await e`
|
|
309
|
+
CREATE INDEX IF NOT EXISTS idx_images_reports_image_id ON images_reports(image_id)
|
|
310
|
+
`,await e`
|
|
311
|
+
CREATE INDEX IF NOT EXISTS idx_images_reports_reported_by_id ON images_reports(reported_by_id)
|
|
312
|
+
`,await e`
|
|
313
|
+
CREATE INDEX IF NOT EXISTS idx_images_reports_status_id ON images_reports(status_id)
|
|
314
|
+
`,await e`
|
|
315
|
+
CREATE INDEX IF NOT EXISTS idx_images_reports_reason ON images_reports(reason)
|
|
316
|
+
`,await e`
|
|
317
|
+
CREATE INDEX IF NOT EXISTS idx_images_reports_language ON images_reports(language)
|
|
318
|
+
`,await e`
|
|
319
|
+
CREATE INDEX IF NOT EXISTS idx_images_reports_deleted_at ON images_reports(deleted_at)
|
|
320
|
+
`,await e`
|
|
321
|
+
CREATE INDEX IF NOT EXISTS idx_images_reports_is_public ON images_reports(is_public) WHERE deleted_at IS NULL
|
|
322
|
+
`,await e`
|
|
323
|
+
CREATE INDEX IF NOT EXISTS idx_images_reports_created_at ON images_reports(created_at DESC)
|
|
324
|
+
`,await e`
|
|
325
|
+
CREATE INDEX IF NOT EXISTS idx_images_reports_active ON images_reports(is_blocked, is_locked) WHERE deleted_at IS NULL AND is_blocked = false
|
|
326
|
+
`}async down(e){await e`DROP TABLE IF EXISTS images_reports CASCADE`}getVersion(){return"20251225181613499"}getDependencies(){return[i,o]}}I=a([O.migration()],I);export{I as Migration20251225181613499,A as Migration20251225181613497,t as Migration20251225181613495,m as Migration20251225181613493,s as Migration20251225181613490,_ as Migration20251225181613488,T as Migration20251225181613486,E as Migration20251225181613484,d as Migration20251225181613481,i as Migration20251225181613479};
|
|
327
|
+
|
|
328
|
+
//# debugId=8761ED2F54E53F2D64756E2164756E21
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["src/migrations/image/Migration20251225181613481.ts", "src/migrations/image/Migration20251225181613484.ts", "src/migrations/image/Migration20251225181613486.ts", "src/migrations/image/Migration20251225181613488.ts", "src/migrations/image/Migration20251225181613490.ts", "src/migrations/image/Migration20251225181613493.ts", "src/migrations/image/Migration20251225181613495.ts", "src/migrations/image/Migration20251225181613497.ts", "src/migrations/image/Migration20251225181613499.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"import { decorator, type IMigration, type MigrationClassType } from \"@ooneex/migrations\";\nimport type { TransactionSQL } from \"bun\";\nimport { Migration20251225181613479 } from \"./Migration20251225181613479\";\n\n@decorator.migration()\nexport class Migration20251225181613481 implements IMigration {\n public async up(tx: TransactionSQL): Promise<void> {\n await tx`\n CREATE TABLE IF NOT EXISTS images_stats (\n id VARCHAR(25) PRIMARY KEY,\n image_id VARCHAR(25),\n likes_count INT DEFAULT 0,\n dislikes_count INT DEFAULT 0,\n comments_count INT DEFAULT 0,\n shares_count INT DEFAULT 0,\n saves_count INT DEFAULT 0,\n downloads_count INT DEFAULT 0,\n views_count INT DEFAULT 0,\n reports_count INT DEFAULT 0,\n is_locked BOOLEAN DEFAULT false,\n locked_at TIMESTAMPTZ,\n is_blocked BOOLEAN DEFAULT false,\n blocked_at TIMESTAMPTZ,\n block_reason TEXT,\n is_public BOOLEAN DEFAULT true,\n language VARCHAR(10),\n created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,\n updated_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,\n deleted_at TIMESTAMPTZ,\n CONSTRAINT fk_images_stats_image FOREIGN KEY (image_id) REFERENCES images(id) ON DELETE CASCADE\n )\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_stats_image_id ON images_stats(image_id)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_stats_likes_count ON images_stats(likes_count DESC)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_stats_views_count ON images_stats(views_count DESC)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_stats_downloads_count ON images_stats(downloads_count DESC)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_stats_language ON images_stats(language)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_stats_deleted_at ON images_stats(deleted_at)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_stats_is_public ON images_stats(is_public) WHERE deleted_at IS NULL\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_stats_popular ON images_stats(is_public, likes_count DESC, views_count DESC) WHERE deleted_at IS NULL\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_stats_created_at ON images_stats(created_at DESC)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_stats_active ON images_stats(is_blocked, is_locked) WHERE deleted_at IS NULL AND is_blocked = false\n `;\n }\n\n public async down(tx: TransactionSQL): Promise<void> {\n await tx`DROP TABLE IF EXISTS images_stats CASCADE`;\n }\n\n public getVersion(): string {\n return \"20251225181613481\";\n }\n\n public getDependencies(): MigrationClassType[] {\n return [\n Migration20251225181613479, // Images table (for image_id foreign key)\n ];\n }\n}\n",
|
|
6
|
+
"import { decorator, type IMigration, type MigrationClassType } from \"@ooneex/migrations\";\nimport type { TransactionSQL } from \"bun\";\nimport { Migration20251225181613479 } from \"./Migration20251225181613479\";\n\n@decorator.migration()\nexport class Migration20251225181613484 implements IMigration {\n public async up(tx: TransactionSQL): Promise<void> {\n await tx`\n CREATE TABLE IF NOT EXISTS images_comments (\n id VARCHAR(25) PRIMARY KEY,\n image_id VARCHAR(25),\n comment TEXT NOT NULL,\n commented_by VARCHAR(255),\n commented_by_id VARCHAR(25),\n parent_comment_id VARCHAR(25),\n is_locked BOOLEAN DEFAULT false,\n locked_at TIMESTAMPTZ,\n is_blocked BOOLEAN DEFAULT false,\n blocked_at TIMESTAMPTZ,\n block_reason TEXT,\n is_public BOOLEAN DEFAULT true,\n language VARCHAR(10),\n created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,\n updated_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,\n deleted_at TIMESTAMPTZ,\n CONSTRAINT fk_images_comments_image FOREIGN KEY (image_id) REFERENCES images(id) ON DELETE CASCADE\n )\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_comments_image_id ON images_comments(image_id)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_comments_commented_by_id ON images_comments(commented_by_id)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_comments_parent_comment_id ON images_comments(parent_comment_id)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_comments_language ON images_comments(language)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_comments_deleted_at ON images_comments(deleted_at)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_comments_is_public ON images_comments(is_public) WHERE deleted_at IS NULL\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_comments_created_at ON images_comments(created_at DESC)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_comments_active ON images_comments(is_blocked, is_locked) WHERE deleted_at IS NULL AND is_blocked = false\n `;\n }\n\n public async down(tx: TransactionSQL): Promise<void> {\n await tx`DROP TABLE IF EXISTS images_comments CASCADE`;\n }\n\n public getVersion(): string {\n return \"20251225181613484\";\n }\n\n public getDependencies(): MigrationClassType[] {\n return [Migration20251225181613479];\n }\n}\n",
|
|
7
|
+
"import { decorator, type IMigration, type MigrationClassType } from \"@ooneex/migrations\";\nimport type { TransactionSQL } from \"bun\";\nimport { Migration20251225181613479 } from \"./Migration20251225181613479\";\n\n@decorator.migration()\nexport class Migration20251225181613486 implements IMigration {\n public async up(tx: TransactionSQL): Promise<void> {\n await tx`\n CREATE TABLE IF NOT EXISTS images_liked (\n id VARCHAR(25) PRIMARY KEY,\n image_id VARCHAR(25),\n liked_by VARCHAR(255),\n liked_by_id VARCHAR(25),\n is_locked BOOLEAN DEFAULT false,\n locked_at TIMESTAMPTZ,\n is_blocked BOOLEAN DEFAULT false,\n blocked_at TIMESTAMPTZ,\n block_reason TEXT,\n is_public BOOLEAN DEFAULT true,\n language VARCHAR(10),\n created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,\n updated_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,\n deleted_at TIMESTAMPTZ,\n CONSTRAINT fk_images_liked_image FOREIGN KEY (image_id) REFERENCES images(id) ON DELETE CASCADE\n )\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_liked_image_id ON images_liked(image_id)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_liked_liked_by_id ON images_liked(liked_by_id)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_liked_language ON images_liked(language)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_liked_deleted_at ON images_liked(deleted_at)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_liked_is_public ON images_liked(is_public) WHERE deleted_at IS NULL\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_liked_created_at ON images_liked(created_at DESC)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_liked_active ON images_liked(is_blocked, is_locked) WHERE deleted_at IS NULL AND is_blocked = false\n `;\n\n await tx`\n CREATE UNIQUE INDEX IF NOT EXISTS idx_images_liked_unique ON images_liked(image_id, liked_by_id) WHERE deleted_at IS NULL\n `;\n }\n\n public async down(tx: TransactionSQL): Promise<void> {\n await tx`DROP TABLE IF EXISTS images_liked CASCADE`;\n }\n\n public getVersion(): string {\n return \"20251225181613486\";\n }\n\n public getDependencies(): MigrationClassType[] {\n return [Migration20251225181613479];\n }\n}\n",
|
|
8
|
+
"import { decorator, type IMigration, type MigrationClassType } from \"@ooneex/migrations\";\nimport type { TransactionSQL } from \"bun\";\nimport { Migration20251225181613479 } from \"./Migration20251225181613479\";\n\n@decorator.migration()\nexport class Migration20251225181613488 implements IMigration {\n public async up(tx: TransactionSQL): Promise<void> {\n await tx`\n CREATE TABLE IF NOT EXISTS images_disliked (\n id VARCHAR(25) PRIMARY KEY,\n image_id VARCHAR(25),\n disliked_by VARCHAR(255),\n disliked_by_id VARCHAR(25),\n is_locked BOOLEAN DEFAULT false,\n locked_at TIMESTAMPTZ,\n is_blocked BOOLEAN DEFAULT false,\n blocked_at TIMESTAMPTZ,\n block_reason TEXT,\n is_public BOOLEAN DEFAULT true,\n language VARCHAR(10),\n created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,\n updated_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,\n deleted_at TIMESTAMPTZ,\n CONSTRAINT fk_images_disliked_image FOREIGN KEY (image_id) REFERENCES images(id) ON DELETE CASCADE\n )\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_disliked_image_id ON images_disliked(image_id)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_disliked_disliked_by_id ON images_disliked(disliked_by_id)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_disliked_language ON images_disliked(language)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_disliked_deleted_at ON images_disliked(deleted_at)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_disliked_is_public ON images_disliked(is_public) WHERE deleted_at IS NULL\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_disliked_created_at ON images_disliked(created_at DESC)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_disliked_active ON images_disliked(is_blocked, is_locked) WHERE deleted_at IS NULL AND is_blocked = false\n `;\n\n await tx`\n CREATE UNIQUE INDEX IF NOT EXISTS idx_images_disliked_unique ON images_disliked(image_id, disliked_by_id) WHERE deleted_at IS NULL\n `;\n }\n\n public async down(tx: TransactionSQL): Promise<void> {\n await tx`DROP TABLE IF EXISTS images_disliked CASCADE`;\n }\n\n public getVersion(): string {\n return \"20251225181613488\";\n }\n\n public getDependencies(): MigrationClassType[] {\n return [Migration20251225181613479];\n }\n}\n",
|
|
9
|
+
"import { decorator, type IMigration, type MigrationClassType } from \"@ooneex/migrations\";\nimport type { TransactionSQL } from \"bun\";\nimport { Migration20251225181613479 } from \"./Migration20251225181613479\";\n\n@decorator.migration()\nexport class Migration20251225181613490 implements IMigration {\n public async up(tx: TransactionSQL): Promise<void> {\n await tx`\n CREATE TABLE IF NOT EXISTS images_viewed (\n id VARCHAR(25) PRIMARY KEY,\n image_id VARCHAR(25),\n viewed_by VARCHAR(255),\n viewed_by_id VARCHAR(25),\n is_locked BOOLEAN DEFAULT false,\n locked_at TIMESTAMPTZ,\n is_blocked BOOLEAN DEFAULT false,\n blocked_at TIMESTAMPTZ,\n block_reason TEXT,\n is_public BOOLEAN DEFAULT true,\n language VARCHAR(10),\n created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,\n updated_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,\n deleted_at TIMESTAMPTZ,\n CONSTRAINT fk_images_viewed_image FOREIGN KEY (image_id) REFERENCES images(id) ON DELETE CASCADE\n )\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_viewed_image_id ON images_viewed(image_id)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_viewed_viewed_by_id ON images_viewed(viewed_by_id)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_viewed_language ON images_viewed(language)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_viewed_deleted_at ON images_viewed(deleted_at)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_viewed_is_public ON images_viewed(is_public) WHERE deleted_at IS NULL\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_viewed_created_at ON images_viewed(created_at DESC)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_viewed_active ON images_viewed(is_blocked, is_locked) WHERE deleted_at IS NULL AND is_blocked = false\n `;\n }\n\n public async down(tx: TransactionSQL): Promise<void> {\n await tx`DROP TABLE IF EXISTS images_viewed CASCADE`;\n }\n\n public getVersion(): string {\n return \"20251225181613490\";\n }\n\n public getDependencies(): MigrationClassType[] {\n return [Migration20251225181613479];\n }\n}\n",
|
|
10
|
+
"import { decorator, type IMigration, type MigrationClassType } from \"@ooneex/migrations\";\nimport type { TransactionSQL } from \"bun\";\nimport { Migration20251225181613479 } from \"./Migration20251225181613479\";\n\n@decorator.migration()\nexport class Migration20251225181613493 implements IMigration {\n public async up(tx: TransactionSQL): Promise<void> {\n await tx`\n CREATE TABLE IF NOT EXISTS images_downloaded (\n id VARCHAR(25) PRIMARY KEY,\n image_id VARCHAR(25),\n downloaded_by VARCHAR(255),\n downloaded_by_id VARCHAR(25),\n is_locked BOOLEAN DEFAULT false,\n locked_at TIMESTAMPTZ,\n is_blocked BOOLEAN DEFAULT false,\n blocked_at TIMESTAMPTZ,\n block_reason TEXT,\n is_public BOOLEAN DEFAULT true,\n language VARCHAR(10),\n created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,\n updated_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,\n deleted_at TIMESTAMPTZ,\n CONSTRAINT fk_images_downloaded_image FOREIGN KEY (image_id) REFERENCES images(id) ON DELETE CASCADE\n )\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_downloaded_image_id ON images_downloaded(image_id)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_downloaded_downloaded_by_id ON images_downloaded(downloaded_by_id)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_downloaded_language ON images_downloaded(language)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_downloaded_deleted_at ON images_downloaded(deleted_at)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_downloaded_is_public ON images_downloaded(is_public) WHERE deleted_at IS NULL\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_downloaded_created_at ON images_downloaded(created_at DESC)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_downloaded_active ON images_downloaded(is_blocked, is_locked) WHERE deleted_at IS NULL AND is_blocked = false\n `;\n }\n\n public async down(tx: TransactionSQL): Promise<void> {\n await tx`DROP TABLE IF EXISTS images_downloaded CASCADE`;\n }\n\n public getVersion(): string {\n return \"20251225181613493\";\n }\n\n public getDependencies(): MigrationClassType[] {\n return [Migration20251225181613479];\n }\n}\n",
|
|
11
|
+
"import { decorator, type IMigration, type MigrationClassType } from \"@ooneex/migrations\";\nimport type { TransactionSQL } from \"bun\";\nimport { Migration20251225181613479 } from \"./Migration20251225181613479\";\n\n@decorator.migration()\nexport class Migration20251225181613495 implements IMigration {\n public async up(tx: TransactionSQL): Promise<void> {\n await tx`\n CREATE TABLE IF NOT EXISTS images_saved (\n id VARCHAR(25) PRIMARY KEY,\n image_id VARCHAR(25),\n saved_by VARCHAR(255),\n saved_by_id VARCHAR(25),\n is_locked BOOLEAN DEFAULT false,\n locked_at TIMESTAMPTZ,\n is_blocked BOOLEAN DEFAULT false,\n blocked_at TIMESTAMPTZ,\n block_reason TEXT,\n is_public BOOLEAN DEFAULT true,\n language VARCHAR(10),\n created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,\n updated_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,\n deleted_at TIMESTAMPTZ,\n CONSTRAINT fk_images_saved_image FOREIGN KEY (image_id) REFERENCES images(id) ON DELETE CASCADE\n )\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_saved_image_id ON images_saved(image_id)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_saved_saved_by_id ON images_saved(saved_by_id)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_saved_language ON images_saved(language)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_saved_deleted_at ON images_saved(deleted_at)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_saved_is_public ON images_saved(is_public) WHERE deleted_at IS NULL\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_saved_created_at ON images_saved(created_at DESC)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_saved_active ON images_saved(is_blocked, is_locked) WHERE deleted_at IS NULL AND is_blocked = false\n `;\n\n await tx`\n CREATE UNIQUE INDEX IF NOT EXISTS idx_images_saved_unique ON images_saved(image_id, saved_by_id) WHERE deleted_at IS NULL\n `;\n }\n\n public async down(tx: TransactionSQL): Promise<void> {\n await tx`DROP TABLE IF EXISTS images_saved CASCADE`;\n }\n\n public getVersion(): string {\n return \"20251225181613495\";\n }\n\n public getDependencies(): MigrationClassType[] {\n return [Migration20251225181613479];\n }\n}\n",
|
|
12
|
+
"import { decorator, type IMigration, type MigrationClassType } from \"@ooneex/migrations\";\nimport type { TransactionSQL } from \"bun\";\nimport { Migration20251225181613479 } from \"./Migration20251225181613479\";\n\n@decorator.migration()\nexport class Migration20251225181613497 implements IMigration {\n public async up(tx: TransactionSQL): Promise<void> {\n await tx`\n CREATE TABLE IF NOT EXISTS images_shared (\n id VARCHAR(25) PRIMARY KEY,\n image_id VARCHAR(25),\n shared_with VARCHAR(255),\n shared_by_id VARCHAR(25),\n permission VARCHAR(50),\n expires_at TIMESTAMPTZ,\n is_locked BOOLEAN DEFAULT false,\n locked_at TIMESTAMPTZ,\n is_blocked BOOLEAN DEFAULT false,\n blocked_at TIMESTAMPTZ,\n block_reason TEXT,\n is_public BOOLEAN DEFAULT true,\n language VARCHAR(10),\n created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,\n updated_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,\n deleted_at TIMESTAMPTZ,\n CONSTRAINT fk_images_shared_image FOREIGN KEY (image_id) REFERENCES images(id) ON DELETE CASCADE\n )\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_shared_image_id ON images_shared(image_id)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_shared_shared_by_id ON images_shared(shared_by_id)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_shared_expires_at ON images_shared(expires_at)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_shared_language ON images_shared(language)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_shared_deleted_at ON images_shared(deleted_at)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_shared_is_public ON images_shared(is_public) WHERE deleted_at IS NULL\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_shared_created_at ON images_shared(created_at DESC)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_shared_active ON images_shared(is_blocked, is_locked) WHERE deleted_at IS NULL AND is_blocked = false\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_shared_active_shares ON images_shared(expires_at) WHERE deleted_at IS NULL AND (expires_at IS NULL OR expires_at > CURRENT_TIMESTAMP)\n `;\n }\n\n public async down(tx: TransactionSQL): Promise<void> {\n await tx`DROP TABLE IF EXISTS images_shared CASCADE`;\n }\n\n public getVersion(): string {\n return \"20251225181613497\";\n }\n\n public getDependencies(): MigrationClassType[] {\n return [Migration20251225181613479];\n }\n}\n",
|
|
13
|
+
"import { decorator, type IMigration, type MigrationClassType } from \"@ooneex/migrations\";\nimport type { TransactionSQL } from \"bun\";\nimport { Migration20251225173350644 } from \"../common/Migration20251225173350644\";\nimport { Migration20251225181613479 } from \"./Migration20251225181613479\";\n\n@decorator.migration()\nexport class Migration20251225181613499 implements IMigration {\n public async up(tx: TransactionSQL): Promise<void> {\n await tx`\n CREATE TABLE IF NOT EXISTS images_reports (\n id VARCHAR(25) PRIMARY KEY,\n image_id VARCHAR(25),\n reason VARCHAR(255) NOT NULL,\n description TEXT,\n reported_by VARCHAR(255),\n reported_by_id VARCHAR(25),\n status_id VARCHAR(25),\n is_locked BOOLEAN DEFAULT false,\n locked_at TIMESTAMPTZ,\n is_blocked BOOLEAN DEFAULT false,\n blocked_at TIMESTAMPTZ,\n block_reason TEXT,\n is_public BOOLEAN DEFAULT true,\n language VARCHAR(10),\n created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,\n updated_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,\n deleted_at TIMESTAMPTZ,\n CONSTRAINT fk_images_reports_image FOREIGN KEY (image_id) REFERENCES images(id) ON DELETE CASCADE,\n CONSTRAINT fk_images_reports_status FOREIGN KEY (status_id) REFERENCES statuses(id) ON DELETE SET NULL\n )\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_reports_image_id ON images_reports(image_id)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_reports_reported_by_id ON images_reports(reported_by_id)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_reports_status_id ON images_reports(status_id)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_reports_reason ON images_reports(reason)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_reports_language ON images_reports(language)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_reports_deleted_at ON images_reports(deleted_at)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_reports_is_public ON images_reports(is_public) WHERE deleted_at IS NULL\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_reports_created_at ON images_reports(created_at DESC)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_images_reports_active ON images_reports(is_blocked, is_locked) WHERE deleted_at IS NULL AND is_blocked = false\n `;\n }\n\n public async down(tx: TransactionSQL): Promise<void> {\n await tx`DROP TABLE IF EXISTS images_reports CASCADE`;\n }\n\n public getVersion(): string {\n return \"20251225181613499\";\n }\n\n public getDependencies(): MigrationClassType[] {\n return [Migration20251225181613479, Migration20251225173350644];\n }\n}\n"
|
|
14
|
+
],
|
|
15
|
+
"mappings": "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",
|
|
16
|
+
"debugId": "8761ED2F54E53F2D64756E2164756E21",
|
|
17
|
+
"names": []
|
|
18
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { IMigration, MigrationClassType } from "@ooneex/migrations";
|
|
2
|
+
import { TransactionSQL } from "bun";
|
|
3
|
+
declare class Migration20251229125356792 implements IMigration {
|
|
4
|
+
up(tx: TransactionSQL): Promise<void>;
|
|
5
|
+
down(tx: TransactionSQL): Promise<void>;
|
|
6
|
+
getVersion(): string;
|
|
7
|
+
getDependencies(): MigrationClassType[];
|
|
8
|
+
}
|
|
9
|
+
import { IMigration as IMigration2, MigrationClassType as MigrationClassType2 } from "@ooneex/migrations";
|
|
10
|
+
import { TransactionSQL as TransactionSQL2 } from "bun";
|
|
11
|
+
declare class Migration20251229125419738 implements IMigration2 {
|
|
12
|
+
up(tx: TransactionSQL2): Promise<void>;
|
|
13
|
+
down(tx: TransactionSQL2): Promise<void>;
|
|
14
|
+
getVersion(): string;
|
|
15
|
+
getDependencies(): MigrationClassType2[];
|
|
16
|
+
}
|
|
17
|
+
import { IMigration as IMigration3, MigrationClassType as MigrationClassType3 } from "@ooneex/migrations";
|
|
18
|
+
import { TransactionSQL as TransactionSQL3 } from "bun";
|
|
19
|
+
declare class Migration20251229125441225 implements IMigration3 {
|
|
20
|
+
up(tx: TransactionSQL3): Promise<void>;
|
|
21
|
+
down(tx: TransactionSQL3): Promise<void>;
|
|
22
|
+
getVersion(): string;
|
|
23
|
+
getDependencies(): MigrationClassType3[];
|
|
24
|
+
}
|
|
25
|
+
export { Migration20251229125441225, Migration20251229125419738, Migration20251229125356792 };
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{Ha as i}from"../../../shared/chunk-59vwmfpm.js";import{decorator as T}from"@ooneex/migrations";class d{async up(e){await e`
|
|
3
|
+
CREATE TABLE IF NOT EXISTS medecine_disciplines (
|
|
4
|
+
id VARCHAR(25) PRIMARY KEY,
|
|
5
|
+
code VARCHAR(50) NOT NULL UNIQUE,
|
|
6
|
+
name VARCHAR(200) NOT NULL,
|
|
7
|
+
description TEXT,
|
|
8
|
+
is_locked BOOLEAN DEFAULT false,
|
|
9
|
+
locked_at TIMESTAMPTZ,
|
|
10
|
+
is_blocked BOOLEAN DEFAULT false,
|
|
11
|
+
blocked_at TIMESTAMPTZ,
|
|
12
|
+
block_reason TEXT,
|
|
13
|
+
is_public BOOLEAN DEFAULT true,
|
|
14
|
+
language VARCHAR(10),
|
|
15
|
+
created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,
|
|
16
|
+
updated_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,
|
|
17
|
+
deleted_at TIMESTAMPTZ
|
|
18
|
+
)
|
|
19
|
+
`,await e`
|
|
20
|
+
CREATE INDEX IF NOT EXISTS idx_medecine_disciplines_code ON medecine_disciplines(code)
|
|
21
|
+
`,await e`
|
|
22
|
+
CREATE INDEX IF NOT EXISTS idx_medecine_disciplines_name ON medecine_disciplines(name)
|
|
23
|
+
`,await e`
|
|
24
|
+
CREATE INDEX IF NOT EXISTS idx_medecine_disciplines_language ON medecine_disciplines(language)
|
|
25
|
+
`,await e`
|
|
26
|
+
CREATE INDEX IF NOT EXISTS idx_medecine_disciplines_deleted_at ON medecine_disciplines(deleted_at)
|
|
27
|
+
`,await e`
|
|
28
|
+
CREATE INDEX IF NOT EXISTS idx_medecine_disciplines_is_public ON medecine_disciplines(is_public) WHERE deleted_at IS NULL
|
|
29
|
+
`,await e`
|
|
30
|
+
CREATE INDEX IF NOT EXISTS idx_medecine_disciplines_is_public_language ON medecine_disciplines(is_public, language) WHERE deleted_at IS NULL
|
|
31
|
+
`,await e`
|
|
32
|
+
CREATE INDEX IF NOT EXISTS idx_medecine_disciplines_blocked ON medecine_disciplines(is_blocked, blocked_at) WHERE is_blocked = true
|
|
33
|
+
`,await e`
|
|
34
|
+
CREATE INDEX IF NOT EXISTS idx_medecine_disciplines_updated_at ON medecine_disciplines(updated_at DESC)
|
|
35
|
+
`,await e`
|
|
36
|
+
CREATE INDEX IF NOT EXISTS idx_medecine_disciplines_created_at ON medecine_disciplines(created_at DESC)
|
|
37
|
+
`,await e`
|
|
38
|
+
CREATE INDEX IF NOT EXISTS idx_medecine_disciplines_active ON medecine_disciplines(is_blocked, is_locked) WHERE deleted_at IS NULL AND is_blocked = false
|
|
39
|
+
`}async down(e){await e`DROP TABLE IF EXISTS medecine_disciplines CASCADE`}getVersion(){return"20251229125356792"}getDependencies(){return[]}}d=i([T.migration()],d);import{decorator as c}from"@ooneex/migrations";class a{async up(e){await e`
|
|
40
|
+
CREATE TABLE IF NOT EXISTS medecine_fields (
|
|
41
|
+
id VARCHAR(25) PRIMARY KEY,
|
|
42
|
+
code VARCHAR(50) NOT NULL UNIQUE,
|
|
43
|
+
name VARCHAR(200) NOT NULL,
|
|
44
|
+
color VARCHAR(20),
|
|
45
|
+
description TEXT,
|
|
46
|
+
is_locked BOOLEAN DEFAULT false,
|
|
47
|
+
locked_at TIMESTAMPTZ,
|
|
48
|
+
is_blocked BOOLEAN DEFAULT false,
|
|
49
|
+
blocked_at TIMESTAMPTZ,
|
|
50
|
+
block_reason TEXT,
|
|
51
|
+
is_public BOOLEAN DEFAULT true,
|
|
52
|
+
language VARCHAR(10),
|
|
53
|
+
created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,
|
|
54
|
+
updated_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,
|
|
55
|
+
deleted_at TIMESTAMPTZ
|
|
56
|
+
)
|
|
57
|
+
`,await e`
|
|
58
|
+
CREATE INDEX IF NOT EXISTS idx_medecine_fields_code ON medecine_fields(code)
|
|
59
|
+
`,await e`
|
|
60
|
+
CREATE INDEX IF NOT EXISTS idx_medecine_fields_name ON medecine_fields(name)
|
|
61
|
+
`,await e`
|
|
62
|
+
CREATE INDEX IF NOT EXISTS idx_medecine_fields_language ON medecine_fields(language)
|
|
63
|
+
`,await e`
|
|
64
|
+
CREATE INDEX IF NOT EXISTS idx_medecine_fields_deleted_at ON medecine_fields(deleted_at)
|
|
65
|
+
`,await e`
|
|
66
|
+
CREATE INDEX IF NOT EXISTS idx_medecine_fields_is_public ON medecine_fields(is_public) WHERE deleted_at IS NULL
|
|
67
|
+
`,await e`
|
|
68
|
+
CREATE INDEX IF NOT EXISTS idx_medecine_fields_is_public_language ON medecine_fields(is_public, language) WHERE deleted_at IS NULL
|
|
69
|
+
`,await e`
|
|
70
|
+
CREATE INDEX IF NOT EXISTS idx_medecine_fields_blocked ON medecine_fields(is_blocked, blocked_at) WHERE is_blocked = true
|
|
71
|
+
`,await e`
|
|
72
|
+
CREATE INDEX IF NOT EXISTS idx_medecine_fields_updated_at ON medecine_fields(updated_at DESC)
|
|
73
|
+
`,await e`
|
|
74
|
+
CREATE INDEX IF NOT EXISTS idx_medecine_fields_created_at ON medecine_fields(created_at DESC)
|
|
75
|
+
`,await e`
|
|
76
|
+
CREATE INDEX IF NOT EXISTS idx_medecine_fields_active ON medecine_fields(is_blocked, is_locked) WHERE deleted_at IS NULL AND is_blocked = false
|
|
77
|
+
`}async down(e){await e`DROP TABLE IF EXISTS medecine_fields CASCADE`}getVersion(){return"20251229125419738"}getDependencies(){return[]}}a=i([c.migration()],a);import{decorator as _}from"@ooneex/migrations";class E{async up(e){await e`
|
|
78
|
+
CREATE TABLE IF NOT EXISTS medecine_years (
|
|
79
|
+
id VARCHAR(25) PRIMARY KEY,
|
|
80
|
+
code VARCHAR(20) NOT NULL UNIQUE,
|
|
81
|
+
name VARCHAR(100) NOT NULL,
|
|
82
|
+
number INT NOT NULL,
|
|
83
|
+
color VARCHAR(20),
|
|
84
|
+
is_locked BOOLEAN DEFAULT false,
|
|
85
|
+
locked_at TIMESTAMPTZ,
|
|
86
|
+
is_blocked BOOLEAN DEFAULT false,
|
|
87
|
+
blocked_at TIMESTAMPTZ,
|
|
88
|
+
block_reason TEXT,
|
|
89
|
+
is_public BOOLEAN DEFAULT true,
|
|
90
|
+
language VARCHAR(10),
|
|
91
|
+
created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,
|
|
92
|
+
updated_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,
|
|
93
|
+
deleted_at TIMESTAMPTZ
|
|
94
|
+
)
|
|
95
|
+
`,await e`
|
|
96
|
+
CREATE INDEX IF NOT EXISTS idx_medecine_years_code ON medecine_years(code)
|
|
97
|
+
`,await e`
|
|
98
|
+
CREATE INDEX IF NOT EXISTS idx_medecine_years_name ON medecine_years(name)
|
|
99
|
+
`,await e`
|
|
100
|
+
CREATE INDEX IF NOT EXISTS idx_medecine_years_number ON medecine_years(number)
|
|
101
|
+
`,await e`
|
|
102
|
+
CREATE INDEX IF NOT EXISTS idx_medecine_years_language ON medecine_years(language)
|
|
103
|
+
`,await e`
|
|
104
|
+
CREATE INDEX IF NOT EXISTS idx_medecine_years_deleted_at ON medecine_years(deleted_at)
|
|
105
|
+
`,await e`
|
|
106
|
+
CREATE INDEX IF NOT EXISTS idx_medecine_years_is_public ON medecine_years(is_public) WHERE deleted_at IS NULL
|
|
107
|
+
`,await e`
|
|
108
|
+
CREATE INDEX IF NOT EXISTS idx_medecine_years_is_public_language ON medecine_years(is_public, language) WHERE deleted_at IS NULL
|
|
109
|
+
`,await e`
|
|
110
|
+
CREATE INDEX IF NOT EXISTS idx_medecine_years_blocked ON medecine_years(is_blocked, blocked_at) WHERE is_blocked = true
|
|
111
|
+
`,await e`
|
|
112
|
+
CREATE INDEX IF NOT EXISTS idx_medecine_years_updated_at ON medecine_years(updated_at DESC)
|
|
113
|
+
`,await e`
|
|
114
|
+
CREATE INDEX IF NOT EXISTS idx_medecine_years_created_at ON medecine_years(created_at DESC)
|
|
115
|
+
`,await e`
|
|
116
|
+
CREATE INDEX IF NOT EXISTS idx_medecine_years_active ON medecine_years(is_blocked, is_locked) WHERE deleted_at IS NULL AND is_blocked = false
|
|
117
|
+
`}async down(e){await e`DROP TABLE IF EXISTS medecine_years CASCADE`}getVersion(){return"20251229125441225"}getDependencies(){return[]}}E=i([_.migration()],E);export{E as Migration20251229125441225,a as Migration20251229125419738,d as Migration20251229125356792};
|
|
118
|
+
|
|
119
|
+
//# debugId=B8E691DE62FBA00364756E2164756E21
|