diff --git a/deno.json b/deno.json index 2a8d18f9..36529d96 100644 --- a/deno.json +++ b/deno.json @@ -100,16 +100,6 @@ "zod": "npm:zod@^3.23.8", "~/fixtures/": "./fixtures/" }, - "lint": { - "rules": { - "tags": [ - "recommended" - ], - "exclude": [ - "no-explicit-any" - ] - } - }, "fmt": { "useTabs": false, "lineWidth": 120, diff --git a/src/app.ts b/src/app.ts index 8482d491..3c11a78c 100644 --- a/src/app.ts +++ b/src/app.ts @@ -170,6 +170,7 @@ export interface AppEnv extends HonoEnv { type AppContext = Context; type AppMiddleware = MiddlewareHandler; +// deno-lint-ignore no-explicit-any type AppController

= Handler>; const app = new Hono({ strict: false }); diff --git a/src/db/migrations/000_create_events.ts b/src/db/migrations/000_create_events.ts index f08a614e..9cfffc6c 100644 --- a/src/db/migrations/000_create_events.ts +++ b/src/db/migrations/000_create_events.ts @@ -1,6 +1,6 @@ import { Kysely } from 'kysely'; -export async function up(db: Kysely): Promise { +export async function up(db: Kysely): Promise { await db.schema .createTable('events') .addColumn('id', 'text', (col) => col.primaryKey()) @@ -52,7 +52,7 @@ export async function up(db: Kysely): Promise { .execute(); } -export async function down(db: Kysely): Promise { +export async function down(db: Kysely): Promise { await db.schema.dropTable('events').execute(); await db.schema.dropTable('tags').execute(); await db.schema.dropTable('users').execute(); diff --git a/src/db/migrations/001_add_relays.ts b/src/db/migrations/001_add_relays.ts index 11c68844..c1685e34 100644 --- a/src/db/migrations/001_add_relays.ts +++ b/src/db/migrations/001_add_relays.ts @@ -1,6 +1,6 @@ import { Kysely } from 'kysely'; -export async function up(db: Kysely): Promise { +export async function up(db: Kysely): Promise { await db.schema .createTable('relays') .addColumn('url', 'text', (col) => col.primaryKey()) @@ -9,6 +9,6 @@ export async function up(db: Kysely): Promise { .execute(); } -export async function down(db: Kysely): Promise { +export async function down(db: Kysely): Promise { await db.schema.dropTable('relays').execute(); } diff --git a/src/db/migrations/002_events_fts.ts b/src/db/migrations/002_events_fts.ts index 45ad03e4..392d3c0a 100644 --- a/src/db/migrations/002_events_fts.ts +++ b/src/db/migrations/002_events_fts.ts @@ -1,8 +1,8 @@ import { Kysely } from 'kysely'; -export async function up(_db: Kysely): Promise { +export async function up(_db: Kysely): Promise { // This migration used to create an FTS table for SQLite, but SQLite support was removed. } -export async function down(_db: Kysely): Promise { +export async function down(_db: Kysely): Promise { } diff --git a/src/db/migrations/003_events_admin.ts b/src/db/migrations/003_events_admin.ts index 388a3a47..46dbb37b 100644 --- a/src/db/migrations/003_events_admin.ts +++ b/src/db/migrations/003_events_admin.ts @@ -1,8 +1,8 @@ import { Kysely } from 'kysely'; -export async function up(_db: Kysely): Promise { +export async function up(_db: Kysely): Promise { } -export async function down(db: Kysely): Promise { +export async function down(db: Kysely): Promise { await db.schema.alterTable('users').dropColumn('admin').execute(); } diff --git a/src/db/migrations/004_add_user_indexes.ts b/src/db/migrations/004_add_user_indexes.ts index fca9c5f3..1759644e 100644 --- a/src/db/migrations/004_add_user_indexes.ts +++ b/src/db/migrations/004_add_user_indexes.ts @@ -1,9 +1,9 @@ import { Kysely } from 'kysely'; -export async function up(_db: Kysely): Promise { +export async function up(_db: Kysely): Promise { } -export async function down(db: Kysely): Promise { +export async function down(db: Kysely): Promise { await db.schema.dropIndex('idx_users_pubkey').execute(); await db.schema.dropIndex('idx_users_username').execute(); } diff --git a/src/db/migrations/005_rework_tags.ts b/src/db/migrations/005_rework_tags.ts index 1f95810e..29d83962 100644 --- a/src/db/migrations/005_rework_tags.ts +++ b/src/db/migrations/005_rework_tags.ts @@ -1,6 +1,6 @@ import { Kysely, sql } from 'kysely'; -export async function up(db: Kysely): Promise { +export async function up(db: Kysely): Promise { await db.schema .createTable('tags_new') .addColumn('tag', 'text', (col) => col.notNull()) @@ -42,7 +42,7 @@ export async function up(db: Kysely): Promise { .execute(); } -export async function down(db: Kysely): Promise { +export async function down(db: Kysely): Promise { await db.schema.dropTable('tags').execute(); await db.schema diff --git a/src/db/migrations/006_pragma.ts b/src/db/migrations/006_pragma.ts index f20ee9bd..41c6883f 100644 --- a/src/db/migrations/006_pragma.ts +++ b/src/db/migrations/006_pragma.ts @@ -1,7 +1,7 @@ import { Kysely } from 'kysely'; -export async function up(_db: Kysely): Promise { +export async function up(_db: Kysely): Promise { } -export async function down(_db: Kysely): Promise { +export async function down(_db: Kysely): Promise { } diff --git a/src/db/migrations/007_unattached_media.ts b/src/db/migrations/007_unattached_media.ts index a36c5d35..eb738ecb 100644 --- a/src/db/migrations/007_unattached_media.ts +++ b/src/db/migrations/007_unattached_media.ts @@ -1,6 +1,6 @@ import { Kysely } from 'kysely'; -export async function up(db: Kysely): Promise { +export async function up(db: Kysely): Promise { await db.schema .createTable('unattached_media') .addColumn('id', 'text', (c) => c.primaryKey()) @@ -29,6 +29,6 @@ export async function up(db: Kysely): Promise { .execute(); } -export async function down(db: Kysely): Promise { +export async function down(db: Kysely): Promise { await db.schema.dropTable('unattached_media').execute(); } diff --git a/src/db/migrations/008_wal.ts b/src/db/migrations/008_wal.ts index f20ee9bd..41c6883f 100644 --- a/src/db/migrations/008_wal.ts +++ b/src/db/migrations/008_wal.ts @@ -1,7 +1,7 @@ import { Kysely } from 'kysely'; -export async function up(_db: Kysely): Promise { +export async function up(_db: Kysely): Promise { } -export async function down(_db: Kysely): Promise { +export async function down(_db: Kysely): Promise { } diff --git a/src/db/migrations/009_add_stats.ts b/src/db/migrations/009_add_stats.ts index ef1c4438..3865847e 100644 --- a/src/db/migrations/009_add_stats.ts +++ b/src/db/migrations/009_add_stats.ts @@ -1,6 +1,6 @@ import { Kysely } from 'kysely'; -export async function up(db: Kysely): Promise { +export async function up(db: Kysely): Promise { await db.schema .createTable('author_stats') .addColumn('pubkey', 'text', (col) => col.primaryKey()) @@ -18,7 +18,7 @@ export async function up(db: Kysely): Promise { .execute(); } -export async function down(db: Kysely): Promise { +export async function down(db: Kysely): Promise { await db.schema.dropTable('author_stats').execute(); await db.schema.dropTable('event_stats').execute(); } diff --git a/src/db/migrations/010_drop_users.ts b/src/db/migrations/010_drop_users.ts index c36f2fa9..e936fa00 100644 --- a/src/db/migrations/010_drop_users.ts +++ b/src/db/migrations/010_drop_users.ts @@ -1,8 +1,8 @@ import { Kysely } from 'kysely'; -export async function up(db: Kysely): Promise { +export async function up(db: Kysely): Promise { await db.schema.dropTable('users').ifExists().execute(); } -export async function down(_db: Kysely): Promise { +export async function down(_db: Kysely): Promise { } diff --git a/src/db/migrations/011_kind_author_index.ts b/src/db/migrations/011_kind_author_index.ts index c41910b4..844c105c 100644 --- a/src/db/migrations/011_kind_author_index.ts +++ b/src/db/migrations/011_kind_author_index.ts @@ -1,6 +1,6 @@ import { Kysely } from 'kysely'; -export async function up(db: Kysely): Promise { +export async function up(db: Kysely): Promise { await db.schema .createIndex('idx_events_kind_pubkey_created_at') .on('events') @@ -8,6 +8,6 @@ export async function up(db: Kysely): Promise { .execute(); } -export async function down(db: Kysely): Promise { +export async function down(db: Kysely): Promise { await db.schema.dropIndex('idx_events_kind_pubkey_created_at').execute(); } diff --git a/src/db/migrations/012_tags_composite_index.ts b/src/db/migrations/012_tags_composite_index.ts index 412fa599..3894ed27 100644 --- a/src/db/migrations/012_tags_composite_index.ts +++ b/src/db/migrations/012_tags_composite_index.ts @@ -1,6 +1,6 @@ import { Kysely } from 'kysely'; -export async function up(db: Kysely): Promise { +export async function up(db: Kysely): Promise { await db.schema.dropIndex('idx_tags_tag').execute(); await db.schema.dropIndex('idx_tags_value').execute(); @@ -11,7 +11,7 @@ export async function up(db: Kysely): Promise { .execute(); } -export async function down(db: Kysely): Promise { +export async function down(db: Kysely): Promise { await db.schema.dropIndex('idx_tags_tag_value').execute(); await db.schema diff --git a/src/db/migrations/013_soft_deletion.ts b/src/db/migrations/013_soft_deletion.ts index df19da50..17fcf5ea 100644 --- a/src/db/migrations/013_soft_deletion.ts +++ b/src/db/migrations/013_soft_deletion.ts @@ -1,9 +1,9 @@ import { Kysely } from 'kysely'; -export async function up(db: Kysely): Promise { +export async function up(db: Kysely): Promise { await db.schema.alterTable('events').addColumn('deleted_at', 'integer').execute(); } -export async function down(db: Kysely): Promise { +export async function down(db: Kysely): Promise { await db.schema.alterTable('events').dropColumn('deleted_at').execute(); } diff --git a/src/db/migrations/014_stats_indexes.ts.ts b/src/db/migrations/014_stats_indexes.ts.ts index 0f27a7fa..db52b89a 100644 --- a/src/db/migrations/014_stats_indexes.ts.ts +++ b/src/db/migrations/014_stats_indexes.ts.ts @@ -1,11 +1,11 @@ import { Kysely } from 'kysely'; -export async function up(db: Kysely): Promise { +export async function up(db: Kysely): Promise { await db.schema.createIndex('idx_author_stats_pubkey').on('author_stats').column('pubkey').execute(); await db.schema.createIndex('idx_event_stats_event_id').on('event_stats').column('event_id').execute(); } -export async function down(db: Kysely): Promise { +export async function down(db: Kysely): Promise { await db.schema.dropIndex('idx_author_stats_pubkey').on('author_stats').execute(); await db.schema.dropIndex('idx_event_stats_event_id').on('event_stats').execute(); } diff --git a/src/db/migrations/015_add_pubkey_domains.ts b/src/db/migrations/015_add_pubkey_domains.ts index 4b7e23c4..91a480d5 100644 --- a/src/db/migrations/015_add_pubkey_domains.ts +++ b/src/db/migrations/015_add_pubkey_domains.ts @@ -1,6 +1,6 @@ import { Kysely } from 'kysely'; -export async function up(db: Kysely): Promise { +export async function up(db: Kysely): Promise { await db.schema .createTable('pubkey_domains') .ifNotExists() @@ -16,6 +16,6 @@ export async function up(db: Kysely): Promise { .execute(); } -export async function down(db: Kysely): Promise { +export async function down(db: Kysely): Promise { await db.schema.dropTable('pubkey_domains').execute(); } diff --git a/src/db/migrations/016_pubkey_domains_updated_at.ts b/src/db/migrations/016_pubkey_domains_updated_at.ts index 8b1f75d0..26f45fb7 100644 --- a/src/db/migrations/016_pubkey_domains_updated_at.ts +++ b/src/db/migrations/016_pubkey_domains_updated_at.ts @@ -1,12 +1,12 @@ import { Kysely } from 'kysely'; -export async function up(db: Kysely): Promise { +export async function up(db: Kysely): Promise { await db.schema .alterTable('pubkey_domains') .addColumn('last_updated_at', 'integer', (col) => col.notNull().defaultTo(0)) .execute(); } -export async function down(db: Kysely): Promise { +export async function down(db: Kysely): Promise { await db.schema.alterTable('pubkey_domains').dropColumn('last_updated_at').execute(); } diff --git a/src/db/migrations/017_rm_relays.ts b/src/db/migrations/017_rm_relays.ts index 70a274d0..eeea4d06 100644 --- a/src/db/migrations/017_rm_relays.ts +++ b/src/db/migrations/017_rm_relays.ts @@ -1,10 +1,10 @@ import { Kysely } from 'kysely'; -export async function up(db: Kysely): Promise { +export async function up(db: Kysely): Promise { await db.schema.dropTable('relays').execute(); } -export async function down(db: Kysely): Promise { +export async function down(db: Kysely): Promise { await db.schema .createTable('relays') .addColumn('url', 'text', (col) => col.primaryKey()) diff --git a/src/db/migrations/018_events_created_at_kind_index.ts b/src/db/migrations/018_events_created_at_kind_index.ts index 8e6c67c0..17ffa856 100644 --- a/src/db/migrations/018_events_created_at_kind_index.ts +++ b/src/db/migrations/018_events_created_at_kind_index.ts @@ -1,6 +1,6 @@ import { Kysely } from 'kysely'; -export async function up(db: Kysely): Promise { +export async function up(db: Kysely): Promise { await db.schema .createIndex('idx_events_created_at_kind') .on('events') @@ -9,6 +9,6 @@ export async function up(db: Kysely): Promise { .execute(); } -export async function down(db: Kysely): Promise { +export async function down(db: Kysely): Promise { await db.schema.dropIndex('idx_events_created_at_kind').ifExists().execute(); } diff --git a/src/db/migrations/019_ndatabase_schema.ts b/src/db/migrations/019_ndatabase_schema.ts index 79d8cbc9..a394ed71 100644 --- a/src/db/migrations/019_ndatabase_schema.ts +++ b/src/db/migrations/019_ndatabase_schema.ts @@ -1,12 +1,12 @@ import { Kysely } from 'kysely'; -export async function up(db: Kysely): Promise { +export async function up(db: Kysely): Promise { await db.schema.alterTable('events').renameTo('nostr_events').execute(); await db.schema.alterTable('tags').renameTo('nostr_tags').execute(); await db.schema.alterTable('nostr_tags').renameColumn('tag', 'name').execute(); } -export async function down(db: Kysely): Promise { +export async function down(db: Kysely): Promise { await db.schema.alterTable('nostr_events').renameTo('events').execute(); await db.schema.alterTable('nostr_tags').renameTo('tags').execute(); await db.schema.alterTable('tags').renameColumn('name', 'tag').execute(); diff --git a/src/db/migrations/020_drop_deleted_at.ts b/src/db/migrations/020_drop_deleted_at.ts index 4894b9f5..a55fe537 100644 --- a/src/db/migrations/020_drop_deleted_at.ts +++ b/src/db/migrations/020_drop_deleted_at.ts @@ -1,10 +1,11 @@ import { Kysely } from 'kysely'; +// deno-lint-ignore no-explicit-any export async function up(db: Kysely): Promise { await db.deleteFrom('nostr_events').where('deleted_at', 'is not', null).execute(); await db.schema.alterTable('nostr_events').dropColumn('deleted_at').execute(); } -export async function down(db: Kysely): Promise { +export async function down(db: Kysely): Promise { await db.schema.alterTable('nostr_events').addColumn('deleted_at', 'integer').execute(); } diff --git a/src/db/migrations/020_pgfts.ts b/src/db/migrations/020_pgfts.ts index 26e320ec..8b22a4e3 100644 --- a/src/db/migrations/020_pgfts.ts +++ b/src/db/migrations/020_pgfts.ts @@ -1,6 +1,6 @@ import { Kysely, sql } from 'kysely'; -export async function up(db: Kysely): Promise { +export async function up(db: Kysely): Promise { await db.schema.createTable('nostr_pgfts') .ifNotExists() .addColumn('event_id', 'text', (c) => c.primaryKey().references('nostr_events.id').onDelete('cascade')) @@ -8,6 +8,6 @@ export async function up(db: Kysely): Promise { .execute(); } -export async function down(db: Kysely): Promise { +export async function down(db: Kysely): Promise { await db.schema.dropTable('nostr_pgfts').ifExists().execute(); } diff --git a/src/db/migrations/021_pgfts_index.ts b/src/db/migrations/021_pgfts_index.ts index 7ad24546..497adaeb 100644 --- a/src/db/migrations/021_pgfts_index.ts +++ b/src/db/migrations/021_pgfts_index.ts @@ -1,6 +1,6 @@ import { Kysely } from 'kysely'; -export async function up(db: Kysely): Promise { +export async function up(db: Kysely): Promise { await db.schema .createIndex('nostr_pgfts_gin_search_vec') .ifNotExists() @@ -10,6 +10,6 @@ export async function up(db: Kysely): Promise { .execute(); } -export async function down(db: Kysely): Promise { +export async function down(db: Kysely): Promise { await db.schema.dropIndex('nostr_pgfts_gin_search_vec').ifExists().execute(); } diff --git a/src/db/migrations/022_event_stats_reactions.ts b/src/db/migrations/022_event_stats_reactions.ts index 0bc69147..25cb7d99 100644 --- a/src/db/migrations/022_event_stats_reactions.ts +++ b/src/db/migrations/022_event_stats_reactions.ts @@ -1,12 +1,12 @@ import { Kysely } from 'kysely'; -export async function up(db: Kysely): Promise { +export async function up(db: Kysely): Promise { await db.schema .alterTable('event_stats') .addColumn('reactions', 'text', (col) => col.defaultTo('{}')) .execute(); } -export async function down(db: Kysely): Promise { +export async function down(db: Kysely): Promise { await db.schema.alterTable('event_stats').dropColumn('reactions').execute(); } diff --git a/src/db/migrations/023_add_nip46_tokens.ts b/src/db/migrations/023_add_nip46_tokens.ts index 01d71640..27ac05d6 100644 --- a/src/db/migrations/023_add_nip46_tokens.ts +++ b/src/db/migrations/023_add_nip46_tokens.ts @@ -1,6 +1,6 @@ import { Kysely, sql } from 'kysely'; -export async function up(db: Kysely): Promise { +export async function up(db: Kysely): Promise { await db.schema .createTable('nip46_tokens') .addColumn('api_token', 'text', (col) => col.primaryKey().notNull()) @@ -12,6 +12,6 @@ export async function up(db: Kysely): Promise { .execute(); } -export async function down(db: Kysely): Promise { +export async function down(db: Kysely): Promise { await db.schema.dropTable('nip46_tokens').execute(); } diff --git a/src/db/migrations/024_event_stats_quotes_count.ts b/src/db/migrations/024_event_stats_quotes_count.ts index f62baf57..e5cffb2b 100644 --- a/src/db/migrations/024_event_stats_quotes_count.ts +++ b/src/db/migrations/024_event_stats_quotes_count.ts @@ -1,12 +1,12 @@ import { Kysely } from 'kysely'; -export async function up(db: Kysely): Promise { +export async function up(db: Kysely): Promise { await db.schema .alterTable('event_stats') .addColumn('quotes_count', 'integer', (col) => col.notNull().defaultTo(0)) .execute(); } -export async function down(db: Kysely): Promise { +export async function down(db: Kysely): Promise { await db.schema.alterTable('event_stats').dropColumn('quotes_count').execute(); } diff --git a/src/db/migrations/025_event_stats_add_zap_count.ts b/src/db/migrations/025_event_stats_add_zap_count.ts index 91479907..da021f07 100644 --- a/src/db/migrations/025_event_stats_add_zap_count.ts +++ b/src/db/migrations/025_event_stats_add_zap_count.ts @@ -1,12 +1,12 @@ import { Kysely } from 'kysely'; -export async function up(db: Kysely): Promise { +export async function up(db: Kysely): Promise { await db.schema .alterTable('event_stats') .addColumn('zaps_amount', 'integer', (col) => col.notNull().defaultTo(0)) .execute(); } -export async function down(db: Kysely): Promise { +export async function down(db: Kysely): Promise { await db.schema.alterTable('event_stats').dropColumn('zaps_amount').execute(); } diff --git a/src/db/migrations/026_tags_name_index.ts b/src/db/migrations/026_tags_name_index.ts index a15587fb..18c2519d 100644 --- a/src/db/migrations/026_tags_name_index.ts +++ b/src/db/migrations/026_tags_name_index.ts @@ -1,6 +1,6 @@ import { Kysely } from 'kysely'; -export async function up(db: Kysely): Promise { +export async function up(db: Kysely): Promise { await db.schema .createIndex('idx_tags_name') .on('nostr_tags') @@ -9,6 +9,6 @@ export async function up(db: Kysely): Promise { .execute(); } -export async function down(db: Kysely): Promise { +export async function down(db: Kysely): Promise { await db.schema.dropIndex('idx_tags_name').ifExists().execute(); } diff --git a/src/db/migrations/027_add_zap_events.ts b/src/db/migrations/027_add_zap_events.ts index 2fcc101c..6445105f 100644 --- a/src/db/migrations/027_add_zap_events.ts +++ b/src/db/migrations/027_add_zap_events.ts @@ -1,6 +1,6 @@ import { Kysely } from 'kysely'; -export async function up(db: Kysely): Promise { +export async function up(db: Kysely): Promise { await db.schema .createTable('event_zaps') .addColumn('receipt_id', 'text', (col) => col.primaryKey()) @@ -25,7 +25,7 @@ export async function up(db: Kysely): Promise { .execute(); } -export async function down(db: Kysely): Promise { +export async function down(db: Kysely): Promise { await db.schema.dropIndex('idx_event_zaps_amount_millisats').ifExists().execute(); await db.schema.dropIndex('idx_event_zaps_target_event_id').ifExists().execute(); await db.schema.dropTable('event_zaps').execute(); diff --git a/src/db/migrations/028_stable_sort.ts b/src/db/migrations/028_stable_sort.ts index 191f32ca..c27c6a5f 100644 --- a/src/db/migrations/028_stable_sort.ts +++ b/src/db/migrations/028_stable_sort.ts @@ -1,6 +1,6 @@ import { Kysely } from 'kysely'; -export async function up(db: Kysely): Promise { +export async function up(db: Kysely): Promise { await db.schema .createIndex('nostr_events_created_at_kind') .on('nostr_events') @@ -19,7 +19,7 @@ export async function up(db: Kysely): Promise { await db.schema.dropIndex('idx_events_kind_pubkey_created_at').execute(); } -export async function down(db: Kysely): Promise { +export async function down(db: Kysely): Promise { await db.schema.dropIndex('nostr_events_created_at_kind').execute(); await db.schema.dropIndex('nostr_events_kind_pubkey_created_at').execute(); diff --git a/src/db/migrations/029_tag_queries.ts b/src/db/migrations/029_tag_queries.ts index 5a27d720..a2ad209c 100644 --- a/src/db/migrations/029_tag_queries.ts +++ b/src/db/migrations/029_tag_queries.ts @@ -1,6 +1,6 @@ import { Kysely, sql } from 'kysely'; -export async function up(db: Kysely): Promise { +export async function up(db: Kysely): Promise { await db.schema .createTable('nostr_tags_new') .addColumn('event_id', 'text', (col) => col.notNull().references('nostr_events.id').onDelete('cascade')) @@ -66,7 +66,7 @@ export async function up(db: Kysely): Promise { .execute(); } -export async function down(db: Kysely): Promise { +export async function down(db: Kysely): Promise { await db.schema .createTable('nostr_tags_old') .addColumn('event_id', 'text', (col) => col.references('nostr_events.id').onDelete('cascade')) diff --git a/src/db/migrations/030_pg_events_jsonb.ts b/src/db/migrations/030_pg_events_jsonb.ts index dcd6ad85..6b28bfc3 100644 --- a/src/db/migrations/030_pg_events_jsonb.ts +++ b/src/db/migrations/030_pg_events_jsonb.ts @@ -1,6 +1,6 @@ import { Kysely, sql } from 'kysely'; -export async function up(db: Kysely): Promise { +export async function up(db: Kysely): Promise { // Create new table and indexes. await db.schema .createTable('nostr_events_new') @@ -132,6 +132,6 @@ If you don't want to wait, you can create a fresh database and then import your await db.schema.alterTable('nostr_events_new').renameTo('nostr_events').execute(); } -export function down(_db: Kysely): Promise { +export function down(_db: Kysely): Promise { throw new Error("Sorry, you can't migrate back from here."); } diff --git a/src/db/migrations/031_rm_unattached_media.ts b/src/db/migrations/031_rm_unattached_media.ts index febd85e1..34a5a735 100644 --- a/src/db/migrations/031_rm_unattached_media.ts +++ b/src/db/migrations/031_rm_unattached_media.ts @@ -1,10 +1,10 @@ import { Kysely } from 'kysely'; -export async function up(db: Kysely): Promise { +export async function up(db: Kysely): Promise { await db.schema.dropTable('unattached_media').execute(); } -export async function down(db: Kysely): Promise { +export async function down(db: Kysely): Promise { await db.schema .createTable('unattached_media') .addColumn('id', 'text', (c) => c.primaryKey()) diff --git a/src/db/migrations/032_add_author_search.ts b/src/db/migrations/032_add_author_search.ts index 4323c252..8160f82b 100644 --- a/src/db/migrations/032_add_author_search.ts +++ b/src/db/migrations/032_add_author_search.ts @@ -1,6 +1,6 @@ import { Kysely, sql } from 'kysely'; -export async function up(db: Kysely): Promise { +export async function up(db: Kysely): Promise { await db.schema .createTable('author_search') .addColumn('pubkey', 'char(64)', (col) => col.primaryKey()) @@ -12,7 +12,7 @@ export async function up(db: Kysely): Promise { await sql`CREATE INDEX author_search_search_idx ON author_search USING GIN (search gin_trgm_ops)`.execute(db); } -export async function down(db: Kysely): Promise { +export async function down(db: Kysely): Promise { await db.schema.dropIndex('author_search_search_idx').ifExists().execute(); await db.schema.dropTable('author_search').execute(); } diff --git a/src/db/migrations/033_add_language.ts b/src/db/migrations/033_add_language.ts index 77bfc37e..a12c9ed3 100644 --- a/src/db/migrations/033_add_language.ts +++ b/src/db/migrations/033_add_language.ts @@ -1,6 +1,6 @@ import { Kysely } from 'kysely'; -export async function up(db: Kysely): Promise { +export async function up(db: Kysely): Promise { await db.schema.alterTable('nostr_events').addColumn('language', 'char(2)').execute(); await db.schema.createIndex('nostr_events_language_created_idx') @@ -9,7 +9,7 @@ export async function up(db: Kysely): Promise { .execute(); } -export async function down(db: Kysely): Promise { +export async function down(db: Kysely): Promise { await db.schema.alterTable('nostr_events').dropColumn('language').execute(); await db.schema.dropIndex('nostr_events_language_created_idx').execute(); } diff --git a/src/db/migrations/034_move_author_search_to_author_stats.ts b/src/db/migrations/034_move_author_search_to_author_stats.ts index 6d21ca39..819fac0a 100644 --- a/src/db/migrations/034_move_author_search_to_author_stats.ts +++ b/src/db/migrations/034_move_author_search_to_author_stats.ts @@ -1,5 +1,6 @@ import { Kysely, sql } from 'kysely'; +// deno-lint-ignore no-explicit-any export async function up(db: Kysely): Promise { await db.schema .alterTable('author_stats') @@ -26,7 +27,7 @@ export async function up(db: Kysely): Promise { await db.schema.dropTable('author_search').execute(); } -export async function down(db: Kysely): Promise { +export async function down(db: Kysely): Promise { await db.schema.dropIndex('author_stats_search_idx').ifExists().execute(); await db.schema.alterTable('author_stats').dropColumn('search').execute(); } diff --git a/src/db/migrations/035_author_stats_followers_index.ts b/src/db/migrations/035_author_stats_followers_index.ts index 0509d403..83472220 100644 --- a/src/db/migrations/035_author_stats_followers_index.ts +++ b/src/db/migrations/035_author_stats_followers_index.ts @@ -1,6 +1,6 @@ import { Kysely } from 'kysely'; -export async function up(db: Kysely): Promise { +export async function up(db: Kysely): Promise { await db.schema .createIndex('author_stats_followers_count_idx') .ifNotExists() @@ -12,6 +12,6 @@ export async function up(db: Kysely): Promise { await db.schema.dropIndex('idx_author_stats_pubkey').ifExists().execute(); } -export async function down(db: Kysely): Promise { +export async function down(db: Kysely): Promise { await db.schema.dropIndex('author_stats_followers_count_idx').ifExists().execute(); } diff --git a/src/db/migrations/036_stats64.ts b/src/db/migrations/036_stats64.ts index fa9d357e..ca13f69a 100644 --- a/src/db/migrations/036_stats64.ts +++ b/src/db/migrations/036_stats64.ts @@ -1,5 +1,6 @@ import { Kysely, sql } from 'kysely'; +// deno-lint-ignore no-explicit-any export async function up(db: Kysely): Promise { await db.deleteFrom('event_stats').where(sql`length(event_id)`, '>', 64).execute(); await db.deleteFrom('author_stats').where(sql`length(pubkey)`, '>', 64).execute(); @@ -8,7 +9,7 @@ export async function up(db: Kysely): Promise { await db.schema.alterTable('author_stats').alterColumn('pubkey', (col) => col.setDataType('char(64)')).execute(); } -export async function down(db: Kysely): Promise { +export async function down(db: Kysely): Promise { await db.schema.alterTable('event_stats').alterColumn('event_id', (col) => col.setDataType('text')).execute(); await db.schema.alterTable('author_stats').alterColumn('pubkey', (col) => col.setDataType('text')).execute(); } diff --git a/src/db/migrations/038_push_subscriptions.ts b/src/db/migrations/038_push_subscriptions.ts index ecce1b1f..d75418bd 100644 --- a/src/db/migrations/038_push_subscriptions.ts +++ b/src/db/migrations/038_push_subscriptions.ts @@ -1,6 +1,6 @@ import { Kysely, sql } from 'kysely'; -export async function up(db: Kysely): Promise { +export async function up(db: Kysely): Promise { await db.schema .createTable('push_subscriptions') .addColumn('id', 'bigserial', (c) => c.primaryKey()) @@ -22,6 +22,6 @@ export async function up(db: Kysely): Promise { .execute(); } -export async function down(db: Kysely): Promise { +export async function down(db: Kysely): Promise { await db.schema.dropTable('push_subscriptions').execute(); } diff --git a/src/db/migrations/039_pg_notify.ts b/src/db/migrations/039_pg_notify.ts index 6d75844d..fb0a21ea 100644 --- a/src/db/migrations/039_pg_notify.ts +++ b/src/db/migrations/039_pg_notify.ts @@ -1,6 +1,6 @@ import { Kysely, sql } from 'kysely'; -export async function up(db: Kysely): Promise { +export async function up(db: Kysely): Promise { await sql` CREATE OR REPLACE FUNCTION notify_nostr_event() RETURNS TRIGGER AS $$ @@ -31,7 +31,7 @@ export async function up(db: Kysely): Promise { `.execute(db); } -export async function down(db: Kysely): Promise { +export async function down(db: Kysely): Promise { await sql`DROP TRIGGER nostr_event_trigger ON nostr_events`.execute(db); await sql`DROP FUNCTION notify_nostr_event()`.execute(db); } diff --git a/src/db/migrations/040_add_bunker_pubkey.ts b/src/db/migrations/040_add_bunker_pubkey.ts index 58ab0a5e..9f0dff2b 100644 --- a/src/db/migrations/040_add_bunker_pubkey.ts +++ b/src/db/migrations/040_add_bunker_pubkey.ts @@ -1,5 +1,6 @@ import { Kysely } from 'kysely'; +// deno-lint-ignore no-explicit-any export async function up(db: Kysely): Promise { await db.schema .alterTable('auth_tokens') @@ -14,7 +15,7 @@ export async function up(db: Kysely): Promise { .execute(); } -export async function down(db: Kysely): Promise { +export async function down(db: Kysely): Promise { await db.schema .alterTable('auth_tokens') .dropColumn('bunker_pubkey') diff --git a/src/db/migrations/041_pg_notify_id_only.ts b/src/db/migrations/041_pg_notify_id_only.ts index 192dd42f..47668894 100644 --- a/src/db/migrations/041_pg_notify_id_only.ts +++ b/src/db/migrations/041_pg_notify_id_only.ts @@ -1,6 +1,6 @@ import { Kysely, sql } from 'kysely'; -export async function up(db: Kysely): Promise { +export async function up(db: Kysely): Promise { await sql`DROP TRIGGER IF EXISTS nostr_event_trigger ON nostr_events`.execute(db); await sql` @@ -21,7 +21,7 @@ export async function up(db: Kysely): Promise { `.execute(db); } -export async function down(db: Kysely): Promise { +export async function down(db: Kysely): Promise { await sql`DROP TRIGGER nostr_event_trigger ON nostr_events`.execute(db); await sql`DROP FUNCTION notify_nostr_event()`.execute(db); } diff --git a/src/db/migrations/042_add_search_ext.ts b/src/db/migrations/042_add_search_ext.ts index 6ebe42a4..754e1571 100644 --- a/src/db/migrations/042_add_search_ext.ts +++ b/src/db/migrations/042_add_search_ext.ts @@ -1,6 +1,6 @@ import { Kysely, sql } from 'kysely'; -export async function up(db: Kysely): Promise { +export async function up(db: Kysely): Promise { await db.schema .alterTable('nostr_events') .addColumn('search_ext', 'jsonb', (col) => col.notNull().defaultTo(sql`'{}'::jsonb`)) @@ -19,7 +19,7 @@ export async function up(db: Kysely): Promise { .execute(); } -export async function down(db: Kysely): Promise { +export async function down(db: Kysely): Promise { await db.schema .dropIndex('nostr_events_search_ext_idx') .on('nostr_events') diff --git a/src/db/migrations/043_rm_language.ts b/src/db/migrations/043_rm_language.ts index 8fb26b52..e61edc12 100644 --- a/src/db/migrations/043_rm_language.ts +++ b/src/db/migrations/043_rm_language.ts @@ -1,10 +1,10 @@ import { Kysely } from 'kysely'; -export async function up(db: Kysely): Promise { +export async function up(db: Kysely): Promise { await db.schema.alterTable('nostr_events').dropColumn('language').execute(); } -export async function down(db: Kysely): Promise { +export async function down(db: Kysely): Promise { await db.schema.alterTable('nostr_events').addColumn('language', 'char(2)').execute(); await db.schema.createIndex('nostr_events_language_created_idx') diff --git a/src/db/migrations/044_search_ext_drop_default.ts b/src/db/migrations/044_search_ext_drop_default.ts index c32590d2..6c8c053f 100644 --- a/src/db/migrations/044_search_ext_drop_default.ts +++ b/src/db/migrations/044_search_ext_drop_default.ts @@ -1,10 +1,10 @@ import { Kysely } from 'kysely'; -export async function up(db: Kysely): Promise { +export async function up(db: Kysely): Promise { await db.schema.alterTable('nostr_events').alterColumn('search_ext', (col) => col.dropDefault()).execute(); } -export async function down(db: Kysely): Promise { +export async function down(db: Kysely): Promise { await db.schema .alterTable('nostr_events') .alterColumn('search_ext', (col) => col.setDefault("'{}'::jsonb")) diff --git a/src/db/migrations/048_rm_pubkey_domains.ts b/src/db/migrations/048_rm_pubkey_domains.ts index 20938159..5f052df2 100644 --- a/src/db/migrations/048_rm_pubkey_domains.ts +++ b/src/db/migrations/048_rm_pubkey_domains.ts @@ -1,6 +1,6 @@ import { Kysely } from 'kysely'; -export async function up(db: Kysely): Promise { +export async function up(db: Kysely): Promise { await db.schema.dropTable('pubkey_domains').execute(); } diff --git a/src/db/migrations/049_author_stats_sorted.ts b/src/db/migrations/049_author_stats_sorted.ts index 6eca40cd..99aae4bf 100644 --- a/src/db/migrations/049_author_stats_sorted.ts +++ b/src/db/migrations/049_author_stats_sorted.ts @@ -1,5 +1,6 @@ import { Kysely, sql } from 'kysely'; +// deno-lint-ignore no-explicit-any export async function up(db: Kysely): Promise { await db.schema .createView('top_authors') diff --git a/src/storages/EventsDB.ts b/src/storages/EventsDB.ts index c0a9bec4..91757449 100644 --- a/src/storages/EventsDB.ts +++ b/src/storages/EventsDB.ts @@ -270,7 +270,7 @@ class EventsDB extends NPostgres { override async count( filters: NostrFilter[], opts: { signal?: AbortSignal; timeout?: number } = {}, - ): Promise<{ count: number; approximate: any }> { + ): Promise<{ count: number; approximate: boolean }> { if (opts.signal?.aborted) return Promise.reject(abortError()); logi({ level: 'debug', ns: 'ditto.count', source: 'db', filters: filters as JsonValue }); @@ -428,6 +428,7 @@ class EventsDB extends NPostgres { return filters; } + // deno-lint-ignore no-explicit-any override async transaction(callback: (store: NPostgres, kysely: Kysely) => Promise): Promise { return super.transaction((store, kysely) => callback(store, kysely as unknown as Kysely)); } diff --git a/src/utils/formdata.ts b/src/utils/formdata.ts index 6d5d997b..47fffa04 100644 --- a/src/utils/formdata.ts +++ b/src/utils/formdata.ts @@ -16,10 +16,12 @@ export function parseFormData(formData: FormData): unknown { /** Deeply sets a value in an object based on a Rails-style nested key. */ function deepSet( /** The target object to modify. */ + // deno-lint-ignore no-explicit-any target: Record, /** The Rails-style key (e.g., "fields_attributes[0][name]"). */ key: string, /** The value to set. */ + // deno-lint-ignore no-explicit-any value: any, ): void { const keys = key.match(/[^[\]]+/g); // Extract keys like ["fields_attributes", "0", "name"]