Use asset-backed company logos

This commit is contained in:
Dotta
2026-03-16 09:25:39 -05:00
parent 1a5eaba622
commit e538329b0a
17 changed files with 307 additions and 57 deletions

View File

@@ -1,19 +1,12 @@
import { z } from "zod";
import { COMPANY_STATUSES } from "../constants.js";
const logoUrlSchema = z
.string()
.trim()
.max(2048)
.regex(/^\/api\/assets\/[^\s]+$|^https?:\/\/[^\s]+$/)
.nullable()
.optional();
const logoAssetIdSchema = z.string().uuid().nullable().optional();
export const createCompanySchema = z.object({
name: z.string().min(1),
description: z.string().optional().nullable(),
budgetMonthlyCents: z.number().int().nonnegative().optional().default(0),
logoUrl: logoUrlSchema,
});
export type CreateCompany = z.infer<typeof createCompanySchema>;
@@ -25,7 +18,7 @@ export const updateCompanySchema = createCompanySchema
spentMonthlyCents: z.number().int().nonnegative().optional(),
requireBoardApprovalForNewAgents: z.boolean().optional(),
brandColor: z.string().regex(/^#[0-9a-fA-F]{6}$/).nullable().optional(),
logoUrl: logoUrlSchema,
logoAssetId: logoAssetIdSchema,
});
export type UpdateCompany = z.infer<typeof updateCompanySchema>;