mirror of
https://github.com/versia-pub/server.git
synced 2026-03-13 05:49:16 +01:00
docs(federation): 📝 Update SDK documentation
This commit is contained in:
parent
f79b0bc999
commit
45e5460975
67 changed files with 332 additions and 65 deletions
|
|
@ -5,7 +5,6 @@ import { Account as AccountSchema, zBoolean } from "@versia/client/schemas";
|
|||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Emoji, Media, User } from "@versia/kit/db";
|
||||
import { Users } from "@versia/kit/tables";
|
||||
import * as VersiaEntities from "@versia/sdk/entities";
|
||||
import { and, eq, isNull } from "drizzle-orm";
|
||||
import { describeRoute } from "hono-openapi";
|
||||
import { resolver, validator } from "hono-openapi/zod";
|
||||
|
|
@ -14,6 +13,7 @@ import { ApiError } from "~/classes/errors/api-error";
|
|||
import { contentToHtml } from "~/classes/functions/status";
|
||||
import { config } from "~/config.ts";
|
||||
import { rateLimit } from "~/middlewares/rate-limit";
|
||||
import * as VersiaEntities from "~/packages/sdk/entities";
|
||||
|
||||
export default apiRoute((app) =>
|
||||
app.patch(
|
||||
|
|
|
|||
|
|
@ -15,13 +15,13 @@ import {
|
|||
} from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Emoji, Media } from "@versia/kit/db";
|
||||
import * as VersiaEntities from "@versia/sdk/entities";
|
||||
import { describeRoute } from "hono-openapi";
|
||||
import { resolver, validator } from "hono-openapi/zod";
|
||||
import { z } from "zod";
|
||||
import { ApiError } from "~/classes/errors/api-error";
|
||||
import { contentToHtml, parseTextMentions } from "~/classes/functions/status";
|
||||
import { config } from "~/config.ts";
|
||||
import * as VersiaEntities from "~/packages/sdk/entities";
|
||||
|
||||
const schema = z
|
||||
.object({
|
||||
|
|
|
|||
|
|
@ -9,7 +9,6 @@ import {
|
|||
} from "@versia/client/schemas";
|
||||
import { RolePermission } from "@versia/client/schemas";
|
||||
import { Emoji, Media, Note } from "@versia/kit/db";
|
||||
import * as VersiaEntities from "@versia/sdk/entities";
|
||||
import { randomUUIDv7 } from "bun";
|
||||
import { describeRoute } from "hono-openapi";
|
||||
import { resolver, validator } from "hono-openapi/zod";
|
||||
|
|
@ -17,6 +16,7 @@ import { z } from "zod";
|
|||
import { ApiError } from "~/classes/errors/api-error";
|
||||
import { contentToHtml, parseTextMentions } from "~/classes/functions/status";
|
||||
import { config } from "~/config.ts";
|
||||
import * as VersiaEntities from "~/packages/sdk/entities";
|
||||
|
||||
const schema = z
|
||||
.object({
|
||||
|
|
|
|||
|
|
@ -2,13 +2,13 @@ import { apiRoute, handleZodError } from "@/api";
|
|||
import { Status as StatusSchema } from "@versia/client/schemas";
|
||||
import { Like, User } from "@versia/kit/db";
|
||||
import { Likes } from "@versia/kit/tables";
|
||||
import { LikeSchema } from "@versia/sdk/schemas";
|
||||
import { and, eq, sql } from "drizzle-orm";
|
||||
import { describeRoute } from "hono-openapi";
|
||||
import { resolver, validator } from "hono-openapi/zod";
|
||||
import { z } from "zod";
|
||||
import { ApiError } from "~/classes/errors/api-error";
|
||||
import { config } from "~/config.ts";
|
||||
import { LikeSchema } from "~/packages/sdk/schemas";
|
||||
|
||||
export default apiRoute((app) =>
|
||||
app.get(
|
||||
|
|
|
|||
|
|
@ -2,13 +2,13 @@ import { apiRoute, handleZodError } from "@/api";
|
|||
import { Status as StatusSchema } from "@versia/client/schemas";
|
||||
import { Note } from "@versia/kit/db";
|
||||
import { Notes } from "@versia/kit/tables";
|
||||
import { NoteSchema } from "@versia/sdk/schemas";
|
||||
import { and, eq, inArray } from "drizzle-orm";
|
||||
import { describeRoute } from "hono-openapi";
|
||||
import { resolver, validator } from "hono-openapi/zod";
|
||||
import { z } from "zod";
|
||||
import { ApiError } from "~/classes/errors/api-error";
|
||||
import { config } from "~/config.ts";
|
||||
import { NoteSchema } from "~/packages/sdk/schemas";
|
||||
|
||||
export default apiRoute((app) =>
|
||||
app.get(
|
||||
|
|
|
|||
|
|
@ -2,14 +2,14 @@ import { apiRoute, handleZodError } from "@/api";
|
|||
import { Status as StatusSchema } from "@versia/client/schemas";
|
||||
import { Note, db } from "@versia/kit/db";
|
||||
import { Notes } from "@versia/kit/tables";
|
||||
import * as VersiaEntities from "@versia/sdk/entities";
|
||||
import { URICollectionSchema } from "@versia/sdk/schemas";
|
||||
import { and, eq, inArray } from "drizzle-orm";
|
||||
import { describeRoute } from "hono-openapi";
|
||||
import { resolver, validator } from "hono-openapi/zod";
|
||||
import { z } from "zod";
|
||||
import { ApiError } from "~/classes/errors/api-error";
|
||||
import { config } from "~/config.ts";
|
||||
import * as VersiaEntities from "~/packages/sdk/entities";
|
||||
import { URICollectionSchema } from "~/packages/sdk/schemas";
|
||||
|
||||
export default apiRoute((app) =>
|
||||
app.get(
|
||||
|
|
@ -94,7 +94,9 @@ export default apiRoute((app) =>
|
|||
last:
|
||||
replyCount > limit
|
||||
? new URL(
|
||||
`/notes/${note.id}/quotes?offset=${replyCount - limit}`,
|
||||
`/notes/${note.id}/quotes?offset=${
|
||||
replyCount - limit
|
||||
}`,
|
||||
config.http.base_url,
|
||||
)
|
||||
: new URL(
|
||||
|
|
@ -104,14 +106,18 @@ export default apiRoute((app) =>
|
|||
next:
|
||||
offset + limit < replyCount
|
||||
? new URL(
|
||||
`/notes/${note.id}/quotes?offset=${offset + limit}`,
|
||||
`/notes/${note.id}/quotes?offset=${
|
||||
offset + limit
|
||||
}`,
|
||||
config.http.base_url,
|
||||
)
|
||||
: null,
|
||||
previous:
|
||||
offset - limit >= 0
|
||||
? new URL(
|
||||
`/notes/${note.id}/quotes?offset=${offset - limit}`,
|
||||
`/notes/${note.id}/quotes?offset=${
|
||||
offset - limit
|
||||
}`,
|
||||
config.http.base_url,
|
||||
)
|
||||
: null,
|
||||
|
|
|
|||
|
|
@ -2,14 +2,14 @@ import { apiRoute, handleZodError } from "@/api";
|
|||
import { Status as StatusSchema } from "@versia/client/schemas";
|
||||
import { Note, db } from "@versia/kit/db";
|
||||
import { Notes } from "@versia/kit/tables";
|
||||
import * as VersiaEntities from "@versia/sdk/entities";
|
||||
import { URICollectionSchema } from "@versia/sdk/schemas";
|
||||
import { and, eq, inArray } from "drizzle-orm";
|
||||
import { describeRoute } from "hono-openapi";
|
||||
import { resolver, validator } from "hono-openapi/zod";
|
||||
import { z } from "zod";
|
||||
import { ApiError } from "~/classes/errors/api-error";
|
||||
import { config } from "~/config.ts";
|
||||
import * as VersiaEntities from "~/packages/sdk/entities";
|
||||
import { URICollectionSchema } from "~/packages/sdk/schemas";
|
||||
|
||||
export default apiRoute((app) =>
|
||||
app.get(
|
||||
|
|
@ -92,7 +92,9 @@ export default apiRoute((app) =>
|
|||
last:
|
||||
replyCount > limit
|
||||
? new URL(
|
||||
`/notes/${note.id}/replies?offset=${replyCount - limit}`,
|
||||
`/notes/${note.id}/replies?offset=${
|
||||
replyCount - limit
|
||||
}`,
|
||||
config.http.base_url,
|
||||
)
|
||||
: new URL(
|
||||
|
|
@ -102,14 +104,18 @@ export default apiRoute((app) =>
|
|||
next:
|
||||
offset + limit < replyCount
|
||||
? new URL(
|
||||
`/notes/${note.id}/replies?offset=${offset + limit}`,
|
||||
`/notes/${note.id}/replies?offset=${
|
||||
offset + limit
|
||||
}`,
|
||||
config.http.base_url,
|
||||
)
|
||||
: null,
|
||||
previous:
|
||||
offset - limit >= 0
|
||||
? new URL(
|
||||
`/notes/${note.id}/replies?offset=${offset - limit}`,
|
||||
`/notes/${note.id}/replies?offset=${
|
||||
offset - limit
|
||||
}`,
|
||||
config.http.base_url,
|
||||
)
|
||||
: null,
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import { resolver, validator } from "hono-openapi/zod";
|
|||
import { z } from "zod";
|
||||
import { ApiError } from "~/classes/errors/api-error";
|
||||
import { InboxJobType, inboxQueue } from "~/classes/queues/inbox";
|
||||
import type { JSONObject } from "~/packages/federation/types";
|
||||
import type { JSONObject } from "~/packages/sdk/types";
|
||||
|
||||
export default apiRoute((app) =>
|
||||
app.post(
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
import { apiRoute, handleZodError } from "@/api";
|
||||
import { User } from "@versia/kit/db";
|
||||
import { UserSchema } from "@versia/sdk/schemas";
|
||||
import { describeRoute } from "hono-openapi";
|
||||
import { resolver, validator } from "hono-openapi/zod";
|
||||
import { z } from "zod";
|
||||
import { ApiError } from "~/classes/errors/api-error";
|
||||
import { UserSchema } from "~/packages/sdk/schemas";
|
||||
|
||||
export default apiRoute((app) =>
|
||||
app.get(
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
import { apiRoute, handleZodError } from "@/api";
|
||||
import { Note, User, db } from "@versia/kit/db";
|
||||
import { Notes } from "@versia/kit/tables";
|
||||
import * as VersiaEntities from "@versia/sdk/entities";
|
||||
import { CollectionSchema, NoteSchema } from "@versia/sdk/schemas";
|
||||
import { and, eq, inArray } from "drizzle-orm";
|
||||
import { describeRoute } from "hono-openapi";
|
||||
import { resolver, validator } from "hono-openapi/zod";
|
||||
import { z } from "zod";
|
||||
import { ApiError } from "~/classes/errors/api-error";
|
||||
import { config } from "~/config.ts";
|
||||
import * as VersiaEntities from "~/packages/sdk/entities";
|
||||
import { CollectionSchema, NoteSchema } from "~/packages/sdk/schemas";
|
||||
|
||||
const NOTES_PER_PAGE = 20;
|
||||
|
||||
|
|
|
|||
|
|
@ -2,12 +2,12 @@ import { apiRoute } from "@/api";
|
|||
import { urlToContentFormat } from "@/content_types";
|
||||
import { User } from "@versia/kit/db";
|
||||
import { Users } from "@versia/kit/tables";
|
||||
import { InstanceMetadataSchema } from "@versia/sdk/schemas";
|
||||
import { asc } from "drizzle-orm";
|
||||
import { describeRoute } from "hono-openapi";
|
||||
import { resolver } from "hono-openapi/zod";
|
||||
import { config } from "~/config.ts";
|
||||
import pkg from "~/package.json";
|
||||
import { InstanceMetadataSchema } from "~/packages/sdk/schemas";
|
||||
|
||||
export default apiRoute((app) =>
|
||||
app.get(
|
||||
|
|
|
|||
|
|
@ -8,13 +8,13 @@ import {
|
|||
import { getLogger } from "@logtape/logtape";
|
||||
import { User } from "@versia/kit/db";
|
||||
import { Users } from "@versia/kit/tables";
|
||||
import { WebFingerSchema } from "@versia/sdk/schemas";
|
||||
import { and, eq, isNull } from "drizzle-orm";
|
||||
import { describeRoute } from "hono-openapi";
|
||||
import { resolver, validator } from "hono-openapi/zod";
|
||||
import { z } from "zod";
|
||||
import { ApiError } from "~/classes/errors/api-error";
|
||||
import { config } from "~/config.ts";
|
||||
import { WebFingerSchema } from "~/packages/sdk/schemas";
|
||||
|
||||
export default apiRoute((app) =>
|
||||
app.get(
|
||||
|
|
@ -101,7 +101,9 @@ export default apiRoute((app) =>
|
|||
|
||||
return context.json(
|
||||
{
|
||||
subject: `acct:${isUuid ? user.id : user.data.username}@${host}`,
|
||||
subject: `acct:${
|
||||
isUuid ? user.id : user.data.username
|
||||
}@${host}`,
|
||||
|
||||
links: [
|
||||
// Keep the ActivityPub link first, because Misskey only searches
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue