@newcms/database 0.0.1

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.
Files changed (57) hide show
  1. package/dist/cache/index.d.ts +3 -0
  2. package/dist/cache/index.d.ts.map +1 -0
  3. package/dist/cache/index.js +2 -0
  4. package/dist/cache/index.js.map +1 -0
  5. package/dist/cache/object-cache.d.ts +139 -0
  6. package/dist/cache/object-cache.d.ts.map +1 -0
  7. package/dist/cache/object-cache.js +321 -0
  8. package/dist/cache/object-cache.js.map +1 -0
  9. package/dist/connection.d.ts +18 -0
  10. package/dist/connection.d.ts.map +1 -0
  11. package/dist/connection.js +32 -0
  12. package/dist/connection.js.map +1 -0
  13. package/dist/index.d.ts +7 -0
  14. package/dist/index.d.ts.map +1 -0
  15. package/dist/index.js +5 -0
  16. package/dist/index.js.map +1 -0
  17. package/dist/repositories/options-repository.d.ts +59 -0
  18. package/dist/repositories/options-repository.d.ts.map +1 -0
  19. package/dist/repositories/options-repository.js +222 -0
  20. package/dist/repositories/options-repository.js.map +1 -0
  21. package/dist/schema/comments.d.ts +369 -0
  22. package/dist/schema/comments.d.ts.map +1 -0
  23. package/dist/schema/comments.js +47 -0
  24. package/dist/schema/comments.js.map +1 -0
  25. package/dist/schema/index.d.ts +9 -0
  26. package/dist/schema/index.d.ts.map +1 -0
  27. package/dist/schema/index.js +9 -0
  28. package/dist/schema/index.js.map +1 -0
  29. package/dist/schema/links.d.ts +245 -0
  30. package/dist/schema/links.d.ts.map +1 -0
  31. package/dist/schema/links.js +17 -0
  32. package/dist/schema/links.js.map +1 -0
  33. package/dist/schema/options.d.ts +95 -0
  34. package/dist/schema/options.d.ts.map +1 -0
  35. package/dist/schema/options.js +12 -0
  36. package/dist/schema/options.js.map +1 -0
  37. package/dist/schema/posts.d.ts +509 -0
  38. package/dist/schema/posts.d.ts.map +1 -0
  39. package/dist/schema/posts.js +51 -0
  40. package/dist/schema/posts.js.map +1 -0
  41. package/dist/schema/scheduled-events.d.ts +156 -0
  42. package/dist/schema/scheduled-events.d.ts.map +1 -0
  43. package/dist/schema/scheduled-events.js +22 -0
  44. package/dist/schema/scheduled-events.js.map +1 -0
  45. package/dist/schema/sessions.d.ts +157 -0
  46. package/dist/schema/sessions.d.ts.map +1 -0
  47. package/dist/schema/sessions.js +26 -0
  48. package/dist/schema/sessions.js.map +1 -0
  49. package/dist/schema/terms.d.ts +343 -0
  50. package/dist/schema/terms.d.ts.map +1 -0
  51. package/dist/schema/terms.js +45 -0
  52. package/dist/schema/terms.js.map +1 -0
  53. package/dist/schema/users.d.ts +288 -0
  54. package/dist/schema/users.d.ts.map +1 -0
  55. package/dist/schema/users.js +30 -0
  56. package/dist/schema/users.js.map +1 -0
  57. package/package.json +62 -0
