Add AI DEV Node deployment foundation

This commit is contained in:
unknown
2026-07-13 10:33:21 +09:00
parent 6abcee3727
commit b90bfe35ca
23 changed files with 3978 additions and 0 deletions

View File

@@ -0,0 +1,15 @@
import type { Response } from 'express';
export interface ApiResponse<T> {
code: number;
message: string;
data: T | null;
}
export function ok<T>(res: Response, data: T, message = 'OK'): void {
res.status(200).json({ code: 200, message, data } satisfies ApiResponse<T>);
}
export function created<T>(res: Response, data: T, message = 'CREATED'): void {
res.status(201).json({ code: 201, message, data } satisfies ApiResponse<T>);
}

33
server/http/errors.ts Normal file
View File

@@ -0,0 +1,33 @@
import type { NextFunction, Request, Response } from 'express';
export class ApiError extends Error {
constructor(
public readonly status: number,
message: string,
) {
super(message);
}
}
export function errorHandler(
error: unknown,
_req: Request,
res: Response,
_next: NextFunction,
): void {
if (error instanceof ApiError) {
res.status(error.status).json({
code: error.status,
message: error.message,
data: null,
});
return;
}
console.error(error);
res.status(500).json({
code: 500,
message: 'Internal server error',
data: null,
});
}