forked from farhoodlabs/paperclip
8c830eae70
Add new DB schemas: companies, agent_api_keys, approvals, cost_events, heartbeat_runs, issue_comments. Add corresponding shared types and validators. Update existing schemas (agents, goals, issues, projects) with new fields for company association, budgets, and richer metadata. Generate initial Drizzle migration. Update seed data. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
20 lines
614 B
TypeScript
20 lines
614 B
TypeScript
import { z } from "zod";
|
|
import { COMPANY_STATUSES } from "../constants.js";
|
|
|
|
export const createCompanySchema = z.object({
|
|
name: z.string().min(1),
|
|
description: z.string().optional().nullable(),
|
|
budgetMonthlyCents: z.number().int().nonnegative().optional().default(0),
|
|
});
|
|
|
|
export type CreateCompany = z.infer<typeof createCompanySchema>;
|
|
|
|
export const updateCompanySchema = createCompanySchema
|
|
.partial()
|
|
.extend({
|
|
status: z.enum(COMPANY_STATUSES).optional(),
|
|
spentMonthlyCents: z.number().int().nonnegative().optional(),
|
|
});
|
|
|
|
export type UpdateCompany = z.infer<typeof updateCompanySchema>;
|