@jorsek/ezd-client
Version:
185 lines (147 loc) • 3.17 kB
text/typescript
import { Type } from "class-transformer";
import {
IsArray,
IsNumber,
IsOptional,
IsString,
ValidateNested,
} from "class-validator";
export class ISection {
public title: string;
public shortdesc: string;
public thumbnail: string;
public href: string;
public children: ISection[];
}
export class INavTree {
public title: string;
public href: string;
public shortdesc: string;
public thumbnail: string;
public children: INavTree[];
}
export class INavLink {
public href: string;
public title: string;
}
export class IPageContent {
public content: string;
public href: string;
public breadcrumbs: INavLink[];
public versions: INavLink[];
public current_version: INavLink;
public children: INavLink[];
public parent: INavLink;
public relatedLinks: INavLink[];
public title: string;
public shortdesc: string;
}
export class API_Config {
public search: API_SearchConfig;
public templates: Array<API_Template>;
}
export class API_Template {
title: string;
path: string;
image: string;
}
export class API_SearchConfig {
public filters: Array<IFilter>;
public results_per_page: number;
public folders: Array<string>;
}
export class ISearchHit {
public title: string;
public breadcrumbs: INavLink[];
public href: string;
public highlights: string[];
public shortDescription: string;
}
export class ISearchResponse {
public results: ISearchHit[];
public total_count: number
}
export class IFacetValue {
facet_name: string;
id: string;
children: IFacetValue[];
}
export class IFilter {
label: string;
key: string;
parent_taxon: string;
}