refactor(database): 🚚 Only import ORM abstractions from @versia/kit

This commit is contained in:
Jesse Wierzbinski 2024-11-01 20:57:16 +01:00
parent f26493140f
commit 2f8b85a299
No known key found for this signature in database
100 changed files with 150 additions and 154 deletions

View file

@ -1,6 +1,6 @@
import { afterAll, describe, expect, test } from "bun:test";
import { randomString } from "@/math";
import { Application } from "~/classes/database/application.ts";
import { Application } from "@versia/kit/db";
import { config } from "~/packages/config-manager";
import { fakeRequest, getTestUsers } from "~/tests/utils";
import { meta } from "./index.ts";

View file

@ -2,11 +2,10 @@ import { apiRoute, applyConfig } from "@/api";
import type { Context } from "@hono/hono";
import { setCookie } from "@hono/hono/cookie";
import { createRoute } from "@hono/zod-openapi";
import { Application, User } from "@versia/kit/db";
import { eq, or } from "drizzle-orm";
import { SignJWT } from "jose";
import { z } from "zod";
import { Application } from "~/classes/database/application";
import { User } from "~/classes/database/user";
import { Users } from "~/drizzle/schema";
import { config } from "~/packages/config-manager";

View file

@ -1,6 +1,6 @@
import { afterAll, describe, expect, test } from "bun:test";
import { randomString } from "@/math";
import { Application } from "~/classes/database/application.ts";
import { Application } from "@versia/kit/db";
import { config } from "~/packages/config-manager";
import { fakeRequest, getTestUsers } from "~/tests/utils";
import { meta } from "./index.ts";

View file

@ -1,9 +1,9 @@
import { apiRoute, applyConfig } from "@/api";
import { createRoute } from "@hono/zod-openapi";
import { User } from "@versia/kit/db";
import { eq } from "drizzle-orm";
import type { Context } from "hono";
import { z } from "zod";
import { User } from "~/classes/database/user";
import { Users } from "~/drizzle/schema";
import { config } from "~/packages/config-manager";

View file

@ -1,8 +1,7 @@
import { apiRoute, applyConfig, auth } from "@/api";
import { createRoute } from "@hono/zod-openapi";
import { Relationship, User } from "@versia/kit/db";
import { z } from "zod";
import { Relationship } from "~/classes/database/relationship";
import { User } from "~/classes/database/user";
import { RolePermissions } from "~/drizzle/schema";
import { ErrorSchema } from "~/types/api";

View file

@ -1,9 +1,8 @@
import { apiRoute, applyConfig, auth } from "@/api";
import { createRoute } from "@hono/zod-openapi";
import { Relationship, User } from "@versia/kit/db";
import ISO6391 from "iso-639-1";
import { z } from "zod";
import { Relationship } from "~/classes/database/relationship";
import { User } from "~/classes/database/user";
import { RolePermissions } from "~/drizzle/schema";
import { ErrorSchema } from "~/types/api";

View file

@ -1,9 +1,8 @@
import { apiRoute, applyConfig, auth, idValidator } from "@/api";
import { createRoute } from "@hono/zod-openapi";
import { Timeline, User } from "@versia/kit/db";
import { and, gt, gte, lt, sql } from "drizzle-orm";
import { z } from "zod";
import { Timeline } from "~/classes/database/timeline";
import { User } from "~/classes/database/user";
import { RolePermissions, Users } from "~/drizzle/schema";
import { ErrorSchema } from "~/types/api";

View file

@ -1,9 +1,8 @@
import { apiRoute, applyConfig, auth, idValidator } from "@/api";
import { createRoute } from "@hono/zod-openapi";
import { Timeline, User } from "@versia/kit/db";
import { and, gt, gte, lt, sql } from "drizzle-orm";
import { z } from "zod";
import { Timeline } from "~/classes/database/timeline";
import { User } from "~/classes/database/user";
import { RolePermissions, Users } from "~/drizzle/schema";
import { ErrorSchema } from "~/types/api";

View file

@ -1,7 +1,7 @@
import { apiRoute, applyConfig, auth } from "@/api";
import { createRoute } from "@hono/zod-openapi";
import { User } from "@versia/kit/db";
import { z } from "zod";
import { User } from "~/classes/database/user";
import { RolePermissions } from "~/drizzle/schema";
import { ErrorSchema } from "~/types/api";

View file

@ -1,8 +1,7 @@
import { apiRoute, applyConfig, auth } from "@/api";
import { createRoute } from "@hono/zod-openapi";
import { Relationship, User } from "@versia/kit/db";
import { z } from "zod";
import { Relationship } from "~/classes/database/relationship";
import { User } from "~/classes/database/user";
import { RolePermissions } from "~/drizzle/schema";
import { ErrorSchema } from "~/types/api";

View file

@ -1,8 +1,7 @@
import { apiRoute, applyConfig, auth } from "@/api";
import { createRoute } from "@hono/zod-openapi";
import { Relationship, User } from "@versia/kit/db";
import { z } from "zod";
import { Relationship } from "~/classes/database/relationship";
import { User } from "~/classes/database/user";
import { RolePermissions } from "~/drizzle/schema";
import { ErrorSchema } from "~/types/api";

View file

@ -1,8 +1,7 @@
import { apiRoute, applyConfig, auth } from "@/api";
import { createRoute } from "@hono/zod-openapi";
import { Relationship, User } from "@versia/kit/db";
import { z } from "zod";
import { Relationship } from "~/classes/database/relationship";
import { User } from "~/classes/database/user";
import { RolePermissions } from "~/drizzle/schema";
import { ErrorSchema } from "~/types/api";

View file

@ -1,7 +1,7 @@
import { apiRoute, applyConfig, auth } from "@/api";
import { createRoute } from "@hono/zod-openapi";
import { User } from "@versia/kit/db";
import { z } from "zod";
import { User } from "~/classes/database/user";
import { RolePermissions } from "~/drizzle/schema";
import { ErrorSchema } from "~/types/api";