@@ -0,0 +1,156 @@
1
+ /**
2
+ * Dedicated scheduled_events table — replaces the serialized cron
3
+ * array stored in the options table in the original system.
4
+ *
5
+ * This is a persistent record. Actual scheduling is managed by BullMQ.
6
+ */
7
+ export declare const scheduledEvents: import("drizzle-orm/pg-core").PgTableWithColumns<{
8
+ name: "scheduled_events";
9
+ schema: undefined;
10
+ columns: {
11
+ id: import("drizzle-orm/pg-core").PgColumn<{
12
+ name: "id";
13
+ tableName: "scheduled_events";
14
+ dataType: "number";
15
+ columnType: "PgSerial";
16
+ data: number;
17
+ driverParam: number;
18
+ notNull: true;
19
+ hasDefault: true;
20
+ isPrimaryKey: true;
21
+ isAutoincrement: false;
22
+ hasRuntimeDefault: false;
23
+ enumValues: undefined;
24
+ baseColumn: never;
25
+ identity: undefined;
26
+ generated: undefined;
27
+ }, {}, {}>;
28
+ hook: import("drizzle-orm/pg-core").PgColumn<{
29
+ name: "hook";
30
+ tableName: "scheduled_events";
31
+ dataType: "string";
32
+ columnType: "PgVarchar";
33
+ data: string;
34
+ driverParam: string;
35
+ notNull: true;
36
+ hasDefault: false;
37
+ isPrimaryKey: false;
38
+ isAutoincrement: false;
39
+ hasRuntimeDefault: false;
40
+ enumValues: [string, ...string[]];
41
+ baseColumn: never;
42
+ identity: undefined;
43
+ generated: undefined;
44
+ }, {}, {
45
+ length: 255;
46
+ }>;
47
+ args: import("drizzle-orm/pg-core").PgColumn<{
48
+ name: "args";
49
+ tableName: "scheduled_events";
50
+ dataType: "json";
51
+ columnType: "PgJsonb";
52
+ data: unknown;
53
+ driverParam: unknown;
54
+ notNull: true;
55
+ hasDefault: true;
56
+ isPrimaryKey: false;
57
+ isAutoincrement: false;
58
+ hasRuntimeDefault: false;
59
+ enumValues: undefined;
60
+ baseColumn: never;
61
+ identity: undefined;
62
+ generated: undefined;
63
+ }, {}, {}>;
64
+ schedule: import("drizzle-orm/pg-core").PgColumn<{
65
+ name: "schedule";
66
+ tableName: "scheduled_events";
67
+ dataType: "string";
68
+ columnType: "PgVarchar";
69
+ data: string;
70
+ driverParam: string;
71
+ notNull: false;
72
+ hasDefault: false;
73
+ isPrimaryKey: false;
74
+ isAutoincrement: false;
75
+ hasRuntimeDefault: false;
76
+ enumValues: [string, ...string[]];
77
+ baseColumn: never;
78
+ identity: undefined;
79
+ generated: undefined;
80
+ }, {}, {
81
+ length: 50;
82
+ }>;
83
+ intervalSeconds: import("drizzle-orm/pg-core").PgColumn<{
84
+ name: "interval_seconds";
85
+ tableName: "scheduled_events";
86
+ dataType: "number";
87
+ columnType: "PgBigInt53";
88
+ data: number;
89
+ driverParam: string | number;
90
+ notNull: false;
91
+ hasDefault: false;
92
+ isPrimaryKey: false;
93
+ isAutoincrement: false;
94
+ hasRuntimeDefault: false;
95
+ enumValues: undefined;
96
+ baseColumn: never;
97
+ identity: undefined;
98
+ generated: undefined;
99
+ }, {}, {}>;
100
+ nextRunAt: import("drizzle-orm/pg-core").PgColumn<{
101
+ name: "next_run_at";
102
+ tableName: "scheduled_events";
103
+ dataType: "date";
104
+ columnType: "PgTimestamp";
105
+ data: Date;
106
+ driverParam: string;
107
+ notNull: true;
108
+ hasDefault: false;
109
+ isPrimaryKey: false;
110
+ isAutoincrement: false;
111
+ hasRuntimeDefault: false;
112
+ enumValues: undefined;
113
+ baseColumn: never;
114
+ identity: undefined;
115
+ generated: undefined;
116
+ }, {}, {}>;
117
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
118
+ name: "created_at";
119
+ tableName: "scheduled_events";
120
+ dataType: "date";
121
+ columnType: "PgTimestamp";
122
+ data: Date;
123
+ driverParam: string;
124
+ notNull: true;
125
+ hasDefault: true;
126
+ isPrimaryKey: false;
127
+ isAutoincrement: false;
128
+ hasRuntimeDefault: false;
129
+ enumValues: undefined;
130
+ baseColumn: never;
131
+ identity: undefined;
132
+ generated: undefined;
133
+ }, {}, {}>;
134
+ status: import("drizzle-orm/pg-core").PgColumn<{
135
+ name: "status";
136
+ tableName: "scheduled_events";
137
+ dataType: "string";
138
+ columnType: "PgVarchar";
139
+ data: string;
140
+ driverParam: string;
141
+ notNull: true;
142
+ hasDefault: true;
143
+ isPrimaryKey: false;
144
+ isAutoincrement: false;
145
+ hasRuntimeDefault: false;
146
+ enumValues: [string, ...string[]];
147
+ baseColumn: never;
148
+ identity: undefined;
149
+ generated: undefined;
150
+ }, {}, {
151
+ length: 20;
152
+ }>;
153
+ };
154
+ dialect: "pg";
155
+ }>;
156
+ //# sourceMappingURL=scheduled-events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduled-events.d.ts","sourceRoot":"","sources":["../../src/schema/scheduled-events.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiB3B,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { pgTable, serial, varchar, timestamp, jsonb, bigint, index } from 'drizzle-orm/pg-core';
2
+ /**
3
+ * Dedicated scheduled_events table — replaces the serialized cron
4
+ * array stored in the options table in the original system.
5
+ *
6
+ * This is a persistent record. Actual scheduling is managed by BullMQ.
7
+ */
8
+ export const scheduledEvents = pgTable('scheduled_events', {
9
+ id: serial('id').primaryKey(),
10
+ hook: varchar('hook', { length: 255 }).notNull(),
11
+ args: jsonb('args').notNull().default('[]'),
12
+ schedule: varchar('schedule', { length: 50 }),
13
+ intervalSeconds: bigint('interval_seconds', { mode: 'number' }),
14
+ nextRunAt: timestamp('next_run_at', { withTimezone: true }).notNull(),
15
+ createdAt: timestamp('created_at', { withTimezone: true }).notNull().defaultNow(),
16
+ status: varchar('status', { length: 20 }).notNull().default('pending'),
17
+ }, (table) => [
18
+ index('idx_scheduled_hook').on(table.hook),
19
+ index('idx_scheduled_next_run').on(table.nextRunAt),
20
+ index('idx_scheduled_status').on(table.status),
21
+ ]);
22
+ //# sourceMappingURL=scheduled-events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduled-events.js","sourceRoot":"","sources":["../../src/schema/scheduled-events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAEhG;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,OAAO,CACrC,kBAAkB,EAClB;IACC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE;IAC7B,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE;IAChD,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3C,QAAQ,EAAE,OAAO,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAC7C,eAAe,EAAE,MAAM,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC/D,SAAS,EAAE,SAAS,CAAC,aAAa,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE;IACrE,SAAS,EAAE,SAAS,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE;IACjF,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;CACtE,EACD,CAAC,KAAK,EAAE,EAAE,CAAC;IACV,KAAK,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;IAC1C,KAAK,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;IACnD,KAAK,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;CAC9C,CACD,CAAC"}
@@ -0,0 +1,157 @@
1
+ /**
2
+ * Dedicated sessions table — replaces serialized session tokens
3
+ * stored as user metadata in the original system.
4
+ *
5
+ * Note: Primary session storage is in Redis for O(1) access.
6
+ * This table serves as persistent backup and for admin visibility.
7
+ */
8
+ export declare const sessions: import("drizzle-orm/pg-core").PgTableWithColumns<{
9
+ name: "sessions";
10
+ schema: undefined;
11
+ columns: {
12
+ id: import("drizzle-orm/pg-core").PgColumn<{
13
+ name: "id";
14
+ tableName: "sessions";
15
+ dataType: "number";
16
+ columnType: "PgSerial";
17
+ data: number;
18
+ driverParam: number;
19
+ notNull: true;
20
+ hasDefault: true;
21
+ isPrimaryKey: true;
22
+ isAutoincrement: false;
23
+ hasRuntimeDefault: false;
24
+ enumValues: undefined;
25
+ baseColumn: never;
26
+ identity: undefined;
27
+ generated: undefined;
28
+ }, {}, {}>;
29
+ userId: import("drizzle-orm/pg-core").PgColumn<{
30
+ name: "user_id";
31
+ tableName: "sessions";
32
+ dataType: "number";
33
+ columnType: "PgBigInt53";
34
+ data: number;
35
+ driverParam: string | number;
36
+ notNull: true;
37
+ hasDefault: false;
38
+ isPrimaryKey: false;
39
+ isAutoincrement: false;
40
+ hasRuntimeDefault: false;
41
+ enumValues: undefined;
42
+ baseColumn: never;
43
+ identity: undefined;
44
+ generated: undefined;
45
+ }, {}, {}>;
46
+ tokenHash: import("drizzle-orm/pg-core").PgColumn<{
47
+ name: "token_hash";
48
+ tableName: "sessions";
49
+ dataType: "string";
50
+ columnType: "PgVarchar";
51
+ data: string;
52
+ driverParam: string;
53
+ notNull: true;
54
+ hasDefault: false;
55
+ isPrimaryKey: false;
56
+ isAutoincrement: false;
57
+ hasRuntimeDefault: false;
58
+ enumValues: [string, ...string[]];
59
+ baseColumn: never;
60
+ identity: undefined;
61
+ generated: undefined;
62
+ }, {}, {
63
+ length: 255;
64
+ }>;
65
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
66
+ name: "created_at";
67
+ tableName: "sessions";
68
+ dataType: "date";
69
+ columnType: "PgTimestamp";
70
+ data: Date;
71
+ driverParam: string;
72
+ notNull: true;
73
+ hasDefault: true;
74
+ isPrimaryKey: false;
75
+ isAutoincrement: false;
76
+ hasRuntimeDefault: false;
77
+ enumValues: undefined;
78
+ baseColumn: never;
79
+ identity: undefined;
80
+ generated: undefined;
81
+ }, {}, {}>;
82
+ expiresAt: import("drizzle-orm/pg-core").PgColumn<{
83
+ name: "expires_at";
84
+ tableName: "sessions";
85
+ dataType: "date";
86
+ columnType: "PgTimestamp";
87
+ data: Date;
88
+ driverParam: string;
89
+ notNull: true;
90
+ hasDefault: false;
91
+ isPrimaryKey: false;
92
+ isAutoincrement: false;
93
+ hasRuntimeDefault: false;
94
+ enumValues: undefined;
95
+ baseColumn: never;
96
+ identity: undefined;
97
+ generated: undefined;
98
+ }, {}, {}>;
99
+ ip: import("drizzle-orm/pg-core").PgColumn<{
100
+ name: "ip";
101
+ tableName: "sessions";
102
+ dataType: "string";
103
+ columnType: "PgVarchar";
104
+ data: string;
105
+ driverParam: string;
106
+ notNull: true;
107
+ hasDefault: true;
108
+ isPrimaryKey: false;
109
+ isAutoincrement: false;
110
+ hasRuntimeDefault: false;
111
+ enumValues: [string, ...string[]];
112
+ baseColumn: never;
113
+ identity: undefined;
114
+ generated: undefined;
115
+ }, {}, {
116
+ length: 45;
117
+ }>;
118
+ userAgent: import("drizzle-orm/pg-core").PgColumn<{
119
+ name: "user_agent";
120
+ tableName: "sessions";
121
+ dataType: "string";
122
+ columnType: "PgVarchar";
123
+ data: string;
124
+ driverParam: string;
125
+ notNull: true;
126
+ hasDefault: true;
127
+ isPrimaryKey: false;
128
+ isAutoincrement: false;
129
+ hasRuntimeDefault: false;
130
+ enumValues: [string, ...string[]];
131
+ baseColumn: never;
132
+ identity: undefined;
133
+ generated: undefined;
134
+ }, {}, {
135
+ length: 500;
136
+ }>;
137
+ data: import("drizzle-orm/pg-core").PgColumn<{
138
+ name: "data";
139
+ tableName: "sessions";
140
+ dataType: "json";
141
+ columnType: "PgJsonb";
142
+ data: unknown;
143
+ driverParam: unknown;
144
+ notNull: false;
145
+ hasDefault: false;
146
+ isPrimaryKey: false;
147
+ isAutoincrement: false;
148
+ hasRuntimeDefault: false;
149
+ enumValues: undefined;
150
+ baseColumn: never;
151
+ identity: undefined;
152
+ generated: undefined;
153
+ }, {}, {}>;
154
+ };
155
+ dialect: "pg";
156
+ }>;
157
+ //# sourceMappingURL=sessions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../src/schema/sessions.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmBpB,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { pgTable, serial, bigint, varchar, timestamp, jsonb, index } from 'drizzle-orm/pg-core';
2
+ import { users } from './users.js';
3
+ /**
4
+ * Dedicated sessions table — replaces serialized session tokens
5
+ * stored as user metadata in the original system.
6
+ *
7
+ * Note: Primary session storage is in Redis for O(1) access.
8
+ * This table serves as persistent backup and for admin visibility.
9
+ */
10
+ export const sessions = pgTable('sessions', {
11
+ id: serial('id').primaryKey(),
12
+ userId: bigint('user_id', { mode: 'number' })
13
+ .notNull()
14
+ .references(() => users.id, { onDelete: 'cascade' }),
15
+ tokenHash: varchar('token_hash', { length: 255 }).notNull().unique(),
16
+ createdAt: timestamp('created_at', { withTimezone: true }).notNull().defaultNow(),
17
+ expiresAt: timestamp('expires_at', { withTimezone: true }).notNull(),
18
+ ip: varchar('ip', { length: 45 }).notNull().default(''),
19
+ userAgent: varchar('user_agent', { length: 500 }).notNull().default(''),
20
+ data: jsonb('data'),
21
+ }, (table) => [
22
+ index('idx_session_user_id').on(table.userId),
23
+ index('idx_session_token_hash').on(table.tokenHash),
24
+ index('idx_session_expires_at').on(table.expiresAt),
25
+ ]);
26
+ //# sourceMappingURL=sessions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/schema/sessions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAChG,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,OAAO,CAC9B,UAAU,EACV;IACC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE;IAC7B,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;SAC3C,OAAO,EAAE;SACT,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IACrD,SAAS,EAAE,OAAO,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE;IACpE,SAAS,EAAE,SAAS,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE;IACjF,SAAS,EAAE,SAAS,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE;IACpE,EAAE,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACvD,SAAS,EAAE,OAAO,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACvE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;CACnB,EACD,CAAC,KAAK,EAAE,EAAE,CAAC;IACV,KAAK,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;IAC7C,KAAK,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;IACnD,KAAK,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;CACnD,CACD,CAAC"}