@dataswift/hat-js
Version:
HAT JavaScript SDK for web and Node.js
117 lines (116 loc) • 2.85 kB
TypeScript
import { BundleStructure } from './bundle.interface';
export interface HatApplication {
application: HatApplicationContent;
setup: boolean;
enabled: boolean;
active: boolean;
needsUpdating?: boolean;
mostRecentData?: string;
}
export interface HatApplicationContent {
id: string;
kind: HatApplicationKind;
info: HatApplicationInfo;
developer: HatApplicationDeveloper;
dependencies?: HatApplicationDependencies;
permissions: HatApplicationPermissions;
setup: HatApplicationSetup;
status: HatApplicationStatus;
}
interface HatApplicationKind {
kind: string;
url?: string;
iosUrl?: string;
androidUrl?: string;
}
interface HatApplicationInfo {
version: string;
name: string;
headline: string;
description: HatApplicationDescription;
dataUsePurpose: string;
graphics: HatApplicationGraphics;
hmiDescription?: string;
published: boolean;
rating: {
score: string;
points: number;
};
supportContact: string;
termsUrl: string;
updateNotes?: HatApplicationUpdateNotes;
primaryColor?: string;
}
export interface HatApplicationDeveloper {
id: string;
name: string;
url: string;
country: string;
}
interface HatApplicationUpdateNotes {
header: string;
notes?: Array<string>;
}
export interface HatApplicationDescription {
text: string;
markdown: string;
html: string;
}
export interface HatApplicationGraphics {
banner: HatApplicationGraphicsSize;
logo: HatApplicationGraphicsSize;
screenshots: HatApplicationGraphicsSize[];
}
interface HatApplicationGraphicsSize {
small?: string;
normal: string;
large?: string;
xlarge?: string;
}
interface HatApplicationPermissions {
rolesGranted: {
role: string;
detail?: string;
}[];
dataRequired?: HatApplicationDataRequired;
dataRetrieved?: BundleStructure;
}
interface HatApplicationDataRequired {
bundle: BundleStructure;
startDate: string;
endDate: string;
rolling: boolean;
}
export interface HatApplicationSetup {
url?: string;
iosUrl?: string;
androidUrl?: string;
testingUrl?: string;
onboarding: HatApplicationOnboarding[];
kind: string;
validRedirectUris: string[];
dependencies?: string[];
}
interface HatApplicationOnboarding {
title: string;
illustration: {
normal: string;
};
description: string;
}
interface HatApplicationDependencies {
plugs: string[];
tools: string[];
contracts: string[];
}
interface HatApplicationStatus {
compatibility: string;
expectedStatus: number;
dataPreviewEndpoint: string;
recentDataCheckEndpoint: string;
staticDataPreviewEndpoint?: string;
versionReleaseDate: string;
statusUrl: string;
kind: string;
}
export {};