View file

@ -1,8 +1,7 @@
import { apiRoute, applyConfig, auth } from "@/api";
import { createRoute } from "@hono/zod-openapi";
import { Relationship, User } from "@versia/kit/db";
import { z } from "zod";
import { Relationship } from "~/classes/database/relationship";
import { User } from "~/classes/database/user";
import { RolePermissions } from "~/drizzle/schema";
import { ErrorSchema } from "~/types/api";

View file

@ -1,10 +1,8 @@
import { apiRoute, applyConfig, auth, idValidator } from "@/api";
import { createRoute } from "@hono/zod-openapi";
import { Note, Timeline, User } from "@versia/kit/db";
import { and, eq, gt, gte, isNull, lt, sql } from "drizzle-orm";
import { z } from "zod";
import { Note } from "~/classes/database/note";
import { Timeline } from "~/classes/database/timeline";
import { User } from "~/classes/database/user";
import { Notes, RolePermissions } from "~/drizzle/schema";
import { ErrorSchema } from "~/types/api";

View file

@ -1,8 +1,7 @@
import { apiRoute, applyConfig, auth } from "@/api";
import { createRoute } from "@hono/zod-openapi";
import { Relationship, User } from "@versia/kit/db";
import { z } from "zod";
import { Relationship } from "~/classes/database/relationship";
import { User } from "~/classes/database/user";
import { RolePermissions } from "~/drizzle/schema";
import { ErrorSchema } from "~/types/api";

View file

@ -1,8 +1,7 @@
import { apiRoute, applyConfig, auth } from "@/api";
import { createRoute } from "@hono/zod-openapi";
import { Relationship, User } from "@versia/kit/db";
import { z } from "zod";
import { Relationship } from "~/classes/database/relationship";
import { User } from "~/classes/database/user";
import { RolePermissions } from "~/drizzle/schema";
import { ErrorSchema } from "~/types/api";

View file

@ -1,8 +1,7 @@
import { apiRoute, applyConfig, auth } from "@/api";
import { createRoute } from "@hono/zod-openapi";
import { Relationship, User } from "@versia/kit/db";
import { z } from "zod";
import { Relationship } from "~/classes/database/relationship";
import { User } from "~/classes/database/user";
import { RolePermissions } from "~/drizzle/schema";
import { ErrorSchema } from "~/types/api";

View file

@ -1,8 +1,7 @@
import { apiRoute, applyConfig, auth } from "@/api";
import { createRoute } from "@hono/zod-openapi";
import { Relationship, User } from "@versia/kit/db";
import { z } from "zod";
import { Relationship } from "~/classes/database/relationship";
import { User } from "~/classes/database/user";
import { RolePermissions } from "~/drizzle/schema";
import { ErrorSchema } from "~/types/api";

View file

@ -1,8 +1,8 @@
import { apiRoute, applyConfig, auth, qsQuery } from "@/api";
import { createRoute } from "@hono/zod-openapi";
import { User } from "@versia/kit/db";
import { inArray } from "drizzle-orm";
import { z } from "zod";
import { User } from "~/classes/database/user";
import { db } from "~/drizzle/db";
import { RolePermissions, Users } from "~/drizzle/schema";
import { ErrorSchema } from "~/types/api";

View file

@ -1,8 +1,8 @@
import { apiRoute, applyConfig, auth } from "@/api";
import { createRoute } from "@hono/zod-openapi";
import { User } from "@versia/kit/db";
import { and, eq, isNull } from "drizzle-orm";
import { z } from "zod";
import { User } from "~/classes/database/user";
import { RolePermissions, Users } from "~/drizzle/schema";
import { ErrorSchema } from "~/types/api";

View file

@ -1,10 +1,10 @@
import { apiRoute, applyConfig, auth, jsonOrForm } from "@/api";
import { tempmailDomains } from "@/tempmail";
import { createRoute } from "@hono/zod-openapi";
import { User } from "@versia/kit/db";
import { and, eq, isNull } from "drizzle-orm";
import ISO6391 from "iso-639-1";
import { z } from "zod";
import { User } from "~/classes/database/user";
import { Users } from "~/drizzle/schema";
import { config } from "~/packages/config-manager";

View file

