turkmentv_front/models/news.model.ts

91 lines
1.4 KiB
TypeScript
Raw Normal View History

2024-10-23 11:26:25 +00:00
export interface NewsModel {
data: Datum[];
links: Links;
meta: Meta;
}
2024-08-19 12:44:56 +00:00
2024-10-23 11:26:25 +00:00
export interface Datum {
id: number;
title: string;
slug: string;
excerpt: string;
published_at: string;
type: Type;
awtor: Awtor;
featured_images: FeaturedImage[];
video: string;
categories: Category[];
}
2024-08-19 12:44:56 +00:00
2024-10-23 11:26:25 +00:00
export enum Awtor {
Hhm = 'HHM',
Миц = 'МИЦ',
Ннм = 'ННМ',
}
2024-08-19 12:44:56 +00:00
2024-10-23 11:26:25 +00:00
export interface Category {
id: number;
name: string;
powerseo_title: Powerseo | null;
powerseo_description: Powerseo | null;
powerseo_keywords: Powerseo | null;
}
2024-08-19 12:44:56 +00:00
2024-10-23 11:26:25 +00:00
export enum Powerseo {
Novosti = 'Novosti',
VTurkmenistane = 'V Turkmenistane',
}
2024-08-19 12:44:56 +00:00
2024-10-23 11:26:25 +00:00
export interface FeaturedImage {
id: number;
disk_name: string;
file_name: string;
path: string;
extension: Extension;
}
2024-08-19 12:44:56 +00:00
2024-10-23 11:26:25 +00:00
export enum Extension {
JPEG = 'jpeg',
Jpg = 'jpg',
PNG = 'png',
}
2024-08-19 12:44:56 +00:00
2024-10-23 11:26:25 +00:00
export enum Type {
Photo = 'photo',
Video = 'video',
}
2024-10-23 11:20:07 +00:00
2024-10-23 11:26:25 +00:00
export interface Links {
first: string;
last: string;
prev: null;
next: string;
}
2024-10-23 11:20:07 +00:00
2024-10-23 11:26:25 +00:00
export interface Meta {
current_page: number;
from: number;
last_page: number;
path: string;
per_page: number;
to: number;
total: number;
}
2024-08-19 12:44:56 +00:00
2024-10-23 11:26:25 +00:00
export interface NewsType {
data: Datu[];
2024-08-19 12:44:56 +00:00
}
2024-10-23 11:26:25 +00:00
export interface Datu {
2024-10-23 11:20:07 +00:00
id: number;
title: string;
url: null | string;
image: string;
type: string;
status: number;
description: null;
page_id: null;
created_at: Date;
updated_at: Date;
2024-08-19 12:44:56 +00:00
}