mirror of
https://github.com/versia-pub/server.git
synced 2025-12-06 08:28:19 +01:00
refactor(api): ♻️ Move all client schema code to new package
This commit is contained in:
parent
52602c3da7
commit
3fe07a79b8
|
|
@ -6,10 +6,12 @@ import {
|
||||||
withUserParam,
|
withUserParam,
|
||||||
} from "@/api";
|
} from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import {
|
||||||
|
Account as AccountSchema,
|
||||||
|
Relationship as RelationshipSchema,
|
||||||
|
} from "@versia/client-ng/schemas";
|
||||||
import { Relationship } from "@versia/kit/db";
|
import { Relationship } from "@versia/kit/db";
|
||||||
import { RolePermissions } from "@versia/kit/tables";
|
import { RolePermissions } from "@versia/kit/tables";
|
||||||
import { Account as AccountSchema } from "~/classes/schemas/account";
|
|
||||||
import { Relationship as RelationshipSchema } from "~/classes/schemas/relationship";
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "post",
|
method: "post",
|
||||||
|
|
|
||||||
|
|
@ -6,11 +6,13 @@ import {
|
||||||
withUserParam,
|
withUserParam,
|
||||||
} from "@/api";
|
} from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import {
|
||||||
|
Account as AccountSchema,
|
||||||
|
Relationship as RelationshipSchema,
|
||||||
|
iso631,
|
||||||
|
} from "@versia/client-ng/schemas";
|
||||||
import { Relationship } from "@versia/kit/db";
|
import { Relationship } from "@versia/kit/db";
|
||||||
import { RolePermissions } from "@versia/kit/tables";
|
import { RolePermissions } from "@versia/kit/tables";
|
||||||
import { Account as AccountSchema } from "~/classes/schemas/account";
|
|
||||||
import { iso631 } from "~/classes/schemas/common";
|
|
||||||
import { Relationship as RelationshipSchema } from "~/classes/schemas/relationship";
|
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
|
|
|
||||||
|
|
@ -6,11 +6,10 @@ import {
|
||||||
withUserParam,
|
withUserParam,
|
||||||
} from "@/api";
|
} from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import { Account as AccountSchema } from "@versia/client-ng/schemas";
|
||||||
import { Timeline } from "@versia/kit/db";
|
import { Timeline } from "@versia/kit/db";
|
||||||
import { RolePermissions, Users } from "@versia/kit/tables";
|
import { RolePermissions, Users } from "@versia/kit/tables";
|
||||||
import { and, gt, gte, lt, sql } from "drizzle-orm";
|
import { and, gt, gte, lt, sql } from "drizzle-orm";
|
||||||
import { Account } from "~/classes/schemas/account";
|
|
||||||
import { Account as AccountSchema } from "~/classes/schemas/account";
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "get",
|
method: "get",
|
||||||
|
|
@ -63,7 +62,7 @@ const route = createRoute({
|
||||||
description: "Accounts which follow the given account.",
|
description: "Accounts which follow the given account.",
|
||||||
content: {
|
content: {
|
||||||
"application/json": {
|
"application/json": {
|
||||||
schema: z.array(Account),
|
schema: z.array(AccountSchema),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
headers: z.object({
|
headers: z.object({
|
||||||
|
|
|
||||||
|
|
@ -6,11 +6,10 @@ import {
|
||||||
withUserParam,
|
withUserParam,
|
||||||
} from "@/api";
|
} from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import { Account as AccountSchema } from "@versia/client-ng/schemas";
|
||||||
import { Timeline } from "@versia/kit/db";
|
import { Timeline } from "@versia/kit/db";
|
||||||
import { RolePermissions, Users } from "@versia/kit/tables";
|
import { RolePermissions, Users } from "@versia/kit/tables";
|
||||||
import { and, gt, gte, lt, sql } from "drizzle-orm";
|
import { and, gt, gte, lt, sql } from "drizzle-orm";
|
||||||
import { Account } from "~/classes/schemas/account";
|
|
||||||
import { Account as AccountSchema } from "~/classes/schemas/account";
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "get",
|
method: "get",
|
||||||
|
|
@ -63,7 +62,7 @@ const route = createRoute({
|
||||||
description: "Accounts which the given account is following.",
|
description: "Accounts which the given account is following.",
|
||||||
content: {
|
content: {
|
||||||
"application/json": {
|
"application/json": {
|
||||||
schema: z.array(Account),
|
schema: z.array(AccountSchema),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
headers: z.object({
|
headers: z.object({
|
||||||
|
|
|
||||||
|
|
@ -6,9 +6,8 @@ import {
|
||||||
withUserParam,
|
withUserParam,
|
||||||
} from "@/api";
|
} from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import { Account as AccountSchema } from "@versia/client-ng/schemas";
|
||||||
import { RolePermissions } from "@versia/kit/tables";
|
import { RolePermissions } from "@versia/kit/tables";
|
||||||
import { Account } from "~/classes/schemas/account";
|
|
||||||
import { Account as AccountSchema } from "~/classes/schemas/account";
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "get",
|
method: "get",
|
||||||
|
|
@ -37,7 +36,7 @@ const route = createRoute({
|
||||||
"The Account record will be returned. Note that acct of local users does not include the domain name.",
|
"The Account record will be returned. Note that acct of local users does not include the domain name.",
|
||||||
content: {
|
content: {
|
||||||
"application/json": {
|
"application/json": {
|
||||||
schema: Account,
|
schema: AccountSchema,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -6,10 +6,12 @@ import {
|
||||||
withUserParam,
|
withUserParam,
|
||||||
} from "@/api";
|
} from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import {
|
||||||
|
Account as AccountSchema,
|
||||||
|
Relationship as RelationshipSchema,
|
||||||
|
} from "@versia/client-ng/schemas";
|
||||||
import { Relationship } from "@versia/kit/db";
|
import { Relationship } from "@versia/kit/db";
|
||||||
import { RolePermissions } from "@versia/kit/tables";
|
import { RolePermissions } from "@versia/kit/tables";
|
||||||
import { Account as AccountSchema } from "~/classes/schemas/account";
|
|
||||||
import { Relationship as RelationshipSchema } from "~/classes/schemas/relationship";
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "post",
|
method: "post",
|
||||||
|
|
|
||||||
|
|
@ -6,10 +6,12 @@ import {
|
||||||
withUserParam,
|
withUserParam,
|
||||||
} from "@/api";
|
} from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import {
|
||||||
|
Account as AccountSchema,
|
||||||
|
Relationship as RelationshipSchema,
|
||||||
|
} from "@versia/client-ng/schemas";
|
||||||
import { Relationship } from "@versia/kit/db";
|
import { Relationship } from "@versia/kit/db";
|
||||||
import { RolePermissions } from "@versia/kit/tables";
|
import { RolePermissions } from "@versia/kit/tables";
|
||||||
import { Account as AccountSchema } from "~/classes/schemas/account";
|
|
||||||
import { Relationship as RelationshipSchema } from "~/classes/schemas/relationship";
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "post",
|
method: "post",
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,11 @@
|
||||||
import { apiRoute, auth, withUserParam } from "@/api";
|
import { apiRoute, auth, withUserParam } from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import {
|
||||||
|
Account as AccountSchema,
|
||||||
|
Relationship as RelationshipSchema,
|
||||||
|
} from "@versia/client-ng/schemas";
|
||||||
import { Relationship } from "@versia/kit/db";
|
import { Relationship } from "@versia/kit/db";
|
||||||
import { RolePermissions } from "@versia/kit/tables";
|
import { RolePermissions } from "@versia/kit/tables";
|
||||||
import { Account as AccountSchema } from "~/classes/schemas/account";
|
|
||||||
import { Relationship as RelationshipSchema } from "~/classes/schemas/relationship";
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "post",
|
method: "post",
|
||||||
|
|
|
||||||
|
|
@ -6,10 +6,9 @@ import {
|
||||||
withUserParam,
|
withUserParam,
|
||||||
} from "@/api";
|
} from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import { Account as AccountSchema } from "@versia/client-ng/schemas";
|
||||||
import { RolePermissions } from "@versia/kit/tables";
|
import { RolePermissions } from "@versia/kit/tables";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { Account } from "~/classes/schemas/account";
|
|
||||||
import { Account as AccountSchema } from "~/classes/schemas/account";
|
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
|
|
@ -36,7 +35,7 @@ const route = createRoute({
|
||||||
description: "Refetched account data",
|
description: "Refetched account data",
|
||||||
content: {
|
content: {
|
||||||
"application/json": {
|
"application/json": {
|
||||||
schema: Account,
|
schema: AccountSchema,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -6,10 +6,12 @@ import {
|
||||||
withUserParam,
|
withUserParam,
|
||||||
} from "@/api";
|
} from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import {
|
||||||
|
Account as AccountSchema,
|
||||||
|
Relationship as RelationshipSchema,
|
||||||
|
} from "@versia/client-ng/schemas";
|
||||||
import { Relationship } from "@versia/kit/db";
|
import { Relationship } from "@versia/kit/db";
|
||||||
import { RolePermissions } from "@versia/kit/tables";
|
import { RolePermissions } from "@versia/kit/tables";
|
||||||
import { Account as AccountSchema } from "~/classes/schemas/account";
|
|
||||||
import { Relationship as RelationshipSchema } from "~/classes/schemas/relationship";
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "post",
|
method: "post",
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,12 @@
|
||||||
import { apiRoute, auth, withUserParam } from "@/api";
|
import { apiRoute, auth, withUserParam } from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import {
|
||||||
|
Account as AccountSchema,
|
||||||
|
Role as RoleSchema,
|
||||||
|
} from "@versia/client-ng/schemas";
|
||||||
import { Role } from "@versia/kit/db";
|
import { Role } from "@versia/kit/db";
|
||||||
import { RolePermissions } from "@versia/kit/tables";
|
import { RolePermissions } from "@versia/kit/tables";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { Account as AccountSchema } from "~/classes/schemas/account";
|
|
||||||
import { Role as RoleSchema } from "~/classes/schemas/versia";
|
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
const routePost = createRoute({
|
const routePost = createRoute({
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,10 @@
|
||||||
import { apiRoute, auth, withUserParam } from "@/api";
|
import { apiRoute, auth, withUserParam } from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import {
|
||||||
|
Account as AccountSchema,
|
||||||
|
Role as RoleSchema,
|
||||||
|
} from "@versia/client-ng/schemas";
|
||||||
import { Role } from "@versia/kit/db";
|
import { Role } from "@versia/kit/db";
|
||||||
import { Account as AccountSchema } from "~/classes/schemas/account";
|
|
||||||
import { Role as RoleSchema } from "~/classes/schemas/versia.ts";
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "get",
|
method: "get",
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,14 @@ import {
|
||||||
withUserParam,
|
withUserParam,
|
||||||
} from "@/api";
|
} from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import {
|
||||||
|
Account as AccountSchema,
|
||||||
|
Status as StatusSchema,
|
||||||
|
zBoolean,
|
||||||
|
} from "@versia/client-ng/schemas";
|
||||||
import { Timeline } from "@versia/kit/db";
|
import { Timeline } from "@versia/kit/db";
|
||||||
import { Notes, RolePermissions } from "@versia/kit/tables";
|
import { Notes, RolePermissions } from "@versia/kit/tables";
|
||||||
import { and, eq, gt, gte, inArray, isNull, lt, or, sql } from "drizzle-orm";
|
import { and, eq, gt, gte, inArray, isNull, lt, or, sql } from "drizzle-orm";
|
||||||
import { Account as AccountSchema } from "~/classes/schemas/account";
|
|
||||||
import { zBoolean } from "~/classes/schemas/common.ts";
|
|
||||||
import { Status as StatusSchema } from "~/classes/schemas/status";
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "get",
|
method: "get",
|
||||||
|
|
|
||||||
|
|
@ -6,10 +6,12 @@ import {
|
||||||
withUserParam,
|
withUserParam,
|
||||||
} from "@/api";
|
} from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import {
|
||||||
|
Account as AccountSchema,
|
||||||
|
Relationship as RelationshipSchema,
|
||||||
|
} from "@versia/client-ng/schemas";
|
||||||
import { Relationship } from "@versia/kit/db";
|
import { Relationship } from "@versia/kit/db";
|
||||||
import { RolePermissions } from "@versia/kit/tables";
|
import { RolePermissions } from "@versia/kit/tables";
|
||||||
import { Account as AccountSchema } from "~/classes/schemas/account";
|
|
||||||
import { Relationship as RelationshipSchema } from "~/classes/schemas/relationship";
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "post",
|
method: "post",
|
||||||
|
|
|
||||||
|
|
@ -6,10 +6,12 @@ import {
|
||||||
withUserParam,
|
withUserParam,
|
||||||
} from "@/api";
|
} from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import {
|
||||||
|
Account as AccountSchema,
|
||||||
|
Relationship as RelationshipSchema,
|
||||||
|
} from "@versia/client-ng/schemas";
|
||||||
import { Relationship } from "@versia/kit/db";
|
import { Relationship } from "@versia/kit/db";
|
||||||
import { RolePermissions } from "@versia/kit/tables";
|
import { RolePermissions } from "@versia/kit/tables";
|
||||||
import { Account as AccountSchema } from "~/classes/schemas/account";
|
|
||||||
import { Relationship as RelationshipSchema } from "~/classes/schemas/relationship";
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "post",
|
method: "post",
|
||||||
|
|
|
||||||
|
|
@ -6,10 +6,12 @@ import {
|
||||||
withUserParam,
|
withUserParam,
|
||||||
} from "@/api";
|
} from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import {
|
||||||
|
Account as AccountSchema,
|
||||||
|
Relationship as RelationshipSchema,
|
||||||
|
} from "@versia/client-ng/schemas";
|
||||||
import { Relationship } from "@versia/kit/db";
|
import { Relationship } from "@versia/kit/db";
|
||||||
import { RolePermissions } from "@versia/kit/tables";
|
import { RolePermissions } from "@versia/kit/tables";
|
||||||
import { Account as AccountSchema } from "~/classes/schemas/account";
|
|
||||||
import { Relationship as RelationshipSchema } from "~/classes/schemas/relationship";
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "post",
|
method: "post",
|
||||||
|
|
|
||||||
|
|
@ -6,10 +6,12 @@ import {
|
||||||
withUserParam,
|
withUserParam,
|
||||||
} from "@/api";
|
} from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import {
|
||||||
|
Account as AccountSchema,
|
||||||
|
Relationship as RelationshipSchema,
|
||||||
|
} from "@versia/client-ng/schemas";
|
||||||
import { Relationship } from "@versia/kit/db";
|
import { Relationship } from "@versia/kit/db";
|
||||||
import { RolePermissions } from "@versia/kit/tables";
|
import { RolePermissions } from "@versia/kit/tables";
|
||||||
import { Account as AccountSchema } from "~/classes/schemas/account";
|
|
||||||
import { Relationship as RelationshipSchema } from "~/classes/schemas/relationship";
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "post",
|
method: "post",
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,12 @@
|
||||||
import { apiRoute, auth, qsQuery, reusedResponses } from "@/api";
|
import { apiRoute, auth, qsQuery, reusedResponses } from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import {
|
||||||
|
Account as AccountSchema,
|
||||||
|
FamiliarFollowers as FamiliarFollowersSchema,
|
||||||
|
} from "@versia/client-ng/schemas";
|
||||||
import { User, db } from "@versia/kit/db";
|
import { User, db } from "@versia/kit/db";
|
||||||
import { RolePermissions, type Users } from "@versia/kit/tables";
|
import { RolePermissions, type Users } from "@versia/kit/tables";
|
||||||
import { type InferSelectModel, sql } from "drizzle-orm";
|
import { type InferSelectModel, sql } from "drizzle-orm";
|
||||||
import { Account as AccountSchema } from "~/classes/schemas/account";
|
|
||||||
import { FamiliarFollowers as FamiliarFollowersSchema } from "~/classes/schemas/familiar-followers";
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "get",
|
method: "get",
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,10 @@
|
||||||
import { accountNotFound, apiRoute, auth, reusedResponses } from "@/api";
|
import { accountNotFound, apiRoute, auth, reusedResponses } from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import { Account as AccountSchema } from "@versia/client-ng/schemas";
|
||||||
import { User } from "@versia/kit/db";
|
import { User } from "@versia/kit/db";
|
||||||
import { RolePermissions, Users } from "@versia/kit/tables";
|
import { RolePermissions, Users } from "@versia/kit/tables";
|
||||||
import { and, eq, isNull } from "drizzle-orm";
|
import { and, eq, isNull } from "drizzle-orm";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { Account } from "~/classes/schemas/account";
|
|
||||||
import { Account as AccountSchema } from "~/classes/schemas/account";
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "get",
|
method: "get",
|
||||||
|
|
@ -31,7 +30,7 @@ const route = createRoute({
|
||||||
description: "Account",
|
description: "Account",
|
||||||
content: {
|
content: {
|
||||||
"application/json": {
|
"application/json": {
|
||||||
schema: Account,
|
schema: AccountSchema,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,12 @@
|
||||||
import { apiRoute, auth, jsonOrForm, reusedResponses } from "@/api";
|
import { apiRoute, auth, jsonOrForm, reusedResponses } from "@/api";
|
||||||
import { tempmailDomains } from "@/tempmail";
|
import { tempmailDomains } from "@/tempmail";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import { zBoolean } from "@versia/client-ng/schemas";
|
||||||
import { User } from "@versia/kit/db";
|
import { User } from "@versia/kit/db";
|
||||||
import { Users } from "@versia/kit/tables";
|
import { Users } from "@versia/kit/tables";
|
||||||
import { and, eq, isNull } from "drizzle-orm";
|
import { and, eq, isNull } from "drizzle-orm";
|
||||||
import ISO6391 from "iso-639-1";
|
import ISO6391 from "iso-639-1";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { zBoolean } from "~/classes/schemas/common";
|
|
||||||
import { config } from "~/config.ts";
|
import { config } from "~/config.ts";
|
||||||
|
|
||||||
const schema = z.object({
|
const schema = z.object({
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@ import {
|
||||||
reusedResponses,
|
reusedResponses,
|
||||||
} from "@/api";
|
} from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import { Account as AccountSchema } from "@versia/client-ng/schemas";
|
||||||
import { Instance, User } from "@versia/kit/db";
|
import { Instance, User } from "@versia/kit/db";
|
||||||
import { RolePermissions, Users } from "@versia/kit/tables";
|
import { RolePermissions, Users } from "@versia/kit/tables";
|
||||||
import { and, eq, isNull } from "drizzle-orm";
|
import { and, eq, isNull } from "drizzle-orm";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { Account } from "~/classes/schemas/account";
|
|
||||||
import { Account as AccountSchema } from "~/classes/schemas/account";
|
|
||||||
import { config } from "~/config.ts";
|
import { config } from "~/config.ts";
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
|
|
@ -39,7 +38,7 @@ const route = createRoute({
|
||||||
description: "Account",
|
description: "Account",
|
||||||
content: {
|
content: {
|
||||||
"application/json": {
|
"application/json": {
|
||||||
schema: Account,
|
schema: AccountSchema,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,12 @@
|
||||||
import { apiRoute, auth, qsQuery, reusedResponses } from "@/api";
|
import { apiRoute, auth, qsQuery, reusedResponses } from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import {
|
||||||
|
Account as AccountSchema,
|
||||||
|
Relationship as RelationshipSchema,
|
||||||
|
zBoolean,
|
||||||
|
} from "@versia/client-ng/schemas";
|
||||||
import { Relationship } from "@versia/kit/db";
|
import { Relationship } from "@versia/kit/db";
|
||||||
import { RolePermissions } from "@versia/kit/tables";
|
import { RolePermissions } from "@versia/kit/tables";
|
||||||
import { Account as AccountSchema } from "~/classes/schemas/account";
|
|
||||||
import { zBoolean } from "~/classes/schemas/common.ts";
|
|
||||||
import { Relationship as RelationshipSchema } from "~/classes/schemas/relationship";
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "get",
|
method: "get",
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,11 @@
|
||||||
import { apiRoute, auth, parseUserAddress } from "@/api";
|
import { apiRoute, auth, parseUserAddress } from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import { Account as AccountSchema, zBoolean } from "@versia/client-ng/schemas";
|
||||||
import { User } from "@versia/kit/db";
|
import { User } from "@versia/kit/db";
|
||||||
import { RolePermissions, Users } from "@versia/kit/tables";
|
import { RolePermissions, Users } from "@versia/kit/tables";
|
||||||
import { eq, ilike, not, or, sql } from "drizzle-orm";
|
import { eq, ilike, not, or, sql } from "drizzle-orm";
|
||||||
import stringComparison from "string-comparison";
|
import stringComparison from "string-comparison";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { Account as AccountSchema } from "~/classes/schemas/account";
|
|
||||||
import { zBoolean } from "~/classes/schemas/common.ts";
|
|
||||||
|
|
||||||
export const route = createRoute({
|
export const route = createRoute({
|
||||||
method: "get",
|
method: "get",
|
||||||
|
|
|
||||||
|
|
@ -2,13 +2,12 @@ import { apiRoute, auth, jsonOrForm, reusedResponses } from "@/api";
|
||||||
import { mergeAndDeduplicate } from "@/lib";
|
import { mergeAndDeduplicate } from "@/lib";
|
||||||
import { sanitizedHtmlStrip } from "@/sanitization";
|
import { sanitizedHtmlStrip } from "@/sanitization";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import { Account as AccountSchema, zBoolean } from "@versia/client-ng/schemas";
|
||||||
import { Emoji, User } from "@versia/kit/db";
|
import { Emoji, User } from "@versia/kit/db";
|
||||||
import { RolePermissions, Users } from "@versia/kit/tables";
|
import { RolePermissions, Users } from "@versia/kit/tables";
|
||||||
import { and, eq, isNull } from "drizzle-orm";
|
import { and, eq, isNull } from "drizzle-orm";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { contentToHtml } from "~/classes/functions/status";
|
import { contentToHtml } from "~/classes/functions/status";
|
||||||
import { Account as AccountSchema } from "~/classes/schemas/account";
|
|
||||||
import { zBoolean } from "~/classes/schemas/common.ts";
|
|
||||||
import { config } from "~/config.ts";
|
import { config } from "~/config.ts";
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
import { apiRoute, auth, reusedResponses } from "@/api";
|
import { apiRoute, auth, reusedResponses } from "@/api";
|
||||||
import { createRoute } from "@hono/zod-openapi";
|
import { createRoute } from "@hono/zod-openapi";
|
||||||
import { Account } from "~/classes/schemas/account";
|
import { Account } from "@versia/client-ng/schemas";
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "get",
|
method: "get",
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
import { apiRoute, jsonOrForm, reusedResponses } from "@/api";
|
import { apiRoute, jsonOrForm, reusedResponses } from "@/api";
|
||||||
import { randomString } from "@/math";
|
import { randomString } from "@/math";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
import { Application } from "@versia/kit/db";
|
|
||||||
import {
|
import {
|
||||||
Application as ApplicationSchema,
|
Application as ApplicationSchema,
|
||||||
CredentialApplication as CredentialApplicationSchema,
|
CredentialApplication as CredentialApplicationSchema,
|
||||||
} from "~/classes/schemas/application";
|
} from "@versia/client-ng/schemas";
|
||||||
|
import { Application } from "@versia/kit/db";
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "post",
|
method: "post",
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
import { apiRoute, auth, reusedResponses } from "@/api";
|
import { apiRoute, auth, reusedResponses } from "@/api";
|
||||||
import { createRoute } from "@hono/zod-openapi";
|
import { createRoute } from "@hono/zod-openapi";
|
||||||
|
import { Application as ApplicationSchema } from "@versia/client-ng/schemas";
|
||||||
import { Application } from "@versia/kit/db";
|
import { Application } from "@versia/kit/db";
|
||||||
import { RolePermissions } from "@versia/kit/tables";
|
import { RolePermissions } from "@versia/kit/tables";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { Application as ApplicationSchema } from "~/classes/schemas/application";
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "get",
|
method: "get",
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
import { apiRoute, auth, reusedResponses } from "@/api";
|
import { apiRoute, auth, reusedResponses } from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import { Account as AccountSchema } from "@versia/client-ng/schemas";
|
||||||
import { Timeline } from "@versia/kit/db";
|
import { Timeline } from "@versia/kit/db";
|
||||||
import { RolePermissions, Users } from "@versia/kit/tables";
|
import { RolePermissions, Users } from "@versia/kit/tables";
|
||||||
import { and, gt, gte, lt, sql } from "drizzle-orm";
|
import { and, gt, gte, lt, sql } from "drizzle-orm";
|
||||||
import { Account as AccountSchema } from "~/classes/schemas/account";
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "get",
|
method: "get",
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
import { apiRoute, auth, reusedResponses } from "@/api";
|
import { apiRoute, auth, reusedResponses } from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import { CustomEmoji as CustomEmojiSchema } from "@versia/client-ng/schemas";
|
||||||
import { Emoji } from "@versia/kit/db";
|
import { Emoji } from "@versia/kit/db";
|
||||||
import { Emojis, RolePermissions } from "@versia/kit/tables";
|
import { Emojis, RolePermissions } from "@versia/kit/tables";
|
||||||
import { and, eq, isNull, or } from "drizzle-orm";
|
import { and, eq, isNull, or } from "drizzle-orm";
|
||||||
import { CustomEmoji as CustomEmojiSchema } from "~/classes/schemas/emoji";
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "get",
|
method: "get",
|
||||||
|
|
|
||||||
|
|
@ -7,9 +7,9 @@ import {
|
||||||
} from "@/api";
|
} from "@/api";
|
||||||
import { mimeLookup } from "@/content_types";
|
import { mimeLookup } from "@/content_types";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import { CustomEmoji as CustomEmojiSchema } from "@versia/client-ng/schemas";
|
||||||
import { RolePermissions } from "@versia/kit/tables";
|
import { RolePermissions } from "@versia/kit/tables";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { CustomEmoji as CustomEmojiSchema } from "~/classes/schemas/emoji";
|
|
||||||
import { config } from "~/config.ts";
|
import { config } from "~/config.ts";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
import { apiRoute, auth, jsonOrForm, reusedResponses } from "@/api";
|
import { apiRoute, auth, jsonOrForm, reusedResponses } from "@/api";
|
||||||
import { mimeLookup } from "@/content_types";
|
import { mimeLookup } from "@/content_types";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import { CustomEmoji as CustomEmojiSchema } from "@versia/client-ng/schemas";
|
||||||
import { Emoji, Media } from "@versia/kit/db";
|
import { Emoji, Media } from "@versia/kit/db";
|
||||||
import { Emojis, RolePermissions } from "@versia/kit/tables";
|
import { Emojis, RolePermissions } from "@versia/kit/tables";
|
||||||
import { and, eq, isNull, or } from "drizzle-orm";
|
import { and, eq, isNull, or } from "drizzle-orm";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { CustomEmoji as CustomEmojiSchema } from "~/classes/schemas/emoji";
|
|
||||||
import { config } from "~/config.ts";
|
import { config } from "~/config.ts";
|
||||||
|
|
||||||
const schema = z.object({
|
const schema = z.object({
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
import { apiRoute, auth, reusedResponses } from "@/api";
|
import { apiRoute, auth, reusedResponses } from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import { Status as StatusSchema } from "@versia/client-ng/schemas";
|
||||||
import { Timeline } from "@versia/kit/db";
|
import { Timeline } from "@versia/kit/db";
|
||||||
import { Notes, RolePermissions } from "@versia/kit/tables";
|
import { Notes, RolePermissions } from "@versia/kit/tables";
|
||||||
import { and, gt, gte, lt, sql } from "drizzle-orm";
|
import { and, gt, gte, lt, sql } from "drizzle-orm";
|
||||||
import { Status as StatusSchema } from "~/classes/schemas/status";
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "get",
|
method: "get",
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,12 @@
|
||||||
import { accountNotFound, apiRoute, auth, reusedResponses } from "@/api";
|
import { accountNotFound, apiRoute, auth, reusedResponses } from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import {
|
||||||
|
Account as AccountSchema,
|
||||||
|
Relationship as RelationshipSchema,
|
||||||
|
} from "@versia/client-ng/schemas";
|
||||||
import { Relationship, User } from "@versia/kit/db";
|
import { Relationship, User } from "@versia/kit/db";
|
||||||
import { RolePermissions } from "@versia/kit/tables";
|
import { RolePermissions } from "@versia/kit/tables";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { Account as AccountSchema } from "~/classes/schemas/account";
|
|
||||||
import { Relationship as RelationshipSchema } from "~/classes/schemas/relationship";
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "post",
|
method: "post",
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,12 @@
|
||||||
import { accountNotFound, apiRoute, auth, reusedResponses } from "@/api";
|
import { accountNotFound, apiRoute, auth, reusedResponses } from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import {
|
||||||
|
Account as AccountSchema,
|
||||||
|
Relationship as RelationshipSchema,
|
||||||
|
} from "@versia/client-ng/schemas";
|
||||||
import { Relationship, User } from "@versia/kit/db";
|
import { Relationship, User } from "@versia/kit/db";
|
||||||
import { RolePermissions } from "@versia/kit/tables";
|
import { RolePermissions } from "@versia/kit/tables";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { Account as AccountSchema } from "~/classes/schemas/account";
|
|
||||||
import { Relationship as RelationshipSchema } from "~/classes/schemas/relationship";
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "post",
|
method: "post",
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
import { apiRoute, auth, reusedResponses } from "@/api";
|
import { apiRoute, auth, reusedResponses } from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import { Account as AccountSchema } from "@versia/client-ng/schemas";
|
||||||
import { Timeline } from "@versia/kit/db";
|
import { Timeline } from "@versia/kit/db";
|
||||||
import { RolePermissions, Users } from "@versia/kit/tables";
|
import { RolePermissions, Users } from "@versia/kit/tables";
|
||||||
import { and, gt, gte, lt, sql } from "drizzle-orm";
|
import { and, gt, gte, lt, sql } from "drizzle-orm";
|
||||||
import { Account as AccountSchema } from "~/classes/schemas/account";
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "get",
|
method: "get",
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
import { apiRoute } from "@/api";
|
import { apiRoute } from "@/api";
|
||||||
import { createRoute } from "@hono/zod-openapi";
|
import { createRoute } from "@hono/zod-openapi";
|
||||||
|
import { ExtendedDescription as ExtendedDescriptionSchema } from "@versia/client-ng/schemas";
|
||||||
import { markdownParse } from "~/classes/functions/status";
|
import { markdownParse } from "~/classes/functions/status";
|
||||||
import { ExtendedDescription as ExtendedDescriptionSchema } from "~/classes/schemas/extended-description";
|
|
||||||
import { config } from "~/config.ts";
|
import { config } from "~/config.ts";
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
import { apiRoute, auth } from "@/api";
|
import { apiRoute, auth } from "@/api";
|
||||||
import { proxyUrl } from "@/response";
|
import { proxyUrl } from "@/response";
|
||||||
import { createRoute, type z } from "@hono/zod-openapi";
|
import { createRoute, type z } from "@hono/zod-openapi";
|
||||||
|
import { InstanceV1 as InstanceV1Schema } from "@versia/client-ng/schemas";
|
||||||
import { Instance, Note, User } from "@versia/kit/db";
|
import { Instance, Note, User } from "@versia/kit/db";
|
||||||
import { Users } from "@versia/kit/tables";
|
import { Users } from "@versia/kit/tables";
|
||||||
import { and, eq, isNull } from "drizzle-orm";
|
import { and, eq, isNull } from "drizzle-orm";
|
||||||
import { markdownParse } from "~/classes/functions/status";
|
import { markdownParse } from "~/classes/functions/status";
|
||||||
import { InstanceV1 as InstanceV1Schema } from "~/classes/schemas/instance-v1";
|
|
||||||
import { config } from "~/config.ts";
|
import { config } from "~/config.ts";
|
||||||
import manifest from "~/package.json";
|
import manifest from "~/package.json";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
import { apiRoute, auth } from "@/api";
|
import { apiRoute, auth } from "@/api";
|
||||||
import { createRoute } from "@hono/zod-openapi";
|
import { createRoute } from "@hono/zod-openapi";
|
||||||
|
import { PrivacyPolicy as PrivacyPolicySchema } from "@versia/client-ng/schemas";
|
||||||
import { markdownParse } from "~/classes/functions/status";
|
import { markdownParse } from "~/classes/functions/status";
|
||||||
import { PrivacyPolicy as PrivacyPolicySchema } from "~/classes/schemas/privacy-policy";
|
|
||||||
import { config } from "~/config.ts";
|
import { config } from "~/config.ts";
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
import { apiRoute, auth } from "@/api";
|
import { apiRoute, auth } from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
import { Rule as RuleSchema } from "~/classes/schemas/rule";
|
import { Rule as RuleSchema } from "@versia/client-ng/schemas";
|
||||||
import { config } from "~/config.ts";
|
import { config } from "~/config.ts";
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
import { apiRoute, auth } from "@/api";
|
import { apiRoute, auth } from "@/api";
|
||||||
import { createRoute } from "@hono/zod-openapi";
|
import { createRoute } from "@hono/zod-openapi";
|
||||||
|
import { TermsOfService as TermsOfServiceSchema } from "@versia/client-ng/schemas";
|
||||||
import { markdownParse } from "~/classes/functions/status";
|
import { markdownParse } from "~/classes/functions/status";
|
||||||
import { TermsOfService as TermsOfServiceSchema } from "~/classes/schemas/tos";
|
|
||||||
import { config } from "~/config.ts";
|
import { config } from "~/config.ts";
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,13 @@
|
||||||
import { apiRoute, auth, reusedResponses } from "@/api";
|
import { apiRoute, auth, reusedResponses } from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import {
|
||||||
|
Marker as MarkerSchema,
|
||||||
|
Notification as NotificationSchema,
|
||||||
|
Status as StatusSchema,
|
||||||
|
} from "@versia/client-ng/schemas";
|
||||||
import { db } from "@versia/kit/db";
|
import { db } from "@versia/kit/db";
|
||||||
import { Markers, RolePermissions } from "@versia/kit/tables";
|
import { Markers, RolePermissions } from "@versia/kit/tables";
|
||||||
import { type SQL, and, eq } from "drizzle-orm";
|
import { type SQL, and, eq } from "drizzle-orm";
|
||||||
import { Marker as MarkerSchema } from "~/classes/schemas/marker";
|
|
||||||
import { Notification as NotificationSchema } from "~/classes/schemas/notification";
|
|
||||||
import { Status as StatusSchema } from "~/classes/schemas/status";
|
|
||||||
|
|
||||||
const MarkerResponseSchema = z.object({
|
const MarkerResponseSchema = z.object({
|
||||||
notifications: MarkerSchema.optional(),
|
notifications: MarkerSchema.optional(),
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
import { apiRoute, auth, reusedResponses } from "@/api";
|
import { apiRoute, auth, reusedResponses } from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import { Attachment as AttachmentSchema } from "@versia/client-ng/schemas";
|
||||||
import { Media } from "@versia/kit/db";
|
import { Media } from "@versia/kit/db";
|
||||||
import { RolePermissions } from "@versia/kit/tables";
|
import { RolePermissions } from "@versia/kit/tables";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { Attachment as AttachmentSchema } from "~/classes/schemas/attachment";
|
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
const routePut = createRoute({
|
const routePut = createRoute({
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
import { apiRoute, auth, reusedResponses } from "@/api";
|
import { apiRoute, auth, reusedResponses } from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import { Attachment as AttachmentSchema } from "@versia/client-ng/schemas";
|
||||||
import { Media } from "@versia/kit/db";
|
import { Media } from "@versia/kit/db";
|
||||||
import { RolePermissions } from "@versia/kit/tables";
|
import { RolePermissions } from "@versia/kit/tables";
|
||||||
import { Attachment as AttachmentSchema } from "~/classes/schemas/attachment";
|
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
import { apiRoute, auth, reusedResponses } from "@/api";
|
import { apiRoute, auth, reusedResponses } from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import { Account as AccountSchema } from "@versia/client-ng/schemas";
|
||||||
import { Timeline } from "@versia/kit/db";
|
import { Timeline } from "@versia/kit/db";
|
||||||
import { RolePermissions, Users } from "@versia/kit/tables";
|
import { RolePermissions, Users } from "@versia/kit/tables";
|
||||||
import { and, gt, gte, lt, sql } from "drizzle-orm";
|
import { and, gt, gte, lt, sql } from "drizzle-orm";
|
||||||
import { Account as AccountSchema } from "~/classes/schemas/account";
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "get",
|
method: "get",
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
import { apiRoute, auth, reusedResponses } from "@/api";
|
import { apiRoute, auth, reusedResponses } from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import { Notification as NotificationSchema } from "@versia/client-ng/schemas";
|
||||||
import { Notification } from "@versia/kit/db";
|
import { Notification } from "@versia/kit/db";
|
||||||
import { RolePermissions } from "@versia/kit/tables";
|
import { RolePermissions } from "@versia/kit/tables";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { Notification as NotificationSchema } from "~/classes/schemas/notification";
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "post",
|
method: "post",
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
import { apiRoute, auth, reusedResponses } from "@/api";
|
import { apiRoute, auth, reusedResponses } from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import { Notification as NotificationSchema } from "@versia/client-ng/schemas";
|
||||||
import { Notification } from "@versia/kit/db";
|
import { Notification } from "@versia/kit/db";
|
||||||
import { RolePermissions } from "@versia/kit/tables";
|
import { RolePermissions } from "@versia/kit/tables";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { Notification as NotificationSchema } from "~/classes/schemas/notification.ts";
|
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,13 @@
|
||||||
import { apiRoute, auth, reusedResponses } from "@/api";
|
import { apiRoute, auth, reusedResponses } from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import {
|
||||||
|
Account as AccountSchema,
|
||||||
|
Notification as NotificationSchema,
|
||||||
|
zBoolean,
|
||||||
|
} from "@versia/client-ng/schemas";
|
||||||
import { Timeline } from "@versia/kit/db";
|
import { Timeline } from "@versia/kit/db";
|
||||||
import { Notifications, RolePermissions } from "@versia/kit/tables";
|
import { Notifications, RolePermissions } from "@versia/kit/tables";
|
||||||
import { and, eq, gt, gte, inArray, lt, not, sql } from "drizzle-orm";
|
import { and, eq, gt, gte, inArray, lt, not, sql } from "drizzle-orm";
|
||||||
import { Account as AccountSchema } from "~/classes/schemas/account";
|
|
||||||
import { zBoolean } from "~/classes/schemas/common.ts";
|
|
||||||
import { Notification as NotificationSchema } from "~/classes/schemas/notification.ts";
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "get",
|
method: "get",
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
import { apiRoute, auth, reusedResponses } from "@/api";
|
import { apiRoute, auth, reusedResponses } from "@/api";
|
||||||
import { createRoute } from "@hono/zod-openapi";
|
import { createRoute } from "@hono/zod-openapi";
|
||||||
|
import { Account } from "@versia/client-ng/schemas";
|
||||||
import { RolePermissions } from "@versia/kit/tables";
|
import { RolePermissions } from "@versia/kit/tables";
|
||||||
import { Account } from "~/classes/schemas/account";
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "delete",
|
method: "delete",
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
import { apiRoute, auth, reusedResponses } from "@/api";
|
import { apiRoute, auth, reusedResponses } from "@/api";
|
||||||
import { createRoute } from "@hono/zod-openapi";
|
import { createRoute } from "@hono/zod-openapi";
|
||||||
|
import { Account } from "@versia/client-ng/schemas";
|
||||||
import { RolePermissions } from "@versia/kit/tables";
|
import { RolePermissions } from "@versia/kit/tables";
|
||||||
import { Account } from "~/classes/schemas/account";
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "delete",
|
method: "delete",
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
import { apiRoute, auth, reusedResponses } from "@/api";
|
import { apiRoute, auth, reusedResponses } from "@/api";
|
||||||
import { createRoute } from "@hono/zod-openapi";
|
import { createRoute } from "@hono/zod-openapi";
|
||||||
|
import { WebPushSubscription as WebPushSubscriptionSchema } from "@versia/client-ng/schemas";
|
||||||
import { PushSubscription } from "@versia/kit/db";
|
import { PushSubscription } from "@versia/kit/db";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { WebPushSubscription as WebPushSubscriptionSchema } from "~/classes/schemas/pushsubscription";
|
|
||||||
import { RolePermissions } from "~/drizzle/schema";
|
import { RolePermissions } from "~/drizzle/schema";
|
||||||
|
|
||||||
export default apiRoute((app) =>
|
export default apiRoute((app) =>
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,11 @@
|
||||||
import { apiRoute, reusedResponses } from "@/api";
|
import { apiRoute, reusedResponses } from "@/api";
|
||||||
import { auth, jsonOrForm } from "@/api";
|
import { auth, jsonOrForm } from "@/api";
|
||||||
import { createRoute } from "@hono/zod-openapi";
|
import { createRoute } from "@hono/zod-openapi";
|
||||||
|
import {
|
||||||
|
WebPushSubscriptionInput,
|
||||||
|
WebPushSubscription as WebPushSubscriptionSchema,
|
||||||
|
} from "@versia/client-ng/schemas";
|
||||||
import { PushSubscription } from "@versia/kit/db";
|
import { PushSubscription } from "@versia/kit/db";
|
||||||
import { WebPushSubscriptionInput } from "~/classes/schemas/pushsubscription";
|
|
||||||
import { WebPushSubscription as WebPushSubscriptionSchema } from "~/classes/schemas/pushsubscription";
|
|
||||||
import { RolePermissions } from "~/drizzle/schema";
|
import { RolePermissions } from "~/drizzle/schema";
|
||||||
|
|
||||||
export default apiRoute((app) =>
|
export default apiRoute((app) =>
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
import { apiRoute, auth, jsonOrForm, reusedResponses } from "@/api";
|
import { apiRoute, auth, jsonOrForm, reusedResponses } from "@/api";
|
||||||
import { createRoute } from "@hono/zod-openapi";
|
import { createRoute } from "@hono/zod-openapi";
|
||||||
import { PushSubscription } from "@versia/kit/db";
|
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
|
||||||
import {
|
import {
|
||||||
WebPushSubscriptionInput,
|
WebPushSubscriptionInput,
|
||||||
WebPushSubscription as WebPushSubscriptionSchema,
|
WebPushSubscription as WebPushSubscriptionSchema,
|
||||||
} from "~/classes/schemas/pushsubscription";
|
} from "@versia/client-ng/schemas";
|
||||||
|
import { PushSubscription } from "@versia/kit/db";
|
||||||
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { RolePermissions } from "~/drizzle/schema";
|
import { RolePermissions } from "~/drizzle/schema";
|
||||||
|
|
||||||
export default apiRoute((app) =>
|
export default apiRoute((app) =>
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
import { apiRoute, auth } from "@/api";
|
import { apiRoute, auth } from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import { Role as RoleSchema } from "@versia/client-ng/schemas";
|
||||||
import { Role } from "@versia/kit/db";
|
import { Role } from "@versia/kit/db";
|
||||||
import { RolePermissions } from "@versia/kit/tables";
|
import { RolePermissions } from "@versia/kit/tables";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { Role as RoleSchema } from "~/classes/schemas/versia.ts";
|
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
const routeGet = createRoute({
|
const routeGet = createRoute({
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
import { apiRoute, auth } from "@/api";
|
import { apiRoute, auth } from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import { Role as RoleSchema } from "@versia/client-ng/schemas";
|
||||||
import { Role } from "@versia/kit/db";
|
import { Role } from "@versia/kit/db";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { Role as RoleSchema } from "~/classes/schemas/versia.ts";
|
|
||||||
import { RolePermissions } from "~/drizzle/schema";
|
import { RolePermissions } from "~/drizzle/schema";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,9 +6,11 @@ import {
|
||||||
withNoteParam,
|
withNoteParam,
|
||||||
} from "@/api";
|
} from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
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";
|
import { RolePermissions } from "@versia/kit/tables";
|
||||||
import { Context as ContextSchema } from "~/classes/schemas/context";
|
|
||||||
import { Status as StatusSchema } from "~/classes/schemas/status";
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "get",
|
method: "get",
|
||||||
|
|
|
||||||
|
|
@ -6,8 +6,8 @@ import {
|
||||||
withNoteParam,
|
withNoteParam,
|
||||||
} from "@/api";
|
} from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import { Status as StatusSchema } from "@versia/client-ng/schemas";
|
||||||
import { RolePermissions } from "@versia/kit/tables";
|
import { RolePermissions } from "@versia/kit/tables";
|
||||||
import { Status as StatusSchema } from "~/classes/schemas/status";
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "post",
|
method: "post",
|
||||||
|
|
|
||||||
|
|
@ -6,11 +6,13 @@ import {
|
||||||
withNoteParam,
|
withNoteParam,
|
||||||
} from "@/api";
|
} from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import {
|
||||||
|
Account as AccountSchema,
|
||||||
|
Status as StatusSchema,
|
||||||
|
} from "@versia/client-ng/schemas";
|
||||||
import { Timeline } from "@versia/kit/db";
|
import { Timeline } from "@versia/kit/db";
|
||||||
import { RolePermissions, Users } from "@versia/kit/tables";
|
import { RolePermissions, Users } from "@versia/kit/tables";
|
||||||
import { and, gt, gte, lt, sql } from "drizzle-orm";
|
import { and, gt, gte, lt, sql } from "drizzle-orm";
|
||||||
import { Account as AccountSchema } from "~/classes/schemas/account";
|
|
||||||
import { Status as StatusSchema } from "~/classes/schemas/status";
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "get",
|
method: "get",
|
||||||
|
|
|
||||||
|
|
@ -7,16 +7,16 @@ import {
|
||||||
withNoteParam,
|
withNoteParam,
|
||||||
} from "@/api";
|
} from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import {
|
||||||
|
Attachment as AttachmentSchema,
|
||||||
|
PollOption,
|
||||||
|
Status as StatusSchema,
|
||||||
|
StatusSource as StatusSourceSchema,
|
||||||
|
zBoolean,
|
||||||
|
} from "@versia/client-ng/schemas";
|
||||||
import { Media } from "@versia/kit/db";
|
import { Media } from "@versia/kit/db";
|
||||||
import { RolePermissions } from "@versia/kit/tables";
|
import { RolePermissions } from "@versia/kit/tables";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { Attachment as AttachmentSchema } from "~/classes/schemas/attachment";
|
|
||||||
import { zBoolean } from "~/classes/schemas/common.ts";
|
|
||||||
import { PollOption } from "~/classes/schemas/poll";
|
|
||||||
import {
|
|
||||||
Status as StatusSchema,
|
|
||||||
StatusSource as StatusSourceSchema,
|
|
||||||
} from "~/classes/schemas/status";
|
|
||||||
import { config } from "~/config.ts";
|
import { config } from "~/config.ts";
|
||||||
|
|
||||||
const schema = z
|
const schema = z
|
||||||
|
|
|
||||||
|
|
@ -6,11 +6,11 @@ import {
|
||||||
withNoteParam,
|
withNoteParam,
|
||||||
} from "@/api";
|
} from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import { Status as StatusSchema } from "@versia/client-ng/schemas";
|
||||||
import { db } from "@versia/kit/db";
|
import { db } from "@versia/kit/db";
|
||||||
import { RolePermissions } from "@versia/kit/tables";
|
import { RolePermissions } from "@versia/kit/tables";
|
||||||
import type { SQL } from "drizzle-orm";
|
import type { SQL } from "drizzle-orm";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { Status as StatusSchema } from "~/classes/schemas/status";
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "post",
|
method: "post",
|
||||||
|
|
|
||||||
|
|
@ -7,10 +7,10 @@ import {
|
||||||
withNoteParam,
|
withNoteParam,
|
||||||
} from "@/api";
|
} from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import { Status as StatusSchema } from "@versia/client-ng/schemas";
|
||||||
import { Note } from "@versia/kit/db";
|
import { Note } from "@versia/kit/db";
|
||||||
import { Notes, RolePermissions } from "@versia/kit/tables";
|
import { Notes, RolePermissions } from "@versia/kit/tables";
|
||||||
import { and, eq } from "drizzle-orm";
|
import { and, eq } from "drizzle-orm";
|
||||||
import { Status as StatusSchema } from "~/classes/schemas/status";
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "post",
|
method: "post",
|
||||||
|
|
|
||||||
|
|
@ -6,11 +6,13 @@ import {
|
||||||
withNoteParam,
|
withNoteParam,
|
||||||
} from "@/api";
|
} from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import {
|
||||||
|
Account as AccountSchema,
|
||||||
|
Status as StatusSchema,
|
||||||
|
} from "@versia/client-ng/schemas";
|
||||||
import { Timeline } from "@versia/kit/db";
|
import { Timeline } from "@versia/kit/db";
|
||||||
import { RolePermissions, Users } from "@versia/kit/tables";
|
import { RolePermissions, Users } from "@versia/kit/tables";
|
||||||
import { and, gt, gte, lt, sql } from "drizzle-orm";
|
import { and, gt, gte, lt, sql } from "drizzle-orm";
|
||||||
import { Account as AccountSchema } from "~/classes/schemas/account";
|
|
||||||
import { Status as StatusSchema } from "~/classes/schemas/status";
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "get",
|
method: "get",
|
||||||
|
|
|
||||||
|
|
@ -6,11 +6,11 @@ import {
|
||||||
withNoteParam,
|
withNoteParam,
|
||||||
} from "@/api";
|
} from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
import { RolePermissions } from "@versia/kit/tables";
|
|
||||||
import {
|
import {
|
||||||
Status as StatusSchema,
|
Status as StatusSchema,
|
||||||
StatusSource as StatusSourceSchema,
|
StatusSource as StatusSourceSchema,
|
||||||
} from "~/classes/schemas/status";
|
} from "@versia/client-ng/schemas";
|
||||||
|
import { RolePermissions } from "@versia/kit/tables";
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "get",
|
method: "get",
|
||||||
|
|
|
||||||
|
|
@ -6,8 +6,8 @@ import {
|
||||||
withNoteParam,
|
withNoteParam,
|
||||||
} from "@/api";
|
} from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import { Status as StatusSchema } from "@versia/client-ng/schemas";
|
||||||
import { RolePermissions } from "@versia/kit/tables";
|
import { RolePermissions } from "@versia/kit/tables";
|
||||||
import { Status as StatusSchema } from "~/classes/schemas/status";
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "post",
|
method: "post",
|
||||||
|
|
|
||||||
|
|
@ -6,9 +6,9 @@ import {
|
||||||
withNoteParam,
|
withNoteParam,
|
||||||
} from "@/api";
|
} from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import { Status as StatusSchema } from "@versia/client-ng/schemas";
|
||||||
import { RolePermissions } from "@versia/kit/tables";
|
import { RolePermissions } from "@versia/kit/tables";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { Status as StatusSchema } from "~/classes/schemas/status";
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "post",
|
method: "post",
|
||||||
|
|
|
||||||
|
|
@ -6,11 +6,11 @@ import {
|
||||||
withNoteParam,
|
withNoteParam,
|
||||||
} from "@/api";
|
} from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import { Status as StatusSchema } from "@versia/client-ng/schemas";
|
||||||
import { Note } from "@versia/kit/db";
|
import { Note } from "@versia/kit/db";
|
||||||
import { Notes, RolePermissions } from "@versia/kit/tables";
|
import { Notes, RolePermissions } from "@versia/kit/tables";
|
||||||
import { and, eq } from "drizzle-orm";
|
import { and, eq } from "drizzle-orm";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { Status as StatusSchema } from "~/classes/schemas/status";
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "post",
|
method: "post",
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,15 @@
|
||||||
import { apiRoute, auth, jsonOrForm, reusedResponses } from "@/api";
|
import { apiRoute, auth, jsonOrForm, reusedResponses } from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import {
|
||||||
|
Attachment as AttachmentSchema,
|
||||||
|
PollOption,
|
||||||
|
Status as StatusSchema,
|
||||||
|
StatusSource as StatusSourceSchema,
|
||||||
|
zBoolean,
|
||||||
|
} from "@versia/client-ng/schemas";
|
||||||
import { Media, Note } from "@versia/kit/db";
|
import { Media, Note } from "@versia/kit/db";
|
||||||
import { RolePermissions } from "@versia/kit/tables";
|
import { RolePermissions } from "@versia/kit/tables";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { Attachment as AttachmentSchema } from "~/classes/schemas/attachment";
|
|
||||||
import { zBoolean } from "~/classes/schemas/common.ts";
|
|
||||||
import { PollOption } from "~/classes/schemas/poll";
|
|
||||||
import {
|
|
||||||
Status as StatusSchema,
|
|
||||||
StatusSource as StatusSourceSchema,
|
|
||||||
} from "~/classes/schemas/status";
|
|
||||||
import { config } from "~/config.ts";
|
import { config } from "~/config.ts";
|
||||||
|
|
||||||
const schema = z
|
const schema = z
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
import { apiRoute, auth, reusedResponses } from "@/api";
|
import { apiRoute, auth, reusedResponses } from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import { Status as StatusSchema } from "@versia/client-ng/schemas";
|
||||||
import { Timeline } from "@versia/kit/db";
|
import { Timeline } from "@versia/kit/db";
|
||||||
import { Notes, RolePermissions } from "@versia/kit/tables";
|
import { Notes, RolePermissions } from "@versia/kit/tables";
|
||||||
import { and, eq, gt, gte, inArray, lt, or, sql } from "drizzle-orm";
|
import { and, eq, gt, gte, inArray, lt, or, sql } from "drizzle-orm";
|
||||||
import { Status as StatusSchema } from "~/classes/schemas/status";
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "get",
|
method: "get",
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,9 @@
|
||||||
import { apiRoute, auth, reusedResponses } from "@/api";
|
import { apiRoute, auth, reusedResponses } from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import { Status as StatusSchema, zBoolean } from "@versia/client-ng/schemas";
|
||||||
import { Timeline } from "@versia/kit/db";
|
import { Timeline } from "@versia/kit/db";
|
||||||
import { Notes, RolePermissions } from "@versia/kit/tables";
|
import { Notes, RolePermissions } from "@versia/kit/tables";
|
||||||
import { and, eq, gt, gte, inArray, lt, or, sql } from "drizzle-orm";
|
import { and, eq, gt, gte, inArray, lt, or, sql } from "drizzle-orm";
|
||||||
import { zBoolean } from "~/classes/schemas/common.ts";
|
|
||||||
import { Status as StatusSchema } from "~/classes/schemas/status";
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "get",
|
method: "get",
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,14 @@
|
||||||
import { apiRoute, auth, jsonOrForm, reusedResponses } from "@/api";
|
import { apiRoute, auth, jsonOrForm, reusedResponses } from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import {
|
||||||
|
FilterKeyword as FilterKeywordSchema,
|
||||||
|
Filter as FilterSchema,
|
||||||
|
zBoolean,
|
||||||
|
} from "@versia/client-ng/schemas";
|
||||||
import { db } from "@versia/kit/db";
|
import { db } from "@versia/kit/db";
|
||||||
import { FilterKeywords, Filters, RolePermissions } from "@versia/kit/tables";
|
import { FilterKeywords, Filters, RolePermissions } from "@versia/kit/tables";
|
||||||
import { type SQL, and, eq, inArray } from "drizzle-orm";
|
import { type SQL, and, eq, inArray } from "drizzle-orm";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { zBoolean } from "~/classes/schemas/common.ts";
|
|
||||||
import {
|
|
||||||
FilterKeyword as FilterKeywordSchema,
|
|
||||||
Filter as FilterSchema,
|
|
||||||
} from "~/classes/schemas/filters";
|
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
const routeGet = createRoute({
|
const routeGet = createRoute({
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,12 @@
|
||||||
import { apiRoute, auth, jsonOrForm, reusedResponses } from "@/api";
|
import { apiRoute, auth, jsonOrForm, reusedResponses } from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
import { db } from "@versia/kit/db";
|
|
||||||
import { FilterKeywords, Filters, RolePermissions } from "@versia/kit/tables";
|
|
||||||
import type { SQL } from "drizzle-orm";
|
|
||||||
import {
|
import {
|
||||||
FilterKeyword as FilterKeywordSchema,
|
FilterKeyword as FilterKeywordSchema,
|
||||||
Filter as FilterSchema,
|
Filter as FilterSchema,
|
||||||
} from "~/classes/schemas/filters";
|
} from "@versia/client-ng/schemas";
|
||||||
|
import { db } from "@versia/kit/db";
|
||||||
|
import { FilterKeywords, Filters, RolePermissions } from "@versia/kit/tables";
|
||||||
|
import type { SQL } from "drizzle-orm";
|
||||||
|
|
||||||
const routeGet = createRoute({
|
const routeGet = createRoute({
|
||||||
method: "get",
|
method: "get",
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
import { apiRoute } from "@/api";
|
import { apiRoute } from "@/api";
|
||||||
import { proxyUrl } from "@/response";
|
import { proxyUrl } from "@/response";
|
||||||
import { createRoute } from "@hono/zod-openapi";
|
import { createRoute } from "@hono/zod-openapi";
|
||||||
|
import { Instance as InstanceSchema } from "@versia/client-ng/schemas";
|
||||||
import { User } from "@versia/kit/db";
|
import { User } from "@versia/kit/db";
|
||||||
import { Users } from "@versia/kit/tables";
|
import { Users } from "@versia/kit/tables";
|
||||||
import { and, eq, isNull } from "drizzle-orm";
|
import { and, eq, isNull } from "drizzle-orm";
|
||||||
import { Instance as InstanceSchema } from "~/classes/schemas/instance";
|
|
||||||
import { config } from "~/config.ts";
|
import { config } from "~/config.ts";
|
||||||
import pkg from "~/package.json";
|
import pkg from "~/package.json";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
import { apiRoute, auth, reusedResponses } from "@/api";
|
import { apiRoute, auth, reusedResponses } from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import { Attachment as AttachmentSchema } from "@versia/client-ng/schemas";
|
||||||
import { Media } from "@versia/kit/db";
|
import { Media } from "@versia/kit/db";
|
||||||
import { RolePermissions } from "@versia/kit/tables";
|
import { RolePermissions } from "@versia/kit/tables";
|
||||||
import { Attachment as AttachmentSchema } from "~/classes/schemas/attachment";
|
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
|
|
|
||||||
|
|
@ -6,14 +6,16 @@ import {
|
||||||
userAddressValidator,
|
userAddressValidator,
|
||||||
} from "@/api";
|
} from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import {
|
||||||
|
Account as AccountSchema,
|
||||||
|
Id,
|
||||||
|
Search as SearchSchema,
|
||||||
|
zBoolean,
|
||||||
|
} from "@versia/client-ng/schemas";
|
||||||
import { Note, User, db } from "@versia/kit/db";
|
import { Note, User, db } from "@versia/kit/db";
|
||||||
import { Instances, Notes, RolePermissions, Users } from "@versia/kit/tables";
|
import { Instances, Notes, RolePermissions, Users } from "@versia/kit/tables";
|
||||||
import { and, eq, inArray, isNull, sql } from "drizzle-orm";
|
import { and, eq, inArray, isNull, sql } from "drizzle-orm";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { Account as AccountSchema } from "~/classes/schemas/account";
|
|
||||||
import { Id } from "~/classes/schemas/common";
|
|
||||||
import { zBoolean } from "~/classes/schemas/common.ts";
|
|
||||||
import { Search as SearchSchema } from "~/classes/schemas/search";
|
|
||||||
import { searchManager } from "~/classes/search/search-manager";
|
import { searchManager } from "~/classes/search/search-manager";
|
||||||
import { config } from "~/config.ts";
|
import { config } from "~/config.ts";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
import { apiRoute } from "@/api";
|
import { apiRoute } from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import { Status as StatusSchema } from "@versia/client-ng/schemas";
|
||||||
import { Note as NoteSchema } from "@versia/federation/schemas";
|
import { Note as NoteSchema } from "@versia/federation/schemas";
|
||||||
import { Note } from "@versia/kit/db";
|
import { Note } from "@versia/kit/db";
|
||||||
import { Notes } from "@versia/kit/tables";
|
import { Notes } from "@versia/kit/tables";
|
||||||
import { and, eq, inArray } from "drizzle-orm";
|
import { and, eq, inArray } from "drizzle-orm";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { Status as StatusSchema } from "~/classes/schemas/status";
|
|
||||||
import { config } from "~/config.ts";
|
import { config } from "~/config.ts";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,12 @@
|
||||||
import { apiRoute } from "@/api";
|
import { apiRoute } from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import { Status as StatusSchema } from "@versia/client-ng/schemas";
|
||||||
import { URICollection as URICollectionSchema } from "@versia/federation/schemas";
|
import { URICollection as URICollectionSchema } from "@versia/federation/schemas";
|
||||||
import type { URICollection } from "@versia/federation/types";
|
import type { URICollection } from "@versia/federation/types";
|
||||||
import { Note, db } from "@versia/kit/db";
|
import { Note, db } from "@versia/kit/db";
|
||||||
import { Notes } from "@versia/kit/tables";
|
import { Notes } from "@versia/kit/tables";
|
||||||
import { and, eq, inArray } from "drizzle-orm";
|
import { and, eq, inArray } from "drizzle-orm";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { Status as StatusSchema } from "~/classes/schemas/status";
|
|
||||||
import { config } from "~/config.ts";
|
import { config } from "~/config.ts";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,12 @@
|
||||||
import { apiRoute } from "@/api";
|
import { apiRoute } from "@/api";
|
||||||
import { createRoute, z } from "@hono/zod-openapi";
|
import { createRoute, z } from "@hono/zod-openapi";
|
||||||
|
import { Status as StatusSchema } from "@versia/client-ng/schemas";
|
||||||
import { URICollection as URICollectionSchema } from "@versia/federation/schemas";
|
import { URICollection as URICollectionSchema } from "@versia/federation/schemas";
|
||||||
import type { URICollection } from "@versia/federation/types";
|
import type { URICollection } from "@versia/federation/types";
|
||||||
import { Note, db } from "@versia/kit/db";
|
import { Note, db } from "@versia/kit/db";
|
||||||
import { Notes } from "@versia/kit/tables";
|
import { Notes } from "@versia/kit/tables";
|
||||||
import { and, eq, inArray } from "drizzle-orm";
|
import { and, eq, inArray } from "drizzle-orm";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { Status as StatusSchema } from "~/classes/schemas/status";
|
|
||||||
import { config } from "~/config.ts";
|
import { config } from "~/config.ts";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
|
|
|
||||||
12
biome.json
12
biome.json
|
|
@ -82,6 +82,18 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"overrides": [
|
||||||
|
{
|
||||||
|
"include": ["packages/client/versia/client.ts"],
|
||||||
|
"linter": {
|
||||||
|
"rules": {
|
||||||
|
"style": {
|
||||||
|
"useNamingConvention": "off"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
"formatter": {
|
"formatter": {
|
||||||
"enabled": true,
|
"enabled": true,
|
||||||
"indentStyle": "space",
|
"indentStyle": "space",
|
||||||
|
|
|
||||||
11
bun.lock
11
bun.lock
|
|
@ -21,6 +21,7 @@
|
||||||
"@logtape/logtape": "^0.9.0",
|
"@logtape/logtape": "^0.9.0",
|
||||||
"@sentry/bun": "^9.5.0",
|
"@sentry/bun": "^9.5.0",
|
||||||
"@versia/client": "^0.1.5",
|
"@versia/client": "^0.1.5",
|
||||||
|
"@versia/client-ng": "workspace:*",
|
||||||
"@versia/federation": "^0.2.1",
|
"@versia/federation": "^0.2.1",
|
||||||
"@versia/kit": "workspace:*",
|
"@versia/kit": "workspace:*",
|
||||||
"altcha-lib": "^1.2.0",
|
"altcha-lib": "^1.2.0",
|
||||||
|
|
@ -85,6 +86,14 @@
|
||||||
"typescript": "^5.7.2",
|
"typescript": "^5.7.2",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
"packages/client": {
|
||||||
|
"name": "@versia/client-ng",
|
||||||
|
"version": "0.2.0-alpha.1",
|
||||||
|
"dependencies": {
|
||||||
|
"@badgateway/oauth2-client": "^2.4.2",
|
||||||
|
"@hono/zod-openapi": "^0.19.2",
|
||||||
|
},
|
||||||
|
},
|
||||||
"packages/plugin-kit": {
|
"packages/plugin-kit": {
|
||||||
"name": "@versia/kit",
|
"name": "@versia/kit",
|
||||||
"version": "0.0.0",
|
"version": "0.0.0",
|
||||||
|
|
@ -537,6 +546,8 @@
|
||||||
|
|
||||||
"@versia/client": ["@versia/client@0.1.5", "", { "dependencies": { "@badgateway/oauth2-client": "^2.4.2", "zod": "^3.24.1" } }, "sha512-POD2/IT98EZZ32kWEPc3XUY2zApX94tuBftNWIMyoT04Sp7CPuvv1TT2fxM2kmgrC6kgbh4I6yirPpzVY+FpSA=="],
|
"@versia/client": ["@versia/client@0.1.5", "", { "dependencies": { "@badgateway/oauth2-client": "^2.4.2", "zod": "^3.24.1" } }, "sha512-POD2/IT98EZZ32kWEPc3XUY2zApX94tuBftNWIMyoT04Sp7CPuvv1TT2fxM2kmgrC6kgbh4I6yirPpzVY+FpSA=="],
|
||||||
|
|
||||||
|
"@versia/client-ng": ["@versia/client-ng@workspace:packages/client"],
|
||||||
|
|
||||||
"@versia/federation": ["@versia/federation@0.2.1", "", { "dependencies": { "magic-regexp": "^0.8.0", "mime-types": "^2.1.35", "zod": "^3.24.1", "zod-validation-error": "^3.4.0" } }, "sha512-FTo3VGNJBGmCi0ZEQMzqFZBbcfbX81kmg0UgY4cKamr1dJWgEf72IAZnEDgrBffFjYtreLGdEjFkkcq3JfS8oQ=="],
|
"@versia/federation": ["@versia/federation@0.2.1", "", { "dependencies": { "magic-regexp": "^0.8.0", "mime-types": "^2.1.35", "zod": "^3.24.1", "zod-validation-error": "^3.4.0" } }, "sha512-FTo3VGNJBGmCi0ZEQMzqFZBbcfbX81kmg0UgY4cKamr1dJWgEf72IAZnEDgrBffFjYtreLGdEjFkkcq3JfS8oQ=="],
|
||||||
|
|
||||||
"@versia/kit": ["@versia/kit@workspace:packages/plugin-kit"],
|
"@versia/kit": ["@versia/kit@workspace:packages/plugin-kit"],
|
||||||
|
|
|
||||||
|
|
@ -5,17 +5,20 @@ import {
|
||||||
RolePermissions,
|
RolePermissions,
|
||||||
} from "@versia/kit/tables";
|
} from "@versia/kit/tables";
|
||||||
import { type BunFile, file } from "bun";
|
import { type BunFile, file } from "bun";
|
||||||
|
import ISO6391 from "iso-639-1";
|
||||||
import { types as mimeTypes } from "mime-types";
|
import { types as mimeTypes } from "mime-types";
|
||||||
import { generateVAPIDKeys } from "web-push";
|
import { generateVAPIDKeys } from "web-push";
|
||||||
import { ZodError } from "zod";
|
import { ZodError } from "zod";
|
||||||
import { fromZodError } from "zod-validation-error";
|
import { fromZodError } from "zod-validation-error";
|
||||||
import { iso631 } from "../schemas/common.ts";
|
|
||||||
|
|
||||||
export enum MediaBackendType {
|
export enum MediaBackendType {
|
||||||
Local = "local",
|
Local = "local",
|
||||||
S3 = "s3",
|
S3 = "s3",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Need to declare this here instead of importing it otherwise we get cyclical import errors
|
||||||
|
export const iso631 = z.enum(ISO6391.getAllCodes() as [string, ...string[]]);
|
||||||
|
|
||||||
const urlPath = z
|
const urlPath = z
|
||||||
.string()
|
.string()
|
||||||
.trim()
|
.trim()
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,8 @@
|
||||||
import type { z } from "@hono/zod-openapi";
|
import type { z } from "@hono/zod-openapi";
|
||||||
|
import type {
|
||||||
|
Application as ApplicationSchema,
|
||||||
|
CredentialApplication,
|
||||||
|
} from "@versia/client-ng/schemas";
|
||||||
import { Token, db } from "@versia/kit/db";
|
import { Token, db } from "@versia/kit/db";
|
||||||
import { Applications } from "@versia/kit/tables";
|
import { Applications } from "@versia/kit/tables";
|
||||||
import {
|
import {
|
||||||
|
|
@ -9,10 +13,6 @@ import {
|
||||||
eq,
|
eq,
|
||||||
inArray,
|
inArray,
|
||||||
} from "drizzle-orm";
|
} from "drizzle-orm";
|
||||||
import type {
|
|
||||||
Application as ApplicationSchema,
|
|
||||||
CredentialApplication,
|
|
||||||
} from "../schemas/application.ts";
|
|
||||||
import { BaseInterface } from "./base.ts";
|
import { BaseInterface } from "./base.ts";
|
||||||
|
|
||||||
type ApplicationType = InferSelectModel<typeof Applications>;
|
type ApplicationType = InferSelectModel<typeof Applications>;
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
import { emojiValidatorWithColons, emojiValidatorWithIdentifiers } from "@/api";
|
import { emojiValidatorWithColons, emojiValidatorWithIdentifiers } from "@/api";
|
||||||
import { proxyUrl } from "@/response";
|
import { proxyUrl } from "@/response";
|
||||||
import type { z } from "@hono/zod-openapi";
|
import type { z } from "@hono/zod-openapi";
|
||||||
|
import type { CustomEmoji } from "@versia/client-ng/schemas";
|
||||||
import type { CustomEmojiExtension } from "@versia/federation/types";
|
import type { CustomEmojiExtension } from "@versia/federation/types";
|
||||||
import { type Instance, Media, db } from "@versia/kit/db";
|
import { type Instance, Media, db } from "@versia/kit/db";
|
||||||
import { Emojis, type Instances, type Medias } from "@versia/kit/tables";
|
import { Emojis, type Instances, type Medias } from "@versia/kit/tables";
|
||||||
|
|
@ -14,7 +15,6 @@ import {
|
||||||
inArray,
|
inArray,
|
||||||
isNull,
|
isNull,
|
||||||
} from "drizzle-orm";
|
} from "drizzle-orm";
|
||||||
import type { CustomEmoji } from "../schemas/emoji.ts";
|
|
||||||
import { BaseInterface } from "./base.ts";
|
import { BaseInterface } from "./base.ts";
|
||||||
|
|
||||||
type EmojiType = InferSelectModel<typeof Emojis> & {
|
type EmojiType = InferSelectModel<typeof Emojis> & {
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ import { join } from "node:path";
|
||||||
import { mimeLookup } from "@/content_types.ts";
|
import { mimeLookup } from "@/content_types.ts";
|
||||||
import { proxyUrl } from "@/response";
|
import { proxyUrl } from "@/response";
|
||||||
import type { z } from "@hono/zod-openapi";
|
import type { z } from "@hono/zod-openapi";
|
||||||
|
import type { Attachment as AttachmentSchema } from "@versia/client-ng/schemas";
|
||||||
import type { ContentFormat } from "@versia/federation/types";
|
import type { ContentFormat } from "@versia/federation/types";
|
||||||
import { db } from "@versia/kit/db";
|
import { db } from "@versia/kit/db";
|
||||||
import { Medias } from "@versia/kit/tables";
|
import { Medias } from "@versia/kit/tables";
|
||||||
|
|
@ -16,7 +17,6 @@ import {
|
||||||
} from "drizzle-orm";
|
} from "drizzle-orm";
|
||||||
import sharp from "sharp";
|
import sharp from "sharp";
|
||||||
import { MediaBackendType } from "~/classes/config/schema.ts";
|
import { MediaBackendType } from "~/classes/config/schema.ts";
|
||||||
import type { Attachment as AttachmentSchema } from "~/classes/schemas/attachment.ts";
|
|
||||||
import { config } from "~/config.ts";
|
import { config } from "~/config.ts";
|
||||||
import { ApiError } from "../errors/api-error.ts";
|
import { ApiError } from "../errors/api-error.ts";
|
||||||
import { getMediaHash } from "../media/media-hasher.ts";
|
import { getMediaHash } from "../media/media-hasher.ts";
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ import { sanitizedHtmlStrip } from "@/sanitization";
|
||||||
import { sentry } from "@/sentry";
|
import { sentry } from "@/sentry";
|
||||||
import type { z } from "@hono/zod-openapi";
|
import type { z } from "@hono/zod-openapi";
|
||||||
import { getLogger } from "@logtape/logtape";
|
import { getLogger } from "@logtape/logtape";
|
||||||
|
import type { Status, Status as StatusSchema } from "@versia/client-ng/schemas";
|
||||||
import { EntityValidator } from "@versia/federation";
|
import { EntityValidator } from "@versia/federation";
|
||||||
import type {
|
import type {
|
||||||
ContentFormat,
|
ContentFormat,
|
||||||
|
|
@ -36,10 +37,8 @@ import {
|
||||||
findManyNotes,
|
findManyNotes,
|
||||||
parseTextMentions,
|
parseTextMentions,
|
||||||
} from "~/classes/functions/status";
|
} from "~/classes/functions/status";
|
||||||
import type { Status as StatusSchema } from "~/classes/schemas/status.ts";
|
|
||||||
import { config } from "~/config.ts";
|
import { config } from "~/config.ts";
|
||||||
import { DeliveryJobType, deliveryQueue } from "../queues/delivery.ts";
|
import { DeliveryJobType, deliveryQueue } from "../queues/delivery.ts";
|
||||||
import type { Status } from "../schemas/status.ts";
|
|
||||||
import { Application } from "./application.ts";
|
import { Application } from "./application.ts";
|
||||||
import { BaseInterface } from "./base.ts";
|
import { BaseInterface } from "./base.ts";
|
||||||
import { Emoji } from "./emoji.ts";
|
import { Emoji } from "./emoji.ts";
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
import type { z } from "@hono/zod-openapi";
|
import type { z } from "@hono/zod-openapi";
|
||||||
|
import type { Notification as NotificationSchema } from "@versia/client-ng/schemas";
|
||||||
import { Note, User, db } from "@versia/kit/db";
|
import { Note, User, db } from "@versia/kit/db";
|
||||||
import { Notifications } from "@versia/kit/tables";
|
import { Notifications } from "@versia/kit/tables";
|
||||||
import {
|
import {
|
||||||
|
|
@ -9,7 +10,6 @@ import {
|
||||||
eq,
|
eq,
|
||||||
inArray,
|
inArray,
|
||||||
} from "drizzle-orm";
|
} from "drizzle-orm";
|
||||||
import type { Notification as NotificationSchema } from "~/classes/schemas/notification.ts";
|
|
||||||
import {
|
import {
|
||||||
transformOutputToUserWithRelations,
|
transformOutputToUserWithRelations,
|
||||||
userExtrasTemplate,
|
userExtrasTemplate,
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
import type { z } from "@hono/zod-openapi";
|
import type { z } from "@hono/zod-openapi";
|
||||||
|
import type { WebPushSubscription as WebPushSubscriptionSchema } from "@versia/client-ng/schemas";
|
||||||
import { type Token, type User, db } from "@versia/kit/db";
|
import { type Token, type User, db } from "@versia/kit/db";
|
||||||
import { PushSubscriptions, Tokens } from "@versia/kit/tables";
|
import { PushSubscriptions, Tokens } from "@versia/kit/tables";
|
||||||
import {
|
import {
|
||||||
|
|
@ -9,7 +10,6 @@ import {
|
||||||
eq,
|
eq,
|
||||||
inArray,
|
inArray,
|
||||||
} from "drizzle-orm";
|
} from "drizzle-orm";
|
||||||
import type { WebPushSubscription as WebPushSubscriptionSchema } from "../schemas/pushsubscription.ts";
|
|
||||||
import { BaseInterface } from "./base.ts";
|
import { BaseInterface } from "./base.ts";
|
||||||
|
|
||||||
type PushSubscriptionType = InferSelectModel<typeof PushSubscriptions>;
|
type PushSubscriptionType = InferSelectModel<typeof PushSubscriptions>;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
import { z } from "@hono/zod-openapi";
|
import { z } from "@hono/zod-openapi";
|
||||||
|
import type { Relationship as RelationshipSchema } from "@versia/client-ng/schemas";
|
||||||
import { db } from "@versia/kit/db";
|
import { db } from "@versia/kit/db";
|
||||||
import { Relationships } from "@versia/kit/tables";
|
import { Relationships } from "@versia/kit/tables";
|
||||||
import {
|
import {
|
||||||
|
|
@ -10,7 +11,6 @@ import {
|
||||||
eq,
|
eq,
|
||||||
inArray,
|
inArray,
|
||||||
} from "drizzle-orm";
|
} from "drizzle-orm";
|
||||||
import type { Relationship as RelationshipSchema } from "~/classes/schemas/relationship";
|
|
||||||
import { BaseInterface } from "./base.ts";
|
import { BaseInterface } from "./base.ts";
|
||||||
import type { User } from "./user.ts";
|
import type { User } from "./user.ts";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
import type { z } from "@hono/zod-openapi";
|
import type { z } from "@hono/zod-openapi";
|
||||||
|
import type { Token as TokenSchema } from "@versia/client-ng/schemas";
|
||||||
import { type Application, User, db } from "@versia/kit/db";
|
import { type Application, User, db } from "@versia/kit/db";
|
||||||
import { Tokens } from "@versia/kit/tables";
|
import { Tokens } from "@versia/kit/tables";
|
||||||
import {
|
import {
|
||||||
|
|
@ -9,7 +10,6 @@ import {
|
||||||
eq,
|
eq,
|
||||||
inArray,
|
inArray,
|
||||||
} from "drizzle-orm";
|
} from "drizzle-orm";
|
||||||
import type { Token as TokenSchema } from "../schemas/token.ts";
|
|
||||||
import { BaseInterface } from "./base.ts";
|
import { BaseInterface } from "./base.ts";
|
||||||
|
|
||||||
type TokenType = InferSelectModel<typeof Tokens> & {
|
type TokenType = InferSelectModel<typeof Tokens> & {
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,11 @@ import { proxyUrl } from "@/response";
|
||||||
import { sentry } from "@/sentry";
|
import { sentry } from "@/sentry";
|
||||||
import type { z } from "@hono/zod-openapi";
|
import type { z } from "@hono/zod-openapi";
|
||||||
import { getLogger } from "@logtape/logtape";
|
import { getLogger } from "@logtape/logtape";
|
||||||
|
import type {
|
||||||
|
Account,
|
||||||
|
Mention as MentionSchema,
|
||||||
|
Source,
|
||||||
|
} from "@versia/client-ng/schemas";
|
||||||
import {
|
import {
|
||||||
EntityValidator,
|
EntityValidator,
|
||||||
FederationRequester,
|
FederationRequester,
|
||||||
|
|
@ -51,8 +56,6 @@ import { config } from "~/config.ts";
|
||||||
import type { KnownEntity } from "~/types/api.ts";
|
import type { KnownEntity } from "~/types/api.ts";
|
||||||
import { DeliveryJobType, deliveryQueue } from "../queues/delivery.ts";
|
import { DeliveryJobType, deliveryQueue } from "../queues/delivery.ts";
|
||||||
import { PushJobType, pushQueue } from "../queues/push.ts";
|
import { PushJobType, pushQueue } from "../queues/push.ts";
|
||||||
import type { Account, Source } from "../schemas/account.ts";
|
|
||||||
import type { Mention as MentionSchema } from "../schemas/status.ts";
|
|
||||||
import { BaseInterface } from "./base.ts";
|
import { BaseInterface } from "./base.ts";
|
||||||
import { Emoji } from "./emoji.ts";
|
import { Emoji } from "./emoji.ts";
|
||||||
import { Instance } from "./instance.ts";
|
import { Instance } from "./instance.ts";
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,9 @@
|
||||||
import type { z } from "@hono/zod-openapi";
|
import type { z } from "@hono/zod-openapi";
|
||||||
|
import type {
|
||||||
|
Notification as NotificationSchema,
|
||||||
|
Source,
|
||||||
|
Status as StatusSchema,
|
||||||
|
} from "@versia/client-ng/schemas";
|
||||||
import type { ContentFormat, InstanceMetadata } from "@versia/federation/types";
|
import type { ContentFormat, InstanceMetadata } from "@versia/federation/types";
|
||||||
import type { Challenge } from "altcha-lib/types";
|
import type { Challenge } from "altcha-lib/types";
|
||||||
import { relations, sql } from "drizzle-orm";
|
import { relations, sql } from "drizzle-orm";
|
||||||
|
|
@ -14,9 +19,6 @@ import {
|
||||||
uniqueIndex,
|
uniqueIndex,
|
||||||
uuid,
|
uuid,
|
||||||
} from "drizzle-orm/pg-core";
|
} from "drizzle-orm/pg-core";
|
||||||
import type { Source } from "~/classes/schemas/account";
|
|
||||||
import type { Notification as NotificationSchema } from "~/classes/schemas/notification.ts";
|
|
||||||
import type { Status as StatusSchema } from "~/classes/schemas/status.ts";
|
|
||||||
|
|
||||||
// biome-ignore lint/nursery/useExplicitType: Type is too complex
|
// biome-ignore lint/nursery/useExplicitType: Type is too complex
|
||||||
const createdAt = () =>
|
const createdAt = () =>
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@
|
||||||
"icon": "https://cdn.versia.pub/branding/icon.svg",
|
"icon": "https://cdn.versia.pub/branding/icon.svg",
|
||||||
"license": "AGPL-3.0-or-later",
|
"license": "AGPL-3.0-or-later",
|
||||||
"keywords": ["federated", "activitypub", "bun"],
|
"keywords": ["federated", "activitypub", "bun"],
|
||||||
"workspaces": ["packages/plugin-kit"],
|
"workspaces": ["packages/*"],
|
||||||
"maintainers": [
|
"maintainers": [
|
||||||
{
|
{
|
||||||
"email": "contact@cpluspatch.com",
|
"email": "contact@cpluspatch.com",
|
||||||
|
|
@ -95,6 +95,7 @@
|
||||||
"@versia/client": "^0.1.5",
|
"@versia/client": "^0.1.5",
|
||||||
"@versia/federation": "^0.2.1",
|
"@versia/federation": "^0.2.1",
|
||||||
"@versia/kit": "workspace:*",
|
"@versia/kit": "workspace:*",
|
||||||
|
"@versia/client-ng": "workspace:*",
|
||||||
"altcha-lib": "^1.2.0",
|
"altcha-lib": "^1.2.0",
|
||||||
"blurhash": "^2.0.5",
|
"blurhash": "^2.0.5",
|
||||||
"bullmq": "^5.43.1",
|
"bullmq": "^5.43.1",
|
||||||
|
|
|
||||||
141
packages/client/README.md
Normal file
141
packages/client/README.md
Normal file
|
|
@ -0,0 +1,141 @@
|
||||||
|
<p align="center">
|
||||||
|
<a href="https://versia.pub"><img src="https://cdn.versia.pub/branding/logo-dark.svg" alt="Versia Logo" height="110"></a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<center><h1><code>@versia/client</code></h1></center>
|
||||||
|
|
||||||
|
TypeScript client API for Versia and Mastodon servers.
|
||||||
|
|
||||||
|
## Efficiency
|
||||||
|
|
||||||
|
The built output of the package is not even `32 KB` in size, making it a lightweight and efficient solution for your Versia needs. Installing the package adds around `5 MB` to your `node_modules` folder, but this does not affect the final bundle size.
|
||||||
|
|
||||||
|
Compilation (bundling/minifying) time is a few seconds, almost all of which is spent on type-checking. The actual compilation time is less than a tenth of a second.
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
This application may be used in the same was as [`megalodon`](https://github.com/h3poteto/megalodon).
|
||||||
|
|
||||||
|
Initialize the client with the following code:
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
import { Client } from "@versia/client";
|
||||||
|
|
||||||
|
const baseUrl = new URL("https://versia.social");
|
||||||
|
const accessToken = "...";
|
||||||
|
|
||||||
|
const client = new Client(baseUrl, accessToken);
|
||||||
|
```
|
||||||
|
|
||||||
|
The client can then be used to interact with the server:
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
const { data: status } = await client.postStatus("Hey there!");
|
||||||
|
```
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
const { data: posts } = await client.getHomeTimeline();
|
||||||
|
```
|
||||||
|
|
||||||
|
Use your editor's IntelliSense to see all available methods and properties. JSDoc comments are always available. Method names are the same as with Megalodon, but with slight parameter changes in some cases.
|
||||||
|
|
||||||
|
All methods have a special `extra` parameter that can be used to pass additional parameters to the underlying HTTP request. This can be used to pass query parameters, headers, etc.:
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
// extra is a RequestInit, the same as the second parameter of native fetch
|
||||||
|
const { data: posts } = await client.getHomeTimeline({
|
||||||
|
headers: { "User-Agent": "MyApp/3" },
|
||||||
|
signal: new AbortSignal(),
|
||||||
|
});
|
||||||
|
```
|
||||||
|
|
||||||
|
## Getting Started
|
||||||
|
|
||||||
|
### Prerequisites
|
||||||
|
|
||||||
|
#### For Usage
|
||||||
|
|
||||||
|
See the [**Compatibility**](#compatibility) section for the supported environments. Any package manager can be used to install the packages.
|
||||||
|
|
||||||
|
#### For Development
|
||||||
|
|
||||||
|
- [**Bun**](https://bun.sh) version `1.1.8` or higher.
|
||||||
|
- Either the [**Linux**](https://www.linux.org) or [**macOS**](https://www.apple.com/macos) operating systems. ([**Windows**](https://www.microsoft.com/windows) will work, but is not officially supported.)
|
||||||
|
|
||||||
|
### Compatibility
|
||||||
|
|
||||||
|
This library is built for JavaScript runtimes with the support for:
|
||||||
|
|
||||||
|
- [**ES Modules**](https://nodejs.org/api/esm.html)
|
||||||
|
- [**ECMAScript 2020**](https://www.ecma-international.org/ecma-262/11.0/index.html)
|
||||||
|
|
||||||
|
#### Runtimes
|
||||||
|
|
||||||
|
- **Node.js**: 14.0+ is the minimum, but only Node.js 20.0+ (LTS) is officially supported.
|
||||||
|
- **Deno**: Support is unknown. 1.0+ is expected to work.
|
||||||
|
- **Bun**: Bun 1.1.8 is the minimum-supported version. As Bun is rapidly evolving, this may change. Previous versions may also work.
|
||||||
|
|
||||||
|
#### Browsers
|
||||||
|
|
||||||
|
Consequently, this library is compatible without any bundling in the following browser versions:
|
||||||
|
|
||||||
|
- **Chrome**: 80+
|
||||||
|
- **Edge**: 80+
|
||||||
|
- **Firefox**: 74+
|
||||||
|
- **Safari**: 13.1+
|
||||||
|
- **Opera**: 67+
|
||||||
|
- **Internet Explorer**: None
|
||||||
|
|
||||||
|
If you are targeting older browsers, please don't, you are doing yourself a disservice.
|
||||||
|
|
||||||
|
Transpilation to non-ES Module environments is not officially supported, but should be simple with the use of a bundler like [**Parcel**](https://parceljs.org) or [**Rollup**](https://rollupjs.org).
|
||||||
|
|
||||||
|
### Installation
|
||||||
|
|
||||||
|
Package is distributed as a scoped package on the NPM registry and [JSR](https://jsr.io).
|
||||||
|
|
||||||
|
We strongly recommend using JSR over NPM for all your packages that are available on it.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# NPM version
|
||||||
|
deno add npm:@versia/client # For Deno
|
||||||
|
npm install @versia/client # For NPM
|
||||||
|
yarn add @versia/client # For Yarn
|
||||||
|
pnpm add @versia/client # For PNPM
|
||||||
|
bun add @versia/client # For Bun
|
||||||
|
|
||||||
|
# JSR version
|
||||||
|
deno add @versia/client # For Deno
|
||||||
|
npx jsr add @versia/client # For JSR
|
||||||
|
yarn dlx jsr add @versia/client # For Yarn
|
||||||
|
pnpm dlx jsr add @versia/client # For PNPM
|
||||||
|
bunx jsr add @versia/client # For Bun
|
||||||
|
```
|
||||||
|
|
||||||
|
#### From Source
|
||||||
|
|
||||||
|
If you want to install from source, you can clone [this repository](https://github.com/versia-pub/api) and run the following commands:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
bun install # Install dependencies
|
||||||
|
|
||||||
|
bun run build # Build the packages
|
||||||
|
```
|
||||||
|
|
||||||
|
The built package will be in the `client/dist` folder.
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
||||||
|
|
||||||
|
## Acknowledgments
|
||||||
|
|
||||||
|
### Projects
|
||||||
|
|
||||||
|
- [**Bun**](https://bun.sh): Thanks to the Bun team for creating an amazing JavaScript runtime.
|
||||||
|
- [**TypeScript**](https://www.typescriptlang.org): TypeScript is the backbone of this project.
|
||||||
|
- [**Node.js**](https://nodejs.org): Node.js created the idea of JavaScript on the server.
|
||||||
|
|
||||||
|
### People
|
||||||
|
|
||||||
|
- [**April John**](https://github.com/cutestnekoaqua): Creator and maintainer of the Versia Server ActivityPub bridge.
|
||||||
3
packages/client/index.ts
Normal file
3
packages/client/index.ts
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
// biome-ignore lint/performance/noBarrelFile: <explanation>
|
||||||
|
export { type Output, ResponseError } from "./versia/base.ts";
|
||||||
|
export { Client } from "./versia/client.ts";
|
||||||
9
packages/client/jsr.jsonc
Normal file
9
packages/client/jsr.jsonc
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
"$schema": "https://jsr.io/schema/config-file.v1.json",
|
||||||
|
"name": "@versia/client",
|
||||||
|
"version": "0.2.0-alpha.1",
|
||||||
|
"exports": {
|
||||||
|
".": "./index.ts",
|
||||||
|
"./schemas": "./schemas.ts"
|
||||||
|
}
|
||||||
|
}
|
||||||
61
packages/client/package.json
Normal file
61
packages/client/package.json
Normal file
|
|
@ -0,0 +1,61 @@
|
||||||
|
{
|
||||||
|
"name": "@versia/client-ng",
|
||||||
|
"displayName": "Versia Client",
|
||||||
|
"version": "0.2.0-alpha.1",
|
||||||
|
"author": {
|
||||||
|
"email": "jesse.wierzbinski@lysand.org",
|
||||||
|
"name": "Jesse Wierzbinski (CPlusPatch)",
|
||||||
|
"url": "https://cpluspatch.com"
|
||||||
|
},
|
||||||
|
"readme": "README.md",
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/versia-pub/server.git",
|
||||||
|
"directory": "packages/client"
|
||||||
|
},
|
||||||
|
"bugs": {
|
||||||
|
"url": "https://github.com/versia-pub/server/issues"
|
||||||
|
},
|
||||||
|
"license": "MIT",
|
||||||
|
"contributors": [
|
||||||
|
{
|
||||||
|
"name": "Jesse Wierzbinski",
|
||||||
|
"email": "jesse.wierzbinski@lysand.org",
|
||||||
|
"url": "https://cpluspatch.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"maintainers": [
|
||||||
|
{
|
||||||
|
"name": "Jesse Wierzbinski",
|
||||||
|
"email": "jesse.wierzbinski@lysand.org",
|
||||||
|
"url": "https://cpluspatch.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Client for Mastodon and Versia API",
|
||||||
|
"categories": ["Other"],
|
||||||
|
"type": "module",
|
||||||
|
"engines": {
|
||||||
|
"bun": ">=1.2.5"
|
||||||
|
},
|
||||||
|
"exports": {
|
||||||
|
".": {
|
||||||
|
"import": "./index.ts",
|
||||||
|
"default": "./index.ts"
|
||||||
|
},
|
||||||
|
"./schemas": {
|
||||||
|
"import": "./schemas.ts",
|
||||||
|
"default": "./schemas.ts"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"type": "opencollective",
|
||||||
|
"url": "https://opencollective.com/lysand"
|
||||||
|
},
|
||||||
|
"homepage": "https://versia.pub",
|
||||||
|
"keywords": ["versia", "mastodon", "api", "typescript", "rest"],
|
||||||
|
"packageManager": "bun@1.2.5",
|
||||||
|
"dependencies": {
|
||||||
|
"@badgateway/oauth2-client": "^2.4.2",
|
||||||
|
"@hono/zod-openapi": "^0.19.2"
|
||||||
|
}
|
||||||
|
}
|
||||||
39
packages/client/schemas.ts
Normal file
39
packages/client/schemas.ts
Normal file
|
|
@ -0,0 +1,39 @@
|
||||||
|
// biome-ignore lint/performance/noBarrelFile: <explanation>
|
||||||
|
export { AccountWarning } from "./schemas/account-warning.ts";
|
||||||
|
export { Account, Source, Field } from "./schemas/account.ts";
|
||||||
|
export { Appeal } from "./schemas/appeal.ts";
|
||||||
|
export { Application, CredentialApplication } from "./schemas/application.ts";
|
||||||
|
export { Attachment } from "./schemas/attachment.ts";
|
||||||
|
export { PreviewCard, PreviewCardAuthor } from "./schemas/card.ts";
|
||||||
|
export { Context } from "./schemas/context.ts";
|
||||||
|
export { CustomEmoji } from "./schemas/emoji.ts";
|
||||||
|
export { ExtendedDescription } from "./schemas/extended-description.ts";
|
||||||
|
export { FamiliarFollowers } from "./schemas/familiar-followers.ts";
|
||||||
|
export {
|
||||||
|
Filter,
|
||||||
|
FilterKeyword,
|
||||||
|
FilterResult,
|
||||||
|
FilterStatus,
|
||||||
|
} from "./schemas/filters.ts";
|
||||||
|
export { InstanceV1 } from "./schemas/instance-v1.ts";
|
||||||
|
export { Instance } from "./schemas/instance.ts";
|
||||||
|
export { Marker } from "./schemas/marker.ts";
|
||||||
|
export { Notification } from "./schemas/notification.ts";
|
||||||
|
export { Poll, PollOption } from "./schemas/poll.ts";
|
||||||
|
export { Preferences } from "./schemas/preferences.ts";
|
||||||
|
export { PrivacyPolicy } from "./schemas/privacy-policy.ts";
|
||||||
|
export {
|
||||||
|
WebPushSubscription,
|
||||||
|
WebPushSubscriptionInput,
|
||||||
|
} from "./schemas/pushsubscription.ts";
|
||||||
|
export { Relationship } from "./schemas/relationship.ts";
|
||||||
|
export { Report } from "./schemas/report.ts";
|
||||||
|
export { Rule } from "./schemas/rule.ts";
|
||||||
|
export { Search } from "./schemas/search.ts";
|
||||||
|
export { Status, Mention, StatusSource } from "./schemas/status.ts";
|
||||||
|
export { Tag } from "./schemas/tag.ts";
|
||||||
|
export { Token } from "./schemas/token.ts";
|
||||||
|
export { TermsOfService } from "./schemas/tos.ts";
|
||||||
|
export { Role, NoteReaction, SSOConfig } from "./schemas/versia.ts";
|
||||||
|
|
||||||
|
export { Id, iso631, zBoolean } from "./schemas/common.ts";
|
||||||
|
|
@ -1,9 +1,8 @@
|
||||||
import { userAddressValidator } from "@/api.ts";
|
import { userAddressValidator } from "@/api.ts";
|
||||||
import { z } from "@hono/zod-openapi";
|
import { z } from "@hono/zod-openapi";
|
||||||
import type { Account as ApiAccount } from "@versia/client/types";
|
import type { Account as ApiAccount } from "@versia/client/types";
|
||||||
import { zBoolean } from "~/classes/schemas/common.ts";
|
|
||||||
import { config } from "~/config.ts";
|
import { config } from "~/config.ts";
|
||||||
import { iso631 } from "./common.ts";
|
import { iso631, zBoolean } from "./common.ts";
|
||||||
import { CustomEmoji } from "./emoji.ts";
|
import { CustomEmoji } from "./emoji.ts";
|
||||||
import { Role } from "./versia.ts";
|
import { Role } from "./versia.ts";
|
||||||
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue