Use explicit return type for getFilterQuery
This commit is contained in:
parent
55c957d10b
commit
ad112ff9a6
|
@ -3,7 +3,7 @@ import path from 'node:path';
|
|||
|
||||
import { DenoSqliteDialect, FileMigrationProvider, Kysely, Migrator, Sqlite } from '@/deps.ts';
|
||||
|
||||
interface Tables {
|
||||
interface DittoDB {
|
||||
events: EventRow;
|
||||
tags: TagRow;
|
||||
users: UserRow;
|
||||
|
@ -33,7 +33,7 @@ interface UserRow {
|
|||
inserted_at: Date;
|
||||
}
|
||||
|
||||
const db = new Kysely<Tables>({
|
||||
const db = new Kysely<DittoDB>({
|
||||
dialect: new DenoSqliteDialect({
|
||||
database: new Sqlite('data/db.sqlite3'),
|
||||
}),
|
||||
|
@ -52,4 +52,4 @@ console.log('Running migrations...');
|
|||
const results = await migrator.migrateToLatest();
|
||||
console.log('Migrations finished:', results);
|
||||
|
||||
export { db, type EventRow, type TagRow, type UserRow };
|
||||
export { db, type DittoDB, type EventRow, type TagRow, type UserRow };
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import { type Filter, type Insertable } from '@/deps.ts';
|
||||
import { type Filter, type Insertable, type SelectQueryBuilder } from '@/deps.ts';
|
||||
import { type SignedEvent } from '@/event.ts';
|
||||
|
||||
import { db, type TagRow } from '@/db.ts';
|
||||
import { db, type DittoDB, type EventRow, type TagRow } from '@/db.ts';
|
||||
|
||||
function insertEvent(event: SignedEvent): Promise<void> {
|
||||
return db.transaction().execute(async (trx) => {
|
||||
|
@ -34,7 +34,7 @@ function insertEvent(event: SignedEvent): Promise<void> {
|
|||
});
|
||||
}
|
||||
|
||||
function getFilterQuery<K extends number = number>(filter: Filter<K>) {
|
||||
function getFilterQuery(filter: Filter): SelectQueryBuilder<DittoDB, 'events', EventRow> {
|
||||
let query = db.selectFrom('events').selectAll().orderBy('created_at', 'desc');
|
||||
|
||||
for (const key of Object.keys(filter)) {
|
||||
|
|
|
@ -56,6 +56,7 @@ export {
|
|||
Kysely,
|
||||
Migrator,
|
||||
type NullableInsertKeys,
|
||||
type SelectQueryBuilder,
|
||||
sql,
|
||||
} from 'npm:kysely@^0.25.0';
|
||||
export { DenoSqliteDialect } from 'https://gitlab.com/soapbox-pub/kysely-deno-sqlite/-/raw/76748303a45fac64a889cd2b9265c6c9b8ef2e8b/mod.ts';
|
||||
|
|
Loading…
Reference in New Issue