mirror of
https://github.com/alkimake/paperclip.git
synced 2026-06-14 01:50:39 +09:00
Use asset-backed company logos
This commit is contained in:
parent
1a5eaba622
commit
e538329b0a
17 changed files with 307 additions and 57 deletions
|
|
@ -11,6 +11,7 @@ export interface Company {
|
|||
spentMonthlyCents: number;
|
||||
requireBoardApprovalForNewAgents: boolean;
|
||||
brandColor: string | null;
|
||||
logoAssetId: string | null;
|
||||
logoUrl: string | null;
|
||||
createdAt: Date;
|
||||
updatedAt: Date;
|
||||
|
|
|
|||
|
|
@ -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>;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue