Implémentation SkydiverId API

This commit is contained in:
Rampeur
2024-05-08 20:32:49 +02:00
parent 6dece821a8
commit 7c3f0c9648
54 changed files with 2323 additions and 1395 deletions
+97
View File
@@ -1,6 +1,7 @@
import { FormControl } from '@angular/forms';
import { Profile } from './profile.model';
import { PageLinks, PageMeta } from './shared.model';
export interface Jump {
slug: string;
@@ -23,12 +24,26 @@ export interface Jump {
zone?: string;
dossier?: string;
video?: string;
files: Array<JumpFile>;
x2data: X2Data;
author: Profile;
createdAt: string;
updatedAt: string;
//isEdit?: boolean;
isSelected?: boolean;
}
export enum JumpFileType {
CSV = "csv",
IMAGE = "image",
KML = "kml",
VIDEO = "video",
}
export interface JumpFile {
slug: string;
name: string;
path: string;
type: JumpFileType;
}
export interface JumpForm {
date: FormControl<string>;
@@ -69,6 +84,11 @@ export interface JumpByCategorie {
count: number;
}
export interface JumpByDay {
jumps: Array<Partial<Jump>>;
count: number;
}
export interface JumpByModule {
categorie: string;
module: string;
@@ -88,12 +108,89 @@ export interface JumpYears {
count: number;
}
export interface SkydiverIdJumps {
items: Array<X2Data>;
_links: PageLinks;
_meta: PageMeta;
}
export interface X2Data {
id: string;
name: string;
type: string;
description: string;
landingZone: string;
speed: {
freeFall: {
vertical: {
max: number;
avg: number;
};
horizontal: {
max: number;
avg: number;
};
};
underCanopy: {
vertical: {
max: number;
avg: number;
};
horizontal: {
max: number;
avg: number;
};
};
};
glideRatio: {
freeFall: {
max: number;
avg: number;
};
underCanopy: {
max: number;
avg: number;
};
};
duration: {
freeFall: number;
underCanopy: number;
};
distance: {
exitFromLandingZone: number;
totalFlying: number;
totalHorizontal: number;
};
altitude: {
exit: number;
deployment: number;
};
cutaway: string;
malfunctions:Array<
{
name: string;
type: string;
}
>;
date: string;
createdOn: string;
}
export interface JumpPageData {
jump: Jump;
prevJump: Jump;
nextJump: Jump;
_links: PageLinks;
_meta: PageMeta;
}
export interface JumpsPageData {
jumpsByCategory: Array<JumpByCategorie>;
jumpsByDate: Array<JumpByDate>;
jumpsByDateByModule: Array<JumpByDateByModule>;
jumpsByModule: Array<JumpByModule>;
jumpsByYears: Array<JumpYears>;
//jumpsFromSkydiverIdApi: SkydiverIdJumps;
lastjump: Jump;
/*yearsCount: number;
jumpsByCategoryCount: number;