62 lines
1.0 KiB
TypeScript
62 lines
1.0 KiB
TypeScript
export interface IFetchResult {
|
|
status: number,
|
|
text: string
|
|
}
|
|
|
|
export interface IImageModel {
|
|
src: string,
|
|
alt: string
|
|
}
|
|
|
|
export interface IAuthorModel {
|
|
id: string,
|
|
image?: IImageModel,
|
|
nickName: string
|
|
}
|
|
|
|
|
|
interface IPostItemModel {
|
|
id: string,
|
|
slug: string,
|
|
badge?: string,
|
|
image?: IImageModel,
|
|
title: string,
|
|
shortText: string,
|
|
text: string,
|
|
author: IAuthorModel,
|
|
created: string,
|
|
tags: string[]
|
|
}
|
|
|
|
export interface IBlogItemModel extends IPostItemModel {
|
|
readTime: number,
|
|
likes: number
|
|
}
|
|
|
|
export interface IShopItemModel extends IPostItemModel {
|
|
images?: IImageModel [],
|
|
sku: string,
|
|
rating?: number,
|
|
price: number,
|
|
newPrice?: number,
|
|
quantity?: number
|
|
}
|
|
|
|
|
|
interface IPostPaginationModel {
|
|
currentPage: number,
|
|
totalPages: number
|
|
}
|
|
|
|
export interface IBlogItemsPaginationModel extends IPostPaginationModel {
|
|
items: IBlogItemModel []
|
|
}
|
|
|
|
export interface IShopItemsPaginationModel extends IPostPaginationModel {
|
|
items: IShopItemModel []
|
|
}
|
|
|
|
export interface ICategoryModel {
|
|
id: string,
|
|
text: string
|
|
} |