mirror of
https://github.com/versia-pub/server.git
synced 2026-03-13 05:49:16 +01:00
refactor(api): 🔥 Remove old @versia/client version
This commit is contained in:
parent
54e282b03c
commit
8d1af1b0cd
121 changed files with 649 additions and 756 deletions
|
|
@ -9,9 +9,9 @@ import { createRoute, z } from "@hono/zod-openapi";
|
|||
import {
|
||||
Account as AccountSchema,
|
||||
Relationship as RelationshipSchema,
|
||||
} from "@versia/client-ng/schemas";
|
||||
} from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Relationship } from "@versia/kit/db";
|
||||
import { RolePermissions } from "@versia/kit/tables";
|
||||
|
||||
const route = createRoute({
|
||||
method: "post",
|
||||
|
|
@ -28,8 +28,8 @@ const route = createRoute({
|
|||
auth: true,
|
||||
scopes: ["write:blocks"],
|
||||
permissions: [
|
||||
RolePermissions.ManageOwnBlocks,
|
||||
RolePermissions.ViewAccounts,
|
||||
RolePermission.ManageOwnBlocks,
|
||||
RolePermission.ViewAccounts,
|
||||
],
|
||||
}),
|
||||
withUserParam,
|
||||
|
|
|
|||
|
|
@ -10,9 +10,9 @@ import {
|
|||
Account as AccountSchema,
|
||||
Relationship as RelationshipSchema,
|
||||
iso631,
|
||||
} from "@versia/client-ng/schemas";
|
||||
} from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Relationship } from "@versia/kit/db";
|
||||
import { RolePermissions } from "@versia/kit/tables";
|
||||
import { ErrorSchema } from "~/types/api";
|
||||
|
||||
const route = createRoute({
|
||||
|
|
@ -30,8 +30,8 @@ const route = createRoute({
|
|||
auth: true,
|
||||
scopes: ["write:follows"],
|
||||
permissions: [
|
||||
RolePermissions.ManageOwnFollows,
|
||||
RolePermissions.ViewAccounts,
|
||||
RolePermission.ManageOwnFollows,
|
||||
RolePermission.ViewAccounts,
|
||||
],
|
||||
}),
|
||||
withUserParam,
|
||||
|
|
|
|||
|
|
@ -6,9 +6,10 @@ import {
|
|||
withUserParam,
|
||||
} from "@/api";
|
||||
import { createRoute, z } from "@hono/zod-openapi";
|
||||
import { Account as AccountSchema } from "@versia/client-ng/schemas";
|
||||
import { Account as AccountSchema } from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Timeline } from "@versia/kit/db";
|
||||
import { RolePermissions, Users } from "@versia/kit/tables";
|
||||
import { Users } from "@versia/kit/tables";
|
||||
import { and, gt, gte, lt, sql } from "drizzle-orm";
|
||||
|
||||
const route = createRoute({
|
||||
|
|
@ -26,8 +27,8 @@ const route = createRoute({
|
|||
auth: false,
|
||||
scopes: ["read:accounts"],
|
||||
permissions: [
|
||||
RolePermissions.ViewAccountFollows,
|
||||
RolePermissions.ViewAccounts,
|
||||
RolePermission.ViewAccountFollows,
|
||||
RolePermission.ViewAccounts,
|
||||
],
|
||||
}),
|
||||
withUserParam,
|
||||
|
|
|
|||
|
|
@ -6,11 +6,11 @@ import {
|
|||
withUserParam,
|
||||
} from "@/api";
|
||||
import { createRoute, z } from "@hono/zod-openapi";
|
||||
import { Account as AccountSchema } from "@versia/client-ng/schemas";
|
||||
import { Account as AccountSchema } from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Timeline } from "@versia/kit/db";
|
||||
import { RolePermissions, Users } from "@versia/kit/tables";
|
||||
import { Users } from "@versia/kit/tables";
|
||||
import { and, gt, gte, lt, sql } from "drizzle-orm";
|
||||
|
||||
const route = createRoute({
|
||||
method: "get",
|
||||
path: "/api/v1/accounts/{id}/following",
|
||||
|
|
@ -26,8 +26,8 @@ const route = createRoute({
|
|||
auth: false,
|
||||
scopes: ["read:accounts"],
|
||||
permissions: [
|
||||
RolePermissions.ViewAccountFollows,
|
||||
RolePermissions.ViewAccounts,
|
||||
RolePermission.ViewAccountFollows,
|
||||
RolePermission.ViewAccounts,
|
||||
],
|
||||
}),
|
||||
withUserParam,
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
import { afterAll, beforeAll, describe, expect, test } from "bun:test";
|
||||
import type { Account as ApiAccount } from "@versia/client/types";
|
||||
import { generateClient, getTestStatuses, getTestUsers } from "~/tests/utils";
|
||||
|
||||
const { users, deleteUsers } = await getTestUsers(5);
|
||||
|
|
@ -68,6 +67,6 @@ describe("/api/v1/accounts/:id", () => {
|
|||
visible: false,
|
||||
}),
|
||||
]),
|
||||
} satisfies ApiAccount);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
|||
|
|
@ -6,8 +6,8 @@ import {
|
|||
withUserParam,
|
||||
} from "@/api";
|
||||
import { createRoute, z } from "@hono/zod-openapi";
|
||||
import { Account as AccountSchema } from "@versia/client-ng/schemas";
|
||||
import { RolePermissions } from "@versia/kit/tables";
|
||||
import { Account as AccountSchema } from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
|
||||
const route = createRoute({
|
||||
method: "get",
|
||||
|
|
@ -21,7 +21,7 @@ const route = createRoute({
|
|||
middleware: [
|
||||
auth({
|
||||
auth: false,
|
||||
permissions: [RolePermissions.ViewAccounts],
|
||||
permissions: [RolePermission.ViewAccounts],
|
||||
}),
|
||||
withUserParam,
|
||||
] as const,
|
||||
|
|
|
|||
|
|
@ -9,9 +9,9 @@ import { createRoute, z } from "@hono/zod-openapi";
|
|||
import {
|
||||
Account as AccountSchema,
|
||||
Relationship as RelationshipSchema,
|
||||
} from "@versia/client-ng/schemas";
|
||||
} from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Relationship } from "@versia/kit/db";
|
||||
import { RolePermissions } from "@versia/kit/tables";
|
||||
|
||||
const route = createRoute({
|
||||
method: "post",
|
||||
|
|
@ -28,8 +28,8 @@ const route = createRoute({
|
|||
auth: true,
|
||||
scopes: ["write:mutes"],
|
||||
permissions: [
|
||||
RolePermissions.ManageOwnMutes,
|
||||
RolePermissions.ViewAccounts,
|
||||
RolePermission.ManageOwnMutes,
|
||||
RolePermission.ViewAccounts,
|
||||
],
|
||||
}),
|
||||
withUserParam,
|
||||
|
|
|
|||
|
|
@ -9,9 +9,9 @@ import { createRoute, z } from "@hono/zod-openapi";
|
|||
import {
|
||||
Account as AccountSchema,
|
||||
Relationship as RelationshipSchema,
|
||||
} from "@versia/client-ng/schemas";
|
||||
} from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Relationship } from "@versia/kit/db";
|
||||
import { RolePermissions } from "@versia/kit/tables";
|
||||
|
||||
const route = createRoute({
|
||||
method: "post",
|
||||
|
|
@ -27,8 +27,8 @@ const route = createRoute({
|
|||
auth: true,
|
||||
scopes: ["write:accounts"],
|
||||
permissions: [
|
||||
RolePermissions.ManageOwnAccount,
|
||||
RolePermissions.ViewAccounts,
|
||||
RolePermission.ManageOwnAccount,
|
||||
RolePermission.ViewAccounts,
|
||||
],
|
||||
}),
|
||||
withUserParam,
|
||||
|
|
|
|||
|
|
@ -3,9 +3,9 @@ import { createRoute, z } from "@hono/zod-openapi";
|
|||
import {
|
||||
Account as AccountSchema,
|
||||
Relationship as RelationshipSchema,
|
||||
} from "@versia/client-ng/schemas";
|
||||
} from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Relationship } from "@versia/kit/db";
|
||||
import { RolePermissions } from "@versia/kit/tables";
|
||||
|
||||
const route = createRoute({
|
||||
method: "post",
|
||||
|
|
@ -22,8 +22,8 @@ const route = createRoute({
|
|||
auth: true,
|
||||
scopes: ["write:accounts"],
|
||||
permissions: [
|
||||
RolePermissions.ManageOwnAccount,
|
||||
RolePermissions.ViewAccounts,
|
||||
RolePermission.ManageOwnAccount,
|
||||
RolePermission.ViewAccounts,
|
||||
],
|
||||
}),
|
||||
withUserParam,
|
||||
|
|
|
|||
|
|
@ -6,8 +6,8 @@ import {
|
|||
withUserParam,
|
||||
} from "@/api";
|
||||
import { createRoute, z } from "@hono/zod-openapi";
|
||||
import { Account as AccountSchema } from "@versia/client-ng/schemas";
|
||||
import { RolePermissions } from "@versia/kit/tables";
|
||||
import { Account as AccountSchema } from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { ApiError } from "~/classes/errors/api-error";
|
||||
import { ErrorSchema } from "~/types/api";
|
||||
|
||||
|
|
@ -21,7 +21,7 @@ const route = createRoute({
|
|||
auth({
|
||||
auth: true,
|
||||
scopes: ["write:accounts"],
|
||||
permissions: [RolePermissions.ViewAccounts],
|
||||
permissions: [RolePermission.ViewAccounts],
|
||||
}),
|
||||
withUserParam,
|
||||
] as const,
|
||||
|
|
|
|||
|
|
@ -9,9 +9,9 @@ import { createRoute, z } from "@hono/zod-openapi";
|
|||
import {
|
||||
Account as AccountSchema,
|
||||
Relationship as RelationshipSchema,
|
||||
} from "@versia/client-ng/schemas";
|
||||
} from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Relationship } from "@versia/kit/db";
|
||||
import { RolePermissions } from "@versia/kit/tables";
|
||||
|
||||
const route = createRoute({
|
||||
method: "post",
|
||||
|
|
@ -27,8 +27,8 @@ const route = createRoute({
|
|||
auth: true,
|
||||
scopes: ["write:follows"],
|
||||
permissions: [
|
||||
RolePermissions.ManageOwnFollows,
|
||||
RolePermissions.ViewAccounts,
|
||||
RolePermission.ManageOwnFollows,
|
||||
RolePermission.ViewAccounts,
|
||||
],
|
||||
}),
|
||||
withUserParam,
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { afterAll, beforeAll, describe, expect, test } from "bun:test";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Role } from "@versia/kit/db";
|
||||
import { RolePermissions } from "@versia/kit/tables";
|
||||
import { generateClient, getTestUsers } from "~/tests/utils";
|
||||
|
||||
const { users, deleteUsers } = await getTestUsers(2);
|
||||
|
|
@ -11,7 +11,7 @@ beforeAll(async () => {
|
|||
// Create new role
|
||||
role = await Role.insert({
|
||||
name: "test",
|
||||
permissions: [RolePermissions.ManageRoles],
|
||||
permissions: [RolePermission.ManageRoles],
|
||||
priority: 2,
|
||||
description: "test",
|
||||
visible: true,
|
||||
|
|
@ -25,7 +25,7 @@ beforeAll(async () => {
|
|||
// Create a role with higher priority than the user's role
|
||||
higherPriorityRole = await Role.insert({
|
||||
name: "higherPriorityRole",
|
||||
permissions: [RolePermissions.ManageRoles],
|
||||
permissions: [RolePermission.ManageRoles],
|
||||
priority: 3, // Higher priority than the user's role
|
||||
description: "Higher priority role",
|
||||
visible: true,
|
||||
|
|
|
|||
|
|
@ -3,9 +3,9 @@ import { createRoute, z } from "@hono/zod-openapi";
|
|||
import {
|
||||
Account as AccountSchema,
|
||||
Role as RoleSchema,
|
||||
} from "@versia/client-ng/schemas";
|
||||
} from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Role } from "@versia/kit/db";
|
||||
import { RolePermissions } from "@versia/kit/tables";
|
||||
import { ApiError } from "~/classes/errors/api-error";
|
||||
import { ErrorSchema } from "~/types/api";
|
||||
|
||||
|
|
@ -17,7 +17,7 @@ const routePost = createRoute({
|
|||
middleware: [
|
||||
auth({
|
||||
auth: true,
|
||||
permissions: [RolePermissions.ManageRoles],
|
||||
permissions: [RolePermission.ManageRoles],
|
||||
}),
|
||||
withUserParam,
|
||||
] as const,
|
||||
|
|
@ -57,7 +57,7 @@ const routeDelete = createRoute({
|
|||
middleware: [
|
||||
auth({
|
||||
auth: true,
|
||||
permissions: [RolePermissions.ManageRoles],
|
||||
permissions: [RolePermission.ManageRoles],
|
||||
}),
|
||||
withUserParam,
|
||||
] as const,
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { afterAll, beforeAll, describe, expect, test } from "bun:test";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Role } from "@versia/kit/db";
|
||||
import { RolePermissions } from "@versia/kit/tables";
|
||||
import { generateClient, getTestUsers } from "~/tests/utils";
|
||||
|
||||
const { users, deleteUsers } = await getTestUsers(2);
|
||||
|
|
@ -10,7 +10,7 @@ beforeAll(async () => {
|
|||
// Create new role
|
||||
role = await Role.insert({
|
||||
name: "test",
|
||||
permissions: [RolePermissions.ManageRoles],
|
||||
permissions: [RolePermission.ManageRoles],
|
||||
priority: 2,
|
||||
description: "test",
|
||||
visible: true,
|
||||
|
|
@ -52,7 +52,7 @@ describe("/api/v1/accounts/:id/roles", () => {
|
|||
expect(data).toContainEqual({
|
||||
id: role.id,
|
||||
name: "test",
|
||||
permissions: [RolePermissions.ManageRoles],
|
||||
permissions: [RolePermission.ManageRoles],
|
||||
priority: 2,
|
||||
description: "test",
|
||||
visible: true,
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ import { createRoute, z } from "@hono/zod-openapi";
|
|||
import {
|
||||
Account as AccountSchema,
|
||||
Role as RoleSchema,
|
||||
} from "@versia/client-ng/schemas";
|
||||
} from "@versia/client/schemas";
|
||||
import { Role } from "@versia/kit/db";
|
||||
|
||||
const route = createRoute({
|
||||
|
|
|
|||
|
|
@ -10,9 +10,10 @@ import {
|
|||
Account as AccountSchema,
|
||||
Status as StatusSchema,
|
||||
zBoolean,
|
||||
} from "@versia/client-ng/schemas";
|
||||
} from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Timeline } from "@versia/kit/db";
|
||||
import { Notes, RolePermissions } from "@versia/kit/tables";
|
||||
import { Notes } from "@versia/kit/tables";
|
||||
import { and, eq, gt, gte, inArray, isNull, lt, or, sql } from "drizzle-orm";
|
||||
|
||||
const route = createRoute({
|
||||
|
|
@ -28,8 +29,8 @@ const route = createRoute({
|
|||
auth({
|
||||
auth: false,
|
||||
permissions: [
|
||||
RolePermissions.ViewNotes,
|
||||
RolePermissions.ViewAccounts,
|
||||
RolePermission.ViewNotes,
|
||||
RolePermission.ViewAccounts,
|
||||
],
|
||||
scopes: ["read:statuses"],
|
||||
}),
|
||||
|
|
|
|||
|
|
@ -9,9 +9,9 @@ import { createRoute, z } from "@hono/zod-openapi";
|
|||
import {
|
||||
Account as AccountSchema,
|
||||
Relationship as RelationshipSchema,
|
||||
} from "@versia/client-ng/schemas";
|
||||
} from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Relationship } from "@versia/kit/db";
|
||||
import { RolePermissions } from "@versia/kit/tables";
|
||||
|
||||
const route = createRoute({
|
||||
method: "post",
|
||||
|
|
@ -27,8 +27,8 @@ const route = createRoute({
|
|||
auth: true,
|
||||
scopes: ["write:blocks"],
|
||||
permissions: [
|
||||
RolePermissions.ManageOwnBlocks,
|
||||
RolePermissions.ViewAccounts,
|
||||
RolePermission.ManageOwnBlocks,
|
||||
RolePermission.ViewAccounts,
|
||||
],
|
||||
}),
|
||||
withUserParam,
|
||||
|
|
|
|||
|
|
@ -9,9 +9,9 @@ import { createRoute, z } from "@hono/zod-openapi";
|
|||
import {
|
||||
Account as AccountSchema,
|
||||
Relationship as RelationshipSchema,
|
||||
} from "@versia/client-ng/schemas";
|
||||
} from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Relationship } from "@versia/kit/db";
|
||||
import { RolePermissions } from "@versia/kit/tables";
|
||||
|
||||
const route = createRoute({
|
||||
method: "post",
|
||||
|
|
@ -27,8 +27,8 @@ const route = createRoute({
|
|||
auth: true,
|
||||
scopes: ["write:follows"],
|
||||
permissions: [
|
||||
RolePermissions.ManageOwnFollows,
|
||||
RolePermissions.ViewAccounts,
|
||||
RolePermission.ManageOwnFollows,
|
||||
RolePermission.ViewAccounts,
|
||||
],
|
||||
}),
|
||||
withUserParam,
|
||||
|
|
|
|||
|
|
@ -9,9 +9,9 @@ import { createRoute, z } from "@hono/zod-openapi";
|
|||
import {
|
||||
Account as AccountSchema,
|
||||
Relationship as RelationshipSchema,
|
||||
} from "@versia/client-ng/schemas";
|
||||
} from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Relationship } from "@versia/kit/db";
|
||||
import { RolePermissions } from "@versia/kit/tables";
|
||||
|
||||
const route = createRoute({
|
||||
method: "post",
|
||||
|
|
@ -27,8 +27,8 @@ const route = createRoute({
|
|||
auth: true,
|
||||
scopes: ["write:mutes"],
|
||||
permissions: [
|
||||
RolePermissions.ManageOwnMutes,
|
||||
RolePermissions.ViewAccounts,
|
||||
RolePermission.ManageOwnMutes,
|
||||
RolePermission.ViewAccounts,
|
||||
],
|
||||
}),
|
||||
withUserParam,
|
||||
|
|
|
|||
|
|
@ -9,9 +9,9 @@ import { createRoute, z } from "@hono/zod-openapi";
|
|||
import {
|
||||
Account as AccountSchema,
|
||||
Relationship as RelationshipSchema,
|
||||
} from "@versia/client-ng/schemas";
|
||||
} from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Relationship } from "@versia/kit/db";
|
||||
import { RolePermissions } from "@versia/kit/tables";
|
||||
|
||||
const route = createRoute({
|
||||
method: "post",
|
||||
|
|
@ -27,8 +27,8 @@ const route = createRoute({
|
|||
auth: true,
|
||||
scopes: ["write:accounts"],
|
||||
permissions: [
|
||||
RolePermissions.ManageOwnAccount,
|
||||
RolePermissions.ViewAccounts,
|
||||
RolePermission.ManageOwnAccount,
|
||||
RolePermission.ViewAccounts,
|
||||
],
|
||||
}),
|
||||
withUserParam,
|
||||
|
|
|
|||
|
|
@ -3,9 +3,10 @@ import { createRoute, z } from "@hono/zod-openapi";
|
|||
import {
|
||||
Account as AccountSchema,
|
||||
FamiliarFollowers as FamiliarFollowersSchema,
|
||||
} from "@versia/client-ng/schemas";
|
||||
} from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { User, db } from "@versia/kit/db";
|
||||
import { RolePermissions, type Users } from "@versia/kit/tables";
|
||||
import type { Users } from "@versia/kit/tables";
|
||||
import { type InferSelectModel, sql } from "drizzle-orm";
|
||||
|
||||
const route = createRoute({
|
||||
|
|
@ -22,7 +23,7 @@ const route = createRoute({
|
|||
auth({
|
||||
auth: true,
|
||||
scopes: ["read:follows"],
|
||||
permissions: [RolePermissions.ManageOwnFollows],
|
||||
permissions: [RolePermission.ManageOwnFollows],
|
||||
}),
|
||||
qsQuery(),
|
||||
] as const,
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { apiRoute, auth, jsonOrForm, reusedResponses } from "@/api";
|
||||
import { tempmailDomains } from "@/tempmail";
|
||||
import { createRoute, z } from "@hono/zod-openapi";
|
||||
import { zBoolean } from "@versia/client-ng/schemas";
|
||||
import { zBoolean } from "@versia/client/schemas";
|
||||
import { User } from "@versia/kit/db";
|
||||
import { Users } from "@versia/kit/tables";
|
||||
import { and, eq, isNull } from "drizzle-orm";
|
||||
|
|
|
|||
|
|
@ -6,9 +6,10 @@ import {
|
|||
reusedResponses,
|
||||
} from "@/api";
|
||||
import { createRoute, z } from "@hono/zod-openapi";
|
||||
import { Account as AccountSchema } from "@versia/client-ng/schemas";
|
||||
import { Account as AccountSchema } from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Instance, User } from "@versia/kit/db";
|
||||
import { RolePermissions, Users } from "@versia/kit/tables";
|
||||
import { Users } from "@versia/kit/tables";
|
||||
import { and, eq, isNull } from "drizzle-orm";
|
||||
import { ApiError } from "~/classes/errors/api-error";
|
||||
import { config } from "~/config.ts";
|
||||
|
|
@ -22,7 +23,7 @@ const route = createRoute({
|
|||
middleware: [
|
||||
auth({
|
||||
auth: false,
|
||||
permissions: [RolePermissions.Search],
|
||||
permissions: [RolePermission.Search],
|
||||
}),
|
||||
] as const,
|
||||
request: {
|
||||
|
|
|
|||
|
|
@ -4,9 +4,9 @@ import {
|
|||
Account as AccountSchema,
|
||||
Relationship as RelationshipSchema,
|
||||
zBoolean,
|
||||
} from "@versia/client-ng/schemas";
|
||||
} from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Relationship } from "@versia/kit/db";
|
||||
import { RolePermissions } from "@versia/kit/tables";
|
||||
|
||||
const route = createRoute({
|
||||
method: "get",
|
||||
|
|
@ -22,7 +22,7 @@ const route = createRoute({
|
|||
auth({
|
||||
auth: true,
|
||||
scopes: ["read:follows"],
|
||||
permissions: [RolePermissions.ManageOwnFollows],
|
||||
permissions: [RolePermission.ManageOwnFollows],
|
||||
}),
|
||||
qsQuery(),
|
||||
] as const,
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
import { apiRoute, auth, parseUserAddress } from "@/api";
|
||||
import { createRoute, z } from "@hono/zod-openapi";
|
||||
import { Account as AccountSchema, zBoolean } from "@versia/client-ng/schemas";
|
||||
import { Account as AccountSchema, zBoolean } from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { User } from "@versia/kit/db";
|
||||
import { RolePermissions, Users } from "@versia/kit/tables";
|
||||
import { Users } from "@versia/kit/tables";
|
||||
import { eq, ilike, not, or, sql } from "drizzle-orm";
|
||||
import stringComparison from "string-comparison";
|
||||
import { ApiError } from "~/classes/errors/api-error";
|
||||
|
|
@ -19,7 +20,7 @@ export const route = createRoute({
|
|||
middleware: [
|
||||
auth({
|
||||
auth: false,
|
||||
permissions: [RolePermissions.Search, RolePermissions.ViewAccounts],
|
||||
permissions: [RolePermission.Search, RolePermission.ViewAccounts],
|
||||
scopes: ["read:accounts"],
|
||||
}),
|
||||
] as const,
|
||||
|
|
|
|||
|
|
@ -2,9 +2,10 @@ import { apiRoute, auth, jsonOrForm, reusedResponses } from "@/api";
|
|||
import { mergeAndDeduplicate } from "@/lib";
|
||||
import { sanitizedHtmlStrip } from "@/sanitization";
|
||||
import { createRoute, z } from "@hono/zod-openapi";
|
||||
import { Account as AccountSchema, zBoolean } from "@versia/client-ng/schemas";
|
||||
import { Account as AccountSchema, zBoolean } from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Emoji, User } from "@versia/kit/db";
|
||||
import { RolePermissions, Users } from "@versia/kit/tables";
|
||||
import { Users } from "@versia/kit/tables";
|
||||
import { and, eq, isNull } from "drizzle-orm";
|
||||
import { ApiError } from "~/classes/errors/api-error";
|
||||
import { contentToHtml } from "~/classes/functions/status";
|
||||
|
|
@ -22,7 +23,7 @@ const route = createRoute({
|
|||
middleware: [
|
||||
auth({
|
||||
auth: true,
|
||||
permissions: [RolePermissions.ManageOwnAccount],
|
||||
permissions: [RolePermission.ManageOwnAccount],
|
||||
scopes: ["write:accounts"],
|
||||
}),
|
||||
jsonOrForm(),
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { apiRoute, auth, reusedResponses } from "@/api";
|
||||
import { createRoute } from "@hono/zod-openapi";
|
||||
import { Account } from "@versia/client-ng/schemas";
|
||||
import { Account } from "@versia/client/schemas";
|
||||
|
||||
const route = createRoute({
|
||||
method: "get",
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import { createRoute, z } from "@hono/zod-openapi";
|
|||
import {
|
||||
Application as ApplicationSchema,
|
||||
CredentialApplication as CredentialApplicationSchema,
|
||||
} from "@versia/client-ng/schemas";
|
||||
} from "@versia/client/schemas";
|
||||
import { Application } from "@versia/kit/db";
|
||||
|
||||
const route = createRoute({
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
import { apiRoute, auth, reusedResponses } from "@/api";
|
||||
import { createRoute } from "@hono/zod-openapi";
|
||||
import { Application as ApplicationSchema } from "@versia/client-ng/schemas";
|
||||
import { Application as ApplicationSchema } from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Application } from "@versia/kit/db";
|
||||
import { RolePermissions } from "@versia/kit/tables";
|
||||
import { ApiError } from "~/classes/errors/api-error";
|
||||
|
||||
const route = createRoute({
|
||||
|
|
@ -17,7 +17,7 @@ const route = createRoute({
|
|||
middleware: [
|
||||
auth({
|
||||
auth: true,
|
||||
permissions: [RolePermissions.ManageOwnApps],
|
||||
permissions: [RolePermission.ManageOwnApps],
|
||||
}),
|
||||
] as const,
|
||||
responses: {
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
import { apiRoute, auth, reusedResponses } from "@/api";
|
||||
import { createRoute, z } from "@hono/zod-openapi";
|
||||
import { Account as AccountSchema } from "@versia/client-ng/schemas";
|
||||
import { Account as AccountSchema } from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Timeline } from "@versia/kit/db";
|
||||
import { RolePermissions, Users } from "@versia/kit/tables";
|
||||
import { Users } from "@versia/kit/tables";
|
||||
import { and, gt, gte, lt, sql } from "drizzle-orm";
|
||||
|
||||
const route = createRoute({
|
||||
method: "get",
|
||||
path: "/api/v1/blocks",
|
||||
|
|
@ -18,7 +18,7 @@ const route = createRoute({
|
|||
auth({
|
||||
auth: true,
|
||||
scopes: ["read:blocks"],
|
||||
permissions: [RolePermissions.ManageOwnBlocks],
|
||||
permissions: [RolePermission.ManageOwnBlocks],
|
||||
}),
|
||||
] as const,
|
||||
request: {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { apiRoute, auth } from "@/api";
|
||||
import { generateChallenge } from "@/challenges";
|
||||
import { createRoute } from "@hono/zod-openapi";
|
||||
import { Challenge } from "@versia/client-ng/schemas";
|
||||
import { Challenge } from "@versia/client/schemas";
|
||||
import { ApiError } from "~/classes/errors/api-error";
|
||||
import { config } from "~/config.ts";
|
||||
import { ErrorSchema } from "~/types/api";
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
import { apiRoute, auth, reusedResponses } from "@/api";
|
||||
import { createRoute, z } from "@hono/zod-openapi";
|
||||
import { CustomEmoji as CustomEmojiSchema } from "@versia/client-ng/schemas";
|
||||
import { CustomEmoji as CustomEmojiSchema } from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Emoji } from "@versia/kit/db";
|
||||
import { Emojis, RolePermissions } from "@versia/kit/tables";
|
||||
import { Emojis } from "@versia/kit/tables";
|
||||
import { and, eq, isNull, or } from "drizzle-orm";
|
||||
|
||||
const route = createRoute({
|
||||
|
|
@ -17,7 +18,7 @@ const route = createRoute({
|
|||
middleware: [
|
||||
auth({
|
||||
auth: false,
|
||||
permissions: [RolePermissions.ViewEmojis],
|
||||
permissions: [RolePermission.ViewEmojis],
|
||||
}),
|
||||
] as const,
|
||||
responses: {
|
||||
|
|
|
|||
|
|
@ -7,8 +7,8 @@ import {
|
|||
} from "@/api";
|
||||
import { mimeLookup } from "@/content_types";
|
||||
import { createRoute, z } from "@hono/zod-openapi";
|
||||
import { CustomEmoji as CustomEmojiSchema } from "@versia/client-ng/schemas";
|
||||
import { RolePermissions } from "@versia/kit/tables";
|
||||
import { CustomEmoji as CustomEmojiSchema } from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { ApiError } from "~/classes/errors/api-error";
|
||||
import { config } from "~/config.ts";
|
||||
import { ErrorSchema } from "~/types/api";
|
||||
|
|
@ -50,7 +50,7 @@ const routeGet = createRoute({
|
|||
middleware: [
|
||||
auth({
|
||||
auth: true,
|
||||
permissions: [RolePermissions.ViewEmojis],
|
||||
permissions: [RolePermission.ViewEmojis],
|
||||
}),
|
||||
withEmojiParam,
|
||||
] as const,
|
||||
|
|
@ -90,8 +90,8 @@ const routePatch = createRoute({
|
|||
auth({
|
||||
auth: true,
|
||||
permissions: [
|
||||
RolePermissions.ManageOwnEmojis,
|
||||
RolePermissions.ViewEmojis,
|
||||
RolePermission.ManageOwnEmojis,
|
||||
RolePermission.ViewEmojis,
|
||||
],
|
||||
}),
|
||||
jsonOrForm(),
|
||||
|
|
@ -154,8 +154,8 @@ const routeDelete = createRoute({
|
|||
auth({
|
||||
auth: true,
|
||||
permissions: [
|
||||
RolePermissions.ManageOwnEmojis,
|
||||
RolePermissions.ViewEmojis,
|
||||
RolePermission.ManageOwnEmojis,
|
||||
RolePermission.ViewEmojis,
|
||||
],
|
||||
}),
|
||||
withEmojiParam,
|
||||
|
|
@ -187,7 +187,7 @@ export default apiRoute((app) => {
|
|||
|
||||
// Don't leak non-global emojis to non-admins
|
||||
if (
|
||||
!user.hasPermission(RolePermissions.ManageEmojis) &&
|
||||
!user.hasPermission(RolePermission.ManageEmojis) &&
|
||||
emoji.data.ownerId !== user.data.id
|
||||
) {
|
||||
throw new ApiError(404, "Emoji not found");
|
||||
|
|
@ -202,13 +202,13 @@ export default apiRoute((app) => {
|
|||
|
||||
// Check if user is admin
|
||||
if (
|
||||
!user.hasPermission(RolePermissions.ManageEmojis) &&
|
||||
!user.hasPermission(RolePermission.ManageEmojis) &&
|
||||
emoji.data.ownerId !== user.data.id
|
||||
) {
|
||||
throw new ApiError(
|
||||
403,
|
||||
"Cannot modify emoji not owned by you",
|
||||
`This emoji is either global (and you do not have the '${RolePermissions.ManageEmojis}' permission) or not owned by you`,
|
||||
`This emoji is either global (and you do not have the '${RolePermission.ManageEmojis}' permission) or not owned by you`,
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -220,11 +220,11 @@ export default apiRoute((app) => {
|
|||
shortcode,
|
||||
} = context.req.valid("json");
|
||||
|
||||
if (!user.hasPermission(RolePermissions.ManageEmojis) && emojiGlobal) {
|
||||
if (!user.hasPermission(RolePermission.ManageEmojis) && emojiGlobal) {
|
||||
throw new ApiError(
|
||||
401,
|
||||
"Missing permissions",
|
||||
`'${RolePermissions.ManageEmojis}' permission is needed to upload global emojis`,
|
||||
`'${RolePermission.ManageEmojis}' permission is needed to upload global emojis`,
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -271,13 +271,13 @@ export default apiRoute((app) => {
|
|||
|
||||
// Check if user is admin
|
||||
if (
|
||||
!user.hasPermission(RolePermissions.ManageEmojis) &&
|
||||
!user.hasPermission(RolePermission.ManageEmojis) &&
|
||||
emoji.data.ownerId !== user.data.id
|
||||
) {
|
||||
throw new ApiError(
|
||||
403,
|
||||
"Cannot delete emoji not owned by you",
|
||||
`This emoji is either global (and you do not have the '${RolePermissions.ManageEmojis}' permission) or not owned by you`,
|
||||
`This emoji is either global (and you do not have the '${RolePermission.ManageEmojis}' permission) or not owned by you`,
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
import { apiRoute, auth, jsonOrForm, reusedResponses } from "@/api";
|
||||
import { mimeLookup } from "@/content_types";
|
||||
import { createRoute, z } from "@hono/zod-openapi";
|
||||
import { CustomEmoji as CustomEmojiSchema } from "@versia/client-ng/schemas";
|
||||
import { CustomEmoji as CustomEmojiSchema } from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Emoji, Media } from "@versia/kit/db";
|
||||
import { Emojis, RolePermissions } from "@versia/kit/tables";
|
||||
import { Emojis } from "@versia/kit/tables";
|
||||
import { and, eq, isNull, or } from "drizzle-orm";
|
||||
import { ApiError } from "~/classes/errors/api-error";
|
||||
import { config } from "~/config.ts";
|
||||
|
||||
const schema = z.object({
|
||||
shortcode: CustomEmojiSchema.shape.shortcode,
|
||||
element: z
|
||||
|
|
@ -43,8 +43,8 @@ const route = createRoute({
|
|||
auth({
|
||||
auth: true,
|
||||
permissions: [
|
||||
RolePermissions.ManageOwnEmojis,
|
||||
RolePermissions.ViewEmojis,
|
||||
RolePermission.ManageOwnEmojis,
|
||||
RolePermission.ViewEmojis,
|
||||
],
|
||||
}),
|
||||
jsonOrForm(),
|
||||
|
|
@ -83,11 +83,11 @@ export default apiRoute((app) =>
|
|||
context.req.valid("json");
|
||||
const { user } = context.get("auth");
|
||||
|
||||
if (!user.hasPermission(RolePermissions.ManageEmojis) && global) {
|
||||
if (!user.hasPermission(RolePermission.ManageEmojis) && global) {
|
||||
throw new ApiError(
|
||||
401,
|
||||
"Missing permissions",
|
||||
`Only users with the '${RolePermissions.ManageEmojis}' permission can upload global emojis`,
|
||||
`Only users with the '${RolePermission.ManageEmojis}' permission can upload global emojis`,
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
import { apiRoute, auth, reusedResponses } from "@/api";
|
||||
import { createRoute, z } from "@hono/zod-openapi";
|
||||
import { Status as StatusSchema } from "@versia/client-ng/schemas";
|
||||
import { Status as StatusSchema } from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Timeline } from "@versia/kit/db";
|
||||
import { Notes, RolePermissions } from "@versia/kit/tables";
|
||||
import { Notes } from "@versia/kit/tables";
|
||||
import { and, gt, gte, lt, sql } from "drizzle-orm";
|
||||
|
||||
const route = createRoute({
|
||||
|
|
@ -17,7 +18,7 @@ const route = createRoute({
|
|||
middleware: [
|
||||
auth({
|
||||
auth: true,
|
||||
permissions: [RolePermissions.ManageOwnLikes],
|
||||
permissions: [RolePermission.ManageOwnLikes],
|
||||
}),
|
||||
] as const,
|
||||
request: {
|
||||
|
|
|
|||
|
|
@ -3,9 +3,9 @@ import { createRoute, z } from "@hono/zod-openapi";
|
|||
import {
|
||||
Account as AccountSchema,
|
||||
Relationship as RelationshipSchema,
|
||||
} from "@versia/client-ng/schemas";
|
||||
} from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Relationship, User } from "@versia/kit/db";
|
||||
import { RolePermissions } from "@versia/kit/tables";
|
||||
import { ApiError } from "~/classes/errors/api-error";
|
||||
|
||||
const route = createRoute({
|
||||
|
|
@ -19,7 +19,7 @@ const route = createRoute({
|
|||
middleware: [
|
||||
auth({
|
||||
auth: true,
|
||||
permissions: [RolePermissions.ManageOwnFollows],
|
||||
permissions: [RolePermission.ManageOwnFollows],
|
||||
}),
|
||||
] as const,
|
||||
request: {
|
||||
|
|
|
|||
|
|
@ -3,9 +3,9 @@ import { createRoute, z } from "@hono/zod-openapi";
|
|||
import {
|
||||
Account as AccountSchema,
|
||||
Relationship as RelationshipSchema,
|
||||
} from "@versia/client-ng/schemas";
|
||||
} from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Relationship, User } from "@versia/kit/db";
|
||||
import { RolePermissions } from "@versia/kit/tables";
|
||||
import { ApiError } from "~/classes/errors/api-error";
|
||||
|
||||
const route = createRoute({
|
||||
|
|
@ -19,7 +19,7 @@ const route = createRoute({
|
|||
middleware: [
|
||||
auth({
|
||||
auth: true,
|
||||
permissions: [RolePermissions.ManageOwnFollows],
|
||||
permissions: [RolePermission.ManageOwnFollows],
|
||||
}),
|
||||
] as const,
|
||||
request: {
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
import { apiRoute, auth, reusedResponses } from "@/api";
|
||||
import { createRoute, z } from "@hono/zod-openapi";
|
||||
import { Account as AccountSchema } from "@versia/client-ng/schemas";
|
||||
import { Account as AccountSchema } from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Timeline } from "@versia/kit/db";
|
||||
import { RolePermissions, Users } from "@versia/kit/tables";
|
||||
import { Users } from "@versia/kit/tables";
|
||||
import { and, gt, gte, lt, sql } from "drizzle-orm";
|
||||
|
||||
const route = createRoute({
|
||||
|
|
@ -17,7 +18,7 @@ const route = createRoute({
|
|||
middleware: [
|
||||
auth({
|
||||
auth: true,
|
||||
permissions: [RolePermissions.ManageOwnFollows],
|
||||
permissions: [RolePermission.ManageOwnFollows],
|
||||
}),
|
||||
] as const,
|
||||
request: {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { apiRoute } from "@/api";
|
||||
import { createRoute } from "@hono/zod-openapi";
|
||||
import { ExtendedDescription as ExtendedDescriptionSchema } from "@versia/client-ng/schemas";
|
||||
import { ExtendedDescription as ExtendedDescriptionSchema } from "@versia/client/schemas";
|
||||
import { markdownParse } from "~/classes/functions/status";
|
||||
import { config } from "~/config.ts";
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { apiRoute, auth } from "@/api";
|
||||
import { proxyUrl } from "@/response";
|
||||
import { createRoute, type z } from "@hono/zod-openapi";
|
||||
import { InstanceV1 as InstanceV1Schema } from "@versia/client-ng/schemas";
|
||||
import { InstanceV1 as InstanceV1Schema } from "@versia/client/schemas";
|
||||
import { Instance, Note, User } from "@versia/kit/db";
|
||||
import { Users } from "@versia/kit/tables";
|
||||
import { and, eq, isNull } from "drizzle-orm";
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { apiRoute, auth } from "@/api";
|
||||
import { createRoute } from "@hono/zod-openapi";
|
||||
import { PrivacyPolicy as PrivacyPolicySchema } from "@versia/client-ng/schemas";
|
||||
import { PrivacyPolicy as PrivacyPolicySchema } from "@versia/client/schemas";
|
||||
import { markdownParse } from "~/classes/functions/status";
|
||||
import { config } from "~/config.ts";
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { apiRoute, auth } from "@/api";
|
||||
import { createRoute, z } from "@hono/zod-openapi";
|
||||
import { Rule as RuleSchema } from "@versia/client-ng/schemas";
|
||||
import { Rule as RuleSchema } from "@versia/client/schemas";
|
||||
import { config } from "~/config.ts";
|
||||
|
||||
const route = createRoute({
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { apiRoute, auth } from "@/api";
|
||||
import { createRoute } from "@hono/zod-openapi";
|
||||
import { TermsOfService as TermsOfServiceSchema } from "@versia/client-ng/schemas";
|
||||
import { TermsOfService as TermsOfServiceSchema } from "@versia/client/schemas";
|
||||
import { markdownParse } from "~/classes/functions/status";
|
||||
import { config } from "~/config.ts";
|
||||
|
||||
|
|
|
|||
|
|
@ -4,9 +4,10 @@ import {
|
|||
Marker as MarkerSchema,
|
||||
Notification as NotificationSchema,
|
||||
Status as StatusSchema,
|
||||
} from "@versia/client-ng/schemas";
|
||||
} from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { db } from "@versia/kit/db";
|
||||
import { Markers, RolePermissions } from "@versia/kit/tables";
|
||||
import { Markers } from "@versia/kit/tables";
|
||||
import { type SQL, and, eq } from "drizzle-orm";
|
||||
|
||||
const MarkerResponseSchema = z.object({
|
||||
|
|
@ -26,7 +27,7 @@ const routeGet = createRoute({
|
|||
middleware: [
|
||||
auth({
|
||||
auth: true,
|
||||
permissions: [RolePermissions.ManageOwnAccount],
|
||||
permissions: [RolePermission.ManageOwnAccount],
|
||||
}),
|
||||
] as const,
|
||||
request: {
|
||||
|
|
@ -67,7 +68,7 @@ const routePost = createRoute({
|
|||
middleware: [
|
||||
auth({
|
||||
auth: true,
|
||||
permissions: [RolePermissions.ManageOwnAccount],
|
||||
permissions: [RolePermission.ManageOwnAccount],
|
||||
}),
|
||||
] as const,
|
||||
request: {
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
import { apiRoute, auth, reusedResponses } from "@/api";
|
||||
import { createRoute, z } from "@hono/zod-openapi";
|
||||
import { Attachment as AttachmentSchema } from "@versia/client-ng/schemas";
|
||||
import { Attachment as AttachmentSchema } from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Media } from "@versia/kit/db";
|
||||
import { RolePermissions } from "@versia/kit/tables";
|
||||
import { ApiError } from "~/classes/errors/api-error";
|
||||
import { ErrorSchema } from "~/types/api";
|
||||
|
||||
|
|
@ -20,7 +20,7 @@ const routePut = createRoute({
|
|||
auth({
|
||||
auth: true,
|
||||
scopes: ["write:media"],
|
||||
permissions: [RolePermissions.ManageOwnMedia],
|
||||
permissions: [RolePermission.ManageOwnMedia],
|
||||
}),
|
||||
] as const,
|
||||
request: {
|
||||
|
|
@ -84,7 +84,7 @@ const routeGet = createRoute({
|
|||
middleware: [
|
||||
auth({
|
||||
auth: true,
|
||||
permissions: [RolePermissions.ManageOwnMedia],
|
||||
permissions: [RolePermission.ManageOwnMedia],
|
||||
}),
|
||||
] as const,
|
||||
request: {
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
import { apiRoute, auth, reusedResponses } from "@/api";
|
||||
import { createRoute, z } from "@hono/zod-openapi";
|
||||
import { Attachment as AttachmentSchema } from "@versia/client-ng/schemas";
|
||||
import { Attachment as AttachmentSchema } from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Media } from "@versia/kit/db";
|
||||
import { RolePermissions } from "@versia/kit/tables";
|
||||
import { ErrorSchema } from "~/types/api";
|
||||
|
||||
const route = createRoute({
|
||||
|
|
@ -20,7 +20,7 @@ const route = createRoute({
|
|||
auth({
|
||||
auth: true,
|
||||
scopes: ["write:media"],
|
||||
permissions: [RolePermissions.ManageOwnMedia],
|
||||
permissions: [RolePermission.ManageOwnMedia],
|
||||
}),
|
||||
] as const,
|
||||
request: {
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
import { apiRoute, auth, reusedResponses } from "@/api";
|
||||
import { createRoute, z } from "@hono/zod-openapi";
|
||||
import { Account as AccountSchema } from "@versia/client-ng/schemas";
|
||||
import { Account as AccountSchema } from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Timeline } from "@versia/kit/db";
|
||||
import { RolePermissions, Users } from "@versia/kit/tables";
|
||||
import { Users } from "@versia/kit/tables";
|
||||
import { and, gt, gte, lt, sql } from "drizzle-orm";
|
||||
|
||||
const route = createRoute({
|
||||
|
|
@ -18,7 +19,7 @@ const route = createRoute({
|
|||
auth({
|
||||
auth: true,
|
||||
scopes: ["read:mutes"],
|
||||
permissions: [RolePermissions.ManageOwnMutes],
|
||||
permissions: [RolePermission.ManageOwnMutes],
|
||||
}),
|
||||
] as const,
|
||||
request: {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { afterAll, beforeAll, describe, expect, test } from "bun:test";
|
||||
import type { z } from "@hono/zod-openapi";
|
||||
import type { Notification } from "@versia/client-ng/schemas";
|
||||
import type { Notification } from "@versia/client/schemas";
|
||||
import { generateClient, getTestUsers } from "~/tests/utils";
|
||||
|
||||
const { users, deleteUsers } = await getTestUsers(2);
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
import { apiRoute, auth, reusedResponses } from "@/api";
|
||||
import { createRoute, z } from "@hono/zod-openapi";
|
||||
import { Notification as NotificationSchema } from "@versia/client-ng/schemas";
|
||||
import { Notification as NotificationSchema } from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Notification } from "@versia/kit/db";
|
||||
import { RolePermissions } from "@versia/kit/tables";
|
||||
import { ApiError } from "~/classes/errors/api-error";
|
||||
|
||||
const route = createRoute({
|
||||
|
|
@ -18,7 +18,7 @@ const route = createRoute({
|
|||
auth({
|
||||
auth: true,
|
||||
scopes: ["write:notifications"],
|
||||
permissions: [RolePermissions.ManageOwnNotifications],
|
||||
permissions: [RolePermission.ManageOwnNotifications],
|
||||
}),
|
||||
] as const,
|
||||
request: {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { afterAll, beforeAll, describe, expect, test } from "bun:test";
|
||||
import type { z } from "@hono/zod-openapi";
|
||||
import type { Notification } from "@versia/client-ng/schemas";
|
||||
import type { Notification } from "@versia/client/schemas";
|
||||
import { generateClient, getTestUsers } from "~/tests/utils";
|
||||
|
||||
const { users, deleteUsers } = await getTestUsers(2);
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
import { apiRoute, auth, reusedResponses } from "@/api";
|
||||
import { createRoute, z } from "@hono/zod-openapi";
|
||||
import { Notification as NotificationSchema } from "@versia/client-ng/schemas";
|
||||
import { Notification as NotificationSchema } from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Notification } from "@versia/kit/db";
|
||||
import { RolePermissions } from "@versia/kit/tables";
|
||||
import { ApiError } from "~/classes/errors/api-error";
|
||||
import { ErrorSchema } from "~/types/api";
|
||||
|
||||
|
|
@ -18,7 +18,7 @@ const route = createRoute({
|
|||
middleware: [
|
||||
auth({
|
||||
auth: true,
|
||||
permissions: [RolePermissions.ManageOwnNotifications],
|
||||
permissions: [RolePermission.ManageOwnNotifications],
|
||||
scopes: ["read:notifications"],
|
||||
}),
|
||||
] as const,
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { apiRoute, auth, reusedResponses } from "@/api";
|
||||
import { createRoute } from "@hono/zod-openapi";
|
||||
import { RolePermissions } from "@versia/kit/tables";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
|
||||
const route = createRoute({
|
||||
method: "post",
|
||||
|
|
@ -14,7 +14,7 @@ const route = createRoute({
|
|||
middleware: [
|
||||
auth({
|
||||
auth: true,
|
||||
permissions: [RolePermissions.ManageOwnNotifications],
|
||||
permissions: [RolePermission.ManageOwnNotifications],
|
||||
scopes: ["write:notifications"],
|
||||
}),
|
||||
] as const,
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { afterAll, beforeAll, describe, expect, test } from "bun:test";
|
||||
import type { z } from "@hono/zod-openapi";
|
||||
import type { Notification } from "@versia/client-ng/schemas";
|
||||
import type { Notification } from "@versia/client/schemas";
|
||||
import { generateClient, getTestStatuses, getTestUsers } from "~/tests/utils";
|
||||
|
||||
const { users, deleteUsers } = await getTestUsers(2);
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { apiRoute, auth, reusedResponses } from "@/api";
|
||||
import { createRoute, z } from "@hono/zod-openapi";
|
||||
import { RolePermissions } from "@versia/kit/tables";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
|
||||
const schemas = {
|
||||
query: z.object({
|
||||
|
|
@ -15,7 +15,7 @@ const route = createRoute({
|
|||
middleware: [
|
||||
auth({
|
||||
auth: true,
|
||||
permissions: [RolePermissions.ManageOwnNotifications],
|
||||
permissions: [RolePermission.ManageOwnNotifications],
|
||||
scopes: ["write:notifications"],
|
||||
}),
|
||||
] as const,
|
||||
|
|
|
|||
|
|
@ -4,9 +4,10 @@ import {
|
|||
Account as AccountSchema,
|
||||
Notification as NotificationSchema,
|
||||
zBoolean,
|
||||
} from "@versia/client-ng/schemas";
|
||||
} from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Timeline } from "@versia/kit/db";
|
||||
import { Notifications, RolePermissions } from "@versia/kit/tables";
|
||||
import { Notifications } from "@versia/kit/tables";
|
||||
import { and, eq, gt, gte, inArray, lt, not, sql } from "drizzle-orm";
|
||||
|
||||
const route = createRoute({
|
||||
|
|
@ -21,8 +22,8 @@ const route = createRoute({
|
|||
auth({
|
||||
auth: true,
|
||||
permissions: [
|
||||
RolePermissions.ManageOwnNotifications,
|
||||
RolePermissions.ViewPrivateTimelines,
|
||||
RolePermission.ManageOwnNotifications,
|
||||
RolePermission.ViewPrivateTimelines,
|
||||
],
|
||||
}),
|
||||
] as const,
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { apiRoute, auth, reusedResponses } from "@/api";
|
||||
import { createRoute } from "@hono/zod-openapi";
|
||||
import { Account } from "@versia/client-ng/schemas";
|
||||
import { RolePermissions } from "@versia/kit/tables";
|
||||
import { Account } from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
|
||||
const route = createRoute({
|
||||
method: "delete",
|
||||
|
|
@ -15,7 +15,7 @@ const route = createRoute({
|
|||
middleware: [
|
||||
auth({
|
||||
auth: true,
|
||||
permissions: [RolePermissions.ManageOwnAccount],
|
||||
permissions: [RolePermission.ManageOwnAccount],
|
||||
scopes: ["write:account"],
|
||||
}),
|
||||
] as const,
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { apiRoute, auth, reusedResponses } from "@/api";
|
||||
import { createRoute } from "@hono/zod-openapi";
|
||||
import { Account } from "@versia/client-ng/schemas";
|
||||
import { RolePermissions } from "@versia/kit/tables";
|
||||
import { Account } from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
|
||||
const route = createRoute({
|
||||
method: "delete",
|
||||
|
|
@ -15,7 +15,7 @@ const route = createRoute({
|
|||
middleware: [
|
||||
auth({
|
||||
auth: true,
|
||||
permissions: [RolePermissions.ManageOwnAccount],
|
||||
permissions: [RolePermission.ManageOwnAccount],
|
||||
scopes: ["write:account"],
|
||||
}),
|
||||
] as const,
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
import { apiRoute, auth, reusedResponses } from "@/api";
|
||||
import { createRoute, z } from "@hono/zod-openapi";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { PushSubscription } from "@versia/kit/db";
|
||||
import { ApiError } from "~/classes/errors/api-error";
|
||||
import { RolePermissions } from "~/drizzle/schema";
|
||||
|
||||
export default apiRoute((app) =>
|
||||
app.openapi(
|
||||
|
|
@ -18,7 +18,7 @@ export default apiRoute((app) =>
|
|||
middleware: [
|
||||
auth({
|
||||
auth: true,
|
||||
permissions: [RolePermissions.UsePushNotifications],
|
||||
permissions: [RolePermission.UsePushNotifications],
|
||||
scopes: ["push"],
|
||||
}),
|
||||
] as const,
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
import { apiRoute, auth, reusedResponses } from "@/api";
|
||||
import { createRoute } from "@hono/zod-openapi";
|
||||
import { WebPushSubscription as WebPushSubscriptionSchema } from "@versia/client-ng/schemas";
|
||||
import { WebPushSubscription as WebPushSubscriptionSchema } from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { PushSubscription } from "@versia/kit/db";
|
||||
import { ApiError } from "~/classes/errors/api-error";
|
||||
import { RolePermissions } from "~/drizzle/schema";
|
||||
|
||||
export default apiRoute((app) =>
|
||||
app.openapi(
|
||||
|
|
@ -20,7 +20,7 @@ export default apiRoute((app) =>
|
|||
middleware: [
|
||||
auth({
|
||||
auth: true,
|
||||
permissions: [RolePermissions.UsePushNotifications],
|
||||
permissions: [RolePermission.UsePushNotifications],
|
||||
scopes: ["push"],
|
||||
}),
|
||||
] as const,
|
||||
|
|
|
|||
|
|
@ -4,9 +4,9 @@ import { createRoute } from "@hono/zod-openapi";
|
|||
import {
|
||||
WebPushSubscriptionInput,
|
||||
WebPushSubscription as WebPushSubscriptionSchema,
|
||||
} from "@versia/client-ng/schemas";
|
||||
} from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { PushSubscription } from "@versia/kit/db";
|
||||
import { RolePermissions } from "~/drizzle/schema";
|
||||
|
||||
export default apiRoute((app) =>
|
||||
app.openapi(
|
||||
|
|
@ -23,7 +23,7 @@ export default apiRoute((app) =>
|
|||
middleware: [
|
||||
auth({
|
||||
auth: true,
|
||||
permissions: [RolePermissions.UsePushNotifications],
|
||||
permissions: [RolePermission.UsePushNotifications],
|
||||
scopes: ["push"],
|
||||
}),
|
||||
jsonOrForm(),
|
||||
|
|
@ -56,7 +56,7 @@ export default apiRoute((app) =>
|
|||
|
||||
if (
|
||||
data.alerts["admin.report"] &&
|
||||
!user.hasPermission(RolePermissions.ManageReports)
|
||||
!user.hasPermission(RolePermission.ManageReports)
|
||||
) {
|
||||
// This shouldn't throw an error in mastodon either
|
||||
data.alerts["admin.report"] = false;
|
||||
|
|
@ -64,7 +64,7 @@ export default apiRoute((app) =>
|
|||
|
||||
if (
|
||||
data.alerts["admin.sign_up"] &&
|
||||
!user.hasPermission(RolePermissions.ManageAccounts)
|
||||
!user.hasPermission(RolePermission.ManageAccounts)
|
||||
) {
|
||||
data.alerts["admin.sign_up"] = false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,10 +3,10 @@ import { createRoute } from "@hono/zod-openapi";
|
|||
import {
|
||||
WebPushSubscriptionInput,
|
||||
WebPushSubscription as WebPushSubscriptionSchema,
|
||||
} from "@versia/client-ng/schemas";
|
||||
} from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { PushSubscription } from "@versia/kit/db";
|
||||
import { ApiError } from "~/classes/errors/api-error";
|
||||
import { RolePermissions } from "~/drizzle/schema";
|
||||
|
||||
export default apiRoute((app) =>
|
||||
app.openapi(
|
||||
|
|
@ -23,7 +23,7 @@ export default apiRoute((app) =>
|
|||
middleware: [
|
||||
auth({
|
||||
auth: true,
|
||||
permissions: [RolePermissions.UsePushNotifications],
|
||||
permissions: [RolePermission.UsePushNotifications],
|
||||
scopes: ["push"],
|
||||
}),
|
||||
jsonOrForm(),
|
||||
|
|
@ -67,7 +67,7 @@ export default apiRoute((app) =>
|
|||
|
||||
if (
|
||||
data.alerts["admin.report"] &&
|
||||
!user.hasPermission(RolePermissions.ManageReports)
|
||||
!user.hasPermission(RolePermission.ManageReports)
|
||||
) {
|
||||
// This shouldn't throw an error in mastodon either
|
||||
data.alerts["admin.report"] = false;
|
||||
|
|
@ -75,7 +75,7 @@ export default apiRoute((app) =>
|
|||
|
||||
if (
|
||||
data.alerts["admin.sign_up"] &&
|
||||
!user.hasPermission(RolePermissions.ManageAccounts)
|
||||
!user.hasPermission(RolePermission.ManageAccounts)
|
||||
) {
|
||||
data.alerts["admin.sign_up"] = false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { afterAll, beforeAll, describe, expect, test } from "bun:test";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Role } from "@versia/kit/db";
|
||||
import { RolePermissions } from "@versia/kit/tables";
|
||||
import { generateClient, getTestUsers } from "~/tests/utils";
|
||||
|
||||
const { users, deleteUsers } = await getTestUsers(2);
|
||||
|
|
@ -11,7 +11,7 @@ beforeAll(async () => {
|
|||
// Create new role
|
||||
role = await Role.insert({
|
||||
name: "test",
|
||||
permissions: [RolePermissions.ManageRoles],
|
||||
permissions: [RolePermission.ManageRoles],
|
||||
priority: 2,
|
||||
description: "test",
|
||||
visible: true,
|
||||
|
|
@ -25,7 +25,7 @@ beforeAll(async () => {
|
|||
// Create a role with higher priority than the user's role
|
||||
higherPriorityRole = await Role.insert({
|
||||
name: "higherPriorityRole",
|
||||
permissions: [RolePermissions.ManageRoles],
|
||||
permissions: [RolePermission.ManageRoles],
|
||||
priority: 3, // Higher priority than the user's role
|
||||
description: "Higher priority role",
|
||||
visible: true,
|
||||
|
|
@ -141,7 +141,7 @@ describe("/api/v1/roles/:id", () => {
|
|||
await using client = await generateClient(users[0]);
|
||||
|
||||
const { data, ok, raw } = await client.updateRole(role.id, {
|
||||
permissions: [RolePermissions.Impersonate],
|
||||
permissions: [RolePermission.Impersonate],
|
||||
});
|
||||
|
||||
expect(ok).toBe(false);
|
||||
|
|
@ -175,7 +175,7 @@ describe("/api/v1/roles/:id", () => {
|
|||
test("should delete role", async () => {
|
||||
const newRole = await Role.insert({
|
||||
name: "test2",
|
||||
permissions: [RolePermissions.ManageRoles],
|
||||
permissions: [RolePermission.ManageRoles],
|
||||
priority: 2,
|
||||
description: "test",
|
||||
visible: true,
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
import { apiRoute, auth } from "@/api";
|
||||
import { createRoute, z } from "@hono/zod-openapi";
|
||||
import { Role as RoleSchema } from "@versia/client-ng/schemas";
|
||||
import { Role as RoleSchema } from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Role } from "@versia/kit/db";
|
||||
import { RolePermissions } from "@versia/kit/tables";
|
||||
import { ApiError } from "~/classes/errors/api-error";
|
||||
import { ErrorSchema } from "~/types/api";
|
||||
|
||||
|
|
@ -48,7 +48,7 @@ const routePatch = createRoute({
|
|||
middleware: [
|
||||
auth({
|
||||
auth: true,
|
||||
permissions: [RolePermissions.ManageRoles],
|
||||
permissions: [RolePermission.ManageRoles],
|
||||
}),
|
||||
] as const,
|
||||
request: {
|
||||
|
|
@ -94,7 +94,7 @@ const routeDelete = createRoute({
|
|||
middleware: [
|
||||
auth({
|
||||
auth: true,
|
||||
permissions: [RolePermissions.ManageRoles],
|
||||
permissions: [RolePermission.ManageRoles],
|
||||
}),
|
||||
] as const,
|
||||
request: {
|
||||
|
|
@ -170,7 +170,7 @@ export default apiRoute((app) => {
|
|||
if (permissions) {
|
||||
const userPermissions = user.getAllPermissions();
|
||||
const hasPermissions = (
|
||||
permissions as unknown as RolePermissions[]
|
||||
permissions as unknown as RolePermission[]
|
||||
).every((p) => userPermissions.includes(p));
|
||||
|
||||
if (!hasPermissions) {
|
||||
|
|
@ -183,7 +183,7 @@ export default apiRoute((app) => {
|
|||
}
|
||||
|
||||
await role.update({
|
||||
permissions: permissions as unknown as RolePermissions[],
|
||||
permissions: permissions as unknown as RolePermission[],
|
||||
priority,
|
||||
description,
|
||||
icon,
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { afterAll, beforeAll, describe, expect, test } from "bun:test";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Role } from "@versia/kit/db";
|
||||
import { RolePermissions } from "@versia/kit/tables";
|
||||
import { config } from "~/config.ts";
|
||||
import { generateClient, getTestUsers } from "~/tests/utils";
|
||||
|
||||
|
|
@ -11,7 +11,7 @@ beforeAll(async () => {
|
|||
// Create new role
|
||||
role = await Role.insert({
|
||||
name: "test",
|
||||
permissions: [RolePermissions.ManageRoles],
|
||||
permissions: [RolePermission.ManageRoles],
|
||||
priority: 10,
|
||||
description: "test",
|
||||
visible: true,
|
||||
|
|
@ -48,7 +48,7 @@ describe("/api/v1/roles", () => {
|
|||
expect(ok).toBe(true);
|
||||
expect(data).toContainEqual({
|
||||
name: "test",
|
||||
permissions: [RolePermissions.ManageRoles],
|
||||
permissions: [RolePermission.ManageRoles],
|
||||
priority: 10,
|
||||
description: "test",
|
||||
visible: true,
|
||||
|
|
@ -70,7 +70,7 @@ describe("/api/v1/roles", () => {
|
|||
await using client = await generateClient(users[0]);
|
||||
|
||||
const { ok, data } = await client.createRole("newRole", {
|
||||
permissions: [RolePermissions.ManageRoles],
|
||||
permissions: [RolePermission.ManageRoles],
|
||||
priority: 1,
|
||||
description: "newRole",
|
||||
visible: true,
|
||||
|
|
@ -80,7 +80,7 @@ describe("/api/v1/roles", () => {
|
|||
expect(ok).toBe(true);
|
||||
expect(data).toMatchObject({
|
||||
name: "newRole",
|
||||
permissions: [RolePermissions.ManageRoles],
|
||||
permissions: [RolePermission.ManageRoles],
|
||||
priority: 1,
|
||||
description: "newRole",
|
||||
visible: true,
|
||||
|
|
@ -99,7 +99,7 @@ describe("/api/v1/roles", () => {
|
|||
await using client = await generateClient(users[0]);
|
||||
|
||||
const { data, ok, raw } = await client.createRole("newRole", {
|
||||
permissions: [RolePermissions.ManageBlocks],
|
||||
permissions: [RolePermission.ManageBlocks],
|
||||
priority: 11,
|
||||
description: "newRole",
|
||||
visible: true,
|
||||
|
|
@ -117,7 +117,7 @@ describe("/api/v1/roles", () => {
|
|||
await using client = await generateClient(users[0]);
|
||||
|
||||
const { data, ok, raw } = await client.createRole("newRole", {
|
||||
permissions: [RolePermissions.Impersonate],
|
||||
permissions: [RolePermission.Impersonate],
|
||||
priority: 1,
|
||||
description: "newRole",
|
||||
visible: true,
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
import { apiRoute, auth } from "@/api";
|
||||
import { createRoute, z } from "@hono/zod-openapi";
|
||||
import { Role as RoleSchema } from "@versia/client-ng/schemas";
|
||||
import { Role as RoleSchema } from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Role } from "@versia/kit/db";
|
||||
import { ApiError } from "~/classes/errors/api-error";
|
||||
import { RolePermissions } from "~/drizzle/schema";
|
||||
import { ErrorSchema } from "~/types/api";
|
||||
|
||||
const routeGet = createRoute({
|
||||
|
|
@ -34,7 +34,7 @@ const routePost = createRoute({
|
|||
middleware: [
|
||||
auth({
|
||||
auth: true,
|
||||
permissions: [RolePermissions.ManageRoles],
|
||||
permissions: [RolePermission.ManageRoles],
|
||||
}),
|
||||
] as const,
|
||||
request: {
|
||||
|
|
@ -100,7 +100,7 @@ export default apiRoute((app) => {
|
|||
if (permissions) {
|
||||
const userPermissions = user.getAllPermissions();
|
||||
const hasPermissions = (
|
||||
permissions as unknown as RolePermissions[]
|
||||
permissions as unknown as RolePermission[]
|
||||
).every((p) => userPermissions.includes(p));
|
||||
|
||||
if (!hasPermissions) {
|
||||
|
|
@ -116,7 +116,7 @@ export default apiRoute((app) => {
|
|||
description,
|
||||
icon,
|
||||
name,
|
||||
permissions: permissions as unknown as RolePermissions[],
|
||||
permissions: permissions as unknown as RolePermission[],
|
||||
priority,
|
||||
visible,
|
||||
});
|
||||
|
|
|
|||
|
|
@ -9,8 +9,8 @@ import { createRoute, z } from "@hono/zod-openapi";
|
|||
import {
|
||||
Context as ContextSchema,
|
||||
Status as StatusSchema,
|
||||
} from "@versia/client-ng/schemas";
|
||||
import { RolePermissions } from "@versia/kit/tables";
|
||||
} from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
|
||||
const route = createRoute({
|
||||
method: "get",
|
||||
|
|
@ -24,7 +24,7 @@ const route = createRoute({
|
|||
middleware: [
|
||||
auth({
|
||||
auth: false,
|
||||
permissions: [RolePermissions.ViewNotes],
|
||||
permissions: [RolePermission.ViewNotes],
|
||||
}),
|
||||
withNoteParam,
|
||||
] as const,
|
||||
|
|
|
|||
|
|
@ -6,8 +6,8 @@ import {
|
|||
withNoteParam,
|
||||
} from "@/api";
|
||||
import { createRoute, z } from "@hono/zod-openapi";
|
||||
import { Status as StatusSchema } from "@versia/client-ng/schemas";
|
||||
import { RolePermissions } from "@versia/kit/tables";
|
||||
import { Status as StatusSchema } from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
|
||||
const route = createRoute({
|
||||
method: "post",
|
||||
|
|
@ -22,8 +22,8 @@ const route = createRoute({
|
|||
auth({
|
||||
auth: true,
|
||||
permissions: [
|
||||
RolePermissions.ManageOwnLikes,
|
||||
RolePermissions.ViewNotes,
|
||||
RolePermission.ManageOwnLikes,
|
||||
RolePermission.ViewNotes,
|
||||
],
|
||||
}),
|
||||
withNoteParam,
|
||||
|
|
|
|||
|
|
@ -9,9 +9,10 @@ import { createRoute, z } from "@hono/zod-openapi";
|
|||
import {
|
||||
Account as AccountSchema,
|
||||
Status as StatusSchema,
|
||||
} from "@versia/client-ng/schemas";
|
||||
} from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Timeline } from "@versia/kit/db";
|
||||
import { RolePermissions, Users } from "@versia/kit/tables";
|
||||
import { Users } from "@versia/kit/tables";
|
||||
import { and, gt, gte, lt, sql } from "drizzle-orm";
|
||||
|
||||
const route = createRoute({
|
||||
|
|
@ -27,8 +28,8 @@ const route = createRoute({
|
|||
auth({
|
||||
auth: true,
|
||||
permissions: [
|
||||
RolePermissions.ViewNotes,
|
||||
RolePermissions.ViewNoteLikes,
|
||||
RolePermission.ViewNotes,
|
||||
RolePermission.ViewNoteLikes,
|
||||
],
|
||||
}),
|
||||
withNoteParam,
|
||||
|
|
|
|||
|
|
@ -13,9 +13,9 @@ import {
|
|||
Status as StatusSchema,
|
||||
StatusSource as StatusSourceSchema,
|
||||
zBoolean,
|
||||
} from "@versia/client-ng/schemas";
|
||||
} from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Media } from "@versia/kit/db";
|
||||
import { RolePermissions } from "@versia/kit/tables";
|
||||
import { ApiError } from "~/classes/errors/api-error";
|
||||
import { config } from "~/config.ts";
|
||||
|
||||
|
|
@ -91,7 +91,7 @@ const routeGet = createRoute({
|
|||
middleware: [
|
||||
auth({
|
||||
auth: false,
|
||||
permissions: [RolePermissions.ViewNotes],
|
||||
permissions: [RolePermission.ViewNotes],
|
||||
}),
|
||||
withNoteParam,
|
||||
] as const,
|
||||
|
|
@ -126,8 +126,8 @@ const routeDelete = createRoute({
|
|||
auth({
|
||||
auth: true,
|
||||
permissions: [
|
||||
RolePermissions.ManageOwnNotes,
|
||||
RolePermissions.ViewNotes,
|
||||
RolePermission.ManageOwnNotes,
|
||||
RolePermission.ViewNotes,
|
||||
],
|
||||
}),
|
||||
withNoteParam,
|
||||
|
|
@ -166,8 +166,8 @@ const routePut = createRoute({
|
|||
auth({
|
||||
auth: true,
|
||||
permissions: [
|
||||
RolePermissions.ManageOwnNotes,
|
||||
RolePermissions.ViewNotes,
|
||||
RolePermission.ManageOwnNotes,
|
||||
RolePermission.ViewNotes,
|
||||
],
|
||||
}),
|
||||
jsonOrForm(),
|
||||
|
|
|
|||
|
|
@ -6,9 +6,9 @@ import {
|
|||
withNoteParam,
|
||||
} from "@/api";
|
||||
import { createRoute, z } from "@hono/zod-openapi";
|
||||
import { Status as StatusSchema } from "@versia/client-ng/schemas";
|
||||
import { Status as StatusSchema } from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { db } from "@versia/kit/db";
|
||||
import { RolePermissions } from "@versia/kit/tables";
|
||||
import type { SQL } from "drizzle-orm";
|
||||
import { ApiError } from "~/classes/errors/api-error";
|
||||
|
||||
|
|
@ -26,8 +26,8 @@ const route = createRoute({
|
|||
auth({
|
||||
auth: true,
|
||||
permissions: [
|
||||
RolePermissions.ManageOwnNotes,
|
||||
RolePermissions.ViewNotes,
|
||||
RolePermission.ManageOwnNotes,
|
||||
RolePermission.ViewNotes,
|
||||
],
|
||||
}),
|
||||
withNoteParam,
|
||||
|
|
|
|||
|
|
@ -7,9 +7,10 @@ import {
|
|||
withNoteParam,
|
||||
} from "@/api";
|
||||
import { createRoute, z } from "@hono/zod-openapi";
|
||||
import { Status as StatusSchema } from "@versia/client-ng/schemas";
|
||||
import { Status as StatusSchema } from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Note } from "@versia/kit/db";
|
||||
import { Notes, RolePermissions } from "@versia/kit/tables";
|
||||
import { Notes } from "@versia/kit/tables";
|
||||
import { and, eq } from "drizzle-orm";
|
||||
|
||||
const route = createRoute({
|
||||
|
|
@ -25,8 +26,8 @@ const route = createRoute({
|
|||
auth({
|
||||
auth: true,
|
||||
permissions: [
|
||||
RolePermissions.ManageOwnBoosts,
|
||||
RolePermissions.ViewNotes,
|
||||
RolePermission.ManageOwnBoosts,
|
||||
RolePermission.ViewNotes,
|
||||
],
|
||||
}),
|
||||
jsonOrForm(),
|
||||
|
|
|
|||
|
|
@ -9,9 +9,10 @@ import { createRoute, z } from "@hono/zod-openapi";
|
|||
import {
|
||||
Account as AccountSchema,
|
||||
Status as StatusSchema,
|
||||
} from "@versia/client-ng/schemas";
|
||||
} from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Timeline } from "@versia/kit/db";
|
||||
import { RolePermissions, Users } from "@versia/kit/tables";
|
||||
import { Users } from "@versia/kit/tables";
|
||||
import { and, gt, gte, lt, sql } from "drizzle-orm";
|
||||
|
||||
const route = createRoute({
|
||||
|
|
@ -27,8 +28,8 @@ const route = createRoute({
|
|||
auth({
|
||||
auth: true,
|
||||
permissions: [
|
||||
RolePermissions.ViewNotes,
|
||||
RolePermissions.ViewNoteBoosts,
|
||||
RolePermission.ViewNotes,
|
||||
RolePermission.ViewNoteBoosts,
|
||||
],
|
||||
}),
|
||||
withNoteParam,
|
||||
|
|
|
|||
|
|
@ -9,8 +9,8 @@ import { createRoute, z } from "@hono/zod-openapi";
|
|||
import {
|
||||
Status as StatusSchema,
|
||||
StatusSource as StatusSourceSchema,
|
||||
} from "@versia/client-ng/schemas";
|
||||
import { RolePermissions } from "@versia/kit/tables";
|
||||
} from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
|
||||
const route = createRoute({
|
||||
method: "get",
|
||||
|
|
@ -26,8 +26,8 @@ const route = createRoute({
|
|||
auth({
|
||||
auth: true,
|
||||
permissions: [
|
||||
RolePermissions.ManageOwnNotes,
|
||||
RolePermissions.ViewNotes,
|
||||
RolePermission.ManageOwnNotes,
|
||||
RolePermission.ViewNotes,
|
||||
],
|
||||
}),
|
||||
withNoteParam,
|
||||
|
|
|
|||
|
|
@ -6,8 +6,8 @@ import {
|
|||
withNoteParam,
|
||||
} from "@/api";
|
||||
import { createRoute, z } from "@hono/zod-openapi";
|
||||
import { Status as StatusSchema } from "@versia/client-ng/schemas";
|
||||
import { RolePermissions } from "@versia/kit/tables";
|
||||
import { Status as StatusSchema } from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
|
||||
const route = createRoute({
|
||||
method: "post",
|
||||
|
|
@ -22,8 +22,8 @@ const route = createRoute({
|
|||
auth({
|
||||
auth: true,
|
||||
permissions: [
|
||||
RolePermissions.ManageOwnNotes,
|
||||
RolePermissions.ViewNotes,
|
||||
RolePermission.ManageOwnNotes,
|
||||
RolePermission.ViewNotes,
|
||||
],
|
||||
}),
|
||||
withNoteParam,
|
||||
|
|
|
|||
|
|
@ -6,8 +6,8 @@ import {
|
|||
withNoteParam,
|
||||
} from "@/api";
|
||||
import { createRoute, z } from "@hono/zod-openapi";
|
||||
import { Status as StatusSchema } from "@versia/client-ng/schemas";
|
||||
import { RolePermissions } from "@versia/kit/tables";
|
||||
import { Status as StatusSchema } from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { ApiError } from "~/classes/errors/api-error";
|
||||
|
||||
const route = createRoute({
|
||||
|
|
@ -23,8 +23,8 @@ const route = createRoute({
|
|||
auth({
|
||||
auth: true,
|
||||
permissions: [
|
||||
RolePermissions.ManageOwnNotes,
|
||||
RolePermissions.ViewNotes,
|
||||
RolePermission.ManageOwnNotes,
|
||||
RolePermission.ViewNotes,
|
||||
],
|
||||
}),
|
||||
withNoteParam,
|
||||
|
|
|
|||
|
|
@ -6,9 +6,10 @@ import {
|
|||
withNoteParam,
|
||||
} from "@/api";
|
||||
import { createRoute, z } from "@hono/zod-openapi";
|
||||
import { Status as StatusSchema } from "@versia/client-ng/schemas";
|
||||
import { Status as StatusSchema } from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Note } from "@versia/kit/db";
|
||||
import { Notes, RolePermissions } from "@versia/kit/tables";
|
||||
import { Notes } from "@versia/kit/tables";
|
||||
import { and, eq } from "drizzle-orm";
|
||||
import { ApiError } from "~/classes/errors/api-error";
|
||||
|
||||
|
|
@ -25,8 +26,8 @@ const route = createRoute({
|
|||
auth({
|
||||
auth: true,
|
||||
permissions: [
|
||||
RolePermissions.ManageOwnNotes,
|
||||
RolePermissions.ViewNotes,
|
||||
RolePermission.ManageOwnNotes,
|
||||
RolePermission.ViewNotes,
|
||||
],
|
||||
}),
|
||||
withNoteParam,
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { afterAll, beforeAll, describe, expect, test } from "bun:test";
|
||||
import type { z } from "@hono/zod-openapi";
|
||||
import type { Status } from "@versia/client-ng/schemas";
|
||||
import type { Status } from "@versia/client/schemas";
|
||||
import { Media, db } from "@versia/kit/db";
|
||||
import { Emojis } from "@versia/kit/tables";
|
||||
import { eq } from "drizzle-orm";
|
||||
|
|
|
|||
|
|
@ -6,9 +6,9 @@ import {
|
|||
Status as StatusSchema,
|
||||
StatusSource as StatusSourceSchema,
|
||||
zBoolean,
|
||||
} from "@versia/client-ng/schemas";
|
||||
} from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Media, Note } from "@versia/kit/db";
|
||||
import { RolePermissions } from "@versia/kit/tables";
|
||||
import { ApiError } from "~/classes/errors/api-error";
|
||||
import { config } from "~/config.ts";
|
||||
|
||||
|
|
@ -113,7 +113,7 @@ const route = createRoute({
|
|||
middleware: [
|
||||
auth({
|
||||
auth: true,
|
||||
permissions: [RolePermissions.ManageOwnNotes],
|
||||
permissions: [RolePermission.ManageOwnNotes],
|
||||
}),
|
||||
jsonOrForm(),
|
||||
] as const,
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
import { apiRoute, auth, reusedResponses } from "@/api";
|
||||
import { createRoute, z } from "@hono/zod-openapi";
|
||||
import { Status as StatusSchema } from "@versia/client-ng/schemas";
|
||||
import { Status as StatusSchema } from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Timeline } from "@versia/kit/db";
|
||||
import { Notes, RolePermissions } from "@versia/kit/tables";
|
||||
import { Notes } from "@versia/kit/tables";
|
||||
import { and, eq, gt, gte, inArray, lt, or, sql } from "drizzle-orm";
|
||||
|
||||
const route = createRoute({
|
||||
|
|
@ -18,10 +19,10 @@ const route = createRoute({
|
|||
auth({
|
||||
auth: true,
|
||||
permissions: [
|
||||
RolePermissions.ManageOwnNotes,
|
||||
RolePermissions.ViewNotes,
|
||||
RolePermissions.ViewAccounts,
|
||||
RolePermissions.ViewPrivateTimelines,
|
||||
RolePermission.ManageOwnNotes,
|
||||
RolePermission.ViewNotes,
|
||||
RolePermission.ViewAccounts,
|
||||
RolePermission.ViewPrivateTimelines,
|
||||
],
|
||||
}),
|
||||
] as const,
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
import { apiRoute, auth, reusedResponses } from "@/api";
|
||||
import { createRoute, z } from "@hono/zod-openapi";
|
||||
import { Status as StatusSchema, zBoolean } from "@versia/client-ng/schemas";
|
||||
import { Status as StatusSchema, zBoolean } from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Timeline } from "@versia/kit/db";
|
||||
import { Notes, RolePermissions } from "@versia/kit/tables";
|
||||
import { Notes } from "@versia/kit/tables";
|
||||
import { and, eq, gt, gte, inArray, lt, or, sql } from "drizzle-orm";
|
||||
|
||||
const route = createRoute({
|
||||
|
|
@ -18,9 +19,9 @@ const route = createRoute({
|
|||
auth({
|
||||
auth: false,
|
||||
permissions: [
|
||||
RolePermissions.ViewNotes,
|
||||
RolePermissions.ViewAccounts,
|
||||
RolePermissions.ViewPublicTimelines,
|
||||
RolePermission.ViewNotes,
|
||||
RolePermission.ViewAccounts,
|
||||
RolePermission.ViewPublicTimelines,
|
||||
],
|
||||
}),
|
||||
] as const,
|
||||
|
|
|
|||
|
|
@ -4,9 +4,10 @@ import {
|
|||
FilterKeyword as FilterKeywordSchema,
|
||||
Filter as FilterSchema,
|
||||
zBoolean,
|
||||
} from "@versia/client-ng/schemas";
|
||||
} from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { db } from "@versia/kit/db";
|
||||
import { FilterKeywords, Filters, RolePermissions } from "@versia/kit/tables";
|
||||
import { FilterKeywords, Filters } from "@versia/kit/tables";
|
||||
import { type SQL, and, eq, inArray } from "drizzle-orm";
|
||||
import { ApiError } from "~/classes/errors/api-error";
|
||||
import { ErrorSchema } from "~/types/api";
|
||||
|
|
@ -22,7 +23,7 @@ const routeGet = createRoute({
|
|||
middleware: [
|
||||
auth({
|
||||
auth: true,
|
||||
permissions: [RolePermissions.ManageOwnFilters],
|
||||
permissions: [RolePermission.ManageOwnFilters],
|
||||
}),
|
||||
] as const,
|
||||
request: {
|
||||
|
|
@ -63,7 +64,7 @@ const routePut = createRoute({
|
|||
middleware: [
|
||||
auth({
|
||||
auth: true,
|
||||
permissions: [RolePermissions.ManageOwnFilters],
|
||||
permissions: [RolePermission.ManageOwnFilters],
|
||||
}),
|
||||
jsonOrForm(),
|
||||
] as const,
|
||||
|
|
@ -144,7 +145,7 @@ const routeDelete = createRoute({
|
|||
middleware: [
|
||||
auth({
|
||||
auth: true,
|
||||
permissions: [RolePermissions.ManageOwnFilters],
|
||||
permissions: [RolePermission.ManageOwnFilters],
|
||||
}),
|
||||
] as const,
|
||||
request: {
|
||||
|
|
|
|||
|
|
@ -3,9 +3,10 @@ import { createRoute, z } from "@hono/zod-openapi";
|
|||
import {
|
||||
FilterKeyword as FilterKeywordSchema,
|
||||
Filter as FilterSchema,
|
||||
} from "@versia/client-ng/schemas";
|
||||
} from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { db } from "@versia/kit/db";
|
||||
import { FilterKeywords, Filters, RolePermissions } from "@versia/kit/tables";
|
||||
import { FilterKeywords, Filters } from "@versia/kit/tables";
|
||||
import type { SQL } from "drizzle-orm";
|
||||
|
||||
const routeGet = createRoute({
|
||||
|
|
@ -20,7 +21,7 @@ const routeGet = createRoute({
|
|||
middleware: [
|
||||
auth({
|
||||
auth: true,
|
||||
permissions: [RolePermissions.ManageOwnFilters],
|
||||
permissions: [RolePermission.ManageOwnFilters],
|
||||
}),
|
||||
jsonOrForm(),
|
||||
] as const,
|
||||
|
|
@ -49,7 +50,7 @@ const routePost = createRoute({
|
|||
middleware: [
|
||||
auth({
|
||||
auth: true,
|
||||
permissions: [RolePermissions.ManageOwnFilters],
|
||||
permissions: [RolePermission.ManageOwnFilters],
|
||||
}),
|
||||
jsonOrForm(),
|
||||
] as const,
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { apiRoute } from "@/api";
|
||||
import { proxyUrl } from "@/response";
|
||||
import { createRoute } from "@hono/zod-openapi";
|
||||
import { Instance as InstanceSchema } from "@versia/client-ng/schemas";
|
||||
import { Instance as InstanceSchema } from "@versia/client/schemas";
|
||||
import { User } from "@versia/kit/db";
|
||||
import { Users } from "@versia/kit/tables";
|
||||
import { and, eq, isNull } from "drizzle-orm";
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
import { apiRoute, auth, reusedResponses } from "@/api";
|
||||
import { createRoute, z } from "@hono/zod-openapi";
|
||||
import { Attachment as AttachmentSchema } from "@versia/client-ng/schemas";
|
||||
import { Attachment as AttachmentSchema } from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Media } from "@versia/kit/db";
|
||||
import { RolePermissions } from "@versia/kit/tables";
|
||||
import { ErrorSchema } from "~/types/api";
|
||||
|
||||
const route = createRoute({
|
||||
|
|
@ -19,7 +19,7 @@ const route = createRoute({
|
|||
auth({
|
||||
auth: true,
|
||||
scopes: ["write:media"],
|
||||
permissions: [RolePermissions.ManageOwnMedia],
|
||||
permissions: [RolePermission.ManageOwnMedia],
|
||||
}),
|
||||
] as const,
|
||||
request: {
|
||||
|
|
|
|||
|
|
@ -11,9 +11,10 @@ import {
|
|||
Id,
|
||||
Search as SearchSchema,
|
||||
zBoolean,
|
||||
} from "@versia/client-ng/schemas";
|
||||
} from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Note, User, db } from "@versia/kit/db";
|
||||
import { Instances, Notes, RolePermissions, Users } from "@versia/kit/tables";
|
||||
import { Instances, Notes, Users } from "@versia/kit/tables";
|
||||
import { and, eq, inArray, isNull, sql } from "drizzle-orm";
|
||||
import { ApiError } from "~/classes/errors/api-error";
|
||||
import { searchManager } from "~/classes/search/search-manager";
|
||||
|
|
@ -33,9 +34,9 @@ const route = createRoute({
|
|||
auth: false,
|
||||
scopes: ["read:search"],
|
||||
permissions: [
|
||||
RolePermissions.Search,
|
||||
RolePermissions.ViewAccounts,
|
||||
RolePermissions.ViewNotes,
|
||||
RolePermission.Search,
|
||||
RolePermission.ViewAccounts,
|
||||
RolePermission.ViewNotes,
|
||||
],
|
||||
}),
|
||||
] as const,
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { apiRoute } from "@/api";
|
||||
import { createRoute, z } from "@hono/zod-openapi";
|
||||
import { Status as StatusSchema } from "@versia/client-ng/schemas";
|
||||
import { Status as StatusSchema } from "@versia/client/schemas";
|
||||
import { Note as NoteSchema } from "@versia/federation/schemas";
|
||||
import { Note } from "@versia/kit/db";
|
||||
import { Notes } from "@versia/kit/tables";
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { apiRoute } from "@/api";
|
||||
import { createRoute, z } from "@hono/zod-openapi";
|
||||
import { Status as StatusSchema } from "@versia/client-ng/schemas";
|
||||
import { Status as StatusSchema } from "@versia/client/schemas";
|
||||
import { URICollection as URICollectionSchema } from "@versia/federation/schemas";
|
||||
import type { URICollection } from "@versia/federation/types";
|
||||
import { Note, db } from "@versia/kit/db";
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { apiRoute } from "@/api";
|
||||
import { createRoute, z } from "@hono/zod-openapi";
|
||||
import { Status as StatusSchema } from "@versia/client-ng/schemas";
|
||||
import { Status as StatusSchema } from "@versia/client/schemas";
|
||||
import { URICollection as URICollectionSchema } from "@versia/federation/schemas";
|
||||
import type { URICollection } from "@versia/federation/types";
|
||||
import { Note, db } from "@versia/kit/db";
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue