mirror of
https://github.com/versia-pub/server.git
synced 2025-12-07 16:58:20 +01:00
refactor(api): ♻️ Simplify route schema definitions
This commit is contained in:
parent
4926d6ff5d
commit
16f302c2dc
|
|
@ -10,7 +10,7 @@ import { z } from "zod";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { config } from "~/packages/config-manager";
|
import { config } from "~/packages/config-manager";
|
||||||
|
|
||||||
export const schemas = {
|
const schemas = {
|
||||||
form: z.object({
|
form: z.object({
|
||||||
identifier: z
|
identifier: z
|
||||||
.string()
|
.string()
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ import { and, eq } from "drizzle-orm";
|
||||||
import { z } from "zod";
|
import { z } from "zod";
|
||||||
import { config } from "~/packages/config-manager";
|
import { config } from "~/packages/config-manager";
|
||||||
|
|
||||||
export const schemas = {
|
const schemas = {
|
||||||
query: z.object({
|
query: z.object({
|
||||||
redirect_uri: z.string().url(),
|
redirect_uri: z.string().url(),
|
||||||
client_id: z.string(),
|
client_id: z.string(),
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ import type { Context } from "hono";
|
||||||
import { z } from "zod";
|
import { z } from "zod";
|
||||||
import { config } from "~/packages/config-manager";
|
import { config } from "~/packages/config-manager";
|
||||||
|
|
||||||
export const schemas = {
|
const schemas = {
|
||||||
form: z.object({
|
form: z.object({
|
||||||
token: z.string().min(1),
|
token: z.string().min(1),
|
||||||
password: z.string().min(3).max(100),
|
password: z.string().min(3).max(100),
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,6 @@ import { z } from "zod";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
export const schemas = {
|
|
||||||
param: z.object({
|
|
||||||
id: z.string().uuid(),
|
|
||||||
}),
|
|
||||||
};
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "post",
|
method: "post",
|
||||||
path: "/api/v1/accounts/{id}/block",
|
path: "/api/v1/accounts/{id}/block",
|
||||||
|
|
@ -46,7 +40,9 @@ const route = createRoute({
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
request: {
|
request: {
|
||||||
params: schemas.param,
|
params: z.object({
|
||||||
|
id: z.string().uuid(),
|
||||||
|
}),
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ import { z } from "zod";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
export const schemas = {
|
const schemas = {
|
||||||
param: z.object({
|
param: z.object({
|
||||||
id: z.string().uuid(),
|
id: z.string().uuid(),
|
||||||
}),
|
}),
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
import { apiRoute, auth, idValidator } from "@/api";
|
import { apiRoute, auth } from "@/api";
|
||||||
import { createRoute } from "@hono/zod-openapi";
|
import { createRoute } from "@hono/zod-openapi";
|
||||||
import { Timeline, User } from "@versia/kit/db";
|
import { Timeline, User } from "@versia/kit/db";
|
||||||
import { RolePermissions, Users } from "@versia/kit/tables";
|
import { RolePermissions, Users } from "@versia/kit/tables";
|
||||||
|
|
@ -7,11 +7,11 @@ import { z } from "zod";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
export const schemas = {
|
const schemas = {
|
||||||
query: z.object({
|
query: z.object({
|
||||||
max_id: z.string().regex(idValidator).optional(),
|
max_id: z.string().uuid().optional(),
|
||||||
since_id: z.string().regex(idValidator).optional(),
|
since_id: z.string().uuid().optional(),
|
||||||
min_id: z.string().regex(idValidator).optional(),
|
min_id: z.string().uuid().optional(),
|
||||||
limit: z.coerce.number().int().min(1).max(40).optional().default(20),
|
limit: z.coerce.number().int().min(1).max(40).optional().default(20),
|
||||||
}),
|
}),
|
||||||
param: z.object({
|
param: z.object({
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
import { apiRoute, auth, idValidator } from "@/api";
|
import { apiRoute, auth } from "@/api";
|
||||||
import { createRoute } from "@hono/zod-openapi";
|
import { createRoute } from "@hono/zod-openapi";
|
||||||
import { Timeline, User } from "@versia/kit/db";
|
import { Timeline, User } from "@versia/kit/db";
|
||||||
import { RolePermissions, Users } from "@versia/kit/tables";
|
import { RolePermissions, Users } from "@versia/kit/tables";
|
||||||
|
|
@ -7,11 +7,11 @@ import { z } from "zod";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
export const schemas = {
|
const schemas = {
|
||||||
query: z.object({
|
query: z.object({
|
||||||
max_id: z.string().regex(idValidator).optional(),
|
max_id: z.string().uuid().optional(),
|
||||||
since_id: z.string().regex(idValidator).optional(),
|
since_id: z.string().uuid().optional(),
|
||||||
min_id: z.string().regex(idValidator).optional(),
|
min_id: z.string().uuid().optional(),
|
||||||
limit: z.coerce.number().int().min(1).max(40).optional().default(20),
|
limit: z.coerce.number().int().min(1).max(40).optional().default(20),
|
||||||
}),
|
}),
|
||||||
param: z.object({
|
param: z.object({
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,6 @@ import { z } from "zod";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
export const schemas = {
|
|
||||||
param: z.object({
|
|
||||||
id: z.string().uuid(),
|
|
||||||
}),
|
|
||||||
};
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "get",
|
method: "get",
|
||||||
path: "/api/v1/accounts/{id}",
|
path: "/api/v1/accounts/{id}",
|
||||||
|
|
@ -24,7 +18,9 @@ const route = createRoute({
|
||||||
}),
|
}),
|
||||||
] as const,
|
] as const,
|
||||||
request: {
|
request: {
|
||||||
params: schemas.param,
|
params: z.object({
|
||||||
|
id: z.string().uuid(),
|
||||||
|
}),
|
||||||
},
|
},
|
||||||
responses: {
|
responses: {
|
||||||
200: {
|
200: {
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ import { z } from "zod";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
export const schemas = {
|
const schemas = {
|
||||||
param: z.object({
|
param: z.object({
|
||||||
id: z.string().uuid(),
|
id: z.string().uuid(),
|
||||||
}),
|
}),
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ import { z } from "zod";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
export const schemas = {
|
const schemas = {
|
||||||
param: z.object({
|
param: z.object({
|
||||||
id: z.string().uuid(),
|
id: z.string().uuid(),
|
||||||
}),
|
}),
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,6 @@ import { z } from "zod";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
export const schemas = {
|
|
||||||
param: z.object({
|
|
||||||
id: z.string().uuid(),
|
|
||||||
}),
|
|
||||||
};
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "post",
|
method: "post",
|
||||||
path: "/api/v1/accounts/{id}/pin",
|
path: "/api/v1/accounts/{id}/pin",
|
||||||
|
|
@ -28,7 +22,9 @@ const route = createRoute({
|
||||||
}),
|
}),
|
||||||
] as const,
|
] as const,
|
||||||
request: {
|
request: {
|
||||||
params: schemas.param,
|
params: z.object({
|
||||||
|
id: z.string().uuid(),
|
||||||
|
}),
|
||||||
},
|
},
|
||||||
responses: {
|
responses: {
|
||||||
200: {
|
200: {
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,6 @@ import { z } from "zod";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
export const schemas = {
|
|
||||||
param: z.object({
|
|
||||||
id: z.string().uuid(),
|
|
||||||
}),
|
|
||||||
};
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "post",
|
method: "post",
|
||||||
path: "/api/v1/accounts/{id}/refetch",
|
path: "/api/v1/accounts/{id}/refetch",
|
||||||
|
|
@ -25,7 +19,9 @@ const route = createRoute({
|
||||||
}),
|
}),
|
||||||
] as const,
|
] as const,
|
||||||
request: {
|
request: {
|
||||||
params: schemas.param,
|
params: z.object({
|
||||||
|
id: z.string().uuid(),
|
||||||
|
}),
|
||||||
},
|
},
|
||||||
responses: {
|
responses: {
|
||||||
200: {
|
200: {
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,6 @@ import { z } from "zod";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
export const schemas = {
|
|
||||||
param: z.object({
|
|
||||||
id: z.string().uuid(),
|
|
||||||
}),
|
|
||||||
};
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "post",
|
method: "post",
|
||||||
path: "/api/v1/accounts/{id}/remove_from_followers",
|
path: "/api/v1/accounts/{id}/remove_from_followers",
|
||||||
|
|
@ -28,7 +22,9 @@ const route = createRoute({
|
||||||
}),
|
}),
|
||||||
] as const,
|
] as const,
|
||||||
request: {
|
request: {
|
||||||
params: schemas.param,
|
params: z.object({
|
||||||
|
id: z.string().uuid(),
|
||||||
|
}),
|
||||||
},
|
},
|
||||||
responses: {
|
responses: {
|
||||||
200: {
|
200: {
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ import { z } from "zod";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
export const schemas = {
|
const schemas = {
|
||||||
param: z.object({
|
param: z.object({
|
||||||
id: z.string().uuid(),
|
id: z.string().uuid(),
|
||||||
role_id: z.string().uuid(),
|
role_id: z.string().uuid(),
|
||||||
|
|
|
||||||
|
|
@ -5,12 +5,6 @@ import { z } from "zod";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
export const schemas = {
|
|
||||||
param: z.object({
|
|
||||||
id: z.string().uuid(),
|
|
||||||
}),
|
|
||||||
};
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "get",
|
method: "get",
|
||||||
path: "/api/v1/accounts/{id}/roles",
|
path: "/api/v1/accounts/{id}/roles",
|
||||||
|
|
@ -21,7 +15,9 @@ const route = createRoute({
|
||||||
}),
|
}),
|
||||||
] as const,
|
] as const,
|
||||||
request: {
|
request: {
|
||||||
params: schemas.param,
|
params: z.object({
|
||||||
|
id: z.string().uuid(),
|
||||||
|
}),
|
||||||
},
|
},
|
||||||
responses: {
|
responses: {
|
||||||
200: {
|
200: {
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
import { apiRoute, auth, idValidator } from "@/api";
|
import { apiRoute, auth } from "@/api";
|
||||||
import { createRoute } from "@hono/zod-openapi";
|
import { createRoute } from "@hono/zod-openapi";
|
||||||
import { Note, Timeline, User } from "@versia/kit/db";
|
import { Note, Timeline, User } from "@versia/kit/db";
|
||||||
import { Notes, RolePermissions } from "@versia/kit/tables";
|
import { Notes, RolePermissions } from "@versia/kit/tables";
|
||||||
|
|
@ -7,14 +7,14 @@ import { z } from "zod";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
export const schemas = {
|
const schemas = {
|
||||||
param: z.object({
|
param: z.object({
|
||||||
id: z.string().uuid(),
|
id: z.string().uuid(),
|
||||||
}),
|
}),
|
||||||
query: z.object({
|
query: z.object({
|
||||||
max_id: z.string().regex(idValidator).optional(),
|
max_id: z.string().uuid().optional(),
|
||||||
since_id: z.string().regex(idValidator).optional(),
|
since_id: z.string().uuid().optional(),
|
||||||
min_id: z.string().regex(idValidator).optional(),
|
min_id: z.string().uuid().optional(),
|
||||||
limit: z.coerce.number().int().min(1).max(40).optional().default(20),
|
limit: z.coerce.number().int().min(1).max(40).optional().default(20),
|
||||||
only_media: z
|
only_media: z
|
||||||
.string()
|
.string()
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,6 @@ import { z } from "zod";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
export const schemas = {
|
|
||||||
param: z.object({
|
|
||||||
id: z.string().uuid(),
|
|
||||||
}),
|
|
||||||
};
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "post",
|
method: "post",
|
||||||
path: "/api/v1/accounts/{id}/unblock",
|
path: "/api/v1/accounts/{id}/unblock",
|
||||||
|
|
@ -28,7 +22,9 @@ const route = createRoute({
|
||||||
}),
|
}),
|
||||||
] as const,
|
] as const,
|
||||||
request: {
|
request: {
|
||||||
params: schemas.param,
|
params: z.object({
|
||||||
|
id: z.string().uuid(),
|
||||||
|
}),
|
||||||
},
|
},
|
||||||
responses: {
|
responses: {
|
||||||
200: {
|
200: {
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,6 @@ import { z } from "zod";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
export const schemas = {
|
|
||||||
param: z.object({
|
|
||||||
id: z.string().uuid(),
|
|
||||||
}),
|
|
||||||
};
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "post",
|
method: "post",
|
||||||
path: "/api/v1/accounts/{id}/unfollow",
|
path: "/api/v1/accounts/{id}/unfollow",
|
||||||
|
|
@ -28,7 +22,9 @@ const route = createRoute({
|
||||||
}),
|
}),
|
||||||
] as const,
|
] as const,
|
||||||
request: {
|
request: {
|
||||||
params: schemas.param,
|
params: z.object({
|
||||||
|
id: z.string().uuid(),
|
||||||
|
}),
|
||||||
},
|
},
|
||||||
responses: {
|
responses: {
|
||||||
200: {
|
200: {
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,6 @@ import { z } from "zod";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
export const schemas = {
|
|
||||||
param: z.object({
|
|
||||||
id: z.string().uuid(),
|
|
||||||
}),
|
|
||||||
};
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "post",
|
method: "post",
|
||||||
path: "/api/v1/accounts/{id}/unmute",
|
path: "/api/v1/accounts/{id}/unmute",
|
||||||
|
|
@ -28,7 +22,9 @@ const route = createRoute({
|
||||||
}),
|
}),
|
||||||
] as const,
|
] as const,
|
||||||
request: {
|
request: {
|
||||||
params: schemas.param,
|
params: z.object({
|
||||||
|
id: z.string().uuid(),
|
||||||
|
}),
|
||||||
},
|
},
|
||||||
responses: {
|
responses: {
|
||||||
200: {
|
200: {
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,6 @@ import { z } from "zod";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
export const schemas = {
|
|
||||||
param: z.object({
|
|
||||||
id: z.string().uuid(),
|
|
||||||
}),
|
|
||||||
};
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "post",
|
method: "post",
|
||||||
path: "/api/v1/accounts/{id}/unpin",
|
path: "/api/v1/accounts/{id}/unpin",
|
||||||
|
|
@ -28,7 +22,9 @@ const route = createRoute({
|
||||||
}),
|
}),
|
||||||
] as const,
|
] as const,
|
||||||
request: {
|
request: {
|
||||||
params: schemas.param,
|
params: z.object({
|
||||||
|
id: z.string().uuid(),
|
||||||
|
}),
|
||||||
},
|
},
|
||||||
responses: {
|
responses: {
|
||||||
200: {
|
200: {
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ import { RolePermissions, type Users } from "@versia/kit/tables";
|
||||||
import { type InferSelectModel, sql } from "drizzle-orm";
|
import { type InferSelectModel, sql } from "drizzle-orm";
|
||||||
import { z } from "zod";
|
import { z } from "zod";
|
||||||
|
|
||||||
export const schemas = {
|
const schemas = {
|
||||||
query: z.object({
|
query: z.object({
|
||||||
id: z
|
id: z
|
||||||
.array(z.string().uuid())
|
.array(z.string().uuid())
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ import { z } from "zod";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
export const schemas = {
|
const schemas = {
|
||||||
query: z.object({
|
query: z.object({
|
||||||
username: z.string().min(1).max(512).toLowerCase(),
|
username: z.string().min(1).max(512).toLowerCase(),
|
||||||
}),
|
}),
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ import { z } from "zod";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { config } from "~/packages/config-manager";
|
import { config } from "~/packages/config-manager";
|
||||||
|
|
||||||
export const schemas = {
|
const schemas = {
|
||||||
json: z.object({
|
json: z.object({
|
||||||
username: z.string(),
|
username: z.string(),
|
||||||
email: z.string().toLowerCase(),
|
email: z.string().toLowerCase(),
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { config } from "~/packages/config-manager";
|
import { config } from "~/packages/config-manager";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
export const schemas = {
|
const schemas = {
|
||||||
query: z.object({
|
query: z.object({
|
||||||
acct: z.string().min(1).max(512).toLowerCase(),
|
acct: z.string().min(1).max(512).toLowerCase(),
|
||||||
}),
|
}),
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ import { Relationship } from "@versia/kit/db";
|
||||||
import { RolePermissions } from "@versia/kit/tables";
|
import { RolePermissions } from "@versia/kit/tables";
|
||||||
import { z } from "zod";
|
import { z } from "zod";
|
||||||
|
|
||||||
export const schemas = {
|
const schemas = {
|
||||||
query: z.object({
|
query: z.object({
|
||||||
id: z.array(z.string().uuid()).min(1).max(10).or(z.string().uuid()),
|
id: z.array(z.string().uuid()).min(1).max(10).or(z.string().uuid()),
|
||||||
}),
|
}),
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ import stringComparison from "string-comparison";
|
||||||
import { z } from "zod";
|
import { z } from "zod";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
|
|
||||||
export const schemas = {
|
const schemas = {
|
||||||
query: z.object({
|
query: z.object({
|
||||||
q: z.string().min(1).max(512).regex(userAddressValidator),
|
q: z.string().min(1).max(512).regex(userAddressValidator),
|
||||||
limit: z.coerce.number().int().min(1).max(80).default(40),
|
limit: z.coerce.number().int().min(1).max(80).default(40),
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ import { MediaManager } from "~/classes/media/media-manager";
|
||||||
import { config } from "~/packages/config-manager/index.ts";
|
import { config } from "~/packages/config-manager/index.ts";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
export const schemas = {
|
const schemas = {
|
||||||
json: z.object({
|
json: z.object({
|
||||||
display_name: z
|
display_name: z
|
||||||
.string()
|
.string()
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ import { createRoute } from "@hono/zod-openapi";
|
||||||
import { Application } from "@versia/kit/db";
|
import { Application } from "@versia/kit/db";
|
||||||
import { z } from "zod";
|
import { z } from "zod";
|
||||||
|
|
||||||
export const schemas = {
|
const schemas = {
|
||||||
json: z.object({
|
json: z.object({
|
||||||
client_name: z.string().trim().min(1).max(100),
|
client_name: z.string().trim().min(1).max(100),
|
||||||
redirect_uris: z
|
redirect_uris: z
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,15 @@
|
||||||
import { apiRoute, auth, idValidator } from "@/api";
|
import { apiRoute, auth } from "@/api";
|
||||||
import { createRoute } from "@hono/zod-openapi";
|
import { createRoute } from "@hono/zod-openapi";
|
||||||
import { Timeline, User } from "@versia/kit/db";
|
import { Timeline, User } 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 { z } from "zod";
|
import { z } from "zod";
|
||||||
|
|
||||||
export const schemas = {
|
const schemas = {
|
||||||
query: z.object({
|
query: z.object({
|
||||||
max_id: z.string().regex(idValidator).optional(),
|
max_id: z.string().uuid().optional(),
|
||||||
since_id: z.string().regex(idValidator).optional(),
|
since_id: z.string().uuid().optional(),
|
||||||
min_id: z.string().regex(idValidator).optional(),
|
min_id: z.string().uuid().optional(),
|
||||||
limit: z.coerce.number().int().min(1).max(80).default(40),
|
limit: z.coerce.number().int().min(1).max(80).default(40),
|
||||||
}),
|
}),
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ import { MediaManager } from "~/classes/media/media-manager";
|
||||||
import { config } from "~/packages/config-manager";
|
import { config } from "~/packages/config-manager";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
export const schemas = {
|
const schemas = {
|
||||||
param: z.object({
|
param: z.object({
|
||||||
id: z.string().uuid(),
|
id: z.string().uuid(),
|
||||||
}),
|
}),
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ import { MediaManager } from "~/classes/media/media-manager";
|
||||||
import { config } from "~/packages/config-manager";
|
import { config } from "~/packages/config-manager";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
export const schemas = {
|
const schemas = {
|
||||||
json: z.object({
|
json: z.object({
|
||||||
shortcode: z
|
shortcode: z
|
||||||
.string()
|
.string()
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,15 @@
|
||||||
import { apiRoute, auth, idValidator } from "@/api";
|
import { apiRoute, auth } from "@/api";
|
||||||
import { createRoute } from "@hono/zod-openapi";
|
import { createRoute } from "@hono/zod-openapi";
|
||||||
import { Note, Timeline } from "@versia/kit/db";
|
import { Note, 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 { z } from "zod";
|
import { z } from "zod";
|
||||||
|
|
||||||
export const schemas = {
|
const schemas = {
|
||||||
query: z.object({
|
query: z.object({
|
||||||
max_id: z.string().regex(idValidator).optional(),
|
max_id: z.string().uuid().optional(),
|
||||||
since_id: z.string().regex(idValidator).optional(),
|
since_id: z.string().uuid().optional(),
|
||||||
min_id: z.string().regex(idValidator).optional(),
|
min_id: z.string().uuid().optional(),
|
||||||
limit: z.coerce.number().int().min(1).max(80).default(40),
|
limit: z.coerce.number().int().min(1).max(80).default(40),
|
||||||
}),
|
}),
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ import { z } from "zod";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
export const schemas = {
|
const schemas = {
|
||||||
param: z.object({
|
param: z.object({
|
||||||
account_id: z.string().uuid(),
|
account_id: z.string().uuid(),
|
||||||
}),
|
}),
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ import { z } from "zod";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
export const schemas = {
|
const schemas = {
|
||||||
param: z.object({
|
param: z.object({
|
||||||
account_id: z.string().uuid(),
|
account_id: z.string().uuid(),
|
||||||
}),
|
}),
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,15 @@
|
||||||
import { apiRoute, auth, idValidator } from "@/api";
|
import { apiRoute, auth } from "@/api";
|
||||||
import { createRoute } from "@hono/zod-openapi";
|
import { createRoute } from "@hono/zod-openapi";
|
||||||
import { Timeline, User } from "@versia/kit/db";
|
import { Timeline, User } 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 { z } from "zod";
|
import { z } from "zod";
|
||||||
|
|
||||||
export const schemas = {
|
const schemas = {
|
||||||
query: z.object({
|
query: z.object({
|
||||||
max_id: z.string().regex(idValidator).optional(),
|
max_id: z.string().uuid().optional(),
|
||||||
since_id: z.string().regex(idValidator).optional(),
|
since_id: z.string().uuid().optional(),
|
||||||
min_id: z.string().regex(idValidator).optional(),
|
min_id: z.string().uuid().optional(),
|
||||||
limit: z.coerce.number().int().min(1).max(80).default(40),
|
limit: z.coerce.number().int().min(1).max(80).default(40),
|
||||||
}),
|
}),
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
import { apiRoute, auth, idValidator } from "@/api";
|
import { apiRoute, auth } from "@/api";
|
||||||
import { createRoute } from "@hono/zod-openapi";
|
import { createRoute } from "@hono/zod-openapi";
|
||||||
import type { Marker as ApiMarker } from "@versia/client/types";
|
import type { Marker as ApiMarker } from "@versia/client/types";
|
||||||
import { db } from "@versia/kit/db";
|
import { db } from "@versia/kit/db";
|
||||||
|
|
@ -6,11 +6,11 @@ import { Markers, RolePermissions } from "@versia/kit/tables";
|
||||||
import { type SQL, and, eq } from "drizzle-orm";
|
import { type SQL, and, eq } from "drizzle-orm";
|
||||||
import { z } from "zod";
|
import { z } from "zod";
|
||||||
|
|
||||||
export const schemas = {
|
const schemas = {
|
||||||
markers: z.object({
|
markers: z.object({
|
||||||
home: z
|
home: z
|
||||||
.object({
|
.object({
|
||||||
last_read_id: z.string().regex(idValidator),
|
last_read_id: z.string().uuid(),
|
||||||
version: z.number(),
|
version: z.number(),
|
||||||
updated_at: z.string(),
|
updated_at: z.string(),
|
||||||
})
|
})
|
||||||
|
|
@ -18,7 +18,7 @@ export const schemas = {
|
||||||
.optional(),
|
.optional(),
|
||||||
notifications: z
|
notifications: z
|
||||||
.object({
|
.object({
|
||||||
last_read_id: z.string().regex(idValidator),
|
last_read_id: z.string().uuid(),
|
||||||
version: z.number(),
|
version: z.number(),
|
||||||
updated_at: z.string(),
|
updated_at: z.string(),
|
||||||
})
|
})
|
||||||
|
|
@ -70,11 +70,8 @@ const routePost = createRoute({
|
||||||
] as const,
|
] as const,
|
||||||
request: {
|
request: {
|
||||||
query: z.object({
|
query: z.object({
|
||||||
"home[last_read_id]": z.string().regex(idValidator).optional(),
|
"home[last_read_id]": z.string().uuid().optional(),
|
||||||
"notifications[last_read_id]": z
|
"notifications[last_read_id]": z.string().uuid().optional(),
|
||||||
.string()
|
|
||||||
.regex(idValidator)
|
|
||||||
.optional(),
|
|
||||||
}),
|
}),
|
||||||
},
|
},
|
||||||
responses: {
|
responses: {
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ import { MediaManager } from "~/classes/media/media-manager";
|
||||||
import { config } from "~/packages/config-manager/index.ts";
|
import { config } from "~/packages/config-manager/index.ts";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
export const schemas = {
|
const schemas = {
|
||||||
param: z.object({
|
param: z.object({
|
||||||
id: z.string().uuid(),
|
id: z.string().uuid(),
|
||||||
}),
|
}),
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ import { MediaManager } from "~/classes/media/media-manager";
|
||||||
import { config } from "~/packages/config-manager/index.ts";
|
import { config } from "~/packages/config-manager/index.ts";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
export const schemas = {
|
const schemas = {
|
||||||
form: z.object({
|
form: z.object({
|
||||||
file: z.instanceof(File),
|
file: z.instanceof(File),
|
||||||
thumbnail: z.instanceof(File).optional(),
|
thumbnail: z.instanceof(File).optional(),
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,15 @@
|
||||||
import { apiRoute, auth, idValidator } from "@/api";
|
import { apiRoute, auth } from "@/api";
|
||||||
import { createRoute } from "@hono/zod-openapi";
|
import { createRoute } from "@hono/zod-openapi";
|
||||||
import { Timeline, User } from "@versia/kit/db";
|
import { Timeline, User } 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 { z } from "zod";
|
import { z } from "zod";
|
||||||
|
|
||||||
export const schemas = {
|
const schemas = {
|
||||||
query: z.object({
|
query: z.object({
|
||||||
max_id: z.string().regex(idValidator).optional(),
|
max_id: z.string().uuid().optional(),
|
||||||
since_id: z.string().regex(idValidator).optional(),
|
since_id: z.string().uuid().optional(),
|
||||||
min_id: z.string().regex(idValidator).optional(),
|
min_id: z.string().uuid().optional(),
|
||||||
limit: z.coerce.number().int().min(1).max(80).default(40),
|
limit: z.coerce.number().int().min(1).max(80).default(40),
|
||||||
}),
|
}),
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -5,12 +5,6 @@ import { RolePermissions } from "@versia/kit/tables";
|
||||||
import { z } from "zod";
|
import { z } from "zod";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
|
|
||||||
export const schemas = {
|
|
||||||
param: z.object({
|
|
||||||
id: z.string().uuid(),
|
|
||||||
}),
|
|
||||||
};
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "post",
|
method: "post",
|
||||||
path: "/api/v1/notifications/{id}/dismiss",
|
path: "/api/v1/notifications/{id}/dismiss",
|
||||||
|
|
@ -23,7 +17,9 @@ const route = createRoute({
|
||||||
}),
|
}),
|
||||||
] as const,
|
] as const,
|
||||||
request: {
|
request: {
|
||||||
params: schemas.param,
|
params: z.object({
|
||||||
|
id: z.string().uuid(),
|
||||||
|
}),
|
||||||
},
|
},
|
||||||
responses: {
|
responses: {
|
||||||
200: {
|
200: {
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,6 @@ import { z } from "zod";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
export const schemas = {
|
|
||||||
param: z.object({
|
|
||||||
id: z.string().uuid(),
|
|
||||||
}),
|
|
||||||
};
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "get",
|
method: "get",
|
||||||
path: "/api/v1/notifications/{id}",
|
path: "/api/v1/notifications/{id}",
|
||||||
|
|
@ -24,7 +18,9 @@ const route = createRoute({
|
||||||
}),
|
}),
|
||||||
] as const,
|
] as const,
|
||||||
request: {
|
request: {
|
||||||
params: schemas.param,
|
params: z.object({
|
||||||
|
id: z.string().uuid(),
|
||||||
|
}),
|
||||||
},
|
},
|
||||||
responses: {
|
responses: {
|
||||||
200: {
|
200: {
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ import { createRoute } from "@hono/zod-openapi";
|
||||||
import { RolePermissions } from "@versia/kit/tables";
|
import { RolePermissions } from "@versia/kit/tables";
|
||||||
import { z } from "zod";
|
import { z } from "zod";
|
||||||
|
|
||||||
export const schemas = {
|
const schemas = {
|
||||||
query: z.object({
|
query: z.object({
|
||||||
"ids[]": z.array(z.string().uuid()),
|
"ids[]": z.array(z.string().uuid()),
|
||||||
}),
|
}),
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,16 @@
|
||||||
import { apiRoute, auth, idValidator } from "@/api";
|
import { apiRoute, auth } from "@/api";
|
||||||
import { createRoute } from "@hono/zod-openapi";
|
import { createRoute } from "@hono/zod-openapi";
|
||||||
import { Notification, Timeline } from "@versia/kit/db";
|
import { Notification, 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 { z } from "zod";
|
import { z } from "zod";
|
||||||
|
|
||||||
export const schemas = {
|
const schemas = {
|
||||||
query: z
|
query: z
|
||||||
.object({
|
.object({
|
||||||
max_id: z.string().regex(idValidator).optional(),
|
max_id: z.string().uuid().optional(),
|
||||||
since_id: z.string().regex(idValidator).optional(),
|
since_id: z.string().uuid().optional(),
|
||||||
min_id: z.string().regex(idValidator).optional(),
|
min_id: z.string().uuid().optional(),
|
||||||
limit: z.coerce.number().int().min(1).max(80).default(15),
|
limit: z.coerce.number().int().min(1).max(80).default(15),
|
||||||
exclude_types: z
|
exclude_types: z
|
||||||
.enum([
|
.enum([
|
||||||
|
|
@ -62,7 +62,7 @@ export const schemas = {
|
||||||
])
|
])
|
||||||
.array()
|
.array()
|
||||||
.optional(),
|
.optional(),
|
||||||
account_id: z.string().regex(idValidator).optional(),
|
account_id: z.string().uuid().optional(),
|
||||||
})
|
})
|
||||||
.refine((val) => {
|
.refine((val) => {
|
||||||
// Can't use both exclude_types and types
|
// Can't use both exclude_types and types
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,6 @@ import { z } from "zod";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
export const schemas = {
|
|
||||||
param: z.object({
|
|
||||||
id: z.string().uuid(),
|
|
||||||
}),
|
|
||||||
};
|
|
||||||
|
|
||||||
const routeGet = createRoute({
|
const routeGet = createRoute({
|
||||||
method: "get",
|
method: "get",
|
||||||
path: "/api/v1/roles/{id}",
|
path: "/api/v1/roles/{id}",
|
||||||
|
|
@ -22,7 +16,9 @@ const routeGet = createRoute({
|
||||||
}),
|
}),
|
||||||
],
|
],
|
||||||
request: {
|
request: {
|
||||||
params: schemas.param,
|
params: z.object({
|
||||||
|
id: z.string().uuid(),
|
||||||
|
}),
|
||||||
},
|
},
|
||||||
responses: {
|
responses: {
|
||||||
200: {
|
200: {
|
||||||
|
|
@ -56,7 +52,9 @@ const routePatch = createRoute({
|
||||||
}),
|
}),
|
||||||
] as const,
|
] as const,
|
||||||
request: {
|
request: {
|
||||||
params: schemas.param,
|
params: z.object({
|
||||||
|
id: z.string().uuid(),
|
||||||
|
}),
|
||||||
body: {
|
body: {
|
||||||
content: {
|
content: {
|
||||||
"application/json": {
|
"application/json": {
|
||||||
|
|
@ -100,7 +98,9 @@ const routeDelete = createRoute({
|
||||||
}),
|
}),
|
||||||
] as const,
|
] as const,
|
||||||
request: {
|
request: {
|
||||||
params: schemas.param,
|
params: z.object({
|
||||||
|
id: z.string().uuid(),
|
||||||
|
}),
|
||||||
},
|
},
|
||||||
responses: {
|
responses: {
|
||||||
204: {
|
204: {
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,6 @@ import { z } from "zod";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
export const schemas = {
|
|
||||||
param: z.object({
|
|
||||||
id: z.string().uuid(),
|
|
||||||
}),
|
|
||||||
};
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "get",
|
method: "get",
|
||||||
path: "/api/v1/statuses/{id}/context",
|
path: "/api/v1/statuses/{id}/context",
|
||||||
|
|
@ -23,7 +17,9 @@ const route = createRoute({
|
||||||
] as const,
|
] as const,
|
||||||
summary: "Get status context",
|
summary: "Get status context",
|
||||||
request: {
|
request: {
|
||||||
params: schemas.param,
|
params: z.object({
|
||||||
|
id: z.string().uuid(),
|
||||||
|
}),
|
||||||
},
|
},
|
||||||
responses: {
|
responses: {
|
||||||
200: {
|
200: {
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,6 @@ import { z } from "zod";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
export const schemas = {
|
|
||||||
param: z.object({
|
|
||||||
id: z.string().uuid(),
|
|
||||||
}),
|
|
||||||
};
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "post",
|
method: "post",
|
||||||
path: "/api/v1/statuses/{id}/favourite",
|
path: "/api/v1/statuses/{id}/favourite",
|
||||||
|
|
@ -26,7 +20,9 @@ const route = createRoute({
|
||||||
}),
|
}),
|
||||||
] as const,
|
] as const,
|
||||||
request: {
|
request: {
|
||||||
params: schemas.param,
|
params: z.object({
|
||||||
|
id: z.string().uuid(),
|
||||||
|
}),
|
||||||
},
|
},
|
||||||
responses: {
|
responses: {
|
||||||
200: {
|
200: {
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
import { apiRoute, auth, idValidator } from "@/api";
|
import { apiRoute, auth } from "@/api";
|
||||||
import { createRoute } from "@hono/zod-openapi";
|
import { createRoute } from "@hono/zod-openapi";
|
||||||
import { Note, Timeline, User } from "@versia/kit/db";
|
import { Note, Timeline, User } from "@versia/kit/db";
|
||||||
import { RolePermissions, Users } from "@versia/kit/tables";
|
import { RolePermissions, Users } from "@versia/kit/tables";
|
||||||
|
|
@ -7,11 +7,11 @@ import { z } from "zod";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
export const schemas = {
|
const schemas = {
|
||||||
query: z.object({
|
query: z.object({
|
||||||
max_id: z.string().regex(idValidator).optional(),
|
max_id: z.string().uuid().optional(),
|
||||||
since_id: z.string().regex(idValidator).optional(),
|
since_id: z.string().uuid().optional(),
|
||||||
min_id: z.string().regex(idValidator).optional(),
|
min_id: z.string().uuid().optional(),
|
||||||
limit: z.coerce.number().int().min(1).max(80).default(40),
|
limit: z.coerce.number().int().min(1).max(80).default(40),
|
||||||
}),
|
}),
|
||||||
param: z.object({
|
param: z.object({
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
import { apiRoute, auth, idValidator, jsonOrForm } from "@/api";
|
import { apiRoute, auth, jsonOrForm } from "@/api";
|
||||||
import { createRoute } from "@hono/zod-openapi";
|
import { createRoute } from "@hono/zod-openapi";
|
||||||
import { Attachment, Note } from "@versia/kit/db";
|
import { Attachment, Note } from "@versia/kit/db";
|
||||||
import { RolePermissions } from "@versia/kit/tables";
|
import { RolePermissions } from "@versia/kit/tables";
|
||||||
|
|
@ -8,9 +8,9 @@ import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { config } from "~/packages/config-manager/index.ts";
|
import { config } from "~/packages/config-manager/index.ts";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
export const schemas = {
|
const schemas = {
|
||||||
param: z.object({
|
param: z.object({
|
||||||
id: z.string().regex(idValidator),
|
id: z.string().uuid(),
|
||||||
}),
|
}),
|
||||||
json: z
|
json: z
|
||||||
.object({
|
.object({
|
||||||
|
|
@ -27,7 +27,7 @@ export const schemas = {
|
||||||
.optional(),
|
.optional(),
|
||||||
content_type: z.string().optional().default("text/plain"),
|
content_type: z.string().optional().default("text/plain"),
|
||||||
media_ids: z
|
media_ids: z
|
||||||
.array(z.string().regex(idValidator))
|
.array(z.string().uuid())
|
||||||
.max(config.validation.max_media_attachments)
|
.max(config.validation.max_media_attachments)
|
||||||
.default([]),
|
.default([]),
|
||||||
spoiler_text: z.string().max(255).optional(),
|
spoiler_text: z.string().max(255).optional(),
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
import { apiRoute, auth, idValidator } from "@/api";
|
import { apiRoute, auth } from "@/api";
|
||||||
import { createRoute } from "@hono/zod-openapi";
|
import { createRoute } from "@hono/zod-openapi";
|
||||||
import { Note, db } from "@versia/kit/db";
|
import { Note, db } from "@versia/kit/db";
|
||||||
import { RolePermissions } from "@versia/kit/tables";
|
import { RolePermissions } from "@versia/kit/tables";
|
||||||
|
|
@ -7,9 +7,9 @@ import { z } from "zod";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
export const schemas = {
|
const schemas = {
|
||||||
param: z.object({
|
param: z.object({
|
||||||
id: z.string().regex(idValidator),
|
id: z.string().uuid(),
|
||||||
}),
|
}),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ import { z } from "zod";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
export const schemas = {
|
const schemas = {
|
||||||
param: z.object({
|
param: z.object({
|
||||||
id: z.string().uuid(),
|
id: z.string().uuid(),
|
||||||
}),
|
}),
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ import { z } from "zod";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
export const schemas = {
|
const schemas = {
|
||||||
param: z.object({
|
param: z.object({
|
||||||
id: z.string().uuid(),
|
id: z.string().uuid(),
|
||||||
}),
|
}),
|
||||||
|
|
|
||||||
|
|
@ -7,12 +7,6 @@ import { z } from "zod";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
export const schemas = {
|
|
||||||
param: z.object({
|
|
||||||
id: z.string().uuid(),
|
|
||||||
}),
|
|
||||||
};
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "get",
|
method: "get",
|
||||||
path: "/api/v1/statuses/{id}/source",
|
path: "/api/v1/statuses/{id}/source",
|
||||||
|
|
@ -27,7 +21,9 @@ const route = createRoute({
|
||||||
}),
|
}),
|
||||||
] as const,
|
] as const,
|
||||||
request: {
|
request: {
|
||||||
params: schemas.param,
|
params: z.object({
|
||||||
|
id: z.string().uuid(),
|
||||||
|
}),
|
||||||
},
|
},
|
||||||
responses: {
|
responses: {
|
||||||
200: {
|
200: {
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,6 @@ import { z } from "zod";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
export const schemas = {
|
|
||||||
param: z.object({
|
|
||||||
id: z.string().uuid(),
|
|
||||||
}),
|
|
||||||
};
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "post",
|
method: "post",
|
||||||
path: "/api/v1/statuses/{id}/unfavourite",
|
path: "/api/v1/statuses/{id}/unfavourite",
|
||||||
|
|
@ -26,7 +20,9 @@ const route = createRoute({
|
||||||
}),
|
}),
|
||||||
] as const,
|
] as const,
|
||||||
request: {
|
request: {
|
||||||
params: schemas.param,
|
params: z.object({
|
||||||
|
id: z.string().uuid(),
|
||||||
|
}),
|
||||||
},
|
},
|
||||||
responses: {
|
responses: {
|
||||||
200: {
|
200: {
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,6 @@ import { z } from "zod";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
export const schemas = {
|
|
||||||
param: z.object({
|
|
||||||
id: z.string().uuid(),
|
|
||||||
}),
|
|
||||||
};
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "post",
|
method: "post",
|
||||||
path: "/api/v1/statuses/{id}/unpin",
|
path: "/api/v1/statuses/{id}/unpin",
|
||||||
|
|
@ -26,7 +20,9 @@ const route = createRoute({
|
||||||
}),
|
}),
|
||||||
] as const,
|
] as const,
|
||||||
request: {
|
request: {
|
||||||
params: schemas.param,
|
params: z.object({
|
||||||
|
id: z.string().uuid(),
|
||||||
|
}),
|
||||||
},
|
},
|
||||||
responses: {
|
responses: {
|
||||||
200: {
|
200: {
|
||||||
|
|
|
||||||
|
|
@ -7,12 +7,6 @@ import { z } from "zod";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
export const schemas = {
|
|
||||||
param: z.object({
|
|
||||||
id: z.string().uuid(),
|
|
||||||
}),
|
|
||||||
};
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "post",
|
method: "post",
|
||||||
path: "/api/v1/statuses/{id}/unreblog",
|
path: "/api/v1/statuses/{id}/unreblog",
|
||||||
|
|
@ -27,7 +21,9 @@ const route = createRoute({
|
||||||
}),
|
}),
|
||||||
] as const,
|
] as const,
|
||||||
request: {
|
request: {
|
||||||
params: schemas.param,
|
params: z.object({
|
||||||
|
id: z.string().uuid(),
|
||||||
|
}),
|
||||||
},
|
},
|
||||||
responses: {
|
responses: {
|
||||||
200: {
|
200: {
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { config } from "~/packages/config-manager/index.ts";
|
import { config } from "~/packages/config-manager/index.ts";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
export const schemas = {
|
const schemas = {
|
||||||
json: z
|
json: z
|
||||||
.object({
|
.object({
|
||||||
status: z
|
status: z
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,15 @@
|
||||||
import { apiRoute, auth, idValidator } from "@/api";
|
import { apiRoute, auth } from "@/api";
|
||||||
import { createRoute } from "@hono/zod-openapi";
|
import { createRoute } from "@hono/zod-openapi";
|
||||||
import { Note, Timeline } from "@versia/kit/db";
|
import { Note, 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 { z } from "zod";
|
import { z } from "zod";
|
||||||
|
|
||||||
export const schemas = {
|
const schemas = {
|
||||||
query: z.object({
|
query: z.object({
|
||||||
max_id: z.string().regex(idValidator).optional(),
|
max_id: z.string().uuid().optional(),
|
||||||
since_id: z.string().regex(idValidator).optional(),
|
since_id: z.string().uuid().optional(),
|
||||||
min_id: z.string().regex(idValidator).optional(),
|
min_id: z.string().uuid().optional(),
|
||||||
limit: z.coerce.number().int().min(1).max(80).default(20),
|
limit: z.coerce.number().int().min(1).max(80).default(20),
|
||||||
}),
|
}),
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,15 @@
|
||||||
import { apiRoute, auth, idValidator } from "@/api";
|
import { apiRoute, auth } from "@/api";
|
||||||
import { createRoute } from "@hono/zod-openapi";
|
import { createRoute } from "@hono/zod-openapi";
|
||||||
import { Note, Timeline } from "@versia/kit/db";
|
import { Note, 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 { z } from "zod";
|
import { z } from "zod";
|
||||||
|
|
||||||
export const schemas = {
|
const schemas = {
|
||||||
query: z.object({
|
query: z.object({
|
||||||
max_id: z.string().regex(idValidator).optional(),
|
max_id: z.string().uuid().optional(),
|
||||||
since_id: z.string().regex(idValidator).optional(),
|
since_id: z.string().uuid().optional(),
|
||||||
min_id: z.string().regex(idValidator).optional(),
|
min_id: z.string().uuid().optional(),
|
||||||
limit: z.coerce.number().int().min(1).max(80).default(20),
|
limit: z.coerce.number().int().min(1).max(80).default(20),
|
||||||
local: z
|
local: z
|
||||||
.string()
|
.string()
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ import { z } from "zod";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
export const schemas = {
|
const schemas = {
|
||||||
param: z.object({
|
param: z.object({
|
||||||
id: z.string().uuid(),
|
id: z.string().uuid(),
|
||||||
}),
|
}),
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ import { FilterKeywords, Filters, RolePermissions } from "@versia/kit/tables";
|
||||||
import type { SQL } from "drizzle-orm";
|
import type { SQL } from "drizzle-orm";
|
||||||
import { z } from "zod";
|
import { z } from "zod";
|
||||||
|
|
||||||
export const schemas = {
|
const schemas = {
|
||||||
json: z.object({
|
json: z.object({
|
||||||
title: z.string().trim().min(1).max(100),
|
title: z.string().trim().min(1).max(100),
|
||||||
context: z
|
context: z
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ import { MediaManager } from "~/classes/media/media-manager";
|
||||||
import { config } from "~/packages/config-manager/index.ts";
|
import { config } from "~/packages/config-manager/index.ts";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
export const schemas = {
|
const schemas = {
|
||||||
form: z.object({
|
form: z.object({
|
||||||
file: z.instanceof(File),
|
file: z.instanceof(File),
|
||||||
thumbnail: z.instanceof(File).optional(),
|
thumbnail: z.instanceof(File).optional(),
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ import { searchManager } from "~/classes/search/search-manager";
|
||||||
import { config } from "~/packages/config-manager";
|
import { config } from "~/packages/config-manager";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
export const schemas = {
|
const schemas = {
|
||||||
query: z.object({
|
query: z.object({
|
||||||
q: z.string().trim(),
|
q: z.string().trim(),
|
||||||
type: z.string().optional(),
|
type: z.string().optional(),
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ import type { Entity } from "@versia/federation/types";
|
||||||
import { z } from "zod";
|
import { z } from "zod";
|
||||||
import { InboxJobType, inboxQueue } from "~/classes/queues/inbox";
|
import { InboxJobType, inboxQueue } from "~/classes/queues/inbox";
|
||||||
|
|
||||||
export const schemas = {
|
const schemas = {
|
||||||
header: z.object({
|
header: z.object({
|
||||||
"x-signature": z.string().optional(),
|
"x-signature": z.string().optional(),
|
||||||
"x-nonce": z.string().optional(),
|
"x-nonce": z.string().optional(),
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ import { z } from "zod";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
export const schemas = {
|
const schemas = {
|
||||||
param: z.object({
|
param: z.object({
|
||||||
hash: z.string(),
|
hash: z.string(),
|
||||||
name: z.string(),
|
name: z.string(),
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { config } from "~/packages/config-manager";
|
import { config } from "~/packages/config-manager";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
export const schemas = {
|
const schemas = {
|
||||||
param: z.object({
|
param: z.object({
|
||||||
id: z
|
id: z
|
||||||
.string()
|
.string()
|
||||||
|
|
|
||||||
|
|
@ -12,18 +12,14 @@ import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { config } from "~/packages/config-manager";
|
import { config } from "~/packages/config-manager";
|
||||||
import { ErrorSchema, type KnownEntity } from "~/types/api";
|
import { ErrorSchema, type KnownEntity } from "~/types/api";
|
||||||
|
|
||||||
export const schemas = {
|
|
||||||
param: z.object({
|
|
||||||
id: z.string().uuid(),
|
|
||||||
}),
|
|
||||||
};
|
|
||||||
|
|
||||||
const route = createRoute({
|
const route = createRoute({
|
||||||
method: "get",
|
method: "get",
|
||||||
path: "/objects/{id}",
|
path: "/objects/{id}",
|
||||||
summary: "Get object",
|
summary: "Get object",
|
||||||
request: {
|
request: {
|
||||||
params: schemas.param,
|
params: z.object({
|
||||||
|
id: z.string().uuid(),
|
||||||
|
}),
|
||||||
},
|
},
|
||||||
responses: {
|
responses: {
|
||||||
200: {
|
200: {
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ import { z } from "zod";
|
||||||
import { InboxJobType, inboxQueue } from "~/classes/queues/inbox";
|
import { InboxJobType, inboxQueue } from "~/classes/queues/inbox";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
export const schemas = {
|
const schemas = {
|
||||||
param: z.object({
|
param: z.object({
|
||||||
uuid: z.string().uuid(),
|
uuid: z.string().uuid(),
|
||||||
}),
|
}),
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ import { z } from "zod";
|
||||||
import { ApiError } from "~/classes/errors/api-error";
|
import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
export const schemas = {
|
const schemas = {
|
||||||
param: z.object({
|
param: z.object({
|
||||||
uuid: z.string().uuid(),
|
uuid: z.string().uuid(),
|
||||||
}),
|
}),
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { config } from "~/packages/config-manager";
|
import { config } from "~/packages/config-manager";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
export const schemas = {
|
const schemas = {
|
||||||
param: z.object({
|
param: z.object({
|
||||||
uuid: z.string().uuid(),
|
uuid: z.string().uuid(),
|
||||||
}),
|
}),
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ import { ApiError } from "~/classes/errors/api-error";
|
||||||
import { config } from "~/packages/config-manager";
|
import { config } from "~/packages/config-manager";
|
||||||
import { ErrorSchema } from "~/types/api";
|
import { ErrorSchema } from "~/types/api";
|
||||||
|
|
||||||
export const schemas = {
|
const schemas = {
|
||||||
query: z.object({
|
query: z.object({
|
||||||
resource: z
|
resource: z
|
||||||
.string()
|
.string()
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ import { ApiError } from "~/classes/errors/api-error.ts";
|
||||||
import type { PluginType } from "../../index.ts";
|
import type { PluginType } from "../../index.ts";
|
||||||
import { automaticOidcFlow } from "../../utils.ts";
|
import { automaticOidcFlow } from "../../utils.ts";
|
||||||
|
|
||||||
export const schemas = {
|
const schemas = {
|
||||||
query: z.object({
|
query: z.object({
|
||||||
client_id: z.string().optional(),
|
client_id: z.string().optional(),
|
||||||
flow: z.string(),
|
flow: z.string(),
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ import { and, eq } from "@versia/kit/drizzle";
|
||||||
import { Tokens } from "@versia/kit/tables";
|
import { Tokens } from "@versia/kit/tables";
|
||||||
import type { PluginType } from "../../index.ts";
|
import type { PluginType } from "../../index.ts";
|
||||||
|
|
||||||
export const schemas = {
|
const schemas = {
|
||||||
json: z.object({
|
json: z.object({
|
||||||
client_id: z.string(),
|
client_id: z.string(),
|
||||||
client_secret: z.string(),
|
client_secret: z.string(),
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ import {
|
||||||
import type { PluginType } from "../../index.ts";
|
import type { PluginType } from "../../index.ts";
|
||||||
import { oauthRedirectUri } from "../../utils.ts";
|
import { oauthRedirectUri } from "../../utils.ts";
|
||||||
|
|
||||||
export const schemas = {
|
const schemas = {
|
||||||
query: z.object({
|
query: z.object({
|
||||||
issuer: z.string(),
|
issuer: z.string(),
|
||||||
client_id: z.string().optional(),
|
client_id: z.string().optional(),
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ import { and, eq } from "@versia/kit/drizzle";
|
||||||
import { Tokens } from "@versia/kit/tables";
|
import { Tokens } from "@versia/kit/tables";
|
||||||
import type { PluginType } from "../../index.ts";
|
import type { PluginType } from "../../index.ts";
|
||||||
|
|
||||||
export const schemas = {
|
const schemas = {
|
||||||
json: z.object({
|
json: z.object({
|
||||||
code: z.string().optional(),
|
code: z.string().optional(),
|
||||||
code_verifier: z.string().optional(),
|
code_verifier: z.string().optional(),
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue