chore: initial commit for phase03

This commit is contained in:
hibna
2026-02-21 13:37:46 +03:00
parent 8eb7c90958
commit d0c20581b6
12 changed files with 1175 additions and 0 deletions
+46
View File
@@ -0,0 +1,46 @@
import { Type } from '@sinclair/typebox';
export const ServerParamSchema = {
params: Type.Object({
orgId: Type.String({ format: 'uuid' }),
serverId: Type.String({ format: 'uuid' }),
}),
};
export const CreateServerSchema = {
body: Type.Object({
name: Type.String({ minLength: 1, maxLength: 255 }),
description: Type.Optional(Type.String()),
nodeId: Type.String({ format: 'uuid' }),
gameId: Type.String({ format: 'uuid' }),
memoryLimit: Type.Number({ minimum: 128 * 1024 * 1024 }), // min 128MB in bytes
diskLimit: Type.Number({ minimum: 256 * 1024 * 1024 }), // min 256MB
cpuLimit: Type.Optional(Type.Number({ minimum: 10, maximum: 10000, default: 100 })),
allocationId: Type.String({ format: 'uuid' }),
environment: Type.Optional(Type.Record(Type.String(), Type.String())),
startupOverride: Type.Optional(Type.String()),
}),
};
export const UpdateServerSchema = {
body: Type.Object({
name: Type.Optional(Type.String({ minLength: 1, maxLength: 255 })),
description: Type.Optional(Type.String()),
memoryLimit: Type.Optional(Type.Number({ minimum: 128 * 1024 * 1024 })),
diskLimit: Type.Optional(Type.Number({ minimum: 256 * 1024 * 1024 })),
cpuLimit: Type.Optional(Type.Number({ minimum: 10, maximum: 10000 })),
environment: Type.Optional(Type.Record(Type.String(), Type.String())),
startupOverride: Type.Optional(Type.String()),
}),
};
export const PowerActionSchema = {
body: Type.Object({
action: Type.Union([
Type.Literal('start'),
Type.Literal('stop'),
Type.Literal('restart'),
Type.Literal('kill'),
]),
}),
};