Taha Saif
Deploy Ecom Hub API backend (Express + Drizzle + Clerk + R2)
74bfb65
Raw History Blame Contribute Delete
7.47 kB
/**
* Generated by orval 🍺
* Do not edit manually.
* Api
* API specification
* OpenAPI spec version: 0.1.0
*/
import * as zod from 'zod';
/**
* @summary List published articles and overridden sample identifiers
*/
export const listArticlesResponseArticlesItemOneTitleMax = 240;
export const listArticlesResponseArticlesItemOneSlugMax = 200;
export const listArticlesResponseArticlesItemOneSlugRegExp = new RegExp('^[a-z0-9]+(?:-[a-z0-9]+)*$');
export const listArticlesResponseArticlesItemOneExcerptMax = 2000;
export const listArticlesResponseArticlesItemOneContentMax = 200000;
export const listArticlesResponseArticlesItemOneAuthorMax = 160;
export const listArticlesResponseArticlesItemOneTagsMax = 1000;
export const listArticlesResponseArticlesItemOneImageMax = 1000;
export const listArticlesResponseArticlesItemOneImageAltMax = 500;
export const listArticlesResponseArticlesItemOneVersionMin = 0;
export const ListArticlesResponse = zod.object({
"articles": zod.array(zod.object({
"title": zod.string().min(1).max(listArticlesResponseArticlesItemOneTitleMax),
"slug": zod.string().min(1).max(listArticlesResponseArticlesItemOneSlugMax).regex(listArticlesResponseArticlesItemOneSlugRegExp),
"excerpt": zod.string().max(listArticlesResponseArticlesItemOneExcerptMax),
"content": zod.string().max(listArticlesResponseArticlesItemOneContentMax),
"category": zod.enum(['Courier Guides', 'Product Hunting', 'Dropshipping', 'Online Selling', 'eCommerce Platforms', 'Comparisons']),
"author": zod.string().min(1).max(listArticlesResponseArticlesItemOneAuthorMax),
"tags": zod.string().max(listArticlesResponseArticlesItemOneTagsMax),
"image": zod.string().max(listArticlesResponseArticlesItemOneImageMax),
"imageAlt": zod.string().max(listArticlesResponseArticlesItemOneImageAltMax),
"status": zod.enum(['Draft', 'Published']),
"version": zod.number().int().min(listArticlesResponseArticlesItemOneVersionMin)
}).and(zod.object({
"id": zod.string(),
"updatedAt": zod.coerce.date(),
"publishedAt": zod.coerce.date().nullable()
}))),
"overriddenSamples": zod.array(zod.string())
})
/**
* @summary List all articles (admin only)
*/
export const listAdminArticlesResponseOneTitleMax = 240;
export const listAdminArticlesResponseOneSlugMax = 200;
export const listAdminArticlesResponseOneSlugRegExp = new RegExp('^[a-z0-9]+(?:-[a-z0-9]+)*$');
export const listAdminArticlesResponseOneExcerptMax = 2000;
export const listAdminArticlesResponseOneContentMax = 200000;
export const listAdminArticlesResponseOneAuthorMax = 160;
export const listAdminArticlesResponseOneTagsMax = 1000;
export const listAdminArticlesResponseOneImageMax = 1000;
export const listAdminArticlesResponseOneImageAltMax = 500;
export const listAdminArticlesResponseOneVersionMin = 0;
export const ListAdminArticlesResponseItem = zod.object({
"title": zod.string().min(1).max(listAdminArticlesResponseOneTitleMax),
"slug": zod.string().min(1).max(listAdminArticlesResponseOneSlugMax).regex(listAdminArticlesResponseOneSlugRegExp),
"excerpt": zod.string().max(listAdminArticlesResponseOneExcerptMax),
"content": zod.string().max(listAdminArticlesResponseOneContentMax),
"category": zod.enum(['Courier Guides', 'Product Hunting', 'Dropshipping', 'Online Selling', 'eCommerce Platforms', 'Comparisons']),
"author": zod.string().min(1).max(listAdminArticlesResponseOneAuthorMax),
"tags": zod.string().max(listAdminArticlesResponseOneTagsMax),
"image": zod.string().max(listAdminArticlesResponseOneImageMax),
"imageAlt": zod.string().max(listAdminArticlesResponseOneImageAltMax),
"status": zod.enum(['Draft', 'Published']),
"version": zod.number().int().min(listAdminArticlesResponseOneVersionMin)
}).and(zod.object({
"id": zod.string(),
"updatedAt": zod.coerce.date(),
"publishedAt": zod.coerce.date().nullable()
}))
export const ListAdminArticlesResponse = zod.array(ListAdminArticlesResponseItem)
/**
* @summary Save or publish an article (admin only, version checked)
*/
export const SaveArticleParams = zod.object({
"id": zod.coerce.string()
})
export const saveArticleBodyTitleMax = 240;
export const saveArticleBodySlugMax = 200;
export const saveArticleBodySlugRegExp = new RegExp('^[a-z0-9]+(?:-[a-z0-9]+)*$');
export const saveArticleBodyExcerptMax = 2000;
export const saveArticleBodyContentMax = 200000;
export const saveArticleBodyAuthorMax = 160;
export const saveArticleBodyTagsMax = 1000;
export const saveArticleBodyImageMax = 1000;
export const saveArticleBodyImageAltMax = 500;
export const saveArticleBodyVersionMin = 0;
export const SaveArticleBody = zod.object({
"title": zod.string().min(1).max(saveArticleBodyTitleMax),
"slug": zod.string().min(1).max(saveArticleBodySlugMax).regex(saveArticleBodySlugRegExp),
"excerpt": zod.string().max(saveArticleBodyExcerptMax),
"content": zod.string().max(saveArticleBodyContentMax),
"category": zod.enum(['Courier Guides', 'Product Hunting', 'Dropshipping', 'Online Selling', 'eCommerce Platforms', 'Comparisons']),
"author": zod.string().min(1).max(saveArticleBodyAuthorMax),
"tags": zod.string().max(saveArticleBodyTagsMax),
"image": zod.string().max(saveArticleBodyImageMax),
"imageAlt": zod.string().max(saveArticleBodyImageAltMax),
"status": zod.enum(['Draft', 'Published']),
"version": zod.number().int().min(saveArticleBodyVersionMin)
})
export const saveArticleResponseOneTitleMax = 240;
export const saveArticleResponseOneSlugMax = 200;
export const saveArticleResponseOneSlugRegExp = new RegExp('^[a-z0-9]+(?:-[a-z0-9]+)*$');
export const saveArticleResponseOneExcerptMax = 2000;
export const saveArticleResponseOneContentMax = 200000;
export const saveArticleResponseOneAuthorMax = 160;
export const saveArticleResponseOneTagsMax = 1000;
export const saveArticleResponseOneImageMax = 1000;
export const saveArticleResponseOneImageAltMax = 500;
export const saveArticleResponseOneVersionMin = 0;
export const SaveArticleResponse = zod.object({
"title": zod.string().min(1).max(saveArticleResponseOneTitleMax),
"slug": zod.string().min(1).max(saveArticleResponseOneSlugMax).regex(saveArticleResponseOneSlugRegExp),
"excerpt": zod.string().max(saveArticleResponseOneExcerptMax),
"content": zod.string().max(saveArticleResponseOneContentMax),
"category": zod.enum(['Courier Guides', 'Product Hunting', 'Dropshipping', 'Online Selling', 'eCommerce Platforms', 'Comparisons']),
"author": zod.string().min(1).max(saveArticleResponseOneAuthorMax),
"tags": zod.string().max(saveArticleResponseOneTagsMax),
"image": zod.string().max(saveArticleResponseOneImageMax),
"imageAlt": zod.string().max(saveArticleResponseOneImageAltMax),
"status": zod.enum(['Draft', 'Published']),
"version": zod.number().int().min(saveArticleResponseOneVersionMin)
}).and(zod.object({
"id": zod.string(),
"updatedAt": zod.coerce.date(),
"publishedAt": zod.coerce.date().nullable()
}))
/**
* @summary Upload a featured image to durable App Storage (admin only)
*/
export const UploadArticleImageResponse = zod.object({
"image": zod.string()
})
/**
* @summary Serve a public featured image
*/
export const GetArticleImageParams = zod.object({
"id": zod.coerce.string()
})
export const GetArticleImageResponse = zod.unknown()
/**
* Returns server health status
* @summary Health check
*/
export const HealthCheckResponse = zod.object({
"status": zod.string()
})