@ -1,5 +1,6 @@
import { apiRoute, applyConfig, auth } from "@/api";
import { createRoute } from "@hono/zod-openapi";
import { User } from "@versia/kit/db";
import { eq } from "drizzle-orm";
import {
anyOf,
@ -13,7 +14,6 @@ import {
oneOrMore,
} from "magic-regexp";
import { z } from "zod";
import { User } from "~/classes/database/user";
import { RolePermissions, Users } from "~/drizzle/schema";
import { ErrorSchema } from "~/types/api";

View file

@ -1,7 +1,7 @@
import { apiRoute, applyConfig, auth, qsQuery } from "@/api";
import { createRoute } from "@hono/zod-openapi";
import { Relationship } from "@versia/kit/db";
import { z } from "zod";
import { Relationship } from "~/classes/database/relationship";
import { RolePermissions } from "~/drizzle/schema";
import { ErrorSchema } from "~/types/api";

View file

@ -1,5 +1,6 @@
import { apiRoute, applyConfig, auth } from "@/api";
import { createRoute } from "@hono/zod-openapi";
import { User } from "@versia/kit/db";
import { eq, ilike, not, or, sql } from "drizzle-orm";
import {
anyOf,
@ -14,7 +15,6 @@ import {
} from "magic-regexp";
import stringComparison from "string-comparison";
import { z } from "zod";
import { User } from "~/classes/database/user";
import { RolePermissions, Users } from "~/drizzle/schema";
import { ErrorSchema } from "~/types/api";

View file

@ -1,12 +1,10 @@
import { apiRoute, applyConfig, auth, jsonOrForm } from "@/api";
import { sanitizedHtmlStrip } from "@/sanitization";
import { createRoute } from "@hono/zod-openapi";
import { Attachment, Emoji, User } from "@versia/kit/db";
import { and, eq, isNull } from "drizzle-orm";
import ISO6391 from "iso-639-1";
import { z } from "zod";
import { Attachment } from "~/classes/database/attachment";
import { Emoji } from "~/classes/database/emoji";
import { User } from "~/classes/database/user";
import { contentToHtml } from "~/classes/functions/status";
import { MediaManager } from "~/classes/media/media-manager";
import { db } from "~/drizzle/db";

View file

@ -1,6 +1,6 @@
import { apiRoute, applyConfig, auth } from "@/api";
import { createRoute } from "@hono/zod-openapi";
import { User } from "~/classes/database/user";
import { User } from "@versia/kit/db";
import { ErrorSchema } from "~/types/api";
export const meta = applyConfig({

View file

@ -1,8 +1,8 @@
import { apiRoute, applyConfig, jsonOrForm } from "@/api";
import { randomString } from "@/math";
import { createRoute } from "@hono/zod-openapi";
import { Application } from "@versia/kit/db";
import { z } from "zod";
import { Application } from "~/classes/database/application";
import { RolePermissions } from "~/drizzle/schema";
export const meta = applyConfig({

View file

@ -1,6 +1,6 @@
import { apiRoute, applyConfig, auth } from "@/api";
import { createRoute } from "@hono/zod-openapi";
import { Application } from "~/classes/database/application";
import { Application } from "@versia/kit/db";
import { RolePermissions } from "~/drizzle/schema";
import { ErrorSchema } from "~/types/api";

View file

@ -1,9 +1,8 @@
import { apiRoute, applyConfig, auth, idValidator } from "@/api";
import { createRoute } from "@hono/zod-openapi";
import { Timeline, User } from "@versia/kit/db";
import { and, gt, gte, lt, sql } from "drizzle-orm";
import { z } from "zod";
import { Timeline } from "~/classes/database/timeline";
import { User } from "~/classes/database/user";
import { RolePermissions, Users } from "~/drizzle/schema";
import { ErrorSchema } from "~/types/api";

View file

@ -1,7 +1,7 @@
import { apiRoute, applyConfig, auth } from "@/api";
import { createRoute, z } from "@hono/zod-openapi";
import { Emoji } from "@versia/kit/db";
import { and, eq, isNull, or } from "drizzle-orm";
import { Emoji } from "~/classes/database/emoji";
import { Emojis, RolePermissions } from "~/drizzle/schema";
export const meta = applyConfig({

View file

@ -1,10 +1,9 @@
import { apiRoute, applyConfig, auth, emojiValidator, jsonOrForm } from "@/api";
import { mimeLookup } from "@/content_types";
import { createRoute } from "@hono/zod-openapi";
import { Attachment, Emoji } from "@versia/kit/db";
import { eq } from "drizzle-orm";
import { z } from "zod";
import { Attachment } from "~/classes/database/attachment";
import { Emoji } from "~/classes/database/emoji";
import { MediaManager } from "~/classes/media/media-manager";
import { db } from "~/drizzle/db";
import { Emojis, RolePermissions } from "~/drizzle/schema";

View file

@ -1,10 +1,9 @@
import { apiRoute, applyConfig, auth, emojiValidator, jsonOrForm } from "@/api";
import { mimeLookup } from "@/content_types";
import { createRoute } from "@hono/zod-openapi";
import { Attachment, Emoji } from "@versia/kit/db";
import { and, eq, isNull, or } from "drizzle-orm";
import { z } from "zod";
import { Attachment } from "~/classes/database/attachment";
import { Emoji } from "~/classes/database/emoji";
import { MediaManager } from "~/classes/media/media-manager";
import { Emojis, RolePermissions } from "~/drizzle/schema";
import { config } from "~/packages/config-manager";

View file

@ -1,9 +1,8 @@
import { apiRoute, applyConfig, auth, idValidator } from "@/api";
import { createRoute } from "@hono/zod-openapi";
import { Note, Timeline } from "@versia/kit/db";
import { and, gt, gte, lt, sql } from "drizzle-orm";
import { z } from "zod";
import { Note } from "~/classes/database/note";
import { Timeline } from "~/classes/database/timeline";
import { Notes, RolePermissions } from "~/drizzle/schema";
import { ErrorSchema } from "~/types/api";

View file

@ -1,8 +1,7 @@
import { apiRoute, applyConfig, auth } from "@/api";
import { createRoute } from "@hono/zod-openapi";
import { Relationship, User } from "@versia/kit/db";
import { z } from "zod";
import { Relationship } from "~/classes/database/relationship";
import { User } from "~/classes/database/user";
import { RolePermissions } from "~/drizzle/schema";
import { ErrorSchema } from "~/types/api";

View file

@ -1,8 +1,7 @@
import { apiRoute, applyConfig, auth } from "@/api";
import { createRoute } from "@hono/zod-openapi";
import { Relationship, User } from "@versia/kit/db";
import { z } from "zod";
import { Relationship } from "~/classes/database/relationship";
import { User } from "~/classes/database/user";
import { RolePermissions } from "~/drizzle/schema";
import { ErrorSchema } from "~/types/api";

View file

@ -1,9 +1,8 @@
import { apiRoute, applyConfig, auth, idValidator } from "@/api";
import { createRoute } from "@hono/zod-openapi";
import { Timeline, User } from "@versia/kit/db";
import { and, gt, gte, lt, sql } from "drizzle-orm";
import { z } from "zod";
import { Timeline } from "~/classes/database/timeline";
import { User } from "~/classes/database/user";
import { RolePermissions, Users } from "~/drizzle/schema";
import { ErrorSchema } from "~/types/api";

View file

@ -1,10 +1,8 @@
import { apiRoute, applyConfig, auth } from "@/api";
import { proxyUrl } from "@/response";
import { createRoute, z } from "@hono/zod-openapi";
import { Instance, Note, User } from "@versia/kit/db";
import { and, eq, isNull } from "drizzle-orm";
import { Instance } from "~/classes/database/instance";
import { Note } from "~/classes/database/note";
import { User } from "~/classes/database/user";
import { Users } from "~/drizzle/schema";
import manifest from "~/package.json";
import { config } from "~/packages/config-manager";

View file

@ -1,7 +1,7 @@
import { apiRoute, applyConfig, auth } from "@/api";
import { createRoute } from "@hono/zod-openapi";
import { Attachment } from "@versia/kit/db";
import { z } from "zod";
import { Attachment } from "~/classes/database/attachment";
import { MediaManager } from "~/classes/media/media-manager";
import { RolePermissions } from "~/drizzle/schema";
import { config } from "~/packages/config-manager/index.ts";

View file

@ -1,8 +1,8 @@
import { apiRoute, applyConfig, auth } from "@/api";
import { createRoute } from "@hono/zod-openapi";
import { Attachment } from "@versia/kit/db";
import sharp from "sharp";
import { z } from "zod";
import { Attachment } from "~/classes/database/attachment";
import { MediaManager } from "~/classes/media/media-manager";
import { RolePermissions } from "~/drizzle/schema";
import { config } from "~/packages/config-manager/index.ts";

View file

@ -1,9 +1,8 @@
import { apiRoute, applyConfig, auth, idValidator } from "@/api";
import { createRoute } from "@hono/zod-openapi";
import { Timeline, User } from "@versia/kit/db";
import { and, gt, gte, lt, sql } from "drizzle-orm";
import { z } from "zod";
import { Timeline } from "~/classes/database/timeline";
import { User } from "~/classes/database/user";
import { RolePermissions, Users } from "~/drizzle/schema";
import { ErrorSchema } from "~/types/api";

View file

@ -1,8 +1,7 @@
import { apiRoute, applyConfig, auth } from "@/api";
import { createRoute } from "@hono/zod-openapi";
import { Note, User } from "@versia/kit/db";
import { z } from "zod";
import { Note } from "~/classes/database/note";
import { User } from "~/classes/database/user";
import {
findManyNotifications,
notificationToApi,

View file

@ -1,10 +1,9 @@
import { apiRoute, applyConfig, auth, idValidator } from "@/api";
import { fetchTimeline } from "@/timelines";
import { createRoute } from "@hono/zod-openapi";
import { Note, User } from "@versia/kit/db";
import { sql } from "drizzle-orm";
import { z } from "zod";
import { Note } from "~/classes/database/note";
import { User } from "~/classes/database/user";
import {
findManyNotifications,
notificationToApi,

View file

@ -1,6 +1,6 @@
import { apiRoute, applyConfig, auth } from "@/api";
import { createRoute } from "@hono/zod-openapi";
import { User } from "~/classes/database/user";
import { User } from "@versia/kit/db";
import { RolePermissions } from "~/drizzle/schema";
import { ErrorSchema } from "~/types/api";

View file

@ -1,6 +1,6 @@
import { apiRoute, applyConfig, auth } from "@/api";
import { createRoute } from "@hono/zod-openapi";
import { User } from "~/classes/database/user";
import { User } from "@versia/kit/db";
import { RolePermissions } from "~/drizzle/schema";
import { ErrorSchema } from "~/types/api";

View file

@ -1,5 +1,5 @@
import { afterAll, beforeAll, describe, expect, test } from "bun:test";
import { Role } from "~/classes/database/role.ts";
import { Role } from "@versia/kit/db";
import { ADMIN_ROLES, DEFAULT_ROLES, RolePermissions } from "~/drizzle/schema";
import { fakeRequest, getTestUsers } from "~/tests/utils";
import { meta } from "./index.ts";

View file

@ -1,7 +1,7 @@
import { apiRoute, applyConfig, auth } from "@/api";
import { createRoute } from "@hono/zod-openapi";
import { Role } from "@versia/kit/db";
import { z } from "zod";
import { Role } from "~/classes/database/role";
import { RolePermissions } from "~/drizzle/schema";
import { ErrorSchema } from "~/types/api";

View file

@ -1,5 +1,5 @@
import { afterAll, beforeAll, describe, expect, test } from "bun:test";
import { Role } from "~/classes/database/role.ts";
import { Role } from "@versia/kit/db";
import { ADMIN_ROLES } from "~/drizzle/schema";
import { config } from "~/packages/config-manager/index.ts";
import { fakeRequest, getTestUsers } from "~/tests/utils";

View file

@ -1,6 +1,6 @@
import { apiRoute, applyConfig, auth } from "@/api";
import { createRoute, z } from "@hono/zod-openapi";
import { Role } from "~/classes/database/role";
import { Role } from "@versia/kit/db";
import { ErrorSchema } from "~/types/api";
export const meta = applyConfig({

View file

@ -1,7 +1,7 @@
import { apiRoute, applyConfig, auth } from "@/api";
import { createRoute } from "@hono/zod-openapi";
import { Note } from "@versia/kit/db";
import { z } from "zod";
import { Note } from "~/classes/database/note";
import { RolePermissions } from "~/drizzle/schema";
import { ErrorSchema } from "~/types/api";

View file

@ -1,7 +1,7 @@
import { apiRoute, applyConfig, auth } from "@/api";
import { createRoute } from "@hono/zod-openapi";
import { Note } from "@versia/kit/db";
import { z } from "zod";
import { Note } from "~/classes/database/note";
import { RolePermissions } from "~/drizzle/schema";
import { ErrorSchema } from "~/types/api";

View file

@ -1,10 +1,8 @@
import { apiRoute, applyConfig, auth, idValidator } from "@/api";
import { createRoute } from "@hono/zod-openapi";
import { Note, Timeline, User } from "@versia/kit/db";
import { and, gt, gte, lt, sql } from "drizzle-orm";
import { z } from "zod";
import { Note } from "~/classes/database/note";
import { Timeline } from "~/classes/database/timeline";
import { User } from "~/classes/database/user";
import { RolePermissions, Users } from "~/drizzle/schema";
import { ErrorSchema } from "~/types/api";

View file

@ -1,9 +1,8 @@
import { apiRoute, applyConfig, auth, idValidator, jsonOrForm } from "@/api";
import { createRoute } from "@hono/zod-openapi";
import { Attachment, Note } from "@versia/kit/db";
import ISO6391 from "iso-639-1";
import { z } from "zod";
import { Attachment } from "~/classes/database/attachment";
import { Note } from "~/classes/database/note";
import { RolePermissions } from "~/drizzle/schema";
import { config } from "~/packages/config-manager/index.ts";
import { ErrorSchema } from "~/types/api";

View file

@ -1,7 +1,7 @@
import { apiRoute, applyConfig, auth, idValidator } from "@/api";
import { createRoute } from "@hono/zod-openapi";
import { Note } from "@versia/kit/db";
import { z } from "zod";
import { Note } from "~/classes/database/note";
import { db } from "~/drizzle/db";
import { RolePermissions } from "~/drizzle/schema";
import { ErrorSchema } from "~/types/api";

View file

@ -1,8 +1,8 @@
import { apiRoute, applyConfig, auth, jsonOrForm } from "@/api";
import { createRoute } from "@hono/zod-openapi";
import { Note } from "@versia/kit/db";
import { and, eq } from "drizzle-orm";
import { z } from "zod";
import { Note } from "~/classes/database/note";
import { db } from "~/drizzle/db";
import { Notes, Notifications, RolePermissions } from "~/drizzle/schema";
import { ErrorSchema } from "~/types/api";

View file

@ -1,10 +1,8 @@
import { apiRoute, applyConfig, auth } from "@/api";
import { createRoute } from "@hono/zod-openapi";
import { Note, Timeline, User } from "@versia/kit/db";
import { and, gt, gte, lt, sql } from "drizzle-orm";
import { z } from "zod";
import { Note } from "~/classes/database/note";
import { Timeline } from "~/classes/database/timeline";
import { User } from "~/classes/database/user";
import { RolePermissions, Users } from "~/drizzle/schema";
import { ErrorSchema } from "~/types/api";

View file

@ -1,8 +1,8 @@
import { apiRoute, applyConfig, auth } from "@/api";
import { createRoute } from "@hono/zod-openapi";
import type { StatusSource as ApiStatusSource } from "@versia/client/types";
import { Note } from "@versia/kit/db";
import { z } from "zod";
import { Note } from "~/classes/database/note";
import { RolePermissions } from "~/drizzle/schema";
import { ErrorSchema } from "~/types/api";

View file

@ -1,7 +1,7 @@
import { apiRoute, applyConfig, auth } from "@/api";
import { createRoute } from "@hono/zod-openapi";
import { Note } from "@versia/kit/db";
import { z } from "zod";
import { Note } from "~/classes/database/note";
import { RolePermissions } from "~/drizzle/schema";
import { ErrorSchema } from "~/types/api";

View file

@ -1,7 +1,7 @@
import { apiRoute, applyConfig, auth } from "@/api";
import { createRoute } from "@hono/zod-openapi";
import { Note } from "@versia/kit/db";
import { z } from "zod";
import { Note } from "~/classes/database/note";
import { RolePermissions } from "~/drizzle/schema";
import { ErrorSchema } from "~/types/api";

View file

@ -1,8 +1,8 @@
import { apiRoute, applyConfig, auth } from "@/api";
import { createRoute } from "@hono/zod-openapi";
import { Note } from "@versia/kit/db";
import { and, eq } from "drizzle-orm";
import { z } from "zod";
import { Note } from "~/classes/database/note";
import { Notes, RolePermissions } from "~/drizzle/schema";
import { ErrorSchema } from "~/types/api";

View file

@ -1,9 +1,8 @@
import { apiRoute, applyConfig, auth, jsonOrForm } from "@/api";
import { createRoute } from "@hono/zod-openapi";
import { Attachment, Note } from "@versia/kit/db";
import ISO6391 from "iso-639-1";
import { z } from "zod";
import { Attachment } from "~/classes/database/attachment";
import { Note } from "~/classes/database/note";
import { RolePermissions } from "~/drizzle/schema";
import { config } from "~/packages/config-manager/index.ts";
import { ErrorSchema } from "~/types/api";

View file

@ -1,9 +1,8 @@
import { apiRoute, applyConfig, auth, idValidator } from "@/api";
import { createRoute } from "@hono/zod-openapi";
import { Note, Timeline } from "@versia/kit/db";
import { and, eq, gt, gte, lt, or, sql } from "drizzle-orm";
import { z } from "zod";
import { Note } from "~/classes/database/note";
import { Timeline } from "~/classes/database/timeline";
import { Notes, RolePermissions } from "~/drizzle/schema";
import { ErrorSchema } from "~/types/api";

View file

@ -1,9 +1,8 @@
import { apiRoute, applyConfig, auth, idValidator } from "@/api";
import { createRoute } from "@hono/zod-openapi";
import { Note, Timeline } from "@versia/kit/db";
import { and, gt, gte, lt, sql } from "drizzle-orm";
import { z } from "zod";
import { Note } from "~/classes/database/note";
import { Timeline } from "~/classes/database/timeline";
import { Notes, RolePermissions } from "~/drizzle/schema";
import { ErrorSchema } from "~/types/api";

View file

@ -1,8 +1,8 @@
import { apiRoute, applyConfig } from "@/api";
import { proxyUrl } from "@/response";
import { createRoute, z } from "@hono/zod-openapi";
import { User } from "@versia/kit/db";
import { and, eq, isNull } from "drizzle-orm";
import { User } from "~/classes/database/user";
import { Users } from "~/drizzle/schema";
import manifest from "~/package.json";
import { config } from "~/packages/config-manager";

View file

@ -1,8 +1,8 @@
import { apiRoute, applyConfig, auth } from "@/api";
import { createRoute } from "@hono/zod-openapi";
import { Attachment } from "@versia/kit/db";
import sharp from "sharp";
import { z } from "zod";
import { Attachment } from "~/classes/database/attachment";
import { MediaManager } from "~/classes/media/media-manager";
import { RolePermissions } from "~/drizzle/schema";
import { config } from "~/packages/config-manager/index.ts";

View file

@ -6,10 +6,9 @@ import {
userAddressValidator,
} from "@/api";
import { createRoute } from "@hono/zod-openapi";
import { Note, User } from "@versia/kit/db";
import { and, eq, inArray, sql } from "drizzle-orm";
import { z } from "zod";
import { Note } from "~/classes/database/note";
import { User } from "~/classes/database/user";
import { searchManager } from "~/classes/search/search-manager";
import { db } from "~/drizzle/db";
import { Instances, Notes, RolePermissions, Users } from "~/drizzle/schema";

View file

@ -4,11 +4,9 @@ import {
LikeExtension as LikeSchema,
Note as NoteSchema,
} from "@versia/federation/schemas";
import { Like, Note, User } from "@versia/kit/db";
import { and, eq, inArray, sql } from "drizzle-orm";
import { z } from "zod";
import { Like } from "~/classes/database/like";
import { Note } from "~/classes/database/note";
import { User } from "~/classes/database/user";
import { Likes, Notes } from "~/drizzle/schema";
import { config } from "~/packages/config-manager";
import { ErrorSchema, type KnownEntity } from "~/types/api";

View file

@ -2,8 +2,8 @@ import { apiRoute, applyConfig } from "@/api";
import { createRoute } from "@hono/zod-openapi";
import { getLogger } from "@logtape/logtape";
import type { Entity } from "@versia/federation/types";
import { User } from "@versia/kit/db";
import { z } from "zod";
import { User } from "~/classes/database/user";
import { InboxProcessor } from "~/classes/inbox/processor";
import { ErrorSchema } from "~/types/api";

View file

@ -1,8 +1,8 @@
import { apiRoute, applyConfig } from "@/api";
import { createRoute } from "@hono/zod-openapi";
import { User as UserSchema } from "@versia/federation/schemas";
import { User } from "@versia/kit/db";
import { z } from "zod";
import { User } from "~/classes/database/user";
import { ErrorSchema } from "~/types/api";
export const meta = applyConfig({

View file

@ -4,10 +4,9 @@ import {
Collection as CollectionSchema,
Note as NoteSchema,
} from "@versia/federation/schemas";
import { Note, User } from "@versia/kit/db";
import { and, eq, inArray } from "drizzle-orm";
import { z } from "zod";
import { Note } from "~/classes/database/note";
import { User } from "~/classes/database/user";
import { db } from "~/drizzle/db";
import { Notes } from "~/drizzle/schema";
import { config } from "~/packages/config-manager";

View file

@ -2,8 +2,8 @@ import { apiRoute, applyConfig } from "@/api";
import { urlToContentFormat } from "@/content_types";
import { createRoute } from "@hono/zod-openapi";
import { InstanceMetadata as InstanceMetadataSchema } from "@versia/federation/schemas";
import { User } from "@versia/kit/db";
import { asc } from "drizzle-orm";
import { User } from "~/classes/database/user";
import { Users } from "~/drizzle/schema";
import pkg from "~/package.json";
import { config } from "~/packages/config-manager";

View file

@ -3,10 +3,10 @@ import { createRoute } from "@hono/zod-openapi";
import { getLogger } from "@logtape/logtape";
import type { ResponseError } from "@versia/federation";
import { WebFinger } from "@versia/federation/schemas";
import { User } from "@versia/kit/db";
import { and, eq, isNull } from "drizzle-orm";
import { lookup } from "mime-types";
import { z } from "zod";
import { User } from "~/classes/database/user";
import { Users } from "~/drizzle/schema";
import { config } from "~/packages/config-manager";
import { ErrorSchema } from "~/types/api";

View file

@ -1,7 +1,6 @@
import type { Notification as ApiNotification } from "@versia/client/types";
import { Note, User } from "@versia/kit/db";
import type { InferSelectModel } from "drizzle-orm";
import { Note } from "~/classes/database/note.ts";
import { User } from "~/classes/database/user.ts";
import { db } from "~/drizzle/db";
import type { Notifications } from "~/drizzle/schema";
import type { StatusWithRelations } from "./status.ts";

View file

@ -2,6 +2,7 @@ import { mentionValidator } from "@/api";
import { sanitizeHtml, sanitizeHtmlInline } from "@/sanitization";
import markdownItTaskLists from "@hackmd/markdown-it-task-lists";
import type { ContentFormat } from "@versia/federation/types";
import { User } from "@versia/kit/db";
import {
type InferSelectModel,
and,
@ -26,7 +27,6 @@ import markdownItContainer from "markdown-it-container";
import markdownItTocDoneRight from "markdown-it-toc-done-right";
import type { ApplicationType } from "~/classes/database/application.ts";
import type { EmojiWithInstance } from "~/classes/database/emoji.ts";
import { User } from "~/classes/database/user.ts";
import { db } from "~/drizzle/db";
import {
type Attachments,

View file

@ -3,10 +3,10 @@ import type {
FollowAccept,
FollowReject,
} from "@versia/federation/types";
import { User } from "@versia/kit/db";
import { type InferSelectModel, eq, sql } from "drizzle-orm";
import type { ApplicationType } from "~/classes/database/application.ts";
import type { EmojiWithInstance } from "~/classes/database/emoji.ts";
import { User } from "~/classes/database/user.ts";
import { db } from "~/drizzle/db";
import {
Applications,

View file

@ -4,12 +4,11 @@
*/
import { getLogger } from "@logtape/logtape";
import { Note, User } from "@versia/kit/db";
import {
Ingest as SonicChannelIngest,
Search as SonicChannelSearch,
} from "sonic-channel";
import { Note } from "~/classes/database/note";
import { User } from "~/classes/database/user";
import { db } from "~/drizzle/db";
import { type Config, config } from "~/packages/config-manager";

View file

@ -1,9 +1,8 @@
import { parseUserAddress, userAddressValidator } from "@/api";
import { Args, type Command, Flags, type Interfaces } from "@oclif/core";
import { Instance, User } from "@versia/kit/db";
import chalk from "chalk";
import { and, eq, getTableColumns, like } from "drizzle-orm";
import { Instance } from "~/classes/database/instance.ts";
import { User } from "~/classes/database/user.ts";
import { db } from "~/drizzle/db";
import { Emojis, Instances, Users } from "~/drizzle/schema";
import { BaseCommand } from "./base.ts";

View file

@ -1,9 +1,8 @@
import { Args } from "@oclif/core";
import { Attachment, Emoji } from "@versia/kit/db";
import chalk from "chalk";
import { and, eq, isNull } from "drizzle-orm";
import ora from "ora";
import { Attachment } from "~/classes/database/attachment";
import { Emoji } from "~/classes/database/emoji";
import { MediaManager } from "~/classes/media/media-manager";
import { BaseCommand } from "~/cli/base";
import { Emojis } from "~/drizzle/schema";

View file

@ -1,11 +1,10 @@
import { Args, Flags } from "@oclif/core";
import { Attachment, Emoji } from "@versia/kit/db";
import chalk from "chalk";
import { and, inArray, isNull } from "drizzle-orm";
import { lookup } from "mime-types";
import ora from "ora";
import { unzip } from "unzipit";
import { Attachment } from "~/classes/database/attachment";
import { Emoji } from "~/classes/database/emoji";
import { MediaManager } from "~/classes/media/media-manager";
import { BaseCommand } from "~/cli/base";
import { Emojis } from "~/drizzle/schema";

View file

@ -1,6 +1,6 @@
import { Args } from "@oclif/core";
import { Instance } from "@versia/kit/db";
import ora from "ora";
import { Instance } from "~/classes/database/instance";
import { BaseCommand } from "~/cli/base";
import { formatArray } from "~/cli/utils/format";

View file

@ -1,9 +1,8 @@
import { parseUserAddress, userAddressValidator } from "@/api";
import { Args } from "@oclif/core";
import { Instance, User } from "@versia/kit/db";
import chalk from "chalk";
import ora from "ora";
import { Instance } from "~/classes/database/instance";
import { User } from "~/classes/database/user";
import { BaseCommand } from "~/cli/base";
export default class FederationUserFetch extends BaseCommand<

View file

@ -1,9 +1,8 @@
import { parseUserAddress, userAddressValidator } from "@/api";
import { Args } from "@oclif/core";
import { Instance, User } from "@versia/kit/db";
import chalk from "chalk";
import ora from "ora";
import { Instance } from "~/classes/database/instance";
import { User } from "~/classes/database/user";
import { BaseCommand } from "~/cli/base";
export default class FederationUserFinger extends BaseCommand<

View file

@ -1,5 +1,5 @@
import { User } from "@versia/kit/db";
import chalk from "chalk";
import { User } from "~/classes/database/user";
import { BaseCommand } from "~/cli/base";
export default class GenerateKeys extends BaseCommand<typeof GenerateKeys> {

View file

@ -1,9 +1,9 @@
import input from "@inquirer/input";
import { Args, Flags } from "@oclif/core";
import { User } from "@versia/kit/db";
import chalk from "chalk";
import { eq } from "drizzle-orm";
import { renderUnicodeCompact } from "uqr";
import { User } from "~/classes/database/user";
import { BaseCommand } from "~/cli/base";
import { formatArray } from "~/cli/utils/format";
import { Users } from "~/drizzle/schema";

View file

@ -1,6 +1,6 @@
import { Flags } from "@oclif/core";
import { User } from "@versia/kit/db";
import { and, eq, isNotNull, isNull } from "drizzle-orm";
import { User } from "~/classes/database/user";
import { BaseCommand } from "~/cli/base";
import { formatArray } from "~/cli/utils/format";
import { Users } from "~/drizzle/schema";

View file

@ -1,8 +1,8 @@
import { afterAll, describe, expect, test } from "bun:test";
import { randomString } from "@/math";
import { Application } from "@versia/kit/db";
import { RolePermissions } from "@versia/kit/tables";
import { SignJWT } from "jose";
import { Application } from "~/classes/database/application";
import { config } from "~/packages/config-manager";
import { fakeRequest, getTestUsers } from "~/tests/utils";

View file

@ -1,12 +1,11 @@
import { auth, jsonOrForm } from "@/api";
import { randomString } from "@/math";
import { db } from "@versia/kit/db";
import { Application, User } from "@versia/kit/db";
import { RolePermissions, Tokens } from "@versia/kit/tables";
import { type JWTPayload, SignJWT, jwtVerify } from "jose";
import { JOSEError } from "jose/errors";
import { z } from "zod";
import { Application } from "~/classes/database/application.ts";
import { User } from "~/classes/database/user.ts";
import { TokenType } from "~/classes/functions/token";
import type { PluginType } from "../index.ts";

View file

@ -1,5 +1,5 @@
import { afterAll, describe, expect, test } from "bun:test";
import { Application } from "~/classes/database/application";
import { Application } from "@versia/kit/db";
import { fakeRequest } from "~/tests/utils";
const application = await Application.insert({

View file

@ -1,8 +1,8 @@
import { afterAll, beforeAll, describe, expect, test } from "bun:test";
import { db } from "@versia/kit/db";
import { Application } from "@versia/kit/db";
import { eq } from "@versia/kit/drizzle";
import { Tokens } from "@versia/kit/tables";
import { Application } from "~/classes/database/application";
import { fakeRequest, getTestUsers } from "~/tests/utils";
const { deleteUsers, users } = await getTestUsers(1);

View file

@ -1,5 +1,6 @@
import { createRoute, z } from "@hono/zod-openapi";
import { db } from "@versia/kit/db";
import { Application } from "@versia/kit/db";
import { OpenIdLoginFlows } from "@versia/kit/tables";
import {
calculatePKCECodeChallenge,
@ -7,7 +8,6 @@ import {
generateRandomCodeVerifier,
processDiscoveryResponse,
} from "oauth4webapi";
import { Application } from "~/classes/database/application.ts";
import type { PluginType } from "../../index.ts";
import { oauthRedirectUri } from "../../utils.ts";

View file

@ -1,8 +1,8 @@
import { afterAll, beforeAll, describe, expect, test } from "bun:test";
import { db } from "@versia/kit/db";
import { Application } from "@versia/kit/db";
import { eq } from "@versia/kit/drizzle";
import { Tokens } from "@versia/kit/tables";
import { Application } from "~/classes/database/application";
import { fakeRequest, getTestUsers } from "~/tests/utils";
const { deleteUsers, users } = await getTestUsers(1);

View file

@ -1,9 +1,9 @@
import { jsonOrForm } from "@/api";
import { createRoute, z } from "@hono/zod-openapi";
import { db } from "@versia/kit/db";
import { Application } from "@versia/kit/db";
import { eq } from "@versia/kit/drizzle";
import { Tokens } from "@versia/kit/tables";
import { Application } from "~/classes/database/application.ts";
import type { PluginType } from "../../index.ts";
export const schemas = {

View file

@ -1,7 +1,7 @@
import { checkConfig } from "@/init";
import { configureLoggers } from "@/loggers";
import { getLogger } from "@logtape/logtape";
import { Note } from "~/classes/database/note.ts";
import { Note } from "@versia/kit/db";
import { setupDatabase } from "~/drizzle/db";
import { config } from "~/packages/config-manager/index.ts";
import { searchManager } from "./classes/search/search-manager.ts";

View file

@ -1,9 +1,6 @@
import { describe, expect, it } from "bun:test";
import { checkIfOauthIsValid } from "@/oauth";
import {
Application,
type ApplicationType,
} from "~/classes/database/application";
import { Application, type ApplicationType } from "@versia/kit/db";
describe("checkIfOauthIsValid", () => {
it("should return true when routeScopes and application.scopes are empty", () => {

View file

@ -1,10 +1,9 @@
import { generateChallenge } from "@/challenges";
import { randomString } from "@/math";
import { Note, User } from "@versia/kit/db";
import { solveChallenge } from "altcha-lib";
import { asc, inArray, like } from "drizzle-orm";
import { appFactory } from "~/app";
import { Note } from "~/classes/database/note";
import { User } from "~/classes/database/user";
import type { Status } from "~/classes/functions/status";
import { searchManager } from "~/classes/search/search-manager";
import { db } from "~/drizzle/db";

View file

@ -11,10 +11,9 @@ import type {
Unfollow,
User,
} from "@versia/federation/types";
import type { Application, User as DatabaseUser } from "@versia/kit/db";
import type { SocketAddress } from "bun";
import { z } from "zod";
import type { Application } from "~/classes/database/application";
import type { User as DatabaseUser } from "~/classes/database/user";
import type { RolePermissions } from "~/drizzle/schema";
import type { Config } from "~/packages/config-manager";

View file

@ -2,6 +2,7 @@ import type { Context } from "@hono/hono";
import { createMiddleware } from "@hono/hono/factory";
import type { OpenAPIHono } from "@hono/zod-openapi";
import { getLogger } from "@logtape/logtape";
import { Application, type User } from "@versia/kit/db";
import { extractParams, verifySolution } from "altcha-lib";
import chalk from "chalk";
import { eq } from "drizzle-orm";
@ -22,8 +23,6 @@ import {
import { parse } from "qs";
import type { z } from "zod";
import { fromZodError } from "zod-validation-error";
import { Application } from "~/classes/database/application";
import type { User } from "~/classes/database/user";
import { type AuthData, getFromHeader } from "~/classes/functions/user";
import { db } from "~/drizzle/db";
import { Challenges } from "~/drizzle/schema";

View file

@ -1,6 +1,6 @@
import { getLogger } from "@logtape/logtape";
import { User } from "@versia/kit/db";
import chalk from "chalk";
import { User } from "~/classes/database/user";
import type { Config } from "~/packages/config-manager";
export const checkConfig = async (config: Config) => {

View file

@ -1,4 +1,4 @@
import type { Application } from "~/classes/database/application";
import type { Application } from "@versia/kit/db";
/**
* Check if an OAuth application is valid for a route

51
worker.ts Normal file
View file

@ -0,0 +1,51 @@
import type { Entity } from "@versia/federation/types";
import { Note } from "@versia/kit/db";
import { Queue, Worker } from "bullmq";
import IORedis from "ioredis";
import { config } from "./packages/config-manager/index.ts";
const connection = new IORedis({
host: config.redis.queue.host,
port: config.redis.queue.port,
password: config.redis.queue.password,
db: config.redis.queue.database,
});
enum DeliveryJobType {
FederateNote = "federateNote",
}
enum InboxJobType {
ProcessEntity = "processEntity",
}
const deliveryQueue = new Queue<{ noteId: string }, void, DeliveryJobType>(
"delivery",
{
connection,
},
);
const inboxQueue = new Queue<{ data: Entity }, void, InboxJobType>("inbox", {
connection,
});
const worker = new Worker<{ noteId: string }, void, DeliveryJobType>(
deliveryQueue.name,
async (job) => {
switch (job.name) {
case DeliveryJobType.FederateNote: {
const noteId = job.data.noteId;
const note = await Note.fromId(noteId);
if (!note) {
throw new Error(`Note with ID ${noteId} not found`);
}
await note.federateToUsers();
}
}
},
{ connection },
);