diff --git a/apps/web/src/lib/schemas.ts b/apps/web/src/lib/schemas.ts
index 989bc21..d61c576 100644
--- a/apps/web/src/lib/schemas.ts
+++ b/apps/web/src/lib/schemas.ts
@@ -42,6 +42,9 @@ export const vpsSchema = z.object({
dns: z.string().optional().default(''),
providerId: z.string().min(1, 'Выберите хостера'),
providerAccountId: z.string().min(1, 'Выберите аккаунт'),
+ country: z.string().optional().default(''),
+ city: z.string().optional().default(''),
+ datacenter: z.string().optional().default(''),
vcpu: z.coerce.number().int().min(0).default(1),
ramGb: z.coerce.number().min(0).default(1),
diskGb: z.coerce.number().min(0).default(10),
diff --git a/apps/web/src/routes/_auth/vps.tsx b/apps/web/src/routes/_auth/vps.tsx
index d28c5e7..d792292 100644
--- a/apps/web/src/routes/_auth/vps.tsx
+++ b/apps/web/src/routes/_auth/vps.tsx
@@ -42,6 +42,7 @@ export const Route = createFileRoute('/_auth/vps')({
const EMPTY_FORM: VpsFormValues = {
ip: '', dns: '', providerId: '', providerAccountId: '',
+ country: '', city: '', datacenter: '',
vcpu: 1, ramGb: 1, diskGb: 10, status: 'active', tariffType: 'monthly',
currency: 'RUB', monthlyRate: 0, dailyRate: 0, paidUntil: '', project: '', notes: '',
}
@@ -102,6 +103,7 @@ function VpsPage() {
setEditingId(v.id)
setDefaultValues({
id: v.id, ip: v.ip, dns: v.dns ?? '', providerId: v.providerId, providerAccountId: v.providerAccountId,
+ country: v.country ?? '', city: v.city ?? '', datacenter: v.datacenter ?? '',
vcpu: v.vcpu, ramGb: v.ramGb, diskGb: v.diskGb, status: v.status, tariffType: v.tariffType,
currency: v.currency, monthlyRate: Number(v.monthlyRate ?? 0), dailyRate: Number(v.dailyRate ?? 0),
paidUntil: v.paidUntil ?? '', project: v.project ?? '', notes: v.notes ?? '',
@@ -337,6 +339,17 @@ function VpsPage() {