diff --git a/deno.json b/deno.json index f7296fa0..f5acf018 100644 --- a/deno.json +++ b/deno.json @@ -2,6 +2,7 @@ "workspace": [ "./packages/api", "./packages/conf", + "./packages/db", "./packages/ditto" ], "tasks": { diff --git a/packages/ditto/db/DittoDB.ts b/packages/db/DittoDB.ts similarity index 83% rename from packages/ditto/db/DittoDB.ts rename to packages/db/DittoDB.ts index 8d242237..e18242cd 100644 --- a/packages/ditto/db/DittoDB.ts +++ b/packages/db/DittoDB.ts @@ -2,15 +2,17 @@ import fs from 'node:fs/promises'; import path from 'node:path'; import { logi } from '@soapbox/logi'; -import { JsonValue } from '@std/json'; -import { FileMigrationProvider, Kysely, Migrator } from 'kysely'; +import { FileMigrationProvider, type Kysely, Migrator } from 'kysely'; -import { DittoPglite } from '@/db/adapters/DittoPglite.ts'; -import { DittoPostgres } from '@/db/adapters/DittoPostgres.ts'; -import { DittoDatabase, DittoDatabaseOpts } from '@/db/DittoDatabase.ts'; -import { DittoTables } from '@/db/DittoTables.ts'; import { errorJson } from '@/utils/log.ts'; +import { DittoPglite } from './adapters/DittoPglite.ts'; +import { DittoPostgres } from './adapters/DittoPostgres.ts'; + +import type { JsonValue } from '@std/json'; +import type { DittoDatabase, DittoDatabaseOpts } from './DittoDatabase.ts'; +import type { DittoTables } from './DittoTables.ts'; + export class DittoDB { /** Open a new database connection. */ static create(databaseUrl: string, opts?: DittoDatabaseOpts): DittoDatabase { diff --git a/packages/ditto/db/DittoDatabase.ts b/packages/db/DittoDatabase.ts similarity index 77% rename from packages/ditto/db/DittoDatabase.ts rename to packages/db/DittoDatabase.ts index 3979cd12..e43356a0 100644 --- a/packages/ditto/db/DittoDatabase.ts +++ b/packages/db/DittoDatabase.ts @@ -1,6 +1,6 @@ -import { Kysely } from 'kysely'; +import type { Kysely } from 'kysely'; -import { DittoTables } from '@/db/DittoTables.ts'; +import type { DittoTables } from './DittoTables.ts'; export interface DittoDatabase { readonly kysely: Kysely; diff --git a/packages/ditto/db/DittoTables.ts b/packages/db/DittoTables.ts similarity index 95% rename from packages/ditto/db/DittoTables.ts rename to packages/db/DittoTables.ts index 5a7e4c73..92226a84 100644 --- a/packages/ditto/db/DittoTables.ts +++ b/packages/db/DittoTables.ts @@ -1,6 +1,5 @@ -import { Generated } from 'kysely'; - -import { NPostgresSchema } from '@nostrify/db'; +import type { NPostgresSchema } from '@nostrify/db'; +import type { Generated } from 'kysely'; export interface DittoTables extends NPostgresSchema { auth_tokens: AuthTokenRow; diff --git a/packages/ditto/db/KyselyLogger.ts b/packages/db/KyselyLogger.ts similarity index 80% rename from packages/ditto/db/KyselyLogger.ts rename to packages/db/KyselyLogger.ts index 45c10cc3..4ddd1305 100644 --- a/packages/ditto/db/KyselyLogger.ts +++ b/packages/db/KyselyLogger.ts @@ -1,8 +1,8 @@ -import { logi, LogiValue } from '@soapbox/logi'; -import { Logger } from 'kysely'; +import { logi, type LogiValue } from '@soapbox/logi'; import { dbQueriesCounter, dbQueryDurationHistogram } from '@/metrics.ts'; -import { errorJson } from '@/utils/log.ts'; + +import type { Logger } from 'kysely'; /** Log the SQL for queries. */ export const KyselyLogger: Logger = (event) => { @@ -24,7 +24,7 @@ export const KyselyLogger: Logger = (event) => { ns: 'ditto.sql', sql, parameters: parameters as LogiValue, - error: errorJson(event.error), + error: event.error instanceof Error ? event.error : null, duration, }); } diff --git a/packages/ditto/db/adapters/DittoPglite.ts b/packages/db/adapters/DittoPglite.ts similarity index 80% rename from packages/ditto/db/adapters/DittoPglite.ts rename to packages/db/adapters/DittoPglite.ts index df616458..2e7ca3fc 100644 --- a/packages/ditto/db/adapters/DittoPglite.ts +++ b/packages/db/adapters/DittoPglite.ts @@ -3,10 +3,11 @@ import { pg_trgm } from '@electric-sql/pglite/contrib/pg_trgm'; import { PgliteDialect } from '@soapbox/kysely-pglite'; import { Kysely } from 'kysely'; -import { DittoDatabase, DittoDatabaseOpts } from '@/db/DittoDatabase.ts'; -import { DittoTables } from '@/db/DittoTables.ts'; -import { KyselyLogger } from '@/db/KyselyLogger.ts'; -import { isWorker } from '@/utils/worker.ts'; +import { KyselyLogger } from '../KyselyLogger.ts'; +import { isWorker } from '../utils/worker.ts'; + +import type { DittoDatabase, DittoDatabaseOpts } from '../DittoDatabase.ts'; +import type { DittoTables } from '../DittoTables.ts'; export class DittoPglite { static create(databaseUrl: string, opts?: DittoDatabaseOpts): DittoDatabase { diff --git a/packages/ditto/db/adapters/DittoPostgres.ts b/packages/db/adapters/DittoPostgres.ts similarity index 86% rename from packages/ditto/db/adapters/DittoPostgres.ts rename to packages/db/adapters/DittoPostgres.ts index 180e4a7a..9ab8156f 100644 --- a/packages/ditto/db/adapters/DittoPostgres.ts +++ b/packages/db/adapters/DittoPostgres.ts @@ -1,5 +1,5 @@ import { - BinaryOperationNode, + type BinaryOperationNode, FunctionNode, Kysely, OperatorNode, @@ -9,12 +9,13 @@ import { PrimitiveValueListNode, ValueNode, } from 'kysely'; -import { PostgresJSDialectConfig, PostgresJSDriver } from 'kysely-postgres-js'; +import { type PostgresJSDialectConfig, PostgresJSDriver } from 'kysely-postgres-js'; import postgres from 'postgres'; -import { DittoDatabase, DittoDatabaseOpts } from '@/db/DittoDatabase.ts'; -import { DittoTables } from '@/db/DittoTables.ts'; -import { KyselyLogger } from '@/db/KyselyLogger.ts'; +import { KyselyLogger } from '../KyselyLogger.ts'; + +import type { DittoDatabase, DittoDatabaseOpts } from '../DittoDatabase.ts'; +import type { DittoTables } from '../DittoTables.ts'; export class DittoPostgres { static create(databaseUrl: string, opts?: DittoDatabaseOpts): DittoDatabase { diff --git a/packages/db/deno.json b/packages/db/deno.json new file mode 100644 index 00000000..51570d2f --- /dev/null +++ b/packages/db/deno.json @@ -0,0 +1,6 @@ +{ + "name": "@ditto/db", + "exports": { + ".": "./mod.ts" + } +} diff --git a/packages/ditto/db/migrations/000_create_events.ts b/packages/db/migrations/000_create_events.ts similarity index 97% rename from packages/ditto/db/migrations/000_create_events.ts rename to packages/db/migrations/000_create_events.ts index 9cfffc6c..e5f27f5d 100644 --- a/packages/ditto/db/migrations/000_create_events.ts +++ b/packages/db/migrations/000_create_events.ts @@ -1,4 +1,4 @@ -import { Kysely } from 'kysely'; +import type { Kysely } from 'kysely'; export async function up(db: Kysely): Promise { await db.schema diff --git a/packages/ditto/db/migrations/001_add_relays.ts b/packages/db/migrations/001_add_relays.ts similarity index 91% rename from packages/ditto/db/migrations/001_add_relays.ts rename to packages/db/migrations/001_add_relays.ts index c1685e34..4d286fcb 100644 --- a/packages/ditto/db/migrations/001_add_relays.ts +++ b/packages/db/migrations/001_add_relays.ts @@ -1,4 +1,4 @@ -import { Kysely } from 'kysely'; +import type { Kysely } from 'kysely'; export async function up(db: Kysely): Promise { await db.schema diff --git a/packages/ditto/db/migrations/002_events_fts.ts b/packages/db/migrations/002_events_fts.ts similarity index 85% rename from packages/ditto/db/migrations/002_events_fts.ts rename to packages/db/migrations/002_events_fts.ts index 392d3c0a..d88d0e7f 100644 --- a/packages/ditto/db/migrations/002_events_fts.ts +++ b/packages/db/migrations/002_events_fts.ts @@ -1,4 +1,4 @@ -import { Kysely } from 'kysely'; +import type { Kysely } from 'kysely'; export async function up(_db: Kysely): Promise { // This migration used to create an FTS table for SQLite, but SQLite support was removed. diff --git a/packages/ditto/db/migrations/003_events_admin.ts b/packages/db/migrations/003_events_admin.ts similarity index 84% rename from packages/ditto/db/migrations/003_events_admin.ts rename to packages/db/migrations/003_events_admin.ts index 46dbb37b..9d555c2d 100644 --- a/packages/ditto/db/migrations/003_events_admin.ts +++ b/packages/db/migrations/003_events_admin.ts @@ -1,4 +1,4 @@ -import { Kysely } from 'kysely'; +import type { Kysely } from 'kysely'; export async function up(_db: Kysely): Promise { } diff --git a/packages/ditto/db/migrations/004_add_user_indexes.ts b/packages/db/migrations/004_add_user_indexes.ts similarity index 87% rename from packages/ditto/db/migrations/004_add_user_indexes.ts rename to packages/db/migrations/004_add_user_indexes.ts index 1759644e..77fe1d31 100644 --- a/packages/ditto/db/migrations/004_add_user_indexes.ts +++ b/packages/db/migrations/004_add_user_indexes.ts @@ -1,4 +1,4 @@ -import { Kysely } from 'kysely'; +import type { Kysely } from 'kysely'; export async function up(_db: Kysely): Promise { } diff --git a/packages/ditto/db/migrations/005_rework_tags.ts b/packages/db/migrations/005_rework_tags.ts similarity index 97% rename from packages/ditto/db/migrations/005_rework_tags.ts rename to packages/db/migrations/005_rework_tags.ts index 29d83962..9d0cfcd2 100644 --- a/packages/ditto/db/migrations/005_rework_tags.ts +++ b/packages/db/migrations/005_rework_tags.ts @@ -1,4 +1,4 @@ -import { Kysely, sql } from 'kysely'; +import { type Kysely, sql } from 'kysely'; export async function up(db: Kysely): Promise { await db.schema diff --git a/packages/ditto/db/migrations/006_pragma.ts b/packages/db/migrations/006_pragma.ts similarity index 78% rename from packages/ditto/db/migrations/006_pragma.ts rename to packages/db/migrations/006_pragma.ts index 41c6883f..d56df6db 100644 --- a/packages/ditto/db/migrations/006_pragma.ts +++ b/packages/db/migrations/006_pragma.ts @@ -1,4 +1,4 @@ -import { Kysely } from 'kysely'; +import type { Kysely } from 'kysely'; export async function up(_db: Kysely): Promise { } diff --git a/packages/ditto/db/migrations/007_unattached_media.ts b/packages/db/migrations/007_unattached_media.ts similarity index 95% rename from packages/ditto/db/migrations/007_unattached_media.ts rename to packages/db/migrations/007_unattached_media.ts index eb738ecb..1a7a2b18 100644 --- a/packages/ditto/db/migrations/007_unattached_media.ts +++ b/packages/db/migrations/007_unattached_media.ts @@ -1,4 +1,4 @@ -import { Kysely } from 'kysely'; +import type { Kysely } from 'kysely'; export async function up(db: Kysely): Promise { await db.schema diff --git a/packages/ditto/db/migrations/008_wal.ts b/packages/db/migrations/008_wal.ts similarity index 78% rename from packages/ditto/db/migrations/008_wal.ts rename to packages/db/migrations/008_wal.ts index 41c6883f..d56df6db 100644 --- a/packages/ditto/db/migrations/008_wal.ts +++ b/packages/db/migrations/008_wal.ts @@ -1,4 +1,4 @@ -import { Kysely } from 'kysely'; +import type { Kysely } from 'kysely'; export async function up(_db: Kysely): Promise { } diff --git a/packages/ditto/db/migrations/009_add_stats.ts b/packages/db/migrations/009_add_stats.ts similarity index 96% rename from packages/ditto/db/migrations/009_add_stats.ts rename to packages/db/migrations/009_add_stats.ts index 3865847e..a25ee09f 100644 --- a/packages/ditto/db/migrations/009_add_stats.ts +++ b/packages/db/migrations/009_add_stats.ts @@ -1,4 +1,4 @@ -import { Kysely } from 'kysely'; +import type { Kysely } from 'kysely'; export async function up(db: Kysely): Promise { await db.schema diff --git a/packages/ditto/db/migrations/010_drop_users.ts b/packages/db/migrations/010_drop_users.ts similarity index 83% rename from packages/ditto/db/migrations/010_drop_users.ts rename to packages/db/migrations/010_drop_users.ts index e936fa00..3175cb04 100644 --- a/packages/ditto/db/migrations/010_drop_users.ts +++ b/packages/db/migrations/010_drop_users.ts @@ -1,4 +1,4 @@ -import { Kysely } from 'kysely'; +import type { Kysely } from 'kysely'; export async function up(db: Kysely): Promise { await db.schema.dropTable('users').ifExists().execute(); diff --git a/packages/ditto/db/migrations/011_kind_author_index.ts b/packages/db/migrations/011_kind_author_index.ts similarity index 90% rename from packages/ditto/db/migrations/011_kind_author_index.ts rename to packages/db/migrations/011_kind_author_index.ts index 844c105c..03da79ab 100644 --- a/packages/ditto/db/migrations/011_kind_author_index.ts +++ b/packages/db/migrations/011_kind_author_index.ts @@ -1,4 +1,4 @@ -import { Kysely } from 'kysely'; +import type { Kysely } from 'kysely'; export async function up(db: Kysely): Promise { await db.schema diff --git a/packages/ditto/db/migrations/012_tags_composite_index.ts b/packages/db/migrations/012_tags_composite_index.ts similarity index 94% rename from packages/ditto/db/migrations/012_tags_composite_index.ts rename to packages/db/migrations/012_tags_composite_index.ts index 3894ed27..9cca3cc1 100644 --- a/packages/ditto/db/migrations/012_tags_composite_index.ts +++ b/packages/db/migrations/012_tags_composite_index.ts @@ -1,4 +1,4 @@ -import { Kysely } from 'kysely'; +import type { Kysely } from 'kysely'; export async function up(db: Kysely): Promise { await db.schema.dropIndex('idx_tags_tag').execute(); diff --git a/packages/ditto/db/migrations/013_soft_deletion.ts b/packages/db/migrations/013_soft_deletion.ts similarity index 88% rename from packages/ditto/db/migrations/013_soft_deletion.ts rename to packages/db/migrations/013_soft_deletion.ts index 17fcf5ea..7b336635 100644 --- a/packages/ditto/db/migrations/013_soft_deletion.ts +++ b/packages/db/migrations/013_soft_deletion.ts @@ -1,4 +1,4 @@ -import { Kysely } from 'kysely'; +import type { Kysely } from 'kysely'; export async function up(db: Kysely): Promise { await db.schema.alterTable('events').addColumn('deleted_at', 'integer').execute(); diff --git a/packages/ditto/db/migrations/014_stats_indexes.ts.ts b/packages/db/migrations/014_stats_indexes.ts.ts similarity index 93% rename from packages/ditto/db/migrations/014_stats_indexes.ts.ts rename to packages/db/migrations/014_stats_indexes.ts.ts index db52b89a..7f8db099 100644 --- a/packages/ditto/db/migrations/014_stats_indexes.ts.ts +++ b/packages/db/migrations/014_stats_indexes.ts.ts @@ -1,4 +1,4 @@ -import { Kysely } from 'kysely'; +import type { Kysely } from 'kysely'; export async function up(db: Kysely): Promise { await db.schema.createIndex('idx_author_stats_pubkey').on('author_stats').column('pubkey').execute(); diff --git a/packages/ditto/db/migrations/015_add_pubkey_domains.ts b/packages/db/migrations/015_add_pubkey_domains.ts similarity index 93% rename from packages/ditto/db/migrations/015_add_pubkey_domains.ts rename to packages/db/migrations/015_add_pubkey_domains.ts index 91a480d5..625de519 100644 --- a/packages/ditto/db/migrations/015_add_pubkey_domains.ts +++ b/packages/db/migrations/015_add_pubkey_domains.ts @@ -1,4 +1,4 @@ -import { Kysely } from 'kysely'; +import type { Kysely } from 'kysely'; export async function up(db: Kysely): Promise { await db.schema diff --git a/packages/ditto/db/migrations/016_pubkey_domains_updated_at.ts b/packages/db/migrations/016_pubkey_domains_updated_at.ts similarity index 90% rename from packages/ditto/db/migrations/016_pubkey_domains_updated_at.ts rename to packages/db/migrations/016_pubkey_domains_updated_at.ts index 26f45fb7..8343d036 100644 --- a/packages/ditto/db/migrations/016_pubkey_domains_updated_at.ts +++ b/packages/db/migrations/016_pubkey_domains_updated_at.ts @@ -1,4 +1,4 @@ -import { Kysely } from 'kysely'; +import type { Kysely } from 'kysely'; export async function up(db: Kysely): Promise { await db.schema diff --git a/packages/ditto/db/migrations/017_rm_relays.ts b/packages/db/migrations/017_rm_relays.ts similarity index 91% rename from packages/ditto/db/migrations/017_rm_relays.ts rename to packages/db/migrations/017_rm_relays.ts index eeea4d06..ccf53e67 100644 --- a/packages/ditto/db/migrations/017_rm_relays.ts +++ b/packages/db/migrations/017_rm_relays.ts @@ -1,4 +1,4 @@ -import { Kysely } from 'kysely'; +import type { Kysely } from 'kysely'; export async function up(db: Kysely): Promise { await db.schema.dropTable('relays').execute(); diff --git a/packages/ditto/db/migrations/018_events_created_at_kind_index.ts b/packages/db/migrations/018_events_created_at_kind_index.ts similarity index 90% rename from packages/ditto/db/migrations/018_events_created_at_kind_index.ts rename to packages/db/migrations/018_events_created_at_kind_index.ts index 17ffa856..d6a9dcc1 100644 --- a/packages/ditto/db/migrations/018_events_created_at_kind_index.ts +++ b/packages/db/migrations/018_events_created_at_kind_index.ts @@ -1,4 +1,4 @@ -import { Kysely } from 'kysely'; +import type { Kysely } from 'kysely'; export async function up(db: Kysely): Promise { await db.schema diff --git a/packages/ditto/db/migrations/019_ndatabase_schema.ts b/packages/db/migrations/019_ndatabase_schema.ts similarity index 93% rename from packages/ditto/db/migrations/019_ndatabase_schema.ts rename to packages/db/migrations/019_ndatabase_schema.ts index a394ed71..736cd0bc 100644 --- a/packages/ditto/db/migrations/019_ndatabase_schema.ts +++ b/packages/db/migrations/019_ndatabase_schema.ts @@ -1,4 +1,4 @@ -import { Kysely } from 'kysely'; +import type { Kysely } from 'kysely'; export async function up(db: Kysely): Promise { await db.schema.alterTable('events').renameTo('nostr_events').execute(); diff --git a/packages/ditto/db/migrations/020_drop_deleted_at.ts b/packages/db/migrations/020_drop_deleted_at.ts similarity index 91% rename from packages/ditto/db/migrations/020_drop_deleted_at.ts rename to packages/db/migrations/020_drop_deleted_at.ts index a55fe537..6ba81031 100644 --- a/packages/ditto/db/migrations/020_drop_deleted_at.ts +++ b/packages/db/migrations/020_drop_deleted_at.ts @@ -1,4 +1,4 @@ -import { Kysely } from 'kysely'; +import type { Kysely } from 'kysely'; // deno-lint-ignore no-explicit-any export async function up(db: Kysely): Promise { diff --git a/packages/ditto/db/migrations/020_pgfts.ts b/packages/db/migrations/020_pgfts.ts similarity index 91% rename from packages/ditto/db/migrations/020_pgfts.ts rename to packages/db/migrations/020_pgfts.ts index 8b22a4e3..e69bd508 100644 --- a/packages/ditto/db/migrations/020_pgfts.ts +++ b/packages/db/migrations/020_pgfts.ts @@ -1,4 +1,4 @@ -import { Kysely, sql } from 'kysely'; +import { type Kysely, sql } from 'kysely'; export async function up(db: Kysely): Promise { await db.schema.createTable('nostr_pgfts') diff --git a/packages/ditto/db/migrations/021_pgfts_index.ts b/packages/db/migrations/021_pgfts_index.ts similarity index 90% rename from packages/ditto/db/migrations/021_pgfts_index.ts rename to packages/db/migrations/021_pgfts_index.ts index 497adaeb..38e80aed 100644 --- a/packages/ditto/db/migrations/021_pgfts_index.ts +++ b/packages/db/migrations/021_pgfts_index.ts @@ -1,4 +1,4 @@ -import { Kysely } from 'kysely'; +import type { Kysely } from 'kysely'; export async function up(db: Kysely): Promise { await db.schema diff --git a/packages/ditto/db/migrations/022_event_stats_reactions.ts b/packages/db/migrations/022_event_stats_reactions.ts similarity index 90% rename from packages/ditto/db/migrations/022_event_stats_reactions.ts rename to packages/db/migrations/022_event_stats_reactions.ts index 25cb7d99..45c780b6 100644 --- a/packages/ditto/db/migrations/022_event_stats_reactions.ts +++ b/packages/db/migrations/022_event_stats_reactions.ts @@ -1,4 +1,4 @@ -import { Kysely } from 'kysely'; +import type { Kysely } from 'kysely'; export async function up(db: Kysely): Promise { await db.schema diff --git a/packages/ditto/db/migrations/023_add_nip46_tokens.ts b/packages/db/migrations/023_add_nip46_tokens.ts similarity index 94% rename from packages/ditto/db/migrations/023_add_nip46_tokens.ts rename to packages/db/migrations/023_add_nip46_tokens.ts index 27ac05d6..45c1522c 100644 --- a/packages/ditto/db/migrations/023_add_nip46_tokens.ts +++ b/packages/db/migrations/023_add_nip46_tokens.ts @@ -1,4 +1,4 @@ -import { Kysely, sql } from 'kysely'; +import { type Kysely, sql } from 'kysely'; export async function up(db: Kysely): Promise { await db.schema diff --git a/packages/ditto/db/migrations/024_event_stats_quotes_count.ts b/packages/db/migrations/024_event_stats_quotes_count.ts similarity index 90% rename from packages/ditto/db/migrations/024_event_stats_quotes_count.ts rename to packages/db/migrations/024_event_stats_quotes_count.ts index e5cffb2b..b9808bd2 100644 --- a/packages/ditto/db/migrations/024_event_stats_quotes_count.ts +++ b/packages/db/migrations/024_event_stats_quotes_count.ts @@ -1,4 +1,4 @@ -import { Kysely } from 'kysely'; +import type { Kysely } from 'kysely'; export async function up(db: Kysely): Promise { await db.schema diff --git a/packages/ditto/db/migrations/025_event_stats_add_zap_count.ts b/packages/db/migrations/025_event_stats_add_zap_count.ts similarity index 90% rename from packages/ditto/db/migrations/025_event_stats_add_zap_count.ts rename to packages/db/migrations/025_event_stats_add_zap_count.ts index da021f07..0507fd18 100644 --- a/packages/ditto/db/migrations/025_event_stats_add_zap_count.ts +++ b/packages/db/migrations/025_event_stats_add_zap_count.ts @@ -1,4 +1,4 @@ -import { Kysely } from 'kysely'; +import type { Kysely } from 'kysely'; export async function up(db: Kysely): Promise { await db.schema diff --git a/packages/ditto/db/migrations/026_tags_name_index.ts b/packages/db/migrations/026_tags_name_index.ts similarity index 89% rename from packages/ditto/db/migrations/026_tags_name_index.ts rename to packages/db/migrations/026_tags_name_index.ts index 18c2519d..3703953b 100644 --- a/packages/ditto/db/migrations/026_tags_name_index.ts +++ b/packages/db/migrations/026_tags_name_index.ts @@ -1,4 +1,4 @@ -import { Kysely } from 'kysely'; +import type { Kysely } from 'kysely'; export async function up(db: Kysely): Promise { await db.schema diff --git a/packages/ditto/db/migrations/027_add_zap_events.ts b/packages/db/migrations/027_add_zap_events.ts similarity index 96% rename from packages/ditto/db/migrations/027_add_zap_events.ts rename to packages/db/migrations/027_add_zap_events.ts index 6445105f..8ccb8158 100644 --- a/packages/ditto/db/migrations/027_add_zap_events.ts +++ b/packages/db/migrations/027_add_zap_events.ts @@ -1,4 +1,4 @@ -import { Kysely } from 'kysely'; +import type { Kysely } from 'kysely'; export async function up(db: Kysely): Promise { await db.schema diff --git a/packages/ditto/db/migrations/028_stable_sort.ts b/packages/db/migrations/028_stable_sort.ts similarity index 96% rename from packages/ditto/db/migrations/028_stable_sort.ts rename to packages/db/migrations/028_stable_sort.ts index c27c6a5f..76d771f5 100644 --- a/packages/ditto/db/migrations/028_stable_sort.ts +++ b/packages/db/migrations/028_stable_sort.ts @@ -1,4 +1,4 @@ -import { Kysely } from 'kysely'; +import type { Kysely } from 'kysely'; export async function up(db: Kysely): Promise { await db.schema diff --git a/packages/ditto/db/migrations/029_tag_queries.ts b/packages/db/migrations/029_tag_queries.ts similarity index 98% rename from packages/ditto/db/migrations/029_tag_queries.ts rename to packages/db/migrations/029_tag_queries.ts index a2ad209c..9a2fd2b3 100644 --- a/packages/ditto/db/migrations/029_tag_queries.ts +++ b/packages/db/migrations/029_tag_queries.ts @@ -1,4 +1,4 @@ -import { Kysely, sql } from 'kysely'; +import { type Kysely, sql } from 'kysely'; export async function up(db: Kysely): Promise { await db.schema diff --git a/packages/ditto/db/migrations/030_pg_events_jsonb.ts b/packages/db/migrations/030_pg_events_jsonb.ts similarity index 99% rename from packages/ditto/db/migrations/030_pg_events_jsonb.ts rename to packages/db/migrations/030_pg_events_jsonb.ts index 6b28bfc3..b6a6328b 100644 --- a/packages/ditto/db/migrations/030_pg_events_jsonb.ts +++ b/packages/db/migrations/030_pg_events_jsonb.ts @@ -1,4 +1,4 @@ -import { Kysely, sql } from 'kysely'; +import { type Kysely, sql } from 'kysely'; export async function up(db: Kysely): Promise { // Create new table and indexes. diff --git a/packages/ditto/db/migrations/031_rm_unattached_media.ts b/packages/db/migrations/031_rm_unattached_media.ts similarity index 95% rename from packages/ditto/db/migrations/031_rm_unattached_media.ts rename to packages/db/migrations/031_rm_unattached_media.ts index 34a5a735..48e9e97b 100644 --- a/packages/ditto/db/migrations/031_rm_unattached_media.ts +++ b/packages/db/migrations/031_rm_unattached_media.ts @@ -1,4 +1,4 @@ -import { Kysely } from 'kysely'; +import type { Kysely } from 'kysely'; export async function up(db: Kysely): Promise { await db.schema.dropTable('unattached_media').execute(); diff --git a/packages/ditto/db/migrations/032_add_author_search.ts b/packages/db/migrations/032_add_author_search.ts similarity index 93% rename from packages/ditto/db/migrations/032_add_author_search.ts rename to packages/db/migrations/032_add_author_search.ts index 8160f82b..d5c45c1b 100644 --- a/packages/ditto/db/migrations/032_add_author_search.ts +++ b/packages/db/migrations/032_add_author_search.ts @@ -1,4 +1,4 @@ -import { Kysely, sql } from 'kysely'; +import { type Kysely, sql } from 'kysely'; export async function up(db: Kysely): Promise { await db.schema diff --git a/packages/ditto/db/migrations/033_add_language.ts b/packages/db/migrations/033_add_language.ts similarity index 93% rename from packages/ditto/db/migrations/033_add_language.ts rename to packages/db/migrations/033_add_language.ts index a12c9ed3..9b680ee9 100644 --- a/packages/ditto/db/migrations/033_add_language.ts +++ b/packages/db/migrations/033_add_language.ts @@ -1,4 +1,4 @@ -import { Kysely } from 'kysely'; +import type { Kysely } from 'kysely'; export async function up(db: Kysely): Promise { await db.schema.alterTable('nostr_events').addColumn('language', 'char(2)').execute(); diff --git a/packages/ditto/db/migrations/034_move_author_search_to_author_stats.ts b/packages/db/migrations/034_move_author_search_to_author_stats.ts similarity index 96% rename from packages/ditto/db/migrations/034_move_author_search_to_author_stats.ts rename to packages/db/migrations/034_move_author_search_to_author_stats.ts index 819fac0a..8c57c639 100644 --- a/packages/ditto/db/migrations/034_move_author_search_to_author_stats.ts +++ b/packages/db/migrations/034_move_author_search_to_author_stats.ts @@ -1,4 +1,4 @@ -import { Kysely, sql } from 'kysely'; +import { type Kysely, sql } from 'kysely'; // deno-lint-ignore no-explicit-any export async function up(db: Kysely): Promise { diff --git a/packages/ditto/db/migrations/035_author_stats_followers_index.ts b/packages/db/migrations/035_author_stats_followers_index.ts similarity index 93% rename from packages/ditto/db/migrations/035_author_stats_followers_index.ts rename to packages/db/migrations/035_author_stats_followers_index.ts index 83472220..d6b12f87 100644 --- a/packages/ditto/db/migrations/035_author_stats_followers_index.ts +++ b/packages/db/migrations/035_author_stats_followers_index.ts @@ -1,4 +1,4 @@ -import { Kysely } from 'kysely'; +import type { Kysely } from 'kysely'; export async function up(db: Kysely): Promise { await db.schema diff --git a/packages/ditto/db/migrations/036_stats64.ts b/packages/db/migrations/036_stats64.ts similarity index 94% rename from packages/ditto/db/migrations/036_stats64.ts rename to packages/db/migrations/036_stats64.ts index ca13f69a..f9c4eabc 100644 --- a/packages/ditto/db/migrations/036_stats64.ts +++ b/packages/db/migrations/036_stats64.ts @@ -1,4 +1,4 @@ -import { Kysely, sql } from 'kysely'; +import { type Kysely, sql } from 'kysely'; // deno-lint-ignore no-explicit-any export async function up(db: Kysely): Promise { diff --git a/packages/ditto/db/migrations/037_auth_tokens.ts b/packages/db/migrations/037_auth_tokens.ts similarity index 98% rename from packages/ditto/db/migrations/037_auth_tokens.ts rename to packages/db/migrations/037_auth_tokens.ts index 2f6d1890..591ff379 100644 --- a/packages/ditto/db/migrations/037_auth_tokens.ts +++ b/packages/db/migrations/037_auth_tokens.ts @@ -1,4 +1,4 @@ -import { Kysely, sql } from 'kysely'; +import { type Kysely, sql } from 'kysely'; import { Conf } from '@/config.ts'; import { aesEncrypt } from '@/utils/aes.ts'; diff --git a/packages/ditto/db/migrations/038_push_subscriptions.ts b/packages/db/migrations/038_push_subscriptions.ts similarity index 96% rename from packages/ditto/db/migrations/038_push_subscriptions.ts rename to packages/db/migrations/038_push_subscriptions.ts index d75418bd..b06e82d5 100644 --- a/packages/ditto/db/migrations/038_push_subscriptions.ts +++ b/packages/db/migrations/038_push_subscriptions.ts @@ -1,4 +1,4 @@ -import { Kysely, sql } from 'kysely'; +import { type Kysely, sql } from 'kysely'; export async function up(db: Kysely): Promise { await db.schema diff --git a/packages/ditto/db/migrations/039_pg_notify.ts b/packages/db/migrations/039_pg_notify.ts similarity index 95% rename from packages/ditto/db/migrations/039_pg_notify.ts rename to packages/db/migrations/039_pg_notify.ts index fb0a21ea..2a91b6cf 100644 --- a/packages/ditto/db/migrations/039_pg_notify.ts +++ b/packages/db/migrations/039_pg_notify.ts @@ -1,4 +1,4 @@ -import { Kysely, sql } from 'kysely'; +import { type Kysely, sql } from 'kysely'; export async function up(db: Kysely): Promise { await sql` diff --git a/packages/ditto/db/migrations/040_add_bunker_pubkey.ts b/packages/db/migrations/040_add_bunker_pubkey.ts similarity index 94% rename from packages/ditto/db/migrations/040_add_bunker_pubkey.ts rename to packages/db/migrations/040_add_bunker_pubkey.ts index 9f0dff2b..60b5b942 100644 --- a/packages/ditto/db/migrations/040_add_bunker_pubkey.ts +++ b/packages/db/migrations/040_add_bunker_pubkey.ts @@ -1,4 +1,4 @@ -import { Kysely } from 'kysely'; +import type { Kysely } from 'kysely'; // deno-lint-ignore no-explicit-any export async function up(db: Kysely): Promise { diff --git a/packages/ditto/db/migrations/041_pg_notify_id_only.ts b/packages/db/migrations/041_pg_notify_id_only.ts similarity index 94% rename from packages/ditto/db/migrations/041_pg_notify_id_only.ts rename to packages/db/migrations/041_pg_notify_id_only.ts index 47668894..ca14802a 100644 --- a/packages/ditto/db/migrations/041_pg_notify_id_only.ts +++ b/packages/db/migrations/041_pg_notify_id_only.ts @@ -1,4 +1,4 @@ -import { Kysely, sql } from 'kysely'; +import { type Kysely, sql } from 'kysely'; export async function up(db: Kysely): Promise { await sql`DROP TRIGGER IF EXISTS nostr_event_trigger ON nostr_events`.execute(db); diff --git a/packages/ditto/db/migrations/042_add_search_ext.ts b/packages/db/migrations/042_add_search_ext.ts similarity index 95% rename from packages/ditto/db/migrations/042_add_search_ext.ts rename to packages/db/migrations/042_add_search_ext.ts index 754e1571..11e2c3c0 100644 --- a/packages/ditto/db/migrations/042_add_search_ext.ts +++ b/packages/db/migrations/042_add_search_ext.ts @@ -1,4 +1,4 @@ -import { Kysely, sql } from 'kysely'; +import { type Kysely, sql } from 'kysely'; export async function up(db: Kysely): Promise { await db.schema diff --git a/packages/ditto/db/migrations/043_rm_language.ts b/packages/db/migrations/043_rm_language.ts similarity index 92% rename from packages/ditto/db/migrations/043_rm_language.ts rename to packages/db/migrations/043_rm_language.ts index e61edc12..eb69aca0 100644 --- a/packages/ditto/db/migrations/043_rm_language.ts +++ b/packages/db/migrations/043_rm_language.ts @@ -1,4 +1,4 @@ -import { Kysely } from 'kysely'; +import type { Kysely } from 'kysely'; export async function up(db: Kysely): Promise { await db.schema.alterTable('nostr_events').dropColumn('language').execute(); diff --git a/packages/ditto/db/migrations/044_search_ext_drop_default.ts b/packages/db/migrations/044_search_ext_drop_default.ts similarity index 90% rename from packages/ditto/db/migrations/044_search_ext_drop_default.ts rename to packages/db/migrations/044_search_ext_drop_default.ts index 6c8c053f..e714bd62 100644 --- a/packages/ditto/db/migrations/044_search_ext_drop_default.ts +++ b/packages/db/migrations/044_search_ext_drop_default.ts @@ -1,4 +1,4 @@ -import { Kysely } from 'kysely'; +import type { Kysely } from 'kysely'; export async function up(db: Kysely): Promise { await db.schema.alterTable('nostr_events').alterColumn('search_ext', (col) => col.dropDefault()).execute(); diff --git a/packages/ditto/db/migrations/045_streaks.ts b/packages/db/migrations/045_streaks.ts similarity index 91% rename from packages/ditto/db/migrations/045_streaks.ts rename to packages/db/migrations/045_streaks.ts index 553ef96a..e08727a8 100644 --- a/packages/ditto/db/migrations/045_streaks.ts +++ b/packages/db/migrations/045_streaks.ts @@ -1,4 +1,4 @@ -import { Kysely } from 'kysely'; +import type { Kysely } from 'kysely'; export async function up(db: Kysely): Promise { await db.schema diff --git a/packages/ditto/db/migrations/046_author_stats_nip05.ts b/packages/db/migrations/046_author_stats_nip05.ts similarity index 97% rename from packages/ditto/db/migrations/046_author_stats_nip05.ts rename to packages/db/migrations/046_author_stats_nip05.ts index 12c23773..9cb5299a 100644 --- a/packages/ditto/db/migrations/046_author_stats_nip05.ts +++ b/packages/db/migrations/046_author_stats_nip05.ts @@ -1,4 +1,4 @@ -import { Kysely, sql } from 'kysely'; +import { type Kysely, sql } from 'kysely'; export async function up(db: Kysely): Promise { await db.schema diff --git a/packages/ditto/db/migrations/047_add_domain_favicons.ts b/packages/db/migrations/047_add_domain_favicons.ts similarity index 92% rename from packages/ditto/db/migrations/047_add_domain_favicons.ts rename to packages/db/migrations/047_add_domain_favicons.ts index b8d7af77..1086d157 100644 --- a/packages/ditto/db/migrations/047_add_domain_favicons.ts +++ b/packages/db/migrations/047_add_domain_favicons.ts @@ -1,4 +1,4 @@ -import { Kysely, sql } from 'kysely'; +import { type Kysely, sql } from 'kysely'; export async function up(db: Kysely): Promise { await db.schema diff --git a/packages/ditto/db/migrations/048_rm_pubkey_domains.ts b/packages/db/migrations/048_rm_pubkey_domains.ts similarity index 94% rename from packages/ditto/db/migrations/048_rm_pubkey_domains.ts rename to packages/db/migrations/048_rm_pubkey_domains.ts index 5f052df2..d88681fd 100644 --- a/packages/ditto/db/migrations/048_rm_pubkey_domains.ts +++ b/packages/db/migrations/048_rm_pubkey_domains.ts @@ -1,4 +1,4 @@ -import { Kysely } from 'kysely'; +import type { Kysely } from 'kysely'; export async function up(db: Kysely): Promise { await db.schema.dropTable('pubkey_domains').execute(); diff --git a/packages/ditto/db/migrations/049_author_stats_sorted.ts b/packages/db/migrations/049_author_stats_sorted.ts similarity index 94% rename from packages/ditto/db/migrations/049_author_stats_sorted.ts rename to packages/db/migrations/049_author_stats_sorted.ts index 99aae4bf..0f18864e 100644 --- a/packages/ditto/db/migrations/049_author_stats_sorted.ts +++ b/packages/db/migrations/049_author_stats_sorted.ts @@ -1,4 +1,4 @@ -import { Kysely, sql } from 'kysely'; +import { type Kysely, sql } from 'kysely'; // deno-lint-ignore no-explicit-any export async function up(db: Kysely): Promise { diff --git a/packages/ditto/db/migrations/050_notify_only_insert.ts b/packages/db/migrations/050_notify_only_insert.ts similarity index 93% rename from packages/ditto/db/migrations/050_notify_only_insert.ts rename to packages/db/migrations/050_notify_only_insert.ts index 1e6bd4cb..6cbf2dde 100644 --- a/packages/ditto/db/migrations/050_notify_only_insert.ts +++ b/packages/db/migrations/050_notify_only_insert.ts @@ -1,4 +1,4 @@ -import { Kysely, sql } from 'kysely'; +import { type Kysely, sql } from 'kysely'; export async function up(db: Kysely): Promise { await sql`DROP TRIGGER IF EXISTS nostr_event_trigger ON nostr_events`.execute(db); diff --git a/packages/ditto/db/migrations/051_notify_replaceable.ts b/packages/db/migrations/051_notify_replaceable.ts similarity index 96% rename from packages/ditto/db/migrations/051_notify_replaceable.ts rename to packages/db/migrations/051_notify_replaceable.ts index e8233078..b4c91787 100644 --- a/packages/ditto/db/migrations/051_notify_replaceable.ts +++ b/packages/db/migrations/051_notify_replaceable.ts @@ -1,4 +1,4 @@ -import { Kysely, sql } from 'kysely'; +import { type Kysely, sql } from 'kysely'; export async function up(db: Kysely): Promise { await sql` diff --git a/packages/db/mod.ts b/packages/db/mod.ts new file mode 100644 index 00000000..39521f20 --- /dev/null +++ b/packages/db/mod.ts @@ -0,0 +1,4 @@ +export { DittoDB } from './DittoDB.ts'; + +export type { DittoDatabase } from './DittoDatabase.ts'; +export type { DittoTables } from './DittoTables.ts'; diff --git a/packages/ditto/utils/worker.test.ts b/packages/db/utils/worker.test.ts similarity index 93% rename from packages/ditto/utils/worker.test.ts rename to packages/db/utils/worker.test.ts index 89845e2b..3e94a91a 100644 --- a/packages/ditto/utils/worker.test.ts +++ b/packages/db/utils/worker.test.ts @@ -1,6 +1,6 @@ import { assertEquals } from '@std/assert'; -import { isWorker } from '@/utils/worker.ts'; +import { isWorker } from './worker.ts'; Deno.test('isWorker from the main thread returns false', () => { assertEquals(isWorker(), false); diff --git a/packages/ditto/utils/worker.ts b/packages/db/utils/worker.ts similarity index 100% rename from packages/ditto/utils/worker.ts rename to packages/db/utils/worker.ts diff --git a/packages/ditto/app.ts b/packages/ditto/app.ts index 3f5abee4..6a54f66f 100644 --- a/packages/ditto/app.ts +++ b/packages/ditto/app.ts @@ -1,5 +1,6 @@ import { confMw } from '@ditto/api/middleware'; import { type DittoConf } from '@ditto/conf'; +import { DittoTables } from '@ditto/db'; import { type Context, Env as HonoEnv, Handler, Hono, Input as HonoInput, MiddlewareHandler } from '@hono/hono'; import { every } from '@hono/hono/combine'; import { cors } from '@hono/hono/cors'; @@ -9,7 +10,6 @@ import { Kysely } from 'kysely'; import '@/startup.ts'; -import { DittoTables } from '@/db/DittoTables.ts'; import { Time } from '@/utils/time.ts'; import { diff --git a/packages/ditto/pipeline.ts b/packages/ditto/pipeline.ts index 4fcd43bf..0ad1969d 100644 --- a/packages/ditto/pipeline.ts +++ b/packages/ditto/pipeline.ts @@ -1,3 +1,4 @@ +import { DittoTables } from '@ditto/db'; import { NKinds, NostrEvent, NSchema as n } from '@nostrify/nostrify'; import { logi } from '@soapbox/logi'; import { Kysely, UpdateObject } from 'kysely'; @@ -6,7 +7,6 @@ import { z } from 'zod'; import { pipelineEncounters } from '@/caches/pipelineEncounters.ts'; import { Conf } from '@/config.ts'; -import { DittoTables } from '@/db/DittoTables.ts'; import { DittoPush } from '@/DittoPush.ts'; import { DittoEvent } from '@/interfaces/DittoEvent.ts'; import { pipelineEventsCounter, policyEventsCounter, webPushNotificationsCounter } from '@/metrics.ts'; diff --git a/packages/ditto/storages.ts b/packages/ditto/storages.ts index 0bccc534..55566f51 100644 --- a/packages/ditto/storages.ts +++ b/packages/ditto/storages.ts @@ -1,9 +1,8 @@ // deno-lint-ignore-file require-await +import { type DittoDatabase, DittoDB } from '@ditto/db'; import { logi } from '@soapbox/logi'; import { Conf } from '@/config.ts'; -import { DittoDatabase } from '@/db/DittoDatabase.ts'; -import { DittoDB } from '@/db/DittoDB.ts'; import { internalSubscriptionsSizeGauge } from '@/metrics.ts'; import { wsUrlSchema } from '@/schema.ts'; import { AdminStore } from '@/storages/AdminStore.ts'; diff --git a/packages/ditto/storages/EventsDB.ts b/packages/ditto/storages/EventsDB.ts index 91757449..b8c75c59 100644 --- a/packages/ditto/storages/EventsDB.ts +++ b/packages/ditto/storages/EventsDB.ts @@ -1,5 +1,6 @@ // deno-lint-ignore-file require-await +import { DittoTables } from '@ditto/db'; import { NPostgres, NPostgresSchema } from '@nostrify/db'; import { NIP50, NKinds, NostrEvent, NostrFilter, NSchema as n } from '@nostrify/nostrify'; import { logi } from '@soapbox/logi'; @@ -11,7 +12,6 @@ import { nip27 } from 'nostr-tools'; import tldts from 'tldts'; import { z } from 'zod'; -import { DittoTables } from '@/db/DittoTables.ts'; import { dbEventsCounter } from '@/metrics.ts'; import { RelayError } from '@/RelayError.ts'; import { isNostrId } from '@/utils.ts'; diff --git a/packages/ditto/storages/hydrate.ts b/packages/ditto/storages/hydrate.ts index 36df74f6..0836bd76 100644 --- a/packages/ditto/storages/hydrate.ts +++ b/packages/ditto/storages/hydrate.ts @@ -1,10 +1,10 @@ +import { DittoTables } from '@ditto/db'; import { NStore } from '@nostrify/nostrify'; import { Kysely } from 'kysely'; import { matchFilter } from 'nostr-tools'; import { NSchema as n } from '@nostrify/nostrify'; import { z } from 'zod'; -import { DittoTables } from '@/db/DittoTables.ts'; import { Conf } from '@/config.ts'; import { type DittoEvent } from '@/interfaces/DittoEvent.ts'; import { fallbackAuthor } from '@/utils.ts'; diff --git a/packages/ditto/test.ts b/packages/ditto/test.ts index 95aa2872..bc9a6787 100644 --- a/packages/ditto/test.ts +++ b/packages/ditto/test.ts @@ -1,10 +1,10 @@ +import { DittoDB } from '@ditto/db'; import ISO6391, { LanguageCode } from 'iso-639-1'; import lande from 'lande'; import { NostrEvent } from '@nostrify/nostrify'; import { finalizeEvent, generateSecretKey } from 'nostr-tools'; import { Conf } from '@/config.ts'; -import { DittoDB } from '@/db/DittoDB.ts'; import { EventsDB } from '@/storages/EventsDB.ts'; import { purifyEvent } from '@/utils/purify.ts'; import { sql } from 'kysely'; diff --git a/packages/ditto/trends.ts b/packages/ditto/trends.ts index e4da152d..8dfdb5ae 100644 --- a/packages/ditto/trends.ts +++ b/packages/ditto/trends.ts @@ -1,9 +1,9 @@ +import { DittoTables } from '@ditto/db'; import { NostrFilter } from '@nostrify/nostrify'; import { logi } from '@soapbox/logi'; import { Kysely, sql } from 'kysely'; import { Conf } from '@/config.ts'; -import { DittoTables } from '@/db/DittoTables.ts'; import { handleEvent } from '@/pipeline.ts'; import { AdminSigner } from '@/signers/AdminSigner.ts'; import { Storages } from '@/storages.ts'; diff --git a/packages/ditto/utils/favicon.ts b/packages/ditto/utils/favicon.ts index f1ae0f95..c181a198 100644 --- a/packages/ditto/utils/favicon.ts +++ b/packages/ditto/utils/favicon.ts @@ -1,11 +1,11 @@ import { DOMParser } from '@b-fuze/deno-dom'; +import { DittoTables } from '@ditto/db'; import { logi } from '@soapbox/logi'; import { safeFetch } from '@soapbox/safe-fetch'; import { Kysely } from 'kysely'; import tldts from 'tldts'; import { Conf } from '@/config.ts'; -import { DittoTables } from '@/db/DittoTables.ts'; import { cachedFaviconsSizeGauge } from '@/metrics.ts'; import { Storages } from '@/storages.ts'; import { nostrNow } from '@/utils.ts'; diff --git a/packages/ditto/utils/search.ts b/packages/ditto/utils/search.ts index e41cd413..7c6584c6 100644 --- a/packages/ditto/utils/search.ts +++ b/packages/ditto/utils/search.ts @@ -1,7 +1,6 @@ +import { DittoTables } from '@ditto/db'; import { Kysely, sql } from 'kysely'; -import { DittoTables } from '@/db/DittoTables.ts'; - /** Get pubkeys whose name and NIP-05 is similar to 'q' */ export async function getPubkeysBySearch( kysely: Kysely, diff --git a/packages/ditto/utils/stats.ts b/packages/ditto/utils/stats.ts index 972541d3..01ec80d9 100644 --- a/packages/ditto/utils/stats.ts +++ b/packages/ditto/utils/stats.ts @@ -1,10 +1,10 @@ +import { DittoTables } from '@ditto/db'; import { NostrEvent, NSchema as n, NStore } from '@nostrify/nostrify'; import { Insertable, Kysely, UpdateObject } from 'kysely'; import { SetRequired } from 'type-fest'; import { z } from 'zod'; import { Conf } from '@/config.ts'; -import { DittoTables } from '@/db/DittoTables.ts'; import { findQuoteTag, findReplyTag, getTagSet } from '@/utils/tags.ts'; interface UpdateStatsOpts { diff --git a/packages/ditto/workers/policy.worker.ts b/packages/ditto/workers/policy.worker.ts index 00540b03..85a98240 100644 --- a/packages/ditto/workers/policy.worker.ts +++ b/packages/ditto/workers/policy.worker.ts @@ -1,9 +1,9 @@ +import { DittoDB } from '@ditto/db'; import '@soapbox/safe-fetch/load'; import { NostrEvent, NostrRelayOK, NPolicy } from '@nostrify/nostrify'; import { ReadOnlyPolicy } from '@nostrify/policies'; import * as Comlink from 'comlink'; -import { DittoDB } from '@/db/DittoDB.ts'; import { EventsDB } from '@/storages/EventsDB.ts'; // @ts-ignore Don't try to access the env from this worker.