@byline/db-postgres 0.9.3
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 +373 -0
- package/README.md +18 -0
- package/dist/database/schema/auth.d.ts +857 -0
- package/dist/database/schema/auth.d.ts.map +1 -0
- package/dist/database/schema/auth.js +176 -0
- package/dist/database/schema/auth.js.map +1 -0
- package/dist/database/schema/index.d.ts +2955 -0
- package/dist/database/schema/index.d.ts.map +1 -0
- package/dist/database/schema/index.js +500 -0
- package/dist/database/schema/index.js.map +1 -0
- package/dist/index.d.ts +31 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +30 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/test-helper.d.ts +17 -0
- package/dist/lib/test-helper.d.ts.map +1 -0
- package/dist/lib/test-helper.js +47 -0
- package/dist/lib/test-helper.js.map +1 -0
- package/dist/modules/admin/admin-permissions-repository.d.ts +17 -0
- package/dist/modules/admin/admin-permissions-repository.d.ts.map +1 -0
- package/dist/modules/admin/admin-permissions-repository.js +76 -0
- package/dist/modules/admin/admin-permissions-repository.js.map +1 -0
- package/dist/modules/admin/admin-roles-repository.d.ts +12 -0
- package/dist/modules/admin/admin-roles-repository.d.ts.map +1 -0
- package/dist/modules/admin/admin-roles-repository.js +168 -0
- package/dist/modules/admin/admin-roles-repository.js.map +1 -0
- package/dist/modules/admin/admin-store.d.ts +20 -0
- package/dist/modules/admin/admin-store.d.ts.map +1 -0
- package/dist/modules/admin/admin-store.js +28 -0
- package/dist/modules/admin/admin-store.js.map +1 -0
- package/dist/modules/admin/admin-users-repository.d.ts +12 -0
- package/dist/modules/admin/admin-users-repository.d.ts.map +1 -0
- package/dist/modules/admin/admin-users-repository.js +208 -0
- package/dist/modules/admin/admin-users-repository.js.map +1 -0
- package/dist/modules/admin/index.d.ts +27 -0
- package/dist/modules/admin/index.d.ts.map +1 -0
- package/dist/modules/admin/index.js +27 -0
- package/dist/modules/admin/index.js.map +1 -0
- package/dist/modules/admin/refresh-tokens-repository.d.ts +16 -0
- package/dist/modules/admin/refresh-tokens-repository.d.ts.map +1 -0
- package/dist/modules/admin/refresh-tokens-repository.js +132 -0
- package/dist/modules/admin/refresh-tokens-repository.js.map +1 -0
- package/dist/modules/admin/tests/auth-integration.test.d.ts +9 -0
- package/dist/modules/admin/tests/auth-integration.test.d.ts.map +1 -0
- package/dist/modules/admin/tests/auth-integration.test.js +392 -0
- package/dist/modules/admin/tests/auth-integration.test.js.map +1 -0
- package/dist/modules/admin/tests/session-provider.test.d.ts +9 -0
- package/dist/modules/admin/tests/session-provider.test.d.ts.map +1 -0
- package/dist/modules/admin/tests/session-provider.test.js +370 -0
- package/dist/modules/admin/tests/session-provider.test.js.map +1 -0
- package/dist/modules/storage/@types.d.ts +116 -0
- package/dist/modules/storage/@types.d.ts.map +1 -0
- package/dist/modules/storage/@types.js +9 -0
- package/dist/modules/storage/@types.js.map +1 -0
- package/dist/modules/storage/storage-commands.d.ts +136 -0
- package/dist/modules/storage/storage-commands.d.ts.map +1 -0
- package/dist/modules/storage/storage-commands.js +272 -0
- package/dist/modules/storage/storage-commands.js.map +1 -0
- package/dist/modules/storage/storage-flatten.d.ts +19 -0
- package/dist/modules/storage/storage-flatten.d.ts.map +1 -0
- package/dist/modules/storage/storage-flatten.js +261 -0
- package/dist/modules/storage/storage-flatten.js.map +1 -0
- package/dist/modules/storage/storage-insert.d.ts +22 -0
- package/dist/modules/storage/storage-insert.d.ts.map +1 -0
- package/dist/modules/storage/storage-insert.js +115 -0
- package/dist/modules/storage/storage-insert.js.map +1 -0
- package/dist/modules/storage/storage-queries.d.ts +377 -0
- package/dist/modules/storage/storage-queries.d.ts.map +1 -0
- package/dist/modules/storage/storage-queries.js +976 -0
- package/dist/modules/storage/storage-queries.js.map +1 -0
- package/dist/modules/storage/storage-restore.d.ts +19 -0
- package/dist/modules/storage/storage-restore.d.ts.map +1 -0
- package/dist/modules/storage/storage-restore.js +350 -0
- package/dist/modules/storage/storage-restore.js.map +1 -0
- package/dist/modules/storage/storage-store-manifest.d.ts +71 -0
- package/dist/modules/storage/storage-store-manifest.d.ts.map +1 -0
- package/dist/modules/storage/storage-store-manifest.js +294 -0
- package/dist/modules/storage/storage-store-manifest.js.map +1 -0
- package/dist/modules/storage/storage-utils.d.ts +23 -0
- package/dist/modules/storage/storage-utils.d.ts.map +1 -0
- package/dist/modules/storage/storage-utils.js +72 -0
- package/dist/modules/storage/storage-utils.js.map +1 -0
- package/dist/modules/storage/tests/storage-field-types.test.d.ts +9 -0
- package/dist/modules/storage/tests/storage-field-types.test.d.ts.map +1 -0
- package/dist/modules/storage/tests/storage-field-types.test.js +146 -0
- package/dist/modules/storage/tests/storage-field-types.test.js.map +1 -0
- package/dist/modules/storage/tests/storage-flatten-reconstruct.test.d.ts +9 -0
- package/dist/modules/storage/tests/storage-flatten-reconstruct.test.d.ts.map +1 -0
- package/dist/modules/storage/tests/storage-flatten-reconstruct.test.js +327 -0
- package/dist/modules/storage/tests/storage-flatten-reconstruct.test.js.map +1 -0
- package/dist/modules/storage/tests/storage-store-manifest.test.d.ts +9 -0
- package/dist/modules/storage/tests/storage-store-manifest.test.d.ts.map +1 -0
- package/dist/modules/storage/tests/storage-store-manifest.test.js +141 -0
- package/dist/modules/storage/tests/storage-store-manifest.test.js.map +1 -0
- package/dist/modules/storage/tests/storage-versioning.test.d.ts +9 -0
- package/dist/modules/storage/tests/storage-versioning.test.d.ts.map +1 -0
- package/dist/modules/storage/tests/storage-versioning.test.js +336 -0
- package/dist/modules/storage/tests/storage-versioning.test.js.map +1 -0
- package/package.json +81 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/database/schema/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAuBH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiBtB,CAAA;AAGF,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWrB,CAAA;AAGD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyD5B,CAAA;AAGD,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoBjC,CAAA;AAMD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyC/B,CAAA;AAOF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6CzC,CAAA;AAoBD,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiBrB,CAAA;AAGD,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwBxB,CAAA;AAGD,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAcxB,CAAA;AAGD,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqBzB,CAAA;AAGD,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkCzB,CAAA;AAKD,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqCrB,CAAA;AAGD,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmDrB,CAAA;AAGD,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkBrB,CAAA;AAKD,eAAO,MAAM,oBAAoB;;;;;;;;;EAS9B,CAAA;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;EAkB5B,CAAA;AAEH,eAAO,MAAM,8BAA8B;;;EAWxC,CAAA;AAGH,eAAO,MAAM,kBAAkB;;;EAS5B,CAAA;AAEH,eAAO,MAAM,qBAAqB;;;EAS/B,CAAA;AAEH,eAAO,MAAM,qBAAqB;;;EAS/B,CAAA;AAEH,eAAO,MAAM,sBAAsB;;;EAShC,CAAA;AAEH,eAAO,MAAM,sBAAsB;;;;;EAqBhC,CAAA;AAEH,eAAO,MAAM,kBAAkB;;;EAS5B,CAAA;AAEH,eAAO,MAAM,kBAAkB;;;EAS5B,CAAA;AAOH,OAAO,EACL,gBAAgB,EAChB,yBAAyB,EACzB,kBAAkB,EAClB,2BAA2B,EAC3B,kBAAkB,EAClB,2BAA2B,EAC3B,UAAU,EACV,mBAAmB,EACnB,UAAU,EACV,mBAAmB,GACpB,MAAM,WAAW,CAAA"}
|
|
@@ -0,0 +1,500 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This Source Code is subject to the terms of the Mozilla Public
|
|
3
|
+
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
+
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
5
|
+
*
|
|
6
|
+
* Copyright (c) Infonomic Company Limited
|
|
7
|
+
*/
|
|
8
|
+
import { eq, relations, sql } from 'drizzle-orm';
|
|
9
|
+
import { bigint, boolean, date, decimal, index, integer, jsonb, pgTable, pgView, real, text, time, timestamp, unique, uuid, varchar, } from 'drizzle-orm/pg-core';
|
|
10
|
+
// Collections table
|
|
11
|
+
export const collections = pgTable('byline_collections', {
|
|
12
|
+
id: uuid('id').primaryKey(),
|
|
13
|
+
path: varchar('path', { length: 255 }).unique().notNull(),
|
|
14
|
+
singular: text('singular').notNull(), // Singular label for the collection
|
|
15
|
+
plural: text('plural').notNull(), // Plural label for the collection
|
|
16
|
+
config: jsonb('config').notNull(), // Store CollectionConfig
|
|
17
|
+
// Monotonically-increasing schema version. Incremented by the startup
|
|
18
|
+
// bootstrap whenever `schema_hash` changes (or to a value pinned
|
|
19
|
+
// explicitly via `CollectionDefinition.version`).
|
|
20
|
+
version: integer('version').notNull().default(1),
|
|
21
|
+
// SHA-256 fingerprint of the data-shape-relevant portion of the
|
|
22
|
+
// collection's definition. Nullable in Phase 1 — populated on first
|
|
23
|
+
// `ensureCollections()` run post-migration, tightens to NOT NULL when
|
|
24
|
+
// the `collection_versions` history table lands.
|
|
25
|
+
schema_hash: varchar('schema_hash', { length: 64 }),
|
|
26
|
+
created_at: timestamp('created_at').defaultNow(),
|
|
27
|
+
updated_at: timestamp('updated_at').defaultNow(),
|
|
28
|
+
});
|
|
29
|
+
// Documents table
|
|
30
|
+
export const documents = pgTable('byline_documents', {
|
|
31
|
+
id: uuid('id').primaryKey(),
|
|
32
|
+
collection_id: uuid('collection_id')
|
|
33
|
+
.notNull()
|
|
34
|
+
.references(() => collections.id, { onDelete: 'cascade' }),
|
|
35
|
+
created_at: timestamp('created_at').defaultNow(),
|
|
36
|
+
updated_at: timestamp('updated_at').defaultNow(),
|
|
37
|
+
}, (table) => [index('idx_documents_collection').on(table.collection_id)]);
|
|
38
|
+
// Document versions table
|
|
39
|
+
export const documentVersions = pgTable('byline_document_versions', {
|
|
40
|
+
id: uuid('id').primaryKey(), // UUIDv7 versioning by default
|
|
41
|
+
document_id: uuid('document_id')
|
|
42
|
+
.notNull()
|
|
43
|
+
.references(() => documents.id, { onDelete: 'cascade' }),
|
|
44
|
+
collection_id: uuid('collection_id')
|
|
45
|
+
.notNull()
|
|
46
|
+
.references(() => collections.id, { onDelete: 'cascade' }),
|
|
47
|
+
// Collection schema version this row was authored against. Used by
|
|
48
|
+
// future in-memory migration code to resolve historical document
|
|
49
|
+
// shapes. Phase 1 records the number; no composite FK yet — that
|
|
50
|
+
// anchors in Phase 2 alongside the history table.
|
|
51
|
+
collection_version: integer('collection_version').notNull(),
|
|
52
|
+
path: varchar('path', { length: 255 }).notNull(), // Can change between versions
|
|
53
|
+
doc: jsonb('doc'), // optionally store the original document
|
|
54
|
+
event_type: varchar('event_type', { length: 20 }).notNull().default('create'), // 'create', 'update', 'delete'
|
|
55
|
+
status: varchar('status', { length: 50 }).default('draft'),
|
|
56
|
+
is_deleted: boolean('is_deleted').default(false), // Tombstone for soft deletes
|
|
57
|
+
created_at: timestamp('created_at').defaultNow(),
|
|
58
|
+
updated_at: timestamp('updated_at').defaultNow(),
|
|
59
|
+
created_by: uuid('created_by'),
|
|
60
|
+
change_summary: text('change_summary'),
|
|
61
|
+
}, (table) => [
|
|
62
|
+
// Index for finding all versions of a logical document
|
|
63
|
+
index('idx_documents_document_id').on(table.document_id),
|
|
64
|
+
// Index for current document lookup by path
|
|
65
|
+
index('idx_documents_collection_path_deleted').on(table.collection_id, table.path, table.is_deleted),
|
|
66
|
+
// Index for current document lookup by logical document ID
|
|
67
|
+
index('idx_documents_collection_document_deleted').on(table.collection_id, table.document_id, table.is_deleted),
|
|
68
|
+
// Index to optimize the current documents view
|
|
69
|
+
index('idx_documents_current_view').on(table.collection_id, table.document_id, table.is_deleted, table.id),
|
|
70
|
+
// Event and audit indexes
|
|
71
|
+
index('idx_documents_event_type').on(table.event_type),
|
|
72
|
+
index('idx_documents_created_at').on(table.created_at),
|
|
73
|
+
// Ensure logical document belongs to only one collection
|
|
74
|
+
index('idx_documents_document_collection').on(table.document_id, table.collection_id),
|
|
75
|
+
// Per-collection path uniqueness is a DEFERRED design decision — it
|
|
76
|
+
// depends on a collision-handling policy (reject vs auto-suffix) and
|
|
77
|
+
// is planned to land alongside preview-link UX. See
|
|
78
|
+
// `docs/analysis/DOCUMENT-PATH-ANALYSIS.md` § "Path uniqueness".
|
|
79
|
+
]);
|
|
80
|
+
// Document Relationships (Parent/Child) - Many-to-Many
|
|
81
|
+
export const documentRelationships = pgTable('byline_document_relationships', {
|
|
82
|
+
// Note: These reference the logical `document_id`, not the version `id`.
|
|
83
|
+
// Foreign key constraints are not used; integrity is handled at the application layer.
|
|
84
|
+
parent_document_id: uuid('parent_document_id')
|
|
85
|
+
.notNull()
|
|
86
|
+
.references(() => documents.id, { onDelete: 'cascade' }),
|
|
87
|
+
child_document_id: uuid('child_document_id')
|
|
88
|
+
.notNull()
|
|
89
|
+
.references(() => documents.id, { onDelete: 'cascade' }),
|
|
90
|
+
created_at: timestamp('created_at').defaultNow(),
|
|
91
|
+
}, (table) => [
|
|
92
|
+
// Composite primary key to ensure a child is only parented once by the same parent.
|
|
93
|
+
unique().on(table.parent_document_id, table.child_document_id),
|
|
94
|
+
// Indexes for efficient lookups of children and parents.
|
|
95
|
+
index('idx_document_relationships_parent').on(table.parent_document_id),
|
|
96
|
+
index('idx_document_relationships_child').on(table.child_document_id),
|
|
97
|
+
]);
|
|
98
|
+
// Current Documents View — latest version of each logical document via
|
|
99
|
+
// `ROW_NUMBER() OVER (PARTITION BY document_id ORDER BY id DESC)`.
|
|
100
|
+
// `selectDistinct` is not an option here: it distincts on the whole row,
|
|
101
|
+
// not on `document_id`.
|
|
102
|
+
export const currentDocumentsView = pgView('byline_current_documents').as((qb) => {
|
|
103
|
+
const sq = qb.$with('sq').as(qb
|
|
104
|
+
.select({
|
|
105
|
+
id: documentVersions.id,
|
|
106
|
+
document_id: documentVersions.document_id,
|
|
107
|
+
collection_id: documentVersions.collection_id,
|
|
108
|
+
collection_version: documentVersions.collection_version,
|
|
109
|
+
path: documentVersions.path,
|
|
110
|
+
event_type: documentVersions.event_type,
|
|
111
|
+
status: documentVersions.status,
|
|
112
|
+
is_deleted: documentVersions.is_deleted,
|
|
113
|
+
created_at: documentVersions.created_at,
|
|
114
|
+
updated_at: documentVersions.updated_at,
|
|
115
|
+
created_by: documentVersions.created_by,
|
|
116
|
+
change_summary: documentVersions.change_summary,
|
|
117
|
+
rn: sql `row_number() OVER (PARTITION BY ${documentVersions.document_id} ORDER BY ${documentVersions.id} DESC)`.as('rn'),
|
|
118
|
+
})
|
|
119
|
+
.from(documentVersions)
|
|
120
|
+
.where(eq(documentVersions.is_deleted, false)));
|
|
121
|
+
return qb
|
|
122
|
+
.with(sq)
|
|
123
|
+
.select({
|
|
124
|
+
id: sq.id,
|
|
125
|
+
document_id: sq.document_id,
|
|
126
|
+
collection_id: sq.collection_id,
|
|
127
|
+
collection_version: sq.collection_version,
|
|
128
|
+
path: sq.path,
|
|
129
|
+
event_type: sq.event_type,
|
|
130
|
+
status: sq.status,
|
|
131
|
+
is_deleted: sq.is_deleted,
|
|
132
|
+
created_at: sq.created_at,
|
|
133
|
+
updated_at: sq.updated_at,
|
|
134
|
+
created_by: sq.created_by,
|
|
135
|
+
change_summary: sq.change_summary,
|
|
136
|
+
})
|
|
137
|
+
.from(sq)
|
|
138
|
+
.where(eq(sq.rn, 1));
|
|
139
|
+
});
|
|
140
|
+
// Current Published Documents View - gets the latest version of each logical
|
|
141
|
+
// document whose status is 'published', regardless of whether a newer draft
|
|
142
|
+
// version exists. Used by `readMode: 'published'` on reads so public
|
|
143
|
+
// consumers keep seeing the last published content while editors work on
|
|
144
|
+
// drafts. Row-wise shape is identical to `current_documents`.
|
|
145
|
+
export const currentPublishedDocumentsView = pgView('byline_current_published_documents').as((qb) => {
|
|
146
|
+
const sq = qb.$with('sq').as(qb
|
|
147
|
+
.select({
|
|
148
|
+
id: documentVersions.id,
|
|
149
|
+
document_id: documentVersions.document_id,
|
|
150
|
+
collection_id: documentVersions.collection_id,
|
|
151
|
+
collection_version: documentVersions.collection_version,
|
|
152
|
+
path: documentVersions.path,
|
|
153
|
+
event_type: documentVersions.event_type,
|
|
154
|
+
status: documentVersions.status,
|
|
155
|
+
is_deleted: documentVersions.is_deleted,
|
|
156
|
+
created_at: documentVersions.created_at,
|
|
157
|
+
updated_at: documentVersions.updated_at,
|
|
158
|
+
created_by: documentVersions.created_by,
|
|
159
|
+
change_summary: documentVersions.change_summary,
|
|
160
|
+
rn: sql `row_number() OVER (PARTITION BY ${documentVersions.document_id} ORDER BY ${documentVersions.id} DESC)`.as('rn'),
|
|
161
|
+
})
|
|
162
|
+
.from(documentVersions)
|
|
163
|
+
.where(sql `${documentVersions.is_deleted} = false AND ${documentVersions.status} = 'published'`));
|
|
164
|
+
return qb
|
|
165
|
+
.with(sq)
|
|
166
|
+
.select({
|
|
167
|
+
id: sq.id,
|
|
168
|
+
document_id: sq.document_id,
|
|
169
|
+
collection_id: sq.collection_id,
|
|
170
|
+
collection_version: sq.collection_version,
|
|
171
|
+
path: sq.path,
|
|
172
|
+
event_type: sq.event_type,
|
|
173
|
+
status: sq.status,
|
|
174
|
+
is_deleted: sq.is_deleted,
|
|
175
|
+
created_at: sq.created_at,
|
|
176
|
+
updated_at: sq.updated_at,
|
|
177
|
+
created_by: sq.created_by,
|
|
178
|
+
change_summary: sq.change_summary,
|
|
179
|
+
})
|
|
180
|
+
.from(sq)
|
|
181
|
+
.where(eq(sq.rn, 1));
|
|
182
|
+
});
|
|
183
|
+
// Base field values structure
|
|
184
|
+
const baseStoreColumns = {
|
|
185
|
+
id: uuid('id').primaryKey(),
|
|
186
|
+
document_version_id: uuid('document_version_id')
|
|
187
|
+
.references(() => documentVersions.id, { onDelete: 'cascade' })
|
|
188
|
+
.notNull(), // References the version ID
|
|
189
|
+
collection_id: uuid('collection_id')
|
|
190
|
+
.references(() => collections.id, { onDelete: 'cascade' })
|
|
191
|
+
.notNull(), // For cross-collection queries
|
|
192
|
+
field_path: varchar('field_path', { length: 500 }).notNull(),
|
|
193
|
+
field_name: varchar('field_name', { length: 255 }).notNull(),
|
|
194
|
+
locale: varchar('locale', { length: 10 }).notNull().default('default'),
|
|
195
|
+
parent_path: varchar('parent_path', { length: 500 }),
|
|
196
|
+
created_at: timestamp('created_at').defaultNow(),
|
|
197
|
+
updated_at: timestamp('updated_at').defaultNow(),
|
|
198
|
+
};
|
|
199
|
+
// 1. TEXT FIELDS TABLE
|
|
200
|
+
export const textStore = pgTable('byline_store_text', {
|
|
201
|
+
...baseStoreColumns,
|
|
202
|
+
value: text('value').notNull(),
|
|
203
|
+
word_count: integer('word_count'), // Pre-computed for analytics
|
|
204
|
+
}, (table) => [
|
|
205
|
+
// Optimized indexes for text operations
|
|
206
|
+
index('idx_text_value').on(table.value),
|
|
207
|
+
index('idx_text_fulltext').using('gin', sql `to_tsvector('english', ${table.value})`),
|
|
208
|
+
index('idx_text_locale_value').on(table.locale, table.value),
|
|
209
|
+
index('idx_text_path_value').on(table.field_path, table.value),
|
|
210
|
+
// Unique constraints for unique fields
|
|
211
|
+
unique('unique_text_field').on(table.document_version_id, table.field_path, table.locale),
|
|
212
|
+
]);
|
|
213
|
+
// 2. NUMERIC FIELDS TABLE
|
|
214
|
+
export const numericStore = pgTable('byline_store_numeric', {
|
|
215
|
+
...baseStoreColumns,
|
|
216
|
+
// Store the original number type for reconstruction
|
|
217
|
+
number_type: varchar('number_type', { length: 20 }).notNull(), // 'integer', 'decimal', 'float'
|
|
218
|
+
value_integer: integer('value_integer'),
|
|
219
|
+
value_decimal: decimal('value_decimal', { precision: 10, scale: 2 }),
|
|
220
|
+
value_float: real('value_float'),
|
|
221
|
+
}, (table) => [
|
|
222
|
+
// Optimized indexes for numeric operations
|
|
223
|
+
index('idx_numeric_integer').on(table.value_integer),
|
|
224
|
+
index('idx_numeric_decimal').on(table.value_decimal),
|
|
225
|
+
index('idx_numeric_float').on(table.value_float),
|
|
226
|
+
// Range indexes for common queries
|
|
227
|
+
index('idx_numeric_integer_range').on(table.field_path, table.value_integer),
|
|
228
|
+
index('idx_numeric_decimal_range').on(table.field_path, table.value_decimal),
|
|
229
|
+
unique('unique_numeric_field').on(table.document_version_id, table.field_path, table.locale),
|
|
230
|
+
]);
|
|
231
|
+
// 3. BOOLEAN FIELDS TABLE
|
|
232
|
+
export const booleanStore = pgTable('byline_store_boolean', {
|
|
233
|
+
...baseStoreColumns,
|
|
234
|
+
value: boolean('value').notNull(),
|
|
235
|
+
}, (table) => [
|
|
236
|
+
// Simple but effective indexes for boolean queries
|
|
237
|
+
index('idx_boolean_value').on(table.value),
|
|
238
|
+
index('idx_boolean_path_value').on(table.field_path, table.value),
|
|
239
|
+
index('idx_boolean_collection_value').on(table.collection_id, table.field_path, table.value),
|
|
240
|
+
unique('unique_boolean_field').on(table.document_version_id, table.field_path, table.locale),
|
|
241
|
+
]);
|
|
242
|
+
// 4. DATE/TIME FIELDS TABLE
|
|
243
|
+
export const datetimeStore = pgTable('byline_store_datetime', {
|
|
244
|
+
...baseStoreColumns,
|
|
245
|
+
// Store the original date type for reconstruction
|
|
246
|
+
date_type: varchar('date_type', { length: 20 }).notNull(), // 'date', 'time', 'timestamptz'
|
|
247
|
+
value_date: date('value_date'),
|
|
248
|
+
value_time: time('value_time'),
|
|
249
|
+
value_timestamp_tz: timestamp('value_timestamp_tz', { withTimezone: true }),
|
|
250
|
+
}, (table) => [
|
|
251
|
+
// Optimized for date range queries
|
|
252
|
+
index('idx_datetime_date').on(table.value_date),
|
|
253
|
+
index('idx_datetime_timestamp_tz').on(table.value_timestamp_tz),
|
|
254
|
+
// Common date query patterns
|
|
255
|
+
index('idx_datetime_path_date').on(table.field_path, table.value_timestamp_tz),
|
|
256
|
+
index('idx_datetime_collection_date').on(table.collection_id, table.value_timestamp_tz),
|
|
257
|
+
unique('unique_datetime_field').on(table.document_version_id, table.field_path, table.locale),
|
|
258
|
+
]);
|
|
259
|
+
// 5. RELATION FIELDS TABLE
|
|
260
|
+
export const relationStore = pgTable('byline_store_relation', {
|
|
261
|
+
...baseStoreColumns,
|
|
262
|
+
target_document_id: uuid('target_document_id')
|
|
263
|
+
.references(() => documents.id)
|
|
264
|
+
.notNull(),
|
|
265
|
+
target_collection_id: uuid('target_collection_id')
|
|
266
|
+
.references(() => collections.id)
|
|
267
|
+
.notNull(),
|
|
268
|
+
// Relationship metadata
|
|
269
|
+
relationship_type: varchar('relationship_type', { length: 50 }).default('reference'), // 'reference', 'embed', 'weak'
|
|
270
|
+
cascade_delete: boolean('cascade_delete').default(false),
|
|
271
|
+
}, (table) => [
|
|
272
|
+
// Critical indexes for relationship queries
|
|
273
|
+
index('idx_relation_target_document').on(table.target_document_id),
|
|
274
|
+
index('idx_relation_target_collection').on(table.target_collection_id),
|
|
275
|
+
index('idx_relation_type').on(table.relationship_type),
|
|
276
|
+
// Reverse relationship lookup
|
|
277
|
+
index('idx_relation_reverse').on(table.target_document_id, table.field_path),
|
|
278
|
+
// Cross-collection relationship queries
|
|
279
|
+
index('idx_relation_collection_to_collection').on(table.collection_id, table.target_collection_id),
|
|
280
|
+
unique('unique_relation_field').on(table.document_version_id, table.field_path, table.locale),
|
|
281
|
+
]);
|
|
282
|
+
// Generic meta store for document nodes (blocks, array items, fields, etc.)
|
|
283
|
+
// This allows attaching durable IDs and arbitrary metadata to any node
|
|
284
|
+
// in a document tree, keyed by document version and path.
|
|
285
|
+
export const metaStore = pgTable('byline_store_meta', {
|
|
286
|
+
id: uuid('id').primaryKey(),
|
|
287
|
+
document_version_id: uuid('document_version_id')
|
|
288
|
+
.notNull()
|
|
289
|
+
.references(() => documentVersions.id, { onDelete: 'cascade' }),
|
|
290
|
+
collection_id: uuid('collection_id')
|
|
291
|
+
.notNull()
|
|
292
|
+
.references(() => collections.id, { onDelete: 'cascade' }),
|
|
293
|
+
// Node classification and linkage back into the reconstructed tree.
|
|
294
|
+
type: text('type').notNull(),
|
|
295
|
+
path: text('path').notNull(),
|
|
296
|
+
// Durable identifier for this item within a document version. This is the
|
|
297
|
+
// ID exposed to the dashboard/API for blocks, array items, etc.
|
|
298
|
+
item_id: varchar('item_id', { length: 255 }).notNull(),
|
|
299
|
+
// Optional opaque metadata payload for this node. Common attributes like
|
|
300
|
+
// label, icon, collapsed state, etc. can be stored here.
|
|
301
|
+
meta: jsonb('meta'),
|
|
302
|
+
created_at: timestamp('created_at').defaultNow(),
|
|
303
|
+
updated_at: timestamp('updated_at').defaultNow(),
|
|
304
|
+
}, (table) => [
|
|
305
|
+
// Fast lookup by document and node type/path when enriching reconstructed
|
|
306
|
+
// trees with meta information.
|
|
307
|
+
index('idx_meta_document_type_path').on(table.document_version_id, table.type, table.path),
|
|
308
|
+
// Resolve durable IDs (e.g. for array.move by item_id) back to a node path.
|
|
309
|
+
index('idx_meta_item_id').on(table.item_id),
|
|
310
|
+
// Support queries scoped by collection and type (e.g. all blocks in a collection).
|
|
311
|
+
index('idx_meta_collection_type').on(table.collection_id, table.type),
|
|
312
|
+
// Ensure only a single meta row exists for a given node in a document version.
|
|
313
|
+
unique('unique_meta_node').on(table.document_version_id, table.type, table.path),
|
|
314
|
+
]);
|
|
315
|
+
// 6. FILE FIELDS TABLE (Your composite type example)
|
|
316
|
+
export const fileStore = pgTable('byline_store_file', {
|
|
317
|
+
...baseStoreColumns,
|
|
318
|
+
// File identity
|
|
319
|
+
file_id: uuid('file_id').notNull(), // Reference to file storage system
|
|
320
|
+
filename: varchar('filename', { length: 255 }).notNull(),
|
|
321
|
+
original_filename: varchar('original_filename', { length: 255 }).notNull(),
|
|
322
|
+
// File metadata
|
|
323
|
+
mime_type: varchar('mime_type', { length: 100 }).notNull(),
|
|
324
|
+
file_size: bigint('file_size', { mode: 'number' }).notNull(), // Size in bytes
|
|
325
|
+
file_hash: varchar('file_hash', { length: 64 }), // SHA-256 hash for deduplication
|
|
326
|
+
// Storage information
|
|
327
|
+
storage_provider: varchar('storage_provider', { length: 50 }).notNull(), // 'local', 's3', 'gcs', etc.
|
|
328
|
+
storage_path: text('storage_path').notNull(),
|
|
329
|
+
storage_url: text('storage_url'), // CDN or direct URL
|
|
330
|
+
// Image-specific metadata (when applicable)
|
|
331
|
+
image_width: integer('image_width'),
|
|
332
|
+
image_height: integer('image_height'),
|
|
333
|
+
image_format: varchar('image_format', { length: 20 }),
|
|
334
|
+
// File processing status
|
|
335
|
+
processing_status: varchar('processing_status', { length: 20 }).default('pending'), // 'pending', 'processing', 'completed', 'failed'
|
|
336
|
+
thumbnail_generated: boolean('thumbnail_generated').default(false),
|
|
337
|
+
// Image variants (Sharp-generated derivatives). Persisted as jsonb so
|
|
338
|
+
// the read path can return a `<picture>` / `srcset`-ready array
|
|
339
|
+
// without a sidecar table. Shape: FileStoreVariant[] —
|
|
340
|
+
// { name, storage_path, storage_url?, width?, height?, format? }.
|
|
341
|
+
variants: jsonb('variants'),
|
|
342
|
+
}, (table) => [
|
|
343
|
+
// File-specific indexes
|
|
344
|
+
index('idx_file_file_id').on(table.file_id),
|
|
345
|
+
index('idx_file_mime_type').on(table.mime_type),
|
|
346
|
+
index('idx_file_size').on(table.file_size),
|
|
347
|
+
index('idx_file_hash').on(table.file_hash),
|
|
348
|
+
// Image queries
|
|
349
|
+
index('idx_file_image_dimensions').on(table.image_width, table.image_height),
|
|
350
|
+
// Storage queries
|
|
351
|
+
index('idx_file_storage_provider').on(table.storage_provider),
|
|
352
|
+
index('idx_file_processing_status').on(table.processing_status),
|
|
353
|
+
unique('unique_file_field').on(table.document_version_id, table.field_path, table.locale),
|
|
354
|
+
]);
|
|
355
|
+
// 7. JSON/STRUCTURED DATA FIELDS TABLE
|
|
356
|
+
export const jsonStore = pgTable('byline_store_json', {
|
|
357
|
+
...baseStoreColumns,
|
|
358
|
+
value: jsonb('value').notNull(),
|
|
359
|
+
// JSON metadata for optimization
|
|
360
|
+
json_schema: varchar('json_schema', { length: 100 }), // Schema identifier for validation
|
|
361
|
+
object_keys: text('object_keys').array(), // Array of top-level keys for indexing
|
|
362
|
+
}, (table) => [
|
|
363
|
+
// JSONB indexes
|
|
364
|
+
index('idx_json_value_gin').using('gin', table.value),
|
|
365
|
+
index('idx_json_schema').on(table.json_schema),
|
|
366
|
+
index('idx_json_keys').using('gin', table.object_keys),
|
|
367
|
+
unique('unique_json_field').on(table.document_version_id, table.field_path, table.locale),
|
|
368
|
+
]);
|
|
369
|
+
// RELATIONS
|
|
370
|
+
// =========
|
|
371
|
+
export const collectionsRelations = relations(collections, ({ many }) => ({
|
|
372
|
+
documents: many(documentVersions),
|
|
373
|
+
text_values: many(textStore),
|
|
374
|
+
numeric_values: many(numericStore),
|
|
375
|
+
boolean_values: many(booleanStore),
|
|
376
|
+
datetime_values: many(datetimeStore),
|
|
377
|
+
relation_values: many(relationStore, { relationName: 'source_collection' }),
|
|
378
|
+
file_values: many(fileStore),
|
|
379
|
+
json_values: many(jsonStore),
|
|
380
|
+
}));
|
|
381
|
+
export const documentsRelations = relations(documentVersions, ({ one, many }) => ({
|
|
382
|
+
collection: one(collections, {
|
|
383
|
+
fields: [documentVersions.collection_id],
|
|
384
|
+
references: [collections.id],
|
|
385
|
+
}),
|
|
386
|
+
// Relations for parent/child documents
|
|
387
|
+
// A document can be a child in many relationships. This finds the links.
|
|
388
|
+
parent_relationships: many(documentRelationships, { relationName: 'child' }),
|
|
389
|
+
// A document can be a parent in many relationships. This finds the links.
|
|
390
|
+
child_relationships: many(documentRelationships, { relationName: 'parent' }),
|
|
391
|
+
// Relations for field values
|
|
392
|
+
text_values: many(textStore),
|
|
393
|
+
numeric_values: many(numericStore),
|
|
394
|
+
boolean_values: many(booleanStore),
|
|
395
|
+
datetime_values: many(datetimeStore),
|
|
396
|
+
relation_values: many(relationStore),
|
|
397
|
+
file_values: many(fileStore),
|
|
398
|
+
json_values: many(jsonStore),
|
|
399
|
+
}));
|
|
400
|
+
export const documentRelationshipsRelations = relations(documentRelationships, ({ one }) => ({
|
|
401
|
+
parent: one(documentVersions, {
|
|
402
|
+
fields: [documentRelationships.parent_document_id],
|
|
403
|
+
references: [documentVersions.document_id],
|
|
404
|
+
relationName: 'parent',
|
|
405
|
+
}),
|
|
406
|
+
child: one(documentVersions, {
|
|
407
|
+
fields: [documentRelationships.child_document_id],
|
|
408
|
+
references: [documentVersions.document_id],
|
|
409
|
+
relationName: 'child',
|
|
410
|
+
}),
|
|
411
|
+
}));
|
|
412
|
+
// Field value relations
|
|
413
|
+
export const textStoreRelations = relations(textStore, ({ one }) => ({
|
|
414
|
+
document: one(documentVersions, {
|
|
415
|
+
fields: [textStore.document_version_id],
|
|
416
|
+
references: [documentVersions.id],
|
|
417
|
+
}),
|
|
418
|
+
collection: one(collections, {
|
|
419
|
+
fields: [textStore.collection_id],
|
|
420
|
+
references: [collections.id],
|
|
421
|
+
}),
|
|
422
|
+
}));
|
|
423
|
+
export const numericStoreRelations = relations(numericStore, ({ one }) => ({
|
|
424
|
+
document: one(documentVersions, {
|
|
425
|
+
fields: [numericStore.document_version_id],
|
|
426
|
+
references: [documentVersions.id],
|
|
427
|
+
}),
|
|
428
|
+
collection: one(collections, {
|
|
429
|
+
fields: [numericStore.collection_id],
|
|
430
|
+
references: [collections.id],
|
|
431
|
+
}),
|
|
432
|
+
}));
|
|
433
|
+
export const booleanStoreRelations = relations(booleanStore, ({ one }) => ({
|
|
434
|
+
document: one(documentVersions, {
|
|
435
|
+
fields: [booleanStore.document_version_id],
|
|
436
|
+
references: [documentVersions.id],
|
|
437
|
+
}),
|
|
438
|
+
collection: one(collections, {
|
|
439
|
+
fields: [booleanStore.collection_id],
|
|
440
|
+
references: [collections.id],
|
|
441
|
+
}),
|
|
442
|
+
}));
|
|
443
|
+
export const datetimeStoreRelations = relations(datetimeStore, ({ one }) => ({
|
|
444
|
+
document: one(documentVersions, {
|
|
445
|
+
fields: [datetimeStore.document_version_id],
|
|
446
|
+
references: [documentVersions.id],
|
|
447
|
+
}),
|
|
448
|
+
collection: one(collections, {
|
|
449
|
+
fields: [datetimeStore.collection_id],
|
|
450
|
+
references: [collections.id],
|
|
451
|
+
}),
|
|
452
|
+
}));
|
|
453
|
+
export const relationStoreRelations = relations(relationStore, ({ one }) => ({
|
|
454
|
+
document: one(documentVersions, {
|
|
455
|
+
fields: [relationStore.document_version_id],
|
|
456
|
+
references: [documentVersions.id],
|
|
457
|
+
}),
|
|
458
|
+
collection: one(collections, {
|
|
459
|
+
fields: [relationStore.collection_id],
|
|
460
|
+
references: [collections.id],
|
|
461
|
+
relationName: 'source_collection',
|
|
462
|
+
}),
|
|
463
|
+
// This relation is now based on the logical document_id.
|
|
464
|
+
// Note: This will relate to *all* versions of the document.
|
|
465
|
+
// You will typically query against the `currentDocumentsView` to get the latest version.
|
|
466
|
+
target_document: one(documentVersions, {
|
|
467
|
+
fields: [relationStore.target_document_id],
|
|
468
|
+
references: [documentVersions.document_id],
|
|
469
|
+
}),
|
|
470
|
+
target_collection: one(collections, {
|
|
471
|
+
fields: [relationStore.target_collection_id],
|
|
472
|
+
references: [collections.id],
|
|
473
|
+
}),
|
|
474
|
+
}));
|
|
475
|
+
export const fileStoreRelations = relations(fileStore, ({ one }) => ({
|
|
476
|
+
document: one(documentVersions, {
|
|
477
|
+
fields: [fileStore.document_version_id],
|
|
478
|
+
references: [documentVersions.id],
|
|
479
|
+
}),
|
|
480
|
+
collection: one(collections, {
|
|
481
|
+
fields: [fileStore.collection_id],
|
|
482
|
+
references: [collections.id],
|
|
483
|
+
}),
|
|
484
|
+
}));
|
|
485
|
+
export const jsonStoreRelations = relations(jsonStore, ({ one }) => ({
|
|
486
|
+
document: one(documentVersions, {
|
|
487
|
+
fields: [jsonStore.document_version_id],
|
|
488
|
+
references: [documentVersions.id],
|
|
489
|
+
}),
|
|
490
|
+
collection: one(collections, {
|
|
491
|
+
fields: [jsonStore.collection_id],
|
|
492
|
+
references: [collections.id],
|
|
493
|
+
}),
|
|
494
|
+
}));
|
|
495
|
+
// ---------------------------------------------------------------------------
|
|
496
|
+
// Auth schema — byline_admin_users, byline_admin_roles, etc.
|
|
497
|
+
// See ./auth.ts for definitions and rationale.
|
|
498
|
+
// ---------------------------------------------------------------------------
|
|
499
|
+
export { adminPermissions, adminPermissionsRelations, adminRefreshTokens, adminRefreshTokensRelations, adminRoleAdminUser, adminRoleAdminUserRelations, adminRoles, adminRolesRelations, adminUsers, adminUsersRelations, } from './auth.js';
|
|
500
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/database/schema/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This Source Code is subject to the terms of the Mozilla Public
|
|
3
|
+
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
+
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
5
|
+
*
|
|
6
|
+
* Copyright (c) Infonomic Company Limited
|
|
7
|
+
*/
|
|
8
|
+
import type { CollectionDefinition, IDbAdapter } from '@byline/core';
|
|
9
|
+
import { type NodePgDatabase } from 'drizzle-orm/node-postgres';
|
|
10
|
+
import pg from 'pg';
|
|
11
|
+
import * as schema from './database/schema/index.js';
|
|
12
|
+
/**
|
|
13
|
+
* Public return type of `pgAdapter`. Extends `IDbAdapter` with concrete
|
|
14
|
+
* Drizzle + pg handles so integrations that need the raw database (the
|
|
15
|
+
* session provider, housekeeping scripts, migration tooling) don't have
|
|
16
|
+
* to construct a second connection pool.
|
|
17
|
+
*
|
|
18
|
+
* Consumers that only need the adapter contract can still annotate as
|
|
19
|
+
* `IDbAdapter` and ignore the extra properties.
|
|
20
|
+
*/
|
|
21
|
+
export interface PgAdapter extends IDbAdapter {
|
|
22
|
+
/** The underlying Drizzle instance typed against the full schema. */
|
|
23
|
+
drizzle: NodePgDatabase<typeof schema>;
|
|
24
|
+
/** The pg connection pool — exposed for housekeeping and teardown. */
|
|
25
|
+
pool: pg.Pool;
|
|
26
|
+
}
|
|
27
|
+
export declare const pgAdapter: ({ connectionString, collections, }: {
|
|
28
|
+
connectionString: string;
|
|
29
|
+
collections: CollectionDefinition[];
|
|
30
|
+
}) => PgAdapter;
|
|
31
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACpE,OAAO,EAAW,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAA;AACxE,OAAO,EAAE,MAAM,IAAI,CAAA;AAEnB,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAA;AAIpD;;;;;;;;GAQG;AACH,MAAM,WAAW,SAAU,SAAQ,UAAU;IAC3C,qEAAqE;IACrE,OAAO,EAAE,cAAc,CAAC,OAAO,MAAM,CAAC,CAAA;IACtC,sEAAsE;IACtE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAA;CACd;AAED,eAAO,MAAM,SAAS,GAAI,oCAGvB;IACD,gBAAgB,EAAE,MAAM,CAAA;IACxB,WAAW,EAAE,oBAAoB,EAAE,CAAA;CACpC,KAAG,SAmBH,CAAA"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This Source Code is subject to the terms of the Mozilla Public
|
|
3
|
+
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
+
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
5
|
+
*
|
|
6
|
+
* Copyright (c) Infonomic Company Limited
|
|
7
|
+
*/
|
|
8
|
+
import { drizzle } from 'drizzle-orm/node-postgres';
|
|
9
|
+
import pg from 'pg';
|
|
10
|
+
import * as schema from './database/schema/index.js';
|
|
11
|
+
import { createCommandBuilders } from './modules/storage/storage-commands.js';
|
|
12
|
+
import { createQueryBuilders } from './modules/storage/storage-queries.js';
|
|
13
|
+
export const pgAdapter = ({ connectionString, collections, }) => {
|
|
14
|
+
const pool = new pg.Pool({
|
|
15
|
+
connectionString: connectionString,
|
|
16
|
+
max: 20,
|
|
17
|
+
idleTimeoutMillis: 2000,
|
|
18
|
+
connectionTimeoutMillis: 1000,
|
|
19
|
+
});
|
|
20
|
+
const db = drizzle(pool, { schema });
|
|
21
|
+
const commandBuilders = createCommandBuilders(db);
|
|
22
|
+
const queryBuilders = createQueryBuilders(db, collections);
|
|
23
|
+
return {
|
|
24
|
+
commands: commandBuilders,
|
|
25
|
+
queries: queryBuilders,
|
|
26
|
+
drizzle: db,
|
|
27
|
+
pool,
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,OAAO,EAAuB,MAAM,2BAA2B,CAAA;AACxE,OAAO,EAAE,MAAM,IAAI,CAAA;AAEnB,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAA;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAA;AAkB1E,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EACxB,gBAAgB,EAChB,WAAW,GAIZ,EAAa,EAAE;IACd,MAAM,IAAI,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC;QACvB,gBAAgB,EAAE,gBAAgB;QAClC,GAAG,EAAE,EAAE;QACP,iBAAiB,EAAE,IAAI;QACvB,uBAAuB,EAAE,IAAI;KAC9B,CAAC,CAAA;IAEF,MAAM,EAAE,GAAkC,OAAO,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;IAEnE,MAAM,eAAe,GAAG,qBAAqB,CAAC,EAAE,CAAC,CAAA;IACjD,MAAM,aAAa,GAAG,mBAAmB,CAAC,EAAE,EAAE,WAAW,CAAC,CAAA;IAE1D,OAAO;QACL,QAAQ,EAAE,eAAe;QACzB,OAAO,EAAE,aAAa;QACtB,OAAO,EAAE,EAAE;QACX,IAAI;KACL,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { CollectionDefinition } from '@byline/core';
|
|
2
|
+
import { type NodePgDatabase } from 'drizzle-orm/node-postgres';
|
|
3
|
+
import * as schema from '../database/schema/index.js';
|
|
4
|
+
export declare function setupTestDB(collections?: CollectionDefinition[]): {
|
|
5
|
+
pool: import("pg").Pool;
|
|
6
|
+
db: NodePgDatabase<typeof schema>;
|
|
7
|
+
commandBuilders: {
|
|
8
|
+
collections: import("../modules/storage/storage-commands.js").CollectionCommands;
|
|
9
|
+
documents: import("../modules/storage/storage-commands.js").DocumentCommands;
|
|
10
|
+
};
|
|
11
|
+
queryBuilders: {
|
|
12
|
+
collections: import("../modules/storage/storage-queries.js").CollectionQueries;
|
|
13
|
+
documents: import("../modules/storage/storage-queries.js").DocumentQueries;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
export declare function teardownTestDB(): Promise<void>;
|
|
17
|
+
//# sourceMappingURL=test-helper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-helper.d.ts","sourceRoot":"","sources":["../../src/lib/test-helper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACxD,OAAO,EAAW,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAGxE,OAAO,KAAK,MAAM,MAAM,6BAA6B,CAAA;AASrD,wBAAgB,WAAW,CAAC,WAAW,GAAE,oBAAoB,EAAO;;;;;;;;;;;EA+BnE;AAED,wBAAsB,cAAc,kBAQnC"}
|