o134's picture
Upload folder using huggingface_hub
1804b24 verified
Raw
History Blame Contribute Delete
10.7 kB
/**
* Generated by orval v8.9.1 🍺
* Do not edit manually.
* Api
* Design Studio OS API
* OpenAPI spec version: 0.1.0
*/
import * as zod from 'zod';
/**
* @summary Health check
*/
export const HealthCheckResponse = zod.object({
"status": zod.string()
})
/**
* @summary List all projects
*/
export const ListProjectsQueryParams = zod.object({
"status": zod.enum(['briefing', 'concept', 'design', 'review', 'delivered', 'archived']).optional(),
"clientId": zod.coerce.number().optional()
})
export const ListProjectsResponseItem = zod.object({
"id": zod.number(),
"title": zod.string(),
"description": zod.string().nullish(),
"clientId": zod.number().nullish(),
"clientName": zod.string().nullish(),
"status": zod.enum(['briefing', 'concept', 'design', 'review', 'delivered', 'archived']),
"priority": zod.enum(['low', 'medium', 'high']),
"budget": zod.number().nullish(),
"deadline": zod.string().nullish(),
"driveUrl": zod.string().nullish(),
"planUrl": zod.string().nullish(),
"totalHours": zod.number().nullish(),
"createdAt": zod.string(),
"updatedAt": zod.string()
})
export const ListProjectsResponse = zod.array(ListProjectsResponseItem)
/**
* @summary Create a new project
*/
export const createProjectBodyStatusDefault = `briefing`;
export const createProjectBodyPriorityDefault = `medium`;
export const CreateProjectBody = zod.object({
"title": zod.string(),
"description": zod.string().nullish(),
"clientId": zod.number().nullish(),
"status": zod.enum(['briefing', 'concept', 'design', 'review', 'delivered', 'archived']).default(createProjectBodyStatusDefault),
"priority": zod.enum(['low', 'medium', 'high']).default(createProjectBodyPriorityDefault),
"budget": zod.number().nullish(),
"deadline": zod.string().nullish(),
"driveUrl": zod.string().nullish(),
"planUrl": zod.string().nullish()
})
/**
* @summary Get a project by ID
*/
export const GetProjectParams = zod.object({
"id": zod.coerce.number()
})
export const GetProjectResponse = zod.object({
"id": zod.number(),
"title": zod.string(),
"description": zod.string().nullish(),
"clientId": zod.number().nullish(),
"clientName": zod.string().nullish(),
"status": zod.enum(['briefing', 'concept', 'design', 'review', 'delivered', 'archived']),
"priority": zod.enum(['low', 'medium', 'high']),
"budget": zod.number().nullish(),
"deadline": zod.string().nullish(),
"driveUrl": zod.string().nullish(),
"planUrl": zod.string().nullish(),
"totalHours": zod.number().nullish(),
"createdAt": zod.string(),
"updatedAt": zod.string()
})
/**
* @summary Update a project
*/
export const UpdateProjectParams = zod.object({
"id": zod.coerce.number()
})
export const UpdateProjectBody = zod.object({
"title": zod.string().optional(),
"description": zod.string().nullish(),
"clientId": zod.number().nullish(),
"status": zod.enum(['briefing', 'concept', 'design', 'review', 'delivered', 'archived']).optional(),
"priority": zod.enum(['low', 'medium', 'high']).optional(),
"budget": zod.number().nullish(),
"deadline": zod.string().nullish(),
"driveUrl": zod.string().nullish(),
"planUrl": zod.string().nullish()
})
export const UpdateProjectResponse = zod.object({
"id": zod.number(),
"title": zod.string(),
"description": zod.string().nullish(),
"clientId": zod.number().nullish(),
"clientName": zod.string().nullish(),
"status": zod.enum(['briefing', 'concept', 'design', 'review', 'delivered', 'archived']),
"priority": zod.enum(['low', 'medium', 'high']),
"budget": zod.number().nullish(),
"deadline": zod.string().nullish(),
"driveUrl": zod.string().nullish(),
"planUrl": zod.string().nullish(),
"totalHours": zod.number().nullish(),
"createdAt": zod.string(),
"updatedAt": zod.string()
})
/**
* @summary Delete a project
*/
export const DeleteProjectParams = zod.object({
"id": zod.coerce.number()
})
/**
* @summary List all clients
*/
export const ListClientsResponseItem = zod.object({
"id": zod.number(),
"name": zod.string(),
"email": zod.string().nullish(),
"phone": zod.string().nullish(),
"company": zod.string().nullish(),
"notes": zod.string().nullish(),
"projectCount": zod.number().nullish(),
"createdAt": zod.string()
})
export const ListClientsResponse = zod.array(ListClientsResponseItem)
/**
* @summary Create a client
*/
export const CreateClientBody = zod.object({
"name": zod.string(),
"email": zod.string().nullish(),
"phone": zod.string().nullish(),
"company": zod.string().nullish(),
"notes": zod.string().nullish()
})
/**
* @summary Get a client by ID
*/
export const GetClientParams = zod.object({
"id": zod.coerce.number()
})
export const GetClientResponse = zod.object({
"id": zod.number(),
"name": zod.string(),
"email": zod.string().nullish(),
"phone": zod.string().nullish(),
"company": zod.string().nullish(),
"notes": zod.string().nullish(),
"projectCount": zod.number().nullish(),
"createdAt": zod.string()
})
/**
* @summary Update a client
*/
export const UpdateClientParams = zod.object({
"id": zod.coerce.number()
})
export const UpdateClientBody = zod.object({
"name": zod.string().optional(),
"email": zod.string().nullish(),
"phone": zod.string().nullish(),
"company": zod.string().nullish(),
"notes": zod.string().nullish()
})
export const UpdateClientResponse = zod.object({
"id": zod.number(),
"name": zod.string(),
"email": zod.string().nullish(),
"phone": zod.string().nullish(),
"company": zod.string().nullish(),
"notes": zod.string().nullish(),
"projectCount": zod.number().nullish(),
"createdAt": zod.string()
})
/**
* @summary Delete a client
*/
export const DeleteClientParams = zod.object({
"id": zod.coerce.number()
})
/**
* @summary List tasks
*/
export const ListTasksQueryParams = zod.object({
"projectId": zod.coerce.number().optional(),
"done": zod.coerce.boolean().optional()
})
export const ListTasksResponseItem = zod.object({
"id": zod.number(),
"projectId": zod.number(),
"title": zod.string(),
"done": zod.boolean(),
"dueDate": zod.string().nullish(),
"createdAt": zod.string()
})
export const ListTasksResponse = zod.array(ListTasksResponseItem)
/**
* @summary Create a task
*/
export const CreateTaskBody = zod.object({
"projectId": zod.number(),
"title": zod.string(),
"dueDate": zod.string().nullish()
})
/**
* @summary Update a task
*/
export const UpdateTaskParams = zod.object({
"id": zod.coerce.number()
})
export const UpdateTaskBody = zod.object({
"title": zod.string().optional(),
"done": zod.boolean().optional(),
"dueDate": zod.string().nullish()
})
export const UpdateTaskResponse = zod.object({
"id": zod.number(),
"projectId": zod.number(),
"title": zod.string(),
"done": zod.boolean(),
"dueDate": zod.string().nullish(),
"createdAt": zod.string()
})
/**
* @summary Delete a task
*/
export const DeleteTaskParams = zod.object({
"id": zod.coerce.number()
})
/**
* @summary List time entries
*/
export const ListTimeEntriesQueryParams = zod.object({
"projectId": zod.coerce.number().optional()
})
export const ListTimeEntriesResponseItem = zod.object({
"id": zod.number(),
"projectId": zod.number(),
"description": zod.string().nullish(),
"hours": zod.number(),
"date": zod.string(),
"createdAt": zod.string()
})
export const ListTimeEntriesResponse = zod.array(ListTimeEntriesResponseItem)
/**
* @summary Log time entry
*/
export const CreateTimeEntryBody = zod.object({
"projectId": zod.number(),
"description": zod.string().nullish(),
"hours": zod.number(),
"date": zod.string()
})
/**
* @summary Delete a time entry
*/
export const DeleteTimeEntryParams = zod.object({
"id": zod.coerce.number()
})
/**
* @summary List brief templates
*/
export const ListBriefsResponseItem = zod.object({
"id": zod.number(),
"title": zod.string(),
"category": zod.string().nullish(),
"content": zod.string(),
"createdAt": zod.string(),
"updatedAt": zod.string()
})
export const ListBriefsResponse = zod.array(ListBriefsResponseItem)
/**
* @summary Create a brief template
*/
export const CreateBriefBody = zod.object({
"title": zod.string(),
"category": zod.string().nullish(),
"content": zod.string()
})
/**
* @summary Update a brief
*/
export const UpdateBriefParams = zod.object({
"id": zod.coerce.number()
})
export const UpdateBriefBody = zod.object({
"title": zod.string().optional(),
"category": zod.string().nullish(),
"content": zod.string().optional()
})
export const UpdateBriefResponse = zod.object({
"id": zod.number(),
"title": zod.string(),
"category": zod.string().nullish(),
"content": zod.string(),
"createdAt": zod.string(),
"updatedAt": zod.string()
})
/**
* @summary Delete a brief
*/
export const DeleteBriefParams = zod.object({
"id": zod.coerce.number()
})
/**
* @summary Get dashboard statistics
*/
export const GetDashboardStatsResponse = zod.object({
"activeProjects": zod.number(),
"totalClients": zod.number(),
"hoursThisMonth": zod.number(),
"pendingTasks": zod.number(),
"projectsByStatus": zod.array(zod.object({
"status": zod.string(),
"count": zod.number()
})),
"revenueThisMonth": zod.number()
})
/**
* @summary Get recent activity feed
*/
export const getRecentActivityQueryLimitDefault = 10;
export const GetRecentActivityQueryParams = zod.object({
"limit": zod.coerce.number().default(getRecentActivityQueryLimitDefault)
})
export const GetRecentActivityResponseItem = zod.object({
"id": zod.string(),
"type": zod.enum(['project_created', 'project_updated', 'task_completed', 'time_logged', 'client_added']),
"description": zod.string(),
"entityId": zod.number().nullish(),
"createdAt": zod.string()
})
export const GetRecentActivityResponse = zod.array(GetRecentActivityResponseItem)
/**
* @summary Get upcoming deadlines
*/
export const GetUpcomingDeadlinesResponseItem = zod.object({
"id": zod.number(),
"title": zod.string(),
"description": zod.string().nullish(),
"clientId": zod.number().nullish(),
"clientName": zod.string().nullish(),
"status": zod.enum(['briefing', 'concept', 'design', 'review', 'delivered', 'archived']),
"priority": zod.enum(['low', 'medium', 'high']),
"budget": zod.number().nullish(),
"deadline": zod.string().nullish(),
"driveUrl": zod.string().nullish(),
"planUrl": zod.string().nullish(),
"totalHours": zod.number().nullish(),
"createdAt": zod.string(),
"updatedAt": zod.string()
})
export const GetUpcomingDeadlinesResponse = zod.array(GetUpcomingDeadlinesResponseItem)